@smileid/usesmileid 12.0.2 → 12.1.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 +12 -0
- package/README.md +65 -39
- package/dist/camera/camera_configuration.d.ts +0 -1
- package/dist/camera/camera_configuration.js +1 -2
- package/dist/camera/camera_defaults.d.ts +1 -2
- package/dist/camera/camera_defaults.js +1 -26
- package/dist/camera/camera_lens.d.ts +1 -5
- package/dist/camera/camera_lens.js +1 -12
- package/dist/camera/camera_permissions.d.ts +2 -7
- package/dist/camera/camera_permissions.js +1 -23
- package/dist/camera/document_image_pipeline.d.ts +0 -1
- package/dist/camera/document_image_pipeline.js +1 -70
- package/dist/camera/document_resize_target.d.ts +0 -1
- package/dist/camera/document_resize_target.js +1 -17
- package/dist/camera/focus_state.d.ts +0 -1
- package/dist/camera/focus_state.js +1 -13
- package/dist/camera/kamera_config_factory.d.ts +8 -0
- package/dist/camera/kamera_config_factory.js +1 -0
- package/dist/camera/kamera_error_mapping.d.ts +11 -0
- package/dist/camera/kamera_error_mapping.js +1 -0
- package/dist/camera/use_kamera_camera_permission.d.ts +8 -0
- package/dist/camera/use_kamera_camera_permission.js +1 -0
- package/dist/camera/use_kamera_orientation.d.ts +9 -0
- package/dist/camera/use_kamera_orientation.js +1 -0
- package/dist/camera/use_smile_id_frame_stream.d.ts +0 -1
- package/dist/camera/use_smile_id_frame_stream.js +1 -93
- package/dist/camera/use_smile_id_kamera_camera_system.d.ts +64 -0
- package/dist/camera/use_smile_id_kamera_camera_system.js +1 -0
- package/dist/camera/use_smile_id_kamera_preview.d.ts +12 -0
- package/dist/camera/use_smile_id_kamera_preview.js +1 -0
- package/dist/core/exception/agent_mode_with_enhanced_liveness_exception.d.ts +0 -1
- package/dist/core/exception/agent_mode_with_enhanced_liveness_exception.js +1 -17
- package/dist/core/exception/builder_validation_exception.d.ts +0 -1
- package/dist/core/exception/builder_validation_exception.js +1 -37
- package/dist/core/exception/capture_validation_exceptions.d.ts +0 -1
- package/dist/core/exception/capture_validation_exceptions.js +1 -10
- package/dist/core/exception/consent_validation_exceptions.d.ts +0 -1
- package/dist/core/exception/consent_validation_exceptions.js +1 -8
- package/dist/core/exception/duplicate_screen_type_exception.d.ts +0 -1
- package/dist/core/exception/duplicate_screen_type_exception.js +1 -20
- package/dist/core/exception/empty_screens_block_exception.d.ts +0 -1
- package/dist/core/exception/empty_screens_block_exception.js +1 -17
- package/dist/core/exception/flow_exceptions.d.ts +0 -1
- package/dist/core/exception/flow_exceptions.js +1 -38
- package/dist/core/exception/index.d.ts +3 -2
- package/dist/core/exception/index.js +1 -54
- package/dist/core/exception/invalid_consent_config_exception.d.ts +0 -1
- package/dist/core/exception/invalid_consent_config_exception.js +1 -18
- package/dist/core/exception/invalid_consent_information_exception.d.ts +0 -1
- package/dist/core/exception/invalid_consent_information_exception.js +1 -19
- package/dist/core/exception/invalid_document_capture_config_exception.d.ts +0 -1
- package/dist/core/exception/invalid_document_capture_config_exception.js +1 -20
- package/dist/core/exception/invalid_field_value_exception.d.ts +0 -1
- package/dist/core/exception/invalid_field_value_exception.js +1 -20
- package/dist/core/exception/invalid_job_type_screen_config_exception.d.ts +1 -1
- package/dist/core/exception/invalid_job_type_screen_config_exception.js +1 -61
- package/dist/core/exception/invalid_missing_capture_type_exception.d.ts +0 -1
- package/dist/core/exception/invalid_missing_capture_type_exception.js +1 -17
- package/dist/core/exception/invalid_screen_order_exception.d.ts +0 -1
- package/dist/core/exception/invalid_screen_order_exception.js +1 -22
- package/dist/core/exception/invalid_selfie_capture_config_exception.d.ts +0 -1
- package/dist/core/exception/invalid_selfie_capture_config_exception.js +1 -20
- package/dist/core/exception/issue_severity.d.ts +0 -1
- package/dist/core/exception/issue_severity.js +1 -13
- package/dist/core/exception/job_validation_exceptions.d.ts +0 -1
- package/dist/core/exception/job_validation_exceptions.js +1 -12
- package/dist/core/exception/liveness_frame_count_exception.d.ts +0 -1
- package/dist/core/exception/liveness_frame_count_exception.js +1 -19
- package/dist/core/exception/missing_capture_for_preview_exception.d.ts +0 -1
- package/dist/core/exception/missing_capture_for_preview_exception.js +1 -22
- package/dist/core/exception/missing_job_type_exception.d.ts +0 -1
- package/dist/core/exception/missing_job_type_exception.js +1 -15
- package/dist/core/exception/missing_ml_configuration_block_exception.d.ts +0 -1
- package/dist/core/exception/missing_ml_configuration_block_exception.js +1 -19
- package/dist/core/exception/missing_network_configuration_block_exception.d.ts +0 -1
- package/dist/core/exception/missing_network_configuration_block_exception.js +1 -19
- package/dist/core/exception/missing_partner_config_exception.d.ts +4 -1
- package/dist/core/exception/missing_partner_config_exception.js +1 -35
- package/dist/core/exception/missing_required_field_exception.d.ts +0 -1
- package/dist/core/exception/missing_required_field_exception.js +1 -18
- package/dist/core/exception/screen_config_validation_exceptions.d.ts +0 -1
- package/dist/core/exception/screen_config_validation_exceptions.js +1 -11
- package/dist/core/exception/unused_job_params_exception.d.ts +16 -0
- package/dist/core/exception/unused_job_params_exception.js +1 -0
- package/dist/core/exception/use_smile_id_attestation_exception.d.ts +0 -1
- package/dist/core/exception/use_smile_id_attestation_exception.js +1 -12
- package/dist/core/exception/use_smile_id_builder_exception.d.ts +0 -1
- package/dist/core/exception/use_smile_id_builder_exception.js +1 -19
- package/dist/core/exception/use_smile_id_camera_exception.d.ts +0 -1
- package/dist/core/exception/use_smile_id_camera_exception.js +1 -13
- package/dist/core/exception/use_smile_id_camera_surface_exception.d.ts +15 -0
- package/dist/core/exception/use_smile_id_camera_surface_exception.js +1 -0
- package/dist/core/exception/use_smile_id_error_code.d.ts +8 -1
- package/dist/core/exception/use_smile_id_error_code.js +1 -71
- package/dist/core/exception/use_smile_id_exception.d.ts +0 -1
- package/dist/core/exception/use_smile_id_exception.js +1 -39
- package/dist/core/exception/use_smile_id_general_exception.d.ts +0 -1
- package/dist/core/exception/use_smile_id_general_exception.js +1 -13
- package/dist/core/exception/use_smile_id_network_exception.d.ts +0 -1
- package/dist/core/exception/use_smile_id_network_exception.js +1 -203
- package/dist/core/exception/use_smile_id_validation_exception.d.ts +0 -1
- package/dist/core/exception/use_smile_id_validation_exception.js +1 -13
- package/dist/core/models/config.d.ts +8 -1
- package/dist/core/models/config.js +1 -2
- package/dist/core/models/document_capture_mode.d.ts +0 -1
- package/dist/core/models/document_capture_mode.js +1 -47
- package/dist/core/models/document_type.d.ts +5 -1
- package/dist/core/models/document_type.js +1 -47
- package/dist/core/models/flow_step.d.ts +0 -1
- package/dist/core/models/flow_step.js +1 -16
- package/dist/core/models/global_privacy_control.d.ts +0 -1
- package/dist/core/models/global_privacy_control.js +1 -39
- package/dist/core/models/head_turn_direction.d.ts +0 -1
- package/dist/core/models/head_turn_direction.js +1 -14
- package/dist/core/models/job_type.d.ts +0 -1
- package/dist/core/models/job_type.js +1 -43
- package/dist/core/models/ml_config.d.ts +0 -1
- package/dist/core/models/ml_config.js +1 -27
- package/dist/core/models/network_config.d.ts +0 -1
- package/dist/core/models/network_config.js +1 -41
- package/dist/core/models/params.d.ts +0 -1
- package/dist/core/models/params.js +1 -5
- package/dist/core/models/result.d.ts +0 -1
- package/dist/core/models/result.js +1 -17
- package/dist/data/api/auth/token_holder.d.ts +0 -1
- package/dist/data/api/auth/token_holder.js +1 -67
- package/dist/data/api/interceptors/gzip_interceptor.d.ts +0 -1
- package/dist/data/api/interceptors/gzip_interceptor.js +1 -29
- package/dist/data/api/interceptors/logging_interceptor.d.ts +0 -1
- package/dist/data/api/interceptors/logging_interceptor.js +1 -108
- package/dist/data/api/interceptors/sensitive_headers.d.ts +0 -1
- package/dist/data/api/interceptors/sensitive_headers.js +1 -42
- package/dist/data/api/interceptors/smile_auth_interceptor.d.ts +0 -1
- package/dist/data/api/interceptors/smile_auth_interceptor.js +1 -57
- package/dist/data/api/interceptors/smile_integrity_interceptor.d.ts +0 -1
- package/dist/data/api/interceptors/smile_integrity_interceptor.js +1 -79
- package/dist/data/api/interceptors/smile_request_mac_interceptor.d.ts +0 -1
- package/dist/data/api/interceptors/smile_request_mac_interceptor.js +1 -77
- package/dist/data/api/interceptors/token_refresh_interceptor.d.ts +0 -1
- package/dist/data/api/interceptors/token_refresh_interceptor.js +1 -58
- package/dist/data/api/smile_id_api.d.ts +0 -1
- package/dist/data/api/smile_id_api.js +1 -374
- package/dist/data/compression/compressible_asset.d.ts +0 -1
- package/dist/data/compression/compressible_asset.js +1 -34
- package/dist/data/compression/payload_compression_config.d.ts +0 -1
- package/dist/data/compression/payload_compression_config.js +1 -52
- package/dist/data/compression/payload_compression_runner.d.ts +8 -1
- package/dist/data/compression/payload_compression_runner.js +1 -55
- package/dist/data/compression/payload_compressor.d.ts +0 -1
- package/dist/data/compression/payload_compressor.js +1 -126
- package/dist/data/compression/uri_compressible_asset.d.ts +0 -1
- package/dist/data/compression/uri_compressible_asset.js +1 -77
- package/dist/data/dsl/builder/cache_config_builder.d.ts +0 -1
- package/dist/data/dsl/builder/cache_config_builder.js +1 -24
- package/dist/data/dsl/builder/config_builder.d.ts +0 -1
- package/dist/data/dsl/builder/config_builder.js +1 -137
- package/dist/data/dsl/builder/interceptor_config_builder.d.ts +0 -1
- package/dist/data/dsl/builder/interceptor_config_builder.js +1 -71
- package/dist/data/dsl/builder/retry_config_builder.d.ts +0 -1
- package/dist/data/dsl/builder/retry_config_builder.js +1 -46
- package/dist/data/dsl/builder/timeout_config_builder.d.ts +0 -1
- package/dist/data/dsl/builder/timeout_config_builder.js +1 -26
- package/dist/data/dsl/use_smile_id_network_builder.d.ts +0 -1
- package/dist/data/dsl/use_smile_id_network_builder.js +1 -83
- package/dist/data/factory/networking_factory.d.ts +0 -1
- package/dist/data/factory/networking_factory.js +1 -174
- package/dist/data/model/image_dimensions.d.ts +0 -1
- package/dist/data/model/image_dimensions.js +1 -2
- package/dist/data/model/job_request.d.ts +4 -6
- package/dist/data/model/job_request.js +1 -2
- package/dist/data/model/job_submission_response.d.ts +0 -1
- package/dist/data/model/job_submission_response.js +1 -2
- package/dist/data/model/sdk_config.d.ts +0 -1
- package/dist/data/model/sdk_config.js +1 -68
- package/dist/data/model/sdk_config_capture.d.ts +0 -1
- package/dist/data/model/sdk_config_capture.js +1 -69
- package/dist/data/model/sdk_config_source.d.ts +0 -1
- package/dist/data/model/sdk_config_source.js +1 -24
- package/dist/data/model/token_payload.d.ts +0 -1
- package/dist/data/model/token_payload.js +1 -132
- package/dist/data/model/user_details_payload.d.ts +0 -1
- package/dist/data/model/user_details_payload.js +1 -53
- package/dist/data/repository/use_smile_id_repository.d.ts +2 -2
- package/dist/data/repository/use_smile_id_repository.js +1 -2
- package/dist/data/repository/use_smile_id_repository_impl.d.ts +2 -2
- package/dist/data/repository/use_smile_id_repository_impl.js +1 -149
- package/dist/data/security/request_canonicalizer.d.ts +0 -1
- package/dist/data/security/request_canonicalizer.js +1 -132
- package/dist/data/security/request_timestamp.d.ts +0 -1
- package/dist/data/security/request_timestamp.js +1 -13
- package/dist/data/security/security_policy.d.ts +0 -1
- package/dist/data/security/security_policy.js +1 -61
- package/dist/data/security/signing_crypto.d.ts +0 -1
- package/dist/data/security/signing_crypto.js +1 -145
- package/dist/data/security/smile_id_crypto_error.d.ts +0 -1
- package/dist/data/security/smile_id_crypto_error.js +1 -14
- package/dist/data/security/smile_id_crypto_manager.d.ts +0 -1
- package/dist/data/security/smile_id_crypto_manager.js +1 -40
- package/dist/data/smile_id_urls.d.ts +0 -1
- package/dist/data/smile_id_urls.js +1 -14
- package/dist/data/util/retry_util.d.ts +0 -1
- package/dist/data/util/retry_util.js +1 -74
- package/dist/data/util/use_smile_id_token_decoder.d.ts +0 -1
- package/dist/data/util/use_smile_id_token_decoder.js +1 -148
- package/dist/index.d.ts +3 -6
- package/dist/index.js +1 -142
- package/dist/l10n/strings_en.d.ts +18 -14
- package/dist/l10n/strings_en.js +2 -145
- package/dist/l10n/use_smile_id_localizations.d.ts +14 -10
- package/dist/l10n/use_smile_id_localizations.js +1 -546
- package/dist/l10n/use_smile_id_localizations_provider.d.ts +0 -1
- package/dist/l10n/use_smile_id_localizations_provider.js +1 -53
- package/dist/metadata/builder_configuration.d.ts +0 -1
- package/dist/metadata/builder_configuration.js +1 -35
- package/dist/metadata/captured_image_properties.d.ts +0 -1
- package/dist/metadata/captured_image_properties.js +1 -11
- package/dist/metadata/device_orientation_collector.d.ts +0 -1
- package/dist/metadata/device_orientation_collector.js +1 -66
- package/dist/metadata/document_image_origin.d.ts +0 -1
- package/dist/metadata/document_image_origin.js +1 -19
- package/dist/metadata/geolocation.d.ts +0 -1
- package/dist/metadata/geolocation.js +1 -40
- package/dist/metadata/metadata_configuration_mappers.d.ts +0 -1
- package/dist/metadata/metadata_configuration_mappers.js +1 -178
- package/dist/metadata/model_configuration.d.ts +0 -1
- package/dist/metadata/model_configuration.js +1 -44
- package/dist/metadata/optional_native_modules.d.ts +0 -1
- package/dist/metadata/optional_native_modules.js +1 -206
- package/dist/metadata/use_smile_id_metadata.d.ts +0 -1
- package/dist/metadata/use_smile_id_metadata.js +1 -188
- package/dist/metadata/use_smile_id_metadata_factory.d.ts +11 -1
- package/dist/metadata/use_smile_id_metadata_factory.js +1 -501
- package/dist/presentation/assets/si_document_green_book_hero_animation.json +4740 -0
- package/dist/presentation/assets/si_document_hero_animation.json +4870 -0
- package/dist/presentation/assets/si_document_hero_back_animation.json +2122 -0
- package/dist/presentation/assets/si_document_passport_hero_animation.json +14540 -0
- package/dist/presentation/assets/si_ess_all_directions_hero_animation.json +5906 -0
- package/dist/presentation/assets/si_ess_animation_all_directions.json +5906 -0
- package/dist/presentation/assets/si_selfie_hero_animation.json +1468 -0
- package/dist/presentation/assets/si_smile_to_capture_animation.json +1412 -0
- package/dist/presentation/assets/svg/document_shimmer_strings.d.ts +0 -1
- package/dist/presentation/assets/svg/document_shimmer_strings.js +1 -14
- package/dist/presentation/assets/svg/instruction_svg_strings.d.ts +0 -1
- package/dist/presentation/assets/svg/instruction_svg_strings.js +1 -32
- package/dist/presentation/assets/svg/svg_strings.d.ts +0 -1
- package/dist/presentation/assets/svg/svg_strings.js +15 -46
- package/dist/presentation/components/face_oval_defaults.d.ts +0 -1
- package/dist/presentation/components/face_oval_defaults.js +1 -41
- package/dist/presentation/components/helpers/animated_lottie_view.d.ts +0 -1
- package/dist/presentation/components/helpers/animated_lottie_view.js +1 -9
- package/dist/presentation/components/helpers/capture_instruction_animation_spec.d.ts +2 -1
- package/dist/presentation/components/helpers/capture_instruction_animation_spec.js +1 -47
- package/dist/presentation/components/helpers/captured_document_image_fit.d.ts +6 -0
- package/dist/presentation/components/helpers/captured_document_image_fit.js +1 -0
- package/dist/presentation/components/helpers/enhanced_smart_selfie_animation_frames.d.ts +0 -1
- package/dist/presentation/components/helpers/enhanced_smart_selfie_animation_frames.js +1 -44
- package/dist/presentation/components/helpers/scaled_oval_geometry.d.ts +0 -1
- package/dist/presentation/components/helpers/scaled_oval_geometry.js +1 -29
- package/dist/presentation/components/icons/index.d.ts +0 -1
- package/dist/presentation/components/icons/index.js +1 -117
- package/dist/presentation/components/status_indicator_state.d.ts +0 -1
- package/dist/presentation/components/status_indicator_state.js +1 -19
- package/dist/presentation/components/use_smile_id_attribution.d.ts +2 -1
- package/dist/presentation/components/use_smile_id_attribution.js +1 -25
- package/dist/presentation/components/use_smile_id_back_button.d.ts +2 -1
- package/dist/presentation/components/use_smile_id_back_button.js +1 -38
- package/dist/presentation/components/use_smile_id_button.d.ts +0 -1
- package/dist/presentation/components/use_smile_id_button.js +1 -69
- package/dist/presentation/components/use_smile_id_capture_content.d.ts +0 -1
- package/dist/presentation/components/use_smile_id_capture_content.js +1 -137
- package/dist/presentation/components/use_smile_id_capture_instruction_animation.d.ts +3 -4
- package/dist/presentation/components/use_smile_id_capture_instruction_animation.js +1 -50
- package/dist/presentation/components/use_smile_id_capture_spinner.d.ts +0 -1
- package/dist/presentation/components/use_smile_id_capture_spinner.js +1 -30
- package/dist/presentation/components/use_smile_id_captured_document_image.d.ts +4 -5
- package/dist/presentation/components/use_smile_id_captured_document_image.js +1 -39
- package/dist/presentation/components/use_smile_id_captured_image_oval.d.ts +0 -1
- package/dist/presentation/components/use_smile_id_captured_image_oval.js +1 -63
- package/dist/presentation/components/use_smile_id_card_surface.d.ts +0 -1
- package/dist/presentation/components/use_smile_id_card_surface.js +1 -37
- package/dist/presentation/components/use_smile_id_confirmation_buttons.d.ts +0 -1
- package/dist/presentation/components/use_smile_id_confirmation_buttons.js +1 -48
- package/dist/presentation/components/use_smile_id_consent_row.d.ts +0 -1
- package/dist/presentation/components/use_smile_id_consent_row.js +1 -32
- package/dist/presentation/components/use_smile_id_content_card.d.ts +0 -1
- package/dist/presentation/components/use_smile_id_content_card.js +1 -41
- package/dist/presentation/components/use_smile_id_document_capture_controls.d.ts +0 -1
- package/dist/presentation/components/use_smile_id_document_capture_controls.js +1 -120
- package/dist/presentation/components/use_smile_id_document_overlay.d.ts +0 -1
- package/dist/presentation/components/use_smile_id_document_overlay.js +1 -158
- package/dist/presentation/components/use_smile_id_document_shimmer.d.ts +0 -1
- package/dist/presentation/components/use_smile_id_document_shimmer.js +1 -23
- package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_clip.d.ts +0 -1
- package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_clip.js +1 -77
- package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_direction_animation.d.ts +0 -1
- package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_direction_animation.js +1 -21
- package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_full_animation.d.ts +0 -1
- package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_full_animation.js +1 -14
- package/dist/presentation/components/use_smile_id_expandable_icon.d.ts +0 -1
- package/dist/presentation/components/use_smile_id_expandable_icon.js +1 -55
- package/dist/presentation/components/use_smile_id_face_oval_image.d.ts +0 -1
- package/dist/presentation/components/use_smile_id_face_oval_image.js +1 -41
- package/dist/presentation/components/use_smile_id_face_overlay.d.ts +0 -1
- package/dist/presentation/components/use_smile_id_face_overlay.js +1 -194
- package/dist/presentation/components/use_smile_id_failed_content.d.ts +0 -1
- package/dist/presentation/components/use_smile_id_failed_content.js +1 -44
- package/dist/presentation/components/use_smile_id_guideline_thumbnail.d.ts +0 -1
- package/dist/presentation/components/use_smile_id_guideline_thumbnail.js +1 -179
- package/dist/presentation/components/use_smile_id_instructions_hero.d.ts +0 -1
- package/dist/presentation/components/use_smile_id_instructions_hero.js +1 -164
- package/dist/presentation/components/use_smile_id_learn_more_content.d.ts +0 -1
- package/dist/presentation/components/use_smile_id_learn_more_content.js +1 -70
- package/dist/presentation/components/use_smile_id_loading_content.d.ts +0 -1
- package/dist/presentation/components/use_smile_id_loading_content.js +1 -31
- package/dist/presentation/components/use_smile_id_loading_indicator.d.ts +0 -1
- package/dist/presentation/components/use_smile_id_loading_indicator.js +1 -48
- package/dist/presentation/components/use_smile_id_oval_border_palette.d.ts +0 -1
- package/dist/presentation/components/use_smile_id_oval_border_palette.js +1 -49
- package/dist/presentation/components/use_smile_id_partner_icon.d.ts +3 -1
- package/dist/presentation/components/use_smile_id_partner_icon.js +1 -34
- package/dist/presentation/components/use_smile_id_processing_center_indicator.d.ts +0 -1
- package/dist/presentation/components/use_smile_id_processing_center_indicator.js +1 -44
- package/dist/presentation/components/use_smile_id_rounded_checkbox.d.ts +0 -1
- package/dist/presentation/components/use_smile_id_rounded_checkbox.js +1 -41
- package/dist/presentation/components/use_smile_id_status_indicator.d.ts +0 -1
- package/dist/presentation/components/use_smile_id_status_indicator.js +1 -22
- package/dist/presentation/components/use_smile_id_success_content.d.ts +0 -1
- package/dist/presentation/components/use_smile_id_success_content.js +1 -39
- package/dist/presentation/flow/analytics/use_smile_id_analytics_event.d.ts +0 -1
- package/dist/presentation/flow/analytics/use_smile_id_analytics_event.js +1 -71
- package/dist/presentation/flow/config/attribution_resolver.d.ts +17 -0
- package/dist/presentation/flow/config/attribution_resolver.js +1 -0
- package/dist/presentation/flow/config/flow_configuration.d.ts +0 -1
- package/dist/presentation/flow/config/flow_configuration.js +1 -2
- package/dist/presentation/flow/dsl/builder/config_builder.d.ts +5 -1
- package/dist/presentation/flow/dsl/builder/config_builder.js +1 -50
- package/dist/presentation/flow/dsl/builder/ml_builder.d.ts +0 -1
- package/dist/presentation/flow/dsl/builder/ml_builder.js +1 -164
- package/dist/presentation/flow/dsl/builder/screens_builder.d.ts +0 -21
- package/dist/presentation/flow/dsl/builder/screens_builder.js +1 -215
- package/dist/presentation/flow/dsl/builder/theme_builder.d.ts +0 -1
- package/dist/presentation/flow/dsl/builder/theme_builder.js +1 -83
- package/dist/presentation/flow/dsl/flow_build_result.d.ts +0 -1
- package/dist/presentation/flow/dsl/flow_build_result.js +1 -2
- package/dist/presentation/flow/dsl/use_smile_id_builder.d.ts +0 -1
- package/dist/presentation/flow/dsl/use_smile_id_builder.js +1 -49
- package/dist/presentation/flow/dsl/use_smile_id_flow_builder.d.ts +0 -1
- package/dist/presentation/flow/dsl/use_smile_id_flow_builder.js +1 -356
- package/dist/presentation/flow/flow_navigation_context.d.ts +0 -1
- package/dist/presentation/flow/flow_navigation_context.js +1 -34
- package/dist/presentation/flow/flow_navigation_manager.d.ts +2 -1
- package/dist/presentation/flow/flow_navigation_manager.js +1 -935
- package/dist/presentation/flow/graph/screen_renderer.d.ts +0 -1
- package/dist/presentation/flow/graph/screen_renderer.js +1 -31
- package/dist/presentation/flow/graph/screen_transition.d.ts +8 -0
- package/dist/presentation/flow/graph/screen_transition.js +1 -0
- package/dist/presentation/flow/job_submission_state.d.ts +0 -1
- package/dist/presentation/flow/job_submission_state.js +1 -2
- package/dist/presentation/flow/model/instruction_guideline.d.ts +0 -1
- package/dist/presentation/flow/model/instruction_guideline.js +1 -2
- package/dist/presentation/flow/model/instructions_defaults.d.ts +0 -1
- package/dist/presentation/flow/model/instructions_defaults.js +1 -130
- package/dist/presentation/flow/screen/helpers/analyzer_lifecycle.d.ts +18 -0
- package/dist/presentation/flow/screen/helpers/analyzer_lifecycle.js +1 -0
- package/dist/presentation/flow/screen/helpers/face_session_config.d.ts +0 -1
- package/dist/presentation/flow/screen/helpers/face_session_config.js +1 -65
- package/dist/presentation/flow/screen/helpers/failure_message.d.ts +3 -0
- package/dist/presentation/flow/screen/helpers/failure_message.js +1 -0
- package/dist/presentation/flow/screen/orchestrated_capture_screen.d.ts +0 -1
- package/dist/presentation/flow/screen/orchestrated_capture_screen.js +1 -237
- package/dist/presentation/flow/screen/orchestrated_consent_screen.d.ts +0 -1
- package/dist/presentation/flow/screen/orchestrated_consent_screen.js +1 -49
- package/dist/presentation/flow/screen/orchestrated_instructions_screen.d.ts +0 -1
- package/dist/presentation/flow/screen/orchestrated_instructions_screen.js +1 -47
- package/dist/presentation/flow/screen/orchestrated_preview_screen.d.ts +0 -1
- package/dist/presentation/flow/screen/orchestrated_preview_screen.js +1 -34
- package/dist/presentation/flow/screen/orchestrated_processing_screen.d.ts +0 -1
- package/dist/presentation/flow/screen/orchestrated_processing_screen.js +1 -79
- package/dist/presentation/flow/screen/use_smile_id_orchestrated_screen_host.d.ts +0 -1
- package/dist/presentation/flow/screen/use_smile_id_orchestrated_screen_host.js +1 -22
- package/dist/presentation/flow/screen/validation_error_screen.d.ts +0 -1
- package/dist/presentation/flow/screen/validation_error_screen.js +1 -87
- package/dist/presentation/flow/use_smile_id_flow.d.ts +1 -2
- package/dist/presentation/flow/use_smile_id_flow.js +1 -297
- package/dist/presentation/flow/validation/flow_validator.d.ts +2 -13
- package/dist/presentation/flow/validation/flow_validator.js +1 -300
- package/dist/presentation/flow/validation/job_type_validator.d.ts +3 -1
- package/dist/presentation/flow/validation/job_type_validator.js +1 -459
- package/dist/presentation/flow/validation/user_details_validator.d.ts +0 -1
- package/dist/presentation/flow/validation/user_details_validator.js +1 -40
- package/dist/presentation/flow/validation/validation_state.d.ts +3 -4
- package/dist/presentation/flow/validation/validation_state.js +1 -23
- package/dist/presentation/screen/helpers/capture_screen_helpers.d.ts +0 -1
- package/dist/presentation/screen/helpers/capture_screen_helpers.js +1 -135
- package/dist/presentation/screen/helpers/capture_ui_state.d.ts +0 -1
- package/dist/presentation/screen/helpers/capture_ui_state.js +1 -179
- package/dist/presentation/screen/helpers/consent_screen_helpers.d.ts +0 -1
- package/dist/presentation/screen/helpers/consent_screen_helpers.js +1 -68
- package/dist/presentation/screen/helpers/ess_turn_haptics.d.ts +0 -1
- package/dist/presentation/screen/helpers/ess_turn_haptics.js +1 -53
- package/dist/presentation/screen/helpers/feedback_debouncer.d.ts +0 -1
- package/dist/presentation/screen/helpers/feedback_debouncer.js +1 -77
- package/dist/presentation/screen/helpers/instructions_screen_helpers.d.ts +0 -3
- package/dist/presentation/screen/helpers/instructions_screen_helpers.js +1 -54
- package/dist/presentation/screen/helpers/preview_screen_helpers.d.ts +0 -1
- package/dist/presentation/screen/helpers/preview_screen_helpers.js +1 -27
- package/dist/presentation/screen/helpers/processing_screen_helpers.d.ts +0 -1
- package/dist/presentation/screen/helpers/processing_screen_helpers.js +1 -12
- package/dist/presentation/screen/helpers/scan_state_to_overlay_state.d.ts +7 -1
- package/dist/presentation/screen/helpers/scan_state_to_overlay_state.js +1 -107
- package/dist/presentation/screen/helpers/use_capture_orientation_lock.d.ts +0 -1
- package/dist/presentation/screen/helpers/use_capture_orientation_lock.js +1 -79
- package/dist/presentation/screen/helpers/use_debounced_feedback_key.d.ts +0 -1
- package/dist/presentation/screen/helpers/use_debounced_feedback_key.js +1 -44
- package/dist/presentation/screen/use_smile_id_capture_screen.d.ts +8 -11
- package/dist/presentation/screen/use_smile_id_capture_screen.js +1 -640
- package/dist/presentation/screen/use_smile_id_consent_screen.d.ts +0 -1
- package/dist/presentation/screen/use_smile_id_consent_screen.js +1 -176
- package/dist/presentation/screen/use_smile_id_document_back_instructions.d.ts +6 -1
- package/dist/presentation/screen/use_smile_id_document_back_instructions.js +1 -43
- package/dist/presentation/screen/use_smile_id_document_preview_screen.d.ts +0 -1
- package/dist/presentation/screen/use_smile_id_document_preview_screen.js +1 -69
- package/dist/presentation/screen/use_smile_id_instructions_screen.d.ts +0 -1
- package/dist/presentation/screen/use_smile_id_instructions_screen.js +2 -66
- package/dist/presentation/screen/use_smile_id_permission_screen.d.ts +0 -1
- package/dist/presentation/screen/use_smile_id_permission_screen.js +1 -28
- package/dist/presentation/screen/use_smile_id_preview_screen.d.ts +0 -1
- package/dist/presentation/screen/use_smile_id_preview_screen.js +1 -71
- package/dist/presentation/screen/use_smile_id_processing_screen.d.ts +0 -1
- package/dist/presentation/screen/use_smile_id_processing_screen.js +1 -85
- package/dist/presentation/state/processing_state.d.ts +0 -1
- package/dist/presentation/state/processing_state.js +1 -2
- package/dist/presentation/state/use_smile_id_overlay_state.d.ts +1 -3
- package/dist/presentation/state/use_smile_id_overlay_state.js +1 -56
- package/dist/presentation/theme/theme.d.ts +0 -1
- package/dist/presentation/theme/theme.js +1 -226
- package/dist/presentation/theme/theme_context.d.ts +0 -1
- package/dist/presentation/theme/theme_context.js +1 -31
- package/dist/presentation/theme/use_smile_id_motion.d.ts +0 -1
- package/dist/presentation/theme/use_smile_id_motion.js +1 -13
- package/dist/presentation/theme/use_use_smile_id_fonts.d.ts +0 -1
- package/dist/presentation/theme/use_use_smile_id_fonts.js +1 -64
- package/dist/presentation/utils/force_max_brightness.d.ts +0 -1
- package/dist/presentation/utils/force_max_brightness.js +1 -105
- package/dist/presentation/utils/locale_utils.d.ts +0 -1
- package/dist/presentation/utils/locale_utils.js +1 -74
- package/dist/presentation/utils/use_reduced_motion.d.ts +0 -1
- package/dist/presentation/utils/use_reduced_motion.js +1 -24
- package/dist/testing/fake_face_analyzer.d.ts +6 -1
- package/dist/testing/fake_face_analyzer.js +1 -52
- package/dist/testing/index.d.ts +0 -1
- package/dist/testing/index.js +1 -7
- package/dist/testing/scenario_expectations.d.ts +0 -1
- package/dist/testing/scenario_expectations.js +1 -65
- package/dist/testing/scenario_loader.d.ts +0 -1
- package/dist/testing/scenario_loader.js +1 -64
- package/dist/testing/scripted_scan_results.d.ts +3 -2
- package/dist/testing/scripted_scan_results.js +1 -52
- package/package.json +28 -30
- package/dist/camera/camera_configuration.d.ts.map +0 -1
- package/dist/camera/camera_configuration.js.map +0 -1
- package/dist/camera/camera_defaults.d.ts.map +0 -1
- package/dist/camera/camera_defaults.js.map +0 -1
- package/dist/camera/camera_lens.d.ts.map +0 -1
- package/dist/camera/camera_lens.js.map +0 -1
- package/dist/camera/camera_permissions.d.ts.map +0 -1
- package/dist/camera/camera_permissions.js.map +0 -1
- package/dist/camera/camera_preview_image.d.ts +0 -18
- package/dist/camera/camera_preview_image.d.ts.map +0 -1
- package/dist/camera/camera_preview_image.js +0 -8
- package/dist/camera/camera_preview_image.js.map +0 -1
- package/dist/camera/document_image_pipeline.d.ts.map +0 -1
- package/dist/camera/document_image_pipeline.js.map +0 -1
- package/dist/camera/document_resize_target.d.ts.map +0 -1
- package/dist/camera/document_resize_target.js.map +0 -1
- package/dist/camera/focus_state.d.ts.map +0 -1
- package/dist/camera/focus_state.js.map +0 -1
- package/dist/camera/orientation_degrees.d.ts +0 -10
- package/dist/camera/orientation_degrees.d.ts.map +0 -1
- package/dist/camera/orientation_degrees.js +0 -20
- package/dist/camera/orientation_degrees.js.map +0 -1
- package/dist/camera/use_smile_id_camera_preview.d.ts +0 -64
- package/dist/camera/use_smile_id_camera_preview.d.ts.map +0 -1
- package/dist/camera/use_smile_id_camera_preview.js +0 -141
- package/dist/camera/use_smile_id_camera_preview.js.map +0 -1
- package/dist/camera/use_smile_id_camera_system.d.ts +0 -97
- package/dist/camera/use_smile_id_camera_system.d.ts.map +0 -1
- package/dist/camera/use_smile_id_camera_system.js +0 -185
- package/dist/camera/use_smile_id_camera_system.js.map +0 -1
- package/dist/camera/use_smile_id_frame_stream.d.ts.map +0 -1
- package/dist/camera/use_smile_id_frame_stream.js.map +0 -1
- package/dist/core/exception/agent_mode_with_enhanced_liveness_exception.d.ts.map +0 -1
- package/dist/core/exception/agent_mode_with_enhanced_liveness_exception.js.map +0 -1
- package/dist/core/exception/builder_validation_exception.d.ts.map +0 -1
- package/dist/core/exception/builder_validation_exception.js.map +0 -1
- package/dist/core/exception/capture_validation_exceptions.d.ts.map +0 -1
- package/dist/core/exception/capture_validation_exceptions.js.map +0 -1
- package/dist/core/exception/consent_validation_exceptions.d.ts.map +0 -1
- package/dist/core/exception/consent_validation_exceptions.js.map +0 -1
- package/dist/core/exception/duplicate_screen_type_exception.d.ts.map +0 -1
- package/dist/core/exception/duplicate_screen_type_exception.js.map +0 -1
- package/dist/core/exception/empty_screens_block_exception.d.ts.map +0 -1
- package/dist/core/exception/empty_screens_block_exception.js.map +0 -1
- package/dist/core/exception/flow_exceptions.d.ts.map +0 -1
- package/dist/core/exception/flow_exceptions.js.map +0 -1
- package/dist/core/exception/index.d.ts.map +0 -1
- package/dist/core/exception/index.js.map +0 -1
- package/dist/core/exception/invalid_consent_config_exception.d.ts.map +0 -1
- package/dist/core/exception/invalid_consent_config_exception.js.map +0 -1
- package/dist/core/exception/invalid_consent_information_exception.d.ts.map +0 -1
- package/dist/core/exception/invalid_consent_information_exception.js.map +0 -1
- package/dist/core/exception/invalid_document_capture_config_exception.d.ts.map +0 -1
- package/dist/core/exception/invalid_document_capture_config_exception.js.map +0 -1
- package/dist/core/exception/invalid_field_value_exception.d.ts.map +0 -1
- package/dist/core/exception/invalid_field_value_exception.js.map +0 -1
- package/dist/core/exception/invalid_job_type_screen_config_exception.d.ts.map +0 -1
- package/dist/core/exception/invalid_job_type_screen_config_exception.js.map +0 -1
- package/dist/core/exception/invalid_missing_capture_type_exception.d.ts.map +0 -1
- package/dist/core/exception/invalid_missing_capture_type_exception.js.map +0 -1
- package/dist/core/exception/invalid_screen_order_exception.d.ts.map +0 -1
- package/dist/core/exception/invalid_screen_order_exception.js.map +0 -1
- package/dist/core/exception/invalid_selfie_capture_config_exception.d.ts.map +0 -1
- package/dist/core/exception/invalid_selfie_capture_config_exception.js.map +0 -1
- package/dist/core/exception/issue_severity.d.ts.map +0 -1
- package/dist/core/exception/issue_severity.js.map +0 -1
- package/dist/core/exception/job_validation_exceptions.d.ts.map +0 -1
- package/dist/core/exception/job_validation_exceptions.js.map +0 -1
- package/dist/core/exception/liveness_frame_count_exception.d.ts.map +0 -1
- package/dist/core/exception/liveness_frame_count_exception.js.map +0 -1
- package/dist/core/exception/missing_capture_for_preview_exception.d.ts.map +0 -1
- package/dist/core/exception/missing_capture_for_preview_exception.js.map +0 -1
- package/dist/core/exception/missing_job_type_exception.d.ts.map +0 -1
- package/dist/core/exception/missing_job_type_exception.js.map +0 -1
- package/dist/core/exception/missing_ml_configuration_block_exception.d.ts.map +0 -1
- package/dist/core/exception/missing_ml_configuration_block_exception.js.map +0 -1
- package/dist/core/exception/missing_network_configuration_block_exception.d.ts.map +0 -1
- package/dist/core/exception/missing_network_configuration_block_exception.js.map +0 -1
- package/dist/core/exception/missing_partner_config_exception.d.ts.map +0 -1
- package/dist/core/exception/missing_partner_config_exception.js.map +0 -1
- package/dist/core/exception/missing_required_field_exception.d.ts.map +0 -1
- package/dist/core/exception/missing_required_field_exception.js.map +0 -1
- package/dist/core/exception/screen_config_validation_exceptions.d.ts.map +0 -1
- package/dist/core/exception/screen_config_validation_exceptions.js.map +0 -1
- package/dist/core/exception/use_smile_id_attestation_exception.d.ts.map +0 -1
- package/dist/core/exception/use_smile_id_attestation_exception.js.map +0 -1
- package/dist/core/exception/use_smile_id_builder_exception.d.ts.map +0 -1
- package/dist/core/exception/use_smile_id_builder_exception.js.map +0 -1
- package/dist/core/exception/use_smile_id_camera_exception.d.ts.map +0 -1
- package/dist/core/exception/use_smile_id_camera_exception.js.map +0 -1
- package/dist/core/exception/use_smile_id_error_code.d.ts.map +0 -1
- package/dist/core/exception/use_smile_id_error_code.js.map +0 -1
- package/dist/core/exception/use_smile_id_exception.d.ts.map +0 -1
- package/dist/core/exception/use_smile_id_exception.js.map +0 -1
- package/dist/core/exception/use_smile_id_general_exception.d.ts.map +0 -1
- package/dist/core/exception/use_smile_id_general_exception.js.map +0 -1
- package/dist/core/exception/use_smile_id_network_exception.d.ts.map +0 -1
- package/dist/core/exception/use_smile_id_network_exception.js.map +0 -1
- package/dist/core/exception/use_smile_id_validation_exception.d.ts.map +0 -1
- package/dist/core/exception/use_smile_id_validation_exception.js.map +0 -1
- package/dist/core/models/config.d.ts.map +0 -1
- package/dist/core/models/config.js.map +0 -1
- package/dist/core/models/document_capture_mode.d.ts.map +0 -1
- package/dist/core/models/document_capture_mode.js.map +0 -1
- package/dist/core/models/document_type.d.ts.map +0 -1
- package/dist/core/models/document_type.js.map +0 -1
- package/dist/core/models/flow_step.d.ts.map +0 -1
- package/dist/core/models/flow_step.js.map +0 -1
- package/dist/core/models/global_privacy_control.d.ts.map +0 -1
- package/dist/core/models/global_privacy_control.js.map +0 -1
- package/dist/core/models/head_turn_direction.d.ts.map +0 -1
- package/dist/core/models/head_turn_direction.js.map +0 -1
- package/dist/core/models/job_type.d.ts.map +0 -1
- package/dist/core/models/job_type.js.map +0 -1
- package/dist/core/models/ml_config.d.ts.map +0 -1
- package/dist/core/models/ml_config.js.map +0 -1
- package/dist/core/models/network_config.d.ts.map +0 -1
- package/dist/core/models/network_config.js.map +0 -1
- package/dist/core/models/params.d.ts.map +0 -1
- package/dist/core/models/params.js.map +0 -1
- package/dist/core/models/result.d.ts.map +0 -1
- package/dist/core/models/result.js.map +0 -1
- package/dist/data/api/auth/token_holder.d.ts.map +0 -1
- package/dist/data/api/auth/token_holder.js.map +0 -1
- package/dist/data/api/interceptors/gzip_interceptor.d.ts.map +0 -1
- package/dist/data/api/interceptors/gzip_interceptor.js.map +0 -1
- package/dist/data/api/interceptors/logging_interceptor.d.ts.map +0 -1
- package/dist/data/api/interceptors/logging_interceptor.js.map +0 -1
- package/dist/data/api/interceptors/sensitive_headers.d.ts.map +0 -1
- package/dist/data/api/interceptors/sensitive_headers.js.map +0 -1
- package/dist/data/api/interceptors/smile_auth_interceptor.d.ts.map +0 -1
- package/dist/data/api/interceptors/smile_auth_interceptor.js.map +0 -1
- package/dist/data/api/interceptors/smile_integrity_interceptor.d.ts.map +0 -1
- package/dist/data/api/interceptors/smile_integrity_interceptor.js.map +0 -1
- package/dist/data/api/interceptors/smile_request_mac_interceptor.d.ts.map +0 -1
- package/dist/data/api/interceptors/smile_request_mac_interceptor.js.map +0 -1
- package/dist/data/api/interceptors/token_refresh_interceptor.d.ts.map +0 -1
- package/dist/data/api/interceptors/token_refresh_interceptor.js.map +0 -1
- package/dist/data/api/smile_id_api.d.ts.map +0 -1
- package/dist/data/api/smile_id_api.js.map +0 -1
- package/dist/data/compression/compressible_asset.d.ts.map +0 -1
- package/dist/data/compression/compressible_asset.js.map +0 -1
- package/dist/data/compression/payload_compression_config.d.ts.map +0 -1
- package/dist/data/compression/payload_compression_config.js.map +0 -1
- package/dist/data/compression/payload_compression_runner.d.ts.map +0 -1
- package/dist/data/compression/payload_compression_runner.js.map +0 -1
- package/dist/data/compression/payload_compressor.d.ts.map +0 -1
- package/dist/data/compression/payload_compressor.js.map +0 -1
- package/dist/data/compression/uri_compressible_asset.d.ts.map +0 -1
- package/dist/data/compression/uri_compressible_asset.js.map +0 -1
- package/dist/data/dsl/builder/cache_config_builder.d.ts.map +0 -1
- package/dist/data/dsl/builder/cache_config_builder.js.map +0 -1
- package/dist/data/dsl/builder/config_builder.d.ts.map +0 -1
- package/dist/data/dsl/builder/config_builder.js.map +0 -1
- package/dist/data/dsl/builder/interceptor_config_builder.d.ts.map +0 -1
- package/dist/data/dsl/builder/interceptor_config_builder.js.map +0 -1
- package/dist/data/dsl/builder/retry_config_builder.d.ts.map +0 -1
- package/dist/data/dsl/builder/retry_config_builder.js.map +0 -1
- package/dist/data/dsl/builder/timeout_config_builder.d.ts.map +0 -1
- package/dist/data/dsl/builder/timeout_config_builder.js.map +0 -1
- package/dist/data/dsl/use_smile_id_network_builder.d.ts.map +0 -1
- package/dist/data/dsl/use_smile_id_network_builder.js.map +0 -1
- package/dist/data/factory/networking_factory.d.ts.map +0 -1
- package/dist/data/factory/networking_factory.js.map +0 -1
- package/dist/data/model/image_dimensions.d.ts.map +0 -1
- package/dist/data/model/image_dimensions.js.map +0 -1
- package/dist/data/model/job_request.d.ts.map +0 -1
- package/dist/data/model/job_request.js.map +0 -1
- package/dist/data/model/job_submission_response.d.ts.map +0 -1
- package/dist/data/model/job_submission_response.js.map +0 -1
- package/dist/data/model/sdk_config.d.ts.map +0 -1
- package/dist/data/model/sdk_config.js.map +0 -1
- package/dist/data/model/sdk_config_capture.d.ts.map +0 -1
- package/dist/data/model/sdk_config_capture.js.map +0 -1
- package/dist/data/model/sdk_config_source.d.ts.map +0 -1
- package/dist/data/model/sdk_config_source.js.map +0 -1
- package/dist/data/model/token_payload.d.ts.map +0 -1
- package/dist/data/model/token_payload.js.map +0 -1
- package/dist/data/model/user_details_payload.d.ts.map +0 -1
- package/dist/data/model/user_details_payload.js.map +0 -1
- package/dist/data/repository/use_smile_id_repository.d.ts.map +0 -1
- package/dist/data/repository/use_smile_id_repository.js.map +0 -1
- package/dist/data/repository/use_smile_id_repository_impl.d.ts.map +0 -1
- package/dist/data/repository/use_smile_id_repository_impl.js.map +0 -1
- package/dist/data/security/request_canonicalizer.d.ts.map +0 -1
- package/dist/data/security/request_canonicalizer.js.map +0 -1
- package/dist/data/security/request_timestamp.d.ts.map +0 -1
- package/dist/data/security/request_timestamp.js.map +0 -1
- package/dist/data/security/security_policy.d.ts.map +0 -1
- package/dist/data/security/security_policy.js.map +0 -1
- package/dist/data/security/signing_crypto.d.ts.map +0 -1
- package/dist/data/security/signing_crypto.js.map +0 -1
- package/dist/data/security/smile_id_crypto_error.d.ts.map +0 -1
- package/dist/data/security/smile_id_crypto_error.js.map +0 -1
- package/dist/data/security/smile_id_crypto_manager.d.ts.map +0 -1
- package/dist/data/security/smile_id_crypto_manager.js.map +0 -1
- package/dist/data/smile_id_urls.d.ts.map +0 -1
- package/dist/data/smile_id_urls.js.map +0 -1
- package/dist/data/util/retry_util.d.ts.map +0 -1
- package/dist/data/util/retry_util.js.map +0 -1
- package/dist/data/util/use_smile_id_token_decoder.d.ts.map +0 -1
- package/dist/data/util/use_smile_id_token_decoder.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/l10n/strings_en.d.ts.map +0 -1
- package/dist/l10n/strings_en.js.map +0 -1
- package/dist/l10n/use_smile_id_localizations.d.ts.map +0 -1
- package/dist/l10n/use_smile_id_localizations.js.map +0 -1
- package/dist/l10n/use_smile_id_localizations_provider.d.ts.map +0 -1
- package/dist/l10n/use_smile_id_localizations_provider.js.map +0 -1
- package/dist/metadata/builder_configuration.d.ts.map +0 -1
- package/dist/metadata/builder_configuration.js.map +0 -1
- package/dist/metadata/captured_image_properties.d.ts.map +0 -1
- package/dist/metadata/captured_image_properties.js.map +0 -1
- package/dist/metadata/device_orientation_collector.d.ts.map +0 -1
- package/dist/metadata/device_orientation_collector.js.map +0 -1
- package/dist/metadata/document_image_origin.d.ts.map +0 -1
- package/dist/metadata/document_image_origin.js.map +0 -1
- package/dist/metadata/geolocation.d.ts.map +0 -1
- package/dist/metadata/geolocation.js.map +0 -1
- package/dist/metadata/metadata_configuration_mappers.d.ts.map +0 -1
- package/dist/metadata/metadata_configuration_mappers.js.map +0 -1
- package/dist/metadata/model_configuration.d.ts.map +0 -1
- package/dist/metadata/model_configuration.js.map +0 -1
- package/dist/metadata/optional_native_modules.d.ts.map +0 -1
- package/dist/metadata/optional_native_modules.js.map +0 -1
- package/dist/metadata/use_smile_id_metadata.d.ts.map +0 -1
- package/dist/metadata/use_smile_id_metadata.js.map +0 -1
- package/dist/metadata/use_smile_id_metadata_factory.d.ts.map +0 -1
- package/dist/metadata/use_smile_id_metadata_factory.js.map +0 -1
- package/dist/presentation/assets/svg/document_shimmer_strings.d.ts.map +0 -1
- package/dist/presentation/assets/svg/document_shimmer_strings.js.map +0 -1
- package/dist/presentation/assets/svg/instruction_svg_strings.d.ts.map +0 -1
- package/dist/presentation/assets/svg/instruction_svg_strings.js.map +0 -1
- package/dist/presentation/assets/svg/svg_strings.d.ts.map +0 -1
- package/dist/presentation/assets/svg/svg_strings.js.map +0 -1
- package/dist/presentation/components/face_oval_defaults.d.ts.map +0 -1
- package/dist/presentation/components/face_oval_defaults.js.map +0 -1
- package/dist/presentation/components/helpers/animated_lottie_view.d.ts.map +0 -1
- package/dist/presentation/components/helpers/animated_lottie_view.js.map +0 -1
- package/dist/presentation/components/helpers/capture_instruction_animation_spec.d.ts.map +0 -1
- package/dist/presentation/components/helpers/capture_instruction_animation_spec.js.map +0 -1
- package/dist/presentation/components/helpers/enhanced_smart_selfie_animation_frames.d.ts.map +0 -1
- package/dist/presentation/components/helpers/enhanced_smart_selfie_animation_frames.js.map +0 -1
- package/dist/presentation/components/helpers/scaled_oval_geometry.d.ts.map +0 -1
- package/dist/presentation/components/helpers/scaled_oval_geometry.js.map +0 -1
- package/dist/presentation/components/icons/index.d.ts.map +0 -1
- package/dist/presentation/components/icons/index.js.map +0 -1
- package/dist/presentation/components/status_indicator_state.d.ts.map +0 -1
- package/dist/presentation/components/status_indicator_state.js.map +0 -1
- package/dist/presentation/components/use_smile_id_attribution.d.ts.map +0 -1
- package/dist/presentation/components/use_smile_id_attribution.js.map +0 -1
- package/dist/presentation/components/use_smile_id_back_button.d.ts.map +0 -1
- package/dist/presentation/components/use_smile_id_back_button.js.map +0 -1
- package/dist/presentation/components/use_smile_id_button.d.ts.map +0 -1
- package/dist/presentation/components/use_smile_id_button.js.map +0 -1
- package/dist/presentation/components/use_smile_id_capture_content.d.ts.map +0 -1
- package/dist/presentation/components/use_smile_id_capture_content.js.map +0 -1
- package/dist/presentation/components/use_smile_id_capture_instruction_animation.d.ts.map +0 -1
- package/dist/presentation/components/use_smile_id_capture_instruction_animation.js.map +0 -1
- package/dist/presentation/components/use_smile_id_capture_spinner.d.ts.map +0 -1
- package/dist/presentation/components/use_smile_id_capture_spinner.js.map +0 -1
- package/dist/presentation/components/use_smile_id_captured_document_image.d.ts.map +0 -1
- package/dist/presentation/components/use_smile_id_captured_document_image.js.map +0 -1
- package/dist/presentation/components/use_smile_id_captured_image_oval.d.ts.map +0 -1
- package/dist/presentation/components/use_smile_id_captured_image_oval.js.map +0 -1
- package/dist/presentation/components/use_smile_id_card_surface.d.ts.map +0 -1
- package/dist/presentation/components/use_smile_id_card_surface.js.map +0 -1
- package/dist/presentation/components/use_smile_id_confirmation_buttons.d.ts.map +0 -1
- package/dist/presentation/components/use_smile_id_confirmation_buttons.js.map +0 -1
- package/dist/presentation/components/use_smile_id_consent_row.d.ts.map +0 -1
- package/dist/presentation/components/use_smile_id_consent_row.js.map +0 -1
- package/dist/presentation/components/use_smile_id_content_card.d.ts.map +0 -1
- package/dist/presentation/components/use_smile_id_content_card.js.map +0 -1
- package/dist/presentation/components/use_smile_id_document_capture_controls.d.ts.map +0 -1
- package/dist/presentation/components/use_smile_id_document_capture_controls.js.map +0 -1
- package/dist/presentation/components/use_smile_id_document_overlay.d.ts.map +0 -1
- package/dist/presentation/components/use_smile_id_document_overlay.js.map +0 -1
- package/dist/presentation/components/use_smile_id_document_shimmer.d.ts.map +0 -1
- package/dist/presentation/components/use_smile_id_document_shimmer.js.map +0 -1
- package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_clip.d.ts.map +0 -1
- package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_clip.js.map +0 -1
- package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_direction_animation.d.ts.map +0 -1
- package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_direction_animation.js.map +0 -1
- package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_full_animation.d.ts.map +0 -1
- package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_full_animation.js.map +0 -1
- package/dist/presentation/components/use_smile_id_expandable_icon.d.ts.map +0 -1
- package/dist/presentation/components/use_smile_id_expandable_icon.js.map +0 -1
- package/dist/presentation/components/use_smile_id_face_oval_image.d.ts.map +0 -1
- package/dist/presentation/components/use_smile_id_face_oval_image.js.map +0 -1
- package/dist/presentation/components/use_smile_id_face_overlay.d.ts.map +0 -1
- package/dist/presentation/components/use_smile_id_face_overlay.js.map +0 -1
- package/dist/presentation/components/use_smile_id_failed_content.d.ts.map +0 -1
- package/dist/presentation/components/use_smile_id_failed_content.js.map +0 -1
- package/dist/presentation/components/use_smile_id_guideline_thumbnail.d.ts.map +0 -1
- package/dist/presentation/components/use_smile_id_guideline_thumbnail.js.map +0 -1
- package/dist/presentation/components/use_smile_id_instructions_hero.d.ts.map +0 -1
- package/dist/presentation/components/use_smile_id_instructions_hero.js.map +0 -1
- package/dist/presentation/components/use_smile_id_learn_more_content.d.ts.map +0 -1
- package/dist/presentation/components/use_smile_id_learn_more_content.js.map +0 -1
- package/dist/presentation/components/use_smile_id_loading_content.d.ts.map +0 -1
- package/dist/presentation/components/use_smile_id_loading_content.js.map +0 -1
- package/dist/presentation/components/use_smile_id_loading_indicator.d.ts.map +0 -1
- package/dist/presentation/components/use_smile_id_loading_indicator.js.map +0 -1
- package/dist/presentation/components/use_smile_id_oval_border_palette.d.ts.map +0 -1
- package/dist/presentation/components/use_smile_id_oval_border_palette.js.map +0 -1
- package/dist/presentation/components/use_smile_id_partner_icon.d.ts.map +0 -1
- package/dist/presentation/components/use_smile_id_partner_icon.js.map +0 -1
- package/dist/presentation/components/use_smile_id_processing_center_indicator.d.ts.map +0 -1
- package/dist/presentation/components/use_smile_id_processing_center_indicator.js.map +0 -1
- package/dist/presentation/components/use_smile_id_rounded_checkbox.d.ts.map +0 -1
- package/dist/presentation/components/use_smile_id_rounded_checkbox.js.map +0 -1
- package/dist/presentation/components/use_smile_id_status_indicator.d.ts.map +0 -1
- package/dist/presentation/components/use_smile_id_status_indicator.js.map +0 -1
- package/dist/presentation/components/use_smile_id_success_content.d.ts.map +0 -1
- package/dist/presentation/components/use_smile_id_success_content.js.map +0 -1
- package/dist/presentation/flow/analytics/use_smile_id_analytics_event.d.ts.map +0 -1
- package/dist/presentation/flow/analytics/use_smile_id_analytics_event.js.map +0 -1
- package/dist/presentation/flow/config/flow_configuration.d.ts.map +0 -1
- package/dist/presentation/flow/config/flow_configuration.js.map +0 -1
- package/dist/presentation/flow/dsl/builder/config_builder.d.ts.map +0 -1
- package/dist/presentation/flow/dsl/builder/config_builder.js.map +0 -1
- package/dist/presentation/flow/dsl/builder/ml_builder.d.ts.map +0 -1
- package/dist/presentation/flow/dsl/builder/ml_builder.js.map +0 -1
- package/dist/presentation/flow/dsl/builder/screens_builder.d.ts.map +0 -1
- package/dist/presentation/flow/dsl/builder/screens_builder.js.map +0 -1
- package/dist/presentation/flow/dsl/builder/theme_builder.d.ts.map +0 -1
- package/dist/presentation/flow/dsl/builder/theme_builder.js.map +0 -1
- package/dist/presentation/flow/dsl/flow_build_result.d.ts.map +0 -1
- package/dist/presentation/flow/dsl/flow_build_result.js.map +0 -1
- package/dist/presentation/flow/dsl/use_smile_id_builder.d.ts.map +0 -1
- package/dist/presentation/flow/dsl/use_smile_id_builder.js.map +0 -1
- package/dist/presentation/flow/dsl/use_smile_id_flow_builder.d.ts.map +0 -1
- package/dist/presentation/flow/dsl/use_smile_id_flow_builder.js.map +0 -1
- package/dist/presentation/flow/flow_navigation_context.d.ts.map +0 -1
- package/dist/presentation/flow/flow_navigation_context.js.map +0 -1
- package/dist/presentation/flow/flow_navigation_manager.d.ts.map +0 -1
- package/dist/presentation/flow/flow_navigation_manager.js.map +0 -1
- package/dist/presentation/flow/graph/screen_renderer.d.ts.map +0 -1
- package/dist/presentation/flow/graph/screen_renderer.js.map +0 -1
- package/dist/presentation/flow/job_submission_state.d.ts.map +0 -1
- package/dist/presentation/flow/job_submission_state.js.map +0 -1
- package/dist/presentation/flow/model/instruction_guideline.d.ts.map +0 -1
- package/dist/presentation/flow/model/instruction_guideline.js.map +0 -1
- package/dist/presentation/flow/model/instructions_defaults.d.ts.map +0 -1
- package/dist/presentation/flow/model/instructions_defaults.js.map +0 -1
- package/dist/presentation/flow/screen/helpers/face_session_config.d.ts.map +0 -1
- package/dist/presentation/flow/screen/helpers/face_session_config.js.map +0 -1
- package/dist/presentation/flow/screen/orchestrated_capture_screen.d.ts.map +0 -1
- package/dist/presentation/flow/screen/orchestrated_capture_screen.js.map +0 -1
- package/dist/presentation/flow/screen/orchestrated_consent_screen.d.ts.map +0 -1
- package/dist/presentation/flow/screen/orchestrated_consent_screen.js.map +0 -1
- package/dist/presentation/flow/screen/orchestrated_instructions_screen.d.ts.map +0 -1
- package/dist/presentation/flow/screen/orchestrated_instructions_screen.js.map +0 -1
- package/dist/presentation/flow/screen/orchestrated_preview_screen.d.ts.map +0 -1
- package/dist/presentation/flow/screen/orchestrated_preview_screen.js.map +0 -1
- package/dist/presentation/flow/screen/orchestrated_processing_screen.d.ts.map +0 -1
- package/dist/presentation/flow/screen/orchestrated_processing_screen.js.map +0 -1
- package/dist/presentation/flow/screen/use_smile_id_orchestrated_screen_host.d.ts.map +0 -1
- package/dist/presentation/flow/screen/use_smile_id_orchestrated_screen_host.js.map +0 -1
- package/dist/presentation/flow/screen/validation_error_screen.d.ts.map +0 -1
- package/dist/presentation/flow/screen/validation_error_screen.js.map +0 -1
- package/dist/presentation/flow/use_smile_id_flow.d.ts.map +0 -1
- package/dist/presentation/flow/use_smile_id_flow.js.map +0 -1
- package/dist/presentation/flow/validation/flow_validator.d.ts.map +0 -1
- package/dist/presentation/flow/validation/flow_validator.js.map +0 -1
- package/dist/presentation/flow/validation/job_type_validator.d.ts.map +0 -1
- package/dist/presentation/flow/validation/job_type_validator.js.map +0 -1
- package/dist/presentation/flow/validation/user_details_validator.d.ts.map +0 -1
- package/dist/presentation/flow/validation/user_details_validator.js.map +0 -1
- package/dist/presentation/flow/validation/validation_state.d.ts.map +0 -1
- package/dist/presentation/flow/validation/validation_state.js.map +0 -1
- package/dist/presentation/screen/helpers/capture_screen_helpers.d.ts.map +0 -1
- package/dist/presentation/screen/helpers/capture_screen_helpers.js.map +0 -1
- package/dist/presentation/screen/helpers/capture_ui_state.d.ts.map +0 -1
- package/dist/presentation/screen/helpers/capture_ui_state.js.map +0 -1
- package/dist/presentation/screen/helpers/consent_screen_helpers.d.ts.map +0 -1
- package/dist/presentation/screen/helpers/consent_screen_helpers.js.map +0 -1
- package/dist/presentation/screen/helpers/ess_turn_haptics.d.ts.map +0 -1
- package/dist/presentation/screen/helpers/ess_turn_haptics.js.map +0 -1
- package/dist/presentation/screen/helpers/feedback_debouncer.d.ts.map +0 -1
- package/dist/presentation/screen/helpers/feedback_debouncer.js.map +0 -1
- package/dist/presentation/screen/helpers/instructions_screen_helpers.d.ts.map +0 -1
- package/dist/presentation/screen/helpers/instructions_screen_helpers.js.map +0 -1
- package/dist/presentation/screen/helpers/preview_screen_helpers.d.ts.map +0 -1
- package/dist/presentation/screen/helpers/preview_screen_helpers.js.map +0 -1
- package/dist/presentation/screen/helpers/processing_screen_helpers.d.ts.map +0 -1
- package/dist/presentation/screen/helpers/processing_screen_helpers.js.map +0 -1
- package/dist/presentation/screen/helpers/scan_state_to_overlay_state.d.ts.map +0 -1
- package/dist/presentation/screen/helpers/scan_state_to_overlay_state.js.map +0 -1
- package/dist/presentation/screen/helpers/use_capture_orientation_lock.d.ts.map +0 -1
- package/dist/presentation/screen/helpers/use_capture_orientation_lock.js.map +0 -1
- package/dist/presentation/screen/helpers/use_debounced_feedback_key.d.ts.map +0 -1
- package/dist/presentation/screen/helpers/use_debounced_feedback_key.js.map +0 -1
- package/dist/presentation/screen/use_smile_id_capture_screen.d.ts.map +0 -1
- package/dist/presentation/screen/use_smile_id_capture_screen.js.map +0 -1
- package/dist/presentation/screen/use_smile_id_consent_screen.d.ts.map +0 -1
- package/dist/presentation/screen/use_smile_id_consent_screen.js.map +0 -1
- package/dist/presentation/screen/use_smile_id_document_back_instructions.d.ts.map +0 -1
- package/dist/presentation/screen/use_smile_id_document_back_instructions.js.map +0 -1
- package/dist/presentation/screen/use_smile_id_document_preview_screen.d.ts.map +0 -1
- package/dist/presentation/screen/use_smile_id_document_preview_screen.js.map +0 -1
- package/dist/presentation/screen/use_smile_id_instructions_screen.d.ts.map +0 -1
- package/dist/presentation/screen/use_smile_id_instructions_screen.js.map +0 -1
- package/dist/presentation/screen/use_smile_id_permission_screen.d.ts.map +0 -1
- package/dist/presentation/screen/use_smile_id_permission_screen.js.map +0 -1
- package/dist/presentation/screen/use_smile_id_preview_screen.d.ts.map +0 -1
- package/dist/presentation/screen/use_smile_id_preview_screen.js.map +0 -1
- package/dist/presentation/screen/use_smile_id_processing_screen.d.ts.map +0 -1
- package/dist/presentation/screen/use_smile_id_processing_screen.js.map +0 -1
- package/dist/presentation/state/processing_state.d.ts.map +0 -1
- package/dist/presentation/state/processing_state.js.map +0 -1
- package/dist/presentation/state/use_smile_id_overlay_state.d.ts.map +0 -1
- package/dist/presentation/state/use_smile_id_overlay_state.js.map +0 -1
- package/dist/presentation/theme/theme.d.ts.map +0 -1
- package/dist/presentation/theme/theme.js.map +0 -1
- package/dist/presentation/theme/theme_context.d.ts.map +0 -1
- package/dist/presentation/theme/theme_context.js.map +0 -1
- package/dist/presentation/theme/use_smile_id_motion.d.ts.map +0 -1
- package/dist/presentation/theme/use_smile_id_motion.js.map +0 -1
- package/dist/presentation/theme/use_use_smile_id_fonts.d.ts.map +0 -1
- package/dist/presentation/theme/use_use_smile_id_fonts.js.map +0 -1
- package/dist/presentation/utils/force_max_brightness.d.ts.map +0 -1
- package/dist/presentation/utils/force_max_brightness.js.map +0 -1
- package/dist/presentation/utils/locale_utils.d.ts.map +0 -1
- package/dist/presentation/utils/locale_utils.js.map +0 -1
- package/dist/presentation/utils/use_reduced_motion.d.ts.map +0 -1
- package/dist/presentation/utils/use_reduced_motion.js.map +0 -1
- package/dist/testing/fake_face_analyzer.d.ts.map +0 -1
- package/dist/testing/fake_face_analyzer.js.map +0 -1
- package/dist/testing/index.d.ts.map +0 -1
- package/dist/testing/index.js.map +0 -1
- package/dist/testing/scenario_expectations.d.ts.map +0 -1
- package/dist/testing/scenario_expectations.js.map +0 -1
- package/dist/testing/scenario_loader.d.ts.map +0 -1
- package/dist/testing/scenario_loader.js.map +0 -1
- package/dist/testing/scripted_scan_results.d.ts.map +0 -1
- package/dist/testing/scripted_scan_results.js.map +0 -1
- package/src/__tests__/dsl.test.ts +0 -1165
- package/src/__tests__/enum_parity.test.ts +0 -84
- package/src/__tests__/react_native_mock.tsx +0 -240
- package/src/__tests__/setup_react_native.ts +0 -368
- package/src/__tests__/snapshots/__snapshots__/screens_structural.test.tsx.snap +0 -5267
- package/src/__tests__/snapshots/screens_structural.test.tsx +0 -230
- package/src/__tests__/theme.test.ts +0 -156
- package/src/camera/__tests__/camera_defaults.test.ts +0 -28
- package/src/camera/__tests__/camera_lens.test.ts +0 -18
- package/src/camera/__tests__/camera_permissions.test.ts +0 -72
- package/src/camera/__tests__/camera_system_focus.test.ts +0 -173
- package/src/camera/__tests__/document_resize_target.test.ts +0 -44
- package/src/camera/__tests__/focus_state.test.ts +0 -48
- package/src/camera/__tests__/orientation_degrees.test.ts +0 -21
- package/src/camera/__tests__/use_smile_id_camera_preview.test.tsx +0 -461
- package/src/camera/__tests__/use_smile_id_camera_system.test.ts +0 -103
- package/src/camera/__tests__/use_smile_id_frame_stream.test.ts +0 -227
- package/src/camera/__tests__/use_smile_id_frame_stream_hook.test.tsx +0 -229
- package/src/camera/camera_configuration.ts +0 -32
- package/src/camera/camera_defaults.ts +0 -28
- package/src/camera/camera_lens.ts +0 -13
- package/src/camera/camera_permissions.ts +0 -36
- package/src/camera/camera_preview_image.ts +0 -19
- package/src/camera/document_image_pipeline.ts +0 -101
- package/src/camera/document_resize_target.ts +0 -22
- package/src/camera/focus_state.ts +0 -26
- package/src/camera/orientation_degrees.ts +0 -21
- package/src/camera/use_smile_id_camera_preview.tsx +0 -256
- package/src/camera/use_smile_id_camera_system.ts +0 -236
- package/src/camera/use_smile_id_frame_stream.ts +0 -189
- package/src/core/exception/__tests__/builder_validation_exceptions.test.ts +0 -81
- package/src/core/exception/__tests__/network_exception_mapper.test.ts +0 -179
- package/src/core/exception/agent_mode_with_enhanced_liveness_exception.ts +0 -20
- package/src/core/exception/builder_validation_exception.ts +0 -40
- package/src/core/exception/capture_validation_exceptions.ts +0 -9
- package/src/core/exception/consent_validation_exceptions.ts +0 -7
- package/src/core/exception/duplicate_screen_type_exception.ts +0 -22
- package/src/core/exception/empty_screens_block_exception.ts +0 -19
- package/src/core/exception/flow_exceptions.test.ts +0 -49
- package/src/core/exception/flow_exceptions.ts +0 -43
- package/src/core/exception/index.ts +0 -74
- package/src/core/exception/invalid_consent_config_exception.ts +0 -20
- package/src/core/exception/invalid_consent_information_exception.ts +0 -21
- package/src/core/exception/invalid_document_capture_config_exception.ts +0 -22
- package/src/core/exception/invalid_field_value_exception.ts +0 -21
- package/src/core/exception/invalid_job_type_screen_config_exception.ts +0 -70
- package/src/core/exception/invalid_missing_capture_type_exception.ts +0 -19
- package/src/core/exception/invalid_screen_order_exception.ts +0 -28
- package/src/core/exception/invalid_selfie_capture_config_exception.ts +0 -22
- package/src/core/exception/issue_severity.ts +0 -14
- package/src/core/exception/job_validation_exceptions.ts +0 -11
- package/src/core/exception/liveness_frame_count_exception.ts +0 -21
- package/src/core/exception/missing_capture_for_preview_exception.ts +0 -24
- package/src/core/exception/missing_job_type_exception.ts +0 -18
- package/src/core/exception/missing_ml_configuration_block_exception.ts +0 -21
- package/src/core/exception/missing_network_configuration_block_exception.ts +0 -22
- package/src/core/exception/missing_partner_config_exception.ts +0 -38
- package/src/core/exception/missing_required_field_exception.ts +0 -19
- package/src/core/exception/screen_config_validation_exceptions.ts +0 -10
- package/src/core/exception/use_smile_id_attestation_exception.ts +0 -11
- package/src/core/exception/use_smile_id_builder_exception.ts +0 -18
- package/src/core/exception/use_smile_id_camera_exception.ts +0 -12
- package/src/core/exception/use_smile_id_error_code.ts +0 -84
- package/src/core/exception/use_smile_id_exception.ts +0 -52
- package/src/core/exception/use_smile_id_general_exception.ts +0 -12
- package/src/core/exception/use_smile_id_network_exception.ts +0 -279
- package/src/core/exception/use_smile_id_validation_exception.ts +0 -12
- package/src/core/models/__tests__/document_capture_mode.test.ts +0 -43
- package/src/core/models/__tests__/document_type.test.ts +0 -66
- package/src/core/models/__tests__/flow_models.test.ts +0 -26
- package/src/core/models/__tests__/job_type.test.ts +0 -48
- package/src/core/models/config.ts +0 -58
- package/src/core/models/document_capture_mode.ts +0 -73
- package/src/core/models/document_type.ts +0 -79
- package/src/core/models/flow_step.ts +0 -17
- package/src/core/models/global_privacy_control.ts +0 -45
- package/src/core/models/head_turn_direction.ts +0 -15
- package/src/core/models/job_type.ts +0 -53
- package/src/core/models/ml_config.ts +0 -47
- package/src/core/models/network_config.ts +0 -138
- package/src/core/models/params.ts +0 -98
- package/src/core/models/result.test.ts +0 -20
- package/src/core/models/result.ts +0 -33
- package/src/data/api/__tests__/smile_id_api.test.ts +0 -1471
- package/src/data/api/auth/token_holder.ts +0 -72
- package/src/data/api/interceptors/__tests__/credential_header_redaction.test.ts +0 -144
- package/src/data/api/interceptors/__tests__/gzip_interceptor.test.ts +0 -83
- package/src/data/api/interceptors/__tests__/logging_interceptor.test.ts +0 -252
- package/src/data/api/interceptors/__tests__/sensitive_headers.test.ts +0 -29
- package/src/data/api/interceptors/__tests__/smile_integrity_interceptor.test.ts +0 -192
- package/src/data/api/interceptors/__tests__/smile_request_mac_interceptor.test.ts +0 -156
- package/src/data/api/interceptors/__tests__/token_refresh_interceptor.test.ts +0 -173
- package/src/data/api/interceptors/gzip_interceptor.ts +0 -31
- package/src/data/api/interceptors/logging_interceptor.ts +0 -155
- package/src/data/api/interceptors/sensitive_headers.ts +0 -46
- package/src/data/api/interceptors/smile_auth_interceptor.ts +0 -73
- package/src/data/api/interceptors/smile_integrity_interceptor.ts +0 -99
- package/src/data/api/interceptors/smile_request_mac_interceptor.ts +0 -106
- package/src/data/api/interceptors/token_refresh_interceptor.ts +0 -122
- package/src/data/api/smile_id_api.ts +0 -475
- package/src/data/compression/__tests__/payload_compressor.test.ts +0 -200
- package/src/data/compression/__tests__/payload_compressor_real_jpeg.test.ts +0 -226
- package/src/data/compression/compressible_asset.ts +0 -62
- package/src/data/compression/payload_compression_config.ts +0 -53
- package/src/data/compression/payload_compression_runner.ts +0 -102
- package/src/data/compression/payload_compressor.ts +0 -164
- package/src/data/compression/uri_compressible_asset.ts +0 -85
- package/src/data/dsl/__tests__/use_smile_id_network_builder.test.ts +0 -157
- package/src/data/dsl/builder/__tests__/config_builders.test.ts +0 -62
- package/src/data/dsl/builder/__tests__/interceptor_config_builder.test.ts +0 -173
- package/src/data/dsl/builder/cache_config_builder.ts +0 -28
- package/src/data/dsl/builder/config_builder.ts +0 -156
- package/src/data/dsl/builder/interceptor_config_builder.ts +0 -83
- package/src/data/dsl/builder/retry_config_builder.ts +0 -57
- package/src/data/dsl/builder/timeout_config_builder.ts +0 -31
- package/src/data/dsl/use_smile_id_network_builder.ts +0 -86
- package/src/data/factory/__tests__/networking_factory_order.test.ts +0 -201
- package/src/data/factory/__tests__/retry_gzip_mac_composition.test.ts +0 -163
- package/src/data/factory/__tests__/signed_job_submission_headers.test.ts +0 -110
- package/src/data/factory/networking_factory.ts +0 -201
- package/src/data/model/__tests__/sdk_config.test.ts +0 -85
- package/src/data/model/__tests__/sdk_config_capture.test.ts +0 -140
- package/src/data/model/__tests__/token_payload.test.ts +0 -224
- package/src/data/model/__tests__/user_details_payload.test.ts +0 -100
- package/src/data/model/image_dimensions.ts +0 -15
- package/src/data/model/job_request.ts +0 -165
- package/src/data/model/job_submission_response.ts +0 -17
- package/src/data/model/sdk_config.ts +0 -74
- package/src/data/model/sdk_config_capture.ts +0 -78
- package/src/data/model/sdk_config_source.ts +0 -26
- package/src/data/model/token_payload.ts +0 -182
- package/src/data/model/user_details_payload.ts +0 -84
- package/src/data/repository/__tests__/network_retries.test.ts +0 -117
- package/src/data/repository/__tests__/repository_dispatch.test.ts +0 -366
- package/src/data/repository/__tests__/use_smile_id_repository.test.ts +0 -118
- package/src/data/repository/use_smile_id_repository.ts +0 -19
- package/src/data/repository/use_smile_id_repository_impl.ts +0 -181
- package/src/data/security/__tests__/request_canonicalizer.test.ts +0 -132
- package/src/data/security/__tests__/security_policy.test.ts +0 -96
- package/src/data/security/__tests__/signing_crypto.test.ts +0 -203
- package/src/data/security/__tests__/smile_id_crypto_manager.test.ts +0 -176
- package/src/data/security/request_canonicalizer.ts +0 -161
- package/src/data/security/request_timestamp.ts +0 -12
- package/src/data/security/security_policy.ts +0 -70
- package/src/data/security/signing_crypto.ts +0 -219
- package/src/data/security/smile_id_crypto_error.ts +0 -13
- package/src/data/security/smile_id_crypto_manager.ts +0 -46
- package/src/data/smile_id_urls.ts +0 -13
- package/src/data/util/__tests__/retry_util.test.ts +0 -182
- package/src/data/util/__tests__/use_smile_id_token_decoder.test.ts +0 -430
- package/src/data/util/retry_util.ts +0 -81
- package/src/data/util/use_smile_id_token_decoder.ts +0 -207
- package/src/index.ts +0 -514
- package/src/l10n/__tests__/use_smile_id_localizations.test.ts +0 -244
- package/src/l10n/__tests__/use_smile_id_localizations_provider.test.tsx +0 -112
- package/src/l10n/__tests__/use_smile_id_localizations_surface.test.ts +0 -231
- package/src/l10n/strings_en.ts +0 -176
- package/src/l10n/use_smile_id_localizations.ts +0 -768
- package/src/l10n/use_smile_id_localizations_provider.tsx +0 -71
- package/src/metadata/__tests__/device_orientation_collector.test.ts +0 -15
- package/src/metadata/__tests__/device_orientation_sampling.test.ts +0 -165
- package/src/metadata/__tests__/geolocation.test.ts +0 -150
- package/src/metadata/__tests__/metadata_configuration_mappers.test.ts +0 -254
- package/src/metadata/__tests__/metadata_configuration_objects.test.ts +0 -86
- package/src/metadata/__tests__/metadata_device_context.test.ts +0 -147
- package/src/metadata/__tests__/metadata_device_os_android.test.ts +0 -18
- package/src/metadata/__tests__/metadata_golden_fixture.json +0 -13
- package/src/metadata/__tests__/metadata_payload_golden.test.ts +0 -193
- package/src/metadata/__tests__/optional_native_modules.test.ts +0 -234
- package/src/metadata/__tests__/use_smile_id_metadata.test.ts +0 -430
- package/src/metadata/__tests__/use_smile_id_metadata_factory.test.ts +0 -615
- package/src/metadata/builder_configuration.ts +0 -69
- package/src/metadata/captured_image_properties.ts +0 -10
- package/src/metadata/device_orientation_collector.ts +0 -75
- package/src/metadata/document_image_origin.ts +0 -22
- package/src/metadata/geolocation.ts +0 -46
- package/src/metadata/metadata_configuration_mappers.ts +0 -248
- package/src/metadata/model_configuration.ts +0 -68
- package/src/metadata/optional_native_modules.ts +0 -274
- package/src/metadata/use_smile_id_metadata.ts +0 -305
- package/src/metadata/use_smile_id_metadata_factory.ts +0 -580
- package/src/presentation/assets/si_document_green_book_hero_animation.json +0 -1
- package/src/presentation/assets/si_document_hero_animation.json +0 -1
- package/src/presentation/assets/si_document_hero_back_animation.json +0 -1
- package/src/presentation/assets/si_document_passport_hero_animation.json +0 -1
- package/src/presentation/assets/si_ess_all_directions_hero_animation.json +0 -1
- package/src/presentation/assets/si_ess_animation_all_directions.json +0 -1
- package/src/presentation/assets/si_selfie_hero_animation.json +0 -1
- package/src/presentation/assets/si_smile_to_capture_animation.json +0 -1
- package/src/presentation/assets/svg/document_shimmer_strings.ts +0 -17
- package/src/presentation/assets/svg/instruction_svg_strings.ts +0 -54
- package/src/presentation/assets/svg/svg_strings.ts +0 -158
- package/src/presentation/components/__tests__/capture_instruction_animation_spec.test.ts +0 -49
- package/src/presentation/components/__tests__/enhanced_smart_selfie_animation_frames.test.ts +0 -89
- package/src/presentation/components/__tests__/use_smile_id_capture_content.test.tsx +0 -348
- package/src/presentation/components/__tests__/use_smile_id_confirmation_buttons.test.tsx +0 -131
- package/src/presentation/components/__tests__/use_smile_id_content_card.test.tsx +0 -112
- package/src/presentation/components/__tests__/use_smile_id_enhanced_smart_selfie_clip.test.tsx +0 -256
- package/src/presentation/components/__tests__/use_smile_id_enhanced_smart_selfie_direction_animation.test.tsx +0 -138
- package/src/presentation/components/__tests__/use_smile_id_face_oval_image.test.tsx +0 -190
- package/src/presentation/components/__tests__/use_smile_id_face_overlay.test.tsx +0 -211
- package/src/presentation/components/__tests__/use_smile_id_guideline_thumbnail.test.tsx +0 -112
- package/src/presentation/components/__tests__/use_smile_id_instructions_hero.test.tsx +0 -150
- package/src/presentation/components/__tests__/use_smile_id_learn_more_content.test.tsx +0 -159
- package/src/presentation/components/__tests__/use_smile_id_loading_indicator.test.tsx +0 -45
- package/src/presentation/components/__tests__/use_smile_id_oval_border_palette.test.ts +0 -103
- package/src/presentation/components/__tests__/use_smile_id_processing_center_indicator.test.tsx +0 -88
- package/src/presentation/components/face_oval_defaults.ts +0 -51
- package/src/presentation/components/helpers/__tests__/scaled_oval_geometry.test.ts +0 -69
- package/src/presentation/components/helpers/animated_lottie_view.ts +0 -9
- package/src/presentation/components/helpers/capture_instruction_animation_spec.ts +0 -77
- package/src/presentation/components/helpers/enhanced_smart_selfie_animation_frames.ts +0 -64
- package/src/presentation/components/helpers/scaled_oval_geometry.ts +0 -44
- package/src/presentation/components/icons/index.tsx +0 -334
- package/src/presentation/components/status_indicator_state.ts +0 -21
- package/src/presentation/components/use_smile_id_attribution.tsx +0 -48
- package/src/presentation/components/use_smile_id_back_button.tsx +0 -59
- package/src/presentation/components/use_smile_id_button.tsx +0 -98
- package/src/presentation/components/use_smile_id_capture_content.tsx +0 -368
- package/src/presentation/components/use_smile_id_capture_instruction_animation.tsx +0 -84
- package/src/presentation/components/use_smile_id_capture_spinner.tsx +0 -63
- package/src/presentation/components/use_smile_id_captured_document_image.tsx +0 -81
- package/src/presentation/components/use_smile_id_captured_image_oval.tsx +0 -151
- package/src/presentation/components/use_smile_id_card_surface.tsx +0 -54
- package/src/presentation/components/use_smile_id_confirmation_buttons.tsx +0 -123
- package/src/presentation/components/use_smile_id_consent_row.tsx +0 -58
- package/src/presentation/components/use_smile_id_content_card.tsx +0 -65
- package/src/presentation/components/use_smile_id_document_capture_controls.tsx +0 -219
- package/src/presentation/components/use_smile_id_document_overlay.tsx +0 -335
- package/src/presentation/components/use_smile_id_document_shimmer.tsx +0 -51
- package/src/presentation/components/use_smile_id_enhanced_smart_selfie_clip.tsx +0 -155
- package/src/presentation/components/use_smile_id_enhanced_smart_selfie_direction_animation.tsx +0 -46
- package/src/presentation/components/use_smile_id_enhanced_smart_selfie_full_animation.tsx +0 -29
- package/src/presentation/components/use_smile_id_expandable_icon.tsx +0 -102
- package/src/presentation/components/use_smile_id_face_oval_image.tsx +0 -90
- package/src/presentation/components/use_smile_id_face_overlay.tsx +0 -387
- package/src/presentation/components/use_smile_id_failed_content.tsx +0 -94
- package/src/presentation/components/use_smile_id_guideline_thumbnail.tsx +0 -263
- package/src/presentation/components/use_smile_id_instructions_hero.tsx +0 -296
- package/src/presentation/components/use_smile_id_learn_more_content.tsx +0 -115
- package/src/presentation/components/use_smile_id_loading_content.tsx +0 -54
- package/src/presentation/components/use_smile_id_loading_indicator.tsx +0 -81
- package/src/presentation/components/use_smile_id_oval_border_palette.ts +0 -64
- package/src/presentation/components/use_smile_id_partner_icon.tsx +0 -56
- package/src/presentation/components/use_smile_id_processing_center_indicator.tsx +0 -77
- package/src/presentation/components/use_smile_id_rounded_checkbox.tsx +0 -67
- package/src/presentation/components/use_smile_id_status_indicator.tsx +0 -44
- package/src/presentation/components/use_smile_id_success_content.tsx +0 -76
- package/src/presentation/flow/__tests__/document_flow_navigation.test.ts +0 -484
- package/src/presentation/flow/__tests__/flow_navigation_manager.test.ts +0 -1534
- package/src/presentation/flow/__tests__/use_smile_id_flow.test.tsx +0 -651
- package/src/presentation/flow/analytics/__tests__/use_smile_id_analytics_event.test.ts +0 -105
- package/src/presentation/flow/analytics/use_smile_id_analytics_event.ts +0 -83
- package/src/presentation/flow/config/flow_configuration.ts +0 -12
- package/src/presentation/flow/dsl/__tests__/use_smile_id_builder_component.test.tsx +0 -120
- package/src/presentation/flow/dsl/builder/__tests__/config_builder.test.ts +0 -25
- package/src/presentation/flow/dsl/builder/__tests__/ml_builder.test.ts +0 -161
- package/src/presentation/flow/dsl/builder/__tests__/theme_builder.test.ts +0 -102
- package/src/presentation/flow/dsl/builder/config_builder.ts +0 -57
- package/src/presentation/flow/dsl/builder/ml_builder.ts +0 -210
- package/src/presentation/flow/dsl/builder/screens_builder.ts +0 -276
- package/src/presentation/flow/dsl/builder/theme_builder.ts +0 -119
- package/src/presentation/flow/dsl/flow_build_result.ts +0 -37
- package/src/presentation/flow/dsl/use_smile_id_builder.tsx +0 -125
- package/src/presentation/flow/dsl/use_smile_id_flow_builder.ts +0 -454
- package/src/presentation/flow/flow_navigation_context.tsx +0 -50
- package/src/presentation/flow/flow_navigation_manager.ts +0 -1166
- package/src/presentation/flow/graph/__tests__/screen_renderer.test.tsx +0 -102
- package/src/presentation/flow/graph/screen_renderer.tsx +0 -35
- package/src/presentation/flow/job_submission_state.ts +0 -17
- package/src/presentation/flow/model/instruction_guideline.ts +0 -21
- package/src/presentation/flow/model/instructions_defaults.ts +0 -198
- package/src/presentation/flow/screen/__tests__/orchestrated_capture_screen.test.tsx +0 -836
- package/src/presentation/flow/screen/__tests__/orchestrated_consent_screen.test.tsx +0 -165
- package/src/presentation/flow/screen/__tests__/orchestrated_instructions_screen.test.tsx +0 -163
- package/src/presentation/flow/screen/__tests__/orchestrated_preview_screen.test.tsx +0 -224
- package/src/presentation/flow/screen/__tests__/orchestrated_processing_screen.test.tsx +0 -338
- package/src/presentation/flow/screen/helpers/__tests__/face_session_config.test.ts +0 -115
- package/src/presentation/flow/screen/helpers/face_session_config.ts +0 -77
- package/src/presentation/flow/screen/orchestrated_capture_screen.tsx +0 -344
- package/src/presentation/flow/screen/orchestrated_consent_screen.tsx +0 -71
- package/src/presentation/flow/screen/orchestrated_instructions_screen.tsx +0 -103
- package/src/presentation/flow/screen/orchestrated_preview_screen.tsx +0 -62
- package/src/presentation/flow/screen/orchestrated_processing_screen.tsx +0 -148
- package/src/presentation/flow/screen/use_smile_id_orchestrated_screen_host.tsx +0 -39
- package/src/presentation/flow/screen/validation_error_screen.tsx +0 -147
- package/src/presentation/flow/use_smile_id_flow.tsx +0 -389
- package/src/presentation/flow/validation/__tests__/flow_validator.test.ts +0 -616
- package/src/presentation/flow/validation/__tests__/job_type_validator.test.ts +0 -968
- package/src/presentation/flow/validation/flow_validator.ts +0 -461
- package/src/presentation/flow/validation/job_type_validator.ts +0 -703
- package/src/presentation/flow/validation/user_details_validator.ts +0 -53
- package/src/presentation/flow/validation/validation_state.ts +0 -65
- package/src/presentation/screen/__tests__/capture_screen_helpers.test.ts +0 -112
- package/src/presentation/screen/__tests__/capture_ui_state.test.ts +0 -398
- package/src/presentation/screen/__tests__/consent_screen_helpers.test.ts +0 -63
- package/src/presentation/screen/__tests__/ess_turn_haptics.test.ts +0 -82
- package/src/presentation/screen/__tests__/feedback_copy_table.test.ts +0 -145
- package/src/presentation/screen/__tests__/feedback_debouncer.test.ts +0 -111
- package/src/presentation/screen/__tests__/instructions_screen_helpers.test.ts +0 -154
- package/src/presentation/screen/__tests__/preview_screen_helpers.test.ts +0 -53
- package/src/presentation/screen/__tests__/processing_screen_helpers.test.ts +0 -39
- package/src/presentation/screen/__tests__/scan_state_to_overlay_state.test.ts +0 -223
- package/src/presentation/screen/__tests__/use_smile_id_capture_screen.test.tsx +0 -1128
- package/src/presentation/screen/__tests__/use_smile_id_consent_screen.test.tsx +0 -288
- package/src/presentation/screen/__tests__/use_smile_id_document_back_instructions.test.tsx +0 -138
- package/src/presentation/screen/__tests__/use_smile_id_instructions_screen.test.tsx +0 -245
- package/src/presentation/screen/__tests__/use_smile_id_permission_screen.test.tsx +0 -68
- package/src/presentation/screen/__tests__/use_smile_id_preview_screen.test.tsx +0 -193
- package/src/presentation/screen/__tests__/use_smile_id_processing_screen.test.tsx +0 -333
- package/src/presentation/screen/helpers/__tests__/use_capture_orientation_lock.test.tsx +0 -212
- package/src/presentation/screen/helpers/capture_screen_helpers.ts +0 -153
- package/src/presentation/screen/helpers/capture_ui_state.ts +0 -298
- package/src/presentation/screen/helpers/consent_screen_helpers.ts +0 -106
- package/src/presentation/screen/helpers/ess_turn_haptics.ts +0 -67
- package/src/presentation/screen/helpers/feedback_debouncer.ts +0 -89
- package/src/presentation/screen/helpers/instructions_screen_helpers.ts +0 -113
- package/src/presentation/screen/helpers/preview_screen_helpers.ts +0 -41
- package/src/presentation/screen/helpers/processing_screen_helpers.ts +0 -27
- package/src/presentation/screen/helpers/scan_state_to_overlay_state.ts +0 -131
- package/src/presentation/screen/helpers/use_capture_orientation_lock.ts +0 -108
- package/src/presentation/screen/helpers/use_debounced_feedback_key.ts +0 -52
- package/src/presentation/screen/use_smile_id_capture_screen.tsx +0 -912
- package/src/presentation/screen/use_smile_id_consent_screen.tsx +0 -393
- package/src/presentation/screen/use_smile_id_document_back_instructions.tsx +0 -125
- package/src/presentation/screen/use_smile_id_document_preview_screen.tsx +0 -152
- package/src/presentation/screen/use_smile_id_instructions_screen.tsx +0 -198
- package/src/presentation/screen/use_smile_id_permission_screen.tsx +0 -52
- package/src/presentation/screen/use_smile_id_preview_screen.tsx +0 -127
- package/src/presentation/screen/use_smile_id_processing_screen.tsx +0 -223
- package/src/presentation/state/__tests__/use_smile_id_overlay_state.test.ts +0 -30
- package/src/presentation/state/processing_state.ts +0 -19
- package/src/presentation/state/use_smile_id_overlay_state.ts +0 -70
- package/src/presentation/theme/__tests__/use_use_smile_id_fonts.test.tsx +0 -166
- package/src/presentation/theme/theme.ts +0 -401
- package/src/presentation/theme/theme_context.tsx +0 -45
- package/src/presentation/theme/use_smile_id_motion.ts +0 -12
- package/src/presentation/theme/use_use_smile_id_fonts.ts +0 -71
- package/src/presentation/utils/__tests__/force_max_brightness.test.tsx +0 -237
- package/src/presentation/utils/__tests__/locale_utils.test.ts +0 -78
- package/src/presentation/utils/force_max_brightness.tsx +0 -113
- package/src/presentation/utils/locale_utils.ts +0 -80
- package/src/presentation/utils/use_reduced_motion.ts +0 -26
- package/src/testing/__tests__/fake_face_analyzer.test.ts +0 -42
- package/src/testing/__tests__/scenario_expectations.test.ts +0 -110
- package/src/testing/__tests__/scenario_loader.test.ts +0 -64
- package/src/testing/fake_face_analyzer.ts +0 -82
- package/src/testing/index.ts +0 -15
- package/src/testing/scenario_expectations.ts +0 -87
- package/src/testing/scenario_loader.ts +0 -83
- package/src/testing/scripted_scan_results.ts +0 -66
- /package/{src → dist}/presentation/assets/fonts/DMSans-Bold.ttf +0 -0
- /package/{src → dist}/presentation/assets/fonts/DMSans-ExtraBold.ttf +0 -0
- /package/{src → dist}/presentation/assets/fonts/DMSans-Medium.ttf +0 -0
- /package/{src → dist}/presentation/assets/fonts/DMSans-Regular.ttf +0 -0
- /package/{src → dist}/presentation/assets/fonts/DMSans-SemiBold.ttf +0 -0
- /package/{src → dist}/presentation/assets/fonts/OFL.txt +0 -0
- /package/{src → dist}/presentation/assets/si_dark_lighting_animation.json +0 -0
- /package/{src → dist}/presentation/assets/si_device_orientation_animation.json +0 -0
- /package/{src → dist}/presentation/assets/svg/si_attribution.svg +0 -0
- /package/{src → dist}/presentation/assets/svg/si_attribution_dark.svg +0 -0
- /package/{src → dist}/presentation/assets/svg/si_checkbox_check.svg +0 -0
- /package/{src → dist}/presentation/assets/svg/si_consent_biometric.svg +0 -0
- /package/{src → dist}/presentation/assets/svg/si_consent_biometric_dark.svg +0 -0
- /package/{src → dist}/presentation/assets/svg/si_consent_contact.svg +0 -0
- /package/{src → dist}/presentation/assets/svg/si_consent_contact_dark.svg +0 -0
- /package/{src → dist}/presentation/assets/svg/si_consent_device.svg +0 -0
- /package/{src → dist}/presentation/assets/svg/si_consent_device_dark.svg +0 -0
- /package/{src → dist}/presentation/assets/svg/si_consent_personal.svg +0 -0
- /package/{src → dist}/presentation/assets/svg/si_consent_personal_dark.svg +0 -0
- /package/{src → dist}/presentation/assets/svg/si_expand_more.svg +0 -0
- /package/{src → dist}/presentation/assets/svg/si_plus.svg +0 -0
- /package/{src → dist}/presentation/assets/svg/si_smile_consent_icon.svg +0 -0
|
@@ -1,297 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { useEffect, useMemo, useReducer, useRef, useState } from "react";
|
|
3
|
-
import { AppState, Text, useColorScheme, View } from "react-native";
|
|
4
|
-
import { FlowNavigationManager, } from "./flow_navigation_manager";
|
|
5
|
-
import { FlowNavigationProvider } from "./flow_navigation_context";
|
|
6
|
-
import { ScreenRenderer } from "./graph/screen_renderer";
|
|
7
|
-
import { defaultDarkTheme, defaultLightTheme } from "../theme/theme";
|
|
8
|
-
import { UseSmileIDThemeProvider } from "../theme/theme_context";
|
|
9
|
-
import { useUseSmileIDFonts } from "../theme/use_use_smile_id_fonts";
|
|
10
|
-
import { UseSmileIDCrashReporting } from "@smileid/usesmileid_bridge";
|
|
11
|
-
import { generateSessionId } from "../../metadata/use_smile_id_metadata_factory";
|
|
12
|
-
import { UseSmileIDLocalizationsProvider } from "../../l10n/use_smile_id_localizations_provider";
|
|
13
|
-
import { UseSmileIDLocalizations } from "../../l10n/use_smile_id_localizations";
|
|
14
|
-
import { cancelled, failure, success, } from "../../core/models/result";
|
|
15
|
-
import { ValidationErrorScreen } from "./screen/validation_error_screen";
|
|
16
|
-
import { BuilderValidationException } from "../../core/exception/builder_validation_exception";
|
|
17
|
-
import { makeNetworkingFactory } from "../../data/factory/networking_factory";
|
|
18
|
-
import { UseSmileIDRepositoryImpl } from "../../data/repository/use_smile_id_repository_impl";
|
|
19
|
-
import { RetryStrategy, } from "../../core/models/network_config";
|
|
20
|
-
/**
|
|
21
|
-
* Default retry policy when partner omits `b.network((n) => n.retry(...))`.
|
|
22
|
-
* Matches the `RetryConfigBuilder` defaults so behaviour stays consistent
|
|
23
|
-
* whether the partner constructs `network.retry` explicitly or not.
|
|
24
|
-
*/
|
|
25
|
-
const DEFAULT_RETRY = Object.freeze({
|
|
26
|
-
maxAttempts: 1,
|
|
27
|
-
strategy: RetryStrategy.none,
|
|
28
|
-
initialDelay: 1,
|
|
29
|
-
multiplier: 2,
|
|
30
|
-
maxDelay: 32,
|
|
31
|
-
jitter: 0.2,
|
|
32
|
-
fixedDelay: 1,
|
|
33
|
-
});
|
|
34
|
-
/**
|
|
35
|
-
* Routes the validation failure through the partner's `onResult`
|
|
36
|
-
* after first paint. When `enableDebugMode` is set on the builder,
|
|
37
|
-
* additionally renders [ValidationErrorScreen] with every failed
|
|
38
|
-
* rule so the partner has a complete picture during development.
|
|
39
|
-
* Production renders nothing — `onResult.failure` is the only
|
|
40
|
-
* surface partners see.
|
|
41
|
-
*
|
|
42
|
-
* `onResult` and `enableDebugMode` are passed in as separate props
|
|
43
|
-
* (sourced from the builder reference by `<UseSmileIDBuilder>`) rather
|
|
44
|
-
* than embedded on the `result`.
|
|
45
|
-
*
|
|
46
|
-
* @internal Used by `<UseSmileIDBuilder>`.
|
|
47
|
-
*/
|
|
48
|
-
export function FlowInvalidDispatcher({ result, onResult, enableDebugMode, }) {
|
|
49
|
-
const onResultRef = useRef(onResult);
|
|
50
|
-
onResultRef.current = onResult;
|
|
51
|
-
const validationRef = useRef(result.validation);
|
|
52
|
-
validationRef.current = result.validation;
|
|
53
|
-
useEffect(() => {
|
|
54
|
-
// Wrap the typed validation state in a BuilderValidationException
|
|
55
|
-
// so partner code receiving the failure via onResult.failure can
|
|
56
|
-
// inspect every rule that failed via `error.validationState.issues`,
|
|
57
|
-
// not only the first. The exception itself extends Error, so
|
|
58
|
-
// `instanceof Error` checks keep working.
|
|
59
|
-
const error = new BuilderValidationException(validationRef.current);
|
|
60
|
-
try {
|
|
61
|
-
onResultRef.current(failure(error));
|
|
62
|
-
}
|
|
63
|
-
catch (handlerError) {
|
|
64
|
-
UseSmileIDCrashReporting.captureException(handlerError);
|
|
65
|
-
}
|
|
66
|
-
}, []);
|
|
67
|
-
if (enableDebugMode) {
|
|
68
|
-
return _jsx(ValidationErrorScreen, { validationState: result.validation });
|
|
69
|
-
}
|
|
70
|
-
return null;
|
|
71
|
-
}
|
|
72
|
-
/** Ceiling on the first-frame font wait — past it the flow renders regardless. */
|
|
73
|
-
const FONT_REGISTRATION_TIMEOUT_MS = 1000;
|
|
74
|
-
/**
|
|
75
|
-
* Walks the partner through the configured screen list, dispatches
|
|
76
|
-
* frames to the chosen analyzer, submits the resulting artifacts, and
|
|
77
|
-
* notifies the partner via `configuration.onResult`.
|
|
78
|
-
*
|
|
79
|
-
* **What's wired today:**
|
|
80
|
-
* - `FlowNavigationManager` cursor — `navigateToNext()` /
|
|
81
|
-
* `navigateBack()` advance the screen index and subscribers re-render.
|
|
82
|
-
* - Crash reporting lifecycle — `enable()` on mount when
|
|
83
|
-
* `configuration.config.enableCrashReporting !== false`, `disable()`
|
|
84
|
-
* on unmount.
|
|
85
|
-
* - Localizations resolution — explicit override → device-locale
|
|
86
|
-
* auto-resolve → English defaults.
|
|
87
|
-
* - Exit handling — converts `FlowExitReason` to `UseSmileIDResult`
|
|
88
|
-
* and calls `configuration.onResult` (wrapped in try/catch routing
|
|
89
|
-
* partner-handler exceptions through crash reporting).
|
|
90
|
-
*
|
|
91
|
-
* **Still stub:** the screen visuals themselves (see `screens/*.tsx`)
|
|
92
|
-
* and the analyzer-dispatch + job-submission pipeline. Cursor moves
|
|
93
|
-
* end-to-end today; analyzer wire-up is the next milestone.
|
|
94
|
-
*
|
|
95
|
-
* @internal Used by `<UseSmileIDBuilder>`.
|
|
96
|
-
*/
|
|
97
|
-
export function FlowSuccessRenderer({ configuration, }) {
|
|
98
|
-
// System color-scheme picks the variant. The partner-supplied theme
|
|
99
|
-
// bundle carries both light and dark resolved tokens; SDK defaults
|
|
100
|
-
// are used when the partner skips `b.theme((t) => …)`.
|
|
101
|
-
const systemScheme = useColorScheme();
|
|
102
|
-
const isDark = systemScheme === "dark";
|
|
103
|
-
const theme = configuration.theme
|
|
104
|
-
? isDark
|
|
105
|
-
? configuration.theme.dark
|
|
106
|
-
: configuration.theme.light
|
|
107
|
-
: isDark
|
|
108
|
-
? defaultDarkTheme
|
|
109
|
-
: defaultLightTheme;
|
|
110
|
-
// The first frame waits on font registration: a label laid out in the system font and re-measured in DM Sans can settle clipped.
|
|
111
|
-
const fontsLoaded = useUseSmileIDFonts();
|
|
112
|
-
const [fontWaitElapsed, setFontWaitElapsed] = useState(false);
|
|
113
|
-
useEffect(() => {
|
|
114
|
-
if (fontsLoaded)
|
|
115
|
-
return;
|
|
116
|
-
const timer = setTimeout(() => setFontWaitElapsed(true), FONT_REGISTRATION_TIMEOUT_MS);
|
|
117
|
-
return () => clearTimeout(timer);
|
|
118
|
-
}, [fontsLoaded]);
|
|
119
|
-
const enableCrashReporting = configuration.config?.enableCrashReporting !== false;
|
|
120
|
-
// Sandbox sessions are test traffic and must not pollute the production
|
|
121
|
-
// Sentry project; the reporter also drops debug bundles internally.
|
|
122
|
-
const useSandbox = configuration.network?.config?.partnerConfig?.useSandbox === true;
|
|
123
|
-
// Per-flow session id used as the Sentry user-id so every event
|
|
124
|
-
// captured during this verification flow correlates under one issue
|
|
125
|
-
// thread. Generated once per mount; survives re-renders via `useRef`
|
|
126
|
-
// — useMemo would re-run if React decided to swap the inner element
|
|
127
|
-
// identity, but the id must outlive any render churn.
|
|
128
|
-
const flowSessionIdRef = useRef(null);
|
|
129
|
-
if (flowSessionIdRef.current === null) {
|
|
130
|
-
flowSessionIdRef.current = generateSessionId();
|
|
131
|
-
}
|
|
132
|
-
useEffect(() => {
|
|
133
|
-
if (enableCrashReporting) {
|
|
134
|
-
// Tear down any prior client first so a changed useSandbox flag takes
|
|
135
|
-
// effect — enable() short-circuits when already enabled.
|
|
136
|
-
UseSmileIDCrashReporting.disable();
|
|
137
|
-
UseSmileIDCrashReporting.enable({ useSandbox });
|
|
138
|
-
UseSmileIDCrashReporting.setUserId(flowSessionIdRef.current);
|
|
139
|
-
UseSmileIDCrashReporting.captureBreadcrumb({
|
|
140
|
-
category: "flow.navigation",
|
|
141
|
-
message: "flow mounted",
|
|
142
|
-
});
|
|
143
|
-
}
|
|
144
|
-
return () => {
|
|
145
|
-
UseSmileIDCrashReporting.disable();
|
|
146
|
-
};
|
|
147
|
-
}, [enableCrashReporting, useSandbox]);
|
|
148
|
-
// `onResult` lives in a ref so the manager's `onExit` closure
|
|
149
|
-
// captures the latest partner callback without recreating the
|
|
150
|
-
// manager on every parent render.
|
|
151
|
-
const onResultRef = useRef(configuration.onResult);
|
|
152
|
-
onResultRef.current = configuration.onResult;
|
|
153
|
-
// Latched by `handleExit` so an unmounted-before-finishing flow can deliver exactly once.
|
|
154
|
-
const finishedRef = useRef(false);
|
|
155
|
-
// Force-update reducer drives re-renders when the manager's cursor
|
|
156
|
-
// or captured artifacts change. Cheaper than mirroring state into
|
|
157
|
-
// React state — the manager is the single source of truth.
|
|
158
|
-
const [, forceUpdate] = useReducer((x) => x + 1, 0);
|
|
159
|
-
// Repository is built once per `network` config — partner-supplied
|
|
160
|
-
// `partnerConfig` is required (the auth interceptor stamps the
|
|
161
|
-
// partner-supplied `token` and `partnerId` onto every request).
|
|
162
|
-
// When omitted, the
|
|
163
|
-
// manager surfaces a `failure` state from `_assembleJob` rather
|
|
164
|
-
// than crashing on construction; this lets capture-only / UI-only
|
|
165
|
-
// smoke harnesses mount `<UseSmileIDBuilder>` without network.
|
|
166
|
-
// Repository + the per-flow metadata provider are built together
|
|
167
|
-
// from a single `makeNetworkingFactory` call so they share one
|
|
168
|
-
// metadata factory (stable `session_id` across every submission).
|
|
169
|
-
// The provider is handed to the manager, which stamps a fresh
|
|
170
|
-
// snapshot onto each assembled `JobRequest`; the repository's API
|
|
171
|
-
// layer then serializes `request.metadata` as the `metadata`
|
|
172
|
-
// multipart part.
|
|
173
|
-
const submission = useMemo(() => {
|
|
174
|
-
const network = configuration.network;
|
|
175
|
-
if (!network?.config?.partnerConfig)
|
|
176
|
-
return undefined;
|
|
177
|
-
const { api, metadata } = makeNetworkingFactory(network);
|
|
178
|
-
const retry = network.retry ?? DEFAULT_RETRY;
|
|
179
|
-
return {
|
|
180
|
-
repository: new UseSmileIDRepositoryImpl(api, retry),
|
|
181
|
-
metadataProvider: metadata,
|
|
182
|
-
};
|
|
183
|
-
}, [configuration.network]);
|
|
184
|
-
const manager = useMemo(() => {
|
|
185
|
-
const handleExit = (reason) => {
|
|
186
|
-
finishedRef.current = true;
|
|
187
|
-
const onResult = onResultRef.current;
|
|
188
|
-
try {
|
|
189
|
-
if (reason.kind === "completed") {
|
|
190
|
-
// `reason.job` carries the full `JobSubmissionResponse` from
|
|
191
|
-
// the successful submission. When the flow completes without
|
|
192
|
-
// a successful submission (e.g. no processing screen wired),
|
|
193
|
-
// string fields are empty.
|
|
194
|
-
onResult(success(reason.job));
|
|
195
|
-
}
|
|
196
|
-
else if (reason.kind === "cancelled") {
|
|
197
|
-
// User deliberately exited (e.g. back out of the first screen).
|
|
198
|
-
// A distinct cancelled result — not a failure.
|
|
199
|
-
onResult(cancelled());
|
|
200
|
-
}
|
|
201
|
-
else {
|
|
202
|
-
onResult(failure(reason.error));
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
catch (handlerError) {
|
|
206
|
-
// Concrete scenario: partner's `onResult` throws (e.g. their
|
|
207
|
-
// navigation stack is in an invalid state). Don't let that
|
|
208
|
-
// crash the SDK — capture and continue.
|
|
209
|
-
UseSmileIDCrashReporting.captureException(handlerError);
|
|
210
|
-
}
|
|
211
|
-
};
|
|
212
|
-
return new FlowNavigationManager({
|
|
213
|
-
configuration,
|
|
214
|
-
onExit: handleExit,
|
|
215
|
-
// Conditional spread — `exactOptionalPropertyTypes: true` rejects
|
|
216
|
-
// an explicit `undefined` for the optional `repository` /
|
|
217
|
-
// `metadataProvider` fields. Both come from the same memoized
|
|
218
|
-
// `submission` object so the metadata factory backing requests
|
|
219
|
-
// is the same one the API serializes.
|
|
220
|
-
...(submission
|
|
221
|
-
? {
|
|
222
|
-
repository: submission.repository,
|
|
223
|
-
metadataProvider: submission.metadataProvider,
|
|
224
|
-
}
|
|
225
|
-
: {}),
|
|
226
|
-
});
|
|
227
|
-
// Manager is intentionally instantiated once per `configuration` /
|
|
228
|
-
// `submission` reference. Partners should memoize `configuration` via
|
|
229
|
-
// `useMemo<FlowConfiguration>(...)`; if they swap to a new flow they
|
|
230
|
-
// should remount `<UseSmileIDBuilder>`.
|
|
231
|
-
}, [configuration, submission]);
|
|
232
|
-
useEffect(() => {
|
|
233
|
-
const unsubscribe = manager.subscribe(forceUpdate);
|
|
234
|
-
return () => {
|
|
235
|
-
unsubscribe();
|
|
236
|
-
manager.dispose();
|
|
237
|
-
};
|
|
238
|
-
}, [manager]);
|
|
239
|
-
// A flow unmounted before finishing delivers a cancelled result exactly once.
|
|
240
|
-
useEffect(() => () => {
|
|
241
|
-
if (!finishedRef.current) {
|
|
242
|
-
finishedRef.current = true;
|
|
243
|
-
onResultRef.current(cancelled());
|
|
244
|
-
}
|
|
245
|
-
}, []);
|
|
246
|
-
// Resolve localizations:
|
|
247
|
-
// 1. Explicit `configuration.localizations` (partner-set on the
|
|
248
|
-
// builder) — wins over everything.
|
|
249
|
-
// 2. Auto-resolved from the registry via the device locale
|
|
250
|
-
// (`UseSmileIDLocalizations.forActiveLocale()`) when partners
|
|
251
|
-
// registered locales with `UseSmileIDLocalizations.register(...)`.
|
|
252
|
-
// 3. English defaults — no provider mounted, screens read from
|
|
253
|
-
// the context's default English-only instance.
|
|
254
|
-
// A device locale change requires leaving the app, so re-reading on foreground is what makes a mid-flow switch observable.
|
|
255
|
-
const [localeEpoch, bumpLocaleEpoch] = useReducer((x) => x + 1, 0);
|
|
256
|
-
useEffect(() => {
|
|
257
|
-
const subscription = AppState.addEventListener("change", (nextState) => {
|
|
258
|
-
if (nextState === "active")
|
|
259
|
-
bumpLocaleEpoch();
|
|
260
|
-
});
|
|
261
|
-
return () => subscription.remove();
|
|
262
|
-
}, []);
|
|
263
|
-
const activeLocaleKey = UseSmileIDLocalizations.activeLocaleKey;
|
|
264
|
-
const resolved = useMemo(() => {
|
|
265
|
-
if (configuration.localizations)
|
|
266
|
-
return configuration.localizations;
|
|
267
|
-
if (UseSmileIDLocalizations.hasRegisteredLocales()) {
|
|
268
|
-
return UseSmileIDLocalizations.forActiveLocale();
|
|
269
|
-
}
|
|
270
|
-
return null;
|
|
271
|
-
}, [configuration.localizations, activeLocaleKey, localeEpoch]);
|
|
272
|
-
const step = manager.currentScreen;
|
|
273
|
-
// Empty-screens sentinel: a partner who forgot to call
|
|
274
|
-
// `b.screens(...)` would otherwise see a blank screen with no clue
|
|
275
|
-
// why. Render an explicit hint instead.
|
|
276
|
-
const inner = step ? (_jsx(FlowNavigationProvider, { manager: manager, children: _jsx(ScreenRenderer, { step: step }, `${manager.currentDepth}:${step.kind}`) })) : (_jsxs(View, { style: {
|
|
277
|
-
flex: 1,
|
|
278
|
-
alignItems: "center",
|
|
279
|
-
justifyContent: "center",
|
|
280
|
-
backgroundColor: theme.colors.background,
|
|
281
|
-
padding: theme.spacing.large,
|
|
282
|
-
}, children: [_jsx(Text, { style: {
|
|
283
|
-
...theme.typography.pageHeading,
|
|
284
|
-
color: theme.colors.titleText,
|
|
285
|
-
}, children: "UseSmileID" }), _jsx(Text, { style: { ...theme.typography.body, color: theme.colors.cardText }, children: "No screens configured — call `b.screens((screens) => screens.instructions(); ...)`" })] }));
|
|
286
|
-
// Theme provider always mounts so deep partner widgets can read
|
|
287
|
-
// via `useUseSmileIDTheme()` without having to wrap manually.
|
|
288
|
-
// Localizations provider only mounts when registered locales
|
|
289
|
-
// resolve — the context default (English) covers the no-provider
|
|
290
|
-
// path without an extra wrapper.
|
|
291
|
-
const themed = (_jsx(UseSmileIDThemeProvider, { value: theme, children: fontsLoaded || fontWaitElapsed ? (inner) : (_jsx(View, { style: { flex: 1, backgroundColor: theme.colors.background }, testID: "si_flow_font_gate" })) }));
|
|
292
|
-
if (resolved) {
|
|
293
|
-
return (_jsx(UseSmileIDLocalizationsProvider, { value: resolved, children: themed }));
|
|
294
|
-
}
|
|
295
|
-
return themed;
|
|
296
|
-
}
|
|
297
|
-
//# sourceMappingURL=use_smile_id_flow.js.map
|
|
1
|
+
"use strict";import{jsx as n,jsxs as K}from"react/jsx-runtime";import{useEffect as c,useMemo as w,useReducer as F,useRef as m,useState as W}from"react";import{AppState as $,Text as _,useColorScheme as G,View as j}from"react-native";import{FlowNavigationManager as H}from"./flow_navigation_manager";import{FlowNavigationProvider as Y}from"./flow_navigation_context";import{ScreenRenderer as q}from"./graph/screen_renderer";import{ScreenTransition as J}from"./graph/screen_transition";import{defaultDarkTheme as Q,defaultLightTheme as X}from"../theme/theme";import{UseSmileIDThemeProvider as Z}from"../theme/theme_context";import{useUseSmileIDFonts as ee}from"../theme/use_use_smile_id_fonts";import{UseSmileIDCrashReporting as i}from"@smileid/usesmileid_bridge";import{generateSessionId as re}from"../../metadata/use_smile_id_metadata_factory";import{UseSmileIDLocalizationsProvider as te}from"../../l10n/use_smile_id_localizations_provider";import{UseSmileIDLocalizations as D}from"../../l10n/use_smile_id_localizations";import{cancelled as z,failure as I,success as oe}from"../../core/models/result";import{ValidationErrorScreen as ne}from"./screen/validation_error_screen";import{BuilderValidationException as N}from"../../core/exception/builder_validation_exception";import{UseSmileIDBuilderException as ie}from"../../core/exception/use_smile_id_builder_exception";import{ValidationState as se}from"./validation/validation_state";import{makeNetworkingFactory as ce}from"../../data/factory/networking_factory";import{UseSmileIDRepositoryImpl as ae}from"../../data/repository/use_smile_id_repository_impl";import{RetryStrategy as le}from"../../core/models/network_config";const de=Object.freeze({maxAttempts:1,strategy:le.none,initialDelay:1,multiplier:2,maxDelay:32,jitter:.2,fixedDelay:1});export function FlowInvalidDispatcher({result:e,onResult:S,enableDebugMode:p}){const o=m(S);o.current=S;const a=m(e.validation);return a.current=e.validation,c(()=>{const v=new N(a.current);try{o.current(I(v))}catch(E){i.captureException(E)}},[]),p?n(ne,{validationState:e.validation}):null}const me=1e3;export function FlowSuccessRenderer({configuration:e}){const p=G()==="dark",o=e.theme?p?e.theme.dark:e.theme.light:p?Q:X,a=ee(),[v,E]=W(!1);c(()=>{if(a)return;const r=setTimeout(()=>E(!0),me);return()=>clearTimeout(r)},[a]);const k=e.config?.enableCrashReporting!==!1,T=e.network?.config?.partnerConfig?.useSandbox===!0,b=m(null);b.current===null&&(b.current=re()),c(()=>(k&&(i.disable(),i.enable({useSandbox:T}),i.setUserId(b.current),i.captureBreadcrumb({category:"flow.navigation",message:"flow mounted"})),()=>{i.disable()}),[k,T]);const h=m(e.onResult);h.current=e.onResult;const u=m(!1),[,P]=F(r=>r+1,0),l=w(()=>{const r=e.network;if(r?.config?.partnerConfig)try{const{api:t,metadata:s}=ce(r),R=r.retry??de;return{repository:new ae(t,R),metadataProvider:s}}catch(t){if(t instanceof ie)return{configError:t};throw t}},[e.network]),f=l!==void 0&&"configError"in l?l.configError:void 0,y=l!==void 0&&"repository"in l?l:void 0;c(()=>{if(f===void 0||u.current)return;u.current=!0;const r=se.invalid([f]),t=r.valid?f:new N(r);try{h.current(I(t))}catch(s){i.captureException(s)}},[f]);const d=w(()=>{const r=t=>{u.current=!0;const s=h.current;try{t.kind==="completed"?s(oe(t.job)):t.kind==="cancelled"?s(z()):s(I(t.error))}catch(R){i.captureException(R)}};return new H({configuration:e,onExit:r,...y?{repository:y.repository,metadataProvider:y.metadataProvider}:{}})},[e,y]);c(()=>{const r=d.subscribe(P);return()=>{r(),d.dispose()}},[d]),c(()=>()=>{u.current||(u.current=!0,h.current(z()))},[]);const[A,M]=F(r=>r+1,0);c(()=>{const r=$.addEventListener("change",t=>{t==="active"&&M()});return()=>r.remove()},[]);const O=D.activeLocaleKey,U=w(()=>e.localizations?e.localizations:D.hasRegisteredLocales()?D.forActiveLocale():null,[e.localizations,O,A]),x=d.currentScreen,g=d.currentDepth,L=m(g),V=g>=L.current;L.current=g;const B=x?n(Y,{manager:d,children:n(J,{forward:V,children:n(q,{step:x})},`${g}:${x.kind}`)}):K(j,{style:{flex:1,alignItems:"center",justifyContent:"center",backgroundColor:o.colors.background,padding:o.spacing.large},children:[n(_,{style:{...o.typography.pageHeading,color:o.colors.titleText},children:"UseSmileID"}),n(_,{style:{...o.typography.body,color:o.colors.cardText},children:"No screens configured \u2014 call `b.screens((screens) => screens.instructions(); ...)`"})]}),C=n(Z,{value:o,children:a||v?B:n(j,{style:{flex:1,backgroundColor:o.colors.background},testID:"si_flow_font_gate"})});return f!==void 0?null:U?n(te,{value:U,children:C}):C}
|
|
@@ -3,7 +3,7 @@ import type { NetworkConfig } from "../../../core/models/network_config";
|
|
|
3
3
|
import type { BiometricKYCParams, ConsentInformation, DocumentVerificationParams, EnhancedDocumentVerificationParams, EnhancedKYCParams, UserDetails } from "../../../core/models/params";
|
|
4
4
|
import type { ScreenSpec } from "../dsl/builder/screens_builder";
|
|
5
5
|
import type { TokenPayload } from "../../../data/model/token_payload";
|
|
6
|
-
import {
|
|
6
|
+
import { type ValidationIssue } from "./validation_state";
|
|
7
7
|
/**
|
|
8
8
|
* Pure flow validator — returns typed `UseSmileIDValidationException`
|
|
9
9
|
* instances. The same instances are exposed via `b.validate()` and
|
|
@@ -28,6 +28,7 @@ import { ValidationState, type ValidationIssue } from "./validation_state";
|
|
|
28
28
|
*/
|
|
29
29
|
type FlowValidatorInput = {
|
|
30
30
|
readonly steps: readonly ScreenSpec[];
|
|
31
|
+
readonly userId?: string | undefined;
|
|
31
32
|
readonly network?: NetworkConfig | undefined;
|
|
32
33
|
readonly ml?: MLConfig | undefined;
|
|
33
34
|
readonly consentInformation?: ConsentInformation | undefined;
|
|
@@ -106,16 +107,4 @@ export declare function runConsentValidation(consent: ConsentInformation): Valid
|
|
|
106
107
|
* token context).
|
|
107
108
|
*/
|
|
108
109
|
export declare function runUserDetailsValidation(userDetails: UserDetails, tokenPayload?: TokenPayload): ValidationIssue[];
|
|
109
|
-
/**
|
|
110
|
-
* Find the first `error`-severity issue in a state. Returns
|
|
111
|
-
* `undefined` for a valid state, or for a state whose only issues
|
|
112
|
-
* are `warning`-severity (which never block `build()`).
|
|
113
|
-
*
|
|
114
|
-
* `build()` calls this to convert validator output into a thrown
|
|
115
|
-
* `Error` (the issue itself, since every issue is also an exception
|
|
116
|
-
* class). Partner regex on the message keeps working across the
|
|
117
|
-
* refactor.
|
|
118
|
-
*/
|
|
119
|
-
export declare function firstErrorIssue(state: ValidationState): ValidationIssue | undefined;
|
|
120
110
|
export {};
|
|
121
|
-
//# sourceMappingURL=flow_validator.d.ts.map
|
|
@@ -1,300 +1 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { JobType, jobTypeFromValue } from "../../../core/models/job_type";
|
|
3
|
-
import { IssueSeverity } from "../../../core/exception/issue_severity";
|
|
4
|
-
import { InvalidConsentConfigException, InvalidConsentInformationException, } from "../../../core/exception/consent_validation_exceptions";
|
|
5
|
-
import { InvalidFieldValueException, MissingJobTypeException, MissingMLConfigurationBlockException, MissingNetworkConfigurationBlockException, } from "../../../core/exception/job_validation_exceptions";
|
|
6
|
-
import { AgentModeWithEnhancedLivenessException, InvalidDocumentCaptureConfigException, InvalidMissingCaptureTypeException, } from "../../../core/exception/capture_validation_exceptions";
|
|
7
|
-
import { EmptyScreensBlockException } from "../../../core/exception/screen_config_validation_exceptions";
|
|
8
|
-
import { collectJobTypeIssues } from "./job_type_validator";
|
|
9
|
-
import { missingUserDetailsFieldIssues } from "./user_details_validator";
|
|
10
|
-
/**
|
|
11
|
-
* Agent mode captures on the rear lens while the head-turn challenge is only
|
|
12
|
-
* validated for front-camera framing, so the pair is refused rather than
|
|
13
|
-
* silently dropping one of them.
|
|
14
|
-
*/
|
|
15
|
-
function selfieConfigIssues(config) {
|
|
16
|
-
if (config?.allowAgentMode && config.enableEnhancedLiveness) {
|
|
17
|
-
return [new AgentModeWithEnhancedLivenessException()];
|
|
18
|
-
}
|
|
19
|
-
return [];
|
|
20
|
-
}
|
|
21
|
-
/** Surfaces at most one issue: missing block > missing type > bad aspect ratio. */
|
|
22
|
-
function documentConfigIssues(config) {
|
|
23
|
-
if (config === undefined) {
|
|
24
|
-
return [
|
|
25
|
-
new InvalidDocumentCaptureConfigException({
|
|
26
|
-
reason: "document is required when mode is Document",
|
|
27
|
-
}),
|
|
28
|
-
];
|
|
29
|
-
}
|
|
30
|
-
if (config.documentType === undefined) {
|
|
31
|
-
return [
|
|
32
|
-
new InvalidDocumentCaptureConfigException({
|
|
33
|
-
reason: "documentType is required for document capture",
|
|
34
|
-
}),
|
|
35
|
-
];
|
|
36
|
-
}
|
|
37
|
-
if (config.knownIdAspectRatio !== undefined &&
|
|
38
|
-
config.knownIdAspectRatio <= 0) {
|
|
39
|
-
return [
|
|
40
|
-
new InvalidDocumentCaptureConfigException({
|
|
41
|
-
reason: "knownIdAspectRatio must be > 0 if provided",
|
|
42
|
-
}),
|
|
43
|
-
];
|
|
44
|
-
}
|
|
45
|
-
return [];
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Quick triage of the in-progress builder state. Today the only rule
|
|
49
|
-
* surfaced is the empty-screens-block error — `b.screens(...)` must
|
|
50
|
-
* register at least one screen before the builder can produce a flow.
|
|
51
|
-
* `b.validate()` calls this; the full rule set runs inside `build()`.
|
|
52
|
-
*/
|
|
53
|
-
export function runBuilderValidation(steps) {
|
|
54
|
-
const issues = [];
|
|
55
|
-
if (steps.length === 0) {
|
|
56
|
-
issues.push(new EmptyScreensBlockException());
|
|
57
|
-
}
|
|
58
|
-
return issues;
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Run every flow-level validation rule and return the collected
|
|
62
|
-
* issues. Empty array means valid.
|
|
63
|
-
*
|
|
64
|
-
* Rule order is deterministic so callers diffing two outputs see
|
|
65
|
-
* stable output. `build()` returns `{kind: 'invalid'}` carrying these
|
|
66
|
-
* issues when any are `error`-severity.
|
|
67
|
-
*/
|
|
68
|
-
export function runFlowValidation(input) {
|
|
69
|
-
const issues = [];
|
|
70
|
-
if (input.steps.length === 0) {
|
|
71
|
-
issues.push(new EmptyScreensBlockException());
|
|
72
|
-
// Without screens, every other rule is vacuous — short-circuit
|
|
73
|
-
// to avoid producing follow-on noise.
|
|
74
|
-
return issues;
|
|
75
|
-
}
|
|
76
|
-
// Capture screens must declare a captureType. Partners set this inside
|
|
77
|
-
// the configure block; if they forget, surface the typed exception so
|
|
78
|
-
// it routes through `onResult.failure` like every other validation issue.
|
|
79
|
-
for (const step of input.steps) {
|
|
80
|
-
if (step.kind === "capture") {
|
|
81
|
-
if (step.config.captureType === undefined) {
|
|
82
|
-
issues.push(new InvalidMissingCaptureTypeException());
|
|
83
|
-
}
|
|
84
|
-
if (step.config.captureType === CaptureType.selfie) {
|
|
85
|
-
issues.push(...selfieConfigIssues(step.config.selfieConfig));
|
|
86
|
-
}
|
|
87
|
-
if (step.config.captureType === CaptureType.document) {
|
|
88
|
-
issues.push(...documentConfigIssues(step.config.documentConfig));
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
const hasCaptureScreen = input.steps.some((s) => s.kind === "capture");
|
|
93
|
-
const hasProcessingScreen = input.steps.some((s) => s.kind === "processing");
|
|
94
|
-
if (hasCaptureScreen && !input.ml) {
|
|
95
|
-
issues.push(new MissingMLConfigurationBlockException());
|
|
96
|
-
}
|
|
97
|
-
if (hasProcessingScreen && !input.network) {
|
|
98
|
-
issues.push(new MissingNetworkConfigurationBlockException());
|
|
99
|
-
}
|
|
100
|
-
// A processing screen always requires a resolved jobType. Fail the
|
|
101
|
-
// build (ERROR) whenever it's missing — whether or not a network
|
|
102
|
-
// block was provided. The missing-network WARNING above still fires
|
|
103
|
-
// alongside this when the block is absent.
|
|
104
|
-
// `jobTypeFromValue` collapses the unknown sentinel and any out-of-enum value, so an unrecognised job_type_id fails the build too.
|
|
105
|
-
if (hasProcessingScreen) {
|
|
106
|
-
const jobType = input.network?.config?.jobType;
|
|
107
|
-
if (jobType === undefined ||
|
|
108
|
-
jobTypeFromValue(jobType) === JobType.unknown) {
|
|
109
|
-
issues.push(new MissingJobTypeException());
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
// Consent screen config validation — partnerName must be non-empty
|
|
113
|
-
// when a consent screen is in the flow. The consent screen's
|
|
114
|
-
// attribution line renders blank without it, which partners
|
|
115
|
-
// typically don't notice until QA.
|
|
116
|
-
const consentStep = input.steps.find((s) => s.kind === "consent");
|
|
117
|
-
if (consentStep &&
|
|
118
|
-
(!consentStep.config.partnerName || !consentStep.config.partnerName.trim())) {
|
|
119
|
-
issues.push(new InvalidConsentConfigException({
|
|
120
|
-
reason: "partnerName cannot be empty",
|
|
121
|
-
}));
|
|
122
|
-
}
|
|
123
|
-
if (consentStep && consentStep.config.partnerIcon === undefined) {
|
|
124
|
-
issues.push(new InvalidConsentConfigException({
|
|
125
|
-
reason: "partnerIcon is required for the consent screen",
|
|
126
|
-
}));
|
|
127
|
-
}
|
|
128
|
-
if (consentStep &&
|
|
129
|
-
(consentStep.config.partnerPrivacyPolicyUrl === undefined ||
|
|
130
|
-
!consentStep.config.partnerPrivacyPolicyUrl.trim())) {
|
|
131
|
-
issues.push(new InvalidConsentConfigException({
|
|
132
|
-
reason: "partnerPrivacyPolicyUrl is required for the consent screen",
|
|
133
|
-
}));
|
|
134
|
-
}
|
|
135
|
-
const hasConsentScreen = consentStep !== undefined;
|
|
136
|
-
if (hasConsentScreen && input.consentInformation !== undefined) {
|
|
137
|
-
issues.push(new InvalidConsentConfigException({
|
|
138
|
-
reason: "Exactly one form of consent is required — remove the consent { } screen if using consentInformation, or clear consentInformation if using the consent screen",
|
|
139
|
-
}));
|
|
140
|
-
}
|
|
141
|
-
// A token consent binding supersedes the preset entirely (token data
|
|
142
|
-
// always wins), so the ignored preset's contents are not validated.
|
|
143
|
-
if (input.consentInformation && input.tokenPayload?.consent === undefined) {
|
|
144
|
-
issues.push(...runConsentValidation(input.consentInformation));
|
|
145
|
-
}
|
|
146
|
-
if (input.enhancedKYCParams) {
|
|
147
|
-
issues.push(...runEnhancedKYCParamsValidation(input.enhancedKYCParams));
|
|
148
|
-
}
|
|
149
|
-
if (input.biometricKYCParams) {
|
|
150
|
-
issues.push(...runBiometricKYCParamsValidation(input.biometricKYCParams));
|
|
151
|
-
}
|
|
152
|
-
if (input.documentVerificationParams) {
|
|
153
|
-
issues.push(...runDocumentVerificationParamsValidation(input.documentVerificationParams));
|
|
154
|
-
}
|
|
155
|
-
if (input.enhancedDocumentVerificationParams) {
|
|
156
|
-
issues.push(...runEnhancedDocumentVerificationParamsValidation(input.enhancedDocumentVerificationParams));
|
|
157
|
-
}
|
|
158
|
-
if (input.userDetails) {
|
|
159
|
-
issues.push(...runUserDetailsValidation(input.userDetails, input.tokenPayload));
|
|
160
|
-
}
|
|
161
|
-
// Every flow-composition rule (screen ordering, duplicate screens,
|
|
162
|
-
// preview placement, analyzer dependencies, per-job field
|
|
163
|
-
// requirements) lives in job_type_validator.ts. FlowValidator owns
|
|
164
|
-
// only the builder / job-agnostic concerns above and delegates the
|
|
165
|
-
// per-jobType pass here. The dispatch resolves a validator from the
|
|
166
|
-
// configured jobType, falling back to a generic structural validator
|
|
167
|
-
// when the jobType is unknown so prototyping flows still get
|
|
168
|
-
// ordering / duplicate / preview feedback.
|
|
169
|
-
collectJobTypeIssues(input, issues);
|
|
170
|
-
return issues;
|
|
171
|
-
}
|
|
172
|
-
/**
|
|
173
|
-
* Validate an `EnhancedKYCParams` payload in isolation. Used by
|
|
174
|
-
* `b.validateEnhancedKYCParams(params)` so partners can pre-flight a
|
|
175
|
-
* payload before assigning it to the builder.
|
|
176
|
-
*/
|
|
177
|
-
export function runEnhancedKYCParamsValidation(params) {
|
|
178
|
-
return runKYCParamsValidation(params);
|
|
179
|
-
}
|
|
180
|
-
/**
|
|
181
|
-
* Validate a `BiometricKYCParams` payload in isolation. Used by
|
|
182
|
-
* `b.validateBiometricKYCParams(params)`.
|
|
183
|
-
*/
|
|
184
|
-
export function runBiometricKYCParamsValidation(params) {
|
|
185
|
-
return runKYCParamsValidation(params);
|
|
186
|
-
}
|
|
187
|
-
/**
|
|
188
|
-
* Validate a `DocumentVerificationParams` payload in isolation. `country`
|
|
189
|
-
* must be non-blank; `idType` is optional, but a present-but-blank value
|
|
190
|
-
* is rejected.
|
|
191
|
-
*/
|
|
192
|
-
export function runDocumentVerificationParamsValidation(params) {
|
|
193
|
-
const issues = [];
|
|
194
|
-
if (!params.country || !params.country.trim()) {
|
|
195
|
-
issues.push(new InvalidFieldValueException({
|
|
196
|
-
fieldName: "country",
|
|
197
|
-
reason: "must not be blank",
|
|
198
|
-
}));
|
|
199
|
-
}
|
|
200
|
-
if (params.idType !== undefined && !params.idType.trim()) {
|
|
201
|
-
issues.push(new InvalidFieldValueException({
|
|
202
|
-
fieldName: "idType",
|
|
203
|
-
reason: "must not be blank",
|
|
204
|
-
}));
|
|
205
|
-
}
|
|
206
|
-
return issues;
|
|
207
|
-
}
|
|
208
|
-
/**
|
|
209
|
-
* Validate an `EnhancedDocumentVerificationParams` payload in isolation.
|
|
210
|
-
* Both `country` and `idType` are required and must be non-blank.
|
|
211
|
-
*/
|
|
212
|
-
export function runEnhancedDocumentVerificationParamsValidation(params) {
|
|
213
|
-
const issues = [];
|
|
214
|
-
for (const field of ["country", "idType"]) {
|
|
215
|
-
const value = params[field];
|
|
216
|
-
if (!value || !value.trim()) {
|
|
217
|
-
issues.push(new InvalidFieldValueException({
|
|
218
|
-
fieldName: field,
|
|
219
|
-
reason: "must not be blank",
|
|
220
|
-
}));
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
return issues;
|
|
224
|
-
}
|
|
225
|
-
/**
|
|
226
|
-
* Validate a `ConsentInformation` payload in isolation. Used by
|
|
227
|
-
* `b.validateConsent(consent)` so partners can pre-flight a payload
|
|
228
|
-
* pulled from their own storage before assigning it to the builder.
|
|
229
|
-
*/
|
|
230
|
-
export function runConsentValidation(consent) {
|
|
231
|
-
const issues = [];
|
|
232
|
-
if (!consent.granted) {
|
|
233
|
-
issues.push(new InvalidConsentInformationException({
|
|
234
|
-
detail: "granted must be true",
|
|
235
|
-
}));
|
|
236
|
-
}
|
|
237
|
-
for (const field of [
|
|
238
|
-
"grantedAt",
|
|
239
|
-
"noticeLanguage",
|
|
240
|
-
"noticePrivacyPolicyUrl",
|
|
241
|
-
]) {
|
|
242
|
-
if (!consent[field] || !consent[field].trim()) {
|
|
243
|
-
issues.push(new InvalidConsentInformationException({
|
|
244
|
-
detail: `${field} must not be blank`,
|
|
245
|
-
}));
|
|
246
|
-
}
|
|
247
|
-
}
|
|
248
|
-
return issues;
|
|
249
|
-
}
|
|
250
|
-
function runKYCParamsValidation(params) {
|
|
251
|
-
const issues = [];
|
|
252
|
-
// Top-level required fields on the params object.
|
|
253
|
-
for (const field of ["idType", "idNumber", "country"]) {
|
|
254
|
-
const value = params[field];
|
|
255
|
-
if (!value || !value.trim()) {
|
|
256
|
-
issues.push(new InvalidFieldValueException({
|
|
257
|
-
fieldName: field,
|
|
258
|
-
reason: "must not be blank",
|
|
259
|
-
}));
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
|
-
return issues;
|
|
263
|
-
}
|
|
264
|
-
/**
|
|
265
|
-
* Validate a top-level `UserDetails` payload. Required fields use the
|
|
266
|
-
* dotted path (`userDetails.givenNames`) so partner regex-matchers
|
|
267
|
-
* keep working unchanged after the consolidation away from nesting
|
|
268
|
-
* `userDetails` inside the KYC param shapes.
|
|
269
|
-
*
|
|
270
|
-
* Each field requirement is evaluated against the union of builder
|
|
271
|
-
* input and token bindings: a field the token binds (see
|
|
272
|
-
* `TokenPayload`) never has to be supplied locally — the server
|
|
273
|
-
* injects it, and the SDK drops the local value from the wire. With
|
|
274
|
-
* no `tokenPayload` the behavior is exactly the pre-token rule set.
|
|
275
|
-
*
|
|
276
|
-
* Exposed via `b.validateUserDetails(payload)` so partners can
|
|
277
|
-
* pre-flight a payload before assigning to `b.userDetails`, mirroring
|
|
278
|
-
* the existing `b.validateConsent` / `b.validateEnhancedKYCParams`
|
|
279
|
-
* pattern (the pre-flight helper always validates strictly, without
|
|
280
|
-
* token context).
|
|
281
|
-
*/
|
|
282
|
-
export function runUserDetailsValidation(userDetails, tokenPayload) {
|
|
283
|
-
return missingUserDetailsFieldIssues(userDetails, tokenPayload);
|
|
284
|
-
}
|
|
285
|
-
/**
|
|
286
|
-
* Find the first `error`-severity issue in a state. Returns
|
|
287
|
-
* `undefined` for a valid state, or for a state whose only issues
|
|
288
|
-
* are `warning`-severity (which never block `build()`).
|
|
289
|
-
*
|
|
290
|
-
* `build()` calls this to convert validator output into a thrown
|
|
291
|
-
* `Error` (the issue itself, since every issue is also an exception
|
|
292
|
-
* class). Partner regex on the message keeps working across the
|
|
293
|
-
* refactor.
|
|
294
|
-
*/
|
|
295
|
-
export function firstErrorIssue(state) {
|
|
296
|
-
if (state.valid)
|
|
297
|
-
return undefined;
|
|
298
|
-
return state.issues.find((i) => i.severity === IssueSeverity.error);
|
|
299
|
-
}
|
|
300
|
-
//# sourceMappingURL=flow_validator.js.map
|
|
1
|
+
"use strict";import{CaptureType as d}from"../../../core/models/ml_config";import{JobType as h,jobTypeFromValue as y}from"../../../core/models/job_type";import{InvalidConsentConfigException as s,InvalidConsentInformationException as m}from"../../../core/exception/consent_validation_exceptions";import{InvalidFieldValueException as a,MissingJobTypeException as g,MissingMLConfigurationBlockException as w,MissingNetworkConfigurationBlockException as b}from"../../../core/exception/job_validation_exceptions";import{AgentModeWithEnhancedLivenessException as C,InvalidDocumentCaptureConfigException as c,InvalidMissingCaptureTypeException as P}from"../../../core/exception/capture_validation_exceptions";import{EmptyScreensBlockException as p}from"../../../core/exception/screen_config_validation_exceptions";import{collectJobTypeIssues as k}from"./job_type_validator";import{missingUserDetailsFieldIssues as I}from"./user_details_validator";function x(e){return e?.allowAgentMode&&e.enableEnhancedLiveness?[new C]:[]}function T(e){return e===void 0?[new c({reason:"document is required when mode is Document"})]:e.documentType===void 0?[new c({reason:"documentType is required for document capture"})]:e.knownIdAspectRatio!==void 0&&e.knownIdAspectRatio<=0?[new c({reason:"knownIdAspectRatio must be > 0 if provided"})]:[]}export function runBuilderValidation(e){const n=[];return e.length===0&&n.push(new p),n}export function runFlowValidation(e){const n=[];if(e.steps.length===0)return n.push(new p),n;for(const o of e.steps)o.kind==="capture"&&(o.config.captureType===void 0&&n.push(new P),o.config.captureType===d.selfie&&n.push(...x(o.config.selfieConfig)),o.config.captureType===d.document&&n.push(...T(o.config.documentConfig)));const i=e.steps.some(o=>o.kind==="capture"),t=e.steps.some(o=>o.kind==="processing"),u=e.network?.config?.jobType,f=u===void 0||y(u)===h.unknown;i&&!e.ml&&f&&n.push(new w),t&&!e.network&&n.push(new b),t&&f&&n.push(new g);const r=e.steps.find(o=>o.kind==="consent");return r&&(!r.config.partnerName||!r.config.partnerName.trim())&&n.push(new s({reason:"partnerName cannot be empty"})),r&&r.config.partnerIcon===void 0&&n.push(new s({reason:"partnerIcon is required for the consent screen"})),r&&(r.config.partnerPrivacyPolicyUrl===void 0||!r.config.partnerPrivacyPolicyUrl.trim())&&n.push(new s({reason:"partnerPrivacyPolicyUrl is required for the consent screen"})),r!==void 0&&e.consentInformation!==void 0&&n.push(new s({reason:"Exactly one form of consent is required \u2014 remove the consent { } screen if using consentInformation, or clear consentInformation if using the consent screen"})),e.consentInformation&&e.tokenPayload?.consent===void 0&&n.push(...runConsentValidation(e.consentInformation)),e.enhancedKYCParams&&n.push(...runEnhancedKYCParamsValidation(e.enhancedKYCParams)),e.biometricKYCParams&&n.push(...runBiometricKYCParamsValidation(e.biometricKYCParams)),e.documentVerificationParams&&n.push(...runDocumentVerificationParamsValidation(e.documentVerificationParams)),e.enhancedDocumentVerificationParams&&n.push(...runEnhancedDocumentVerificationParamsValidation(e.enhancedDocumentVerificationParams)),e.userDetails&&n.push(...runUserDetailsValidation(e.userDetails,e.tokenPayload)),k(e,n),n}export function runEnhancedKYCParamsValidation(e){return l(e)}export function runBiometricKYCParamsValidation(e){return l(e)}export function runDocumentVerificationParamsValidation(e){const n=[];return(!e.country||!e.country.trim())&&n.push(new a({fieldName:"country",reason:"must not be blank"})),e.idType!==void 0&&!e.idType.trim()&&n.push(new a({fieldName:"idType",reason:"must not be blank"})),n}export function runEnhancedDocumentVerificationParamsValidation(e){const n=[];for(const i of["country","idType"]){const t=e[i];(!t||!t.trim())&&n.push(new a({fieldName:i,reason:"must not be blank"}))}return n}export function runConsentValidation(e){const n=[];e.granted||n.push(new m({detail:"granted must be true"}));for(const i of["grantedAt","noticeLanguage","noticePrivacyPolicyUrl"])(!e[i]||!e[i].trim())&&n.push(new m({detail:`${i} must not be blank`}));return n}function l(e){const n=[];for(const i of["idType","idNumber","country"]){const t=e[i];(!t||!t.trim())&&n.push(new a({fieldName:i,reason:"must not be blank"}))}return n}export function runUserDetailsValidation(e,n){return I(e,n)}
|
|
@@ -39,6 +39,7 @@ export interface JobTypeValidator {
|
|
|
39
39
|
*/
|
|
40
40
|
export type JobTypeValidatorInput = {
|
|
41
41
|
readonly steps: readonly ScreenSpec[];
|
|
42
|
+
readonly userId?: string | undefined;
|
|
42
43
|
readonly network?: NetworkConfig | undefined;
|
|
43
44
|
readonly ml?: MLConfig | undefined;
|
|
44
45
|
readonly consentInformation?: ConsentInformation | undefined;
|
|
@@ -54,6 +55,8 @@ export type JobTypeValidatorInput = {
|
|
|
54
55
|
*/
|
|
55
56
|
readonly tokenPayload?: TokenPayload | undefined;
|
|
56
57
|
};
|
|
58
|
+
/** Key set must equal `JOB_PARAMS_OWNERS`'s field names — a key in one and not the other silently disarms the rule. */
|
|
59
|
+
export declare const JOB_PARAMS_SUPPLIERS: Readonly<Record<string, (input: JobTypeValidatorInput) => unknown>>;
|
|
57
60
|
/**
|
|
58
61
|
* Validates selfie-only flows: BiometricKyc, SmartSelfieAuthentication,
|
|
59
62
|
* SmartSelfieEnrollment.
|
|
@@ -128,4 +131,3 @@ export declare function resolveJobTypeValidator(jobType: JobType | undefined): J
|
|
|
128
131
|
* generic structural validator as the fallback for unknown job types.
|
|
129
132
|
*/
|
|
130
133
|
export declare function collectJobTypeIssues(input: JobTypeValidatorInput, issues: ValidationIssue[]): void;
|
|
131
|
-
//# sourceMappingURL=job_type_validator.d.ts.map
|