ablok-photobooth 0.0.1

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.
@@ -0,0 +1,343 @@
1
+ declare const _default: import("vue").DefineComponent<{
2
+ modelValue: {
3
+ type: StringConstructor;
4
+ default: string;
5
+ };
6
+ enableDragDrop: {
7
+ type: BooleanConstructor;
8
+ default: boolean;
9
+ };
10
+ enableLocalFileUpload: {
11
+ type: BooleanConstructor;
12
+ default: boolean;
13
+ };
14
+ enableCamera: {
15
+ type: BooleanConstructor;
16
+ default: boolean;
17
+ };
18
+ enableSwitchCamera: {
19
+ type: BooleanConstructor;
20
+ default: boolean;
21
+ };
22
+ defaultRearCamera: {
23
+ type: BooleanConstructor;
24
+ default: boolean;
25
+ };
26
+ enableFileList: {
27
+ type: BooleanConstructor;
28
+ default: boolean;
29
+ };
30
+ enableTogglePlay: {
31
+ type: BooleanConstructor;
32
+ default: boolean;
33
+ };
34
+ enableButtonIcons: {
35
+ type: BooleanConstructor;
36
+ default: boolean;
37
+ };
38
+ enableButtonCaptions: {
39
+ type: BooleanConstructor;
40
+ default: boolean;
41
+ };
42
+ enableLegacyInput: {
43
+ type: BooleanConstructor;
44
+ default: boolean;
45
+ };
46
+ enableInstantUpload: {
47
+ type: BooleanConstructor;
48
+ default: boolean;
49
+ };
50
+ enableAutoSave: {
51
+ type: BooleanConstructor;
52
+ default: boolean;
53
+ };
54
+ enableRemoveBackground: {
55
+ type: BooleanConstructor;
56
+ default: boolean;
57
+ };
58
+ enableMirrorCamera: {
59
+ type: BooleanConstructor;
60
+ default: boolean;
61
+ };
62
+ enableGuide: {
63
+ type: BooleanConstructor;
64
+ default: boolean;
65
+ };
66
+ enableTitle: {
67
+ type: BooleanConstructor;
68
+ default: boolean;
69
+ };
70
+ enableReview: {
71
+ type: BooleanConstructor;
72
+ default: boolean;
73
+ };
74
+ downScaleImages: {
75
+ type: BooleanConstructor;
76
+ default: boolean;
77
+ };
78
+ guideSrc: {
79
+ type: StringConstructor;
80
+ default: string;
81
+ };
82
+ acceptButton: {
83
+ type: BooleanConstructor;
84
+ default: string;
85
+ };
86
+ captureCountdown: {
87
+ type: NumberConstructor;
88
+ default: number;
89
+ };
90
+ backgroundColor: {
91
+ type: StringConstructor;
92
+ default: string;
93
+ };
94
+ color: {
95
+ type: StringConstructor;
96
+ default: string;
97
+ };
98
+ i18n: {};
99
+ messages: {
100
+ default: () => {
101
+ title: string;
102
+ launchCamera: string;
103
+ localFileTitle: string;
104
+ dropTarget: string;
105
+ coverSelectFileCta: string;
106
+ captureTitle: string;
107
+ reviewTitle: string;
108
+ dragDrop: string;
109
+ selectFile: string;
110
+ camera: string;
111
+ save: string;
112
+ fileTooLarge: string;
113
+ cancel: string;
114
+ shoot: string;
115
+ accept: string;
116
+ };
117
+ };
118
+ apiEndpoint: {
119
+ type: StringConstructor;
120
+ default: string;
121
+ };
122
+ apiEndpointSuffix: {
123
+ type: StringConstructor;
124
+ default: string;
125
+ };
126
+ required: {
127
+ type: BooleanConstructor;
128
+ default: boolean;
129
+ };
130
+ variant: {
131
+ type: StringConstructor;
132
+ default: string;
133
+ };
134
+ maxFileSize: {
135
+ type: NumberConstructor;
136
+ default: number;
137
+ };
138
+ fixedResolution: {
139
+ type: NumberConstructor;
140
+ default: number;
141
+ };
142
+ ratio: {
143
+ type: StringConstructor;
144
+ default: string;
145
+ };
146
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
147
+ modelValue: {
148
+ type: StringConstructor;
149
+ default: string;
150
+ };
151
+ enableDragDrop: {
152
+ type: BooleanConstructor;
153
+ default: boolean;
154
+ };
155
+ enableLocalFileUpload: {
156
+ type: BooleanConstructor;
157
+ default: boolean;
158
+ };
159
+ enableCamera: {
160
+ type: BooleanConstructor;
161
+ default: boolean;
162
+ };
163
+ enableSwitchCamera: {
164
+ type: BooleanConstructor;
165
+ default: boolean;
166
+ };
167
+ defaultRearCamera: {
168
+ type: BooleanConstructor;
169
+ default: boolean;
170
+ };
171
+ enableFileList: {
172
+ type: BooleanConstructor;
173
+ default: boolean;
174
+ };
175
+ enableTogglePlay: {
176
+ type: BooleanConstructor;
177
+ default: boolean;
178
+ };
179
+ enableButtonIcons: {
180
+ type: BooleanConstructor;
181
+ default: boolean;
182
+ };
183
+ enableButtonCaptions: {
184
+ type: BooleanConstructor;
185
+ default: boolean;
186
+ };
187
+ enableLegacyInput: {
188
+ type: BooleanConstructor;
189
+ default: boolean;
190
+ };
191
+ enableInstantUpload: {
192
+ type: BooleanConstructor;
193
+ default: boolean;
194
+ };
195
+ enableAutoSave: {
196
+ type: BooleanConstructor;
197
+ default: boolean;
198
+ };
199
+ enableRemoveBackground: {
200
+ type: BooleanConstructor;
201
+ default: boolean;
202
+ };
203
+ enableMirrorCamera: {
204
+ type: BooleanConstructor;
205
+ default: boolean;
206
+ };
207
+ enableGuide: {
208
+ type: BooleanConstructor;
209
+ default: boolean;
210
+ };
211
+ enableTitle: {
212
+ type: BooleanConstructor;
213
+ default: boolean;
214
+ };
215
+ enableReview: {
216
+ type: BooleanConstructor;
217
+ default: boolean;
218
+ };
219
+ downScaleImages: {
220
+ type: BooleanConstructor;
221
+ default: boolean;
222
+ };
223
+ guideSrc: {
224
+ type: StringConstructor;
225
+ default: string;
226
+ };
227
+ acceptButton: {
228
+ type: BooleanConstructor;
229
+ default: string;
230
+ };
231
+ captureCountdown: {
232
+ type: NumberConstructor;
233
+ default: number;
234
+ };
235
+ backgroundColor: {
236
+ type: StringConstructor;
237
+ default: string;
238
+ };
239
+ color: {
240
+ type: StringConstructor;
241
+ default: string;
242
+ };
243
+ i18n: {};
244
+ messages: {
245
+ default: () => {
246
+ title: string;
247
+ launchCamera: string;
248
+ localFileTitle: string;
249
+ dropTarget: string;
250
+ coverSelectFileCta: string;
251
+ captureTitle: string;
252
+ reviewTitle: string;
253
+ dragDrop: string;
254
+ selectFile: string;
255
+ camera: string;
256
+ save: string;
257
+ fileTooLarge: string;
258
+ cancel: string;
259
+ shoot: string;
260
+ accept: string;
261
+ };
262
+ };
263
+ apiEndpoint: {
264
+ type: StringConstructor;
265
+ default: string;
266
+ };
267
+ apiEndpointSuffix: {
268
+ type: StringConstructor;
269
+ default: string;
270
+ };
271
+ required: {
272
+ type: BooleanConstructor;
273
+ default: boolean;
274
+ };
275
+ variant: {
276
+ type: StringConstructor;
277
+ default: string;
278
+ };
279
+ maxFileSize: {
280
+ type: NumberConstructor;
281
+ default: number;
282
+ };
283
+ fixedResolution: {
284
+ type: NumberConstructor;
285
+ default: number;
286
+ };
287
+ ratio: {
288
+ type: StringConstructor;
289
+ default: string;
290
+ };
291
+ }>> & {
292
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
293
+ }, {
294
+ required: boolean;
295
+ modelValue: string;
296
+ enableSwitchCamera: boolean;
297
+ defaultRearCamera: boolean;
298
+ enableMirrorCamera: boolean;
299
+ enableGuide: boolean;
300
+ guideSrc: string;
301
+ ratio: string;
302
+ color: string;
303
+ enableDragDrop: boolean;
304
+ enableLocalFileUpload: boolean;
305
+ enableCamera: boolean;
306
+ enableFileList: boolean;
307
+ enableTogglePlay: boolean;
308
+ enableButtonIcons: boolean;
309
+ enableButtonCaptions: boolean;
310
+ enableLegacyInput: boolean;
311
+ enableInstantUpload: boolean;
312
+ enableAutoSave: boolean;
313
+ enableRemoveBackground: boolean;
314
+ enableTitle: boolean;
315
+ enableReview: boolean;
316
+ downScaleImages: boolean;
317
+ acceptButton: boolean;
318
+ captureCountdown: number;
319
+ backgroundColor: string;
320
+ messages: {
321
+ title: string;
322
+ launchCamera: string;
323
+ localFileTitle: string;
324
+ dropTarget: string;
325
+ coverSelectFileCta: string;
326
+ captureTitle: string;
327
+ reviewTitle: string;
328
+ dragDrop: string;
329
+ selectFile: string;
330
+ camera: string;
331
+ save: string;
332
+ fileTooLarge: string;
333
+ cancel: string;
334
+ shoot: string;
335
+ accept: string;
336
+ };
337
+ apiEndpoint: string;
338
+ apiEndpointSuffix: string;
339
+ variant: string;
340
+ maxFileSize: number;
341
+ fixedResolution: number;
342
+ }>;
343
+ export default _default;
@@ -0,0 +1,87 @@
1
+ declare const _default: import("vue").DefineComponent<{
2
+ value: {
3
+ default: null;
4
+ };
5
+ config: {
6
+ type: ObjectConstructor;
7
+ default: null;
8
+ };
9
+ variant: {
10
+ type: StringConstructor;
11
+ default: string;
12
+ };
13
+ messages: {
14
+ type: ObjectConstructor;
15
+ default: {};
16
+ };
17
+ assets: {
18
+ type: {
19
+ (arrayLength: number): any[];
20
+ (...items: any[]): any[];
21
+ new (arrayLength: number): any[];
22
+ new (...items: any[]): any[];
23
+ isArray(arg: any): arg is any[];
24
+ readonly prototype: any[];
25
+ from<T>(arrayLike: ArrayLike<T>): T[];
26
+ from<T_1, U>(arrayLike: ArrayLike<T_1>, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[];
27
+ from<T_2>(iterable: Iterable<T_2> | ArrayLike<T_2>): T_2[];
28
+ from<T_3, U_1>(iterable: Iterable<T_3> | ArrayLike<T_3>, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[];
29
+ of<T_4>(...items: T_4[]): T_4[];
30
+ readonly [Symbol.species]: ArrayConstructor;
31
+ };
32
+ default: never[];
33
+ };
34
+ exportToSvg: {
35
+ type: BooleanConstructor;
36
+ default: boolean;
37
+ };
38
+ autoSelect: NumberConstructor;
39
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
40
+ value: {
41
+ default: null;
42
+ };
43
+ config: {
44
+ type: ObjectConstructor;
45
+ default: null;
46
+ };
47
+ variant: {
48
+ type: StringConstructor;
49
+ default: string;
50
+ };
51
+ messages: {
52
+ type: ObjectConstructor;
53
+ default: {};
54
+ };
55
+ assets: {
56
+ type: {
57
+ (arrayLength: number): any[];
58
+ (...items: any[]): any[];
59
+ new (arrayLength: number): any[];
60
+ new (...items: any[]): any[];
61
+ isArray(arg: any): arg is any[];
62
+ readonly prototype: any[];
63
+ from<T>(arrayLike: ArrayLike<T>): T[];
64
+ from<T_1, U>(arrayLike: ArrayLike<T_1>, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[];
65
+ from<T_2>(iterable: Iterable<T_2> | ArrayLike<T_2>): T_2[];
66
+ from<T_3, U_1>(iterable: Iterable<T_3> | ArrayLike<T_3>, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[];
67
+ of<T_4>(...items: T_4[]): T_4[];
68
+ readonly [Symbol.species]: ArrayConstructor;
69
+ };
70
+ default: never[];
71
+ };
72
+ exportToSvg: {
73
+ type: BooleanConstructor;
74
+ default: boolean;
75
+ };
76
+ autoSelect: NumberConstructor;
77
+ }>> & {
78
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
79
+ }, {
80
+ value: null;
81
+ config: Record<string, any>;
82
+ messages: Record<string, any>;
83
+ variant: string;
84
+ assets: any[];
85
+ exportToSvg: boolean;
86
+ }>;
87
+ export default _default;
Binary file
package/dist/i18n.d.ts ADDED
@@ -0,0 +1,76 @@
1
+ declare const i18n: import("vue-i18n").I18n<{
2
+ en: {
3
+ welcome: string;
4
+ common: {
5
+ id: string;
6
+ name: string;
7
+ type: string;
8
+ yes: string;
9
+ no: string;
10
+ ok: string;
11
+ all: string;
12
+ accept: string;
13
+ approve: string;
14
+ reject: string;
15
+ review: string;
16
+ featured: string;
17
+ pending: string;
18
+ cancel: string;
19
+ submit: string;
20
+ select: string;
21
+ close: string;
22
+ back: string;
23
+ prev: string;
24
+ previous: string;
25
+ next: string;
26
+ play: string;
27
+ start: string;
28
+ stop: string;
29
+ pause: string;
30
+ reset: string;
31
+ undo: string;
32
+ redo: string;
33
+ forward: string;
34
+ rewind: string;
35
+ time: string;
36
+ moves: string;
37
+ congratulations: string;
38
+ thanks: string;
39
+ participants: string;
40
+ moderate: string;
41
+ active: string;
42
+ success: string;
43
+ save: string;
44
+ or: string;
45
+ skip: string;
46
+ readMore: string;
47
+ download: string;
48
+ };
49
+ cameraInput: {
50
+ waitForCameraNotification: string;
51
+ camera: string;
52
+ switch: string;
53
+ capture: string;
54
+ };
55
+ fileInput: {
56
+ coverTitle: string;
57
+ coverLaunchCta: string;
58
+ coverLocalSelectTitle: string;
59
+ coverDropTarget: string;
60
+ coverLocalFileCta: string;
61
+ captureTitle: string;
62
+ reviewTitle: string;
63
+ dragDropCta: string;
64
+ selectFileDialogCta: string;
65
+ selectCameraCta: string;
66
+ dropTargetLabel: string;
67
+ shoot: string;
68
+ fileTooLarge: string;
69
+ };
70
+ photoBooth: {
71
+ removeBackgroundCaption: string;
72
+ saveMergedCaption: string;
73
+ };
74
+ };
75
+ }, {}, {}, string, false>;
76
+ export default i18n;
@@ -0,0 +1,3 @@
1
+ export { default as CameraInput } from './components/camera-input.vue';
2
+ export { default as PhotoApp } from './components/photo-app.vue';
3
+ export { default as WebCam } from './components/web-cam.vue';
@@ -0,0 +1,74 @@
1
+ export declare const messages: {
2
+ welcome: string;
3
+ common: {
4
+ id: string;
5
+ name: string;
6
+ type: string;
7
+ yes: string;
8
+ no: string;
9
+ ok: string;
10
+ all: string;
11
+ accept: string;
12
+ approve: string;
13
+ reject: string;
14
+ review: string;
15
+ featured: string;
16
+ pending: string;
17
+ cancel: string;
18
+ submit: string;
19
+ select: string;
20
+ close: string;
21
+ back: string;
22
+ prev: string;
23
+ previous: string;
24
+ next: string;
25
+ play: string;
26
+ start: string;
27
+ stop: string;
28
+ pause: string;
29
+ reset: string;
30
+ undo: string;
31
+ redo: string;
32
+ forward: string;
33
+ rewind: string;
34
+ time: string;
35
+ moves: string;
36
+ congratulations: string;
37
+ thanks: string;
38
+ participants: string;
39
+ moderate: string;
40
+ active: string;
41
+ success: string;
42
+ save: string;
43
+ or: string;
44
+ skip: string;
45
+ readMore: string;
46
+ download: string;
47
+ };
48
+ cameraInput: {
49
+ waitForCameraNotification: string;
50
+ camera: string;
51
+ switch: string;
52
+ capture: string;
53
+ };
54
+ fileInput: {
55
+ coverTitle: string;
56
+ coverLaunchCta: string;
57
+ coverLocalSelectTitle: string;
58
+ coverDropTarget: string;
59
+ coverLocalFileCta: string;
60
+ captureTitle: string;
61
+ reviewTitle: string;
62
+ dragDropCta: string;
63
+ selectFileDialogCta: string;
64
+ selectCameraCta: string;
65
+ dropTargetLabel: string;
66
+ shoot: string;
67
+ fileTooLarge: string;
68
+ };
69
+ photoBooth: {
70
+ removeBackgroundCaption: string;
71
+ saveMergedCaption: string;
72
+ };
73
+ };
74
+ export default messages;
package/dist/main.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ import "bootstrap/dist/css/bootstrap.min.css";
2
+ import "bootstrap";
3
+ import '/node_modules/ablok-components/dist/style.css';
package/dist/style.css ADDED
@@ -0,0 +1 @@
1
+ .camera-input{position:relative}.camera-input__preview{position:relative;height:100%}.camera-input__preview canvas{position:absolute;left:0;top:0;width:100%;height:100%}.camera-input__preview img,.camera-input__preview video{display:block;width:100%;height:100%;object-fit:cover}.camera-input__controls{position:absolute;bottom:0;width:100%;background:rgba(255,255,255,.5)}.camera-input.mirror-cam img,.camera-input.mirror-cam video{transform:scaleX(-1)}.camera-input__switch-cam{position:absolute;z-index:1;right:0;top:0}.camera-input__switch-cam .v-btn{display:block;background-color:#ffffff3d;border-radius:.3125rem}.camera-input__switch-cam .svg-icon{display:block;font-size:1.6667rem}.camera-input__bg-notification{position:absolute;z-index:0;left:0;top:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center}.camera-input__bg-notification+video{position:relative;z-index:1}.camera-input .camera-input__guide{position:absolute;left:0;top:0;z-index:1;display:block;width:100%;height:100%;pointer-events:none;object-fit:contain}.camera-input__countdown-overlay{position:absolute;left:0;top:0;z-index:2;width:100%;height:100%;display:flex;justify-content:center;align-items:center;backdrop-filter:blur(4px);overflow:hidden}.camera-input__countdown-overlay .countdown{position:relative;font-size:6rem;color:#fffc;font-weight:700}.camera-input__countdown-overlay .countdown:before,.camera-input__countdown-overlay .countdown:after{position:absolute;left:0;top:0;z-index:1;content:attr(data-countdown);transform-origin:center;animation-name:pulse;animation-duration:1s;animation-iteration-count:infinite;animation-timing-function:ease-out}.camera-input__countdown-overlay .countdown:after{animation-duration:.1 .25s;animation-delay:.25s}.camera-input button{appearance:none;background:none;border:none}@keyframes blur{0%{backdrop-filter:blur(4px)}to{backdrop-filter:blur(0)}}@keyframes pulse{0%{transform:scale(1);opacity:.5}to{transform:scale(5);opacity:0}}:root,*:before,*:after{--media-container-border-width: thick;--media-container-border-color: var(--bs-primary);--media-container-border-type: solid}.media-container{position:relative;border:var(--media-container-border-width) var(--media-container-border-type) var(--media-container-border-color);border-radius:1rem}.media-container--ratio-1-1{padding-bottom:100%}.media-container--ratio-16-9{padding-bottom:56.25%}.media-container--ratio-9-16{padding-bottom:177.7777778%}.media-container--ratio-4-3{padding-bottom:75%}.media-container--ratio-3-4{padding-bottom:133.333333%}.media-container>*{position:absolute;width:100%;height:100%}.media-container img,.media-container video,.media-container canvas{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:cover}.web-cam__thumbnails .photo-booth__thumbnail{width:17.647059%;margin-right:10px}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Central indexed db api
3
+ */
4
+ declare class IndexedDBApi {
5
+ private store;
6
+ private dbname;
7
+ private db;
8
+ clearLocalState(): Promise<void>;
9
+ storeLocalState(localState: any): Promise<void>;
10
+ getStateFromDb(): Promise<unknown>;
11
+ getDb(): Promise<unknown>;
12
+ private initDb;
13
+ constructor(database: string, store: any);
14
+ }
15
+ export default IndexedDBApi;
@@ -0,0 +1,15 @@
1
+ export declare function readAsDataURL(src: string): Promise<unknown>;
2
+ export declare function fileToDataUrl(file: File): Promise<any>;
3
+ export declare function imageToDataUrl(src: string): Promise<any>;
4
+ export declare function svgToDataUrl(svg: string): string;
5
+ export declare function loadImage(src: string): Promise<HTMLImageElement>;
6
+ export declare function dataURItoBlob(dataURI: any): Blob;
7
+ export declare function createColorLayer(color: string): string;
8
+ export declare function resizeImage(src: string, width?: number, height?: number): Promise<string>;
9
+ export declare function cropImage(src: string, outputImageAspectRatio?: number): Promise<string>;
10
+ export declare const getOrientation: (file: File) => Promise<number>;
11
+ export declare function convertRotationToDegrees(rotation: number): number;
12
+ export declare function getRotation(file: File): Promise<number>;
13
+ export declare function rotateImage(src: string, rotation: number): Promise<string>;
14
+ export declare function mirrorImage(src: string, x?: number, y?: number, horizontal?: boolean, vertical?: boolean): Promise<string>;
15
+ export declare function loadFromJSON(canvas: any, canvasObject: any): Promise<any>;
package/package.json ADDED
@@ -0,0 +1,47 @@
1
+ {
2
+ "name": "ablok-photobooth",
3
+ "private": false,
4
+ "version": "0.0.1",
5
+ "scripts": {
6
+ "dev": "vite",
7
+ "build": "vue-tsc --noEmit && vite build",
8
+ "preview": "vite preview",
9
+ "build-lib-bak": "vite build && vue-tsc --emitDeclarationOnly && mv dist/src dist/types",
10
+ "build-lib": "vite build && vue-tsc --emitDeclarationOnly"
11
+ },
12
+ "dependencies": {
13
+ "@popperjs/core": "^2.11.6",
14
+ "ablok-components": "0.0.42",
15
+ "bootstrap": "^5.2.0",
16
+ "fabric": "^5.2.1",
17
+ "lodash": "^4.17.21",
18
+ "pinia": "^2.0.14",
19
+ "vue": "^3.2.25",
20
+ "vue-i18n": "^9.2.0-beta.36",
21
+ "vue-upload-component": "^3.1.2"
22
+ },
23
+ "devDependencies": {
24
+ "@types/lodash": "^4.14.182",
25
+ "@types/node": "^17.0.45",
26
+ "@vitejs/plugin-vue": "^2.3.3",
27
+ "path": "^0.12.7",
28
+ "sass": "^1.52.3",
29
+ "typescript": "^4.5.4",
30
+ "vite": "^2.9.9",
31
+ "vite-plugin-dts": "^1.4.1",
32
+ "vue-svg-sprite": "^2.2.1",
33
+ "vue-tsc": "^0.35.2"
34
+ },
35
+ "files": [
36
+ "dist"
37
+ ],
38
+ "main": "./dist/ablok-photobooth.umd.js",
39
+ "module": "./dist/ablok-photobooth.es.js",
40
+ "exports": {
41
+ ".": {
42
+ "import": "./dist/ablok-photobooth.es.js",
43
+ "require": "./dist/ablok-photobooth.umd.js"
44
+ }
45
+ },
46
+ "types": "./dist/types/index.d.ts"
47
+ }