@smileid/usesmileid 12.0.0 → 12.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/CHANGELOG.md +4 -0
- package/dist/core/exception/agent_mode_with_enhanced_liveness_exception.d.ts +11 -0
- package/dist/core/exception/agent_mode_with_enhanced_liveness_exception.d.ts.map +1 -0
- package/dist/core/exception/agent_mode_with_enhanced_liveness_exception.js +17 -0
- package/dist/core/exception/agent_mode_with_enhanced_liveness_exception.js.map +1 -0
- package/dist/core/exception/capture_validation_exceptions.d.ts +1 -0
- package/dist/core/exception/capture_validation_exceptions.d.ts.map +1 -1
- package/dist/core/exception/capture_validation_exceptions.js +1 -0
- package/dist/core/exception/capture_validation_exceptions.js.map +1 -1
- package/dist/core/exception/index.d.ts +1 -0
- package/dist/core/exception/index.d.ts.map +1 -1
- package/dist/core/exception/index.js +1 -0
- package/dist/core/exception/index.js.map +1 -1
- package/dist/core/exception/use_smile_id_error_code.d.ts +1 -0
- package/dist/core/exception/use_smile_id_error_code.d.ts.map +1 -1
- package/dist/core/exception/use_smile_id_error_code.js +1 -0
- package/dist/core/exception/use_smile_id_error_code.js.map +1 -1
- package/dist/core/models/config.d.ts +19 -0
- package/dist/core/models/config.d.ts.map +1 -1
- package/dist/core/models/document_type.d.ts +1 -1
- package/dist/core/models/document_type.d.ts.map +1 -1
- package/dist/core/models/document_type.js +2 -2
- package/dist/core/models/document_type.js.map +1 -1
- package/dist/core/models/global_privacy_control.d.ts +36 -0
- package/dist/core/models/global_privacy_control.d.ts.map +1 -0
- package/dist/core/models/global_privacy_control.js +39 -0
- package/dist/core/models/global_privacy_control.js.map +1 -0
- package/dist/core/models/network_config.d.ts +2 -2
- package/dist/core/models/network_config.js +2 -2
- package/dist/data/api/interceptors/smile_auth_interceptor.d.ts.map +1 -1
- package/dist/data/api/interceptors/smile_auth_interceptor.js +3 -17
- package/dist/data/api/interceptors/smile_auth_interceptor.js.map +1 -1
- package/dist/data/api/smile_id_api.d.ts +1 -1
- package/dist/data/api/smile_id_api.d.ts.map +1 -1
- package/dist/data/dsl/builder/retry_config_builder.d.ts +4 -4
- package/dist/data/dsl/builder/retry_config_builder.d.ts.map +1 -1
- package/dist/data/dsl/builder/retry_config_builder.js +6 -6
- package/dist/data/dsl/builder/retry_config_builder.js.map +1 -1
- package/dist/data/smile_id_urls.d.ts +1 -1
- package/dist/data/smile_id_urls.js +1 -1
- package/dist/data/smile_id_urls.js.map +1 -1
- package/dist/data/util/retry_util.d.ts +1 -1
- package/dist/data/util/retry_util.d.ts.map +1 -1
- package/dist/data/util/retry_util.js +5 -0
- package/dist/data/util/retry_util.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/metadata/builder_configuration.d.ts +5 -0
- package/dist/metadata/builder_configuration.d.ts.map +1 -1
- package/dist/metadata/builder_configuration.js +1 -0
- package/dist/metadata/builder_configuration.js.map +1 -1
- package/dist/metadata/metadata_configuration_mappers.d.ts +2 -3
- package/dist/metadata/metadata_configuration_mappers.d.ts.map +1 -1
- package/dist/metadata/metadata_configuration_mappers.js +13 -6
- package/dist/metadata/metadata_configuration_mappers.js.map +1 -1
- package/dist/metadata/use_smile_id_metadata_factory.d.ts.map +1 -1
- package/dist/metadata/use_smile_id_metadata_factory.js +14 -5
- package/dist/metadata/use_smile_id_metadata_factory.js.map +1 -1
- package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_clip.d.ts +5 -2
- package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_clip.d.ts.map +1 -1
- package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_clip.js +8 -3
- package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_clip.js.map +1 -1
- package/dist/presentation/components/use_smile_id_instructions_hero.d.ts.map +1 -1
- package/dist/presentation/components/use_smile_id_instructions_hero.js +8 -3
- package/dist/presentation/components/use_smile_id_instructions_hero.js.map +1 -1
- package/dist/presentation/flow/dsl/builder/config_builder.d.ts +16 -0
- package/dist/presentation/flow/dsl/builder/config_builder.d.ts.map +1 -1
- package/dist/presentation/flow/dsl/builder/config_builder.js +18 -0
- package/dist/presentation/flow/dsl/builder/config_builder.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 +3 -6
- package/dist/presentation/flow/dsl/builder/screens_builder.js.map +1 -1
- package/dist/presentation/flow/flow_navigation_manager.d.ts +5 -1
- package/dist/presentation/flow/flow_navigation_manager.d.ts.map +1 -1
- package/dist/presentation/flow/flow_navigation_manager.js +7 -1
- package/dist/presentation/flow/flow_navigation_manager.js.map +1 -1
- package/dist/presentation/flow/model/instructions_defaults.d.ts.map +1 -1
- package/dist/presentation/flow/model/instructions_defaults.js +1 -1
- package/dist/presentation/flow/model/instructions_defaults.js.map +1 -1
- package/dist/presentation/flow/screen/orchestrated_capture_screen.d.ts.map +1 -1
- package/dist/presentation/flow/screen/orchestrated_capture_screen.js +13 -3
- package/dist/presentation/flow/screen/orchestrated_capture_screen.js.map +1 -1
- package/dist/presentation/flow/screen/orchestrated_consent_screen.d.ts.map +1 -1
- package/dist/presentation/flow/screen/orchestrated_consent_screen.js +3 -1
- package/dist/presentation/flow/screen/orchestrated_consent_screen.js.map +1 -1
- package/dist/presentation/flow/screen/orchestrated_preview_screen.d.ts.map +1 -1
- package/dist/presentation/flow/screen/orchestrated_preview_screen.js +0 -8
- package/dist/presentation/flow/screen/orchestrated_preview_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 +10 -4
- package/dist/presentation/flow/use_smile_id_flow.js.map +1 -1
- package/dist/presentation/flow/validation/flow_validator.d.ts.map +1 -1
- package/dist/presentation/flow/validation/flow_validator.js +42 -20
- package/dist/presentation/flow/validation/flow_validator.js.map +1 -1
- package/dist/presentation/screen/helpers/capture_ui_state.d.ts +6 -6
- package/dist/presentation/screen/helpers/capture_ui_state.d.ts.map +1 -1
- package/dist/presentation/screen/helpers/capture_ui_state.js +19 -19
- package/dist/presentation/screen/helpers/capture_ui_state.js.map +1 -1
- package/dist/presentation/screen/helpers/ess_turn_haptics.d.ts +2 -2
- package/dist/presentation/screen/helpers/ess_turn_haptics.d.ts.map +1 -1
- package/dist/presentation/screen/helpers/ess_turn_haptics.js +6 -6
- package/dist/presentation/screen/helpers/ess_turn_haptics.js.map +1 -1
- package/dist/presentation/screen/helpers/scan_state_to_overlay_state.d.ts +5 -5
- package/dist/presentation/screen/helpers/scan_state_to_overlay_state.d.ts.map +1 -1
- package/dist/presentation/screen/helpers/scan_state_to_overlay_state.js +11 -11
- package/dist/presentation/screen/helpers/scan_state_to_overlay_state.js.map +1 -1
- package/dist/presentation/screen/helpers/use_capture_orientation_lock.d.ts +13 -3
- package/dist/presentation/screen/helpers/use_capture_orientation_lock.d.ts.map +1 -1
- package/dist/presentation/screen/helpers/use_capture_orientation_lock.js +48 -6
- package/dist/presentation/screen/helpers/use_capture_orientation_lock.js.map +1 -1
- package/dist/presentation/screen/use_smile_id_capture_screen.d.ts +4 -2
- package/dist/presentation/screen/use_smile_id_capture_screen.d.ts.map +1 -1
- package/dist/presentation/screen/use_smile_id_capture_screen.js +36 -15
- package/dist/presentation/screen/use_smile_id_capture_screen.js.map +1 -1
- package/dist/presentation/screen/use_smile_id_consent_screen.d.ts +7 -0
- package/dist/presentation/screen/use_smile_id_consent_screen.d.ts.map +1 -1
- package/dist/presentation/screen/use_smile_id_consent_screen.js +6 -5
- package/dist/presentation/screen/use_smile_id_consent_screen.js.map +1 -1
- package/dist/presentation/screen/use_smile_id_document_back_instructions.d.ts.map +1 -1
- package/dist/presentation/screen/use_smile_id_document_back_instructions.js +5 -13
- package/dist/presentation/screen/use_smile_id_document_back_instructions.js.map +1 -1
- package/dist/presentation/screen/use_smile_id_document_preview_screen.js +1 -1
- package/dist/presentation/screen/use_smile_id_document_preview_screen.js.map +1 -1
- package/dist/presentation/screen/use_smile_id_preview_screen.d.ts +1 -21
- package/dist/presentation/screen/use_smile_id_preview_screen.d.ts.map +1 -1
- package/dist/presentation/screen/use_smile_id_preview_screen.js +3 -14
- package/dist/presentation/screen/use_smile_id_preview_screen.js.map +1 -1
- package/dist/presentation/screen/use_smile_id_processing_screen.js +1 -1
- package/dist/presentation/screen/use_smile_id_processing_screen.js.map +1 -1
- package/dist/presentation/utils/locale_utils.d.ts +10 -4
- package/dist/presentation/utils/locale_utils.d.ts.map +1 -1
- package/dist/presentation/utils/locale_utils.js +13 -5
- package/dist/presentation/utils/locale_utils.js.map +1 -1
- package/dist/testing/fake_face_analyzer.d.ts +43 -0
- package/dist/testing/fake_face_analyzer.d.ts.map +1 -0
- package/dist/testing/fake_face_analyzer.js +52 -0
- package/dist/testing/fake_face_analyzer.js.map +1 -0
- package/dist/testing/index.d.ts +5 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +7 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/scenario_expectations.d.ts +28 -0
- package/dist/testing/scenario_expectations.d.ts.map +1 -0
- package/dist/testing/scenario_expectations.js +65 -0
- package/dist/testing/scenario_expectations.js.map +1 -0
- package/dist/testing/scenario_loader.d.ts +11 -0
- package/dist/testing/scenario_loader.d.ts.map +1 -0
- package/dist/testing/scenario_loader.js +64 -0
- package/dist/testing/scenario_loader.js.map +1 -0
- package/dist/testing/scripted_scan_results.d.ts +17 -0
- package/dist/testing/scripted_scan_results.d.ts.map +1 -0
- package/dist/testing/scripted_scan_results.js +52 -0
- package/dist/testing/scripted_scan_results.js.map +1 -0
- package/package.json +11 -4
- package/src/__tests__/dsl.test.ts +51 -1
- package/src/__tests__/setup_react_native.ts +17 -2
- package/src/__tests__/snapshots/__snapshots__/screens_structural.test.tsx.snap +5261 -0
- package/src/__tests__/snapshots/screens_structural.test.tsx +230 -0
- package/src/camera/__tests__/use_smile_id_camera_system.test.ts +103 -0
- package/src/core/exception/__tests__/builder_validation_exceptions.test.ts +67 -0
- package/src/core/exception/agent_mode_with_enhanced_liveness_exception.ts +20 -0
- package/src/core/exception/capture_validation_exceptions.ts +1 -0
- package/src/core/exception/index.ts +1 -0
- package/src/core/exception/use_smile_id_error_code.ts +1 -0
- package/src/core/models/__tests__/document_type.test.ts +2 -2
- package/src/core/models/__tests__/flow_models.test.ts +26 -0
- package/src/core/models/config.ts +22 -0
- package/src/core/models/document_type.ts +2 -2
- package/src/core/models/global_privacy_control.ts +45 -0
- package/src/core/models/network_config.ts +2 -2
- package/src/data/api/__tests__/smile_id_api.test.ts +1 -1
- package/src/data/api/interceptors/__tests__/gzip_interceptor.test.ts +83 -0
- package/src/data/api/interceptors/smile_auth_interceptor.ts +3 -18
- package/src/data/compression/__tests__/payload_compressor_real_jpeg.test.ts +6 -2
- package/src/data/dsl/builder/__tests__/config_builders.test.ts +62 -0
- package/src/data/dsl/builder/retry_config_builder.ts +6 -6
- package/src/data/factory/__tests__/retry_gzip_mac_composition.test.ts +163 -0
- package/src/data/factory/__tests__/signed_job_submission_headers.test.ts +1 -1
- package/src/data/repository/__tests__/network_retries.test.ts +1 -1
- package/src/data/repository/__tests__/use_smile_id_repository.test.ts +1 -1
- package/src/data/security/__tests__/request_canonicalizer.test.ts +132 -0
- package/src/data/smile_id_urls.ts +1 -1
- package/src/data/util/__tests__/retry_util.test.ts +25 -0
- package/src/data/util/retry_util.ts +9 -1
- package/src/index.ts +6 -4
- package/src/metadata/__tests__/metadata_configuration_mappers.test.ts +39 -0
- package/src/metadata/__tests__/metadata_configuration_objects.test.ts +2 -1
- package/src/metadata/__tests__/metadata_device_context.test.ts +3 -3
- package/src/metadata/__tests__/metadata_device_os_android.test.ts +18 -0
- 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__/use_smile_id_metadata.test.ts +1 -1
- package/src/metadata/builder_configuration.ts +6 -0
- package/src/metadata/metadata_configuration_mappers.ts +21 -7
- package/src/metadata/use_smile_id_metadata_factory.ts +17 -6
- package/src/presentation/assets/si_document_green_book_hero_animation.json +1 -4668
- package/src/presentation/assets/si_document_hero_animation.json +1 -4799
- package/src/presentation/assets/si_document_hero_back_animation.json +1 -2039
- package/src/presentation/assets/si_document_passport_hero_animation.json +1 -14491
- package/src/presentation/assets/si_ess_all_directions_hero_animation.json +1 -0
- package/src/presentation/assets/si_ess_animation_all_directions.json +1 -6589
- package/src/presentation/assets/si_selfie_hero_animation.json +1 -1439
- package/src/presentation/assets/si_smile_to_capture_animation.json +1 -1439
- package/src/presentation/components/__tests__/use_smile_id_enhanced_smart_selfie_clip.test.tsx +9 -4
- package/src/presentation/components/__tests__/use_smile_id_instructions_hero.test.tsx +44 -0
- package/src/presentation/components/use_smile_id_enhanced_smart_selfie_clip.tsx +9 -3
- package/src/presentation/components/use_smile_id_instructions_hero.tsx +10 -0
- package/src/presentation/flow/__tests__/document_flow_navigation.test.ts +3 -3
- package/src/presentation/flow/__tests__/flow_navigation_manager.test.ts +49 -0
- package/src/presentation/flow/dsl/builder/__tests__/config_builder.test.ts +25 -0
- package/src/presentation/flow/dsl/builder/config_builder.ts +21 -0
- package/src/presentation/flow/dsl/builder/screens_builder.ts +3 -6
- package/src/presentation/flow/flow_navigation_manager.ts +6 -1
- package/src/presentation/flow/model/instructions_defaults.ts +1 -1
- package/src/presentation/flow/screen/orchestrated_capture_screen.tsx +18 -3
- package/src/presentation/flow/screen/orchestrated_consent_screen.tsx +5 -0
- package/src/presentation/flow/screen/orchestrated_preview_screen.tsx +0 -12
- package/src/presentation/flow/use_smile_id_flow.tsx +11 -4
- package/src/presentation/flow/validation/__tests__/flow_validator.test.ts +61 -1
- package/src/presentation/flow/validation/flow_validator.ts +55 -26
- package/src/presentation/screen/__tests__/capture_ui_state.test.ts +66 -47
- package/src/presentation/screen/__tests__/ess_turn_haptics.test.ts +15 -11
- package/src/presentation/screen/__tests__/scan_state_to_overlay_state.test.ts +47 -27
- package/src/presentation/screen/__tests__/use_smile_id_capture_screen.test.tsx +176 -14
- package/src/presentation/screen/__tests__/use_smile_id_document_back_instructions.test.tsx +1 -1
- package/src/presentation/screen/__tests__/use_smile_id_preview_screen.test.tsx +10 -40
- package/src/presentation/screen/helpers/__tests__/use_capture_orientation_lock.test.tsx +212 -0
- package/src/presentation/screen/helpers/capture_ui_state.ts +27 -27
- package/src/presentation/screen/helpers/ess_turn_haptics.ts +9 -9
- package/src/presentation/screen/helpers/scan_state_to_overlay_state.ts +13 -13
- package/src/presentation/screen/helpers/use_capture_orientation_lock.ts +69 -7
- package/src/presentation/screen/use_smile_id_capture_screen.tsx +47 -19
- package/src/presentation/screen/use_smile_id_consent_screen.tsx +16 -5
- package/src/presentation/screen/use_smile_id_document_back_instructions.tsx +14 -23
- package/src/presentation/screen/use_smile_id_document_preview_screen.tsx +1 -1
- package/src/presentation/screen/use_smile_id_preview_screen.tsx +13 -45
- package/src/presentation/screen/use_smile_id_processing_screen.tsx +1 -1
- package/src/presentation/utils/__tests__/locale_utils.test.ts +46 -5
- package/src/presentation/utils/locale_utils.ts +13 -4
- package/src/testing/__tests__/fake_face_analyzer.test.ts +42 -0
- package/src/testing/__tests__/scenario_expectations.test.ts +110 -0
- package/src/testing/__tests__/scenario_loader.test.ts +64 -0
- package/src/testing/fake_face_analyzer.ts +82 -0
- package/src/testing/index.ts +15 -0
- package/src/testing/scenario_expectations.ts +87 -0
- package/src/testing/scenario_loader.ts +83 -0
- package/src/testing/scripted_scan_results.ts +66 -0
- package/dist/presentation/components/use_smile_id_face_silhouette_overlay.d.ts +0 -15
- package/dist/presentation/components/use_smile_id_face_silhouette_overlay.d.ts.map +0 -1
- package/dist/presentation/components/use_smile_id_face_silhouette_overlay.js +0 -19
- package/dist/presentation/components/use_smile_id_face_silhouette_overlay.js.map +0 -1
- package/src/presentation/components/use_smile_id_face_silhouette_overlay.tsx +0 -27
|
@@ -3,9 +3,46 @@ import { JobType } from "../../../core/models/job_type";
|
|
|
3
3
|
import { IssueSeverity } from "../../../core/exception/issue_severity";
|
|
4
4
|
import { InvalidConsentConfigException, InvalidConsentInformationException, } from "../../../core/exception/consent_validation_exceptions";
|
|
5
5
|
import { InvalidFieldValueException, MissingJobTypeException, MissingMLConfigurationBlockException, MissingNetworkConfigurationBlockException, } from "../../../core/exception/job_validation_exceptions";
|
|
6
|
-
import { InvalidDocumentCaptureConfigException, InvalidMissingCaptureTypeException, } from "../../../core/exception/capture_validation_exceptions";
|
|
6
|
+
import { AgentModeWithEnhancedLivenessException, InvalidDocumentCaptureConfigException, InvalidMissingCaptureTypeException, } from "../../../core/exception/capture_validation_exceptions";
|
|
7
7
|
import { EmptyScreensBlockException } from "../../../core/exception/screen_config_validation_exceptions";
|
|
8
8
|
import { collectJobTypeIssues } from "./job_type_validator";
|
|
9
|
+
/**
|
|
10
|
+
* Agent mode captures on the rear lens while the head-turn challenge is only
|
|
11
|
+
* validated for front-camera framing, so the pair is refused rather than
|
|
12
|
+
* silently dropping one of them.
|
|
13
|
+
*/
|
|
14
|
+
function selfieConfigIssues(config) {
|
|
15
|
+
if (config?.allowAgentMode && config.enableEnhancedLiveness) {
|
|
16
|
+
return [new AgentModeWithEnhancedLivenessException()];
|
|
17
|
+
}
|
|
18
|
+
return [];
|
|
19
|
+
}
|
|
20
|
+
/** Surfaces at most one issue: missing block > missing type > bad aspect ratio. */
|
|
21
|
+
function documentConfigIssues(config) {
|
|
22
|
+
if (config === undefined) {
|
|
23
|
+
return [
|
|
24
|
+
new InvalidDocumentCaptureConfigException({
|
|
25
|
+
reason: "document is required when mode is Document",
|
|
26
|
+
}),
|
|
27
|
+
];
|
|
28
|
+
}
|
|
29
|
+
if (config.documentType === undefined) {
|
|
30
|
+
return [
|
|
31
|
+
new InvalidDocumentCaptureConfigException({
|
|
32
|
+
reason: "documentType is required for document capture",
|
|
33
|
+
}),
|
|
34
|
+
];
|
|
35
|
+
}
|
|
36
|
+
if (config.knownIdAspectRatio !== undefined &&
|
|
37
|
+
config.knownIdAspectRatio <= 0) {
|
|
38
|
+
return [
|
|
39
|
+
new InvalidDocumentCaptureConfigException({
|
|
40
|
+
reason: "knownIdAspectRatio must be > 0 if provided",
|
|
41
|
+
}),
|
|
42
|
+
];
|
|
43
|
+
}
|
|
44
|
+
return [];
|
|
45
|
+
}
|
|
9
46
|
/**
|
|
10
47
|
* Quick triage of the in-progress builder state. Today the only rule
|
|
11
48
|
* surfaced is the empty-screens-block error — `b.screens(...)` must
|
|
@@ -43,26 +80,11 @@ export function runFlowValidation(input) {
|
|
|
43
80
|
if (step.config.captureType === undefined) {
|
|
44
81
|
issues.push(new InvalidMissingCaptureTypeException());
|
|
45
82
|
}
|
|
46
|
-
|
|
47
|
-
|
|
83
|
+
if (step.config.captureType === CaptureType.selfie) {
|
|
84
|
+
issues.push(...selfieConfigIssues(step.config.selfieConfig));
|
|
85
|
+
}
|
|
48
86
|
if (step.config.captureType === CaptureType.document) {
|
|
49
|
-
|
|
50
|
-
if (documentConfig === undefined) {
|
|
51
|
-
issues.push(new InvalidDocumentCaptureConfigException({
|
|
52
|
-
reason: "document is required when mode is Document",
|
|
53
|
-
}));
|
|
54
|
-
}
|
|
55
|
-
else if (documentConfig.documentType === undefined) {
|
|
56
|
-
issues.push(new InvalidDocumentCaptureConfigException({
|
|
57
|
-
reason: "documentType is required for document capture",
|
|
58
|
-
}));
|
|
59
|
-
}
|
|
60
|
-
else if (documentConfig.knownIdAspectRatio !== undefined &&
|
|
61
|
-
documentConfig.knownIdAspectRatio <= 0) {
|
|
62
|
-
issues.push(new InvalidDocumentCaptureConfigException({
|
|
63
|
-
reason: "knownIdAspectRatio must be > 0 if provided",
|
|
64
|
-
}));
|
|
65
|
-
}
|
|
87
|
+
issues.push(...documentConfigIssues(step.config.documentConfig));
|
|
66
88
|
}
|
|
67
89
|
}
|
|
68
90
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow_validator.js","sourceRoot":"","sources":["../../../../src/presentation/flow/validation/flow_validator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAU7D,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"flow_validator.js","sourceRoot":"","sources":["../../../../src/presentation/flow/validation/flow_validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { ScanHeadTurnDirection,
|
|
1
|
+
import type { ScanHeadTurnDirection, UseSmileIDScanState } from "@smileid/usesmileid_bridge";
|
|
2
2
|
import { CaptureType } from "../../../core/models/ml_config";
|
|
3
3
|
import { UseSmileIDOverlayState } from "../../state/use_smile_id_overlay_state";
|
|
4
4
|
import type { SiKey } from "../../../l10n/strings_en";
|
|
5
|
-
/** Immutable per-frame UI snapshot derived from the native `
|
|
5
|
+
/** Immutable per-frame UI snapshot derived from the native `UseSmileIDScanState`. */
|
|
6
6
|
export type UseSmileIDCaptureUiState = {
|
|
7
7
|
readonly overlayState: UseSmileIDOverlayState;
|
|
8
8
|
/** Stable si_* key behind the guidance copy and the coaching-animation lookup. */
|
|
@@ -40,15 +40,15 @@ export declare function preCaptureUiState(captureType: CaptureType, enableEnhanc
|
|
|
40
40
|
* True when the native analyzer restarted evaluation: leaving
|
|
41
41
|
* `unsatisfied`, or `timeout`/`finished` returning to `initial`.
|
|
42
42
|
*/
|
|
43
|
-
export declare function isSessionBoundary(previous:
|
|
43
|
+
export declare function isSessionBoundary(previous: UseSmileIDScanState, next: UseSmileIDScanState): boolean;
|
|
44
44
|
/** Dispatch on capture type — see {@link mapSelfieUiState} / {@link mapDocumentUiState}. */
|
|
45
|
-
export declare function mapCaptureUiState(scanState:
|
|
45
|
+
export declare function mapCaptureUiState(scanState: UseSmileIDScanState, captureType: CaptureType, enableEnhancedLiveness: boolean): UseSmileIDCaptureUiState;
|
|
46
46
|
/**
|
|
47
47
|
* Selfie scan-state → UI-state mapping. Enhanced Smart Selfie switches
|
|
48
48
|
* the copy (initial → head-turn primer; active capture → "Hold
|
|
49
49
|
* still…") and zeroes the fill.
|
|
50
50
|
*/
|
|
51
|
-
export declare function mapSelfieUiState(scanState:
|
|
51
|
+
export declare function mapSelfieUiState(scanState: UseSmileIDScanState, enableEnhancedLiveness: boolean): UseSmileIDCaptureUiState;
|
|
52
52
|
/** Document scan-state → UI-state mapping. */
|
|
53
|
-
export declare function mapDocumentUiState(scanState:
|
|
53
|
+
export declare function mapDocumentUiState(scanState: UseSmileIDScanState): UseSmileIDCaptureUiState;
|
|
54
54
|
//# sourceMappingURL=capture_ui_state.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capture_ui_state.d.ts","sourceRoot":"","sources":["../../../../src/presentation/screen/helpers/capture_ui_state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,
|
|
1
|
+
{"version":3,"file":"capture_ui_state.d.ts","sourceRoot":"","sources":["../../../../src/presentation/screen/helpers/capture_ui_state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAOtD,qFAAqF;AACrF,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,CAAC,YAAY,EAAE,sBAAsB,CAAC;IAC9C,kFAAkF;IAClF,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC;IAC5B,4DAA4D;IAC5D,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,2DAA2D;IAC3D,QAAQ,CAAC,kBAAkB,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC1D;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;CAC/B,CAAC;AA2CF;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,wBAAwB,EAC/B,sBAAsB,EAAE,OAAO,GAC9B,wBAAwB,CAI1B;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,sBAAsB,EAAE,OAAO,GAC9B,wBAAwB,CAK1B;AAED,uDAAuD;AACvD,wBAAgB,sBAAsB,IAAI,wBAAwB,CAMjE;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,WAAW,EACxB,sBAAsB,EAAE,OAAO,GAC9B,wBAAwB,CAQ1B;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,mBAAmB,EAC7B,IAAI,EAAE,mBAAmB,GACxB,OAAO,CAQT;AAED,4FAA4F;AAC5F,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,mBAAmB,EAC9B,WAAW,EAAE,WAAW,EACxB,sBAAsB,EAAE,OAAO,GAC9B,wBAAwB,CAI1B;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,mBAAmB,EAC9B,sBAAsB,EAAE,OAAO,GAC9B,wBAAwB,CAK1B;AA6ED,8CAA8C;AAC9C,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,mBAAmB,GAC7B,wBAAwB,CAmD1B"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { UseSmileIDScanStateType } from "@smileid/usesmileid_bridge";
|
|
2
2
|
import { CaptureType } from "../../../core/models/ml_config";
|
|
3
3
|
import { UseSmileIDOverlayState } from "../../state/use_smile_id_overlay_state";
|
|
4
4
|
import { mapScanStateToOverlayState } from "./scan_state_to_overlay_state";
|
|
@@ -80,11 +80,11 @@ export function preCaptureUiState(captureType, enableEnhancedLiveness) {
|
|
|
80
80
|
export function isSessionBoundary(previous, next) {
|
|
81
81
|
if (previous.type === next.type)
|
|
82
82
|
return false;
|
|
83
|
-
if (previous.type ===
|
|
83
|
+
if (previous.type === UseSmileIDScanStateType.Unsatisfied)
|
|
84
84
|
return true;
|
|
85
|
-
return ((previous.type ===
|
|
86
|
-
previous.type ===
|
|
87
|
-
next.type ===
|
|
85
|
+
return ((previous.type === UseSmileIDScanStateType.Timeout ||
|
|
86
|
+
previous.type === UseSmileIDScanStateType.Finished) &&
|
|
87
|
+
next.type === UseSmileIDScanStateType.Initial);
|
|
88
88
|
}
|
|
89
89
|
/** Dispatch on capture type — see {@link mapSelfieUiState} / {@link mapDocumentUiState}. */
|
|
90
90
|
export function mapCaptureUiState(scanState, captureType, enableEnhancedLiveness) {
|
|
@@ -102,29 +102,29 @@ export function mapSelfieUiState(scanState, enableEnhancedLiveness) {
|
|
|
102
102
|
}
|
|
103
103
|
function selfieUiState(scanState, enableEnhancedLiveness) {
|
|
104
104
|
switch (scanState.type) {
|
|
105
|
-
case
|
|
105
|
+
case UseSmileIDScanStateType.Initial:
|
|
106
106
|
return uiState(UseSmileIDOverlayState.INSTRUCTION, enableEnhancedLiveness
|
|
107
107
|
? "si_ess_capture_initial_instruction"
|
|
108
108
|
: "si_capture_initial_instruction", 0);
|
|
109
|
-
case
|
|
109
|
+
case UseSmileIDScanStateType.Found: {
|
|
110
110
|
const overlayState = mapScanStateToOverlayState(scanState, CaptureType.selfie);
|
|
111
111
|
const feedbackKey = selfieFeedbackKeyFor(overlayState) ??
|
|
112
112
|
(enableEnhancedLiveness ? "si_ess_hold_still" : "si_capturing");
|
|
113
113
|
return uiState(overlayState, feedbackKey, scanState.captureProgress ?? 0);
|
|
114
114
|
}
|
|
115
|
-
case
|
|
115
|
+
case UseSmileIDScanStateType.Satisfied:
|
|
116
116
|
// Progress forced to 1 so the ring completes even when the last
|
|
117
117
|
// interim frame undershot; transient before `finished`.
|
|
118
118
|
return uiState(UseSmileIDOverlayState.CAPTURING, enableEnhancedLiveness ? "si_ess_hold_still" : "si_capturing", 1);
|
|
119
|
-
case
|
|
119
|
+
case UseSmileIDScanStateType.Unsatisfied:
|
|
120
120
|
// Unsatisfied collapses onto one requirements-not-met copy —
|
|
121
121
|
// the per-check `reason` only feeds telemetry, not guidance.
|
|
122
122
|
return uiState(UseSmileIDOverlayState.FACE_DETECTED, "si_selfie_capture_unsatisfied", 0);
|
|
123
|
-
case
|
|
123
|
+
case UseSmileIDScanStateType.Finished:
|
|
124
124
|
return scannedUiState(enableEnhancedLiveness);
|
|
125
|
-
case
|
|
125
|
+
case UseSmileIDScanStateType.Timeout:
|
|
126
126
|
return uiState(UseSmileIDOverlayState.IDLE, "si_capture_timeout", 0);
|
|
127
|
-
case
|
|
127
|
+
case UseSmileIDScanStateType.HeadTurn: {
|
|
128
128
|
const direction = scanState.currentDirection ?? null;
|
|
129
129
|
const turnPrompt = direction === "left"
|
|
130
130
|
? "si_ess_look_left"
|
|
@@ -150,12 +150,12 @@ function selfieUiState(scanState, enableEnhancedLiveness) {
|
|
|
150
150
|
/** Document scan-state → UI-state mapping. */
|
|
151
151
|
export function mapDocumentUiState(scanState) {
|
|
152
152
|
switch (scanState.type) {
|
|
153
|
-
case
|
|
153
|
+
case UseSmileIDScanStateType.Initial:
|
|
154
154
|
// No head-turn phase for documents; a degenerate headTurn maps to
|
|
155
155
|
// the pre-capture instruction.
|
|
156
|
-
case
|
|
156
|
+
case UseSmileIDScanStateType.HeadTurn:
|
|
157
157
|
return uiState(UseSmileIDOverlayState.INSTRUCTION, "si_document_initial_instruction", 0);
|
|
158
|
-
case
|
|
158
|
+
case UseSmileIDScanStateType.Found: {
|
|
159
159
|
const overlayState = mapScanStateToOverlayState(scanState, CaptureType.document);
|
|
160
160
|
const feedbackKey = documentFeedbackKeyFor(overlayState);
|
|
161
161
|
// No validator warning ⇒ frames are being collected — show the
|
|
@@ -166,13 +166,13 @@ export function mapDocumentUiState(scanState) {
|
|
|
166
166
|
}
|
|
167
167
|
// Documents collapse satisfied/finished onto the same terminal
|
|
168
168
|
// snapshot: the still is captured and the screen is moving on.
|
|
169
|
-
case
|
|
169
|
+
case UseSmileIDScanStateType.Satisfied:
|
|
170
170
|
return scannedDocumentUiState();
|
|
171
|
-
case
|
|
171
|
+
case UseSmileIDScanStateType.Unsatisfied:
|
|
172
172
|
return uiState(UseSmileIDOverlayState.IDLE, "si_document_capture_unsatisfied", 0);
|
|
173
|
-
case
|
|
173
|
+
case UseSmileIDScanStateType.Finished:
|
|
174
174
|
return scannedDocumentUiState();
|
|
175
|
-
case
|
|
175
|
+
case UseSmileIDScanStateType.Timeout:
|
|
176
176
|
return uiState(UseSmileIDOverlayState.IDLE, "si_document_capture_timeout", 0);
|
|
177
177
|
}
|
|
178
178
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capture_ui_state.js","sourceRoot":"","sources":["../../../../src/presentation/screen/helpers/capture_ui_state.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"capture_ui_state.js","sourceRoot":"","sources":["../../../../src/presentation/screen/helpers/capture_ui_state.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { UseSmileIDScanState } from "@smileid/usesmileid_bridge";
|
|
2
2
|
/** Which haptic a completed Enhanced Smart Selfie head turn warrants. */
|
|
3
3
|
export type EssTurnHaptic = "intermediate" | "final";
|
|
4
4
|
/**
|
|
@@ -15,7 +15,7 @@ export type EssTurnHaptic = "intermediate" | "final";
|
|
|
15
15
|
* never a completion. `previous` must be the immediately-preceding raw
|
|
16
16
|
* scan state so the same completion is reported exactly once.
|
|
17
17
|
*/
|
|
18
|
-
export declare function essTurnHaptic(previous:
|
|
18
|
+
export declare function essTurnHaptic(previous: UseSmileIDScanState, next: UseSmileIDScanState): EssTurnHaptic | null;
|
|
19
19
|
/**
|
|
20
20
|
* Fire the haptic for a completed head turn — a light impact between
|
|
21
21
|
* turns, a success notification on the final turn. Best-effort UX
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ess_turn_haptics.d.ts","sourceRoot":"","sources":["../../../../src/presentation/screen/helpers/ess_turn_haptics.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"ess_turn_haptics.d.ts","sourceRoot":"","sources":["../../../../src/presentation/screen/helpers/ess_turn_haptics.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAGtE,yEAAyE;AACzE,MAAM,MAAM,aAAa,GAAG,cAAc,GAAG,OAAO,CAAC;AAErD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,mBAAmB,EAC7B,IAAI,EAAE,mBAAmB,GACxB,aAAa,GAAG,IAAI,CAyBtB;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI,CAQ9D"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as Haptics from "expo-haptics";
|
|
2
|
-
import {
|
|
2
|
+
import { UseSmileIDScanStateType } from "@smileid/usesmileid_bridge";
|
|
3
3
|
/**
|
|
4
4
|
* Decide which haptic (if any) an Enhanced Smart Selfie head-turn
|
|
5
5
|
* transition warrants. Fires once per completed turn:
|
|
@@ -16,21 +16,21 @@ import { ScanStateType } from "@smileid/usesmileid_bridge";
|
|
|
16
16
|
*/
|
|
17
17
|
export function essTurnHaptic(previous, next) {
|
|
18
18
|
// Only a transition out of an active, directed head turn can complete one.
|
|
19
|
-
if (previous.type !==
|
|
19
|
+
if (previous.type !== UseSmileIDScanStateType.HeadTurn)
|
|
20
20
|
return null;
|
|
21
21
|
if (previous.currentDirection === undefined)
|
|
22
22
|
return null;
|
|
23
23
|
// The requested direction advanced — the previous turn completed.
|
|
24
|
-
if (next.type ===
|
|
24
|
+
if (next.type === UseSmileIDScanStateType.HeadTurn &&
|
|
25
25
|
next.currentDirection !== undefined &&
|
|
26
26
|
next.currentDirection !== previous.currentDirection) {
|
|
27
27
|
return "intermediate";
|
|
28
28
|
}
|
|
29
29
|
// Leaving the head-turn phase toward capture is the final turn's
|
|
30
30
|
// completion; `initial` / `timeout` are resets, not completions.
|
|
31
|
-
if (next.type ===
|
|
32
|
-
next.type ===
|
|
33
|
-
next.type ===
|
|
31
|
+
if (next.type === UseSmileIDScanStateType.Found ||
|
|
32
|
+
next.type === UseSmileIDScanStateType.Satisfied ||
|
|
33
|
+
next.type === UseSmileIDScanStateType.Finished) {
|
|
34
34
|
return "final";
|
|
35
35
|
}
|
|
36
36
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ess_turn_haptics.js","sourceRoot":"","sources":["../../../../src/presentation/screen/helpers/ess_turn_haptics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AAExC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ess_turn_haptics.js","sourceRoot":"","sources":["../../../../src/presentation/screen/helpers/ess_turn_haptics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AAExC,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAKrE;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,aAAa,CAC3B,QAA6B,EAC7B,IAAyB;IAEzB,2EAA2E;IAC3E,IAAI,QAAQ,CAAC,IAAI,KAAK,uBAAuB,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IACpE,IAAI,QAAQ,CAAC,gBAAgB,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAEzD,kEAAkE;IAClE,IACE,IAAI,CAAC,IAAI,KAAK,uBAAuB,CAAC,QAAQ;QAC9C,IAAI,CAAC,gBAAgB,KAAK,SAAS;QACnC,IAAI,CAAC,gBAAgB,KAAK,QAAQ,CAAC,gBAAgB,EACnD,CAAC;QACD,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,iEAAiE;IACjE,iEAAiE;IACjE,IACE,IAAI,CAAC,IAAI,KAAK,uBAAuB,CAAC,KAAK;QAC3C,IAAI,CAAC,IAAI,KAAK,uBAAuB,CAAC,SAAS;QAC/C,IAAI,CAAC,IAAI,KAAK,uBAAuB,CAAC,QAAQ,EAC9C,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAmB;IACtD,MAAM,GAAG,GACP,IAAI,KAAK,OAAO;QACd,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,wBAAwB,CAAC,OAAO,CAAC;QACrE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC7D,KAAK,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE;QAClB,yEAAyE;IAC3E,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { UseSmileIDScanState } from "@smileid/usesmileid_bridge";
|
|
2
2
|
import { CaptureType } from "../../../core/models/ml_config";
|
|
3
3
|
import { UseSmileIDOverlayState } from "../../state/use_smile_id_overlay_state";
|
|
4
4
|
/**
|
|
5
|
-
* Map an analyzer's `
|
|
5
|
+
* Map an analyzer's `UseSmileIDScanState` into the SDK's visual `OverlayState`.
|
|
6
6
|
*
|
|
7
7
|
* The overlay enum drives the face/document oval's border colour, dash
|
|
8
8
|
* pattern, and fill animation — it's a presentation concept layered on
|
|
9
9
|
* top of the scan-state machine. The mapping reads `state.feedback`
|
|
10
|
-
* (when `type ===
|
|
11
|
-
* `type ===
|
|
10
|
+
* (when `type === UseSmileIDScanStateType.Found`) and `state.reason` (when
|
|
11
|
+
* `type === UseSmileIDScanStateType.Unsatisfied`) to pick the fine-grained
|
|
12
12
|
* overlay state; other scan-state types map coarsely to the matching
|
|
13
13
|
* lifecycle entry.
|
|
14
14
|
*
|
|
@@ -17,5 +17,5 @@ import { UseSmileIDOverlayState } from "../../state/use_smile_id_overlay_state";
|
|
|
17
17
|
* than throwing — keeps the overlay alive when a native plugin emits
|
|
18
18
|
* a new feedback key the JS side hasn't been updated for.
|
|
19
19
|
*/
|
|
20
|
-
export declare function mapScanStateToOverlayState(scanState:
|
|
20
|
+
export declare function mapScanStateToOverlayState(scanState: UseSmileIDScanState, captureType: CaptureType): UseSmileIDOverlayState;
|
|
21
21
|
//# sourceMappingURL=scan_state_to_overlay_state.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scan_state_to_overlay_state.d.ts","sourceRoot":"","sources":["../../../../src/presentation/screen/helpers/scan_state_to_overlay_state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"scan_state_to_overlay_state.d.ts","sourceRoot":"","sources":["../../../../src/presentation/screen/helpers/scan_state_to_overlay_state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAEhF;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,mBAAmB,EAC9B,WAAW,EAAE,WAAW,GACvB,sBAAsB,CAsCxB"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { UseSmileIDScanStateType } from "@smileid/usesmileid_bridge";
|
|
2
2
|
import { CaptureType } from "../../../core/models/ml_config";
|
|
3
3
|
import { UseSmileIDOverlayState } from "../../state/use_smile_id_overlay_state";
|
|
4
4
|
/**
|
|
5
|
-
* Map an analyzer's `
|
|
5
|
+
* Map an analyzer's `UseSmileIDScanState` into the SDK's visual `OverlayState`.
|
|
6
6
|
*
|
|
7
7
|
* The overlay enum drives the face/document oval's border colour, dash
|
|
8
8
|
* pattern, and fill animation — it's a presentation concept layered on
|
|
9
9
|
* top of the scan-state machine. The mapping reads `state.feedback`
|
|
10
|
-
* (when `type ===
|
|
11
|
-
* `type ===
|
|
10
|
+
* (when `type === UseSmileIDScanStateType.Found`) and `state.reason` (when
|
|
11
|
+
* `type === UseSmileIDScanStateType.Unsatisfied`) to pick the fine-grained
|
|
12
12
|
* overlay state; other scan-state types map coarsely to the matching
|
|
13
13
|
* lifecycle entry.
|
|
14
14
|
*
|
|
@@ -19,25 +19,25 @@ import { UseSmileIDOverlayState } from "../../state/use_smile_id_overlay_state";
|
|
|
19
19
|
*/
|
|
20
20
|
export function mapScanStateToOverlayState(scanState, captureType) {
|
|
21
21
|
switch (scanState.type) {
|
|
22
|
-
case
|
|
22
|
+
case UseSmileIDScanStateType.Initial:
|
|
23
23
|
return UseSmileIDOverlayState.INSTRUCTION;
|
|
24
|
-
case
|
|
24
|
+
case UseSmileIDScanStateType.Found:
|
|
25
25
|
// `feedback` is the canonical `si_capture_*` key the native side
|
|
26
26
|
// emits; partner code never sees raw English copy.
|
|
27
27
|
return resolveFeedbackOverlay(scanState.feedback, captureType, captureType === CaptureType.selfie
|
|
28
28
|
? UseSmileIDOverlayState.FACE_DETECTED
|
|
29
29
|
: UseSmileIDOverlayState.DOCUMENT_READY);
|
|
30
|
-
case
|
|
30
|
+
case UseSmileIDScanStateType.Satisfied:
|
|
31
31
|
return UseSmileIDOverlayState.READY;
|
|
32
|
-
case
|
|
32
|
+
case UseSmileIDScanStateType.Unsatisfied:
|
|
33
33
|
return resolveFeedbackOverlay(scanState.reason, captureType, captureType === CaptureType.selfie
|
|
34
34
|
? UseSmileIDOverlayState.FACE_NOT_CENTERED
|
|
35
35
|
: UseSmileIDOverlayState.DOCUMENT_NOT_CENTERED);
|
|
36
|
-
case
|
|
36
|
+
case UseSmileIDScanStateType.Finished:
|
|
37
37
|
return UseSmileIDOverlayState.CAPTURING;
|
|
38
|
-
case
|
|
38
|
+
case UseSmileIDScanStateType.HeadTurn:
|
|
39
39
|
return UseSmileIDOverlayState.HEAD_TURN;
|
|
40
|
-
case
|
|
40
|
+
case UseSmileIDScanStateType.Timeout:
|
|
41
41
|
// Back to the gray pre-capture state while partners re-prompt.
|
|
42
42
|
return UseSmileIDOverlayState.IDLE;
|
|
43
43
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scan_state_to_overlay_state.js","sourceRoot":"","sources":["../../../../src/presentation/screen/helpers/scan_state_to_overlay_state.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"scan_state_to_overlay_state.js","sourceRoot":"","sources":["../../../../src/presentation/screen/helpers/scan_state_to_overlay_state.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,12 @@
|
|
|
1
|
+
import * as ScreenOrientation from "expo-screen-orientation";
|
|
1
2
|
import type { DocumentOrientation } from "../../../core/models/document_type";
|
|
3
|
+
export type CaptureOrientationOptions = {
|
|
4
|
+
/**
|
|
5
|
+
* Lock applied when the capture screen unmounts. Defaults to portrait-up;
|
|
6
|
+
* threaded from the builder's `exitOrientations`.
|
|
7
|
+
*/
|
|
8
|
+
readonly exitLock?: ScreenOrientation.OrientationLock;
|
|
9
|
+
};
|
|
2
10
|
/**
|
|
3
11
|
* Lock device orientation for a capture screen, scoped to its lifetime
|
|
4
12
|
* (`"Landscape"` → landscape, `"Portrait"` → portrait-up).
|
|
@@ -6,11 +14,13 @@ import type { DocumentOrientation } from "../../../core/models/document_type";
|
|
|
6
14
|
* Each screen asserts its OWN orientation on mount, so document → selfie
|
|
7
15
|
* reverts deterministically rather than depending on the previous
|
|
8
16
|
* screen's teardown winning a race against the next camera initialising.
|
|
9
|
-
* Unmount restores portrait-up as a safety net.
|
|
10
17
|
*
|
|
11
18
|
* Locks are global: the host app must permit the locked orientations at
|
|
12
19
|
* the OS level (iOS `UISupportedInterfaceOrientations`, Android activity
|
|
13
|
-
* `screenOrientation`) for the lock to take effect
|
|
20
|
+
* `screenOrientation`) for the lock to take effect — a host that does not
|
|
21
|
+
* is warned about and reported rather than silently staying upright.
|
|
14
22
|
*/
|
|
15
|
-
export declare function useCaptureOrientationLock(orientation: DocumentOrientation): void;
|
|
23
|
+
export declare function useCaptureOrientationLock(orientation: DocumentOrientation, { exitLock, }?: CaptureOrientationOptions): void;
|
|
24
|
+
/** Test seam: clears the once-per-target dev-warning dedupe. */
|
|
25
|
+
export declare function resetUnsupportedLockWarningsForTesting(): void;
|
|
16
26
|
//# sourceMappingURL=use_capture_orientation_lock.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use_capture_orientation_lock.d.ts","sourceRoot":"","sources":["../../../../src/presentation/screen/helpers/use_capture_orientation_lock.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"use_capture_orientation_lock.d.ts","sourceRoot":"","sources":["../../../../src/presentation/screen/helpers/use_capture_orientation_lock.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,iBAAiB,MAAM,yBAAyB,CAAC;AAE7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAE9E,MAAM,MAAM,yBAAyB,GAAG;IACtC;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAC,eAAe,CAAC;CACvD,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,mBAAmB,EAChC,EACE,QAAwD,GACzD,GAAE,yBAA8B,GAChC,IAAI,CAaN;AA2CD,gEAAgE;AAChE,wBAAgB,sCAAsC,IAAI,IAAI,CAE7D"}
|
|
@@ -8,22 +8,61 @@ import { UseSmileIDCrashReporting } from "@smileid/usesmileid_bridge";
|
|
|
8
8
|
* Each screen asserts its OWN orientation on mount, so document → selfie
|
|
9
9
|
* reverts deterministically rather than depending on the previous
|
|
10
10
|
* screen's teardown winning a race against the next camera initialising.
|
|
11
|
-
* Unmount restores portrait-up as a safety net.
|
|
12
11
|
*
|
|
13
12
|
* Locks are global: the host app must permit the locked orientations at
|
|
14
13
|
* the OS level (iOS `UISupportedInterfaceOrientations`, Android activity
|
|
15
|
-
* `screenOrientation`) for the lock to take effect
|
|
14
|
+
* `screenOrientation`) for the lock to take effect — a host that does not
|
|
15
|
+
* is warned about and reported rather than silently staying upright.
|
|
16
16
|
*/
|
|
17
|
-
export function useCaptureOrientationLock(orientation) {
|
|
17
|
+
export function useCaptureOrientationLock(orientation, { exitLock = ScreenOrientation.OrientationLock.PORTRAIT_UP, } = {}) {
|
|
18
18
|
useEffect(() => {
|
|
19
19
|
const target = orientation === "Landscape"
|
|
20
20
|
? ScreenOrientation.OrientationLock.LANDSCAPE
|
|
21
21
|
: ScreenOrientation.OrientationLock.PORTRAIT_UP;
|
|
22
|
+
void reportIfLockUnsupported(target);
|
|
22
23
|
void lockOrientation(target);
|
|
23
24
|
return () => {
|
|
24
|
-
void lockOrientation(
|
|
25
|
+
void lockOrientation(exitLock);
|
|
25
26
|
};
|
|
26
|
-
}, [orientation]);
|
|
27
|
+
}, [orientation, exitLock]);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Surface a host build that cannot honour `target`. `lockAsync` resolves
|
|
31
|
+
* successfully in that case, so without this preflight the capture screen
|
|
32
|
+
* just stays in the wrong orientation with no signal. (Expo's `app.json`
|
|
33
|
+
* `orientation` value is not such a case: the module's app-delegate hook
|
|
34
|
+
* outranks the baked `Info.plist` on iOS — device-verified.)
|
|
35
|
+
*/
|
|
36
|
+
async function reportIfLockUnsupported(target) {
|
|
37
|
+
let supported;
|
|
38
|
+
try {
|
|
39
|
+
supported = await ScreenOrientation.supportsOrientationLockAsync(target);
|
|
40
|
+
}
|
|
41
|
+
catch (error) {
|
|
42
|
+
reportOrientationFailure(error);
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
if (supported)
|
|
46
|
+
return;
|
|
47
|
+
// `typeof` guard: `__DEV__` is bundler-injected and absent outside Metro-like
|
|
48
|
+
// environments, where a bare reference throws rather than reading falsy.
|
|
49
|
+
const isDevBuild = typeof __DEV__ !== "undefined" && __DEV__;
|
|
50
|
+
if (isDevBuild && !warnedUnsupportedTargets.has(target)) {
|
|
51
|
+
warnedUnsupportedTargets.add(target);
|
|
52
|
+
console.warn("[UseSmileID] The capture screen needs to lock the device orientation, " +
|
|
53
|
+
"but this build does not permit it. Allow the required orientations " +
|
|
54
|
+
"in your app's iOS Info.plist / Android manifest.");
|
|
55
|
+
}
|
|
56
|
+
reportOrientationFailure(new Error(`orientation lock unsupported by host build: ${target}`));
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Dedupes the dev warning per target: a flow remounts the capture screen for the back
|
|
60
|
+
* side and interstitial, and the misconfiguration can't change mid-session.
|
|
61
|
+
*/
|
|
62
|
+
const warnedUnsupportedTargets = new Set();
|
|
63
|
+
/** Test seam: clears the once-per-target dev-warning dedupe. */
|
|
64
|
+
export function resetUnsupportedLockWarningsForTesting() {
|
|
65
|
+
warnedUnsupportedTargets.clear();
|
|
27
66
|
}
|
|
28
67
|
/** Lock to `target`, routing a native failure through crash reporting. */
|
|
29
68
|
async function lockOrientation(target) {
|
|
@@ -31,7 +70,10 @@ async function lockOrientation(target) {
|
|
|
31
70
|
await ScreenOrientation.lockAsync(target);
|
|
32
71
|
}
|
|
33
72
|
catch (error) {
|
|
34
|
-
|
|
73
|
+
reportOrientationFailure(error);
|
|
35
74
|
}
|
|
36
75
|
}
|
|
76
|
+
function reportOrientationFailure(error) {
|
|
77
|
+
UseSmileIDCrashReporting.captureException(error instanceof Error ? error : new Error(String(error)));
|
|
78
|
+
}
|
|
37
79
|
//# sourceMappingURL=use_capture_orientation_lock.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use_capture_orientation_lock.js","sourceRoot":"","sources":["../../../../src/presentation/screen/helpers/use_capture_orientation_lock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,KAAK,iBAAiB,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"use_capture_orientation_lock.js","sourceRoot":"","sources":["../../../../src/presentation/screen/helpers/use_capture_orientation_lock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,KAAK,iBAAiB,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAWtE;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,yBAAyB,CACvC,WAAgC,EAChC,EACE,QAAQ,GAAG,iBAAiB,CAAC,eAAe,CAAC,WAAW,MAC3B,EAAE;IAEjC,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,MAAM,GACV,WAAW,KAAK,WAAW;YACzB,CAAC,CAAC,iBAAiB,CAAC,eAAe,CAAC,SAAS;YAC7C,CAAC,CAAC,iBAAiB,CAAC,eAAe,CAAC,WAAW,CAAC;QACpD,KAAK,uBAAuB,CAAC,MAAM,CAAC,CAAC;QACrC,KAAK,eAAe,CAAC,MAAM,CAAC,CAAC;QAE7B,OAAO,GAAG,EAAE;YACV,KAAK,eAAe,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,uBAAuB,CACpC,MAAyC;IAEzC,IAAI,SAAkB,CAAC;IACvB,IAAI,CAAC;QACH,SAAS,GAAG,MAAM,iBAAiB,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAAC;IAC3E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,wBAAwB,CAAC,KAAK,CAAC,CAAC;QAChC,OAAO;IACT,CAAC;IACD,IAAI,SAAS;QAAE,OAAO;IAEtB,8EAA8E;IAC9E,yEAAyE;IACzE,MAAM,UAAU,GAAG,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC;IAC7D,IAAI,UAAU,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACxD,wBAAwB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrC,OAAO,CAAC,IAAI,CACV,wEAAwE;YACtE,qEAAqE;YACrE,kDAAkD,CACrD,CAAC;IACJ,CAAC;IACD,wBAAwB,CACtB,IAAI,KAAK,CAAC,+CAA+C,MAAM,EAAE,CAAC,CACnE,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,wBAAwB,GAAG,IAAI,GAAG,EAAqC,CAAC;AAE9E,gEAAgE;AAChE,MAAM,UAAU,sCAAsC;IACpD,wBAAwB,CAAC,KAAK,EAAE,CAAC;AACnC,CAAC;AAED,0EAA0E;AAC1E,KAAK,UAAU,eAAe,CAC5B,MAAyC;IAEzC,IAAI,CAAC;QACH,MAAM,iBAAiB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAc;IAC9C,wBAAwB,CAAC,gBAAgB,CACvC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAC1D,CAAC;AACJ,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type ReactNode } from "react";
|
|
2
2
|
import type { DocumentAnalyzer, FaceAnalyzer } from "@smileid/usesmileid_platform_interface";
|
|
3
|
-
import type { CaptureReadyEvent,
|
|
3
|
+
import type { CaptureReadyEvent, UseSmileIDScanState } from "@smileid/usesmileid_bridge";
|
|
4
4
|
import { DocumentSide } from "@smileid/usesmileid_bridge";
|
|
5
5
|
import { CaptureType } from "../../core/models/ml_config";
|
|
6
6
|
import type { DocumentCaptureMode } from "../../core/models/document_capture_mode";
|
|
@@ -39,11 +39,13 @@ export type UseSmileIDCaptureScreenProps = {
|
|
|
39
39
|
/** Records how a document side was produced (auto/manual/gallery), fired just before delivery. */
|
|
40
40
|
readonly onDocumentOrigin?: (origin: DocumentImageOrigin) => void;
|
|
41
41
|
/** Fires when the state machine reaches `"timeout"`; the screen stops streaming. */
|
|
42
|
-
readonly onCaptureTimeout?: (state:
|
|
42
|
+
readonly onCaptureTimeout?: (state: UseSmileIDScanState) => void;
|
|
43
43
|
readonly onBack?: () => void;
|
|
44
44
|
readonly showAttribution?: boolean;
|
|
45
45
|
/** Keeps the oval rim neutral through CAPTURING/PROCESSING — ESS has no green oval treatment. */
|
|
46
46
|
readonly enableEnhancedLiveness?: boolean;
|
|
47
|
+
/** Runs a selfie capture on the rear camera. Ignored for document capture. */
|
|
48
|
+
readonly allowAgentMode?: boolean;
|
|
47
49
|
/**
|
|
48
50
|
* Document aspect ratio (width / height) for the document capture
|
|
49
51
|
* guide cutout. Ignored for selfie capture. Omitted ⇒ the overlay's
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use_smile_id_capture_screen.d.ts","sourceRoot":"","sources":["../../../src/presentation/screen/use_smile_id_capture_screen.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAmBf,OAAO,KAAK,EACV,gBAAgB,EAChB,YAAY,EACb,MAAM,wCAAwC,CAAC;AAChD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"use_smile_id_capture_screen.d.ts","sourceRoot":"","sources":["../../../src/presentation/screen/use_smile_id_capture_screen.tsx"],"names":[],"mappings":"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"}
|