@capacitor/camera 8.0.0-dev-2434-20251110T164658.0 → 8.0.0-dev-2444-20251112T191750.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/Package.swift CHANGED
@@ -10,7 +10,7 @@ let package = Package(
10
10
  targets: ["CameraPlugin"])
11
11
  ],
12
12
  dependencies: [
13
- .package(url: "https://github.com/ionic-team/capacitor-swift-pm.git", from: "8.0.0-beta")
13
+ .package(url: "https://github.com/ionic-team/capacitor-swift-pm.git", from: "7.0.0")
14
14
  ],
15
15
  targets: [
16
16
  .target(
@@ -97,14 +97,12 @@ public class CameraBottomSheetDialogFragment extends BottomSheetDialogFragment {
97
97
  tv.setTextColor(Color.parseColor("#000000"));
98
98
  tv.setPadding(layoutPaddingPx12, layoutPaddingPx12, layoutPaddingPx12, layoutPaddingPx12);
99
99
  tv.setText(options.get(i));
100
- tv.setOnClickListener(
101
- view -> {
102
- if (selectedListener != null) {
103
- selectedListener.onSelected(optionIndex);
104
- }
105
- dismiss();
100
+ tv.setOnClickListener((view) -> {
101
+ if (selectedListener != null) {
102
+ selectedListener.onSelected(optionIndex);
106
103
  }
107
- );
104
+ dismiss();
105
+ });
108
106
  layout.addView(tv);
109
107
  }
110
108
 
@@ -171,7 +171,7 @@ public class CameraPlugin extends Plugin {
171
171
  fragment.setTitle(call.getString("promptLabelHeader", "Photo"));
172
172
  fragment.setOptions(
173
173
  options,
174
- index -> {
174
+ (index) -> {
175
175
  if (index == 0) {
176
176
  settings.setSource(CameraSource.PHOTOS);
177
177
  openPhotos(call);
@@ -351,58 +351,46 @@ public class CameraPlugin extends Plugin {
351
351
  private void openPhotos(final PluginCall call, boolean multiple) {
352
352
  try {
353
353
  if (multiple) {
354
- pickMultipleMedia =
355
- registerActivityResultLauncher(
356
- getContractForCall(call),
357
- uris -> {
358
- if (!uris.isEmpty()) {
359
- Executor executor = Executors.newSingleThreadExecutor();
360
- executor.execute(
361
- () -> {
362
- JSObject ret = new JSObject();
363
- JSArray photos = new JSArray();
364
- for (Uri imageUri : uris) {
365
- try {
366
- JSObject processResult = processPickedImages(imageUri);
367
- if (
368
- processResult.getString("error") != null && !processResult.getString("error").isEmpty()
369
- ) {
370
- call.reject(processResult.getString("error"));
371
- return;
372
- } else {
373
- photos.put(processResult);
374
- }
375
- } catch (SecurityException ex) {
376
- call.reject("SecurityException");
377
- }
378
- }
379
- ret.put("photos", photos);
380
- call.resolve(ret);
354
+ pickMultipleMedia = registerActivityResultLauncher(getContractForCall(call), (uris) -> {
355
+ if (!uris.isEmpty()) {
356
+ Executor executor = Executors.newSingleThreadExecutor();
357
+ executor.execute(() -> {
358
+ JSObject ret = new JSObject();
359
+ JSArray photos = new JSArray();
360
+ for (Uri imageUri : uris) {
361
+ try {
362
+ JSObject processResult = processPickedImages(imageUri);
363
+ if (processResult.getString("error") != null && !processResult.getString("error").isEmpty()) {
364
+ call.reject(processResult.getString("error"));
365
+ return;
366
+ } else {
367
+ photos.put(processResult);
381
368
  }
382
- );
383
- } else {
384
- call.reject(USER_CANCELLED);
369
+ } catch (SecurityException ex) {
370
+ call.reject("SecurityException");
371
+ }
385
372
  }
386
- pickMultipleMedia.unregister();
387
- }
388
- );
373
+ ret.put("photos", photos);
374
+ call.resolve(ret);
375
+ });
376
+ } else {
377
+ call.reject(USER_CANCELLED);
378
+ }
379
+ pickMultipleMedia.unregister();
380
+ });
389
381
  pickMultipleMedia.launch(
390
382
  new PickVisualMediaRequest.Builder().setMediaType(ActivityResultContracts.PickVisualMedia.ImageOnly.INSTANCE).build()
391
383
  );
392
384
  } else {
393
- pickMedia =
394
- registerActivityResultLauncher(
395
- new ActivityResultContracts.PickVisualMedia(),
396
- uri -> {
397
- if (uri != null) {
398
- imagePickedContentUri = uri;
399
- processPickedImage(uri, call);
400
- } else {
401
- call.reject(USER_CANCELLED);
402
- }
403
- pickMedia.unregister();
404
- }
405
- );
385
+ pickMedia = registerActivityResultLauncher(new ActivityResultContracts.PickVisualMedia(), (uri) -> {
386
+ if (uri != null) {
387
+ imagePickedContentUri = uri;
388
+ processPickedImage(uri, call);
389
+ } else {
390
+ call.reject(USER_CANCELLED);
391
+ }
392
+ pickMedia.unregister();
393
+ });
406
394
  pickMedia.launch(
407
395
  new PickVisualMediaRequest.Builder().setMediaType(ActivityResultContracts.PickVisualMedia.ImageOnly.INSTANCE).build()
408
396
  );
@@ -868,10 +856,9 @@ public class CameraPlugin extends Plugin {
868
856
  List<ResolveInfo> resInfoList;
869
857
 
870
858
  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
871
- resInfoList =
872
- getContext()
873
- .getPackageManager()
874
- .queryIntentActivities(editIntent, PackageManager.ResolveInfoFlags.of(PackageManager.MATCH_DEFAULT_ONLY));
859
+ resInfoList = getContext()
860
+ .getPackageManager()
861
+ .queryIntentActivities(editIntent, PackageManager.ResolveInfoFlags.of(PackageManager.MATCH_DEFAULT_ONLY));
875
862
  } else {
876
863
  resInfoList = legacyQueryIntentActivities(editIntent);
877
864
  }
@@ -23,7 +23,7 @@ public class CameraUtils {
23
23
  String imageFileName = "JPEG_" + timeStamp + "_";
24
24
  File storageDir = activity.getExternalFilesDir(Environment.DIRECTORY_PICTURES);
25
25
 
26
- File image = File.createTempFile(imageFileName, /* prefix */".jpg", /* suffix */storageDir/* directory */);
26
+ File image = File.createTempFile(imageFileName, /* prefix */ ".jpg", /* suffix */ storageDir /* directory */);
27
27
 
28
28
  return image;
29
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/definitions.ts"],"names":[],"mappings":"AAuUA,MAAM,CAAN,IAAY,YAaX;AAbD,WAAY,YAAY;IACtB;;OAEG;IACH,iCAAiB,CAAA;IACjB;;OAEG;IACH,iCAAiB,CAAA;IACjB;;OAEG;IACH,iCAAiB,CAAA;AACnB,CAAC,EAbW,YAAY,KAAZ,YAAY,QAavB;AAED,MAAM,CAAN,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,gCAAa,CAAA;IACb,kCAAe,CAAA;AACjB,CAAC,EAHW,eAAe,KAAf,eAAe,QAG1B;AAED,MAAM,CAAN,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,+BAAW,CAAA;IACX,qCAAiB,CAAA;IACjB,uCAAmB,CAAA;AACrB,CAAC,EAJW,gBAAgB,KAAhB,gBAAgB,QAI3B","sourcesContent":["import type { PermissionState } from '@capacitor/core';\n\nexport type CameraPermissionState = PermissionState | 'limited';\n\nexport type CameraPermissionType = 'camera' | 'photos';\n\nexport interface PermissionStatus {\n camera: CameraPermissionState;\n photos: CameraPermissionState;\n}\n\nexport interface CameraPluginPermissions {\n permissions: CameraPermissionType[];\n}\n\nexport interface CameraPlugin {\n /**\n * Prompt the user to pick a photo from an album, or take a new photo\n * with the camera.\n *\n * @since 1.0.0\n */\n getPhoto(options: ImageOptions): Promise<Photo>;\n\n /**\n * Allows the user to pick multiple pictures from the photo gallery.\n *\n * @since 1.2.0\n */\n pickImages(options: GalleryImageOptions): Promise<GalleryPhotos>;\n\n /**\n * Allows the user to update their limited photo library selection.\n * Returns all the limited photos after the picker dismissal.\n * If instead the user gave full access to the photos it returns an empty array.\n *\n * @since 4.1.0\n */\n pickLimitedLibraryPhotos(): Promise<GalleryPhotos>;\n /**\n * Return an array of photos selected from the limited photo library.\n *\n * @since 4.1.0\n */\n getLimitedLibraryPhotos(): Promise<GalleryPhotos>;\n\n /**\n * Check camera and photo album permissions\n *\n * @since 1.0.0\n */\n checkPermissions(): Promise<PermissionStatus>;\n\n /**\n * Request camera and photo album permissions\n *\n * @since 1.0.0\n */\n requestPermissions(\n permissions?: CameraPluginPermissions,\n ): Promise<PermissionStatus>;\n}\n\nexport interface ImageOptions {\n /**\n * The quality of image to return as JPEG, from 0-100\n * Note: This option is only supported on Android and iOS\n *\n * @since 1.0.0\n */\n quality?: number;\n /**\n * Whether to allow the user to crop or make small edits (platform specific).\n * On iOS it's only supported for CameraSource.Camera, but not for CameraSource.Photos.\n *\n * @since 1.0.0\n */\n allowEditing?: boolean;\n /**\n * How the data should be returned. Currently, only 'Base64', 'DataUrl' or 'Uri' is supported\n *\n * @since 1.0.0\n */\n resultType: CameraResultType;\n /**\n * Whether to save the photo to the gallery.\n * If the photo was picked from the gallery, it will only be saved if edited.\n * @default: false\n *\n * @since 1.0.0\n */\n saveToGallery?: boolean;\n /**\n * The desired maximum width of the saved image. The aspect ratio is respected.\n *\n * @since 1.0.0\n */\n width?: number;\n /**\n * The desired maximum height of the saved image. The aspect ratio is respected.\n *\n * @since 1.0.0\n */\n height?: number;\n /**\n * Whether to automatically rotate the image \"up\" to correct for orientation\n * in portrait mode\n * @default: true\n *\n * @since 1.0.0\n */\n correctOrientation?: boolean;\n /**\n * The source to get the photo from. By default this prompts the user to select\n * either the photo album or take a photo.\n * @default: CameraSource.Prompt\n *\n * @since 1.0.0\n */\n source?: CameraSource;\n /**\n * iOS and Web only: The camera direction.\n * @default: CameraDirection.Rear\n *\n * @since 1.0.0\n */\n direction?: CameraDirection;\n\n /**\n * iOS only: The presentation style of the Camera.\n * @default: 'fullscreen'\n *\n * @since 1.0.0\n */\n presentationStyle?: 'fullscreen' | 'popover';\n\n /**\n * Web only: Whether to use the PWA Element experience or file input. The\n * default is to use PWA Elements if installed and fall back to file input.\n * To always use file input, set this to `true`.\n *\n * Learn more about PWA Elements: https://capacitorjs.com/docs/web/pwa-elements\n *\n * @since 1.0.0\n */\n webUseInput?: boolean;\n\n /**\n * Text value to use when displaying the prompt.\n * @default: 'Photo'\n *\n * @since 1.0.0\n *\n */\n promptLabelHeader?: string;\n\n /**\n * Text value to use when displaying the prompt.\n * iOS only: The label of the 'cancel' button.\n * @default: 'Cancel'\n *\n * @since 1.0.0\n */\n promptLabelCancel?: string;\n\n /**\n * Text value to use when displaying the prompt.\n * The label of the button to select a saved image.\n * @default: 'From Photos'\n *\n * @since 1.0.0\n */\n promptLabelPhoto?: string;\n\n /**\n * Text value to use when displaying the prompt.\n * The label of the button to open the camera.\n * @default: 'Take Picture'\n *\n * @since 1.0.0\n */\n promptLabelPicture?: string;\n}\n\nexport interface Photo {\n /**\n * The base64 encoded string representation of the image, if using CameraResultType.Base64.\n *\n * @since 1.0.0\n */\n base64String?: string;\n /**\n * The url starting with 'data:image/jpeg;base64,' and the base64 encoded string representation of the image, if using CameraResultType.DataUrl.\n *\n * Note: On web, the file format could change depending on the browser.\n * @since 1.0.0\n */\n dataUrl?: string;\n /**\n * If using CameraResultType.Uri, the path will contain a full,\n * platform-specific file URL that can be read later using the Filesystem API.\n *\n * @since 1.0.0\n */\n path?: string;\n /**\n * webPath returns a path that can be used to set the src attribute of an image for efficient\n * loading and rendering.\n *\n * @since 1.0.0\n */\n webPath?: string;\n /**\n * Exif data, if any, retrieved from the image\n *\n * @since 1.0.0\n */\n exif?: any;\n /**\n * The format of the image, ex: jpeg, png, gif.\n *\n * iOS and Android only support jpeg.\n * Web supports jpeg, png and gif, but the exact availability may vary depending on the browser.\n * gif is only supported if `webUseInput` is set to `true` or if `source` is set to `Photos`.\n *\n * @since 1.0.0\n */\n format: string;\n /**\n * Whether if the image was saved to the gallery or not.\n *\n * On Android and iOS, saving to the gallery can fail if the user didn't\n * grant the required permissions.\n * On Web there is no gallery, so always returns false.\n *\n * @since 1.1.0\n */\n saved: boolean;\n}\n\nexport interface GalleryPhotos {\n /**\n * Array of all the picked photos.\n *\n * @since 1.2.0\n */\n photos: GalleryPhoto[];\n}\n\nexport interface GalleryPhoto {\n /**\n * Full, platform-specific file URL that can be read later using the Filesystem API.\n *\n * @since 1.2.0\n */\n path?: string;\n /**\n * webPath returns a path that can be used to set the src attribute of an image for efficient\n * loading and rendering.\n *\n * @since 1.2.0\n */\n webPath: string;\n /**\n * Exif data, if any, retrieved from the image\n *\n * @since 1.2.0\n */\n exif?: any;\n /**\n * The format of the image, ex: jpeg, png, gif.\n *\n * iOS and Android only support jpeg.\n * Web supports jpeg, png and gif.\n *\n * @since 1.2.0\n */\n format: string;\n}\nexport interface GalleryImageOptions {\n /**\n * The quality of image to return as JPEG, from 0-100\n * Note: This option is only supported on Android and iOS.\n *\n * @since 1.2.0\n */\n quality?: number;\n /**\n * The desired maximum width of the saved image. The aspect ratio is respected.\n *\n * @since 1.2.0\n */\n width?: number;\n /**\n * The desired maximum height of the saved image. The aspect ratio is respected.\n *\n * @since 1.2.0\n */\n height?: number;\n /**\n * Whether to automatically rotate the image \"up\" to correct for orientation\n * in portrait mode\n * @default: true\n *\n * @since 1.2.0\n */\n correctOrientation?: boolean;\n\n /**\n * iOS only: The presentation style of the Camera.\n * @default: 'fullscreen'\n *\n * @since 1.2.0\n */\n presentationStyle?: 'fullscreen' | 'popover';\n\n /**\n * Maximum number of pictures the user will be able to choose.\n * Note: This option is only supported on Android 13+ and iOS.\n *\n * @default 0 (unlimited)\n *\n * @since 1.2.0\n */\n limit?: number;\n}\n\nexport enum CameraSource {\n /**\n * Prompts the user to select either the photo album or take a photo.\n */\n Prompt = 'PROMPT',\n /**\n * Take a new photo using the camera.\n */\n Camera = 'CAMERA',\n /**\n * Pick an existing photo from the gallery or photo album.\n */\n Photos = 'PHOTOS',\n}\n\nexport enum CameraDirection {\n Rear = 'REAR',\n Front = 'FRONT',\n}\n\nexport enum CameraResultType {\n Uri = 'uri',\n Base64 = 'base64',\n DataUrl = 'dataUrl',\n}\n\n/**\n * @deprecated Use `Photo`.\n * @since 1.0.0\n */\nexport type CameraPhoto = Photo;\n\n/**\n * @deprecated Use `ImageOptions`.\n * @since 1.0.0\n */\nexport type CameraOptions = ImageOptions;\n"]}
1
+ {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/definitions.ts"],"names":[],"mappings":"AAqUA,MAAM,CAAN,IAAY,YAaX;AAbD,WAAY,YAAY;IACtB;;OAEG;IACH,iCAAiB,CAAA;IACjB;;OAEG;IACH,iCAAiB,CAAA;IACjB;;OAEG;IACH,iCAAiB,CAAA;AACnB,CAAC,EAbW,YAAY,KAAZ,YAAY,QAavB;AAED,MAAM,CAAN,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,gCAAa,CAAA;IACb,kCAAe,CAAA;AACjB,CAAC,EAHW,eAAe,KAAf,eAAe,QAG1B;AAED,MAAM,CAAN,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,+BAAW,CAAA;IACX,qCAAiB,CAAA;IACjB,uCAAmB,CAAA;AACrB,CAAC,EAJW,gBAAgB,KAAhB,gBAAgB,QAI3B","sourcesContent":["import type { PermissionState } from '@capacitor/core';\n\nexport type CameraPermissionState = PermissionState | 'limited';\n\nexport type CameraPermissionType = 'camera' | 'photos';\n\nexport interface PermissionStatus {\n camera: CameraPermissionState;\n photos: CameraPermissionState;\n}\n\nexport interface CameraPluginPermissions {\n permissions: CameraPermissionType[];\n}\n\nexport interface CameraPlugin {\n /**\n * Prompt the user to pick a photo from an album, or take a new photo\n * with the camera.\n *\n * @since 1.0.0\n */\n getPhoto(options: ImageOptions): Promise<Photo>;\n\n /**\n * Allows the user to pick multiple pictures from the photo gallery.\n *\n * @since 1.2.0\n */\n pickImages(options: GalleryImageOptions): Promise<GalleryPhotos>;\n\n /**\n * Allows the user to update their limited photo library selection.\n * Returns all the limited photos after the picker dismissal.\n * If instead the user gave full access to the photos it returns an empty array.\n *\n * @since 4.1.0\n */\n pickLimitedLibraryPhotos(): Promise<GalleryPhotos>;\n /**\n * Return an array of photos selected from the limited photo library.\n *\n * @since 4.1.0\n */\n getLimitedLibraryPhotos(): Promise<GalleryPhotos>;\n\n /**\n * Check camera and photo album permissions\n *\n * @since 1.0.0\n */\n checkPermissions(): Promise<PermissionStatus>;\n\n /**\n * Request camera and photo album permissions\n *\n * @since 1.0.0\n */\n requestPermissions(permissions?: CameraPluginPermissions): Promise<PermissionStatus>;\n}\n\nexport interface ImageOptions {\n /**\n * The quality of image to return as JPEG, from 0-100\n * Note: This option is only supported on Android and iOS\n *\n * @since 1.0.0\n */\n quality?: number;\n /**\n * Whether to allow the user to crop or make small edits (platform specific).\n * On iOS it's only supported for CameraSource.Camera, but not for CameraSource.Photos.\n *\n * @since 1.0.0\n */\n allowEditing?: boolean;\n /**\n * How the data should be returned. Currently, only 'Base64', 'DataUrl' or 'Uri' is supported\n *\n * @since 1.0.0\n */\n resultType: CameraResultType;\n /**\n * Whether to save the photo to the gallery.\n * If the photo was picked from the gallery, it will only be saved if edited.\n * @default: false\n *\n * @since 1.0.0\n */\n saveToGallery?: boolean;\n /**\n * The desired maximum width of the saved image. The aspect ratio is respected.\n *\n * @since 1.0.0\n */\n width?: number;\n /**\n * The desired maximum height of the saved image. The aspect ratio is respected.\n *\n * @since 1.0.0\n */\n height?: number;\n /**\n * Whether to automatically rotate the image \"up\" to correct for orientation\n * in portrait mode\n * @default: true\n *\n * @since 1.0.0\n */\n correctOrientation?: boolean;\n /**\n * The source to get the photo from. By default this prompts the user to select\n * either the photo album or take a photo.\n * @default: CameraSource.Prompt\n *\n * @since 1.0.0\n */\n source?: CameraSource;\n /**\n * iOS and Web only: The camera direction.\n * @default: CameraDirection.Rear\n *\n * @since 1.0.0\n */\n direction?: CameraDirection;\n\n /**\n * iOS only: The presentation style of the Camera.\n * @default: 'fullscreen'\n *\n * @since 1.0.0\n */\n presentationStyle?: 'fullscreen' | 'popover';\n\n /**\n * Web only: Whether to use the PWA Element experience or file input. The\n * default is to use PWA Elements if installed and fall back to file input.\n * To always use file input, set this to `true`.\n *\n * Learn more about PWA Elements: https://capacitorjs.com/docs/web/pwa-elements\n *\n * @since 1.0.0\n */\n webUseInput?: boolean;\n\n /**\n * Text value to use when displaying the prompt.\n * @default: 'Photo'\n *\n * @since 1.0.0\n *\n */\n promptLabelHeader?: string;\n\n /**\n * Text value to use when displaying the prompt.\n * iOS only: The label of the 'cancel' button.\n * @default: 'Cancel'\n *\n * @since 1.0.0\n */\n promptLabelCancel?: string;\n\n /**\n * Text value to use when displaying the prompt.\n * The label of the button to select a saved image.\n * @default: 'From Photos'\n *\n * @since 1.0.0\n */\n promptLabelPhoto?: string;\n\n /**\n * Text value to use when displaying the prompt.\n * The label of the button to open the camera.\n * @default: 'Take Picture'\n *\n * @since 1.0.0\n */\n promptLabelPicture?: string;\n}\n\nexport interface Photo {\n /**\n * The base64 encoded string representation of the image, if using CameraResultType.Base64.\n *\n * @since 1.0.0\n */\n base64String?: string;\n /**\n * The url starting with 'data:image/jpeg;base64,' and the base64 encoded string representation of the image, if using CameraResultType.DataUrl.\n *\n * Note: On web, the file format could change depending on the browser.\n * @since 1.0.0\n */\n dataUrl?: string;\n /**\n * If using CameraResultType.Uri, the path will contain a full,\n * platform-specific file URL that can be read later using the Filesystem API.\n *\n * @since 1.0.0\n */\n path?: string;\n /**\n * webPath returns a path that can be used to set the src attribute of an image for efficient\n * loading and rendering.\n *\n * @since 1.0.0\n */\n webPath?: string;\n /**\n * Exif data, if any, retrieved from the image\n *\n * @since 1.0.0\n */\n exif?: any;\n /**\n * The format of the image, ex: jpeg, png, gif.\n *\n * iOS and Android only support jpeg.\n * Web supports jpeg, png and gif, but the exact availability may vary depending on the browser.\n * gif is only supported if `webUseInput` is set to `true` or if `source` is set to `Photos`.\n *\n * @since 1.0.0\n */\n format: string;\n /**\n * Whether if the image was saved to the gallery or not.\n *\n * On Android and iOS, saving to the gallery can fail if the user didn't\n * grant the required permissions.\n * On Web there is no gallery, so always returns false.\n *\n * @since 1.1.0\n */\n saved: boolean;\n}\n\nexport interface GalleryPhotos {\n /**\n * Array of all the picked photos.\n *\n * @since 1.2.0\n */\n photos: GalleryPhoto[];\n}\n\nexport interface GalleryPhoto {\n /**\n * Full, platform-specific file URL that can be read later using the Filesystem API.\n *\n * @since 1.2.0\n */\n path?: string;\n /**\n * webPath returns a path that can be used to set the src attribute of an image for efficient\n * loading and rendering.\n *\n * @since 1.2.0\n */\n webPath: string;\n /**\n * Exif data, if any, retrieved from the image\n *\n * @since 1.2.0\n */\n exif?: any;\n /**\n * The format of the image, ex: jpeg, png, gif.\n *\n * iOS and Android only support jpeg.\n * Web supports jpeg, png and gif.\n *\n * @since 1.2.0\n */\n format: string;\n}\nexport interface GalleryImageOptions {\n /**\n * The quality of image to return as JPEG, from 0-100\n * Note: This option is only supported on Android and iOS.\n *\n * @since 1.2.0\n */\n quality?: number;\n /**\n * The desired maximum width of the saved image. The aspect ratio is respected.\n *\n * @since 1.2.0\n */\n width?: number;\n /**\n * The desired maximum height of the saved image. The aspect ratio is respected.\n *\n * @since 1.2.0\n */\n height?: number;\n /**\n * Whether to automatically rotate the image \"up\" to correct for orientation\n * in portrait mode\n * @default: true\n *\n * @since 1.2.0\n */\n correctOrientation?: boolean;\n\n /**\n * iOS only: The presentation style of the Camera.\n * @default: 'fullscreen'\n *\n * @since 1.2.0\n */\n presentationStyle?: 'fullscreen' | 'popover';\n\n /**\n * Maximum number of pictures the user will be able to choose.\n * Note: This option is only supported on Android 13+ and iOS.\n *\n * @default 0 (unlimited)\n *\n * @since 1.2.0\n */\n limit?: number;\n}\n\nexport enum CameraSource {\n /**\n * Prompts the user to select either the photo album or take a photo.\n */\n Prompt = 'PROMPT',\n /**\n * Take a new photo using the camera.\n */\n Camera = 'CAMERA',\n /**\n * Pick an existing photo from the gallery or photo album.\n */\n Photos = 'PHOTOS',\n}\n\nexport enum CameraDirection {\n Rear = 'REAR',\n Front = 'FRONT',\n}\n\nexport enum CameraResultType {\n Uri = 'uri',\n Base64 = 'base64',\n DataUrl = 'dataUrl',\n}\n\n/**\n * @deprecated Use `Photo`.\n * @since 1.0.0\n */\nexport type CameraPhoto = Photo;\n\n/**\n * @deprecated Use `ImageOptions`.\n * @since 1.0.0\n */\nexport type CameraOptions = ImageOptions;\n"]}
package/dist/esm/web.js CHANGED
@@ -43,8 +43,7 @@ export class CameraWeb extends WebPlugin {
43
43
  async cameraExperience(options, resolve, reject) {
44
44
  if (customElements.get('pwa-camera-modal')) {
45
45
  const cameraModal = document.createElement('pwa-camera-modal');
46
- cameraModal.facingMode =
47
- options.direction === CameraDirection.Front ? 'user' : 'environment';
46
+ cameraModal.facingMode = options.direction === CameraDirection.Front ? 'user' : 'environment';
48
47
  document.body.appendChild(cameraModal);
49
48
  try {
50
49
  await cameraModal.componentOnReady();
@@ -94,8 +93,7 @@ export class CameraWeb extends WebPlugin {
94
93
  else if (file.type === 'image/gif') {
95
94
  format = 'gif';
96
95
  }
97
- if (options.resultType === 'dataUrl' ||
98
- options.resultType === 'base64') {
96
+ if (options.resultType === 'dataUrl' || options.resultType === 'base64') {
99
97
  const reader = new FileReader();
100
98
  reader.addEventListener('load', () => {
101
99
  if (options.resultType === 'dataUrl') {
@@ -130,8 +128,7 @@ export class CameraWeb extends WebPlugin {
130
128
  }
131
129
  input.accept = 'image/*';
132
130
  input.capture = true;
133
- if (options.source === CameraSource.Photos ||
134
- options.source === CameraSource.Prompt) {
131
+ if (options.source === CameraSource.Photos || options.source === CameraSource.Prompt) {
135
132
  input.removeAttribute('capture');
136
133
  }
137
134
  else if (options.direction === CameraDirection.Front) {
@@ -213,7 +210,7 @@ export class CameraWeb extends WebPlugin {
213
210
  });
214
211
  }
215
212
  };
216
- reader.onerror = e => {
213
+ reader.onerror = (e) => {
217
214
  reject(e);
218
215
  };
219
216
  }
@@ -1 +1 @@
1
- {"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"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","sourcesContent":["import { WebPlugin, CapacitorException } from '@capacitor/core';\n\nimport { CameraSource, CameraDirection } from './definitions';\nimport type {\n CameraPlugin,\n GalleryImageOptions,\n GalleryPhotos,\n ImageOptions,\n PermissionStatus,\n Photo,\n} from './definitions';\n\nexport class CameraWeb extends WebPlugin implements CameraPlugin {\n async getPhoto(options: ImageOptions): Promise<Photo> {\n // eslint-disable-next-line no-async-promise-executor\n return new Promise<Photo>(async (resolve, reject) => {\n if (options.webUseInput || options.source === CameraSource.Photos) {\n this.fileInputExperience(options, resolve, reject);\n } else if (options.source === CameraSource.Prompt) {\n let actionSheet: any = 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: any) => {\n const selection = e.detail;\n if (selection === 0) {\n this.fileInputExperience(options, resolve, reject);\n } else {\n this.cameraExperience(options, resolve, reject);\n }\n });\n } else {\n this.cameraExperience(options, resolve, reject);\n }\n });\n }\n\n async pickImages(_options: GalleryImageOptions): Promise<GalleryPhotos> {\n // eslint-disable-next-line no-async-promise-executor\n return new Promise<GalleryPhotos>(async (resolve, reject) => {\n this.multipleFileInputExperience(resolve, reject);\n });\n }\n\n private async cameraExperience(\n options: ImageOptions,\n resolve: any,\n reject: any,\n ) {\n if (customElements.get('pwa-camera-modal')) {\n const cameraModal: any = document.createElement('pwa-camera-modal');\n cameraModal.facingMode =\n options.direction === CameraDirection.Front ? 'user' : 'environment';\n document.body.appendChild(cameraModal);\n try {\n await cameraModal.componentOnReady();\n cameraModal.addEventListener('onPhoto', async (e: any) => {\n const photo = e.detail;\n\n if (photo === null) {\n reject(new CapacitorException('User cancelled photos app'));\n } else if (photo instanceof Error) {\n reject(photo);\n } else {\n resolve(await this._getCameraPhoto(photo, options));\n }\n\n cameraModal.dismiss();\n document.body.removeChild(cameraModal);\n });\n\n cameraModal.present();\n } catch (e) {\n this.fileInputExperience(options, resolve, reject);\n }\n } else {\n console.error(\n `Unable to load PWA Element 'pwa-camera-modal'. See the docs: https://capacitorjs.com/docs/web/pwa-elements.`,\n );\n this.fileInputExperience(options, resolve, reject);\n }\n }\n\n private fileInputExperience(\n options: ImageOptions,\n resolve: any,\n reject: any,\n ) {\n let input = document.querySelector(\n '#_capacitor-camera-input',\n ) as HTMLInputElement;\n\n const cleanup = () => {\n input.parentNode?.removeChild(input);\n };\n\n if (!input) {\n input = document.createElement('input') as HTMLInputElement;\n input.id = '_capacitor-camera-input';\n input.type = 'file';\n input.hidden = true;\n document.body.appendChild(input);\n input.addEventListener('change', (_e: any) => {\n const file = input.files![0];\n let format = 'jpeg';\n\n if (file.type === 'image/png') {\n format = 'png';\n } else if (file.type === 'image/gif') {\n format = 'gif';\n }\n\n if (\n options.resultType === 'dataUrl' ||\n options.resultType === 'base64'\n ) {\n const reader = new FileReader();\n\n reader.addEventListener('load', () => {\n if (options.resultType === 'dataUrl') {\n resolve({\n dataUrl: reader.result,\n format,\n } as Photo);\n } else if (options.resultType === 'base64') {\n const b64 = (reader.result as string).split(',')[1];\n resolve({\n base64String: b64,\n format,\n } as Photo);\n }\n\n cleanup();\n });\n\n reader.readAsDataURL(file);\n } else {\n resolve({\n webPath: URL.createObjectURL(file),\n format: format,\n });\n cleanup();\n }\n });\n input.addEventListener('cancel', (_e: any) => {\n reject(new CapacitorException('User cancelled photos app'));\n cleanup();\n });\n }\n\n input.accept = 'image/*';\n (input as any).capture = true;\n\n if (\n options.source === CameraSource.Photos ||\n options.source === CameraSource.Prompt\n ) {\n input.removeAttribute('capture');\n } else if (options.direction === CameraDirection.Front) {\n (input as any).capture = 'user';\n } else if (options.direction === CameraDirection.Rear) {\n (input as any).capture = 'environment';\n }\n\n input.click();\n }\n\n private multipleFileInputExperience(resolve: any, reject: any) {\n let input = document.querySelector(\n '#_capacitor-camera-input-multiple',\n ) as HTMLInputElement;\n\n const cleanup = () => {\n input.parentNode?.removeChild(input);\n };\n\n if (!input) {\n input = document.createElement('input') as HTMLInputElement;\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: any) => {\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\n if (file.type === 'image/png') {\n format = 'png';\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: any) => {\n reject(new CapacitorException('User cancelled photos app'));\n cleanup();\n });\n }\n\n input.accept = 'image/*';\n\n input.click();\n }\n\n private _getCameraPhoto(photo: Blob, options: ImageOptions) {\n return new Promise<Photo>((resolve, reject) => {\n const reader = new FileReader();\n const format = photo.type.split('/')[1];\n if (options.resultType === 'uri') {\n resolve({\n webPath: URL.createObjectURL(photo),\n format: format,\n saved: false,\n });\n } else {\n reader.readAsDataURL(photo);\n reader.onloadend = () => {\n const r = reader.result as string;\n if (options.resultType === 'dataUrl') {\n resolve({\n dataUrl: r,\n format: format,\n saved: false,\n });\n } else {\n resolve({\n base64String: r.split(',')[1],\n format: format,\n saved: false,\n });\n }\n };\n reader.onerror = e => {\n reject(e);\n };\n }\n });\n }\n\n async checkPermissions(): Promise<PermissionStatus> {\n if (typeof navigator === 'undefined' || !navigator.permissions) {\n throw this.unavailable('Permissions API not available in this browser');\n }\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 } catch {\n throw this.unavailable(\n 'Camera permissions are not available in this browser',\n );\n }\n }\n\n async requestPermissions(): Promise<PermissionStatus> {\n throw this.unimplemented('Not implemented on web.');\n }\n\n async pickLimitedLibraryPhotos(): Promise<GalleryPhotos> {\n throw this.unavailable('Not implemented on web.');\n }\n\n async getLimitedLibraryPhotos(): Promise<GalleryPhotos> {\n throw this.unavailable('Not implemented on web.');\n }\n}\n\nconst Camera = new CameraWeb();\n\nexport { Camera };\n"]}
1
+ {"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"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","sourcesContent":["import { WebPlugin, CapacitorException } from '@capacitor/core';\n\nimport { CameraSource, CameraDirection } from './definitions';\nimport type {\n CameraPlugin,\n GalleryImageOptions,\n GalleryPhotos,\n ImageOptions,\n PermissionStatus,\n Photo,\n} from './definitions';\n\nexport class CameraWeb extends WebPlugin implements CameraPlugin {\n async getPhoto(options: ImageOptions): Promise<Photo> {\n // eslint-disable-next-line no-async-promise-executor\n return new Promise<Photo>(async (resolve, reject) => {\n if (options.webUseInput || options.source === CameraSource.Photos) {\n this.fileInputExperience(options, resolve, reject);\n } else if (options.source === CameraSource.Prompt) {\n let actionSheet: any = 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: any) => {\n const selection = e.detail;\n if (selection === 0) {\n this.fileInputExperience(options, resolve, reject);\n } else {\n this.cameraExperience(options, resolve, reject);\n }\n });\n } else {\n this.cameraExperience(options, resolve, reject);\n }\n });\n }\n\n async pickImages(_options: GalleryImageOptions): Promise<GalleryPhotos> {\n // eslint-disable-next-line no-async-promise-executor\n return new Promise<GalleryPhotos>(async (resolve, reject) => {\n this.multipleFileInputExperience(resolve, reject);\n });\n }\n\n private async cameraExperience(options: ImageOptions, resolve: any, reject: any) {\n if (customElements.get('pwa-camera-modal')) {\n const cameraModal: any = document.createElement('pwa-camera-modal');\n cameraModal.facingMode = options.direction === CameraDirection.Front ? 'user' : 'environment';\n document.body.appendChild(cameraModal);\n try {\n await cameraModal.componentOnReady();\n cameraModal.addEventListener('onPhoto', async (e: any) => {\n const photo = e.detail;\n\n if (photo === null) {\n reject(new CapacitorException('User cancelled photos app'));\n } else if (photo instanceof Error) {\n reject(photo);\n } else {\n resolve(await this._getCameraPhoto(photo, options));\n }\n\n cameraModal.dismiss();\n document.body.removeChild(cameraModal);\n });\n\n cameraModal.present();\n } catch (e) {\n this.fileInputExperience(options, resolve, reject);\n }\n } else {\n console.error(\n `Unable to load PWA Element 'pwa-camera-modal'. See the docs: https://capacitorjs.com/docs/web/pwa-elements.`,\n );\n this.fileInputExperience(options, resolve, reject);\n }\n }\n\n private fileInputExperience(options: ImageOptions, resolve: any, reject: any) {\n let input = document.querySelector('#_capacitor-camera-input') as HTMLInputElement;\n\n const cleanup = () => {\n input.parentNode?.removeChild(input);\n };\n\n if (!input) {\n input = document.createElement('input') as HTMLInputElement;\n input.id = '_capacitor-camera-input';\n input.type = 'file';\n input.hidden = true;\n document.body.appendChild(input);\n input.addEventListener('change', (_e: any) => {\n const file = input.files![0];\n let format = 'jpeg';\n\n if (file.type === 'image/png') {\n format = 'png';\n } else if (file.type === 'image/gif') {\n format = 'gif';\n }\n\n if (options.resultType === 'dataUrl' || options.resultType === 'base64') {\n const reader = new FileReader();\n\n reader.addEventListener('load', () => {\n if (options.resultType === 'dataUrl') {\n resolve({\n dataUrl: reader.result,\n format,\n } as Photo);\n } else if (options.resultType === 'base64') {\n const b64 = (reader.result as string).split(',')[1];\n resolve({\n base64String: b64,\n format,\n } as Photo);\n }\n\n cleanup();\n });\n\n reader.readAsDataURL(file);\n } else {\n resolve({\n webPath: URL.createObjectURL(file),\n format: format,\n });\n cleanup();\n }\n });\n input.addEventListener('cancel', (_e: any) => {\n reject(new CapacitorException('User cancelled photos app'));\n cleanup();\n });\n }\n\n input.accept = 'image/*';\n (input as any).capture = true;\n\n if (options.source === CameraSource.Photos || options.source === CameraSource.Prompt) {\n input.removeAttribute('capture');\n } else if (options.direction === CameraDirection.Front) {\n (input as any).capture = 'user';\n } else if (options.direction === CameraDirection.Rear) {\n (input as any).capture = 'environment';\n }\n\n input.click();\n }\n\n private multipleFileInputExperience(resolve: any, reject: any) {\n let input = document.querySelector('#_capacitor-camera-input-multiple') as HTMLInputElement;\n\n const cleanup = () => {\n input.parentNode?.removeChild(input);\n };\n\n if (!input) {\n input = document.createElement('input') as HTMLInputElement;\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: any) => {\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\n if (file.type === 'image/png') {\n format = 'png';\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: any) => {\n reject(new CapacitorException('User cancelled photos app'));\n cleanup();\n });\n }\n\n input.accept = 'image/*';\n\n input.click();\n }\n\n private _getCameraPhoto(photo: Blob, options: ImageOptions) {\n return new Promise<Photo>((resolve, reject) => {\n const reader = new FileReader();\n const format = photo.type.split('/')[1];\n if (options.resultType === 'uri') {\n resolve({\n webPath: URL.createObjectURL(photo),\n format: format,\n saved: false,\n });\n } else {\n reader.readAsDataURL(photo);\n reader.onloadend = () => {\n const r = reader.result as string;\n if (options.resultType === 'dataUrl') {\n resolve({\n dataUrl: r,\n format: format,\n saved: false,\n });\n } else {\n resolve({\n base64String: r.split(',')[1],\n format: format,\n saved: false,\n });\n }\n };\n reader.onerror = (e) => {\n reject(e);\n };\n }\n });\n }\n\n async checkPermissions(): Promise<PermissionStatus> {\n if (typeof navigator === 'undefined' || !navigator.permissions) {\n throw this.unavailable('Permissions API not available in this browser');\n }\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 } catch {\n throw this.unavailable('Camera permissions are not available in this browser');\n }\n }\n\n async requestPermissions(): Promise<PermissionStatus> {\n throw this.unimplemented('Not implemented on web.');\n }\n\n async pickLimitedLibraryPhotos(): Promise<GalleryPhotos> {\n throw this.unavailable('Not implemented on web.');\n }\n\n async getLimitedLibraryPhotos(): Promise<GalleryPhotos> {\n throw this.unavailable('Not implemented on web.');\n }\n}\n\nconst Camera = new CameraWeb();\n\nexport { Camera };\n"]}
@@ -72,8 +72,7 @@ class CameraWeb extends core.WebPlugin {
72
72
  async cameraExperience(options, resolve, reject) {
73
73
  if (customElements.get('pwa-camera-modal')) {
74
74
  const cameraModal = document.createElement('pwa-camera-modal');
75
- cameraModal.facingMode =
76
- options.direction === exports.CameraDirection.Front ? 'user' : 'environment';
75
+ cameraModal.facingMode = options.direction === exports.CameraDirection.Front ? 'user' : 'environment';
77
76
  document.body.appendChild(cameraModal);
78
77
  try {
79
78
  await cameraModal.componentOnReady();
@@ -123,8 +122,7 @@ class CameraWeb extends core.WebPlugin {
123
122
  else if (file.type === 'image/gif') {
124
123
  format = 'gif';
125
124
  }
126
- if (options.resultType === 'dataUrl' ||
127
- options.resultType === 'base64') {
125
+ if (options.resultType === 'dataUrl' || options.resultType === 'base64') {
128
126
  const reader = new FileReader();
129
127
  reader.addEventListener('load', () => {
130
128
  if (options.resultType === 'dataUrl') {
@@ -159,8 +157,7 @@ class CameraWeb extends core.WebPlugin {
159
157
  }
160
158
  input.accept = 'image/*';
161
159
  input.capture = true;
162
- if (options.source === exports.CameraSource.Photos ||
163
- options.source === exports.CameraSource.Prompt) {
160
+ if (options.source === exports.CameraSource.Photos || options.source === exports.CameraSource.Prompt) {
164
161
  input.removeAttribute('capture');
165
162
  }
166
163
  else if (options.direction === exports.CameraDirection.Front) {
@@ -242,7 +239,7 @@ class CameraWeb extends core.WebPlugin {
242
239
  });
243
240
  }
244
241
  };
245
- reader.onerror = e => {
242
+ reader.onerror = (e) => {
246
243
  reject(e);
247
244
  };
248
245
  }
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.cjs.js","sources":["esm/definitions.js","esm/web.js","esm/index.js"],"sourcesContent":["export 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 = {}));\nexport var CameraResultType;\n(function (CameraResultType) {\n CameraResultType[\"Uri\"] = \"uri\";\n CameraResultType[\"Base64\"] = \"base64\";\n CameraResultType[\"DataUrl\"] = \"dataUrl\";\n})(CameraResultType || (CameraResultType = {}));\n//# sourceMappingURL=definitions.js.map","import { WebPlugin, CapacitorException } from '@capacitor/core';\nimport { CameraSource, CameraDirection } from './definitions';\nexport class CameraWeb extends WebPlugin {\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 if (customElements.get('pwa-camera-modal')) {\n const cameraModal = document.createElement('pwa-camera-modal');\n cameraModal.facingMode =\n options.direction === 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 this._getCameraPhoto(photo, options));\n }\n cameraModal.dismiss();\n document.body.removeChild(cameraModal);\n });\n cameraModal.present();\n }\n catch (e) {\n this.fileInputExperience(options, resolve, reject);\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 this.fileInputExperience(options, resolve, reject);\n }\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' ||\n 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 ||\n 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 = photo.type.split('/')[1];\n if (options.resultType === 'uri') {\n resolve({\n webPath: URL.createObjectURL(photo),\n format: 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: format,\n saved: false,\n });\n }\n else {\n resolve({\n base64String: r.split(',')[1],\n format: format,\n saved: false,\n });\n }\n };\n reader.onerror = e => {\n reject(e);\n };\n }\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","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":["export 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 = {}));\nexport var CameraResultType;\n(function (CameraResultType) {\n CameraResultType[\"Uri\"] = \"uri\";\n CameraResultType[\"Base64\"] = \"base64\";\n CameraResultType[\"DataUrl\"] = \"dataUrl\";\n})(CameraResultType || (CameraResultType = {}));\n//# sourceMappingURL=definitions.js.map","import { WebPlugin, CapacitorException } from '@capacitor/core';\nimport { CameraSource, CameraDirection } from './definitions';\nexport class CameraWeb extends WebPlugin {\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 if (customElements.get('pwa-camera-modal')) {\n const cameraModal = document.createElement('pwa-camera-modal');\n cameraModal.facingMode = options.direction === 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 this._getCameraPhoto(photo, options));\n }\n cameraModal.dismiss();\n document.body.removeChild(cameraModal);\n });\n cameraModal.present();\n }\n catch (e) {\n this.fileInputExperience(options, resolve, reject);\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 this.fileInputExperience(options, resolve, reject);\n }\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 = photo.type.split('/')[1];\n if (options.resultType === 'uri') {\n resolve({\n webPath: URL.createObjectURL(photo),\n format: 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: format,\n saved: false,\n });\n }\n else {\n resolve({\n base64String: r.split(',')[1],\n format: format,\n saved: false,\n });\n }\n };\n reader.onerror = (e) => {\n reject(e);\n };\n }\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","WebPlugin","CapacitorException","registerPlugin"],"mappings":"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"}
package/dist/plugin.js CHANGED
@@ -71,8 +71,7 @@ var capacitorCamera = (function (exports, core) {
71
71
  async cameraExperience(options, resolve, reject) {
72
72
  if (customElements.get('pwa-camera-modal')) {
73
73
  const cameraModal = document.createElement('pwa-camera-modal');
74
- cameraModal.facingMode =
75
- options.direction === exports.CameraDirection.Front ? 'user' : 'environment';
74
+ cameraModal.facingMode = options.direction === exports.CameraDirection.Front ? 'user' : 'environment';
76
75
  document.body.appendChild(cameraModal);
77
76
  try {
78
77
  await cameraModal.componentOnReady();
@@ -122,8 +121,7 @@ var capacitorCamera = (function (exports, core) {
122
121
  else if (file.type === 'image/gif') {
123
122
  format = 'gif';
124
123
  }
125
- if (options.resultType === 'dataUrl' ||
126
- options.resultType === 'base64') {
124
+ if (options.resultType === 'dataUrl' || options.resultType === 'base64') {
127
125
  const reader = new FileReader();
128
126
  reader.addEventListener('load', () => {
129
127
  if (options.resultType === 'dataUrl') {
@@ -158,8 +156,7 @@ var capacitorCamera = (function (exports, core) {
158
156
  }
159
157
  input.accept = 'image/*';
160
158
  input.capture = true;
161
- if (options.source === exports.CameraSource.Photos ||
162
- options.source === exports.CameraSource.Prompt) {
159
+ if (options.source === exports.CameraSource.Photos || options.source === exports.CameraSource.Prompt) {
163
160
  input.removeAttribute('capture');
164
161
  }
165
162
  else if (options.direction === exports.CameraDirection.Front) {
@@ -241,7 +238,7 @@ var capacitorCamera = (function (exports, core) {
241
238
  });
242
239
  }
243
240
  };
244
- reader.onerror = e => {
241
+ reader.onerror = (e) => {
245
242
  reject(e);
246
243
  };
247
244
  }
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sources":["esm/definitions.js","esm/web.js","esm/index.js"],"sourcesContent":["export 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 = {}));\nexport var CameraResultType;\n(function (CameraResultType) {\n CameraResultType[\"Uri\"] = \"uri\";\n CameraResultType[\"Base64\"] = \"base64\";\n CameraResultType[\"DataUrl\"] = \"dataUrl\";\n})(CameraResultType || (CameraResultType = {}));\n//# sourceMappingURL=definitions.js.map","import { WebPlugin, CapacitorException } from '@capacitor/core';\nimport { CameraSource, CameraDirection } from './definitions';\nexport class CameraWeb extends WebPlugin {\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 if (customElements.get('pwa-camera-modal')) {\n const cameraModal = document.createElement('pwa-camera-modal');\n cameraModal.facingMode =\n options.direction === 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 this._getCameraPhoto(photo, options));\n }\n cameraModal.dismiss();\n document.body.removeChild(cameraModal);\n });\n cameraModal.present();\n }\n catch (e) {\n this.fileInputExperience(options, resolve, reject);\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 this.fileInputExperience(options, resolve, reject);\n }\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' ||\n 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 ||\n 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 = photo.type.split('/')[1];\n if (options.resultType === 'uri') {\n resolve({\n webPath: URL.createObjectURL(photo),\n format: 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: format,\n saved: false,\n });\n }\n else {\n resolve({\n base64String: r.split(',')[1],\n format: format,\n saved: false,\n });\n }\n };\n reader.onerror = e => {\n reject(e);\n };\n }\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","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":["export 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 = {}));\nexport var CameraResultType;\n(function (CameraResultType) {\n CameraResultType[\"Uri\"] = \"uri\";\n CameraResultType[\"Base64\"] = \"base64\";\n CameraResultType[\"DataUrl\"] = \"dataUrl\";\n})(CameraResultType || (CameraResultType = {}));\n//# sourceMappingURL=definitions.js.map","import { WebPlugin, CapacitorException } from '@capacitor/core';\nimport { CameraSource, CameraDirection } from './definitions';\nexport class CameraWeb extends WebPlugin {\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 if (customElements.get('pwa-camera-modal')) {\n const cameraModal = document.createElement('pwa-camera-modal');\n cameraModal.facingMode = options.direction === 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 this._getCameraPhoto(photo, options));\n }\n cameraModal.dismiss();\n document.body.removeChild(cameraModal);\n });\n cameraModal.present();\n }\n catch (e) {\n this.fileInputExperience(options, resolve, reject);\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 this.fileInputExperience(options, resolve, reject);\n }\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 = photo.type.split('/')[1];\n if (options.resultType === 'uri') {\n resolve({\n webPath: URL.createObjectURL(photo),\n format: 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: format,\n saved: false,\n });\n }\n else {\n resolve({\n base64String: r.split(',')[1],\n format: format,\n saved: false,\n });\n }\n };\n reader.onerror = (e) => {\n reject(e);\n };\n }\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","WebPlugin","CapacitorException","registerPlugin"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@capacitor/camera",
3
- "version": "8.0.0-dev-2434-20251110T164658.0",
3
+ "version": "8.0.0-dev-2444-20251112T191750.0",
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",
@@ -37,7 +37,7 @@
37
37
  "lint": "npm run eslint && npm run prettier -- --check && npm run swiftlint -- lint",
38
38
  "fmt": "npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint -- --fix --format",
39
39
  "eslint": "eslint . --ext ts",
40
- "prettier": "prettier \"**/*.{css,html,ts,js,java}\"",
40
+ "prettier": "prettier \"**/*.{css,html,ts,js,java}\" --plugin=prettier-plugin-java",
41
41
  "swiftlint": "node-swiftlint",
42
42
  "docgen": "docgen --api CameraPlugin --output-readme README.md --output-json dist/docs.json",
43
43
  "build": "npm run clean && npm run docgen && tsc && rollup -c rollup.config.mjs",
@@ -52,11 +52,11 @@
52
52
  "@capacitor/docgen": "0.2.2",
53
53
  "@capacitor/ios": "next",
54
54
  "@ionic/eslint-config": "^0.4.0",
55
- "@ionic/prettier-config": "~1.0.1",
55
+ "@ionic/prettier-config": "^4.0.0",
56
56
  "@ionic/swiftlint-config": "^1.1.2",
57
57
  "eslint": "^8.57.0",
58
- "prettier": "~2.3.0",
59
- "prettier-plugin-java": "~1.0.2",
58
+ "prettier": "^3.6.2",
59
+ "prettier-plugin-java": "^2.7.7",
60
60
  "rimraf": "^6.0.1",
61
61
  "rollup": "^4.26.0",
62
62
  "swiftlint": "^1.0.1",