@capacitor/camera 1.0.5 → 1.2.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/CHANGELOG.md +50 -0
- package/README.md +64 -13
- package/android/src/main/java/com/capacitorjs/plugins/camera/CameraPlugin.java +127 -11
- package/dist/docs.json +212 -3
- package/dist/esm/definitions.d.ts +106 -0
- package/dist/esm/definitions.js +9 -0
- package/dist/esm/definitions.js.map +1 -1
- package/dist/esm/web.d.ts +3 -1
- package/dist/esm/web.js +47 -0
- package/dist/esm/web.js.map +1 -1
- package/dist/plugin.cjs.js +56 -0
- package/dist/plugin.cjs.js.map +1 -1
- package/dist/plugin.js +57 -1
- package/dist/plugin.js.map +1 -1
- package/ios/Plugin/CameraPlugin.m +1 -0
- package/ios/Plugin/CameraPlugin.swift +120 -26
- package/ios/Plugin/CameraTypes.swift +1 -0
- package/ios/Plugin/ImageSaver.swift +20 -0
- package/package.json +4 -5
|
@@ -16,6 +16,13 @@ export interface CameraPlugin {
|
|
|
16
16
|
* @since 1.0.0
|
|
17
17
|
*/
|
|
18
18
|
getPhoto(options: ImageOptions): Promise<Photo>;
|
|
19
|
+
/**
|
|
20
|
+
* Allows the user to pick multiple pictures from the photo gallery.
|
|
21
|
+
* On iOS 13 and older it only allows to pick one picture.
|
|
22
|
+
*
|
|
23
|
+
* @since 1.2.0
|
|
24
|
+
*/
|
|
25
|
+
pickImages(options: GalleryImageOptions): Promise<GalleryPhotos>;
|
|
19
26
|
/**
|
|
20
27
|
* Check camera and photo album permissions
|
|
21
28
|
*
|
|
@@ -191,10 +198,109 @@ export interface Photo {
|
|
|
191
198
|
* @since 1.0.0
|
|
192
199
|
*/
|
|
193
200
|
format: string;
|
|
201
|
+
/**
|
|
202
|
+
* Whether if the image was saved to the gallery or not.
|
|
203
|
+
*
|
|
204
|
+
* On Android and iOS, saving to the gallery can fail if the user didn't
|
|
205
|
+
* grant the required permissions.
|
|
206
|
+
* On Web there is no gallery, so always returns false.
|
|
207
|
+
*
|
|
208
|
+
* @since 1.1.0
|
|
209
|
+
*/
|
|
210
|
+
saved: boolean;
|
|
211
|
+
}
|
|
212
|
+
export interface GalleryPhotos {
|
|
213
|
+
/**
|
|
214
|
+
* Array of all the picked photos.
|
|
215
|
+
*
|
|
216
|
+
* @since 1.2.0
|
|
217
|
+
*/
|
|
218
|
+
photos: GalleryPhoto[];
|
|
219
|
+
}
|
|
220
|
+
export interface GalleryPhoto {
|
|
221
|
+
/**
|
|
222
|
+
* Full, platform-specific file URL that can be read later using the Filsystem API.
|
|
223
|
+
*
|
|
224
|
+
* @since 1.2.0
|
|
225
|
+
*/
|
|
226
|
+
path?: string;
|
|
227
|
+
/**
|
|
228
|
+
* webPath returns a path that can be used to set the src attribute of an image for efficient
|
|
229
|
+
* loading and rendering.
|
|
230
|
+
*
|
|
231
|
+
* @since 1.2.0
|
|
232
|
+
*/
|
|
233
|
+
webPath: string;
|
|
234
|
+
/**
|
|
235
|
+
* Exif data, if any, retrieved from the image
|
|
236
|
+
*
|
|
237
|
+
* @since 1.2.0
|
|
238
|
+
*/
|
|
239
|
+
exif?: any;
|
|
240
|
+
/**
|
|
241
|
+
* The format of the image, ex: jpeg, png, gif.
|
|
242
|
+
*
|
|
243
|
+
* iOS and Android only support jpeg.
|
|
244
|
+
* Web supports jpeg, png and gif.
|
|
245
|
+
*
|
|
246
|
+
* @since 1.2.0
|
|
247
|
+
*/
|
|
248
|
+
format: string;
|
|
249
|
+
}
|
|
250
|
+
export interface GalleryImageOptions {
|
|
251
|
+
/**
|
|
252
|
+
* The quality of image to return as JPEG, from 0-100
|
|
253
|
+
*
|
|
254
|
+
* @since 1.2.0
|
|
255
|
+
*/
|
|
256
|
+
quality?: number;
|
|
257
|
+
/**
|
|
258
|
+
* The width of the saved image
|
|
259
|
+
*
|
|
260
|
+
* @since 1.2.0
|
|
261
|
+
*/
|
|
262
|
+
width?: number;
|
|
263
|
+
/**
|
|
264
|
+
* The height of the saved image
|
|
265
|
+
*
|
|
266
|
+
* @since 1.2.0
|
|
267
|
+
*/
|
|
268
|
+
height?: number;
|
|
269
|
+
/**
|
|
270
|
+
* Whether to automatically rotate the image "up" to correct for orientation
|
|
271
|
+
* in portrait mode
|
|
272
|
+
* @default: true
|
|
273
|
+
*
|
|
274
|
+
* @since 1.2.0
|
|
275
|
+
*/
|
|
276
|
+
correctOrientation?: boolean;
|
|
277
|
+
/**
|
|
278
|
+
* iOS only: The presentation style of the Camera.
|
|
279
|
+
* @default: 'fullscreen'
|
|
280
|
+
*
|
|
281
|
+
* @since 1.2.0
|
|
282
|
+
*/
|
|
283
|
+
presentationStyle?: 'fullscreen' | 'popover';
|
|
284
|
+
/**
|
|
285
|
+
* iOS only: Maximum number of pictures the user will be able to choose.
|
|
286
|
+
* @default 0 (unlimited)
|
|
287
|
+
*
|
|
288
|
+
* @since 1.2.0
|
|
289
|
+
*/
|
|
290
|
+
limit?: number;
|
|
194
291
|
}
|
|
195
292
|
export declare enum CameraSource {
|
|
293
|
+
/**
|
|
294
|
+
* Prompts the user to select either the photo album or take a photo.
|
|
295
|
+
*/
|
|
196
296
|
Prompt = "PROMPT",
|
|
297
|
+
/**
|
|
298
|
+
* Take a new photo using the camera.
|
|
299
|
+
*/
|
|
197
300
|
Camera = "CAMERA",
|
|
301
|
+
/**
|
|
302
|
+
* Pick an existing photo fron the gallery or photo album.
|
|
303
|
+
*/
|
|
198
304
|
Photos = "PHOTOS"
|
|
199
305
|
}
|
|
200
306
|
export declare enum CameraDirection {
|
package/dist/esm/definitions.js
CHANGED
|
@@ -1,7 +1,16 @@
|
|
|
1
1
|
export var CameraSource;
|
|
2
2
|
(function (CameraSource) {
|
|
3
|
+
/**
|
|
4
|
+
* Prompts the user to select either the photo album or take a photo.
|
|
5
|
+
*/
|
|
3
6
|
CameraSource["Prompt"] = "PROMPT";
|
|
7
|
+
/**
|
|
8
|
+
* Take a new photo using the camera.
|
|
9
|
+
*/
|
|
4
10
|
CameraSource["Camera"] = "CAMERA";
|
|
11
|
+
/**
|
|
12
|
+
* Pick an existing photo fron the gallery or photo album.
|
|
13
|
+
*/
|
|
5
14
|
CameraSource["Photos"] = "PHOTOS";
|
|
6
15
|
})(CameraSource || (CameraSource = {}));
|
|
7
16
|
export var CameraDirection;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/definitions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/definitions.ts"],"names":[],"mappings":"AA0TA,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"}
|
package/dist/esm/web.d.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { WebPlugin } from '@capacitor/core';
|
|
2
|
-
import type { CameraPlugin, ImageOptions, PermissionStatus, Photo } from './definitions';
|
|
2
|
+
import type { CameraPlugin, GalleryImageOptions, GalleryPhotos, ImageOptions, PermissionStatus, Photo } from './definitions';
|
|
3
3
|
export declare class CameraWeb extends WebPlugin implements CameraPlugin {
|
|
4
4
|
getPhoto(options: ImageOptions): Promise<Photo>;
|
|
5
|
+
pickImages(_options: GalleryImageOptions): Promise<GalleryPhotos>;
|
|
5
6
|
private cameraExperience;
|
|
6
7
|
private fileInputExperience;
|
|
8
|
+
private multipleFileInputExperience;
|
|
7
9
|
private _getCameraPhoto;
|
|
8
10
|
checkPermissions(): Promise<PermissionStatus>;
|
|
9
11
|
requestPermissions(): Promise<PermissionStatus>;
|
package/dist/esm/web.js
CHANGED
|
@@ -34,6 +34,12 @@ export class CameraWeb extends WebPlugin {
|
|
|
34
34
|
}
|
|
35
35
|
});
|
|
36
36
|
}
|
|
37
|
+
async pickImages(_options) {
|
|
38
|
+
// eslint-disable-next-line no-async-promise-executor
|
|
39
|
+
return new Promise(async (resolve) => {
|
|
40
|
+
this.multipleFileInputExperience(resolve);
|
|
41
|
+
});
|
|
42
|
+
}
|
|
37
43
|
async cameraExperience(options, resolve, reject) {
|
|
38
44
|
if (customElements.get('pwa-camera-modal')) {
|
|
39
45
|
const cameraModal = document.createElement('pwa-camera-modal');
|
|
@@ -130,6 +136,44 @@ export class CameraWeb extends WebPlugin {
|
|
|
130
136
|
}
|
|
131
137
|
input.click();
|
|
132
138
|
}
|
|
139
|
+
multipleFileInputExperience(resolve) {
|
|
140
|
+
let input = document.querySelector('#_capacitor-camera-input-multiple');
|
|
141
|
+
const cleanup = () => {
|
|
142
|
+
var _a;
|
|
143
|
+
(_a = input.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(input);
|
|
144
|
+
};
|
|
145
|
+
if (!input) {
|
|
146
|
+
input = document.createElement('input');
|
|
147
|
+
input.id = '_capacitor-camera-input-multiple';
|
|
148
|
+
input.type = 'file';
|
|
149
|
+
input.hidden = true;
|
|
150
|
+
input.multiple = true;
|
|
151
|
+
document.body.appendChild(input);
|
|
152
|
+
input.addEventListener('change', (_e) => {
|
|
153
|
+
const photos = [];
|
|
154
|
+
// eslint-disable-next-line @typescript-eslint/prefer-for-of
|
|
155
|
+
for (let i = 0; i < input.files.length; i++) {
|
|
156
|
+
const file = input.files[i];
|
|
157
|
+
let format = 'jpeg';
|
|
158
|
+
if (file.type === 'image/png') {
|
|
159
|
+
format = 'png';
|
|
160
|
+
}
|
|
161
|
+
else if (file.type === 'image/gif') {
|
|
162
|
+
format = 'gif';
|
|
163
|
+
}
|
|
164
|
+
photos.push({
|
|
165
|
+
webPath: URL.createObjectURL(file),
|
|
166
|
+
format: format,
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
resolve({ photos });
|
|
170
|
+
cleanup();
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
input.accept = 'image/*';
|
|
174
|
+
input.capture = true;
|
|
175
|
+
input.click();
|
|
176
|
+
}
|
|
133
177
|
_getCameraPhoto(photo, options) {
|
|
134
178
|
return new Promise((resolve, reject) => {
|
|
135
179
|
const reader = new FileReader();
|
|
@@ -138,6 +182,7 @@ export class CameraWeb extends WebPlugin {
|
|
|
138
182
|
resolve({
|
|
139
183
|
webPath: URL.createObjectURL(photo),
|
|
140
184
|
format: format,
|
|
185
|
+
saved: false,
|
|
141
186
|
});
|
|
142
187
|
}
|
|
143
188
|
else {
|
|
@@ -148,12 +193,14 @@ export class CameraWeb extends WebPlugin {
|
|
|
148
193
|
resolve({
|
|
149
194
|
dataUrl: r,
|
|
150
195
|
format: format,
|
|
196
|
+
saved: false,
|
|
151
197
|
});
|
|
152
198
|
}
|
|
153
199
|
else {
|
|
154
200
|
resolve({
|
|
155
201
|
base64String: r.split(',')[1],
|
|
156
202
|
format: format,
|
|
203
|
+
saved: false,
|
|
157
204
|
});
|
|
158
205
|
}
|
|
159
206
|
};
|
package/dist/esm/web.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAEhE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAEhE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAU9D,MAAM,OAAO,SAAU,SAAQ,SAAS;IACtC,KAAK,CAAC,QAAQ,CAAC,OAAqB;QAClC,qDAAqD;QACrD,OAAO,IAAI,OAAO,CAAQ,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;YAClD,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,EAAE;gBACjE,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;aAC5C;iBAAM,IAAI,OAAO,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,EAAE;gBACjD,IAAI,WAAW,GAAQ,QAAQ,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;gBAClE,IAAI,CAAC,WAAW,EAAE;oBAChB,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;oBACzD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;iBACxC;gBACD,WAAW,CAAC,MAAM,GAAG,OAAO,CAAC,iBAAiB,IAAI,OAAO,CAAC;gBAC1D,WAAW,CAAC,UAAU,GAAG,KAAK,CAAC;gBAC/B,WAAW,CAAC,OAAO,GAAG;oBACpB,EAAE,KAAK,EAAE,OAAO,CAAC,gBAAgB,IAAI,aAAa,EAAE;oBACpD,EAAE,KAAK,EAAE,OAAO,CAAC,kBAAkB,IAAI,cAAc,EAAE;iBACxD,CAAC;gBACF,WAAW,CAAC,gBAAgB,CAAC,aAAa,EAAE,KAAK,EAAE,CAAM,EAAE,EAAE;oBAC3D,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC;oBAC3B,IAAI,SAAS,KAAK,CAAC,EAAE;wBACnB,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;qBAC5C;yBAAM;wBACL,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;qBACjD;gBACH,CAAC,CAAC,CAAC;aACJ;iBAAM;gBACL,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;aACjD;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,QAA6B;QAC5C,qDAAqD;QACrD,OAAO,IAAI,OAAO,CAAgB,KAAK,EAAC,OAAO,EAAC,EAAE;YAChD,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAC5B,OAAqB,EACrB,OAAY,EACZ,MAAW;QAEX,IAAI,cAAc,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE;YAC1C,MAAM,WAAW,GAAQ,QAAQ,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;YACpE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;YACvC,IAAI;gBACF,MAAM,WAAW,CAAC,gBAAgB,EAAE,CAAC;gBACrC,WAAW,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,EAAE,CAAM,EAAE,EAAE;oBACvD,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;oBAEvB,IAAI,KAAK,KAAK,IAAI,EAAE;wBAClB,MAAM,CAAC,IAAI,kBAAkB,CAAC,2BAA2B,CAAC,CAAC,CAAC;qBAC7D;yBAAM,IAAI,KAAK,YAAY,KAAK,EAAE;wBACjC,MAAM,CAAC,KAAK,CAAC,CAAC;qBACf;yBAAM;wBACL,OAAO,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;qBACrD;oBAED,WAAW,CAAC,OAAO,EAAE,CAAC;oBACtB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;gBACzC,CAAC,CAAC,CAAC;gBAEH,WAAW,CAAC,OAAO,EAAE,CAAC;aACvB;YAAC,OAAO,CAAC,EAAE;gBACV,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;aAC5C;SACF;aAAM;YACL,OAAO,CAAC,KAAK,CACX,yGAAyG,CAC1G,CAAC;YACF,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;SAC5C;IACH,CAAC;IAEO,mBAAmB,CAAC,OAAqB,EAAE,OAAY;QAC7D,IAAI,KAAK,GAAG,QAAQ,CAAC,aAAa,CAChC,0BAA0B,CACP,CAAC;QAEtB,MAAM,OAAO,GAAG,GAAG,EAAE;;YACnB,MAAA,KAAK,CAAC,UAAU,0CAAE,WAAW,CAAC,KAAK,EAAE;QACvC,CAAC,CAAC;QAEF,IAAI,CAAC,KAAK,EAAE;YACV,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAqB,CAAC;YAC5D,KAAK,CAAC,EAAE,GAAG,yBAAyB,CAAC;YACrC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC;YACpB,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;YACpB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACjC,KAAK,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,EAAO,EAAE,EAAE;gBAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAM,CAAC,CAAC,CAAC,CAAC;gBAC7B,IAAI,MAAM,GAAG,MAAM,CAAC;gBAEpB,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;oBAC7B,MAAM,GAAG,KAAK,CAAC;iBAChB;qBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;oBACpC,MAAM,GAAG,KAAK,CAAC;iBAChB;gBAED,IACE,OAAO,CAAC,UAAU,KAAK,SAAS;oBAChC,OAAO,CAAC,UAAU,KAAK,QAAQ,EAC/B;oBACA,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;oBAEhC,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE;wBACnC,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE;4BACpC,OAAO,CAAC;gCACN,OAAO,EAAE,MAAM,CAAC,MAAM;gCACtB,MAAM;6BACE,CAAC,CAAC;yBACb;6BAAM,IAAI,OAAO,CAAC,UAAU,KAAK,QAAQ,EAAE;4BAC1C,MAAM,GAAG,GAAI,MAAM,CAAC,MAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;4BACpD,OAAO,CAAC;gCACN,YAAY,EAAE,GAAG;gCACjB,MAAM;6BACE,CAAC,CAAC;yBACb;wBAED,OAAO,EAAE,CAAC;oBACZ,CAAC,CAAC,CAAC;oBAEH,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;iBAC5B;qBAAM;oBACL,OAAO,CAAC;wBACN,OAAO,EAAE,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC;wBAClC,MAAM,EAAE,MAAM;qBACf,CAAC,CAAC;oBACH,OAAO,EAAE,CAAC;iBACX;YACH,CAAC,CAAC,CAAC;SACJ;QAED,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,KAAa,CAAC,OAAO,GAAG,IAAI,CAAC;QAE9B,IACE,OAAO,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM;YACtC,OAAO,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,EACtC;YACA,KAAK,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;SAClC;aAAM,IAAI,OAAO,CAAC,SAAS,KAAK,eAAe,CAAC,KAAK,EAAE;YACrD,KAAa,CAAC,OAAO,GAAG,MAAM,CAAC;SACjC;aAAM,IAAI,OAAO,CAAC,SAAS,KAAK,eAAe,CAAC,IAAI,EAAE;YACpD,KAAa,CAAC,OAAO,GAAG,aAAa,CAAC;SACxC;QAED,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC;IAEO,2BAA2B,CAAC,OAAY;QAC9C,IAAI,KAAK,GAAG,QAAQ,CAAC,aAAa,CAChC,mCAAmC,CAChB,CAAC;QAEtB,MAAM,OAAO,GAAG,GAAG,EAAE;;YACnB,MAAA,KAAK,CAAC,UAAU,0CAAE,WAAW,CAAC,KAAK,EAAE;QACvC,CAAC,CAAC;QAEF,IAAI,CAAC,KAAK,EAAE;YACV,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAqB,CAAC;YAC5D,KAAK,CAAC,EAAE,GAAG,kCAAkC,CAAC;YAC9C,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC;YACpB,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;YACpB,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;YACtB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACjC,KAAK,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,EAAO,EAAE,EAAE;gBAC3C,MAAM,MAAM,GAAG,EAAE,CAAC;gBAClB,4DAA4D;gBAC5D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,KAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC5C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAM,CAAC,CAAC,CAAC,CAAC;oBAC7B,IAAI,MAAM,GAAG,MAAM,CAAC;oBAEpB,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;wBAC7B,MAAM,GAAG,KAAK,CAAC;qBAChB;yBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;wBACpC,MAAM,GAAG,KAAK,CAAC;qBAChB;oBACD,MAAM,CAAC,IAAI,CAAC;wBACV,OAAO,EAAE,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC;wBAClC,MAAM,EAAE,MAAM;qBACf,CAAC,CAAC;iBACJ;gBACD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;gBACpB,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;SACJ;QAED,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,KAAa,CAAC,OAAO,GAAG,IAAI,CAAC;QAE9B,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC;IAEO,eAAe,CAAC,KAAW,EAAE,OAAqB;QACxD,OAAO,IAAI,OAAO,CAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC5C,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACxC,IAAI,OAAO,CAAC,UAAU,KAAK,KAAK,EAAE;gBAChC,OAAO,CAAC;oBACN,OAAO,EAAE,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC;oBACnC,MAAM,EAAE,MAAM;oBACd,KAAK,EAAE,KAAK;iBACb,CAAC,CAAC;aACJ;iBAAM;gBACL,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBAC5B,MAAM,CAAC,SAAS,GAAG,GAAG,EAAE;oBACtB,MAAM,CAAC,GAAG,MAAM,CAAC,MAAgB,CAAC;oBAClC,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE;wBACpC,OAAO,CAAC;4BACN,OAAO,EAAE,CAAC;4BACV,MAAM,EAAE,MAAM;4BACd,KAAK,EAAE,KAAK;yBACb,CAAC,CAAC;qBACJ;yBAAM;wBACL,OAAO,CAAC;4BACN,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;4BAC7B,MAAM,EAAE,MAAM;4BACd,KAAK,EAAE,KAAK;yBACb,CAAC,CAAC;qBACJ;gBACH,CAAC,CAAC;gBACF,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE;oBACnB,MAAM,CAAC,CAAC,CAAC,CAAC;gBACZ,CAAC,CAAC;aACH;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,IAAI,OAAO,SAAS,KAAK,WAAW,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE;YAC9D,MAAM,IAAI,CAAC,WAAW,CAAC,+CAA+C,CAAC,CAAC;SACzE;QAED,IAAI;YACF,qEAAqE;YACrE,uFAAuF;YACvF,sEAAsE;YACtE,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC;gBAC1D,IAAI,EAAE,QAAQ;aACf,CAAC,CAAC;YACH,OAAO;gBACL,MAAM,EAAE,UAAU,CAAC,KAAK;gBACxB,MAAM,EAAE,SAAS;aAClB,CAAC;SACH;QAAC,WAAM;YACN,MAAM,IAAI,CAAC,WAAW,CACpB,sDAAsD,CACvD,CAAC;SACH;IACH,CAAC;IAED,KAAK,CAAC,kBAAkB;QACtB,MAAM,IAAI,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;IACtD,CAAC;CACF;AAED,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;AAE/B,OAAO,EAAE,MAAM,EAAE,CAAC"}
|
package/dist/plugin.cjs.js
CHANGED
|
@@ -6,8 +6,17 @@ var core = require('@capacitor/core');
|
|
|
6
6
|
|
|
7
7
|
exports.CameraSource = void 0;
|
|
8
8
|
(function (CameraSource) {
|
|
9
|
+
/**
|
|
10
|
+
* Prompts the user to select either the photo album or take a photo.
|
|
11
|
+
*/
|
|
9
12
|
CameraSource["Prompt"] = "PROMPT";
|
|
13
|
+
/**
|
|
14
|
+
* Take a new photo using the camera.
|
|
15
|
+
*/
|
|
10
16
|
CameraSource["Camera"] = "CAMERA";
|
|
17
|
+
/**
|
|
18
|
+
* Pick an existing photo fron the gallery or photo album.
|
|
19
|
+
*/
|
|
11
20
|
CameraSource["Photos"] = "PHOTOS";
|
|
12
21
|
})(exports.CameraSource || (exports.CameraSource = {}));
|
|
13
22
|
exports.CameraDirection = void 0;
|
|
@@ -60,6 +69,12 @@ class CameraWeb extends core.WebPlugin {
|
|
|
60
69
|
}
|
|
61
70
|
});
|
|
62
71
|
}
|
|
72
|
+
async pickImages(_options) {
|
|
73
|
+
// eslint-disable-next-line no-async-promise-executor
|
|
74
|
+
return new Promise(async (resolve) => {
|
|
75
|
+
this.multipleFileInputExperience(resolve);
|
|
76
|
+
});
|
|
77
|
+
}
|
|
63
78
|
async cameraExperience(options, resolve, reject) {
|
|
64
79
|
if (customElements.get('pwa-camera-modal')) {
|
|
65
80
|
const cameraModal = document.createElement('pwa-camera-modal');
|
|
@@ -156,6 +171,44 @@ class CameraWeb extends core.WebPlugin {
|
|
|
156
171
|
}
|
|
157
172
|
input.click();
|
|
158
173
|
}
|
|
174
|
+
multipleFileInputExperience(resolve) {
|
|
175
|
+
let input = document.querySelector('#_capacitor-camera-input-multiple');
|
|
176
|
+
const cleanup = () => {
|
|
177
|
+
var _a;
|
|
178
|
+
(_a = input.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(input);
|
|
179
|
+
};
|
|
180
|
+
if (!input) {
|
|
181
|
+
input = document.createElement('input');
|
|
182
|
+
input.id = '_capacitor-camera-input-multiple';
|
|
183
|
+
input.type = 'file';
|
|
184
|
+
input.hidden = true;
|
|
185
|
+
input.multiple = true;
|
|
186
|
+
document.body.appendChild(input);
|
|
187
|
+
input.addEventListener('change', (_e) => {
|
|
188
|
+
const photos = [];
|
|
189
|
+
// eslint-disable-next-line @typescript-eslint/prefer-for-of
|
|
190
|
+
for (let i = 0; i < input.files.length; i++) {
|
|
191
|
+
const file = input.files[i];
|
|
192
|
+
let format = 'jpeg';
|
|
193
|
+
if (file.type === 'image/png') {
|
|
194
|
+
format = 'png';
|
|
195
|
+
}
|
|
196
|
+
else if (file.type === 'image/gif') {
|
|
197
|
+
format = 'gif';
|
|
198
|
+
}
|
|
199
|
+
photos.push({
|
|
200
|
+
webPath: URL.createObjectURL(file),
|
|
201
|
+
format: format,
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
resolve({ photos });
|
|
205
|
+
cleanup();
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
input.accept = 'image/*';
|
|
209
|
+
input.capture = true;
|
|
210
|
+
input.click();
|
|
211
|
+
}
|
|
159
212
|
_getCameraPhoto(photo, options) {
|
|
160
213
|
return new Promise((resolve, reject) => {
|
|
161
214
|
const reader = new FileReader();
|
|
@@ -164,6 +217,7 @@ class CameraWeb extends core.WebPlugin {
|
|
|
164
217
|
resolve({
|
|
165
218
|
webPath: URL.createObjectURL(photo),
|
|
166
219
|
format: format,
|
|
220
|
+
saved: false,
|
|
167
221
|
});
|
|
168
222
|
}
|
|
169
223
|
else {
|
|
@@ -174,12 +228,14 @@ class CameraWeb extends core.WebPlugin {
|
|
|
174
228
|
resolve({
|
|
175
229
|
dataUrl: r,
|
|
176
230
|
format: format,
|
|
231
|
+
saved: false,
|
|
177
232
|
});
|
|
178
233
|
}
|
|
179
234
|
else {
|
|
180
235
|
resolve({
|
|
181
236
|
base64String: r.split(',')[1],
|
|
182
237
|
format: format,
|
|
238
|
+
saved: false,
|
|
183
239
|
});
|
|
184
240
|
}
|
|
185
241
|
};
|
package/dist/plugin.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.cjs.js","sources":["esm/definitions.js","esm/index.js","esm/web.js"],"sourcesContent":["export var CameraSource;\n(function (CameraSource) {\n CameraSource[\"Prompt\"] = \"PROMPT\";\n CameraSource[\"Camera\"] = \"CAMERA\";\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 { registerPlugin } from '@capacitor/core';\nconst Camera = registerPlugin('Camera', {\n web: () => import('./web').then(m => new m.CameraWeb()),\n});\nexport * from './definitions';\nexport { Camera };\n//# sourceMappingURL=index.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);\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);\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 cameraExperience(options, resolve, reject) {\n if (customElements.get('pwa-camera-modal')) {\n const cameraModal = document.createElement('pwa-camera-modal');\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);\n }\n }\n else {\n console.error(`Unable to load PWA Element 'pwa-camera-modal'. See the docs: https://capacitorjs.com/docs/pwa-elements.`);\n this.fileInputExperience(options, resolve);\n }\n }\n fileInputExperience(options, resolve) {\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 }\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 _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 });\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 });\n }\n else {\n resolve({\n base64String: r.split(',')[1],\n format: format,\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}\nconst Camera = new CameraWeb();\nexport { Camera };\n//# sourceMappingURL=web.js.map"],"names":["CameraSource","CameraDirection","CameraResultType","Camera","registerPlugin","WebPlugin","CapacitorException"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plugin.cjs.js","sources":["esm/definitions.js","esm/index.js","esm/web.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 fron 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 { registerPlugin } from '@capacitor/core';\nconst Camera = registerPlugin('Camera', {\n web: () => import('./web').then(m => new m.CameraWeb()),\n});\nexport * from './definitions';\nexport { Camera };\n//# sourceMappingURL=index.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);\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);\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) => {\n this.multipleFileInputExperience(resolve);\n });\n }\n async cameraExperience(options, resolve, reject) {\n if (customElements.get('pwa-camera-modal')) {\n const cameraModal = document.createElement('pwa-camera-modal');\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);\n }\n }\n else {\n console.error(`Unable to load PWA Element 'pwa-camera-modal'. See the docs: https://capacitorjs.com/docs/pwa-elements.`);\n this.fileInputExperience(options, resolve);\n }\n }\n fileInputExperience(options, resolve) {\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 }\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) {\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 }\n input.accept = 'image/*';\n input.capture = true;\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}\nconst Camera = new CameraWeb();\nexport { Camera };\n//# sourceMappingURL=web.js.map"],"names":["CameraSource","CameraDirection","CameraResultType","Camera","registerPlugin","WebPlugin","CapacitorException"],"mappings":"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"}
|
package/dist/plugin.js
CHANGED
|
@@ -3,8 +3,17 @@ var capacitorCamera = (function (exports, core) {
|
|
|
3
3
|
|
|
4
4
|
exports.CameraSource = void 0;
|
|
5
5
|
(function (CameraSource) {
|
|
6
|
+
/**
|
|
7
|
+
* Prompts the user to select either the photo album or take a photo.
|
|
8
|
+
*/
|
|
6
9
|
CameraSource["Prompt"] = "PROMPT";
|
|
10
|
+
/**
|
|
11
|
+
* Take a new photo using the camera.
|
|
12
|
+
*/
|
|
7
13
|
CameraSource["Camera"] = "CAMERA";
|
|
14
|
+
/**
|
|
15
|
+
* Pick an existing photo fron the gallery or photo album.
|
|
16
|
+
*/
|
|
8
17
|
CameraSource["Photos"] = "PHOTOS";
|
|
9
18
|
})(exports.CameraSource || (exports.CameraSource = {}));
|
|
10
19
|
exports.CameraDirection = void 0;
|
|
@@ -57,6 +66,12 @@ var capacitorCamera = (function (exports, core) {
|
|
|
57
66
|
}
|
|
58
67
|
});
|
|
59
68
|
}
|
|
69
|
+
async pickImages(_options) {
|
|
70
|
+
// eslint-disable-next-line no-async-promise-executor
|
|
71
|
+
return new Promise(async (resolve) => {
|
|
72
|
+
this.multipleFileInputExperience(resolve);
|
|
73
|
+
});
|
|
74
|
+
}
|
|
60
75
|
async cameraExperience(options, resolve, reject) {
|
|
61
76
|
if (customElements.get('pwa-camera-modal')) {
|
|
62
77
|
const cameraModal = document.createElement('pwa-camera-modal');
|
|
@@ -153,6 +168,44 @@ var capacitorCamera = (function (exports, core) {
|
|
|
153
168
|
}
|
|
154
169
|
input.click();
|
|
155
170
|
}
|
|
171
|
+
multipleFileInputExperience(resolve) {
|
|
172
|
+
let input = document.querySelector('#_capacitor-camera-input-multiple');
|
|
173
|
+
const cleanup = () => {
|
|
174
|
+
var _a;
|
|
175
|
+
(_a = input.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(input);
|
|
176
|
+
};
|
|
177
|
+
if (!input) {
|
|
178
|
+
input = document.createElement('input');
|
|
179
|
+
input.id = '_capacitor-camera-input-multiple';
|
|
180
|
+
input.type = 'file';
|
|
181
|
+
input.hidden = true;
|
|
182
|
+
input.multiple = true;
|
|
183
|
+
document.body.appendChild(input);
|
|
184
|
+
input.addEventListener('change', (_e) => {
|
|
185
|
+
const photos = [];
|
|
186
|
+
// eslint-disable-next-line @typescript-eslint/prefer-for-of
|
|
187
|
+
for (let i = 0; i < input.files.length; i++) {
|
|
188
|
+
const file = input.files[i];
|
|
189
|
+
let format = 'jpeg';
|
|
190
|
+
if (file.type === 'image/png') {
|
|
191
|
+
format = 'png';
|
|
192
|
+
}
|
|
193
|
+
else if (file.type === 'image/gif') {
|
|
194
|
+
format = 'gif';
|
|
195
|
+
}
|
|
196
|
+
photos.push({
|
|
197
|
+
webPath: URL.createObjectURL(file),
|
|
198
|
+
format: format,
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
resolve({ photos });
|
|
202
|
+
cleanup();
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
input.accept = 'image/*';
|
|
206
|
+
input.capture = true;
|
|
207
|
+
input.click();
|
|
208
|
+
}
|
|
156
209
|
_getCameraPhoto(photo, options) {
|
|
157
210
|
return new Promise((resolve, reject) => {
|
|
158
211
|
const reader = new FileReader();
|
|
@@ -161,6 +214,7 @@ var capacitorCamera = (function (exports, core) {
|
|
|
161
214
|
resolve({
|
|
162
215
|
webPath: URL.createObjectURL(photo),
|
|
163
216
|
format: format,
|
|
217
|
+
saved: false,
|
|
164
218
|
});
|
|
165
219
|
}
|
|
166
220
|
else {
|
|
@@ -171,12 +225,14 @@ var capacitorCamera = (function (exports, core) {
|
|
|
171
225
|
resolve({
|
|
172
226
|
dataUrl: r,
|
|
173
227
|
format: format,
|
|
228
|
+
saved: false,
|
|
174
229
|
});
|
|
175
230
|
}
|
|
176
231
|
else {
|
|
177
232
|
resolve({
|
|
178
233
|
base64String: r.split(',')[1],
|
|
179
234
|
format: format,
|
|
235
|
+
saved: false,
|
|
180
236
|
});
|
|
181
237
|
}
|
|
182
238
|
};
|
|
@@ -224,5 +280,5 @@ var capacitorCamera = (function (exports, core) {
|
|
|
224
280
|
|
|
225
281
|
return exports;
|
|
226
282
|
|
|
227
|
-
}({}, capacitorExports)
|
|
283
|
+
})({}, capacitorExports);
|
|
228
284
|
//# sourceMappingURL=plugin.js.map
|