@smileid/usesmileid 12.0.1 → 12.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/README.md +1 -1
- package/dist/camera/camera_defaults.d.ts +2 -0
- package/dist/camera/camera_defaults.d.ts.map +1 -1
- package/dist/camera/camera_defaults.js +2 -0
- package/dist/camera/camera_defaults.js.map +1 -1
- package/dist/core/exception/flow_exceptions.d.ts +4 -2
- package/dist/core/exception/flow_exceptions.d.ts.map +1 -1
- package/dist/core/exception/flow_exceptions.js +3 -2
- package/dist/core/exception/flow_exceptions.js.map +1 -1
- package/dist/core/exception/missing_job_type_exception.d.ts +1 -3
- package/dist/core/exception/missing_job_type_exception.d.ts.map +1 -1
- package/dist/core/exception/missing_job_type_exception.js +2 -4
- package/dist/core/exception/missing_job_type_exception.js.map +1 -1
- package/dist/data/api/interceptors/smile_auth_interceptor.js +1 -1
- package/dist/data/api/interceptors/smile_auth_interceptor.js.map +1 -1
- package/dist/data/api/smile_id_api.d.ts +4 -0
- package/dist/data/api/smile_id_api.d.ts.map +1 -1
- package/dist/data/api/smile_id_api.js +30 -27
- package/dist/data/api/smile_id_api.js.map +1 -1
- package/dist/data/model/job_request.d.ts +28 -12
- package/dist/data/model/job_request.d.ts.map +1 -1
- package/dist/data/model/token_payload.d.ts +78 -0
- package/dist/data/model/token_payload.d.ts.map +1 -0
- package/dist/data/model/token_payload.js +132 -0
- package/dist/data/model/token_payload.js.map +1 -0
- package/dist/data/model/user_details_payload.d.ts +39 -0
- package/dist/data/model/user_details_payload.d.ts.map +1 -0
- package/dist/data/model/user_details_payload.js +53 -0
- package/dist/data/model/user_details_payload.js.map +1 -0
- package/dist/data/util/use_smile_id_token_decoder.d.ts +15 -3
- package/dist/data/util/use_smile_id_token_decoder.d.ts.map +1 -1
- package/dist/data/util/use_smile_id_token_decoder.js +20 -8
- package/dist/data/util/use_smile_id_token_decoder.js.map +1 -1
- package/dist/l10n/strings_en.d.ts +4 -1
- package/dist/l10n/strings_en.d.ts.map +1 -1
- package/dist/l10n/strings_en.js +4 -1
- package/dist/l10n/strings_en.js.map +1 -1
- package/dist/l10n/use_smile_id_localizations.d.ts +10 -0
- package/dist/l10n/use_smile_id_localizations.d.ts.map +1 -1
- package/dist/l10n/use_smile_id_localizations.js +59 -3
- package/dist/l10n/use_smile_id_localizations.js.map +1 -1
- package/dist/metadata/metadata_configuration_mappers.js +1 -1
- package/dist/metadata/metadata_configuration_mappers.js.map +1 -1
- package/dist/metadata/use_smile_id_metadata_factory.js +1 -1
- package/dist/metadata/use_smile_id_metadata_factory.js.map +1 -1
- package/dist/presentation/components/use_smile_id_button.d.ts.map +1 -1
- package/dist/presentation/components/use_smile_id_button.js +8 -2
- package/dist/presentation/components/use_smile_id_button.js.map +1 -1
- package/dist/presentation/flow/dsl/builder/screens_builder.d.ts +3 -6
- package/dist/presentation/flow/dsl/builder/screens_builder.d.ts.map +1 -1
- package/dist/presentation/flow/dsl/builder/screens_builder.js +4 -6
- package/dist/presentation/flow/dsl/builder/screens_builder.js.map +1 -1
- package/dist/presentation/flow/dsl/use_smile_id_flow_builder.d.ts.map +1 -1
- package/dist/presentation/flow/dsl/use_smile_id_flow_builder.js +23 -1
- package/dist/presentation/flow/dsl/use_smile_id_flow_builder.js.map +1 -1
- package/dist/presentation/flow/flow_navigation_manager.d.ts +17 -2
- package/dist/presentation/flow/flow_navigation_manager.d.ts.map +1 -1
- package/dist/presentation/flow/flow_navigation_manager.js +77 -45
- package/dist/presentation/flow/flow_navigation_manager.js.map +1 -1
- package/dist/presentation/flow/screen/orchestrated_processing_screen.d.ts.map +1 -1
- package/dist/presentation/flow/screen/orchestrated_processing_screen.js +25 -5
- package/dist/presentation/flow/screen/orchestrated_processing_screen.js.map +1 -1
- package/dist/presentation/flow/use_smile_id_flow.d.ts.map +1 -1
- package/dist/presentation/flow/use_smile_id_flow.js +35 -8
- package/dist/presentation/flow/use_smile_id_flow.js.map +1 -1
- package/dist/presentation/flow/validation/flow_validator.d.ts +16 -2
- package/dist/presentation/flow/validation/flow_validator.d.ts.map +1 -1
- package/dist/presentation/flow/validation/flow_validator.js +19 -27
- package/dist/presentation/flow/validation/flow_validator.js.map +1 -1
- package/dist/presentation/flow/validation/job_type_validator.d.ts +7 -0
- package/dist/presentation/flow/validation/job_type_validator.d.ts.map +1 -1
- package/dist/presentation/flow/validation/job_type_validator.js +52 -27
- package/dist/presentation/flow/validation/job_type_validator.js.map +1 -1
- package/dist/presentation/flow/validation/user_details_validator.d.ts +9 -0
- package/dist/presentation/flow/validation/user_details_validator.d.ts.map +1 -0
- package/dist/presentation/flow/validation/user_details_validator.js +40 -0
- package/dist/presentation/flow/validation/user_details_validator.js.map +1 -0
- package/dist/presentation/screen/helpers/capture_screen_helpers.d.ts.map +1 -1
- package/dist/presentation/screen/helpers/capture_screen_helpers.js +1 -0
- package/dist/presentation/screen/helpers/capture_screen_helpers.js.map +1 -1
- package/dist/presentation/screen/use_smile_id_capture_screen.d.ts.map +1 -1
- package/dist/presentation/screen/use_smile_id_capture_screen.js +64 -18
- package/dist/presentation/screen/use_smile_id_capture_screen.js.map +1 -1
- package/package.json +3 -3
- package/src/__tests__/react_native_mock.tsx +22 -0
- package/src/__tests__/snapshots/__snapshots__/screens_structural.test.tsx.snap +14 -8
- package/src/camera/__tests__/camera_permissions.test.ts +72 -0
- package/src/camera/__tests__/camera_system_focus.test.ts +173 -0
- package/src/camera/__tests__/use_smile_id_camera_preview.test.tsx +461 -0
- package/src/camera/__tests__/use_smile_id_frame_stream_hook.test.tsx +229 -0
- package/src/camera/camera_defaults.ts +3 -0
- package/src/core/exception/__tests__/builder_validation_exceptions.test.ts +14 -0
- package/src/core/exception/flow_exceptions.test.ts +10 -0
- package/src/core/exception/flow_exceptions.ts +3 -2
- package/src/core/exception/missing_job_type_exception.ts +2 -4
- package/src/data/api/__tests__/smile_id_api.test.ts +275 -1
- package/src/data/api/interceptors/__tests__/credential_header_redaction.test.ts +144 -0
- package/src/data/api/interceptors/smile_auth_interceptor.ts +1 -1
- package/src/data/api/smile_id_api.ts +36 -49
- package/src/data/dsl/__tests__/use_smile_id_network_builder.test.ts +157 -0
- package/src/data/factory/__tests__/signed_job_submission_headers.test.ts +1 -1
- package/src/data/model/__tests__/token_payload.test.ts +224 -0
- package/src/data/model/__tests__/user_details_payload.test.ts +100 -0
- package/src/data/model/job_request.ts +27 -12
- package/src/data/model/token_payload.ts +182 -0
- package/src/data/model/user_details_payload.ts +84 -0
- package/src/data/repository/__tests__/network_retries.test.ts +1 -1
- package/src/data/repository/__tests__/repository_dispatch.test.ts +366 -0
- package/src/data/repository/__tests__/use_smile_id_repository.test.ts +1 -1
- package/src/data/security/__tests__/signing_crypto.test.ts +203 -0
- package/src/data/util/__tests__/use_smile_id_token_decoder.test.ts +179 -0
- package/src/data/util/use_smile_id_token_decoder.ts +29 -8
- package/src/l10n/__tests__/use_smile_id_localizations.test.ts +122 -5
- package/src/l10n/__tests__/use_smile_id_localizations_provider.test.tsx +112 -0
- package/src/l10n/__tests__/use_smile_id_localizations_surface.test.ts +231 -0
- package/src/l10n/strings_en.ts +5 -1
- package/src/l10n/use_smile_id_localizations.ts +80 -3
- package/src/metadata/__tests__/device_orientation_sampling.test.ts +165 -0
- package/src/metadata/__tests__/geolocation.test.ts +150 -0
- package/src/metadata/__tests__/metadata_configuration_objects.test.ts +1 -1
- package/src/metadata/__tests__/metadata_device_context.test.ts +3 -3
- package/src/metadata/__tests__/metadata_golden_fixture.json +1 -1
- package/src/metadata/__tests__/metadata_payload_golden.test.ts +4 -4
- package/src/metadata/__tests__/optional_native_modules.test.ts +234 -0
- package/src/metadata/__tests__/use_smile_id_metadata.test.ts +1 -1
- package/src/metadata/__tests__/use_smile_id_metadata_factory.test.ts +615 -0
- package/src/metadata/metadata_configuration_mappers.ts +1 -1
- package/src/metadata/use_smile_id_metadata_factory.ts +1 -1
- package/src/presentation/components/__tests__/use_smile_id_content_card.test.tsx +112 -0
- package/src/presentation/components/__tests__/use_smile_id_face_oval_image.test.tsx +190 -0
- package/src/presentation/components/__tests__/use_smile_id_learn_more_content.test.tsx +159 -0
- package/src/presentation/components/__tests__/use_smile_id_processing_center_indicator.test.tsx +88 -0
- package/src/presentation/components/use_smile_id_button.tsx +7 -2
- package/src/presentation/flow/__tests__/flow_navigation_manager.test.ts +323 -1
- package/src/presentation/flow/__tests__/use_smile_id_flow.test.tsx +651 -0
- package/src/presentation/flow/dsl/__tests__/use_smile_id_builder_component.test.tsx +120 -0
- package/src/presentation/flow/dsl/builder/screens_builder.ts +4 -6
- package/src/presentation/flow/dsl/use_smile_id_flow_builder.ts +27 -1
- package/src/presentation/flow/flow_navigation_manager.ts +102 -92
- package/src/presentation/flow/graph/__tests__/screen_renderer.test.tsx +102 -0
- package/src/presentation/flow/screen/__tests__/orchestrated_capture_screen.test.tsx +836 -0
- package/src/presentation/flow/screen/__tests__/orchestrated_consent_screen.test.tsx +165 -0
- package/src/presentation/flow/screen/__tests__/orchestrated_instructions_screen.test.tsx +163 -0
- package/src/presentation/flow/screen/__tests__/orchestrated_preview_screen.test.tsx +224 -0
- package/src/presentation/flow/screen/__tests__/orchestrated_processing_screen.test.tsx +338 -0
- package/src/presentation/flow/screen/orchestrated_processing_screen.tsx +42 -5
- package/src/presentation/flow/use_smile_id_flow.tsx +52 -8
- package/src/presentation/flow/validation/__tests__/flow_validator.test.ts +158 -0
- package/src/presentation/flow/validation/__tests__/job_type_validator.test.ts +200 -0
- package/src/presentation/flow/validation/flow_validator.ts +30 -31
- package/src/presentation/flow/validation/job_type_validator.ts +73 -39
- package/src/presentation/flow/validation/user_details_validator.ts +53 -0
- package/src/presentation/screen/__tests__/feedback_copy_table.test.ts +145 -0
- package/src/presentation/screen/__tests__/use_smile_id_capture_screen.test.tsx +348 -0
- package/src/presentation/screen/__tests__/use_smile_id_document_back_instructions.test.tsx +3 -1
- package/src/presentation/screen/__tests__/use_smile_id_permission_screen.test.tsx +68 -0
- package/src/presentation/screen/helpers/capture_screen_helpers.ts +1 -0
- package/src/presentation/screen/use_smile_id_capture_screen.tsx +69 -18
- package/src/presentation/theme/__tests__/use_use_smile_id_fonts.test.tsx +166 -0
|
@@ -92,6 +92,8 @@ export function UseSmileIDCaptureScreen(props) {
|
|
|
92
92
|
// branch idempotent without latching the one-shot delivery gate.
|
|
93
93
|
const [captureTimedOut, setCaptureTimedOut] = useState(false);
|
|
94
94
|
const timedOutRef = useRef(false);
|
|
95
|
+
// Set when streaming produced no analyzed frame at all, which the analyzer's own timeout cannot report.
|
|
96
|
+
const [captureStalled, setCaptureStalled] = useState(false);
|
|
95
97
|
// True while a manual/gallery delivery is in flight — disables the controls.
|
|
96
98
|
const [deliveringDocument, setDeliveringDocument] = useState(false);
|
|
97
99
|
// Transient gallery-import error; overrides the live chip, self-clears so the user can re-pick.
|
|
@@ -138,8 +140,30 @@ export function UseSmileIDCaptureScreen(props) {
|
|
|
138
140
|
setSessionEpoch((epoch) => epoch + 1);
|
|
139
141
|
// A new session must not compare against the old session's last state.
|
|
140
142
|
previousScanStateRef.current = null;
|
|
141
|
-
|
|
142
|
-
|
|
143
|
+
// Clear the terminal latches so a retry after a timeout or a stall is a fresh session.
|
|
144
|
+
const wasTerminal = timedOutRef.current;
|
|
145
|
+
timedOutRef.current = false;
|
|
146
|
+
setCaptureTimedOut(false);
|
|
147
|
+
setCaptureStalled(false);
|
|
148
|
+
setScanState({ type: UseSmileIDScanStateType.Initial });
|
|
149
|
+
setHasAnalyzedFrame(false);
|
|
150
|
+
// Frames banked before the abandoned session must not pad this one.
|
|
151
|
+
capturedEventsRef.current = [];
|
|
152
|
+
if (wasTerminal) {
|
|
153
|
+
// A timed-out native session is terminal — stream only after it resets,
|
|
154
|
+
// or the first retry frame re-reports Timeout and re-latches the error.
|
|
155
|
+
void props.analyzer
|
|
156
|
+
.reset()
|
|
157
|
+
.catch((error) => UseSmileIDCrashReporting.captureException(error))
|
|
158
|
+
.finally(() => {
|
|
159
|
+
if (!completedRef.current)
|
|
160
|
+
setStreaming(true);
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
setStreaming(true);
|
|
165
|
+
}
|
|
166
|
+
}, [streaming, onStartCapture, props.analyzer]);
|
|
143
167
|
const analyzer = props.analyzer;
|
|
144
168
|
const onCaptureComplete = props.onCaptureComplete;
|
|
145
169
|
const onDocumentOrigin = props.onDocumentOrigin;
|
|
@@ -352,7 +376,8 @@ export function UseSmileIDCaptureScreen(props) {
|
|
|
352
376
|
// Terminal states: finished → flush + complete; timeout → failure
|
|
353
377
|
// without flushing (no captured artifacts to wait on).
|
|
354
378
|
if (result.state.type === UseSmileIDScanStateType.Finished) {
|
|
355
|
-
|
|
379
|
+
// `timedOutRef` too: stopping the stream is async, so a frame queued before the timeout can still land here.
|
|
380
|
+
if (completedRef.current || timedOutRef.current)
|
|
356
381
|
return;
|
|
357
382
|
completedRef.current = true;
|
|
358
383
|
setStreaming(false);
|
|
@@ -374,16 +399,9 @@ export function UseSmileIDCaptureScreen(props) {
|
|
|
374
399
|
if (completedRef.current || timedOutRef.current)
|
|
375
400
|
return;
|
|
376
401
|
setStreaming(false);
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
// so the tap can still produce a capture.
|
|
381
|
-
timedOutRef.current = true;
|
|
382
|
-
setCaptureTimedOut(true);
|
|
383
|
-
}
|
|
384
|
-
else {
|
|
385
|
-
completedRef.current = true;
|
|
386
|
-
}
|
|
402
|
+
// The terminal state rides on `timedOutRef`, not the one-shot delivery gate, so the shutter and Start button stay usable.
|
|
403
|
+
timedOutRef.current = true;
|
|
404
|
+
setCaptureTimedOut(true);
|
|
387
405
|
onCaptureTimeout?.(result.state);
|
|
388
406
|
}
|
|
389
407
|
}, {
|
|
@@ -399,10 +417,35 @@ export function UseSmileIDCaptureScreen(props) {
|
|
|
399
417
|
// Only the guidance copy is debounced; rim, fill, and direction stay real-time.
|
|
400
418
|
const settledFeedbackKey = useDebouncedFeedbackKey(uiState.feedbackKey, sessionEpoch);
|
|
401
419
|
const isInstructionState = scanState.type === UseSmileIDScanStateType.Initial && !streaming;
|
|
420
|
+
// A selfie timeout leaves `scanState` on Timeout, so the instruction predicate alone would hide the only way to retry.
|
|
421
|
+
const showStartButton = (isInstructionState || captureTimedOut) && !isDocumentCapture;
|
|
402
422
|
const canStart = !streaming && !completedRef.current;
|
|
403
423
|
const previewReady = hasPermission && device != null;
|
|
404
424
|
// Resolve the native frame processor plugin once per name.
|
|
405
425
|
const plugin = useMemo(() => VisionCameraProxy.initFrameProcessorPlugin(analyzer.frameProcessorPluginName, {}) ?? null, [analyzer.frameProcessorPluginName]);
|
|
426
|
+
// Every terminal signal arrives inside a frame result, so a camera that delivers no frame at all would sit on the initial state forever.
|
|
427
|
+
// Latest-ref, not a dep: an inline `onCaptureTimeout` prop is a fresh identity every render, which would restart the wall clock.
|
|
428
|
+
const onCaptureTimeoutRef = useRef(onCaptureTimeout);
|
|
429
|
+
onCaptureTimeoutRef.current = onCaptureTimeout;
|
|
430
|
+
useEffect(() => {
|
|
431
|
+
if (!streaming || hasAnalyzedFrame)
|
|
432
|
+
return;
|
|
433
|
+
const timer = setTimeout(() => {
|
|
434
|
+
if (completedRef.current || timedOutRef.current)
|
|
435
|
+
return;
|
|
436
|
+
timedOutRef.current = true;
|
|
437
|
+
setCaptureStalled(true);
|
|
438
|
+
setCaptureTimedOut(true);
|
|
439
|
+
setStreaming(false);
|
|
440
|
+
onCaptureTimeoutRef.current?.({ type: UseSmileIDScanStateType.Timeout });
|
|
441
|
+
}, CameraDefaults.firstFrameTimeoutMs);
|
|
442
|
+
return () => clearTimeout(timer);
|
|
443
|
+
}, [streaming, hasAnalyzedFrame]);
|
|
444
|
+
// A frame disproves the stall; document capture has no Start button to clear it by hand.
|
|
445
|
+
useEffect(() => {
|
|
446
|
+
if (hasAnalyzedFrame)
|
|
447
|
+
setCaptureStalled(false);
|
|
448
|
+
}, [hasAnalyzedFrame]);
|
|
406
449
|
// A missing plugin means no frame ever produces a result — report once
|
|
407
450
|
// on capture start rather than sitting silently on the initial state.
|
|
408
451
|
const pluginErrorReportedRef = useRef(false);
|
|
@@ -526,10 +569,12 @@ export function UseSmileIDCaptureScreen(props) {
|
|
|
526
569
|
enableEnhancedLiveness,
|
|
527
570
|
animationDirection: uiState.animationDirection,
|
|
528
571
|
poseMatched: uiState.poseMatched,
|
|
529
|
-
// A transient gallery-import error
|
|
530
|
-
feedbackKey:
|
|
572
|
+
// A stalled camera, then a transient gallery-import error, preempt the live feedback chip.
|
|
573
|
+
feedbackKey: captureStalled
|
|
574
|
+
? "si_capture_camera_unavailable"
|
|
575
|
+
: (galleryErrorKey ?? settledFeedbackKey),
|
|
531
576
|
// Documents auto-start (no Start button); selfie keeps its.
|
|
532
|
-
showCaptureButton:
|
|
577
|
+
showCaptureButton: showStartButton,
|
|
533
578
|
showManualShutter: manualShutterAvailable,
|
|
534
579
|
showGalleryUpload: galleryAvailable,
|
|
535
580
|
isBackSide: documentSide === DocumentSide.Back,
|
|
@@ -547,7 +592,8 @@ export function UseSmileIDCaptureScreen(props) {
|
|
|
547
592
|
uiState.poseMatched,
|
|
548
593
|
settledFeedbackKey,
|
|
549
594
|
galleryErrorKey,
|
|
550
|
-
|
|
595
|
+
captureStalled,
|
|
596
|
+
showStartButton,
|
|
551
597
|
isDocumentCapture,
|
|
552
598
|
manualShutterAvailable,
|
|
553
599
|
galleryAvailable,
|
|
@@ -582,7 +628,7 @@ export function UseSmileIDCaptureScreen(props) {
|
|
|
582
628
|
theme.colors.offBlack,
|
|
583
629
|
cameraOrientationKey,
|
|
584
630
|
]);
|
|
585
|
-
return (_jsxs(UseSmileIDThemeProvider, { value: theme, children: [_jsx(StatusBar, { translucent: true, backgroundColor: "transparent" }), _jsx(UseSmileIDCaptureContent, { state: contentState, captureProgress: uiState.captureProgress, cameraPreview: cameraPreview, onStartCapture: handleStart, startCaptureEnabled: canStart, onBack: props.onBack, showAttribution: showAttribution, startButton: props.startButton, onViewportLayout: handleViewportLayout, ...(isDocumentCapture
|
|
631
|
+
return (_jsxs(UseSmileIDThemeProvider, { value: theme, children: [_jsx(StatusBar, { translucent: true, backgroundColor: "transparent", barStyle: "dark-content" }), _jsx(UseSmileIDCaptureContent, { state: contentState, captureProgress: uiState.captureProgress, cameraPreview: cameraPreview, onStartCapture: handleStart, startCaptureEnabled: canStart, onBack: props.onBack, showAttribution: showAttribution, startButton: props.startButton, onViewportLayout: handleViewportLayout, ...(isDocumentCapture
|
|
586
632
|
? {
|
|
587
633
|
onManualShutter: handleManualShutter,
|
|
588
634
|
onGalleryUpload: handleGalleryPick,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use_smile_id_capture_screen.js","sourceRoot":"","sources":["../../../src/presentation/screen/use_smile_id_capture_screen.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,WAAW,EACX,SAAS,EACT,OAAO,EACP,MAAM,EACN,QAAQ,GAET,MAAM,OAAO,CAAC;AACf,OAAO,EACL,QAAQ,EACR,SAAS,EACT,UAAU,EACV,IAAI,EACJ,mBAAmB,GACpB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,MAAM,EACN,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,0CAA0C,EAAE,MAAM,4BAA4B,CAAC;AASxF,OAAO,EACL,qBAAqB,EACrB,YAAY,EACZ,uBAAuB,GACxB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAG1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAwB,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EACL,wBAAwB,GAEzB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EACL,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,6CAA6C,CAAC;AACzF,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,GAElB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EACL,aAAa,EACb,oBAAoB,GACrB,MAAM,4BAA4B,CAAC;AAqFpC;;;;;;;;;GASG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAmC;IACzE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,iBAAiB,CAAC;IAC/C,MAAM,eAAe,GAAG,KAAK,CAAC,eAAe,IAAI,IAAI,CAAC;IACtD,MAAM,sBAAsB,GAAG,KAAK,CAAC,sBAAsB,IAAI,KAAK,CAAC;IACrE,MAAM,cAAc,GAAG,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC;IACrD,uEAAuE;IACvE,MAAM,YAAY,GAChB,KAAK,CAAC,WAAW,KAAK,WAAW,CAAC,MAAM,IAAI,CAAC,cAAc;QACzD,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,MAAM,CAAC;IAEb,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,mBAAmB,EAAE,CAAC;IACnE,MAAM,MAAM,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;IAC7C,wEAAwE;IACxE,MAAM,SAAS,GAAG,MAAM,CAAS,IAAI,CAAC,CAAC;IACvC,yEAAyE;IACzE,mEAAmE;IACnE,0EAA0E;IAC1E,8EAA8E;IAC9E,6EAA6E;IAC7E,2EAA2E;IAC3E,+DAA+D;IAC/D,MAAM,gBAAgB,GAAG,KAAK,CAAC,WAAW,KAAK,WAAW,CAAC,QAAQ,CAAC;IACpE,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE;QACrC,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;QACvD;YACE,eAAe,EAAE,gBAAgB;gBAC/B,CAAC,CAAC;oBACE,KAAK,EAAE,cAAc,CAAC,0BAA0B,CAAC,KAAK;oBACtD,MAAM,EAAE,cAAc,CAAC,0BAA0B,CAAC,MAAM;iBACzD;gBACH,CAAC,CAAC;oBACE,KAAK,EAAE,cAAc,CAAC,wBAAwB,CAAC,KAAK;oBACpD,MAAM,EAAE,cAAc,CAAC,wBAAwB,CAAC,MAAM;iBACvD;SACN;QACD,EAAE,GAAG,EAAE,cAAc,CAAC,iBAAiB,EAAE;KAC1C,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACnC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,aAAa,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;YAC5C,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC;YAC5B,KAAK,iBAAiB,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC,EAAE,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAEvC,6DAA6D;IAC7D,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAsB;QAC9D,IAAI,EAAE,uBAAuB,CAAC,OAAO;KACtC,CAAC,CAAC;IACH,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IAC3D,6DAA6D;IAC7D,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAS,CAAC,CAAC,CAAC;IAC5D,qEAAqE;IACrE,iDAAiD;IACjD,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IACzE,4EAA4E;IAC5E,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1E,8EAA8E;IAC9E,2EAA2E;IAC3E,iEAAiE;IACjE,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAClC,6EAA6E;IAC7E,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpE,gGAAgG;IAChG,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAC;IAC3E,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,eAAe,KAAK,IAAI;YAAE,OAAO;QACrC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;QAC/D,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAEtB,mEAAmE;IACnE,kEAAkE;IAClE,wDAAwD;IACxD,MAAM,iBAAiB,GAAG,MAAM,CAAsB,EAAE,CAAC,CAAC;IAC1D,sEAAsE;IACtE,sEAAsE;IACtE,MAAM,YAAY,GAAG,MAAM,CAAU,KAAK,CAAC,CAAC;IAC5C,qEAAqE;IACrE,gEAAgE;IAChE,MAAM,oBAAoB,GAAG,MAAM,CAA6B,IAAI,CAAC,CAAC;IAEtE,mEAAmE;IACnE,2EAA2E;IAC3E,MAAM,mBAAmB,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAC;IACxD,MAAM,iBAAiB,GAAG,MAAM,CAAS,CAAC,CAAC,CAAC;IAC5C,MAAM,iBAAiB,GAAG,MAAM,CAAU,KAAK,CAAC,CAAC;IACjD,kFAAkF;IAClF,4CAA4C;IAC5C,MAAM,oBAAoB,GAAG,MAAM,CACjC,IAAI,0BAA0B,EAAE,CACjC,CAAC;IAEF,MAAM,gBAAgB,GAAG,WAAW,CAClC,GAAqB,EAAE,CAAC,CAAC;QACvB,UAAU,EACR,mBAAmB,CAAC,OAAO,KAAK,IAAI;YAClC,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,mBAAmB,CAAC,OAAO;QAC9C,OAAO,EAAE,iBAAiB,CAAC,OAAO;QAClC,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,eAAe;QAC7D,sBAAsB,EACpB,oBAAoB,CAAC,OAAO,CAAC,sBAAsB;QACrD,4EAA4E;QAC5E,GAAG,CAAC,MAAM,EAAE,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/D,CAAC,EACF,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,MAAM,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;IAC5C,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;QACnC,IAAI,SAAS,IAAI,YAAY,CAAC,OAAO;YAAE,OAAO;QAC9C,cAAc,EAAE,EAAE,CAAC;QACnB,eAAe,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACtC,uEAAuE;QACvE,oBAAoB,CAAC,OAAO,GAAG,IAAI,CAAC;QACpC,YAAY,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC,EAAE,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;IAEhC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IAChC,MAAM,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAC;IAClD,MAAM,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;IAChD,MAAM,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;IAEhD,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;IACtC,MAAM,kBAAkB,GAAG,KAAK,CAAC,kBAAkB,IAAI,KAAK,CAAC;IAC7D,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,IAAI,YAAY,CAAC,KAAK,CAAC;IAC9D,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAW,KAAK,WAAW,CAAC,QAAQ,CAAC;IAErE,yEAAyE;IACzE,iFAAiF;IACjF,SAAS,CAAC,GAAG,EAAE;QACb,mBAAmB,CAAC,OAAO,GAAG,IAAI,CAAC;QACnC,iBAAiB,CAAC,OAAO,GAAG,CAAC,CAAC;QAC9B,iBAAiB,CAAC,OAAO,GAAG,KAAK,CAAC;IACpC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,6EAA6E;IAC7E,iFAAiF;IACjF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAS,EAAE,CAAC;YACd,oBAAoB,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACvC,CAAC;QACD,OAAO,GAAG,EAAE,CAAC,oBAAoB,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACnD,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,qEAAqE;IACrE,wEAAwE;IACxE,iEAAiE;IACjE,MAAM,eAAe,GACnB,WAAW,EAAE,IAAI,KAAK,+BAA+B;QACnD,CAAC,CAAC,WAAW,CAAC,qBAAqB;QACnC,CAAC,CAAC,IAAI,CAAC;IACX,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,SAAS,IAAI,eAAe,KAAK,IAAI;YAAE,OAAO;QACnD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,wBAAwB,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC,EAAE,eAAe,CAAC,CAAC;QACpB,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC;IAEjC,2DAA2D;IAC3D,yEAAyE;IACzE,iFAAiF;IACjF,MAAM,mBAAmB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC3C,IAAI,YAAY,CAAC,OAAO;YAAE,OAAO;QACjC,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;QACjC,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO;QAC5B,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC;QAC5B,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC5B,KAAK,CAAC,KAAK,IAAI,EAAE;YACf,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;gBACvC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;oBAChD,CAAC,CAAC,KAAK,CAAC,IAAI;oBACZ,CAAC,CAAC,UAAU,KAAK,CAAC,IAAI,EAAE,CAAC;gBAC3B,MAAM,YAAY,GAAG,MAAM,wBAAwB,CACjD,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,EAC5D,YAAY,CACb,CAAC;gBACF,gBAAgB,EAAE,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;gBAC5D,iBAAiB,EAAE,CACjB;oBACE;wBACE,IAAI,EAAE,qBAAqB,CAAC,QAAQ;wBACpC,YAAY,EAAE,CAAC;wBACf,GAAG,EAAE,YAAY;qBAClB;iBACF,EACD,gBAAgB,EAAE,CACnB,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,wBAAwB,CAAC,gBAAgB,CACvC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAC1D,CAAC;gBACF,mEAAmE;gBACnE,YAAY,CAAC,OAAO,GAAG,KAAK,CAAC;gBAC7B,qBAAqB,CAAC,KAAK,CAAC,CAAC;gBAC7B,YAAY,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;IACP,CAAC,EAAE,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC,CAAC;IAExD,2EAA2E;IAC3E,0EAA0E;IAC1E,mDAAmD;IACnD,MAAM,iBAAiB,GAAG,WAAW,CAAC,GAAG,EAAE;QACzC,IAAI,YAAY,CAAC,OAAO;YAAE,OAAO;QACjC,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC5B,KAAK,CAAC,KAAK,IAAI,EAAE;YACf,IAAI,CAAC;gBACH,MAAM,UAAU,GACd,MAAM,WAAW,CAAC,mCAAmC,EAAE,CAAC;gBAC1D,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;oBACxB,qBAAqB,CAAC,KAAK,CAAC,CAAC;oBAC7B,sEAAsE;oBACtE,IAAI,CAAC,YAAY,CAAC,OAAO;wBAAE,YAAY,CAAC,IAAI,CAAC,CAAC;oBAC9C,OAAO;gBACT,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,uBAAuB,CAAC;oBACvD,UAAU,EAAE,CAAC,QAAQ,CAAC;oBACtB,uBAAuB,EAAE,KAAK;oBAC9B,OAAO,EAAE,CAAC;iBACX,CAAC,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC7D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,qBAAqB,CAAC,KAAK,CAAC,CAAC;oBAC7B,sEAAsE;oBACtE,IAAI,CAAC,YAAY,CAAC,OAAO;wBAAE,YAAY,CAAC,IAAI,CAAC,CAAC;oBAC9C,OAAO;gBACT,CAAC;gBACD,qEAAqE;gBACrE,oEAAoE;gBACpE,IACE,KAAK,CAAC,KAAK,KAAK,SAAS;oBACzB,KAAK,CAAC,MAAM,KAAK,SAAS;oBAC1B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC;wBACjC,cAAc,CAAC,6BAA6B,EAC9C,CAAC;oBACD,kBAAkB,CAAC,qCAAqC,CAAC,CAAC;oBAC1D,qBAAqB,CAAC,KAAK,CAAC,CAAC;oBAC7B,sEAAsE;oBACtE,IAAI,CAAC,YAAY,CAAC,OAAO;wBAAE,YAAY,CAAC,IAAI,CAAC,CAAC;oBAC9C,OAAO;gBACT,CAAC;gBACD,IAAI,YAAY,CAAC,OAAO;oBAAE,OAAO,CAAC,4BAA4B;gBAC9D,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC;gBAC5B,MAAM,YAAY,GAAG,MAAM,wBAAwB,CACjD,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,EAC5D,YAAY,CACb,CAAC;gBACF,gBAAgB,EAAE,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;gBAChD,iBAAiB,EAAE,CACjB;oBACE;wBACE,IAAI,EAAE,qBAAqB,CAAC,QAAQ;wBACpC,YAAY,EAAE,CAAC;wBACf,GAAG,EAAE,YAAY;qBAClB;iBACF,EACD,gBAAgB,EAAE,CACnB,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,wBAAwB,CAAC,gBAAgB,CACvC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAC1D,CAAC;gBACF,kBAAkB,CAAC,kCAAkC,CAAC,CAAC;gBACvD,YAAY,CAAC,OAAO,GAAG,KAAK,CAAC;gBAC7B,qBAAqB,CAAC,KAAK,CAAC,CAAC;gBAC7B,YAAY,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;IACP,CAAC,EAAE,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC,CAAC;IAExD,yEAAyE;IACzE,uEAAuE;IACvE,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACrC,yEAAyE;IACzE,+DAA+D;IAC/D,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;IAC3C,cAAc,CAAC,OAAO,GAAG,WAAW,CAAC;IACrC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,iBAAiB,IAAI,cAAc,CAAC,OAAO,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;YACzE,OAAO;QACT,CAAC;QACD,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC;QAC9B,cAAc,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAExB,uEAAuE;IACvE,wEAAwE;IACxE,qEAAqE;IACrE,gDAAgD;IAChD,MAAM,WAAW,GAAG,qBAAqB,CACvC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAwB,EACpD,CAAC,MAAM,EAAE,EAAE;QACT,iFAAiF;QACjF,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,OAAO,CAAC;QACvD,IACE,iBAAiB,KAAK,IAAI;YAC1B,iBAAiB,CAAC,iBAAiB,EAAE,MAAM,CAAC,KAAK,CAAC,EAClD,CAAC;YACD,eAAe,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACxC,CAAC;QACD,iEAAiE;QACjE,kEAAkE;QAClE,oEAAoE;QACpE,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,aAAa,CAAC,iBAAiB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9D,IAAI,MAAM,KAAK,IAAI;gBAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC;QACpD,CAAC;QACD,oBAAoB,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC;QAE5C,oEAAoE;QACpE,kEAAkE;QAClE,gDAAgD;QAChD,yEAAyE;QACzE,sDAAsD;QACtD,IAAI,mBAAmB,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YACzC,mBAAmB,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC3C,CAAC;QACD,MAAM,aAAa,GACjB,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,uBAAuB,CAAC,WAAW,CAAC;QAC5D,IAAI,aAAa,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC;YAChD,iBAAiB,CAAC,OAAO,IAAI,CAAC,CAAC;QACjC,CAAC;QACD,iBAAiB,CAAC,OAAO,GAAG,aAAa,CAAC;QAE1C,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,uBAAuB,CAAC,WAAW,EAAE,CAAC;YAC9D,iBAAiB,CAAC,OAAO,GAAG,EAAE,CAAC;QACjC,CAAC;aAAM,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,iBAAiB,CAAC,OAAO,GAAG;gBAC1B,GAAG,iBAAiB,CAAC,OAAO;gBAC5B,GAAG,MAAM,CAAC,cAAc;aACzB,CAAC;QACJ,CAAC;QACD,yDAAyD;QACzD,oEAAoE;QACpE,YAAY,CAAC,CAAC,QAAQ,EAAE,EAAE,CACxB,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC,KAAK,CAAC,IAAI;YACnC,QAAQ,CAAC,QAAQ,KAAK,MAAM,CAAC,KAAK,CAAC,QAAQ;YAC3C,QAAQ,CAAC,MAAM,KAAK,MAAM,CAAC,KAAK,CAAC,MAAM;YACvC,QAAQ,CAAC,gBAAgB,KAAK,MAAM,CAAC,KAAK,CAAC,gBAAgB;YAC3D,CAAC,QAAQ,CAAC,WAAW,IAAI,KAAK,CAAC;gBAC7B,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC;YACrC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,eAAe,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC;gBAC/C,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC;YACrD,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,MAAM,CAAC,KAAK,CACjB,CAAC;QACF,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE1B,kEAAkE;QAClE,uDAAuD;QACvD,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,uBAAuB,CAAC,QAAQ,EAAE,CAAC;YAC3D,IAAI,YAAY,CAAC,OAAO;gBAAE,OAAO;YACjC,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC;YAC5B,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,gEAAgE;YAChE,iEAAiE;YACjE,sBAAsB;YACtB,KAAK,QAAQ;iBACV,KAAK,EAAE;iBACP,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACf,wBAAwB,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACnD,CAAC,CAAC;iBACD,OAAO,CAAC,GAAG,EAAE;gBACZ,qCAAqC;gBACrC,gBAAgB,EAAE,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;gBAC1D,iBAAiB,EAAE,CAAC,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;YACrE,CAAC,CAAC,CAAC;QACP,CAAC;aAAM,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,uBAAuB,CAAC,OAAO,EAAE,CAAC;YACjE,IAAI,YAAY,CAAC,OAAO,IAAI,WAAW,CAAC,OAAO;gBAAE,OAAO;YACxD,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,iBAAiB,EAAE,CAAC;gBACtB,sEAAsE;gBACtE,qEAAqE;gBACrE,0CAA0C;gBAC1C,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC;gBAC3B,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC;YAC9B,CAAC;YACD,gBAAgB,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;IACH,CAAC,EACD;QACE,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACjB,iEAAiE;YACjE,gDAAgD;YAChD,wBAAwB,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACnD,CAAC;KACF,CACF,CAAC;IAEF,MAAM,OAAO,GAA6B,gBAAgB;QACxD,CAAC,CAAC,iBAAiB,CAAC,SAAS,EAAE,KAAK,CAAC,WAAW,EAAE,sBAAsB,CAAC;QACzE,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC;IACjE,gFAAgF;IAChF,MAAM,kBAAkB,GAAG,uBAAuB,CAChD,OAAO,CAAC,WAAW,EACnB,YAAY,CACb,CAAC;IACF,MAAM,kBAAkB,GACtB,SAAS,CAAC,IAAI,KAAK,uBAAuB,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC;IACnE,MAAM,QAAQ,GAAG,CAAC,SAAS,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;IAErD,MAAM,YAAY,GAAG,aAAa,IAAI,MAAM,IAAI,IAAI,CAAC;IAErD,2DAA2D;IAC3D,MAAM,MAAM,GAAG,OAAO,CACpB,GAAG,EAAE,CACH,iBAAiB,CAAC,wBAAwB,CACxC,QAAQ,CAAC,wBAAwB,EACjC,EAAE,CACH,IAAI,IAAI,EACX,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CACpC,CAAC;IAEF,uEAAuE;IACvE,sEAAsE;IACtE,MAAM,sBAAsB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,SAAS,IAAI,MAAM,KAAK,IAAI,IAAI,sBAAsB,CAAC,OAAO,EAAE,CAAC;YACpE,OAAO;QACT,CAAC;QACD,sBAAsB,CAAC,OAAO,GAAG,IAAI,CAAC;QACtC,wBAAwB,CAAC,gBAAgB,CACvC,IAAI,0CAA0C,CAAC;YAC7C,UAAU,EAAE,QAAQ,CAAC,wBAAwB;SAC9C,CAAC,CACH,CAAC;IACJ,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,wBAAwB,CAAC,CAAC,CAAC;IAE3D,oEAAoE;IACpE,oEAAoE;IACpE,kDAAkD;IAClD,MAAM,aAAa,GAAG,WAAW,CAAC,aAAa,CAAC;IAChD,MAAM,oBAAoB,GAAG,OAAO,CAAC,GAAG,EAAE;QACxC,OAAO,QAAQ,CAAC,aAAa,CAAC,CAAC,SAAkB,EAAE,EAAE;YACnD,aAAa,CAAC,SAAS,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,yEAAyE;IACzE,mEAAmE;IACnE,MAAM,CAAC,wBAAwB,EAAE,2BAA2B,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE5E,+EAA+E;IAC/E,6EAA6E;IAC7E,4EAA4E;IAC5E,oEAAoE;IACpE,MAAM,CAAC,yBAAyB,EAAE,4BAA4B,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE9E,sEAAsE;IACtE,4EAA4E;IAC5E,4EAA4E;IAC5E,2EAA2E;IAC3E,0EAA0E;IAC1E,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,mBAAmB,EAAE,CAAC;IAC3E,MAAM,oBAAoB,GACxB,QAAQ,CAAC,EAAE,KAAK,KAAK;QACnB,CAAC,CAAC,WAAW,GAAG,YAAY;YAC1B,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,UAAU;QACd,CAAC,CAAC,QAAQ,CAAC;IAEf,8EAA8E;IAC9E,yEAAyE;IACzE,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IAClE,MAAM,oBAAoB,GAAG,WAAW,CACtC,CAAC,IAAuC,EAAE,EAAE;QAC1C,WAAW,CAAC,CAAC,QAAQ,EAAE,EAAE,CACvB,QAAQ,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;YAC9D,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,IAAI,CACT,CAAC;IACJ,CAAC,EACD,EAAE,CACH,CAAC;IAEF,8EAA8E;IAC9E,wEAAwE;IACxE,8EAA8E;IAC9E,8EAA8E;IAC9E,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,EAAE;QACtC,IAAI,CAAC,iBAAiB,IAAI,QAAQ,CAAC,KAAK,IAAI,CAAC,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACtE,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,kBAAkB,IAAI,uBAAuB,CAAC;QACnE,MAAM,IAAI,GAAG,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QACxE,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK;YAChC,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,MAAM;YAC/B,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK;YAClC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM;YACrC,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC3C,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;SAC9C,CAAC;IACJ,CAAC,EAAE,CAAC,iBAAiB,EAAE,QAAQ,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAE5D,MAAM,cAAc,GAAG,iBAAiB,CACtC,CAAC,KAAK,EAAE,EAAE;QACR,SAAS,CAAC;QACV,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,sEAAsE;QACtE,2EAA2E;QAC3E,sEAAsE;QACtE,EAAE;QACF,qEAAqE;QACrE,2EAA2E;QAC3E,qEAAqE;QACrE,uEAAuE;QACvE,2CAA2C;QAC3C,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE;YACnC,QAAQ,EAAE,wBAAwB;YAClC,mBAAmB,EAAE,yBAAyB;YAC9C,QAAQ,EAAE,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC1D,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACxD,SAAS,EAAE,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5D,UAAU,EAAE,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC9D,iBAAiB,EAAE,kBAAkB;gBACnC,CAAC,CAAC,kBAAkB,CAAC,eAAe;gBACpC,CAAC,CAAC,CAAC;YACL,kBAAkB,EAAE,kBAAkB;gBACpC,CAAC,CAAC,kBAAkB,CAAC,gBAAgB;gBACrC,CAAC,CAAC,CAAC;SACN,CAAC,CAAC;QACH,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC,EACD;QACE,MAAM;QACN,oBAAoB;QACpB,wBAAwB;QACxB,yBAAyB;QACzB,kBAAkB;KACnB,CACF,CAAC;IAEF,sEAAsE;IACtE,6DAA6D;IAC7D,4EAA4E;IAC5E,0EAA0E;IAC1E,0EAA0E;IAC1E,uBAAuB;IACvB,MAAM,sBAAsB,GAC1B,iBAAiB;QACjB,CAAC,eAAe;YACd,CAAC,SAAS;gBACR,CAAC,WAAW,EAAE,IAAI,KAAK,eAAe;oBACpC,CAAC,WAAW,EAAE,IAAI,KAAK,+BAA+B;wBACpD,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,gBAAgB,GACpB,iBAAiB,IAAI,CAAC,SAAS,IAAI,eAAe,CAAC,IAAI,kBAAkB,CAAC;IAE5E,uEAAuE;IACvE,0EAA0E;IAC1E,MAAM,YAAY,GAAkC,OAAO,CACzD,GAAG,EAAE,CAAC,CAAC;QACL,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,sBAAsB;QACtB,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;QAC9C,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,oEAAoE;QACpE,WAAW,EAAE,eAAe,IAAI,kBAAkB;QAClD,4DAA4D;QAC5D,iBAAiB,EAAE,kBAAkB,IAAI,CAAC,iBAAiB;QAC3D,iBAAiB,EAAE,sBAAsB;QACzC,iBAAiB,EAAE,gBAAgB;QACnC,UAAU,EAAE,YAAY,KAAK,YAAY,CAAC,IAAI;QAC9C,GAAG,CAAC,KAAK,CAAC,kBAAkB,KAAK,SAAS;YACxC,CAAC,CAAC,EAAE,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,EAAE;YAClD,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,KAAK,CAAC,gBAAgB,KAAK,SAAS;YACtC,CAAC,CAAC,EAAE,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EAAE;YAC9C,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,EACF;QACE,KAAK,CAAC,WAAW;QACjB,OAAO,CAAC,YAAY;QACpB,sBAAsB;QACtB,OAAO,CAAC,kBAAkB;QAC1B,OAAO,CAAC,WAAW;QACnB,kBAAkB;QAClB,eAAe;QACf,kBAAkB;QAClB,iBAAiB;QACjB,sBAAsB;QACtB,gBAAgB;QAChB,YAAY;QACZ,KAAK,CAAC,kBAAkB;QACxB,KAAK,CAAC,gBAAgB;KACvB,CACF,CAAC;IAEF,sEAAsE;IACtE,MAAM,aAAa,GAAG,OAAO,CAC3B,GAAG,EAAE,CAAC,CACJ,8BAKE,KAAC,kBAAkB,KAAG,EACrB,YAAY,CAAC,CAAC,CAAC,CACd,KAAC,MAAM,IAEL,GAAG,EAAE,SAAS,EACd,KAAK,EAAE,UAAU,CAAC,YAAY,EAC9B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,IAAI,KACV,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAE1B,CAAC,KAAK,CAAC,WAAW,KAAK,WAAW,CAAC,QAAQ;oBAC7C,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;oBACjB,CAAC,CAAC,EAAE,CAAC;gBACP,uFAAuF;gBACvF,iBAAiB,EAAC,QAAQ,EAC1B,0BAA0B,EAAE,CAAC,WAAW,EAAE,EAAE;oBAC1C,2BAA2B,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC,CAAC;gBACjE,CAAC;gBACD,oEAAoE;gBACpE,gEAAgE;gBAChE,2BAA2B,EAAE,CAAC,WAAW,EAAE,EAAE;oBAC3C,4BAA4B,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC,CAAC;gBAClE,CAAC,KAIG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EACzC,MAAM,EAAC,2BAA2B,IAxB7B,oBAAoB,CAyBzB,CACH,CAAC,CAAC,CAAC,CACF,KAAC,IAAI,IACH,KAAK,EAAE;oBACL,UAAU,CAAC,YAAY;oBACvB,EAAE,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE;iBAC3C,EACD,MAAM,EAAC,+BAA+B,GACtC,CACH,IACA,CACJ;IACD,iHAAiH;IACjH;QACE,KAAK,CAAC,WAAW;QACjB,YAAY;QACZ,MAAM;QACN,MAAM;QACN,SAAS;QACT,cAAc;QACd,KAAK,CAAC,MAAM,CAAC,QAAQ;QACrB,oBAAoB;KACrB,CACF,CAAC;IAEF,OAAO,CAML,MAAC,uBAAuB,IAAC,KAAK,EAAE,KAAK,aAInC,KAAC,SAAS,IAAC,WAAW,QAAC,eAAe,EAAC,aAAa,GAAG,EACvD,KAAC,wBAAwB,IACvB,KAAK,EAAE,YAAY,EACnB,eAAe,EAAE,OAAO,CAAC,eAAe,EACxC,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,WAAW,EAC3B,mBAAmB,EAAE,QAAQ,EAC7B,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,eAAe,EAAE,eAAe,EAChC,WAAW,EAAE,KAAK,CAAC,WAAW,EAC9B,gBAAgB,EAAE,oBAAoB,KAClC,CAAC,iBAAiB;oBACpB,CAAC,CAAC;wBACE,eAAe,EAAE,mBAAmB;wBACpC,eAAe,EAAE,iBAAiB;wBAClC,uBAAuB,EAAE,CAAC,kBAAkB;wBAC5C,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACrD;oBACH,CAAC,CAAC,EAAE,CAAC,EACP,KAAK,EAAE,KAAK,GACZ,IACsB,CAC3B,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"use_smile_id_capture_screen.js","sourceRoot":"","sources":["../../../src/presentation/screen/use_smile_id_capture_screen.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@smileid/usesmileid",
|
|
3
|
-
"version": "12.0.
|
|
3
|
+
"version": "12.0.2",
|
|
4
4
|
"description": "Official Smile ID React Native (Expo) SDK for identity verification: selfie capture, liveness checks, and document verification powered by on-device ML.",
|
|
5
5
|
"homepage": "https://usesmileid.com",
|
|
6
6
|
"repository": {
|
|
@@ -51,8 +51,8 @@
|
|
|
51
51
|
"dependencies": {
|
|
52
52
|
"axios": "^1.18.1",
|
|
53
53
|
"zod": "^4.4.3",
|
|
54
|
-
"@smileid/
|
|
55
|
-
"@smileid/
|
|
54
|
+
"@smileid/usesmileid_platform_interface": "12.0.2",
|
|
55
|
+
"@smileid/usesmileid_bridge": "12.0.2"
|
|
56
56
|
},
|
|
57
57
|
"peerDependencies": {
|
|
58
58
|
"@react-native-async-storage/async-storage": ">=1.21.0",
|
|
@@ -119,6 +119,28 @@ export const Appearance = {
|
|
|
119
119
|
addChangeListener: () => ({ remove: () => {} }),
|
|
120
120
|
};
|
|
121
121
|
|
|
122
|
+
const appStateListeners = new Set<(state: string) => void>();
|
|
123
|
+
|
|
124
|
+
export const AppState: {
|
|
125
|
+
currentState: string;
|
|
126
|
+
addEventListener: (
|
|
127
|
+
type: string,
|
|
128
|
+
listener: (state: string) => void,
|
|
129
|
+
) => { remove: () => void };
|
|
130
|
+
emit: (state: string) => void;
|
|
131
|
+
} = {
|
|
132
|
+
currentState: "active",
|
|
133
|
+
addEventListener: (_type, listener) => {
|
|
134
|
+
appStateListeners.add(listener);
|
|
135
|
+
return { remove: () => appStateListeners.delete(listener) };
|
|
136
|
+
},
|
|
137
|
+
// Test-only hook — no `AppState.emit` exists in React Native.
|
|
138
|
+
emit: (state) => {
|
|
139
|
+
AppState.currentState = state;
|
|
140
|
+
for (const listener of appStateListeners) listener(state);
|
|
141
|
+
},
|
|
142
|
+
};
|
|
143
|
+
|
|
122
144
|
export const Linking = {
|
|
123
145
|
openURL: (_url: string) => Promise.resolve(),
|
|
124
146
|
canOpenURL: (_url: string) => Promise.resolve(true),
|
|
@@ -110,7 +110,7 @@ exports[`structural snapshots > consent > consent/default 1`] = `
|
|
|
110
110
|
}
|
|
111
111
|
testID="si_consent_title"
|
|
112
112
|
>
|
|
113
|
-
Acme Bank would like to verify your identity using Smile ID.
|
|
113
|
+
Acme Bank would like to verify your identity using Smile ID.
|
|
114
114
|
</Text>
|
|
115
115
|
<Text
|
|
116
116
|
style={
|
|
@@ -615,9 +615,10 @@ exports[`structural snapshots > consent > consent/default 1`] = `
|
|
|
615
615
|
{
|
|
616
616
|
"alignItems": "center",
|
|
617
617
|
"alignSelf": "stretch",
|
|
618
|
-
"height": 48,
|
|
619
618
|
"justifyContent": "center",
|
|
619
|
+
"minHeight": 48,
|
|
620
620
|
"paddingHorizontal": 24,
|
|
621
|
+
"paddingVertical": 8,
|
|
621
622
|
},
|
|
622
623
|
{
|
|
623
624
|
"backgroundColor": "#151F72",
|
|
@@ -658,9 +659,10 @@ exports[`structural snapshots > consent > consent/default 1`] = `
|
|
|
658
659
|
{
|
|
659
660
|
"alignItems": "center",
|
|
660
661
|
"alignSelf": "stretch",
|
|
661
|
-
"height": 48,
|
|
662
662
|
"justifyContent": "center",
|
|
663
|
+
"minHeight": 48,
|
|
663
664
|
"paddingHorizontal": 24,
|
|
665
|
+
"paddingVertical": 8,
|
|
664
666
|
},
|
|
665
667
|
{
|
|
666
668
|
"backgroundColor": "transparent",
|
|
@@ -801,7 +803,7 @@ exports[`structural snapshots > document/back_instructions > document/back_instr
|
|
|
801
803
|
}
|
|
802
804
|
testID="si_document_back_instructions_title"
|
|
803
805
|
>
|
|
804
|
-
Flip your National ID
|
|
806
|
+
Flip your National ID
|
|
805
807
|
</Text>
|
|
806
808
|
<View
|
|
807
809
|
style={
|
|
@@ -853,9 +855,10 @@ exports[`structural snapshots > document/back_instructions > document/back_instr
|
|
|
853
855
|
{
|
|
854
856
|
"alignItems": "center",
|
|
855
857
|
"alignSelf": "stretch",
|
|
856
|
-
"height": 48,
|
|
857
858
|
"justifyContent": "center",
|
|
859
|
+
"minHeight": 48,
|
|
858
860
|
"paddingHorizontal": 24,
|
|
861
|
+
"paddingVertical": 8,
|
|
859
862
|
},
|
|
860
863
|
{
|
|
861
864
|
"backgroundColor": "#151F72",
|
|
@@ -903,9 +906,10 @@ exports[`structural snapshots > document/back_instructions > document/back_instr
|
|
|
903
906
|
{
|
|
904
907
|
"alignItems": "center",
|
|
905
908
|
"alignSelf": "stretch",
|
|
906
|
-
"height": 48,
|
|
907
909
|
"justifyContent": "center",
|
|
910
|
+
"minHeight": 48,
|
|
908
911
|
"paddingHorizontal": 24,
|
|
912
|
+
"paddingVertical": 8,
|
|
909
913
|
},
|
|
910
914
|
{
|
|
911
915
|
"backgroundColor": "transparent",
|
|
@@ -2080,9 +2084,10 @@ exports[`structural snapshots > selfie/capture content > selfie/capture/start_bu
|
|
|
2080
2084
|
{
|
|
2081
2085
|
"alignItems": "center",
|
|
2082
2086
|
"alignSelf": "stretch",
|
|
2083
|
-
"height": 48,
|
|
2084
2087
|
"justifyContent": "center",
|
|
2088
|
+
"minHeight": 48,
|
|
2085
2089
|
"paddingHorizontal": 24,
|
|
2090
|
+
"paddingVertical": 8,
|
|
2086
2091
|
},
|
|
2087
2092
|
{
|
|
2088
2093
|
"backgroundColor": "#151F72",
|
|
@@ -4546,9 +4551,10 @@ exports[`structural snapshots > selfie/instructions > selfie/instructions/defaul
|
|
|
4546
4551
|
{
|
|
4547
4552
|
"alignItems": "center",
|
|
4548
4553
|
"alignSelf": "stretch",
|
|
4549
|
-
"height": 48,
|
|
4550
4554
|
"justifyContent": "center",
|
|
4555
|
+
"minHeight": 48,
|
|
4551
4556
|
"paddingHorizontal": 24,
|
|
4557
|
+
"paddingVertical": 8,
|
|
4552
4558
|
},
|
|
4553
4559
|
{
|
|
4554
4560
|
"backgroundColor": "#151F72",
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { describe, it, expect, beforeEach, vi } from "vitest";
|
|
2
|
+
import { Camera } from "react-native-vision-camera";
|
|
3
|
+
import {
|
|
4
|
+
getCameraPermissionStatus,
|
|
5
|
+
requestCameraPermission,
|
|
6
|
+
} from "../camera_permissions";
|
|
7
|
+
|
|
8
|
+
// The shared setup mocks `react-native-vision-camera`; these are its
|
|
9
|
+
// permission statics, re-armed per test.
|
|
10
|
+
const getStatus = vi.mocked(Camera.getCameraPermissionStatus);
|
|
11
|
+
const requestStatus = vi.mocked(Camera.requestCameraPermission);
|
|
12
|
+
|
|
13
|
+
beforeEach(() => {
|
|
14
|
+
getStatus.mockReset();
|
|
15
|
+
requestStatus.mockReset();
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
describe("getCameraPermissionStatus", () => {
|
|
19
|
+
it("reports granted without prompting", async () => {
|
|
20
|
+
getStatus.mockReturnValue("granted");
|
|
21
|
+
|
|
22
|
+
await expect(getCameraPermissionStatus()).resolves.toBe("granted");
|
|
23
|
+
expect(requestStatus).not.toHaveBeenCalled();
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
it("normalises vision-camera's not-determined to undetermined", async () => {
|
|
27
|
+
getStatus.mockReturnValue("not-determined");
|
|
28
|
+
|
|
29
|
+
await expect(getCameraPermissionStatus()).resolves.toBe("undetermined");
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
it("reports denied as denied", async () => {
|
|
33
|
+
getStatus.mockReturnValue("denied");
|
|
34
|
+
|
|
35
|
+
await expect(getCameraPermissionStatus()).resolves.toBe("denied");
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
it("collapses restricted to denied so callers need only three branches", async () => {
|
|
39
|
+
getStatus.mockReturnValue("restricted");
|
|
40
|
+
|
|
41
|
+
await expect(getCameraPermissionStatus()).resolves.toBe("denied");
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
describe("requestCameraPermission", () => {
|
|
46
|
+
it("prompts and reports the granted outcome", async () => {
|
|
47
|
+
requestStatus.mockResolvedValue("granted");
|
|
48
|
+
|
|
49
|
+
await expect(requestCameraPermission()).resolves.toBe("granted");
|
|
50
|
+
expect(requestStatus).toHaveBeenCalledTimes(1);
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
it("reports a dismissed prompt as denied", async () => {
|
|
54
|
+
requestStatus.mockResolvedValue("denied");
|
|
55
|
+
|
|
56
|
+
await expect(requestCameraPermission()).resolves.toBe("denied");
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
it("maps a restricted device to denied rather than leaking the raw status", async () => {
|
|
60
|
+
requestStatus.mockResolvedValue("restricted");
|
|
61
|
+
|
|
62
|
+
await expect(requestCameraPermission()).resolves.toBe("denied");
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
it("never reports undetermined once the prompt has resolved granted", async () => {
|
|
66
|
+
requestStatus.mockResolvedValue("granted");
|
|
67
|
+
|
|
68
|
+
const status = await requestCameraPermission();
|
|
69
|
+
|
|
70
|
+
expect(status).not.toBe("undetermined");
|
|
71
|
+
});
|
|
72
|
+
});
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Tap-to-focus half of the camera orchestrator: the reticle state machine
|
|
5
|
+
* (`running` → `success` → `unspecified`), the vision-camera `focus()` call
|
|
6
|
+
* through the attached ref, and the fail-open behaviour on fixed-focus
|
|
7
|
+
* devices. The lifecycle half lives in `use_smile_id_camera_system.test.ts`.
|
|
8
|
+
*/
|
|
9
|
+
const { permissions, captureException } = vi.hoisted(() => ({
|
|
10
|
+
permissions: { getStatus: vi.fn(), request: vi.fn() },
|
|
11
|
+
captureException: vi.fn(),
|
|
12
|
+
}));
|
|
13
|
+
|
|
14
|
+
vi.mock("../camera_permissions", () => ({
|
|
15
|
+
getCameraPermissionStatus: permissions.getStatus,
|
|
16
|
+
requestCameraPermission: permissions.request,
|
|
17
|
+
}));
|
|
18
|
+
|
|
19
|
+
vi.mock("@smileid/usesmileid_bridge", async () => {
|
|
20
|
+
const actual = await vi.importActual<
|
|
21
|
+
typeof import("@smileid/usesmileid_bridge")
|
|
22
|
+
>("@smileid/usesmileid_bridge");
|
|
23
|
+
return {
|
|
24
|
+
...actual,
|
|
25
|
+
UseSmileIDCrashReporting: {
|
|
26
|
+
...actual.UseSmileIDCrashReporting,
|
|
27
|
+
captureException,
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
import type { Camera } from "react-native-vision-camera";
|
|
33
|
+
import { CameraDefaults } from "../camera_defaults";
|
|
34
|
+
import type { FocusState } from "../focus_state";
|
|
35
|
+
import { UseSmileIDCameraSystem } from "../use_smile_id_camera_system";
|
|
36
|
+
|
|
37
|
+
const POINT = { x: 0.25, y: 0.75 };
|
|
38
|
+
|
|
39
|
+
function attachCamera(
|
|
40
|
+
system: UseSmileIDCameraSystem,
|
|
41
|
+
focus: (point: { x: number; y: number }) => Promise<void>,
|
|
42
|
+
) {
|
|
43
|
+
const ref = { focus: vi.fn(focus) };
|
|
44
|
+
system.attachRef(ref as unknown as Camera);
|
|
45
|
+
return ref;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
describe("UseSmileIDCameraSystem — tap to focus", () => {
|
|
49
|
+
beforeEach(() => {
|
|
50
|
+
vi.useFakeTimers();
|
|
51
|
+
permissions.getStatus.mockReset();
|
|
52
|
+
permissions.request.mockReset();
|
|
53
|
+
captureException.mockReset();
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
afterEach(() => {
|
|
57
|
+
vi.useRealTimers();
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
it("drives the reticle through running → success → unspecified", async () => {
|
|
61
|
+
const system = new UseSmileIDCameraSystem();
|
|
62
|
+
const seen: FocusState[] = [];
|
|
63
|
+
system.subscribe((_state, focus) => seen.push(focus));
|
|
64
|
+
|
|
65
|
+
await system.tapToFocus(POINT);
|
|
66
|
+
expect(system.getFocusState()).toEqual({ kind: "running", point: POINT });
|
|
67
|
+
|
|
68
|
+
await vi.advanceTimersByTimeAsync(CameraDefaults.focusRunningDurationMs);
|
|
69
|
+
expect(system.getFocusState()).toEqual({ kind: "success", point: POINT });
|
|
70
|
+
|
|
71
|
+
await vi.advanceTimersByTimeAsync(CameraDefaults.focusSettledDurationMs);
|
|
72
|
+
expect(system.getFocusState()).toEqual({ kind: "unspecified" });
|
|
73
|
+
|
|
74
|
+
expect(seen.map((focus) => focus.kind)).toEqual([
|
|
75
|
+
"running",
|
|
76
|
+
"success",
|
|
77
|
+
"unspecified",
|
|
78
|
+
]);
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
it("calls vision-camera focus() with the normalized point", async () => {
|
|
82
|
+
const system = new UseSmileIDCameraSystem();
|
|
83
|
+
const ref = attachCamera(system, async () => {});
|
|
84
|
+
|
|
85
|
+
await system.tapToFocus(POINT);
|
|
86
|
+
|
|
87
|
+
expect(ref.focus).toHaveBeenCalledWith({ x: 0.25, y: 0.75 });
|
|
88
|
+
expect(captureException).not.toHaveBeenCalled();
|
|
89
|
+
});
|
|
90
|
+
|
|
91
|
+
it("keeps the reticle moving when the lens rejects the focus request", async () => {
|
|
92
|
+
const system = new UseSmileIDCameraSystem();
|
|
93
|
+
const failure = new Error("fixed-focus front camera");
|
|
94
|
+
attachCamera(system, async () => {
|
|
95
|
+
throw failure;
|
|
96
|
+
});
|
|
97
|
+
|
|
98
|
+
await system.tapToFocus(POINT);
|
|
99
|
+
|
|
100
|
+
expect(captureException).toHaveBeenCalledWith(failure);
|
|
101
|
+
expect(system.getFocusState()).toEqual({ kind: "running", point: POINT });
|
|
102
|
+
|
|
103
|
+
await vi.advanceTimersByTimeAsync(CameraDefaults.focusRunningDurationMs);
|
|
104
|
+
expect(system.getFocusState().kind).toBe("success");
|
|
105
|
+
});
|
|
106
|
+
|
|
107
|
+
it("a second tap restarts the timers instead of stacking them", async () => {
|
|
108
|
+
const system = new UseSmileIDCameraSystem();
|
|
109
|
+
const secondPoint = { x: 0.9, y: 0.1 };
|
|
110
|
+
|
|
111
|
+
await system.tapToFocus(POINT);
|
|
112
|
+
await vi.advanceTimersByTimeAsync(
|
|
113
|
+
CameraDefaults.focusRunningDurationMs - 10,
|
|
114
|
+
);
|
|
115
|
+
await system.tapToFocus(secondPoint);
|
|
116
|
+
|
|
117
|
+
// The first tap's success timer was cleared — 10 ms in, still running.
|
|
118
|
+
await vi.advanceTimersByTimeAsync(10);
|
|
119
|
+
expect(system.getFocusState()).toEqual({
|
|
120
|
+
kind: "running",
|
|
121
|
+
point: secondPoint,
|
|
122
|
+
});
|
|
123
|
+
|
|
124
|
+
await vi.advanceTimersByTimeAsync(CameraDefaults.focusRunningDurationMs);
|
|
125
|
+
expect(system.getFocusState()).toEqual({
|
|
126
|
+
kind: "success",
|
|
127
|
+
point: secondPoint,
|
|
128
|
+
});
|
|
129
|
+
});
|
|
130
|
+
|
|
131
|
+
it("is a no-op after release(), and release() cancels pending reticle timers", async () => {
|
|
132
|
+
const system = new UseSmileIDCameraSystem();
|
|
133
|
+
const ref = attachCamera(system, async () => {});
|
|
134
|
+
|
|
135
|
+
await system.tapToFocus(POINT);
|
|
136
|
+
system.release();
|
|
137
|
+
|
|
138
|
+
await vi.advanceTimersByTimeAsync(
|
|
139
|
+
CameraDefaults.focusRunningDurationMs +
|
|
140
|
+
CameraDefaults.focusSettledDurationMs,
|
|
141
|
+
);
|
|
142
|
+
// The pending success/settled transitions were cancelled by release().
|
|
143
|
+
expect(system.getFocusState()).toEqual({ kind: "running", point: POINT });
|
|
144
|
+
|
|
145
|
+
ref.focus.mockClear();
|
|
146
|
+
await system.tapToFocus({ x: 0.5, y: 0.5 });
|
|
147
|
+
expect(ref.focus).not.toHaveBeenCalled();
|
|
148
|
+
expect(system.getFocusState()).toEqual({ kind: "running", point: POINT });
|
|
149
|
+
});
|
|
150
|
+
|
|
151
|
+
it("skips the native call when no camera ref is attached", async () => {
|
|
152
|
+
const system = new UseSmileIDCameraSystem();
|
|
153
|
+
system.attachRef(null);
|
|
154
|
+
|
|
155
|
+
await system.tapToFocus(POINT);
|
|
156
|
+
|
|
157
|
+
expect(captureException).not.toHaveBeenCalled();
|
|
158
|
+
await vi.advanceTimersByTimeAsync(CameraDefaults.focusRunningDurationMs);
|
|
159
|
+
expect(system.getFocusState().kind).toBe("success");
|
|
160
|
+
});
|
|
161
|
+
|
|
162
|
+
it("never lets a throwing subscriber break the dispatch chain", async () => {
|
|
163
|
+
const system = new UseSmileIDCameraSystem();
|
|
164
|
+
const healthy = vi.fn();
|
|
165
|
+
system.subscribe(() => {
|
|
166
|
+
throw new Error("partner overlay blew up");
|
|
167
|
+
});
|
|
168
|
+
system.subscribe(healthy);
|
|
169
|
+
|
|
170
|
+
await expect(system.tapToFocus(POINT)).resolves.toBeUndefined();
|
|
171
|
+
expect(healthy).toHaveBeenCalled();
|
|
172
|
+
});
|
|
173
|
+
});
|