metag-sdk-ionic 1.1.57 → 1.2.1-beta.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.
- package/dist/src/app/pages/constants/enviroments.js +2 -2
- package/dist/src/app/pages/constants/enviroments.js.map +1 -1
- package/dist/src/app/pages/id-vision/components/camara-video-selfie/camara-video-selfie.component.d.ts +11 -7
- package/dist/src/app/pages/id-vision/components/camara-video-selfie/camara-video-selfie.component.js +120 -86
- package/dist/src/app/pages/id-vision/components/camara-video-selfie/camara-video-selfie.component.js.map +1 -1
- package/dist/src/app/pages/id-vision/components/camera-with-overlay/camera-with-overlay.component.js +16 -14
- package/dist/src/app/pages/id-vision/components/camera-with-overlay/camera-with-overlay.component.js.map +1 -1
- package/dist/src/app/pages/id-vision/components/message-modal/message-modal.component.js +3 -3
- package/dist/src/app/pages/id-vision/components/message-modal/message-modal.component.js.map +1 -1
- package/dist/src/app/pages/id-vision/id-vision.component.d.ts +4 -1
- package/dist/src/app/pages/id-vision/id-vision.component.js +230 -305
- package/dist/src/app/pages/id-vision/id-vision.component.js.map +1 -1
- package/dist/src/app/pages/id-vision/services/dpi/dpi-service.service.d.ts +12 -5
- package/dist/src/app/pages/id-vision/services/dpi/dpi-service.service.js +24 -10
- package/dist/src/app/pages/id-vision/services/dpi/dpi-service.service.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export const environments = {
|
|
2
|
-
|
|
3
|
-
url: 'https://innova.genesisempresarial.com/metaGBE/'
|
|
2
|
+
url: 'https://devgefectivov2.site/idvisionbeta/',
|
|
3
|
+
//url: 'https://innova.genesisempresarial.com/metaGBE/'
|
|
4
4
|
};
|
|
5
5
|
//# sourceMappingURL=enviroments.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enviroments.js","sourceRoot":"","sources":["../../../../../src/app/pages/constants/enviroments.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG;IACxB,
|
|
1
|
+
{"version":3,"file":"enviroments.js","sourceRoot":"","sources":["../../../../../src/app/pages/constants/enviroments.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG;IACxB,GAAG,EAAE,2CAA2C;IAChD,uDAAuD;CAC1D,CAAA"}
|
|
@@ -19,16 +19,17 @@ export declare class CamaraVideoSelfieComponent implements AfterViewInit, OnDest
|
|
|
19
19
|
text2: string;
|
|
20
20
|
backFunction: (filePath: File) => Promise<void>;
|
|
21
21
|
closeRequested: EventEmitter<void>;
|
|
22
|
-
capturedVideoUrl: any;
|
|
23
22
|
capVideo?: File;
|
|
24
23
|
stream: MediaStream | null;
|
|
25
|
-
private isAndroid;
|
|
26
|
-
private isIOS;
|
|
27
|
-
private scanTimeout;
|
|
28
24
|
isRecording: boolean;
|
|
29
25
|
mediaRecorder: MediaRecorder | null;
|
|
30
26
|
recordedChunks: Blob[];
|
|
31
27
|
countdown: number;
|
|
28
|
+
private canvas?;
|
|
29
|
+
private ctx?;
|
|
30
|
+
private canvasStream?;
|
|
31
|
+
private drawLoopId?;
|
|
32
|
+
private frameGrabInterval?;
|
|
32
33
|
private recordingTimer;
|
|
33
34
|
private minRecordingTime;
|
|
34
35
|
private maxRecordingTime;
|
|
@@ -36,18 +37,21 @@ export declare class CamaraVideoSelfieComponent implements AfterViewInit, OnDest
|
|
|
36
37
|
canStopRecording: boolean;
|
|
37
38
|
isLoading: boolean;
|
|
38
39
|
private defaultBrightness;
|
|
40
|
+
private isAndroid;
|
|
41
|
+
private isIOS;
|
|
42
|
+
private scanTimeout;
|
|
39
43
|
constructor(platform: Platform, modalController: ModalController, sanitizer: DomSanitizer, renderer: Renderer2, alertController: AlertController, changeDetector: ChangeDetectorRef, modalVideoSelfieServices: ModalVideoSelfieServices, modalDpiServices: ModalDpiServices);
|
|
40
44
|
ngAfterViewInit(): Promise<void>;
|
|
41
45
|
ngOnDestroy(): Promise<void>;
|
|
42
|
-
waitForCameraReady(): Promise<void>;
|
|
43
46
|
requestPermissions(): Promise<void>;
|
|
44
47
|
initCamera(): Promise<void>;
|
|
45
|
-
|
|
46
|
-
|
|
48
|
+
waitForCameraReady(): Promise<void>;
|
|
49
|
+
private prepareRecorder;
|
|
47
50
|
recordVideo(): void;
|
|
48
51
|
startVideoRecord(): Promise<void>;
|
|
49
52
|
updateTimeRemaining(): void;
|
|
50
53
|
stopRecording(): Promise<void>;
|
|
54
|
+
blobToFile(blob: Blob, fileName: string): File;
|
|
51
55
|
closeOverlayVideo(): Promise<void>;
|
|
52
56
|
stopCamera(): void;
|
|
53
57
|
closeRequestedFunction(): void;
|
package/dist/src/app/pages/id-vision/components/camara-video-selfie/camara-video-selfie.component.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output, ViewChild, ViewEncapsulation
|
|
1
|
+
import { Component, EventEmitter, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';
|
|
2
2
|
import { Camera } from '@capacitor/camera';
|
|
3
3
|
import { ScreenBrightness } from '@capacitor-community/screen-brightness';
|
|
4
4
|
import { Capacitor } from '@capacitor/core';
|
|
@@ -77,36 +77,20 @@ export class CamaraVideoSelfieComponent {
|
|
|
77
77
|
await ScreenBrightness.setBrightness({ brightness: 1.0 });
|
|
78
78
|
}
|
|
79
79
|
catch (error) {
|
|
80
|
-
console.warn('
|
|
80
|
+
console.warn('Brillo error:', error);
|
|
81
81
|
}
|
|
82
82
|
await this.requestPermissions();
|
|
83
83
|
}
|
|
84
84
|
await this.initCamera();
|
|
85
85
|
await this.waitForCameraReady();
|
|
86
|
-
this.modalDpiServices.closeModalAndChangeBrightness$.subscribe(async () =>
|
|
87
|
-
await this.closeOverlayVideo();
|
|
88
|
-
});
|
|
86
|
+
this.modalDpiServices.closeModalAndChangeBrightness$.subscribe(async () => await this.closeOverlayVideo());
|
|
89
87
|
}
|
|
90
88
|
async ngOnDestroy() {
|
|
91
89
|
this.stopCamera();
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
await ScreenBrightness.setBrightness({
|
|
95
|
-
brightness: this.defaultBrightness,
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
catch (error) {
|
|
100
|
-
console.warn('Error al restaurar el brillo original:', error);
|
|
90
|
+
if (this.defaultBrightness !== null) {
|
|
91
|
+
await ScreenBrightness.setBrightness({ brightness: this.defaultBrightness });
|
|
101
92
|
}
|
|
102
93
|
}
|
|
103
|
-
async waitForCameraReady() {
|
|
104
|
-
return new Promise((resolve) => {
|
|
105
|
-
this.videoElement.nativeElement.onloadedmetadata = () => {
|
|
106
|
-
resolve();
|
|
107
|
-
};
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
94
|
async requestPermissions() {
|
|
111
95
|
if (Capacitor.getPlatform() !== 'web') {
|
|
112
96
|
if (this.isAndroid || this.isIOS) {
|
|
@@ -119,82 +103,123 @@ export class CamaraVideoSelfieComponent {
|
|
|
119
103
|
}
|
|
120
104
|
}
|
|
121
105
|
async initCamera() {
|
|
122
|
-
let isCameraReady = false;
|
|
123
106
|
try {
|
|
124
107
|
const constraints = {
|
|
108
|
+
audio: true,
|
|
125
109
|
video: {
|
|
126
|
-
width: { ideal:
|
|
127
|
-
height: { ideal:
|
|
110
|
+
width: { ideal: 720 },
|
|
111
|
+
height: { ideal: 1280 },
|
|
128
112
|
facingMode: 'user',
|
|
129
|
-
|
|
113
|
+
aspectRatio: 9 / 16
|
|
114
|
+
}
|
|
130
115
|
};
|
|
131
116
|
this.stream = await navigator.mediaDevices.getUserMedia(constraints);
|
|
132
|
-
this.videoElement.nativeElement
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
await
|
|
137
|
-
const interval = setInterval(() => {
|
|
138
|
-
if (isCameraReady) {
|
|
139
|
-
clearInterval(interval);
|
|
140
|
-
resolve(true);
|
|
141
|
-
}
|
|
142
|
-
}, 100);
|
|
143
|
-
});
|
|
117
|
+
const video = this.videoElement.nativeElement;
|
|
118
|
+
video.srcObject = this.stream;
|
|
119
|
+
video.setAttribute('playsinline', 'true');
|
|
120
|
+
video.muted = true;
|
|
121
|
+
await video.play();
|
|
144
122
|
this.isLoading = false;
|
|
145
|
-
await this.
|
|
123
|
+
await this.prepareRecorder();
|
|
146
124
|
}
|
|
147
125
|
catch (error) {
|
|
148
|
-
console.error('
|
|
126
|
+
console.error('initCamera error:', error);
|
|
149
127
|
this.isLoading = false;
|
|
150
128
|
}
|
|
151
129
|
}
|
|
152
|
-
async
|
|
153
|
-
|
|
130
|
+
async waitForCameraReady() {
|
|
131
|
+
return new Promise((resolve) => {
|
|
132
|
+
this.videoElement.nativeElement.onloadedmetadata = () => resolve();
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
async prepareRecorder() {
|
|
136
|
+
if (!this.stream || !this.stream.getVideoTracks().length)
|
|
137
|
+
return;
|
|
138
|
+
let mimeType = '';
|
|
139
|
+
if (this.isIOS && MediaRecorder.isTypeSupported('video/mp4')) {
|
|
140
|
+
mimeType = 'video/mp4';
|
|
141
|
+
}
|
|
142
|
+
else if (MediaRecorder.isTypeSupported('video/webm;codecs=vp8')) {
|
|
143
|
+
mimeType = 'video/webm;codecs=vp8';
|
|
144
|
+
}
|
|
145
|
+
else if (MediaRecorder.isTypeSupported('video/webm')) {
|
|
146
|
+
mimeType = 'video/webm';
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
alert('Formato no soportado');
|
|
154
150
|
return;
|
|
155
|
-
if (this.mediaRecorder && this.mediaRecorder.state !== 'inactive') {
|
|
156
|
-
this.mediaRecorder.stop();
|
|
157
151
|
}
|
|
158
152
|
const options = {
|
|
159
|
-
mimeType
|
|
160
|
-
videoBitsPerSecond:
|
|
153
|
+
mimeType,
|
|
154
|
+
videoBitsPerSecond: 400_000,
|
|
161
155
|
};
|
|
156
|
+
const video = this.videoElement.nativeElement;
|
|
157
|
+
if (this.isIOS && 'captureStream' in HTMLCanvasElement.prototype) {
|
|
158
|
+
this.canvas = document.createElement('canvas');
|
|
159
|
+
this.canvas.width = 720;
|
|
160
|
+
this.canvas.height = 1280;
|
|
161
|
+
this.ctx = this.canvas.getContext('2d', { willReadFrequently: true });
|
|
162
|
+
const capStream = this.canvas.captureStream(30);
|
|
163
|
+
const audioTrack = this.stream.getAudioTracks()[0];
|
|
164
|
+
if (audioTrack)
|
|
165
|
+
capStream.addTrack(audioTrack);
|
|
166
|
+
this.canvasStream = capStream;
|
|
167
|
+
const draw = () => {
|
|
168
|
+
const vw = video.videoWidth || 1;
|
|
169
|
+
const vh = video.videoHeight || 1;
|
|
170
|
+
this.ctx.save();
|
|
171
|
+
this.ctx.clearRect(0, 0, 720, 1280);
|
|
172
|
+
if (vw > vh) {
|
|
173
|
+
this.ctx.translate(720 / 2, 1280 / 2);
|
|
174
|
+
this.ctx.rotate(Math.PI / 2);
|
|
175
|
+
this.ctx.scale(-1, 1);
|
|
176
|
+
const scale = Math.max(720 / vh, 1280 / vw);
|
|
177
|
+
this.ctx.drawImage(video, -vh * scale / 2, -vw * scale / 2, vh * scale, vw * scale);
|
|
178
|
+
}
|
|
179
|
+
else {
|
|
180
|
+
this.ctx.translate(720 / 2, 1280 / 2);
|
|
181
|
+
this.ctx.scale(-1, 1);
|
|
182
|
+
const scale = Math.max(720 / vw, 1280 / vh);
|
|
183
|
+
this.ctx.drawImage(video, -vw * scale / 2, -vh * scale / 2, vw * scale, vh * scale);
|
|
184
|
+
}
|
|
185
|
+
this.ctx.restore();
|
|
186
|
+
this.drawLoopId = requestAnimationFrame(draw);
|
|
187
|
+
};
|
|
188
|
+
this.drawLoopId = requestAnimationFrame(draw);
|
|
189
|
+
this.mediaRecorder = new MediaRecorder(capStream, options);
|
|
190
|
+
}
|
|
191
|
+
else {
|
|
192
|
+
this.mediaRecorder = new MediaRecorder(this.stream, options);
|
|
193
|
+
}
|
|
162
194
|
this.recordedChunks = [];
|
|
163
|
-
this.mediaRecorder = new MediaRecorder(this.stream, options);
|
|
164
195
|
this.mediaRecorder.ondataavailable = (event) => {
|
|
165
|
-
if (event.data
|
|
196
|
+
if (event.data?.size > 0)
|
|
166
197
|
this.recordedChunks.push(event.data);
|
|
167
|
-
|
|
198
|
+
};
|
|
199
|
+
this.mediaRecorder.onerror = (event) => {
|
|
200
|
+
console.error('Recorder error:', event);
|
|
201
|
+
alert('Error grabando video');
|
|
168
202
|
};
|
|
169
203
|
this.mediaRecorder.onstop = async () => {
|
|
170
|
-
if (this.recordedChunks.length
|
|
171
|
-
console.error('No se capturaron datos en la grabación.');
|
|
204
|
+
if (!this.recordedChunks.length)
|
|
172
205
|
return;
|
|
173
|
-
|
|
174
|
-
const
|
|
175
|
-
const
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
if (this.backFunction) {
|
|
180
|
-
await this.backFunction(videoFile);
|
|
181
|
-
}
|
|
206
|
+
const fileExtension = mimeType.includes('webm') ? 'webm' : 'mp4';
|
|
207
|
+
const blob = new Blob(this.recordedChunks, { type: mimeType });
|
|
208
|
+
const file = this.blobToFile(blob, `video-selfie.${fileExtension}`);
|
|
209
|
+
this.capVideo = file;
|
|
210
|
+
if (this.backFunction)
|
|
211
|
+
await this.backFunction(file);
|
|
182
212
|
this.recordedChunks = [];
|
|
213
|
+
if (this.drawLoopId)
|
|
214
|
+
cancelAnimationFrame(this.drawLoopId);
|
|
183
215
|
};
|
|
184
216
|
}
|
|
185
|
-
blobToFile(blob, fileName) {
|
|
186
|
-
const b = blob;
|
|
187
|
-
b.lastModified = new Date().getTime();
|
|
188
|
-
b.lastModifiedDate = new Date();
|
|
189
|
-
b.name = fileName;
|
|
190
|
-
return b;
|
|
191
|
-
}
|
|
192
217
|
recordVideo() {
|
|
193
218
|
this.countdown = 3;
|
|
194
|
-
const
|
|
219
|
+
const interval = setInterval(() => {
|
|
195
220
|
this.countdown -= 1;
|
|
196
221
|
if (this.countdown <= 0) {
|
|
197
|
-
clearInterval(
|
|
222
|
+
clearInterval(interval);
|
|
198
223
|
this.startVideoRecord();
|
|
199
224
|
}
|
|
200
225
|
this.changeDetector.detectChanges();
|
|
@@ -202,52 +227,61 @@ export class CamaraVideoSelfieComponent {
|
|
|
202
227
|
}
|
|
203
228
|
async startVideoRecord() {
|
|
204
229
|
if (this.mediaRecorder && !this.isRecording) {
|
|
205
|
-
await new Promise((
|
|
206
|
-
this.mediaRecorder.start(
|
|
230
|
+
await new Promise((r) => setTimeout(r, 500));
|
|
231
|
+
this.mediaRecorder.start();
|
|
207
232
|
this.isRecording = true;
|
|
208
233
|
this.canStopRecording = false;
|
|
209
234
|
this.renderer.addClass(this.progressRing.nativeElement, 'progress-active');
|
|
210
235
|
this.timeRemaining = this.maxRecordingTime / 1000;
|
|
211
236
|
this.updateTimeRemaining();
|
|
212
|
-
setTimeout(() => {
|
|
213
|
-
this.canStopRecording = true;
|
|
214
|
-
}, this.minRecordingTime);
|
|
215
237
|
this.recordingTimer = setTimeout(async () => {
|
|
238
|
+
this.canStopRecording = true;
|
|
216
239
|
await this.stopRecording();
|
|
217
240
|
}, this.maxRecordingTime);
|
|
218
241
|
}
|
|
219
242
|
}
|
|
220
243
|
updateTimeRemaining() {
|
|
221
|
-
const interval = 1000;
|
|
222
244
|
const timer = setInterval(() => {
|
|
223
245
|
if (this.isRecording) {
|
|
224
246
|
this.timeRemaining -= 1;
|
|
225
|
-
if (this.timeRemaining <= 0)
|
|
247
|
+
if (this.timeRemaining <= 0)
|
|
226
248
|
clearInterval(timer);
|
|
227
|
-
}
|
|
228
249
|
}
|
|
229
250
|
else {
|
|
230
251
|
clearInterval(timer);
|
|
231
252
|
}
|
|
232
253
|
this.changeDetector.detectChanges();
|
|
233
|
-
},
|
|
254
|
+
}, 1000);
|
|
234
255
|
}
|
|
235
256
|
async stopRecording() {
|
|
236
257
|
if (this.mediaRecorder && this.isRecording && this.canStopRecording) {
|
|
237
|
-
this.mediaRecorder.
|
|
258
|
+
if (this.mediaRecorder.state !== 'inactive')
|
|
259
|
+
this.mediaRecorder.stop();
|
|
238
260
|
this.isRecording = false;
|
|
239
261
|
}
|
|
240
|
-
if (this.
|
|
241
|
-
|
|
262
|
+
if (this.frameGrabInterval)
|
|
263
|
+
clearInterval(this.frameGrabInterval);
|
|
264
|
+
if (this.drawLoopId)
|
|
265
|
+
cancelAnimationFrame(this.drawLoopId);
|
|
266
|
+
if (this.canvasStream) {
|
|
267
|
+
this.canvasStream.getTracks().forEach((t) => t.stop());
|
|
268
|
+
this.canvasStream = undefined;
|
|
242
269
|
}
|
|
270
|
+
if (this.scanTimeout)
|
|
271
|
+
clearTimeout(this.scanTimeout);
|
|
243
272
|
this.renderer.removeClass(this.progressRing.nativeElement, 'progress-active');
|
|
244
273
|
}
|
|
274
|
+
blobToFile(blob, fileName) {
|
|
275
|
+
const b = blob;
|
|
276
|
+
b.lastModified = Date.now();
|
|
277
|
+
b.lastModifiedDate = new Date();
|
|
278
|
+
b.name = fileName;
|
|
279
|
+
return b;
|
|
280
|
+
}
|
|
245
281
|
async closeOverlayVideo() {
|
|
246
282
|
this.stopCamera();
|
|
247
283
|
if (this.defaultBrightness !== null) {
|
|
248
|
-
await ScreenBrightness.setBrightness({
|
|
249
|
-
brightness: this.defaultBrightness,
|
|
250
|
-
});
|
|
284
|
+
await ScreenBrightness.setBrightness({ brightness: this.defaultBrightness });
|
|
251
285
|
}
|
|
252
286
|
this.modalController.dismiss();
|
|
253
287
|
}
|
|
@@ -271,7 +305,7 @@ export class CamaraVideoSelfieComponent {
|
|
|
271
305
|
let _t;
|
|
272
306
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.videoElement = _t.first);
|
|
273
307
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.progressRing = _t.first);
|
|
274
|
-
} }, inputs: { text1: "text1", text2: "text2", backFunction: "backFunction" }, outputs: { closeRequested: "closeRequested" }, decls: 22, vars: 9, consts: [["videoElement", ""], ["progressRing", ""], ["color", "light", 1, "custom-content"], ["class", "loading-overlay", 4, "ngIf"], ["class", "countdown-overlay", 4, "ngIf"], [1, "ion-no-border"], ["color", "light"], ["slot", "end"], [3, "click", "disabled"], ["name", "close"], [1, "camera-container"], [1, "video-wrapper"], ["muted", "", "autoplay", "", "playsinline", "", 2, "transform", "scaleX(-1)"], ["width", "300", "height", "300", 1, "progress-ring"], ["cx", "150", "cy", "150", "r", "150", 1, "progress-ring__circle"], [3, "ngClass"], [1, "text-center"], [1, "fixed-footer"], ["expand", "block", 3, "click", 4, "ngIf"], ["expand", "block", 3, "disabled", "click", 4, "ngIf"], [1, "loading-overlay"], ["name", "crescent"], [1, "countdown-overlay"], [1, "countdown"], ["expand", "block", 3, "click"], ["expand", "block", 3, "click", "disabled"]], template: function CamaraVideoSelfieComponent_Template(rf, ctx) { if (rf & 1) {
|
|
308
|
+
} }, inputs: { text1: "text1", text2: "text2", backFunction: "backFunction" }, outputs: { closeRequested: "closeRequested" }, decls: 22, vars: 9, consts: [["videoElement", ""], ["progressRing", ""], ["color", "light", 1, "custom-content"], ["class", "loading-overlay", 4, "ngIf"], ["class", "countdown-overlay", 4, "ngIf"], [1, "ion-no-border"], ["color", "light"], ["slot", "end"], [3, "click", "disabled"], ["name", "close", "color", "dark"], [1, "camera-container"], [1, "video-wrapper"], ["muted", "", "autoplay", "", "playsinline", "", 2, "transform", "scaleX(-1)"], ["width", "300", "height", "300", 1, "progress-ring"], ["cx", "150", "cy", "150", "r", "150", 1, "progress-ring__circle"], [3, "ngClass"], [1, "text-center"], [1, "fixed-footer"], ["class", "button-grabar", "expand", "block", 3, "click", 4, "ngIf"], ["expand", "block", 3, "disabled", "click", 4, "ngIf"], [1, "loading-overlay"], ["name", "crescent"], [1, "countdown-overlay"], [1, "countdown"], ["expand", "block", 1, "button-grabar", 3, "click"], ["expand", "block", 3, "click", "disabled"]], template: function CamaraVideoSelfieComponent_Template(rf, ctx) { if (rf & 1) {
|
|
275
309
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
276
310
|
i0.ɵɵelementStart(0, "ion-content", 2);
|
|
277
311
|
i0.ɵɵtemplate(1, CamaraVideoSelfieComponent_div_1_Template, 2, 0, "div", 3)(2, CamaraVideoSelfieComponent_div_2_Template, 3, 1, "div", 4);
|
|
@@ -310,11 +344,11 @@ export class CamaraVideoSelfieComponent {
|
|
|
310
344
|
i0.ɵɵproperty("ngIf", !ctx.isRecording);
|
|
311
345
|
i0.ɵɵadvance();
|
|
312
346
|
i0.ɵɵproperty("ngIf", ctx.isRecording);
|
|
313
|
-
} }, dependencies: [i5.NgClass, i5.NgIf, i1.IonButton, i1.IonButtons, i1.IonContent, i1.IonHeader, i1.IonIcon, i1.IonLabel, i1.IonSpinner, i1.IonToolbar], styles: [".camera-container[_ngcontent-%COMP%] {\n justify-content: center;\n align-items: center;\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 70%;\n background-color:
|
|
347
|
+
} }, dependencies: [i5.NgClass, i5.NgIf, i1.IonButton, i1.IonButtons, i1.IonContent, i1.IonHeader, i1.IonIcon, i1.IonLabel, i1.IonSpinner, i1.IonToolbar], styles: [".camera-container[_ngcontent-%COMP%] {\n justify-content: center;\n align-items: center;\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 70%;\n background-color: #fff;\n}\n\n.video-wrapper[_ngcontent-%COMP%] {\n position: relative;\n width: 300px;\n height: 300px;\n border-radius: 50%;\n overflow: hidden;\n}\n\nvideo[_ngcontent-%COMP%] {\n width: 100%;\n height: 100%;\n object-fit: cover;\n border-radius: 50%;\n}\n\n.progress-ring[_ngcontent-%COMP%] {\n position: absolute;\n top: 0;\n left: 0;\n transform: rotate(-90deg);\n \n\n}\n\n.progress-ring__circle[_ngcontent-%COMP%] {\n fill: transparent;\n stroke: purple;\n stroke-width: 12;\n stroke-dasharray: 945;\n \n\n stroke-dashoffset: 880;\n \n\n transition: stroke-dashoffset 12s linear;\n \n\n}\n\n.progress-active[_ngcontent-%COMP%] .progress-ring__circle[_ngcontent-%COMP%] {\n animation: _ngcontent-%COMP%_progress-animation 5s linear forwards;\n}\n\n@keyframes _ngcontent-%COMP%_progress-animation {\n from {\n stroke-dashoffset: 880;\n }\n\n to {\n stroke-dashoffset: 0;\n }\n}\n\n.text-container[_ngcontent-%COMP%] {\n height: 40px;\n color: black;\n}\n\nion-header[_ngcontent-%COMP%] {\n --background: #fff;\n \n\n}\n\n.centered-title[_ngcontent-%COMP%] {\n text-align: center;\n width: 100%;\n \n\n font-weight: bold;\n}\n\n.fixed-footer[_ngcontent-%COMP%] {\n position: fixed;\n bottom: 40px;\n left: 0;\n width: 100%;\n padding: 10px;\n background-color: #fff; // Color de fondo, opcional\n // box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);\n\n\n ion-button {\n width: 90%;\n max-width: 300px;\n margin: 0 auto;\n color: #fff;\n font-weight: bold;\n border-radius: 20px;\n\n --background: #82298F;\n --background-hover: #82298F;\n --background-activated: #82298F;\n --background-focused: #82298F;\n\n --color: #fff;\n\n --border-radius: 20px;\n --border-color: #82298F;\n ;\n --border-style: solid;\n --border-width: 1px;\n\n --box-shadow: 0 2px 6px 0 rgb(0, 0, 0, 0.25);\n\n --ripple-color: #82298F;\n\n\n &:hover {\n background-color: #82298F;\n }\n\n &:active {\n background-color: #82298F;\n }\n }\n}\n\n\n\n\n\nion-header[_ngcontent-%COMP%] {\n --background: #fff;\n \n\n color: #000000;\n \n\n}\n\nion-toolbar[_ngcontent-%COMP%] {\n --ion-background-color: #fff !important;\n --background: #ffffff !important;\n --color: #000000 !important;\n}\n\n.centered-title[_ngcontent-%COMP%] {\n flex: 1;\n text-align: center;\n \n\n font-weight: bold;\n color: #000000;\n margin: 0;\n \n\n}\n\nion-buttons[_ngcontent-%COMP%] {\n justify-content: flex-end;\n \n\n}\n\n.countdown-overlay[_ngcontent-%COMP%] {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(0, 0, 0, 0.6);\n \n\n display: flex;\n align-items: center;\n justify-content: center;\n margin: 0;\n padding: 0;\n z-index: 1000;\n \n\n animation: _ngcontent-%COMP%_fadeIn 0.5s ease-out, _ngcontent-%COMP%_fadeOut 0.5s ease-out 2.5s;\n \n\n box-sizing: border-box;\n border-radius: 0px;\n\n}\n\nion-content.custom-content[_ngcontent-%COMP%] {\n --padding-top: 0;\n --padding-bottom: 0;\n margin: 0;\n padding: 0;\n}\n\n.countdown[_ngcontent-%COMP%] {\n font-size: 100px;\n font-weight: bold;\n color: #fff;\n animation: _ngcontent-%COMP%_scaleUp 0.5s ease-out, _ngcontent-%COMP%_scaleDown 0.5s ease-out 2.5s;\n \n\n}\n\n\n\n@keyframes _ngcontent-%COMP%_fadeIn {\n from {\n opacity: 0;\n }\n\n to {\n opacity: 1;\n }\n}\n\n@keyframes _ngcontent-%COMP%_fadeOut {\n from {\n opacity: 1;\n }\n\n to {\n opacity: 0;\n }\n}\n\n\n\n@keyframes _ngcontent-%COMP%_scaleUp {\n from {\n transform: scale(0.8);\n opacity: 0;\n }\n\n to {\n transform: scale(1);\n opacity: 1;\n }\n}\n\n@keyframes _ngcontent-%COMP%_scaleDown {\n from {\n transform: scale(1);\n opacity: 1;\n }\n\n to {\n transform: scale(0.8);\n opacity: 0;\n }\n}\n\n.red[_ngcontent-%COMP%] {\n padding: 10px;\n color: red;\n}\n\n.text-center[_ngcontent-%COMP%] {\n text-align: center;\n padding-left: 20%;\n padding-right: 20%;\n color: #333;\n}\n\n.loading-overlay[_ngcontent-%COMP%] {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(0, 0, 0, 0.8);\n \n\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1000;\n \n\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n border-radius: 0px;\n}\n\nion-spinner[_ngcontent-%COMP%] {\n color: #fff;\n width: 50px;\n height: 50px;\n}"] }); }
|
|
314
348
|
}
|
|
315
349
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CamaraVideoSelfieComponent, [{
|
|
316
350
|
type: Component,
|
|
317
|
-
args: [{ selector: 'app-camara-video-selfie', encapsulation: ViewEncapsulation.Emulated, template: "<ion-content color=\"light\" class=\"custom-content\">\n <div *ngIf=\"isLoading\" class=\"loading-overlay\">\n <ion-spinner name=\"crescent\"></ion-spinner>\n </div
|
|
351
|
+
args: [{ selector: 'app-camara-video-selfie', encapsulation: ViewEncapsulation.Emulated, template: "<ion-content color=\"light\" class=\"custom-content\">\n <div *ngIf=\"isLoading\" class=\"loading-overlay\">\n <ion-spinner name=\"crescent\"></ion-spinner>\n </div> \n <div *ngIf=\"countdown > 0\" class=\"countdown-overlay\">\n <div class=\"countdown\">{{ countdown }}</div>\n </div>\n <ion-header class=\"ion-no-border\">\n <ion-toolbar color=\"light\">\n <!-- <ion-title class=\"centered-title\">Video Selfie</ion-title> -->\n <ion-buttons slot=\"end\">\n <ion-button (click)=\"closeOverlayVideo()\" [disabled]=\"!canStopRecording\">\n <ion-icon name=\"close\" color=\"dark\"></ion-icon>\n </ion-button>\n </ion-buttons>\n </ion-toolbar>\n </ion-header>\n <!-- Contenedor de la c\u00E1mara y progresi\u00F3n -->\n <div class=\"camera-container\">\n <div class=\"video-wrapper\">\n <video #videoElement muted autoplay playsinline style=\"transform: scaleX(-1)\"></video>\n <svg class=\"progress-ring\" #progressRing width=\"300\" height=\"300\">\n <circle class=\"progress-ring__circle\" cx=\"150\" cy=\"150\" r=\"150\" />\n </svg>\n </div>\n <ion-label [ngClass]=\"{'red': isRecording}\">00:{{ timeRemaining < 10 ? '0' + timeRemaining : timeRemaining\n }}</ion-label>\n <p class=\"text-center\">Permanece quieto, con tu rostro en el centro del c\u00EDrculo.</p>\n <!-- Botones de grabaci\u00F3n -->\n <div class=\"fixed-footer\">\n <ion-button class=\"button-grabar\" *ngIf=\"!isRecording\" expand=\"block\" (click)=\"recordVideo()\">Iniciar Grabaci\u00F3n</ion-button>\n <ion-button *ngIf=\"isRecording\" expand=\"block\" (click)=\"stopRecording()\" [disabled]=\"!canStopRecording\">Detener\n Grabaci\u00F3n</ion-button>\n </div>\n </div>\n</ion-content>", styles: [".camera-container {\n justify-content: center;\n align-items: center;\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 70%;\n background-color: #fff;\n}\n\n.video-wrapper {\n position: relative;\n width: 300px;\n height: 300px;\n border-radius: 50%;\n overflow: hidden;\n}\n\nvideo {\n width: 100%;\n height: 100%;\n object-fit: cover;\n border-radius: 50%;\n}\n\n.progress-ring {\n position: absolute;\n top: 0;\n left: 0;\n transform: rotate(-90deg);\n /* Rotamos el c\u00EDrculo para que la animaci\u00F3n inicie desde arriba */\n}\n\n.progress-ring__circle {\n fill: transparent;\n stroke: purple;\n stroke-width: 12;\n stroke-dasharray: 945;\n /* La circunferencia del c\u00EDrculo 880*/\n stroke-dashoffset: 880;\n /* Oculto por completo al inicio */\n transition: stroke-dashoffset 12s linear;\n /* Esto controlar\u00E1 el llenado progresivo */\n}\n\n.progress-active .progress-ring__circle {\n animation: progress-animation 5s linear forwards;\n}\n\n@keyframes progress-animation {\n from {\n stroke-dashoffset: 880;\n }\n\n to {\n stroke-dashoffset: 0;\n }\n}\n\n.text-container {\n height: 40px;\n color: black;\n}\n\nion-header {\n --background: #fff;\n /* Fondo blanco para el header */\n}\n\n.centered-title {\n text-align: center;\n width: 100%;\n /* Asegura que el t\u00EDtulo est\u00E9 centrado */\n font-weight: bold;\n}\n\n.fixed-footer {\n position: fixed;\n bottom: 40px;\n left: 0;\n width: 100%;\n padding: 10px;\n background-color: #fff; // Color de fondo, opcional\n // box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);\n\n\n ion-button {\n width: 90%;\n max-width: 300px;\n margin: 0 auto;\n color: #fff;\n font-weight: bold;\n border-radius: 20px;\n\n --background: #82298F;\n --background-hover: #82298F;\n --background-activated: #82298F;\n --background-focused: #82298F;\n\n --color: #fff;\n\n --border-radius: 20px;\n --border-color: #82298F;\n ;\n --border-style: solid;\n --border-width: 1px;\n\n --box-shadow: 0 2px 6px 0 rgb(0, 0, 0, 0.25);\n\n --ripple-color: #82298F;\n\n\n &:hover {\n background-color: #82298F;\n }\n\n &:active {\n background-color: #82298F;\n }\n }\n}\n\n\n\n\n\nion-header {\n --background: #fff;\n /* Fondo blanco */\n color: #000000;\n /* Texto negro */\n}\n\nion-toolbar {\n --ion-background-color: #fff !important;\n --background: #ffffff !important;\n --color: #000000 !important;\n}\n\n.centered-title {\n flex: 1;\n text-align: center;\n /* Centrar el t\u00EDtulo */\n font-weight: bold;\n color: #000000;\n margin: 0;\n /* Quita cualquier margen del t\u00EDtulo */\n}\n\nion-buttons {\n justify-content: flex-end;\n /* Alinea el bot\u00F3n a la derecha */\n}\n\n.countdown-overlay {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(0, 0, 0, 0.6);\n /* Fondo semi-transparente */\n display: flex;\n align-items: center;\n justify-content: center;\n margin: 0;\n padding: 0;\n z-index: 1000;\n /* Asegurarse de que est\u00E9 encima de otros elementos */\n animation: fadeIn 0.5s ease-out, fadeOut 0.5s ease-out 2.5s;\n /* Animaciones de entrada y salida */\n box-sizing: border-box;\n border-radius: 0px;\n\n}\n\nion-content.custom-content {\n --padding-top: 0;\n --padding-bottom: 0;\n margin: 0;\n padding: 0;\n}\n\n.countdown {\n font-size: 100px;\n font-weight: bold;\n color: #fff;\n animation: scaleUp 0.5s ease-out, scaleDown 0.5s ease-out 2.5s;\n /* Escalar en entrada y salida */\n}\n\n/* Animaci\u00F3n para desvanecer la superposici\u00F3n */\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n\n to {\n opacity: 1;\n }\n}\n\n@keyframes fadeOut {\n from {\n opacity: 1;\n }\n\n to {\n opacity: 0;\n }\n}\n\n/* Animaci\u00F3n para escalar el n\u00FAmero */\n@keyframes scaleUp {\n from {\n transform: scale(0.8);\n opacity: 0;\n }\n\n to {\n transform: scale(1);\n opacity: 1;\n }\n}\n\n@keyframes scaleDown {\n from {\n transform: scale(1);\n opacity: 1;\n }\n\n to {\n transform: scale(0.8);\n opacity: 0;\n }\n}\n\n.red {\n padding: 10px;\n color: red;\n}\n\n.text-center {\n text-align: center;\n padding-left: 20%;\n padding-right: 20%;\n color: #333;\n}\n\n.loading-overlay {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(0, 0, 0, 0.8);\n /* Fondo oscuro semi-transparente */\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1000;\n /* Aseg\u00FArate de que est\u00E9 por encima del contenido */\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n border-radius: 0px;\n}\n\nion-spinner {\n color: #fff;\n width: 50px;\n height: 50px;\n}"] }]
|
|
318
352
|
}], () => [{ type: i1.Platform }, { type: i1.ModalController }, { type: i2.DomSanitizer }, { type: i0.Renderer2 }, { type: i1.AlertController }, { type: i0.ChangeDetectorRef }, { type: i3.ModalVideoSelfieServices }, { type: i4.ModalDpiServices }], { videoElement: [{
|
|
319
353
|
type: ViewChild,
|
|
320
354
|
args: ['videoElement']
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"camara-video-selfie.component.js","sourceRoot":"","sources":["../../../../../../../src/app/pages/id-vision/components/camara-video-selfie/camara-video-selfie.component.ts","../../../../../../../src/app/pages/id-vision/components/camara-video-selfie/camara-video-selfie.component.html"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"camara-video-selfie.component.js","sourceRoot":"","sources":["../../../../../../../src/app/pages/id-vision/components/camara-video-selfie/camara-video-selfie.component.ts","../../../../../../../src/app/pages/id-vision/components/camara-video-selfie/camara-video-selfie.component.html"],"names":[],"mappings":"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"}
|
package/dist/src/app/pages/id-vision/components/camera-with-overlay/camera-with-overlay.component.js
CHANGED
|
@@ -8,14 +8,14 @@ import * as i3 from "@angular/common";
|
|
|
8
8
|
const _c0 = ["videoElement"];
|
|
9
9
|
function CameraWithOverlayComponent_ion_fab_2_Template(rf, ctx) { if (rf & 1) {
|
|
10
10
|
const _r2 = i0.ɵɵgetCurrentView();
|
|
11
|
-
i0.ɵɵelementStart(0, "ion-fab",
|
|
11
|
+
i0.ɵɵelementStart(0, "ion-fab", 17)(1, "ion-fab-button", 18);
|
|
12
12
|
i0.ɵɵlistener("click", function CameraWithOverlayComponent_ion_fab_2_Template_ion_fab_button_click_1_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.toggleRearCam()); });
|
|
13
|
-
i0.ɵɵelement(2, "ion-icon",
|
|
13
|
+
i0.ɵɵelement(2, "ion-icon", 19);
|
|
14
14
|
i0.ɵɵelementEnd()();
|
|
15
15
|
} }
|
|
16
16
|
function CameraWithOverlayComponent_div_9_Template(rf, ctx) { if (rf & 1) {
|
|
17
|
-
i0.ɵɵelementStart(0, "div",
|
|
18
|
-
i0.ɵɵelement(1, "ion-spinner",
|
|
17
|
+
i0.ɵɵelementStart(0, "div", 20);
|
|
18
|
+
i0.ɵɵelement(1, "ion-spinner", 21);
|
|
19
19
|
i0.ɵɵelementEnd();
|
|
20
20
|
} }
|
|
21
21
|
export class CameraWithOverlayComponent {
|
|
@@ -197,7 +197,7 @@ export class CameraWithOverlayComponent {
|
|
|
197
197
|
} if (rf & 2) {
|
|
198
198
|
let _t;
|
|
199
199
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.videoElement = _t.first);
|
|
200
|
-
} }, inputs: { text1: "text1", text2: "text2", overlaySrc: "overlaySrc", onTakePicture: "onTakePicture" }, outputs: { closeRequested: "closeRequested" }, decls:
|
|
200
|
+
} }, inputs: { text1: "text1", text2: "text2", overlaySrc: "overlaySrc", onTakePicture: "onTakePicture" }, outputs: { closeRequested: "closeRequested" }, decls: 20, vars: 5, consts: [["videoElement", ""], ["color", "dark"], [1, "camera-overlay"], ["vertical", "top", "horizontal", "start", "slot", "fixed", 4, "ngIf"], [1, "header-text"], [1, "text-help"], [1, "country"], ["class", "loading-overlay", 4, "ngIf"], [1, "visible-window"], [1, "camera-container"], ["autoplay", "", "muted", "", "playsinline", ""], ["alt", "Overlay", 1, "overlay-frame", "blink-image", 3, "src"], [1, "button-container"], ["shape", "round", "expand", "block", 1, "capture-button", 3, "click"], ["name", "camera-outline"], ["fill", "clear", 1, "close-button", 3, "click"], ["name", "close-outline"], ["vertical", "top", "horizontal", "start", "slot", "fixed"], ["size", "small", 1, "buttonfabCameraChange", 3, "click"], ["name", "camera-reverse-outline"], [1, "loading-overlay"], ["name", "crescent"]], template: function CameraWithOverlayComponent_Template(rf, ctx) { if (rf & 1) {
|
|
201
201
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
202
202
|
i0.ɵɵelementStart(0, "ion-content", 1)(1, "div", 2);
|
|
203
203
|
i0.ɵɵtemplate(2, CameraWithOverlayComponent_ion_fab_2_Template, 3, 0, "ion-fab", 3);
|
|
@@ -210,15 +210,15 @@ export class CameraWithOverlayComponent {
|
|
|
210
210
|
i0.ɵɵtemplate(9, CameraWithOverlayComponent_div_9_Template, 2, 0, "div", 7);
|
|
211
211
|
i0.ɵɵelement(10, "div", 8);
|
|
212
212
|
i0.ɵɵelementStart(11, "div", 9);
|
|
213
|
-
i0.ɵɵelement(12, "video", 10, 0);
|
|
213
|
+
i0.ɵɵelement(12, "video", 10, 0)(14, "img", 11);
|
|
214
214
|
i0.ɵɵelementEnd();
|
|
215
|
-
i0.ɵɵelementStart(
|
|
216
|
-
i0.ɵɵlistener("click", function
|
|
217
|
-
i0.ɵɵelement(
|
|
215
|
+
i0.ɵɵelementStart(15, "div", 12)(16, "ion-button", 13);
|
|
216
|
+
i0.ɵɵlistener("click", function CameraWithOverlayComponent_Template_ion_button_click_16_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.capturePhoto()); });
|
|
217
|
+
i0.ɵɵelement(17, "ion-icon", 14);
|
|
218
218
|
i0.ɵɵelementEnd()();
|
|
219
|
-
i0.ɵɵelementStart(
|
|
220
|
-
i0.ɵɵlistener("click", function
|
|
221
|
-
i0.ɵɵelement(
|
|
219
|
+
i0.ɵɵelementStart(18, "ion-button", 15);
|
|
220
|
+
i0.ɵɵlistener("click", function CameraWithOverlayComponent_Template_ion_button_click_18_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.closeOverlay()); });
|
|
221
|
+
i0.ɵɵelement(19, "ion-icon", 16);
|
|
222
222
|
i0.ɵɵelementEnd()()();
|
|
223
223
|
} if (rf & 2) {
|
|
224
224
|
i0.ɵɵadvance(2);
|
|
@@ -229,11 +229,13 @@ export class CameraWithOverlayComponent {
|
|
|
229
229
|
i0.ɵɵtextInterpolate(ctx.text2);
|
|
230
230
|
i0.ɵɵadvance();
|
|
231
231
|
i0.ɵɵproperty("ngIf", ctx.isLoading);
|
|
232
|
-
|
|
232
|
+
i0.ɵɵadvance(5);
|
|
233
|
+
i0.ɵɵproperty("src", ctx.overlaySrc, i0.ɵɵsanitizeUrl);
|
|
234
|
+
} }, dependencies: [i3.NgIf, i1.IonButton, i1.IonContent, i1.IonFab, i1.IonFabButton, i1.IonIcon, i1.IonSpinner], styles: ["ion-content[_ngcontent-%COMP%] {\n --background: black;\n padding: 0;\n margin: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n height: 100vh;\n\n}\n\n\n.blink-image[_ngcontent-%COMP%] {\n animation: _ngcontent-%COMP%_blink 3s infinite;\n}\n\n@keyframes _ngcontent-%COMP%_blink {\n 0% { opacity: 1; }\n 50% { opacity: 0; }\n 100% { opacity: 1; }\n}\n\n.modal-container[_ngcontent-%COMP%] {\n max-width: 400px; // Ajusta el valor seg\u00FAn tus necesidades\n\n}\n\n.camera-overlay[_ngcontent-%COMP%] {\n position: relative;\n width: 100vw;\n height: 100vh;\n display: flex;\n justify-content: center;\n align-items: center;\n overflow: hidden;\n}\n\n.camera-container[_ngcontent-%COMP%] {\n width: 100%;\n height: 100%;\n position: relative;\n\n video {\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n}\n\n.overlay-frame[_ngcontent-%COMP%] {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n max-width: 86%;\n max-height: 90%;\n z-index: 9;\n}\n\n.header-text[_ngcontent-%COMP%] {\n position: absolute;\n top: 50px;\n width: 100%;\n text-align: center;\n color: white;\n z-index: 15;\n\n p {\n margin: 0;\n font-size: 18px;\n }\n\n .country {\n font-weight: bold;\n }\n}\n\n.button-container[_ngcontent-%COMP%] {\n position: absolute;\n bottom: 20px;\n width: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n z-index: 10;\n}\n\n.capture-button[_ngcontent-%COMP%] {\n width: 70px;\n height: 70px;\n border-radius: 50%;\n\n\n --background: var(--purple-primary);\n --background-hover: var(--purple-secondary);\n --background-activated: var(--purple-secondary);\n --background-focused: var(--purple-secondary);\n \n --color: white;\n \n --border-color: var(--purple-primary);\n --border-style: solid;\n --border-width: 1px;\n \n --box-shadow: 0 2px 6px 0 rgb(0, 0, 0, 0.25);\n \n --ripple-color: var(--purple-secondary);\n}\n\n.close-button[_ngcontent-%COMP%] {\n position: absolute;\n top: 14px;\n right: 20px;\n color: white;\n z-index: 10;\n}\n\n.visible-window[_ngcontent-%COMP%] {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n // width: 70%; \n\n // height: 45%; \n\n\n width: 313px;\n height: 500px;\n\n max-width: 90%;\n max-height: 90%;\n background: transparent;\n border: 2px solid white; \n\n border-radius: 10px; \n\n z-index: 10; \n\n box-shadow: 0 0 0 100vw rgba(0, 0, 0, 0.65); \n\n}\n.text-help[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{\n display: inline-block; \n\n background-color: white; \n\n padding:15px; \n\n border-radius: 5px; \n\n color: black; \n\n box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1); \n\n animation: _ngcontent-%COMP%_popIn 1s ease-in-out; \n\n margin-left: 10px;\n margin-right: 10px;\n\n}\n\n\n\n@keyframes _ngcontent-%COMP%_popIn {\n 0% {\n transform: scale(0.8); \n\n opacity: 0; \n\n }\n 50% {\n transform: scale(1.1); \n\n opacity: 1; \n\n }\n 100% {\n transform: scale(1); \n\n }\n}\n\n.loading-overlay[_ngcontent-%COMP%] {\n position: fixed;\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n background-color: rgba(0, 0, 0, 0.8); \n\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1000; \n\n}\n\nion-spinner[_ngcontent-%COMP%] {\n color: white;\n width: 50px;\n height: 50px;\n}\n\n\n\n.camera-select[_ngcontent-%COMP%] {\n position: absolute;\n top: 1rem;\n left: 1rem;\n background: rgba(0, 0, 0, 0.7);\n padding: 0.5rem;\n border-radius: 0.5rem;\n z-index: 999;\n display: flex;\n align-items: center;\n color: white;\n\n label {\n margin-right: 0.5rem;\n font-size: 14px;\n }\n\n select {\n background: transparent;\n color: white;\n border: 1px solid white;\n border-radius: 0.3rem;\n font-size: 14px;\n padding: 0.2rem;\n }\n}\n\n.buttonfabCameraChange[_ngcontent-%COMP%] {\n --background: rgba(0, 0, 0, 0.6);\n --color: #fff;\n //box-shadow: 0 2px 6px rgba(0, 0, 0, 0.4);\n \n\n \n\n}"] }); }
|
|
233
235
|
}
|
|
234
236
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CameraWithOverlayComponent, [{
|
|
235
237
|
type: Component,
|
|
236
|
-
args: [{ selector: 'app-camera-overlay', encapsulation: ViewEncapsulation.Emulated, template: "<ion-content color=\"dark\">\n <div class=\"camera-overlay\">\n <ion-fab vertical=\"top\" horizontal=\"start\" slot=\"fixed\" *ngIf=\"rearCams.length > 1\">\n <ion-fab-button\n class=\"buttonfabCameraChange\"\n size=\"small\"\n (click)=\"toggleRearCam()\">\n <ion-icon name=\"camera-reverse-outline\"></ion-icon>\n </ion-fab-button>\n </ion-fab>\n <!-- \u25B8 Encabezado ---------------------------------------------------- -->\n <div class=\"header-text\">\n <div class=\"text-help\">\n <p>{{ text1 }}</p>\n </div>\n <p class=\"country\">{{ text2 }}</p>\n\n <!-- \u25B8 Selector de c\u00E1maras traseras (solo se muestra si hay varias) -->\n <!-- <ion-item class=\"cam-picker\" lines=\"none\">\n <ion-label>Elegir c\u00E1mara</ion-label>\n <ion-select interface=\"popover\"\n [value]=\"selectedCamId\"\n (ionChange)=\"onSelectCam($event)\">\n <ion-select-option *ngFor=\"let cam of rearCams\"\n [value]=\"cam.deviceId\">\n {{ cam.label }}\n </ion-select-option>\n </ion-select>\n </ion-item>-->\n </div> \n\n <!-- \u25B8 Loader mientras inicializa ------------------------------------ -->\n <div *ngIf=\"isLoading\" class=\"loading-overlay\">\n <ion-spinner name=\"crescent\"></ion-spinner>\n </div>\n\n <!-- \u25B8 Capa oscura con recorte (tu ventana de enfoque) --------------- -->\n <div class=\"visible-window\"></div>\n\n <!-- \u25B8 Contenedor del v\u00EDdeo + overlay -------------------------------- -->\n <div class=\"camera-container\">\n <video #videoElement autoplay muted playsinline></video>\n
|
|
238
|
+
args: [{ selector: 'app-camera-overlay', encapsulation: ViewEncapsulation.Emulated, template: "<ion-content color=\"dark\">\n <div class=\"camera-overlay\">\n <ion-fab vertical=\"top\" horizontal=\"start\" slot=\"fixed\" *ngIf=\"rearCams.length > 1\">\n <ion-fab-button\n class=\"buttonfabCameraChange\"\n size=\"small\"\n (click)=\"toggleRearCam()\">\n <ion-icon name=\"camera-reverse-outline\"></ion-icon>\n </ion-fab-button>\n </ion-fab>\n <!-- \u25B8 Encabezado ---------------------------------------------------- -->\n <div class=\"header-text\">\n <div class=\"text-help\">\n <p>{{ text1 }}</p>\n </div>\n <p class=\"country\">{{ text2 }}</p>\n\n <!-- \u25B8 Selector de c\u00E1maras traseras (solo se muestra si hay varias) -->\n <!-- <ion-item class=\"cam-picker\" lines=\"none\">\n <ion-label>Elegir c\u00E1mara</ion-label>\n <ion-select interface=\"popover\"\n [value]=\"selectedCamId\"\n (ionChange)=\"onSelectCam($event)\">\n <ion-select-option *ngFor=\"let cam of rearCams\"\n [value]=\"cam.deviceId\">\n {{ cam.label }}\n </ion-select-option>\n </ion-select>\n </ion-item>-->\n </div> \n\n <!-- \u25B8 Loader mientras inicializa ------------------------------------ -->\n <div *ngIf=\"isLoading\" class=\"loading-overlay\">\n <ion-spinner name=\"crescent\"></ion-spinner>\n </div>\n\n <!-- \u25B8 Capa oscura con recorte (tu ventana de enfoque) --------------- -->\n <div class=\"visible-window\"></div>\n\n <!-- \u25B8 Contenedor del v\u00EDdeo + overlay -------------------------------- -->\n <div class=\"camera-container\">\n <video #videoElement autoplay muted playsinline></video>\n <img [src]=\"overlaySrc\" alt=\"Overlay\" class=\"overlay-frame blink-image\" />\n </div>\n\n <!-- \u25B8 Bot\u00F3n de captura ---------------------------------------------- -->\n <div class=\"button-container\">\n <ion-button (click)=\"capturePhoto()\"\n class=\"capture-button\"\n shape=\"round\"\n expand=\"block\">\n <ion-icon name=\"camera-outline\"></ion-icon>\n </ion-button>\n </div>\n\n <!-- \u25B8 Bot\u00F3n de cerrar ------------------------------------------------ -->\n <ion-button fill=\"clear\"\n (click)=\"closeOverlay()\"\n class=\"close-button\">\n <ion-icon name=\"close-outline\"></ion-icon>\n </ion-button>\n </div>\n</ion-content>\n", styles: ["ion-content {\n --background: black;\n padding: 0;\n margin: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n height: 100vh;\n\n}\n\n\n.blink-image {\n animation: blink 3s infinite;\n}\n\n@keyframes blink {\n 0% { opacity: 1; }\n 50% { opacity: 0; }\n 100% { opacity: 1; }\n}\n\n.modal-container {\n max-width: 400px; // Ajusta el valor seg\u00FAn tus necesidades\n\n}\n\n.camera-overlay {\n position: relative;\n width: 100vw;\n height: 100vh;\n display: flex;\n justify-content: center;\n align-items: center;\n overflow: hidden;\n}\n\n.camera-container {\n width: 100%;\n height: 100%;\n position: relative;\n\n video {\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n}\n\n.overlay-frame {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n max-width: 86%;\n max-height: 90%;\n z-index: 9;\n}\n\n.header-text {\n position: absolute;\n top: 50px;\n width: 100%;\n text-align: center;\n color: white;\n z-index: 15;\n\n p {\n margin: 0;\n font-size: 18px;\n }\n\n .country {\n font-weight: bold;\n }\n}\n\n.button-container {\n position: absolute;\n bottom: 20px;\n width: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n z-index: 10;\n}\n\n.capture-button {\n width: 70px;\n height: 70px;\n border-radius: 50%;\n\n\n --background: var(--purple-primary);\n --background-hover: var(--purple-secondary);\n --background-activated: var(--purple-secondary);\n --background-focused: var(--purple-secondary);\n \n --color: white;\n \n --border-color: var(--purple-primary);\n --border-style: solid;\n --border-width: 1px;\n \n --box-shadow: 0 2px 6px 0 rgb(0, 0, 0, 0.25);\n \n --ripple-color: var(--purple-secondary);\n}\n\n.close-button {\n position: absolute;\n top: 14px;\n right: 20px;\n color: white;\n z-index: 10;\n}\n\n.visible-window {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n // width: 70%; /* Ajusta el tama\u00F1o del cuadro */\n // height: 45%; /* Ajusta el tama\u00F1o del cuadro */\n\n width: 313px;\n height: 500px;\n\n max-width: 90%;\n max-height: 90%;\n background: transparent;\n border: 2px solid white; /* Color y grosor del borde */\n border-radius: 10px; /* Ajusta para redondear las esquinas */\n z-index: 10; /* Aseg\u00FArate de que est\u00E9 encima del overlay oscuro */\n box-shadow: 0 0 0 100vw rgba(0, 0, 0, 0.65); /* Oscurece fuera del cuadro */\n}\n.text-help p{\n display: inline-block; /* Hace que solo el texto ocupe espacio */\n background-color: white; /* Color de fondo del texto */\n padding:15px; /* Espaciado interno para una mejor visualizaci\u00F3n */\n border-radius: 5px; /* Opcional, para esquinas redondeadas */\n color: black; /* Color del texto */\n box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1); /* Sombra leve */\n animation: popIn 1s ease-in-out; /* Agrega la animaci\u00F3n al aparecer */\n margin-left: 10px;\n margin-right: 10px;\n\n}\n\n/* Definimos la animaci\u00F3n \"popIn\" */\n@keyframes popIn {\n 0% {\n transform: scale(0.8); /* Comienza m\u00E1s peque\u00F1o */\n opacity: 0; /* Empieza invisible */\n }\n 50% {\n transform: scale(1.1); /* Crece un poco m\u00E1s de lo normal */\n opacity: 1; /* Se hace visible */\n }\n 100% {\n transform: scale(1); /* Vuelve a su tama\u00F1o normal */\n }\n}\n\n.loading-overlay {\n position: fixed;\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n background-color: rgba(0, 0, 0, 0.8); /* Fondo oscuro semi-transparente */\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1000; /* Aseg\u00FArate de que est\u00E9 por encima del contenido */\n}\n\nion-spinner {\n color: white;\n width: 50px;\n height: 50px;\n}\n\n\n\n.camera-select {\n position: absolute;\n top: 1rem;\n left: 1rem;\n background: rgba(0, 0, 0, 0.7);\n padding: 0.5rem;\n border-radius: 0.5rem;\n z-index: 999;\n display: flex;\n align-items: center;\n color: white;\n\n label {\n margin-right: 0.5rem;\n font-size: 14px;\n }\n\n select {\n background: transparent;\n color: white;\n border: 1px solid white;\n border-radius: 0.3rem;\n font-size: 14px;\n padding: 0.2rem;\n }\n}\n\n.buttonfabCameraChange {\n --background: rgba(0, 0, 0, 0.6);\n --color: #fff;\n //box-shadow: 0 2px 6px rgba(0, 0, 0, 0.4);\n /* ajusta posici\u00F3n extra si lo necesitas */\n /* margin-top: 8px; margin-left: 8px; */\n}\n"] }]
|
|
237
239
|
}], () => [{ type: i1.Platform }, { type: i1.ModalController }, { type: i2.ModalDpiServices }], { videoElement: [{
|
|
238
240
|
type: ViewChild,
|
|
239
241
|
args: ['videoElement']
|