@jaak.ai/stamps 2.5.7-dev.4 → 2.5.7
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/cjs/{index-BcFBOmM6.js → index-D6NBn_qu.js} +4 -30
- package/dist/cjs/index-D6NBn_qu.js.map +1 -0
- package/dist/cjs/jaak-stamps-webcomponent.cjs.js +2 -2
- package/dist/cjs/jaak-stamps.cjs.entry.js +72 -145
- package/dist/cjs/jaak-stamps.cjs.entry.js.map +1 -1
- package/dist/cjs/jaak-stamps.entry.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/{jaak-stamps/jaak-stamps.js → my-component/my-component.js} +34 -90
- package/dist/collection/components/my-component/my-component.js.map +1 -0
- package/dist/collection/components/my-component/watermark-fallback.js.map +1 -0
- package/dist/collection/services/DetectionService.js +38 -60
- package/dist/collection/services/DetectionService.js.map +1 -1
- package/dist/collection/utils/utils.js +4 -0
- package/dist/collection/utils/utils.js.map +1 -0
- package/dist/components/index.js +2 -20
- package/dist/components/index.js.map +1 -1
- package/dist/components/jaak-stamps.js +71 -147
- package/dist/components/jaak-stamps.js.map +1 -1
- package/dist/esm/{index-Cb0ILUvS.js → index-BCfAsrzL.js} +4 -30
- package/dist/esm/index-BCfAsrzL.js.map +1 -0
- package/dist/esm/jaak-stamps-webcomponent.js +3 -3
- package/dist/esm/jaak-stamps.entry.js +72 -145
- package/dist/esm/jaak-stamps.entry.js.map +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/jaak-stamps-webcomponent/jaak-stamps-webcomponent.esm.js +1 -1
- package/dist/jaak-stamps-webcomponent/jaak-stamps.entry.esm.js.map +1 -1
- package/dist/jaak-stamps-webcomponent/{p-9afd846d.entry.js → p-63c2c085.entry.js} +3 -3
- package/dist/jaak-stamps-webcomponent/p-63c2c085.entry.js.map +1 -0
- package/dist/jaak-stamps-webcomponent/p-BCfAsrzL.js +3 -0
- package/dist/jaak-stamps-webcomponent/p-BCfAsrzL.js.map +1 -0
- package/dist/types/components/{jaak-stamps/jaak-stamps.d.ts → my-component/my-component.d.ts} +0 -5
- package/dist/types/services/DetectionService.d.ts +4 -5
- package/dist/types/utils/utils.d.ts +1 -0
- package/package.json +4 -4
- package/dist/cjs/index-BcFBOmM6.js.map +0 -1
- package/dist/collection/components/jaak-stamps/jaak-stamps.js.map +0 -1
- package/dist/collection/components/jaak-stamps/watermark-fallback.js.map +0 -1
- package/dist/esm/index-Cb0ILUvS.js.map +0 -1
- package/dist/jaak-stamps-webcomponent/p-9afd846d.entry.js.map +0 -1
- package/dist/jaak-stamps-webcomponent/p-Cb0ILUvS.js +0 -3
- package/dist/jaak-stamps-webcomponent/p-Cb0ILUvS.js.map +0 -1
- /package/dist/collection/components/{jaak-stamps/jaak-stamps.css → my-component/my-component.css} +0 -0
- /package/dist/collection/components/{jaak-stamps → my-component}/watermark-fallback.js +0 -0
- /package/dist/types/components/{jaak-stamps → my-component}/watermark-fallback.d.ts +0 -0
package/dist/cjs/loader.cjs.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-D6NBn_qu.js');
|
|
4
4
|
var appGlobals = require('./app-globals-V2Kpy_OQ.js');
|
|
5
5
|
|
|
6
6
|
const defineCustomElements = async (win, options) => {
|
|
7
7
|
if (typeof window === 'undefined') return undefined;
|
|
8
8
|
await appGlobals.globalScripts();
|
|
9
|
-
return index.bootstrapLazy([["jaak-stamps.cjs",[[257,"jaak-stamps",{"debug":[4],"alignmentTolerance":[2,"alignment-tolerance"],"maskSize":[2,"mask-size"],"cropMargin":[2,"crop-margin"],"useDocumentClassification":[4,"use-document-classification"],"useDocumentDetector":[4,"use-document-detector"],"preferredCamera":[1,"preferred-camera"],"captureDelay":[2,"capture-delay"],"enableBackDocumentTimer":[4,"enable-back-document-timer"],"backDocumentTimerDuration":[2,"back-document-timer-duration"],"telemetryCollectorUrl":[1,"telemetry-collector-url"],"metricsCollectorUrl":[1,"metrics-collector-url"],"enableTelemetry":[4,"enable-telemetry"],"enableMetrics":[4,"enable-metrics"],"customerId":[1,"customer-id"],"tenantId":[1,"tenant-id"],"environment":[1],"propagateTraceHeaderCorsUrls":[1,"propagate-trace-header-cors-urls"],"metricsExportIntervalMillis":[2,"metrics-export-interval-millis"],"license":[1],"licenseEnvironment":[1,"license-environment"],"traceId":[1,"trace-id"],"appId":[1,"app-id"],"detectionBoxes":[32],"sideAlignment":[32],"isMaskReady":[32],"shouldMirrorVideo":[32],"showCameraSelector":[32],"isSwitchingCamera":[32],"hasDocumentDetected":[32],"cameraInfoWithAutofocus":[32],"currentStatus":[32],"performanceData":[32],"backDocumentTimerRemaining":[32],"showManualCaptureButton":[32],"performanceDegradedMode":[32],"showPerformanceMessage":[32],"captureStateVersion":[32],"processingButton":[32],"licenseValid":[32],"licenseError":[32],"classificationDisabled":[32],"getCapturedImages":[64],"isProcessCompleted":[64],"startCapture":[64],"stopCapture":[64],"resetCapture":[64],"skipBackCapture":[64],"getStatus":[64],"preloadModel":[64],"getCameraInfo":[64],"setPreferredCamera":[64],"setCaptureDelay":[64],"getCaptureDelay":[64]}
|
|
9
|
+
return index.bootstrapLazy([["jaak-stamps.cjs",[[257,"jaak-stamps",{"debug":[4],"alignmentTolerance":[2,"alignment-tolerance"],"maskSize":[2,"mask-size"],"cropMargin":[2,"crop-margin"],"useDocumentClassification":[4,"use-document-classification"],"useDocumentDetector":[4,"use-document-detector"],"preferredCamera":[1,"preferred-camera"],"captureDelay":[2,"capture-delay"],"enableBackDocumentTimer":[4,"enable-back-document-timer"],"backDocumentTimerDuration":[2,"back-document-timer-duration"],"telemetryCollectorUrl":[1,"telemetry-collector-url"],"metricsCollectorUrl":[1,"metrics-collector-url"],"enableTelemetry":[4,"enable-telemetry"],"enableMetrics":[4,"enable-metrics"],"customerId":[1,"customer-id"],"tenantId":[1,"tenant-id"],"environment":[1],"propagateTraceHeaderCorsUrls":[1,"propagate-trace-header-cors-urls"],"metricsExportIntervalMillis":[2,"metrics-export-interval-millis"],"license":[1],"licenseEnvironment":[1,"license-environment"],"traceId":[1,"trace-id"],"appId":[1,"app-id"],"detectionBoxes":[32],"sideAlignment":[32],"isMaskReady":[32],"shouldMirrorVideo":[32],"showCameraSelector":[32],"isSwitchingCamera":[32],"hasDocumentDetected":[32],"cameraInfoWithAutofocus":[32],"currentStatus":[32],"performanceData":[32],"backDocumentTimerRemaining":[32],"showManualCaptureButton":[32],"performanceDegradedMode":[32],"showPerformanceMessage":[32],"captureStateVersion":[32],"processingButton":[32],"licenseValid":[32],"licenseError":[32],"classificationDisabled":[32],"getCapturedImages":[64],"isProcessCompleted":[64],"startCapture":[64],"stopCapture":[64],"resetCapture":[64],"skipBackCapture":[64],"getStatus":[64],"preloadModel":[64],"getCameraInfo":[64],"setPreferredCamera":[64],"setCaptureDelay":[64],"getCaptureDelay":[64]}]]]], options);
|
|
10
10
|
};
|
|
11
11
|
|
|
12
12
|
exports.setNonce = index.setNonce;
|
package/dist/collection/components/{jaak-stamps/jaak-stamps.js → my-component/my-component.js}
RENAMED
|
@@ -24,7 +24,7 @@ export class JaakStamps {
|
|
|
24
24
|
propagateTraceHeaderCorsUrls; // Comma-separated URLs or regex patterns
|
|
25
25
|
metricsExportIntervalMillis = 60000; // Export metrics every 60 seconds
|
|
26
26
|
license; // License key for validation
|
|
27
|
-
licenseEnvironment = 'prod';
|
|
27
|
+
licenseEnvironment = 'prod'; // Environment for license validation
|
|
28
28
|
traceId; // Optional trace ID for tracking
|
|
29
29
|
appId = 'jaak-stamps-web'; // Application ID for license validation
|
|
30
30
|
captureCompleted;
|
|
@@ -72,8 +72,6 @@ export class JaakStamps {
|
|
|
72
72
|
licenseValid = true; // License validation status
|
|
73
73
|
licenseError = null; // License validation error message
|
|
74
74
|
classificationDisabled = false; // Classification disabled at runtime due to errors
|
|
75
|
-
_initialized = false;
|
|
76
|
-
_initializing = false;
|
|
77
75
|
// Services
|
|
78
76
|
licenseValidationService = null;
|
|
79
77
|
serviceContainer;
|
|
@@ -143,12 +141,8 @@ export class JaakStamps {
|
|
|
143
141
|
canvasPool = [];
|
|
144
142
|
MAX_CANVAS_POOL_SIZE = 3;
|
|
145
143
|
async componentWillLoad() {
|
|
146
|
-
// Use setTimeout(0) instead of Promise.resolve() so Angular's synchronous change-detection
|
|
147
|
-
// cycle (which sets property bindings like licenseEnvironment) finishes before we read props.
|
|
148
|
-
// A microtask yield is not enough when the consuming framework defers its first CD cycle.
|
|
149
|
-
await new Promise(resolve => setTimeout(resolve, 0));
|
|
150
144
|
if (this.debug) {
|
|
151
|
-
console.log('[JAAK-DEBUG] componentWillLoad() - Props
|
|
145
|
+
console.log('[JAAK-DEBUG] componentWillLoad() - Props at initialization:');
|
|
152
146
|
console.log('[JAAK-DEBUG] useDocumentDetector:', this.useDocumentDetector, '(type:', typeof this.useDocumentDetector, ')');
|
|
153
147
|
console.log('[JAAK-DEBUG] useDocumentClassification:', this.useDocumentClassification);
|
|
154
148
|
console.log('[JAAK-DEBUG] debug:', this.debug);
|
|
@@ -160,64 +154,32 @@ export class JaakStamps {
|
|
|
160
154
|
console.log('[JAAK-DEBUG] preferredCamera:', this.preferredCamera);
|
|
161
155
|
console.log('[JAAK-DEBUG] appId:', this.appId);
|
|
162
156
|
}
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
else {
|
|
170
|
-
// License present — pre-set the first status synchronously so the initial render
|
|
171
|
-
// already shows it, preventing a state change inside componentDidLoad that Stencil
|
|
172
|
-
// would flag as an extra re-render.
|
|
173
|
-
this.updateStatus('Validando licencia...', 'Verificando autorización de uso', 'initializing');
|
|
174
|
-
}
|
|
175
|
-
// Heavy initialization is deferred to componentDidLoad so the first render is not blocked
|
|
176
|
-
}
|
|
177
|
-
async componentDidLoad() {
|
|
178
|
-
// License absent at mount time — @Watch('license') handles initialization when it arrives
|
|
179
|
-
if (!this.license || this._initialized || this._initializing) {
|
|
180
|
-
return;
|
|
157
|
+
// License is required - always validate
|
|
158
|
+
// Wait a bit to ensure props are set from attributes
|
|
159
|
+
await new Promise(resolve => setTimeout(resolve, 50));
|
|
160
|
+
if (this.debug) {
|
|
161
|
+
console.log('[JAAK-DEBUG] Props AFTER 50ms wait:');
|
|
162
|
+
console.log('[JAAK-DEBUG] useDocumentDetector:', this.useDocumentDetector, '(type:', typeof this.useDocumentDetector, ')');
|
|
181
163
|
}
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
if (!
|
|
164
|
+
this.updateStatus('Validando licencia...', 'Verificando autorización de uso', 'initializing');
|
|
165
|
+
await this.validateLicense();
|
|
166
|
+
// If license validation failed, stop initialization
|
|
167
|
+
if (!this.licenseValid) {
|
|
168
|
+
if (this.debug) {
|
|
169
|
+
console.error('[JAAK-DEBUG] License validation FAILED. Stopping initialization.');
|
|
170
|
+
}
|
|
186
171
|
return;
|
|
187
172
|
}
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
await this.validateAndInitialize();
|
|
191
|
-
}
|
|
192
|
-
async onLicenseEnvironmentChanged() {
|
|
193
|
-
// Always recreate the service so the correct environment URL is used from now on.
|
|
194
|
-
this.licenseValidationService = new LicenseValidationService(this.licenseEnvironment);
|
|
195
|
-
// If a license is present but the component never finished initializing
|
|
196
|
-
// (e.g. first validate ran against the wrong env and failed, or license arrived
|
|
197
|
-
// before licenseEnvironment was set), retry the full init flow now.
|
|
198
|
-
if (this.license && !this._initialized && !this._initializing) {
|
|
199
|
-
this.updateStatus('Validando licencia...', 'Verificando autorización de uso', 'initializing');
|
|
200
|
-
await this.validateAndInitialize();
|
|
173
|
+
if (this.debug) {
|
|
174
|
+
console.log('[JAAK-DEBUG] License validation OK');
|
|
201
175
|
}
|
|
202
176
|
}
|
|
203
|
-
async
|
|
204
|
-
if (this._initialized || this._initializing) {
|
|
205
|
-
return;
|
|
206
|
-
}
|
|
207
|
-
this._initializing = true;
|
|
177
|
+
async componentDidLoad() {
|
|
208
178
|
try {
|
|
209
|
-
//
|
|
210
|
-
// to avoid a state change inside componentDidLoad that Stencil warns about.
|
|
211
|
-
await this.validateLicense();
|
|
179
|
+
// If license validation failed, stop initialization
|
|
212
180
|
if (!this.licenseValid) {
|
|
213
|
-
if (this.debug) {
|
|
214
|
-
console.error('[JAAK-DEBUG] License validation FAILED. Stopping initialization.');
|
|
215
|
-
}
|
|
216
181
|
return;
|
|
217
182
|
}
|
|
218
|
-
if (this.debug) {
|
|
219
|
-
console.log('[JAAK-DEBUG] License validation OK');
|
|
220
|
-
}
|
|
221
183
|
this.updateStatus('Preparando capturador...', 'Configurando herramientas de captura', 'initializing');
|
|
222
184
|
await this.initializeServices();
|
|
223
185
|
this.updateStatus('Preparando funciones...', 'Configurando herramientas de trabajo', 'initializing');
|
|
@@ -227,14 +189,9 @@ export class JaakStamps {
|
|
|
227
189
|
if (this.debug) {
|
|
228
190
|
this.initializePerformanceMonitor();
|
|
229
191
|
}
|
|
230
|
-
this._initialized = true;
|
|
231
192
|
}
|
|
232
193
|
catch (error) {
|
|
233
|
-
|
|
234
|
-
this.updateStatus('Error de inicialización', errorMessage, 'error');
|
|
235
|
-
}
|
|
236
|
-
finally {
|
|
237
|
-
this._initializing = false;
|
|
194
|
+
this.updateStatus('Error de inicialización', error.message, 'error');
|
|
238
195
|
}
|
|
239
196
|
}
|
|
240
197
|
async initializeServices() {
|
|
@@ -284,14 +241,14 @@ export class JaakStamps {
|
|
|
284
241
|
}
|
|
285
242
|
async validateLicense() {
|
|
286
243
|
if (!this.license) {
|
|
244
|
+
console.error('❌ No license provided for JAAK Stamps component');
|
|
287
245
|
this.licenseError = 'Este componente requiere una licencia válida. Por favor, proporcione una licencia usando el atributo "license".';
|
|
288
246
|
this.licenseValid = false;
|
|
289
247
|
this.updateStatus('Error de licencia', 'Licencia no proporcionada', 'error');
|
|
290
248
|
return;
|
|
291
249
|
}
|
|
292
250
|
try {
|
|
293
|
-
|
|
294
|
-
console.log('[jaak-stamps] validating license...');
|
|
251
|
+
console.log('🔑 Validating license for JAAK Stamps...');
|
|
295
252
|
// Initialize license validation service
|
|
296
253
|
this.licenseValidationService = new LicenseValidationService(this.licenseEnvironment);
|
|
297
254
|
// Validate the license, passing traceId and appId if provided
|
|
@@ -299,21 +256,18 @@ export class JaakStamps {
|
|
|
299
256
|
if (response && response.access_token) {
|
|
300
257
|
this.licenseValid = true;
|
|
301
258
|
this.licenseError = null;
|
|
302
|
-
|
|
303
|
-
console.log('[jaak-stamps] license validated successfully');
|
|
259
|
+
console.log('✅ License validated successfully for JAAK Stamps');
|
|
304
260
|
// Emit the traceId (either provided or generated)
|
|
305
261
|
if (response.traceId) {
|
|
306
262
|
this.traceIdGenerated.emit({ traceId: response.traceId });
|
|
307
|
-
|
|
308
|
-
console.log('[jaak-stamps] traceId:', response.traceId);
|
|
263
|
+
console.log('📋 TraceId:', response.traceId);
|
|
309
264
|
}
|
|
310
265
|
}
|
|
311
266
|
else {
|
|
312
267
|
this.licenseValid = false;
|
|
313
268
|
this.licenseError = 'La licencia proporcionada no es válida. Por favor, verifique su licencia e intente nuevamente.';
|
|
314
269
|
this.updateStatus('Error de licencia', 'Licencia inválida', 'error');
|
|
315
|
-
|
|
316
|
-
console.error('[jaak-stamps] invalid license');
|
|
270
|
+
console.error('❌ Invalid license for JAAK Stamps');
|
|
317
271
|
}
|
|
318
272
|
}
|
|
319
273
|
catch (error) {
|
|
@@ -321,8 +275,7 @@ export class JaakStamps {
|
|
|
321
275
|
const licenseError = error;
|
|
322
276
|
this.licenseError = licenseError.error_description || 'Error al validar la licencia. Por favor, verifique su conexión e intente nuevamente.';
|
|
323
277
|
this.updateStatus('Error de licencia', 'Fallo en la validación', 'error');
|
|
324
|
-
|
|
325
|
-
console.error('[jaak-stamps] license validation failed:', error);
|
|
278
|
+
console.error('❌ License validation failed for JAAK Stamps:', error);
|
|
326
279
|
}
|
|
327
280
|
}
|
|
328
281
|
async setupEventListeners() {
|
|
@@ -1609,7 +1562,7 @@ export class JaakStamps {
|
|
|
1609
1562
|
isCapturing: false
|
|
1610
1563
|
};
|
|
1611
1564
|
const cameraInfo = this.cameraInfoWithAutofocus;
|
|
1612
|
-
return (h("div", { key: '
|
|
1565
|
+
return (h("div", { key: 'a4f5254bb0f5198cfea553fb46d8841c4a410853', class: "detector-container" }, !this.licenseValid && this.licenseError && (h("div", { key: '48353567b7c23df1b44e035cd6b52dd692b338a6', class: "license-error-container" }, h("div", { key: '8a520b2cb936cae9ed64c513ae9e583f62d31b99', class: "license-error-card" }, h("svg", { key: 'dccdda293c28bd5d1e76bbff0060859a394a800c', class: "license-error-icon", width: "64", height: "64", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: '09015453d8230c523abe8e5b4b800b4a55a81202', d: "M12 22C12 22 20 18 20 12V5L12 2L4 5V12C4 18 12 22 12 22Z", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }), h("path", { key: '5f9fd50412d21de2274e124c02dcc8e971fd23ee', d: "M12 8V12", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round" }), h("circle", { key: 'e534af1f29c6382c2c47623129a94d3aac3ec71e', cx: "12", cy: "16", r: "0.5", fill: "currentColor", stroke: "currentColor", "stroke-width": "1" })), h("h2", { key: '6ed105bb6e16d8ce7419bc64a0f69e7e2d7ed0ac', class: "license-error-title" }, "Licencia Requerida"), h("p", { key: 'c1d7e06b03a4af316e28836eb7a0f3729993ca1f', class: "license-error-message" }, this.licenseError), h("p", { key: '349ae281248b56524460cb18f36300e69c11ab5e', class: "license-error-help" }, "Contacte a soporte: ", h("a", { key: '62546d77296d220338953c3bd1820946164ff96c', href: "mailto:support@jaak.ai" }, "support@jaak.ai")), h("div", { key: 'b45ac9c2d9b9d65e4156d07a067e6c9214da8113', class: "license-error-footer" }, "JAAK Stamps")))), this.licenseValid && (h("div", { key: '77c274b14b69fe4220f71ef789de8c4943833fee', class: "video-container" }, h("video", { key: 'e036a408939aa5875e36a1f038bed98bfbfba134', ref: el => this.videoRef = el, autoplay: true, muted: true, playsinline: true, class: this.shouldMirrorVideo ? 'mirror' : '', style: {
|
|
1613
1566
|
// Keep the element rendered (display: block) so the browser
|
|
1614
1567
|
// loads stream metadata and fires 'loadedmetadata'. Hiding it
|
|
1615
1568
|
// with display:none prevents metadata loading in Chrome and
|
|
@@ -1618,7 +1571,7 @@ export class JaakStamps {
|
|
|
1618
1571
|
// render context alive.
|
|
1619
1572
|
opacity: captureState.isVideoActive ? '1' : '0',
|
|
1620
1573
|
visibility: captureState.isVideoActive ? 'visible' : 'hidden',
|
|
1621
|
-
} }), h("div", { key: '
|
|
1574
|
+
} }), h("div", { key: '9389f1495814409aa849ce409a28cb578761df76', ref: el => this.detectionContainer = el, class: `detection-overlay ${this.shouldMirrorVideo ? 'mirror' : ''}` }, this.debug && this.detectionBoxes.map((box, index) => (h("div", { key: index, class: "detection-box", style: {
|
|
1622
1575
|
position: 'absolute',
|
|
1623
1576
|
left: `${box.x}px`,
|
|
1624
1577
|
top: `${box.y}px`,
|
|
@@ -1627,9 +1580,9 @@ export class JaakStamps {
|
|
|
1627
1580
|
border: '2px solid #32406C',
|
|
1628
1581
|
pointerEvents: 'none',
|
|
1629
1582
|
boxSizing: 'border-box'
|
|
1630
|
-
} })))), this.isMaskReady && (h("div", { key: '
|
|
1583
|
+
} })))), this.isMaskReady && (h("div", { key: '8050beb9a72279f3a2d54884fe598eca8b1929af', class: "overlay-mask" }, h("div", { key: '25028f1c5bab6b457563c098899c7645083be3a0', class: "card-outline" }, h("div", { key: 'd125b627160c671f1be837d1f957704d016dcf47', class: "side side-top" }), h("div", { key: '78ed55f578fcadba60e80c50315f4a82bbe9c15c', class: "side side-right" }), h("div", { key: '263d29d0844bfa88d68698d71630fd9b08debc26', class: "side side-bottom" }), h("div", { key: '18e528b4d877699add45d9b4e1e029a2bb993582', class: "side side-left" })), !captureState.showFlipAnimation && !captureState.showSuccessAnimation && (h("div", { key: '7e09980601c146cd48f80a04640a8a7d635e14d4', class: `guide-text ${this.showPerformanceMessage ? 'performance-warning-text' : ''}` }, this.getGuideText(captureState.step))), captureState.step === 'back' && !captureState.showFlipAnimation && !captureState.showSuccessAnimation && (h("div", { key: '102e95d211e79d5c5d8e13ae717cb8913eae7ea1', class: "back-capture-section" }, h("div", { key: 'cde593bf62825392df6e950585e9950351bac430', class: "back-capture-buttons" }, (!this.useDocumentDetector || this.performanceDegradedMode || this.showManualCaptureButton) && (h("button", { key: '823b35d70e2bb1cf242e01578e921c8a091c7639', class: "capture-button primary-button", onClick: () => this.takeManualScreenshot(), type: "button", disabled: this.processingButton !== null }, this.processingButton === 'capture-back' && (h("span", { key: 'b6f6e82f515cd588eeca60e7abe220d89b40cfe8', class: "button-spinner" })), "Capturar Reverso")), h("button", { key: '7d91e6b780958a36df9a859fb02d8224b0de46dc', class: "skip-button", onClick: () => this.skipBackCapture(), type: "button", disabled: this.processingButton !== null }, this.processingButton === 'skip-back' && (h("span", { key: '0d5bce58452c7f7b5e197dfa0eff959971357b3c', class: "button-spinner" })), this.enableBackDocumentTimer && this.backDocumentTimerRemaining > 0
|
|
1631
1584
|
? `Saltar reverso (${this.backDocumentTimerRemaining}s)`
|
|
1632
|
-
: 'Saltar reverso')))), captureState.isVideoActive && (h("div", { key: '
|
|
1585
|
+
: 'Saltar reverso')))), captureState.isVideoActive && (h("div", { key: 'e8fc7f2bb1a0ca8235a82ed368717205c7b63ad8', class: "camera-controls" }, h("button", { key: '691e4a97f2804666db5e32236619196d616227f7', class: `camera-selector-button ${this.isSwitchingCamera ? 'loading' : ''}`, onClick: () => this.toggleCameraSelector(), type: "button", title: "Seleccionar c\u00E1mara", disabled: this.isSwitchingCamera }, this.isSwitchingCamera ? (h("div", { class: "button-spinner" })) : ('Cámaras')))), this.showCameraSelector && cameraInfo.availableCameras.length > 0 && (h("div", { key: '80233723131262f516574a4dd2bb125970f7aeea', class: "camera-selector-dropdown" }, h("div", { key: 'c9284a77cd9f2d3e600924c9e5f38614f3d06dc4', class: "camera-selector-header" }, h("span", { key: '92a495d2b605a73a067791442a8c8617706d96bf' }, "Seleccionar C\u00E1mara"), h("button", { key: 'dc06382c154443ea9928740d53546dc2ab3ce662', class: "close-selector", onClick: () => this.toggleCameraSelector(), type: "button" }, "\u00D7")), h("div", { key: 'b520d0940ef51dc1a46641adaf834e105a16c964', class: "camera-list" }, cameraInfo.availableCameras.map((camera) => (h("button", { key: camera.id, class: `camera-option ${cameraInfo.selectedCameraId === camera.id ? 'selected' : ''}`, onClick: () => this.handleCameraSwitch(camera.id), type: "button" }, h("span", { class: "camera-label" }, camera.label || `Cámara ${cameraInfo.availableCameras.indexOf(camera) + 1}`, camera.hasAutofocus && (h("span", { class: "autofocus-icon", title: "Autofoco disponible" }, "\u29BF"))), cameraInfo.selectedCameraId === camera.id && (h("span", { class: "selected-indicator" }, "\u2713")))))), h("div", { key: '7df8908982af0142d5c02d9b09827f44e697cbb5', class: "device-info" }, h("small", { key: '5669aa375b7aa6cd98d36e5a77eb217e549a5d4d' }, "Dispositivo: ", cameraInfo.deviceType)))), this.showManualCaptureButton && captureState.step === 'front' && !captureState.showFlipAnimation && !captureState.showSuccessAnimation && (h("div", { key: '40ed9bde6c2a0afadd8b949ce0cba59344b09379', class: "manual-capture-section" }, h("button", { key: 'f394d0a578888782a0a569e721f06bb642ebfbd4', class: "manual-capture-button", onClick: () => this.takeManualScreenshot(), type: "button", disabled: this.processingButton !== null }, this.processingButton === 'capture-front' && (h("span", { key: 'ec5ee370a578705ccc3a562763c906701a1e4da4', class: "button-spinner" })), "Capturar Frente"))))), captureState.isCapturing && (h("div", { key: '60520ec5cdd2632ac9cd645a5d8d820298b7388b', class: "capture-animation" })), captureState.showFlipAnimation && (h("div", { key: 'af3647bc1dd4e58630bf06bae37d7e5cd522c900', class: "flip-animation" }, h("div", { key: 'e974ee4fc12ebdef1cdcef288951abb0b98b368a', class: "id-card-icon" }), h("div", { key: 'd80764bf0e01069d4fa1367b250215024c8e41ee', class: "flip-text" }, "\u00A1Voltea tu identificaci\u00F3n!"))), captureState.showSuccessAnimation && (h("div", { key: '07956e4e03dee2ebe64d5eeb1d0c6559dbd8c944', class: "success-animation" }, h("div", { key: 'd8cb39f4f7ad3adc9c16b2226b75d14b788636f6', class: "check-icon" }), h("div", { key: '9e3ddbac4946cd585de7c406d55915f532a390ed', class: "success-text" }, "\u00A1Proceso completado!"))), h("div", { key: 'b1ba412c9c4664eda9c024c3fa22e53f11acae4f', class: `component-status status-${this.currentStatus.type}` }, (this.currentStatus.type === 'loading' || this.currentStatus.type === 'initializing') && (h("div", { key: 'b466904829c87bcb050500c9f24f507a6d42d56d', class: "status-spinner" })), h("div", { key: '3dcfe509f83adf031fadd2fa322a110456e5993b', class: "status-content" }, h("div", { key: '3a6c820251b30c0cbd63538b23872ac1191b5213', class: "status-message" }, this.currentStatus.message), this.currentStatus.description && (h("div", { key: 'a7c35a8a773d852035a35e77fb99cf475307a5f7', class: "status-description" }, this.currentStatus.description)))), this.debug && (h("div", { key: 'd581099e2e1aedc1aea88a4c26af59a118042070', class: "performance-monitor" }, h("div", { key: '18bf5ba4feb6515a454d0769fe8eb02fd37ef167', class: "performance-expanded" }, h("div", { key: '7765f916c26556046b8326befc796f9188aeca3f', class: "metrics-row" }, h("div", { key: '9533109a7a762a7d8a95f12f45dddb6833fa7326', class: "metric-compact" }, h("span", { key: 'c236d06e692694a58519e86f133f39a5184a485f', class: "metric-label" }, "FPS"), h("span", { key: '4a7b53c89c4822dc03c6683f6d6895f96458b95d', class: `metric-value ${this.performanceData.fps < 15 ? 'warning' : this.performanceData.fps < 10 ? 'danger' : 'good'}` }, this.performanceData.fps)), h("div", { key: 'd362ceb5edf7585fc7c05da7367a6affee83b942', class: "metric-compact" }, h("span", { key: '08779e8da11b1593f7d91b409b36184ed405dee6', class: "metric-label" }, "MEM"), h("span", { key: '64c15bcbaeca6760e578e4ff9386583938c0be87', class: `metric-value ${this.performanceData.memoryUsage > 100 ? 'warning' : this.performanceData.memoryUsage > 200 ? 'danger' : 'good'}` }, this.performanceData.memoryUsage, "MB"))), h("div", { key: '1ef4f7a5aaae9ed9131bd45c7a4c227ad6419d93', class: "metrics-row" }, h("div", { key: 'c5d5ab2a81f7c8f5145253ece37e43981c68ccb8', class: "metric-compact" }, h("span", { key: '7ba45cae45b336c52adf1eb4588851be20475f4e', class: "metric-label" }, "INF"), h("span", { key: '1341edaafa1de81b304605378a8b1262f2f8a084', class: `metric-value ${this.performanceData.inferenceTime > 100 ? 'warning' : this.performanceData.inferenceTime > 200 ? 'danger' : 'good'}` }, this.performanceData.inferenceTime, "ms")), h("div", { key: '4c6edc10f88b776825a5a07643864fef4295c295', class: "metric-compact" }, h("span", { key: '7d58a7250a133b84f001a5313dce606fcd9eda82', class: "metric-label" }, "FRAME"), h("span", { key: 'de6a8e8475cd893546b939d5e3a7045a9d7df6dc', class: `metric-value ${this.performanceData.frameProcessingTime > 50 ? 'warning' : this.performanceData.frameProcessingTime > 100 ? 'danger' : 'good'}` }, this.performanceData.frameProcessingTime, "ms"))), h("div", { key: 'a26794337b9fd17fc9bc6718461c5251b57c1949', class: "metrics-row" }, h("div", { key: 'd790ac359b04532a5e7aa44e2a2952522c1ceb64', class: "metric-compact" }, h("span", { key: '581c72f166de867bbbfe3bb654cdf89e94cfc27b', class: "metric-label" }, "DET"), h("span", { key: '8d478a6d5e84151504e2dd136e2b1ff1e26e0853', class: "metric-value good" }, this.performanceData.successfulDetections, "/", this.performanceData.totalDetections)), h("div", { key: 'bb7f6dad291a79b5f683e51e07558ca73c22ad98', class: "metric-compact" }, h("span", { key: '1d2626fb63026ce3eb9d0696501b08c0ddf4be09', class: "metric-label" }, "RATE"), h("span", { key: '8f8a67276ad40ce3fe9acab86c2a807f426d2a23', class: `metric-value ${this.performanceData.detectionRate < 30 ? 'danger' : this.performanceData.detectionRate < 60 ? 'warning' : 'good'}` }, this.performanceData.detectionRate, "%")))))), h("div", { key: 'a9ae57be92d04f8d5d7eae801c0a0ae7c548f770', class: "watermark" }, h("img", { key: 'c9cd4510dfff2265e3ae5d213845e7b5d8f9a343', src: "https://static.jaak.ai/commons/powered-by-jaak.png", alt: "Powered by Jaak", onError: (e) => {
|
|
1633
1586
|
const img = e.target;
|
|
1634
1587
|
img.onerror = null;
|
|
1635
1588
|
img.src = POWERED_BY_JAAK_FALLBACK;
|
|
@@ -2177,7 +2130,7 @@ export class JaakStamps {
|
|
|
2177
2130
|
await this.tracingService.flush();
|
|
2178
2131
|
}
|
|
2179
2132
|
catch (error) {
|
|
2180
|
-
console.error('[
|
|
2133
|
+
console.error('[my-component] Failed to flush traces:', error);
|
|
2181
2134
|
}
|
|
2182
2135
|
}
|
|
2183
2136
|
this.captureCompleted.emit(finalImages);
|
|
@@ -2453,12 +2406,12 @@ export class JaakStamps {
|
|
|
2453
2406
|
static get encapsulation() { return "shadow"; }
|
|
2454
2407
|
static get originalStyleUrls() {
|
|
2455
2408
|
return {
|
|
2456
|
-
"$": ["
|
|
2409
|
+
"$": ["my-component.css"]
|
|
2457
2410
|
};
|
|
2458
2411
|
}
|
|
2459
2412
|
static get styleUrls() {
|
|
2460
2413
|
return {
|
|
2461
|
-
"$": ["
|
|
2414
|
+
"$": ["my-component.css"]
|
|
2462
2415
|
};
|
|
2463
2416
|
}
|
|
2464
2417
|
static get assetsDirs() { return ["../../assets"]; }
|
|
@@ -3224,14 +3177,5 @@ export class JaakStamps {
|
|
|
3224
3177
|
};
|
|
3225
3178
|
}
|
|
3226
3179
|
static get elementRef() { return "el"; }
|
|
3227
|
-
static get watchers() {
|
|
3228
|
-
return [{
|
|
3229
|
-
"propName": "license",
|
|
3230
|
-
"methodName": "onLicenseChanged"
|
|
3231
|
-
}, {
|
|
3232
|
-
"propName": "licenseEnvironment",
|
|
3233
|
-
"methodName": "onLicenseEnvironmentChanged"
|
|
3234
|
-
}];
|
|
3235
|
-
}
|
|
3236
3180
|
}
|
|
3237
|
-
//# sourceMappingURL=
|
|
3181
|
+
//# sourceMappingURL=my-component.js.map
|