@smileid/usesmileid 12.0.0-beta01 → 12.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -0
- package/README.md +701 -89
- package/dist/camera/camera_defaults.d.ts +14 -9
- package/dist/camera/camera_defaults.d.ts.map +1 -1
- package/dist/camera/camera_defaults.js +11 -9
- package/dist/camera/camera_defaults.js.map +1 -1
- package/dist/camera/orientation_degrees.d.ts +5 -6
- package/dist/camera/orientation_degrees.d.ts.map +1 -1
- package/dist/camera/orientation_degrees.js +5 -6
- package/dist/camera/orientation_degrees.js.map +1 -1
- package/dist/core/exception/agent_mode_with_enhanced_liveness_exception.d.ts +11 -0
- package/dist/core/exception/agent_mode_with_enhanced_liveness_exception.d.ts.map +1 -0
- package/dist/core/exception/agent_mode_with_enhanced_liveness_exception.js +17 -0
- package/dist/core/exception/agent_mode_with_enhanced_liveness_exception.js.map +1 -0
- package/dist/core/exception/capture_validation_exceptions.d.ts +1 -0
- package/dist/core/exception/capture_validation_exceptions.d.ts.map +1 -1
- package/dist/core/exception/capture_validation_exceptions.js +1 -0
- package/dist/core/exception/capture_validation_exceptions.js.map +1 -1
- package/dist/core/exception/index.d.ts +1 -0
- package/dist/core/exception/index.d.ts.map +1 -1
- package/dist/core/exception/index.js +1 -0
- package/dist/core/exception/index.js.map +1 -1
- package/dist/core/exception/use_smile_id_error_code.d.ts +1 -0
- package/dist/core/exception/use_smile_id_error_code.d.ts.map +1 -1
- package/dist/core/exception/use_smile_id_error_code.js +1 -0
- package/dist/core/exception/use_smile_id_error_code.js.map +1 -1
- package/dist/core/models/config.d.ts +19 -0
- package/dist/core/models/config.d.ts.map +1 -1
- package/dist/core/models/document_capture_mode.d.ts +8 -0
- package/dist/core/models/document_capture_mode.d.ts.map +1 -1
- package/dist/core/models/document_capture_mode.js +24 -0
- package/dist/core/models/document_capture_mode.js.map +1 -1
- package/dist/core/models/document_type.d.ts +2 -2
- package/dist/core/models/document_type.d.ts.map +1 -1
- package/dist/core/models/document_type.js +7 -5
- package/dist/core/models/document_type.js.map +1 -1
- package/dist/core/models/global_privacy_control.d.ts +36 -0
- package/dist/core/models/global_privacy_control.d.ts.map +1 -0
- package/dist/core/models/global_privacy_control.js +39 -0
- package/dist/core/models/global_privacy_control.js.map +1 -0
- package/dist/core/models/network_config.d.ts +2 -2
- package/dist/core/models/network_config.js +2 -2
- package/dist/core/models/result.d.ts +9 -8
- package/dist/core/models/result.d.ts.map +1 -1
- package/dist/core/models/result.js +5 -6
- package/dist/core/models/result.js.map +1 -1
- package/dist/data/api/interceptors/smile_auth_interceptor.d.ts.map +1 -1
- package/dist/data/api/interceptors/smile_auth_interceptor.js +3 -17
- package/dist/data/api/interceptors/smile_auth_interceptor.js.map +1 -1
- package/dist/data/api/interceptors/smile_integrity_interceptor.d.ts +11 -0
- package/dist/data/api/interceptors/smile_integrity_interceptor.d.ts.map +1 -1
- package/dist/data/api/interceptors/smile_integrity_interceptor.js +13 -0
- package/dist/data/api/interceptors/smile_integrity_interceptor.js.map +1 -1
- package/dist/data/api/interceptors/smile_request_mac_interceptor.d.ts +8 -0
- package/dist/data/api/interceptors/smile_request_mac_interceptor.d.ts.map +1 -1
- package/dist/data/api/interceptors/smile_request_mac_interceptor.js +11 -0
- package/dist/data/api/interceptors/smile_request_mac_interceptor.js.map +1 -1
- package/dist/data/api/smile_id_api.d.ts +1 -1
- package/dist/data/api/smile_id_api.d.ts.map +1 -1
- package/dist/data/compression/compressible_asset.d.ts +41 -0
- package/dist/data/compression/compressible_asset.d.ts.map +1 -0
- package/dist/data/compression/compressible_asset.js +34 -0
- package/dist/data/compression/compressible_asset.js.map +1 -0
- package/dist/data/compression/payload_compression_config.d.ts +36 -0
- package/dist/data/compression/payload_compression_config.d.ts.map +1 -0
- package/dist/data/compression/payload_compression_config.js +52 -0
- package/dist/data/compression/payload_compression_config.js.map +1 -0
- package/dist/data/compression/payload_compression_runner.d.ts +29 -0
- package/dist/data/compression/payload_compression_runner.d.ts.map +1 -0
- package/dist/data/compression/payload_compression_runner.js +55 -0
- package/dist/data/compression/payload_compression_runner.js.map +1 -0
- package/dist/data/compression/payload_compressor.d.ts +40 -0
- package/dist/data/compression/payload_compressor.d.ts.map +1 -0
- package/dist/data/compression/payload_compressor.js +126 -0
- package/dist/data/compression/payload_compressor.js.map +1 -0
- package/dist/data/compression/uri_compressible_asset.d.ts +23 -0
- package/dist/data/compression/uri_compressible_asset.d.ts.map +1 -0
- package/dist/data/compression/uri_compressible_asset.js +77 -0
- package/dist/data/compression/uri_compressible_asset.js.map +1 -0
- package/dist/data/dsl/builder/cache_config_builder.d.ts +2 -1
- package/dist/data/dsl/builder/cache_config_builder.d.ts.map +1 -1
- package/dist/data/dsl/builder/cache_config_builder.js +2 -1
- package/dist/data/dsl/builder/cache_config_builder.js.map +1 -1
- package/dist/data/dsl/builder/config_builder.d.ts +40 -14
- package/dist/data/dsl/builder/config_builder.d.ts.map +1 -1
- package/dist/data/dsl/builder/config_builder.js +40 -14
- package/dist/data/dsl/builder/config_builder.js.map +1 -1
- package/dist/data/dsl/builder/interceptor_config_builder.d.ts +9 -7
- package/dist/data/dsl/builder/interceptor_config_builder.d.ts.map +1 -1
- package/dist/data/dsl/builder/interceptor_config_builder.js +9 -7
- package/dist/data/dsl/builder/interceptor_config_builder.js.map +1 -1
- package/dist/data/dsl/builder/retry_config_builder.d.ts +19 -4
- package/dist/data/dsl/builder/retry_config_builder.d.ts.map +1 -1
- package/dist/data/dsl/builder/retry_config_builder.js +21 -6
- package/dist/data/dsl/builder/retry_config_builder.js.map +1 -1
- package/dist/data/dsl/builder/timeout_config_builder.d.ts +4 -0
- package/dist/data/dsl/builder/timeout_config_builder.d.ts.map +1 -1
- package/dist/data/dsl/builder/timeout_config_builder.js +4 -0
- package/dist/data/dsl/builder/timeout_config_builder.js.map +1 -1
- package/dist/data/dsl/use_smile_id_network_builder.d.ts +17 -0
- package/dist/data/dsl/use_smile_id_network_builder.d.ts.map +1 -1
- package/dist/data/dsl/use_smile_id_network_builder.js +17 -0
- package/dist/data/dsl/use_smile_id_network_builder.js.map +1 -1
- package/dist/data/factory/networking_factory.d.ts.map +1 -1
- package/dist/data/factory/networking_factory.js +11 -1
- package/dist/data/factory/networking_factory.js.map +1 -1
- package/dist/data/repository/use_smile_id_repository_impl.d.ts +6 -0
- package/dist/data/repository/use_smile_id_repository_impl.d.ts.map +1 -1
- package/dist/data/repository/use_smile_id_repository_impl.js +82 -8
- package/dist/data/repository/use_smile_id_repository_impl.js.map +1 -1
- package/dist/data/security/request_canonicalizer.d.ts.map +1 -1
- package/dist/data/security/request_canonicalizer.js +14 -2
- package/dist/data/security/request_canonicalizer.js.map +1 -1
- package/dist/data/security/security_policy.d.ts +43 -0
- package/dist/data/security/security_policy.d.ts.map +1 -0
- package/dist/data/security/security_policy.js +61 -0
- package/dist/data/security/security_policy.js.map +1 -0
- package/dist/data/smile_id_urls.d.ts +1 -1
- package/dist/data/smile_id_urls.js +1 -1
- package/dist/data/smile_id_urls.js.map +1 -1
- package/dist/data/util/retry_util.d.ts +2 -2
- package/dist/data/util/retry_util.d.ts.map +1 -1
- package/dist/data/util/retry_util.js +7 -1
- package/dist/data/util/retry_util.js.map +1 -1
- package/dist/data/util/use_smile_id_token_decoder.d.ts +22 -0
- package/dist/data/util/use_smile_id_token_decoder.d.ts.map +1 -1
- package/dist/data/util/use_smile_id_token_decoder.js +58 -24
- package/dist/data/util/use_smile_id_token_decoder.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/l10n/strings_en.d.ts +2 -1
- package/dist/l10n/strings_en.d.ts.map +1 -1
- package/dist/l10n/strings_en.js +2 -1
- package/dist/l10n/strings_en.js.map +1 -1
- package/dist/l10n/use_smile_id_localizations.d.ts +1 -0
- package/dist/l10n/use_smile_id_localizations.d.ts.map +1 -1
- package/dist/l10n/use_smile_id_localizations.js +3 -0
- package/dist/l10n/use_smile_id_localizations.js.map +1 -1
- package/dist/metadata/builder_configuration.d.ts +44 -0
- package/dist/metadata/builder_configuration.d.ts.map +1 -0
- package/dist/metadata/builder_configuration.js +35 -0
- package/dist/metadata/builder_configuration.js.map +1 -0
- package/dist/metadata/captured_image_properties.d.ts +11 -0
- package/dist/metadata/captured_image_properties.d.ts.map +1 -0
- package/dist/metadata/captured_image_properties.js +11 -0
- package/dist/metadata/captured_image_properties.js.map +1 -0
- package/dist/metadata/device_orientation_collector.d.ts +17 -0
- package/dist/metadata/device_orientation_collector.d.ts.map +1 -0
- package/dist/metadata/device_orientation_collector.js +66 -0
- package/dist/metadata/device_orientation_collector.js.map +1 -0
- package/dist/metadata/geolocation.d.ts +20 -0
- package/dist/metadata/geolocation.d.ts.map +1 -0
- package/dist/metadata/geolocation.js +40 -0
- package/dist/metadata/geolocation.js.map +1 -0
- package/dist/metadata/metadata_configuration_mappers.d.ts +47 -0
- package/dist/metadata/metadata_configuration_mappers.d.ts.map +1 -0
- package/dist/metadata/metadata_configuration_mappers.js +178 -0
- package/dist/metadata/metadata_configuration_mappers.js.map +1 -0
- package/dist/metadata/model_configuration.d.ts +41 -0
- package/dist/metadata/model_configuration.d.ts.map +1 -0
- package/dist/metadata/model_configuration.js +44 -0
- package/dist/metadata/model_configuration.js.map +1 -0
- package/dist/metadata/optional_native_modules.d.ts +79 -3
- package/dist/metadata/optional_native_modules.d.ts.map +1 -1
- package/dist/metadata/optional_native_modules.js +108 -3
- package/dist/metadata/optional_native_modules.js.map +1 -1
- package/dist/metadata/use_smile_id_metadata.d.ts +45 -7
- package/dist/metadata/use_smile_id_metadata.d.ts.map +1 -1
- package/dist/metadata/use_smile_id_metadata.js +85 -13
- package/dist/metadata/use_smile_id_metadata.js.map +1 -1
- package/dist/metadata/use_smile_id_metadata_factory.d.ts +37 -0
- package/dist/metadata/use_smile_id_metadata_factory.d.ts.map +1 -1
- package/dist/metadata/use_smile_id_metadata_factory.js +197 -16
- package/dist/metadata/use_smile_id_metadata_factory.js.map +1 -1
- package/dist/presentation/assets/svg/document_shimmer_strings.d.ts +14 -0
- package/dist/presentation/assets/svg/document_shimmer_strings.d.ts.map +1 -0
- package/dist/presentation/assets/svg/document_shimmer_strings.js +14 -0
- package/dist/presentation/assets/svg/document_shimmer_strings.js.map +1 -0
- package/dist/presentation/assets/svg/instruction_svg_strings.d.ts +12 -4
- package/dist/presentation/assets/svg/instruction_svg_strings.d.ts.map +1 -1
- package/dist/presentation/assets/svg/instruction_svg_strings.js +19 -8
- package/dist/presentation/assets/svg/instruction_svg_strings.js.map +1 -1
- package/dist/presentation/components/helpers/enhanced_smart_selfie_animation_frames.d.ts +0 -5
- package/dist/presentation/components/helpers/enhanced_smart_selfie_animation_frames.d.ts.map +1 -1
- package/dist/presentation/components/helpers/enhanced_smart_selfie_animation_frames.js +0 -5
- package/dist/presentation/components/helpers/enhanced_smart_selfie_animation_frames.js.map +1 -1
- package/dist/presentation/components/icons/index.d.ts +24 -8
- package/dist/presentation/components/icons/index.d.ts.map +1 -1
- package/dist/presentation/components/icons/index.js +31 -11
- package/dist/presentation/components/icons/index.js.map +1 -1
- package/dist/presentation/components/use_smile_id_attribution.d.ts +1 -1
- package/dist/presentation/components/use_smile_id_button.d.ts +2 -2
- package/dist/presentation/components/use_smile_id_button.js +4 -4
- package/dist/presentation/components/use_smile_id_button.js.map +1 -1
- package/dist/presentation/components/use_smile_id_capture_content.d.ts +13 -0
- package/dist/presentation/components/use_smile_id_capture_content.d.ts.map +1 -1
- package/dist/presentation/components/use_smile_id_capture_content.js +15 -9
- package/dist/presentation/components/use_smile_id_capture_content.js.map +1 -1
- package/dist/presentation/components/use_smile_id_captured_document_image.d.ts +2 -3
- package/dist/presentation/components/use_smile_id_captured_document_image.d.ts.map +1 -1
- package/dist/presentation/components/use_smile_id_captured_document_image.js +1 -3
- package/dist/presentation/components/use_smile_id_captured_document_image.js.map +1 -1
- package/dist/presentation/components/use_smile_id_document_capture_controls.d.ts +12 -6
- package/dist/presentation/components/use_smile_id_document_capture_controls.d.ts.map +1 -1
- package/dist/presentation/components/use_smile_id_document_capture_controls.js +59 -16
- package/dist/presentation/components/use_smile_id_document_capture_controls.js.map +1 -1
- package/dist/presentation/components/use_smile_id_document_overlay.d.ts +22 -5
- package/dist/presentation/components/use_smile_id_document_overlay.d.ts.map +1 -1
- package/dist/presentation/components/use_smile_id_document_overlay.js +80 -40
- package/dist/presentation/components/use_smile_id_document_overlay.js.map +1 -1
- package/dist/presentation/components/use_smile_id_document_shimmer.d.ts +15 -0
- package/dist/presentation/components/use_smile_id_document_shimmer.d.ts.map +1 -0
- package/dist/presentation/components/use_smile_id_document_shimmer.js +23 -0
- package/dist/presentation/components/use_smile_id_document_shimmer.js.map +1 -0
- package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_clip.d.ts +5 -2
- package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_clip.d.ts.map +1 -1
- package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_clip.js +9 -6
- package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_clip.js.map +1 -1
- package/dist/presentation/components/use_smile_id_guideline_thumbnail.d.ts.map +1 -1
- package/dist/presentation/components/use_smile_id_guideline_thumbnail.js +84 -1
- package/dist/presentation/components/use_smile_id_guideline_thumbnail.js.map +1 -1
- package/dist/presentation/components/use_smile_id_instructions_hero.d.ts +3 -1
- package/dist/presentation/components/use_smile_id_instructions_hero.d.ts.map +1 -1
- package/dist/presentation/components/use_smile_id_instructions_hero.js +25 -5
- package/dist/presentation/components/use_smile_id_instructions_hero.js.map +1 -1
- package/dist/presentation/components/use_smile_id_oval_border_palette.d.ts.map +1 -1
- package/dist/presentation/components/use_smile_id_oval_border_palette.js +7 -3
- package/dist/presentation/components/use_smile_id_oval_border_palette.js.map +1 -1
- package/dist/presentation/flow/dsl/builder/config_builder.d.ts +28 -0
- package/dist/presentation/flow/dsl/builder/config_builder.d.ts.map +1 -1
- package/dist/presentation/flow/dsl/builder/config_builder.js +30 -0
- package/dist/presentation/flow/dsl/builder/config_builder.js.map +1 -1
- package/dist/presentation/flow/dsl/builder/ml_builder.d.ts +13 -4
- package/dist/presentation/flow/dsl/builder/ml_builder.d.ts.map +1 -1
- package/dist/presentation/flow/dsl/builder/ml_builder.js +3 -2
- package/dist/presentation/flow/dsl/builder/ml_builder.js.map +1 -1
- package/dist/presentation/flow/dsl/builder/screens_builder.d.ts +110 -12
- package/dist/presentation/flow/dsl/builder/screens_builder.d.ts.map +1 -1
- package/dist/presentation/flow/dsl/builder/screens_builder.js +110 -12
- package/dist/presentation/flow/dsl/builder/screens_builder.js.map +1 -1
- package/dist/presentation/flow/dsl/builder/theme_builder.d.ts +15 -2
- package/dist/presentation/flow/dsl/builder/theme_builder.d.ts.map +1 -1
- package/dist/presentation/flow/dsl/builder/theme_builder.js +15 -2
- package/dist/presentation/flow/dsl/builder/theme_builder.js.map +1 -1
- package/dist/presentation/flow/dsl/use_smile_id_builder.d.ts +6 -4
- package/dist/presentation/flow/dsl/use_smile_id_builder.d.ts.map +1 -1
- package/dist/presentation/flow/dsl/use_smile_id_builder.js.map +1 -1
- package/dist/presentation/flow/dsl/use_smile_id_flow_builder.d.ts +62 -36
- package/dist/presentation/flow/dsl/use_smile_id_flow_builder.d.ts.map +1 -1
- package/dist/presentation/flow/dsl/use_smile_id_flow_builder.js +62 -36
- package/dist/presentation/flow/dsl/use_smile_id_flow_builder.js.map +1 -1
- package/dist/presentation/flow/flow_navigation_manager.d.ts +44 -5
- package/dist/presentation/flow/flow_navigation_manager.d.ts.map +1 -1
- package/dist/presentation/flow/flow_navigation_manager.js +148 -11
- package/dist/presentation/flow/flow_navigation_manager.js.map +1 -1
- package/dist/presentation/flow/model/instruction_guideline.d.ts +9 -0
- package/dist/presentation/flow/model/instruction_guideline.d.ts.map +1 -1
- package/dist/presentation/flow/model/instructions_defaults.d.ts +11 -2
- package/dist/presentation/flow/model/instructions_defaults.d.ts.map +1 -1
- package/dist/presentation/flow/model/instructions_defaults.js +74 -26
- package/dist/presentation/flow/model/instructions_defaults.js.map +1 -1
- package/dist/presentation/flow/screen/orchestrated_capture_screen.d.ts.map +1 -1
- package/dist/presentation/flow/screen/orchestrated_capture_screen.js +48 -14
- package/dist/presentation/flow/screen/orchestrated_capture_screen.js.map +1 -1
- package/dist/presentation/flow/screen/orchestrated_consent_screen.d.ts.map +1 -1
- package/dist/presentation/flow/screen/orchestrated_consent_screen.js +3 -1
- package/dist/presentation/flow/screen/orchestrated_consent_screen.js.map +1 -1
- package/dist/presentation/flow/screen/orchestrated_instructions_screen.js +1 -1
- package/dist/presentation/flow/screen/orchestrated_instructions_screen.js.map +1 -1
- package/dist/presentation/flow/screen/orchestrated_preview_screen.d.ts.map +1 -1
- package/dist/presentation/flow/screen/orchestrated_preview_screen.js +3 -9
- package/dist/presentation/flow/screen/orchestrated_preview_screen.js.map +1 -1
- package/dist/presentation/flow/screen/orchestrated_processing_screen.js +3 -3
- package/dist/presentation/flow/screen/orchestrated_processing_screen.js.map +1 -1
- package/dist/presentation/flow/use_smile_id_flow.d.ts.map +1 -1
- package/dist/presentation/flow/use_smile_id_flow.js +10 -4
- package/dist/presentation/flow/use_smile_id_flow.js.map +1 -1
- package/dist/presentation/flow/validation/flow_validator.d.ts.map +1 -1
- package/dist/presentation/flow/validation/flow_validator.js +42 -20
- package/dist/presentation/flow/validation/flow_validator.js.map +1 -1
- package/dist/presentation/flow/validation/job_type_validator.d.ts.map +1 -1
- package/dist/presentation/flow/validation/job_type_validator.js +14 -0
- package/dist/presentation/flow/validation/job_type_validator.js.map +1 -1
- package/dist/presentation/screen/helpers/capture_screen_helpers.d.ts.map +1 -1
- package/dist/presentation/screen/helpers/capture_screen_helpers.js +1 -0
- package/dist/presentation/screen/helpers/capture_screen_helpers.js.map +1 -1
- package/dist/presentation/screen/helpers/capture_ui_state.d.ts +6 -6
- package/dist/presentation/screen/helpers/capture_ui_state.d.ts.map +1 -1
- package/dist/presentation/screen/helpers/capture_ui_state.js +19 -19
- package/dist/presentation/screen/helpers/capture_ui_state.js.map +1 -1
- package/dist/presentation/screen/helpers/ess_turn_haptics.d.ts +2 -2
- package/dist/presentation/screen/helpers/ess_turn_haptics.d.ts.map +1 -1
- package/dist/presentation/screen/helpers/ess_turn_haptics.js +6 -6
- package/dist/presentation/screen/helpers/ess_turn_haptics.js.map +1 -1
- package/dist/presentation/screen/helpers/instructions_screen_helpers.d.ts +1 -0
- package/dist/presentation/screen/helpers/instructions_screen_helpers.d.ts.map +1 -1
- package/dist/presentation/screen/helpers/instructions_screen_helpers.js +6 -2
- package/dist/presentation/screen/helpers/instructions_screen_helpers.js.map +1 -1
- package/dist/presentation/screen/helpers/scan_state_to_overlay_state.d.ts +5 -5
- package/dist/presentation/screen/helpers/scan_state_to_overlay_state.d.ts.map +1 -1
- package/dist/presentation/screen/helpers/scan_state_to_overlay_state.js +14 -11
- package/dist/presentation/screen/helpers/scan_state_to_overlay_state.js.map +1 -1
- package/dist/presentation/screen/helpers/use_capture_orientation_lock.d.ts +13 -3
- package/dist/presentation/screen/helpers/use_capture_orientation_lock.d.ts.map +1 -1
- package/dist/presentation/screen/helpers/use_capture_orientation_lock.js +48 -6
- package/dist/presentation/screen/helpers/use_capture_orientation_lock.js.map +1 -1
- package/dist/presentation/screen/use_smile_id_capture_screen.d.ts +21 -3
- package/dist/presentation/screen/use_smile_id_capture_screen.d.ts.map +1 -1
- package/dist/presentation/screen/use_smile_id_capture_screen.js +188 -32
- package/dist/presentation/screen/use_smile_id_capture_screen.js.map +1 -1
- package/dist/presentation/screen/use_smile_id_consent_screen.d.ts +7 -0
- package/dist/presentation/screen/use_smile_id_consent_screen.d.ts.map +1 -1
- package/dist/presentation/screen/use_smile_id_consent_screen.js +6 -5
- package/dist/presentation/screen/use_smile_id_consent_screen.js.map +1 -1
- package/dist/presentation/screen/use_smile_id_document_back_instructions.d.ts.map +1 -1
- package/dist/presentation/screen/use_smile_id_document_back_instructions.js +5 -13
- package/dist/presentation/screen/use_smile_id_document_back_instructions.js.map +1 -1
- package/dist/presentation/screen/use_smile_id_document_preview_screen.d.ts +2 -3
- package/dist/presentation/screen/use_smile_id_document_preview_screen.d.ts.map +1 -1
- package/dist/presentation/screen/use_smile_id_document_preview_screen.js +17 -12
- package/dist/presentation/screen/use_smile_id_document_preview_screen.js.map +1 -1
- package/dist/presentation/screen/use_smile_id_instructions_screen.d.ts +2 -0
- package/dist/presentation/screen/use_smile_id_instructions_screen.d.ts.map +1 -1
- package/dist/presentation/screen/use_smile_id_instructions_screen.js +2 -1
- package/dist/presentation/screen/use_smile_id_instructions_screen.js.map +1 -1
- package/dist/presentation/screen/use_smile_id_preview_screen.d.ts +7 -26
- package/dist/presentation/screen/use_smile_id_preview_screen.d.ts.map +1 -1
- package/dist/presentation/screen/use_smile_id_preview_screen.js +10 -20
- package/dist/presentation/screen/use_smile_id_preview_screen.js.map +1 -1
- package/dist/presentation/screen/use_smile_id_processing_screen.d.ts +2 -3
- package/dist/presentation/screen/use_smile_id_processing_screen.d.ts.map +1 -1
- package/dist/presentation/screen/use_smile_id_processing_screen.js +4 -3
- package/dist/presentation/screen/use_smile_id_processing_screen.js.map +1 -1
- package/dist/presentation/theme/theme.d.ts +1 -1
- package/dist/presentation/theme/theme.d.ts.map +1 -1
- package/dist/presentation/theme/theme.js +20 -18
- package/dist/presentation/theme/theme.js.map +1 -1
- package/dist/presentation/utils/force_max_brightness.d.ts +4 -4
- package/dist/presentation/utils/locale_utils.d.ts +10 -4
- package/dist/presentation/utils/locale_utils.d.ts.map +1 -1
- package/dist/presentation/utils/locale_utils.js +13 -5
- package/dist/presentation/utils/locale_utils.js.map +1 -1
- package/dist/testing/fake_face_analyzer.d.ts +43 -0
- package/dist/testing/fake_face_analyzer.d.ts.map +1 -0
- package/dist/testing/fake_face_analyzer.js +52 -0
- package/dist/testing/fake_face_analyzer.js.map +1 -0
- package/dist/testing/index.d.ts +5 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +7 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/scenario_expectations.d.ts +28 -0
- package/dist/testing/scenario_expectations.d.ts.map +1 -0
- package/dist/testing/scenario_expectations.js +65 -0
- package/dist/testing/scenario_expectations.js.map +1 -0
- package/dist/testing/scenario_loader.d.ts +11 -0
- package/dist/testing/scenario_loader.d.ts.map +1 -0
- package/dist/testing/scenario_loader.js +64 -0
- package/dist/testing/scenario_loader.js.map +1 -0
- package/dist/testing/scripted_scan_results.d.ts +17 -0
- package/dist/testing/scripted_scan_results.d.ts.map +1 -0
- package/dist/testing/scripted_scan_results.js +52 -0
- package/dist/testing/scripted_scan_results.js.map +1 -0
- package/package.json +34 -7
- package/src/__tests__/dsl.test.ts +51 -1
- package/src/__tests__/react_native_mock.tsx +8 -0
- package/src/__tests__/setup_react_native.ts +17 -2
- package/src/__tests__/snapshots/__snapshots__/screens_structural.test.tsx.snap +5261 -0
- package/src/__tests__/snapshots/screens_structural.test.tsx +230 -0
- package/src/camera/__tests__/use_smile_id_camera_system.test.ts +103 -0
- package/src/camera/camera_defaults.ts +11 -9
- package/src/camera/orientation_degrees.ts +5 -6
- package/src/core/exception/__tests__/builder_validation_exceptions.test.ts +67 -0
- package/src/core/exception/agent_mode_with_enhanced_liveness_exception.ts +20 -0
- package/src/core/exception/capture_validation_exceptions.ts +1 -0
- package/src/core/exception/index.ts +1 -0
- package/src/core/exception/use_smile_id_error_code.ts +1 -0
- package/src/core/models/__tests__/document_type.test.ts +7 -5
- package/src/core/models/__tests__/flow_models.test.ts +26 -0
- package/src/core/models/config.ts +22 -0
- package/src/core/models/document_capture_mode.ts +27 -0
- package/src/core/models/document_type.ts +7 -5
- package/src/core/models/global_privacy_control.ts +45 -0
- package/src/core/models/network_config.ts +2 -2
- package/src/core/models/result.ts +9 -8
- package/src/data/api/__tests__/smile_id_api.test.ts +1 -1
- package/src/data/api/interceptors/__tests__/gzip_interceptor.test.ts +83 -0
- package/src/data/api/interceptors/__tests__/smile_integrity_interceptor.test.ts +37 -1
- package/src/data/api/interceptors/__tests__/smile_request_mac_interceptor.test.ts +59 -1
- package/src/data/api/interceptors/smile_auth_interceptor.ts +3 -18
- package/src/data/api/interceptors/smile_integrity_interceptor.ts +20 -0
- package/src/data/api/interceptors/smile_request_mac_interceptor.ts +13 -0
- package/src/data/compression/__tests__/payload_compressor.test.ts +200 -0
- package/src/data/compression/__tests__/payload_compressor_real_jpeg.test.ts +226 -0
- package/src/data/compression/compressible_asset.ts +62 -0
- package/src/data/compression/payload_compression_config.ts +53 -0
- package/src/data/compression/payload_compression_runner.ts +102 -0
- package/src/data/compression/payload_compressor.ts +164 -0
- package/src/data/compression/uri_compressible_asset.ts +85 -0
- package/src/data/dsl/builder/__tests__/config_builders.test.ts +62 -0
- package/src/data/dsl/builder/cache_config_builder.ts +3 -1
- package/src/data/dsl/builder/config_builder.ts +45 -14
- package/src/data/dsl/builder/interceptor_config_builder.ts +9 -7
- package/src/data/dsl/builder/retry_config_builder.ts +27 -6
- package/src/data/dsl/builder/timeout_config_builder.ts +7 -0
- package/src/data/dsl/use_smile_id_network_builder.ts +17 -0
- package/src/data/factory/__tests__/retry_gzip_mac_composition.test.ts +163 -0
- package/src/data/factory/__tests__/signed_job_submission_headers.test.ts +1 -1
- package/src/data/factory/networking_factory.ts +14 -1
- package/src/data/repository/__tests__/network_retries.test.ts +117 -0
- package/src/data/repository/__tests__/use_smile_id_repository.test.ts +1 -1
- package/src/data/repository/use_smile_id_repository_impl.ts +96 -9
- package/src/data/security/__tests__/request_canonicalizer.test.ts +132 -0
- package/src/data/security/__tests__/security_policy.test.ts +96 -0
- package/src/data/security/__tests__/smile_id_crypto_manager.test.ts +18 -0
- package/src/data/security/request_canonicalizer.ts +15 -2
- package/src/data/security/security_policy.ts +70 -0
- package/src/data/smile_id_urls.ts +1 -1
- package/src/data/util/__tests__/retry_util.test.ts +25 -0
- package/src/data/util/__tests__/use_smile_id_token_decoder.test.ts +57 -1
- package/src/data/util/retry_util.ts +12 -3
- package/src/data/util/use_smile_id_token_decoder.ts +76 -28
- package/src/index.ts +6 -4
- package/src/l10n/strings_en.ts +2 -1
- package/src/l10n/use_smile_id_localizations.ts +3 -0
- package/src/metadata/__tests__/device_orientation_collector.test.ts +15 -0
- package/src/metadata/__tests__/metadata_configuration_mappers.test.ts +254 -0
- package/src/metadata/__tests__/metadata_configuration_objects.test.ts +86 -0
- package/src/metadata/__tests__/metadata_device_context.test.ts +147 -0
- package/src/metadata/__tests__/metadata_device_os_android.test.ts +18 -0
- package/src/metadata/__tests__/metadata_golden_fixture.json +13 -0
- package/src/metadata/__tests__/metadata_payload_golden.test.ts +193 -0
- package/src/metadata/__tests__/use_smile_id_metadata.test.ts +19 -25
- package/src/metadata/builder_configuration.ts +69 -0
- package/src/metadata/captured_image_properties.ts +10 -0
- package/src/metadata/device_orientation_collector.ts +75 -0
- package/src/metadata/geolocation.ts +46 -0
- package/src/metadata/metadata_configuration_mappers.ts +248 -0
- package/src/metadata/model_configuration.ts +68 -0
- package/src/metadata/optional_native_modules.ts +157 -3
- package/src/metadata/use_smile_id_metadata.ts +140 -17
- package/src/metadata/use_smile_id_metadata_factory.ts +211 -16
- package/src/presentation/assets/si_document_green_book_hero_animation.json +1 -4668
- package/src/presentation/assets/si_document_hero_animation.json +1 -4799
- package/src/presentation/assets/si_document_hero_back_animation.json +1 -2039
- package/src/presentation/assets/si_document_passport_hero_animation.json +1 -14491
- package/src/presentation/assets/si_ess_all_directions_hero_animation.json +1 -0
- package/src/presentation/assets/si_ess_animation_all_directions.json +1 -5575
- package/src/presentation/assets/si_selfie_hero_animation.json +1 -1439
- package/src/presentation/assets/si_smile_to_capture_animation.json +1 -1439
- package/src/presentation/assets/svg/document_shimmer_strings.ts +17 -0
- package/src/presentation/assets/svg/instruction_svg_strings.ts +34 -12
- package/src/presentation/components/__tests__/enhanced_smart_selfie_animation_frames.test.ts +1 -3
- package/src/presentation/components/__tests__/use_smile_id_enhanced_smart_selfie_clip.test.tsx +12 -8
- package/src/presentation/components/__tests__/use_smile_id_guideline_thumbnail.test.tsx +34 -1
- package/src/presentation/components/__tests__/use_smile_id_instructions_hero.test.tsx +71 -0
- package/src/presentation/components/__tests__/use_smile_id_oval_border_palette.test.ts +7 -5
- package/src/presentation/components/helpers/enhanced_smart_selfie_animation_frames.ts +0 -6
- package/src/presentation/components/icons/index.tsx +65 -18
- package/src/presentation/components/use_smile_id_attribution.tsx +1 -1
- package/src/presentation/components/use_smile_id_button.tsx +4 -4
- package/src/presentation/components/use_smile_id_capture_content.tsx +36 -12
- package/src/presentation/components/use_smile_id_captured_document_image.tsx +3 -8
- package/src/presentation/components/use_smile_id_document_capture_controls.tsx +103 -39
- package/src/presentation/components/use_smile_id_document_overlay.tsx +134 -44
- package/src/presentation/components/use_smile_id_document_shimmer.tsx +51 -0
- package/src/presentation/components/use_smile_id_enhanced_smart_selfie_clip.tsx +9 -6
- package/src/presentation/components/use_smile_id_guideline_thumbnail.tsx +131 -2
- package/src/presentation/components/use_smile_id_instructions_hero.tsx +111 -60
- package/src/presentation/components/use_smile_id_oval_border_palette.ts +7 -3
- package/src/presentation/flow/__tests__/document_flow_navigation.test.ts +203 -4
- package/src/presentation/flow/__tests__/flow_navigation_manager.test.ts +49 -0
- package/src/presentation/flow/dsl/builder/__tests__/config_builder.test.ts +25 -0
- package/src/presentation/flow/dsl/builder/config_builder.ts +35 -0
- package/src/presentation/flow/dsl/builder/ml_builder.ts +13 -4
- package/src/presentation/flow/dsl/builder/screens_builder.ts +110 -12
- package/src/presentation/flow/dsl/builder/theme_builder.ts +19 -2
- package/src/presentation/flow/dsl/use_smile_id_builder.tsx +6 -4
- package/src/presentation/flow/dsl/use_smile_id_flow_builder.ts +62 -36
- package/src/presentation/flow/flow_navigation_manager.ts +185 -14
- package/src/presentation/flow/model/instruction_guideline.ts +6 -0
- package/src/presentation/flow/model/instructions_defaults.ts +104 -26
- package/src/presentation/flow/screen/orchestrated_capture_screen.tsx +60 -12
- package/src/presentation/flow/screen/orchestrated_consent_screen.tsx +5 -0
- package/src/presentation/flow/screen/orchestrated_instructions_screen.tsx +1 -0
- package/src/presentation/flow/screen/orchestrated_preview_screen.tsx +4 -14
- package/src/presentation/flow/screen/orchestrated_processing_screen.tsx +3 -3
- package/src/presentation/flow/use_smile_id_flow.tsx +11 -4
- package/src/presentation/flow/validation/__tests__/flow_validator.test.ts +61 -1
- package/src/presentation/flow/validation/__tests__/job_type_validator.test.ts +64 -0
- package/src/presentation/flow/validation/flow_validator.ts +55 -26
- package/src/presentation/flow/validation/job_type_validator.ts +24 -0
- package/src/presentation/screen/__tests__/capture_ui_state.test.ts +66 -47
- package/src/presentation/screen/__tests__/ess_turn_haptics.test.ts +15 -11
- package/src/presentation/screen/__tests__/instructions_screen_helpers.test.ts +15 -3
- package/src/presentation/screen/__tests__/scan_state_to_overlay_state.test.ts +47 -27
- package/src/presentation/screen/__tests__/use_smile_id_capture_screen.test.tsx +182 -18
- package/src/presentation/screen/__tests__/use_smile_id_document_back_instructions.test.tsx +1 -1
- package/src/presentation/screen/__tests__/use_smile_id_preview_screen.test.tsx +10 -40
- package/src/presentation/screen/helpers/__tests__/use_capture_orientation_lock.test.tsx +212 -0
- package/src/presentation/screen/helpers/capture_screen_helpers.ts +1 -0
- package/src/presentation/screen/helpers/capture_ui_state.ts +27 -27
- package/src/presentation/screen/helpers/ess_turn_haptics.ts +9 -9
- package/src/presentation/screen/helpers/instructions_screen_helpers.ts +7 -2
- package/src/presentation/screen/helpers/scan_state_to_overlay_state.ts +16 -13
- package/src/presentation/screen/helpers/use_capture_orientation_lock.ts +69 -7
- package/src/presentation/screen/use_smile_id_capture_screen.tsx +280 -54
- package/src/presentation/screen/use_smile_id_consent_screen.tsx +16 -5
- package/src/presentation/screen/use_smile_id_document_back_instructions.tsx +14 -23
- package/src/presentation/screen/use_smile_id_document_preview_screen.tsx +33 -23
- package/src/presentation/screen/use_smile_id_instructions_screen.tsx +4 -0
- package/src/presentation/screen/use_smile_id_preview_screen.tsx +21 -53
- package/src/presentation/screen/use_smile_id_processing_screen.tsx +8 -8
- package/src/presentation/theme/theme.ts +21 -19
- package/src/presentation/utils/__tests__/locale_utils.test.ts +46 -5
- package/src/presentation/utils/force_max_brightness.tsx +4 -4
- package/src/presentation/utils/locale_utils.ts +13 -4
- package/src/testing/__tests__/fake_face_analyzer.test.ts +42 -0
- package/src/testing/__tests__/scenario_expectations.test.ts +110 -0
- package/src/testing/__tests__/scenario_loader.test.ts +64 -0
- package/src/testing/fake_face_analyzer.ts +82 -0
- package/src/testing/index.ts +15 -0
- package/src/testing/scenario_expectations.ts +87 -0
- package/src/testing/scenario_loader.ts +83 -0
- package/src/testing/scripted_scan_results.ts +66 -0
- package/dist/camera/frame_processor_plugin.d.ts +0 -28
- package/dist/camera/frame_processor_plugin.d.ts.map +0 -1
- package/dist/camera/frame_processor_plugin.js +0 -21
- package/dist/camera/frame_processor_plugin.js.map +0 -1
- package/dist/camera/use_smile_id_frame_processor.d.ts +0 -38
- package/dist/camera/use_smile_id_frame_processor.d.ts.map +0 -1
- package/dist/camera/use_smile_id_frame_processor.js +0 -2
- package/dist/camera/use_smile_id_frame_processor.js.map +0 -1
- package/dist/presentation/components/use_smile_id_document_frame_glyph.d.ts +0 -17
- package/dist/presentation/components/use_smile_id_document_frame_glyph.d.ts.map +0 -1
- package/dist/presentation/components/use_smile_id_document_frame_glyph.js +0 -17
- package/dist/presentation/components/use_smile_id_document_frame_glyph.js.map +0 -1
- package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_animation.d.ts +0 -24
- package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_animation.d.ts.map +0 -1
- package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_animation.js +0 -91
- package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_animation.js.map +0 -1
- package/dist/presentation/components/use_smile_id_face_silhouette_overlay.d.ts +0 -15
- package/dist/presentation/components/use_smile_id_face_silhouette_overlay.d.ts.map +0 -1
- package/dist/presentation/components/use_smile_id_face_silhouette_overlay.js +0 -19
- package/dist/presentation/components/use_smile_id_face_silhouette_overlay.js.map +0 -1
- package/dist/presentation/components/use_smile_id_instruction_card.d.ts +0 -31
- package/dist/presentation/components/use_smile_id_instruction_card.d.ts.map +0 -1
- package/dist/presentation/components/use_smile_id_instruction_card.js +0 -43
- package/dist/presentation/components/use_smile_id_instruction_card.js.map +0 -1
- package/dist/presentation/screen/helpers/use_document_orientation_lock.d.ts +0 -24
- package/dist/presentation/screen/helpers/use_document_orientation_lock.d.ts.map +0 -1
- package/dist/presentation/screen/helpers/use_document_orientation_lock.js +0 -47
- package/dist/presentation/screen/helpers/use_document_orientation_lock.js.map +0 -1
- package/src/presentation/components/use_smile_id_document_frame_glyph.tsx +0 -162
- package/src/presentation/components/use_smile_id_face_silhouette_overlay.tsx +0 -27
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use_smile_id_frame_processor.d.ts","sourceRoot":"","sources":["../../src/camera/use_smile_id_frame_processor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAExD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,WAAW,wBACf,SAAQ,YAAY,CAAC;IAAE,GAAG,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,QAAQ,CAAA;CAAE,CAAC;IACzD;;;;OAIG;IACH,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;CAC9C"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use_smile_id_frame_processor.js","sourceRoot":"","sources":["../../src/camera/use_smile_id_frame_processor.ts"],"names":[],"mappings":""}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Translucent in-frame document glyph — the "what to align here" hint shown
|
|
3
|
-
* while idle/positioning, hidden once capture begins.
|
|
4
|
-
*
|
|
5
|
-
* PLACEHOLDER: static card illustration standing in for the per-document-type
|
|
6
|
-
* capture Lottie (not finalised). Swap point: replace the body with the resolved
|
|
7
|
-
* Lottie for `documentType` + `isLandscape`; the call site and props stay the same.
|
|
8
|
-
*/
|
|
9
|
-
export type UseSmileIDDocumentFrameGlyphProps = {
|
|
10
|
-
readonly width: number;
|
|
11
|
-
readonly height: number;
|
|
12
|
-
/** Landscape (ID card): photo left + lines right. Portrait: header + lines, photo bottom-left. */
|
|
13
|
-
readonly isLandscape: boolean;
|
|
14
|
-
readonly testID?: string;
|
|
15
|
-
};
|
|
16
|
-
export declare const UseSmileIDDocumentFrameGlyph: import("react").MemoExoticComponent<(props: UseSmileIDDocumentFrameGlyphProps) => import("react").JSX.Element | null>;
|
|
17
|
-
//# sourceMappingURL=use_smile_id_document_frame_glyph.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use_smile_id_document_frame_glyph.d.ts","sourceRoot":"","sources":["../../../src/presentation/components/use_smile_id_document_frame_glyph.tsx"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,MAAM,MAAM,iCAAiC,GAAG;IAC9C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,kGAAkG;IAClG,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAUF,eAAO,MAAM,4BAA4B,8CAE9B,iCAAiC,wCAoI3C,CAAC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { memo } from "react";
|
|
3
|
-
import Svg, { Rect } from "react-native-svg";
|
|
4
|
-
/** Translucent white — readable over the dimmed feed without hiding it. */
|
|
5
|
-
const GLYPH_COLOR = "#FFFFFF8C"; // white @ ~55%
|
|
6
|
-
/** Faint card fill so the skeleton reads as one document card, not loose bars. */
|
|
7
|
-
const CARD_FILL = "#FFFFFF26"; // white @ ~15%
|
|
8
|
-
const CORNER = 6;
|
|
9
|
-
/** Card-fill corner radius — matches the overlay frame's 8px radius. */
|
|
10
|
-
const FRAME_FILL_CORNER = 8;
|
|
11
|
-
export const UseSmileIDDocumentFrameGlyph = memo(function UseSmileIDDocumentFrameGlyph(props) {
|
|
12
|
-
const { width: w, height: h, isLandscape } = props;
|
|
13
|
-
if (w <= 0 || h <= 0)
|
|
14
|
-
return null;
|
|
15
|
-
return (_jsxs(Svg, { width: w, height: h, viewBox: `0 0 ${w} ${h}`, preserveAspectRatio: "none", ...(props.testID !== undefined ? { testID: props.testID } : {}), children: [_jsx(Rect, { x: 0, y: 0, width: w, height: h, rx: FRAME_FILL_CORNER, fill: CARD_FILL }), isLandscape ? (_jsxs(_Fragment, { children: [_jsx(Rect, { x: w * 0.08, y: h * 0.2, width: w * 0.3, height: h * 0.6, rx: CORNER, fill: GLYPH_COLOR }), _jsx(Rect, { x: w * 0.46, y: h * 0.26, width: w * 0.4, height: h * 0.07, rx: CORNER, fill: GLYPH_COLOR }), _jsx(Rect, { x: w * 0.46, y: h * 0.4, width: w * 0.44, height: h * 0.07, rx: CORNER, fill: GLYPH_COLOR }), _jsx(Rect, { x: w * 0.46, y: h * 0.54, width: w * 0.36, height: h * 0.07, rx: CORNER, fill: GLYPH_COLOR }), _jsx(Rect, { x: w * 0.46, y: h * 0.68, width: w * 0.28, height: h * 0.07, rx: CORNER, fill: GLYPH_COLOR })] })) : (_jsxs(_Fragment, { children: [_jsx(Rect, { x: w * 0.1, y: h * 0.12, width: w * 0.8, height: h * 0.08, rx: CORNER, fill: GLYPH_COLOR }), _jsx(Rect, { x: w * 0.1, y: h * 0.26, width: w * 0.6, height: h * 0.05, rx: CORNER, fill: GLYPH_COLOR }), _jsx(Rect, { x: w * 0.1, y: h * 0.36, width: w * 0.65, height: h * 0.05, rx: CORNER, fill: GLYPH_COLOR }), _jsx(Rect, { x: w * 0.1, y: h * 0.56, width: w * 0.3, height: h * 0.28, rx: CORNER, fill: GLYPH_COLOR }), _jsx(Rect, { x: w * 0.46, y: h * 0.6, width: w * 0.44, height: h * 0.05, rx: CORNER, fill: GLYPH_COLOR }), _jsx(Rect, { x: w * 0.46, y: h * 0.7, width: w * 0.4, height: h * 0.05, rx: CORNER, fill: GLYPH_COLOR }), _jsx(Rect, { x: w * 0.46, y: h * 0.8, width: w * 0.3, height: h * 0.05, rx: CORNER, fill: GLYPH_COLOR })] }))] }));
|
|
16
|
-
});
|
|
17
|
-
//# sourceMappingURL=use_smile_id_document_frame_glyph.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use_smile_id_document_frame_glyph.js","sourceRoot":"","sources":["../../../src/presentation/components/use_smile_id_document_frame_glyph.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import type { ScanHeadTurnDirection } from "usesmileid_bridge";
|
|
2
|
-
import { type UseSmileIDOverlayState as OverlayState } from "../state/use_smile_id_overlay_state";
|
|
3
|
-
export type UseSmileIDEnhancedSmartSelfieAnimationProps = {
|
|
4
|
-
readonly overlayState: OverlayState;
|
|
5
|
-
/** Active head-turn direction from the scan state, null outside a turn. */
|
|
6
|
-
readonly direction: ScanHeadTurnDirection | null;
|
|
7
|
-
readonly containerWidth: number;
|
|
8
|
-
readonly containerHeight: number;
|
|
9
|
-
};
|
|
10
|
-
/**
|
|
11
|
-
* Enhanced Smart Selfie head-turn cue. One composition
|
|
12
|
-
* (`si_ess_animation_all_directions`) carries all three turns:
|
|
13
|
-
*
|
|
14
|
-
* - No active direction while idle / pre-capture → the whole
|
|
15
|
-
* composition loops as the pre-turn primer.
|
|
16
|
-
* - During a head turn → only that direction's frame sub-range plays,
|
|
17
|
-
* ping-ponging until the turn completes.
|
|
18
|
-
* - Reduced motion → the clip's final (turned-head) frame holds.
|
|
19
|
-
*
|
|
20
|
-
* The caller gates rendering to selfie capture with Enhanced Smart
|
|
21
|
-
* Selfie enabled.
|
|
22
|
-
*/
|
|
23
|
-
export declare function UseSmileIDEnhancedSmartSelfieAnimation(props: UseSmileIDEnhancedSmartSelfieAnimationProps): import("react").JSX.Element | null;
|
|
24
|
-
//# sourceMappingURL=use_smile_id_enhanced_smart_selfie_animation.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use_smile_id_enhanced_smart_selfie_animation.d.ts","sourceRoot":"","sources":["../../../src/presentation/components/use_smile_id_enhanced_smart_selfie_animation.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAEL,KAAK,sBAAsB,IAAI,YAAY,EAC5C,MAAM,qCAAqC,CAAC;AAuB7C,MAAM,MAAM,2CAA2C,GAAG;IACxD,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,2EAA2E;IAC3E,QAAQ,CAAC,SAAS,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACjD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,wBAAgB,sCAAsC,CACpD,KAAK,EAAE,2CAA2C,sCAkFnD"}
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { useEffect, useRef } from "react";
|
|
3
|
-
import { Animated, Easing, View } from "react-native";
|
|
4
|
-
import LottieView from "lottie-react-native";
|
|
5
|
-
import { UseSmileIDOverlayState, } from "../state/use_smile_id_overlay_state";
|
|
6
|
-
import { useReducedMotion } from "../utils/use_reduced_motion";
|
|
7
|
-
import { FaceOvalDefaults } from "./face_oval_defaults";
|
|
8
|
-
import { ENHANCED_SMART_SELFIE_FRAME_RATE, ENHANCED_SMART_SELFIE_TOTAL_FRAMES, EnhancedSmartSelfieAnimationFrames, } from "./helpers/enhanced_smart_selfie_animation_frames";
|
|
9
|
-
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
10
|
-
const ALL_DIRECTIONS_ANIMATION = require("../assets/si_ess_animation_all_directions.json");
|
|
11
|
-
/** Square box the head-turn cue renders in, centred on the oval. */
|
|
12
|
-
const ENHANCED_SMART_SELFIE_ANIMATION_SIZE = 383;
|
|
13
|
-
/** Nudge so the composition's face lands on the oval centre. */
|
|
14
|
-
const VERTICAL_ALIGNMENT_OFFSET = -15;
|
|
15
|
-
// Widens `progress` to accept an Animated.Value (lottie-react-native
|
|
16
|
-
// types it as `number`, but the runtime accepts the value) without an
|
|
17
|
-
// unsafe cast.
|
|
18
|
-
const AnimatedLottieView = Animated.createAnimatedComponent(LottieView);
|
|
19
|
-
/**
|
|
20
|
-
* Enhanced Smart Selfie head-turn cue. One composition
|
|
21
|
-
* (`si_ess_animation_all_directions`) carries all three turns:
|
|
22
|
-
*
|
|
23
|
-
* - No active direction while idle / pre-capture → the whole
|
|
24
|
-
* composition loops as the pre-turn primer.
|
|
25
|
-
* - During a head turn → only that direction's frame sub-range plays,
|
|
26
|
-
* ping-ponging until the turn completes.
|
|
27
|
-
* - Reduced motion → the clip's final (turned-head) frame holds.
|
|
28
|
-
*
|
|
29
|
-
* The caller gates rendering to selfie capture with Enhanced Smart
|
|
30
|
-
* Selfie enabled.
|
|
31
|
-
*/
|
|
32
|
-
export function UseSmileIDEnhancedSmartSelfieAnimation(props) {
|
|
33
|
-
const reducedMotion = useReducedMotion();
|
|
34
|
-
const progress = useRef(new Animated.Value(0)).current;
|
|
35
|
-
const direction = props.direction;
|
|
36
|
-
const showFullLoop = direction === null &&
|
|
37
|
-
(props.overlayState === UseSmileIDOverlayState.INSTRUCTION ||
|
|
38
|
-
props.overlayState === UseSmileIDOverlayState.IDLE);
|
|
39
|
-
const visible = direction !== null || showFullLoop;
|
|
40
|
-
useEffect(() => {
|
|
41
|
-
if (!visible)
|
|
42
|
-
return undefined;
|
|
43
|
-
const range = direction
|
|
44
|
-
? EnhancedSmartSelfieAnimationFrames[direction]
|
|
45
|
-
: { startFrame: 0, endFrame: ENHANCED_SMART_SELFIE_TOTAL_FRAMES };
|
|
46
|
-
const startProgress = range.startFrame / ENHANCED_SMART_SELFIE_TOTAL_FRAMES;
|
|
47
|
-
const endProgress = range.endFrame / ENHANCED_SMART_SELFIE_TOTAL_FRAMES;
|
|
48
|
-
if (reducedMotion) {
|
|
49
|
-
progress.setValue(endProgress);
|
|
50
|
-
return undefined;
|
|
51
|
-
}
|
|
52
|
-
const duration = ((range.endFrame - range.startFrame) /
|
|
53
|
-
ENHANCED_SMART_SELFIE_FRAME_RATE) *
|
|
54
|
-
1000;
|
|
55
|
-
progress.setValue(startProgress);
|
|
56
|
-
const forward = Animated.timing(progress, {
|
|
57
|
-
toValue: endProgress,
|
|
58
|
-
duration,
|
|
59
|
-
easing: Easing.linear,
|
|
60
|
-
useNativeDriver: false,
|
|
61
|
-
});
|
|
62
|
-
const animation = direction
|
|
63
|
-
? // Ping-pong the direction's clip so the cue keeps gesturing
|
|
64
|
-
// without snapping back to the forward pose.
|
|
65
|
-
Animated.loop(Animated.sequence([
|
|
66
|
-
forward,
|
|
67
|
-
Animated.timing(progress, {
|
|
68
|
-
toValue: startProgress,
|
|
69
|
-
duration,
|
|
70
|
-
easing: Easing.linear,
|
|
71
|
-
useNativeDriver: false,
|
|
72
|
-
}),
|
|
73
|
-
]))
|
|
74
|
-
: Animated.loop(forward);
|
|
75
|
-
animation.start();
|
|
76
|
-
return () => animation.stop();
|
|
77
|
-
}, [visible, direction, reducedMotion, progress]);
|
|
78
|
-
if (!visible || props.containerWidth <= 0 || props.containerHeight <= 0) {
|
|
79
|
-
return null;
|
|
80
|
-
}
|
|
81
|
-
const size = ENHANCED_SMART_SELFIE_ANIMATION_SIZE;
|
|
82
|
-
const ovalCenterY = props.containerHeight * FaceOvalDefaults.ovalCenterYRatio;
|
|
83
|
-
return (_jsx(View, { pointerEvents: "none", style: {
|
|
84
|
-
position: "absolute",
|
|
85
|
-
left: (props.containerWidth - size) / 2,
|
|
86
|
-
top: ovalCenterY - size / 2 + VERTICAL_ALIGNMENT_OFFSET,
|
|
87
|
-
width: size,
|
|
88
|
-
height: size,
|
|
89
|
-
}, testID: "si_ess_direction_animation", children: _jsx(AnimatedLottieView, { source: ALL_DIRECTIONS_ANIMATION, progress: progress, style: { width: "100%", height: "100%" } }) }));
|
|
90
|
-
}
|
|
91
|
-
//# sourceMappingURL=use_smile_id_enhanced_smart_selfie_animation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use_smile_id_enhanced_smart_selfie_animation.js","sourceRoot":"","sources":["../../../src/presentation/components/use_smile_id_enhanced_smart_selfie_animation.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { UseSmileIDTheme } from "../theme/theme";
|
|
2
|
-
export type UseSmileIDFaceSilhouetteOverlayProps = {
|
|
3
|
-
readonly visible: boolean;
|
|
4
|
-
readonly theme?: UseSmileIDTheme;
|
|
5
|
-
};
|
|
6
|
-
/**
|
|
7
|
-
* Silhouette guide rendered inside the face oval during the
|
|
8
|
-
* `INSTRUCTION` state — gives the user a visual hint of where to
|
|
9
|
-
* place their face before the analyzer kicks in.
|
|
10
|
-
*
|
|
11
|
-
* **STUB.** Silhouette SVG / vector pending; current implementation
|
|
12
|
-
* is an empty view.
|
|
13
|
-
*/
|
|
14
|
-
export declare function UseSmileIDFaceSilhouetteOverlay(props: UseSmileIDFaceSilhouetteOverlayProps): import("react").JSX.Element | null;
|
|
15
|
-
//# sourceMappingURL=use_smile_id_face_silhouette_overlay.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use_smile_id_face_silhouette_overlay.d.ts","sourceRoot":"","sources":["../../../src/presentation/components/use_smile_id_face_silhouette_overlay.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGtD,MAAM,MAAM,oCAAoC,GAAG;IACjD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,eAAe,CAAC;CAClC,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,oCAAoC,sCAQ5C"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { View } from "react-native";
|
|
3
|
-
import { useUseSmileIDTheme } from "../theme/theme_context";
|
|
4
|
-
/**
|
|
5
|
-
* Silhouette guide rendered inside the face oval during the
|
|
6
|
-
* `INSTRUCTION` state — gives the user a visual hint of where to
|
|
7
|
-
* place their face before the analyzer kicks in.
|
|
8
|
-
*
|
|
9
|
-
* **STUB.** Silhouette SVG / vector pending; current implementation
|
|
10
|
-
* is an empty view.
|
|
11
|
-
*/
|
|
12
|
-
export function UseSmileIDFaceSilhouetteOverlay(props) {
|
|
13
|
-
const themeFromContext = useUseSmileIDTheme();
|
|
14
|
-
const theme = props.theme ?? themeFromContext;
|
|
15
|
-
if (!props.visible)
|
|
16
|
-
return null;
|
|
17
|
-
return (_jsx(View, { style: { opacity: 0.3, backgroundColor: theme.colors.stroke } }));
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=use_smile_id_face_silhouette_overlay.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use_smile_id_face_silhouette_overlay.js","sourceRoot":"","sources":["../../../src/presentation/components/use_smile_id_face_silhouette_overlay.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAO5D;;;;;;;GAOG;AACH,MAAM,UAAU,+BAA+B,CAC7C,KAA2C;IAE3C,MAAM,gBAAgB,GAAG,kBAAkB,EAAE,CAAC;IAC9C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,gBAAgB,CAAC;IAC9C,IAAI,CAAC,KAAK,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAChC,OAAO,CACL,KAAC,IAAI,IAAC,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAI,CACxE,CAAC;AACJ,CAAC"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { type AnimationObject } from "lottie-react-native";
|
|
2
|
-
import type { UseSmileIDTheme } from "../theme/theme";
|
|
3
|
-
export type UseSmileIDInstructionCardProps = {
|
|
4
|
-
/**
|
|
5
|
-
* Lottie animation source — typically a `require(...)` of a JSON
|
|
6
|
-
* file under `presentation/assets/`, which Metro inlines as an
|
|
7
|
-
* `AnimationObject`. Loops forever at default speed (1.0x).
|
|
8
|
-
*/
|
|
9
|
-
readonly source: AnimationObject | string | {
|
|
10
|
-
readonly uri: string;
|
|
11
|
-
};
|
|
12
|
-
/**
|
|
13
|
-
* Hide the warm card background (used for the bottom row in the
|
|
14
|
-
* instructions screen's 2x2 grid, where the animations carry their
|
|
15
|
-
* own backgrounds baked into the Lottie file).
|
|
16
|
-
*/
|
|
17
|
-
readonly showBackground?: boolean;
|
|
18
|
-
readonly testID?: string;
|
|
19
|
-
readonly theme?: UseSmileIDTheme;
|
|
20
|
-
};
|
|
21
|
-
/**
|
|
22
|
-
* Square instruction card hosting a looping Lottie animation. Used
|
|
23
|
-
* in the instructions screen's 2x2 grid.
|
|
24
|
-
*
|
|
25
|
-
* Background: defaults to the warm `instructionCardBackground` tint
|
|
26
|
-
* (light beige in light mode, dark grey in dark mode). The bottom
|
|
27
|
-
* row of the grid passes `showBackground={false}` to render plain
|
|
28
|
-
* animations whose own backgrounds carry through.
|
|
29
|
-
*/
|
|
30
|
-
export declare function UseSmileIDInstructionCard(props: UseSmileIDInstructionCardProps): import("react").JSX.Element;
|
|
31
|
-
//# sourceMappingURL=use_smile_id_instruction_card.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use_smile_id_instruction_card.d.ts","sourceRoot":"","sources":["../../../src/presentation/components/use_smile_id_instruction_card.tsx"],"names":[],"mappings":"AACA,OAAmB,EAAE,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGtD,MAAM,MAAM,8BAA8B,GAAG;IAC3C;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,GAAG;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACrE;;;;OAIG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,eAAe,CAAC;CAClC,CAAC;AAKF;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,8BAA8B,+BA2BtC"}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { StyleSheet, View } from "react-native";
|
|
3
|
-
import LottieView from "lottie-react-native";
|
|
4
|
-
import { useUseSmileIDTheme } from "../theme/theme_context";
|
|
5
|
-
const CARD_SIZE = 150;
|
|
6
|
-
const CARD_RADIUS = 8;
|
|
7
|
-
/**
|
|
8
|
-
* Square instruction card hosting a looping Lottie animation. Used
|
|
9
|
-
* in the instructions screen's 2x2 grid.
|
|
10
|
-
*
|
|
11
|
-
* Background: defaults to the warm `instructionCardBackground` tint
|
|
12
|
-
* (light beige in light mode, dark grey in dark mode). The bottom
|
|
13
|
-
* row of the grid passes `showBackground={false}` to render plain
|
|
14
|
-
* animations whose own backgrounds carry through.
|
|
15
|
-
*/
|
|
16
|
-
export function UseSmileIDInstructionCard(props) {
|
|
17
|
-
const themeFromContext = useUseSmileIDTheme();
|
|
18
|
-
const theme = props.theme ?? themeFromContext;
|
|
19
|
-
const showBackground = props.showBackground ?? true;
|
|
20
|
-
return (_jsx(View, { testID: props.testID, style: [
|
|
21
|
-
styles.card,
|
|
22
|
-
{
|
|
23
|
-
borderRadius: CARD_RADIUS,
|
|
24
|
-
backgroundColor: showBackground
|
|
25
|
-
? theme.colors.instructionCardBackground
|
|
26
|
-
: "transparent",
|
|
27
|
-
},
|
|
28
|
-
], children: _jsx(LottieView, { source: props.source, autoPlay: true, loop: true, style: styles.animation }) }));
|
|
29
|
-
}
|
|
30
|
-
const styles = StyleSheet.create({
|
|
31
|
-
card: {
|
|
32
|
-
width: CARD_SIZE,
|
|
33
|
-
height: CARD_SIZE,
|
|
34
|
-
overflow: "hidden",
|
|
35
|
-
alignItems: "center",
|
|
36
|
-
justifyContent: "center",
|
|
37
|
-
},
|
|
38
|
-
animation: {
|
|
39
|
-
width: "100%",
|
|
40
|
-
height: "100%",
|
|
41
|
-
},
|
|
42
|
-
});
|
|
43
|
-
//# sourceMappingURL=use_smile_id_instruction_card.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use_smile_id_instruction_card.js","sourceRoot":"","sources":["../../../src/presentation/components/use_smile_id_instruction_card.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,UAAoC,MAAM,qBAAqB,CAAC;AAEvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAmB5D,MAAM,SAAS,GAAG,GAAG,CAAC;AACtB,MAAM,WAAW,GAAG,CAAC,CAAC;AAEtB;;;;;;;;GAQG;AACH,MAAM,UAAU,yBAAyB,CACvC,KAAqC;IAErC,MAAM,gBAAgB,GAAG,kBAAkB,EAAE,CAAC;IAC9C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,gBAAgB,CAAC;IAC9C,MAAM,cAAc,GAAG,KAAK,CAAC,cAAc,IAAI,IAAI,CAAC;IACpD,OAAO,CACL,KAAC,IAAI,IACH,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,KAAK,EAAE;YACL,MAAM,CAAC,IAAI;YACX;gBACE,YAAY,EAAE,WAAW;gBACzB,eAAe,EAAE,cAAc;oBAC7B,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,yBAAyB;oBACxC,CAAC,CAAC,aAAa;aAClB;SACF,YAED,KAAC,UAAU,IACT,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,QAAQ,QACR,IAAI,QACJ,KAAK,EAAE,MAAM,CAAC,SAAS,GAEvB,GACG,CACR,CAAC;AACJ,CAAC;AAED,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,IAAI,EAAE;QACJ,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,QAAQ;QAClB,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,QAAQ;KACzB;IACD,SAAS,EAAE;QACT,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,MAAM;KACf;CACF,CAAC,CAAC"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import type { DocumentOrientation } from "../../../core/models/document_type";
|
|
2
|
-
/**
|
|
3
|
-
* Lock the device orientation for a document capture step, scoped to the
|
|
4
|
-
* lifetime of the calling screen.
|
|
5
|
-
*
|
|
6
|
-
* - Landscape documents (ID cards) lock landscape.
|
|
7
|
-
* - Portrait documents (booklets / passports) lock portrait-up.
|
|
8
|
-
* - `undefined` (selfie, or no document type) is a no-op — the screen keeps
|
|
9
|
-
* whatever orientation the host app set.
|
|
10
|
-
*
|
|
11
|
-
* On unmount the orientation is restored to portrait-up so the following selfie
|
|
12
|
-
* capture and preview render upright. The SDK flow renderer keys each step by
|
|
13
|
-
* depth + kind and UNMOUNTS the previous screen on navigation, so this cleanup
|
|
14
|
-
* fires the moment the document step is left — the lock never leaks forward.
|
|
15
|
-
* (React Navigation's "screen stays mounted on the back stack" does not apply
|
|
16
|
-
* here, so a mount/unmount effect — not `useFocusEffect` — is the correct
|
|
17
|
-
* scoping primitive for this flow.)
|
|
18
|
-
*
|
|
19
|
-
* Orientation locks are global; the host app must permit the locked
|
|
20
|
-
* orientations at the OS level (iOS `UISupportedInterfaceOrientations`, Android
|
|
21
|
-
* activity `screenOrientation`) for the lock to take effect.
|
|
22
|
-
*/
|
|
23
|
-
export declare function useDocumentOrientationLock(orientation: DocumentOrientation | undefined): void;
|
|
24
|
-
//# sourceMappingURL=use_document_orientation_lock.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use_document_orientation_lock.d.ts","sourceRoot":"","sources":["../../../../src/presentation/screen/helpers/use_document_orientation_lock.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAE9E;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,mBAAmB,GAAG,SAAS,GAC3C,IAAI,CAcN"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { useEffect } from "react";
|
|
2
|
-
import * as ScreenOrientation from "expo-screen-orientation";
|
|
3
|
-
import { UseSmileIDCrashReporting } from "usesmileid_bridge";
|
|
4
|
-
/**
|
|
5
|
-
* Lock the device orientation for a document capture step, scoped to the
|
|
6
|
-
* lifetime of the calling screen.
|
|
7
|
-
*
|
|
8
|
-
* - Landscape documents (ID cards) lock landscape.
|
|
9
|
-
* - Portrait documents (booklets / passports) lock portrait-up.
|
|
10
|
-
* - `undefined` (selfie, or no document type) is a no-op — the screen keeps
|
|
11
|
-
* whatever orientation the host app set.
|
|
12
|
-
*
|
|
13
|
-
* On unmount the orientation is restored to portrait-up so the following selfie
|
|
14
|
-
* capture and preview render upright. The SDK flow renderer keys each step by
|
|
15
|
-
* depth + kind and UNMOUNTS the previous screen on navigation, so this cleanup
|
|
16
|
-
* fires the moment the document step is left — the lock never leaks forward.
|
|
17
|
-
* (React Navigation's "screen stays mounted on the back stack" does not apply
|
|
18
|
-
* here, so a mount/unmount effect — not `useFocusEffect` — is the correct
|
|
19
|
-
* scoping primitive for this flow.)
|
|
20
|
-
*
|
|
21
|
-
* Orientation locks are global; the host app must permit the locked
|
|
22
|
-
* orientations at the OS level (iOS `UISupportedInterfaceOrientations`, Android
|
|
23
|
-
* activity `screenOrientation`) for the lock to take effect.
|
|
24
|
-
*/
|
|
25
|
-
export function useDocumentOrientationLock(orientation) {
|
|
26
|
-
useEffect(() => {
|
|
27
|
-
if (orientation === undefined)
|
|
28
|
-
return;
|
|
29
|
-
const target = orientation === "Landscape"
|
|
30
|
-
? ScreenOrientation.OrientationLock.LANDSCAPE
|
|
31
|
-
: ScreenOrientation.OrientationLock.PORTRAIT_UP;
|
|
32
|
-
void lockOrientation(target);
|
|
33
|
-
return () => {
|
|
34
|
-
void lockOrientation(ScreenOrientation.OrientationLock.PORTRAIT_UP);
|
|
35
|
-
};
|
|
36
|
-
}, [orientation]);
|
|
37
|
-
}
|
|
38
|
-
/** Lock to `target`, routing a native failure through crash reporting. */
|
|
39
|
-
async function lockOrientation(target) {
|
|
40
|
-
try {
|
|
41
|
-
await ScreenOrientation.lockAsync(target);
|
|
42
|
-
}
|
|
43
|
-
catch (error) {
|
|
44
|
-
UseSmileIDCrashReporting.captureException(error instanceof Error ? error : new Error(String(error)));
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
//# sourceMappingURL=use_document_orientation_lock.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use_document_orientation_lock.js","sourceRoot":"","sources":["../../../../src/presentation/screen/helpers/use_document_orientation_lock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,KAAK,iBAAiB,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAG7D;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,0BAA0B,CACxC,WAA4C;IAE5C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,WAAW,KAAK,SAAS;YAAE,OAAO;QAEtC,MAAM,MAAM,GACV,WAAW,KAAK,WAAW;YACzB,CAAC,CAAC,iBAAiB,CAAC,eAAe,CAAC,SAAS;YAC7C,CAAC,CAAC,iBAAiB,CAAC,eAAe,CAAC,WAAW,CAAC;QACpD,KAAK,eAAe,CAAC,MAAM,CAAC,CAAC;QAE7B,OAAO,GAAG,EAAE;YACV,KAAK,eAAe,CAAC,iBAAiB,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QACtE,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;AACpB,CAAC;AAED,0EAA0E;AAC1E,KAAK,UAAU,eAAe,CAC5B,MAAyC;IAEzC,IAAI,CAAC;QACH,MAAM,iBAAiB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,wBAAwB,CAAC,gBAAgB,CACvC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAC1D,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
import { memo } from "react";
|
|
2
|
-
import Svg, { Rect } from "react-native-svg";
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Translucent in-frame document glyph — the "what to align here" hint shown
|
|
6
|
-
* while idle/positioning, hidden once capture begins.
|
|
7
|
-
*
|
|
8
|
-
* PLACEHOLDER: static card illustration standing in for the per-document-type
|
|
9
|
-
* capture Lottie (not finalised). Swap point: replace the body with the resolved
|
|
10
|
-
* Lottie for `documentType` + `isLandscape`; the call site and props stay the same.
|
|
11
|
-
*/
|
|
12
|
-
export type UseSmileIDDocumentFrameGlyphProps = {
|
|
13
|
-
readonly width: number;
|
|
14
|
-
readonly height: number;
|
|
15
|
-
/** Landscape (ID card): photo left + lines right. Portrait: header + lines, photo bottom-left. */
|
|
16
|
-
readonly isLandscape: boolean;
|
|
17
|
-
readonly testID?: string;
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
/** Translucent white — readable over the dimmed feed without hiding it. */
|
|
21
|
-
const GLYPH_COLOR = "#FFFFFF8C"; // white @ ~55%
|
|
22
|
-
/** Faint card fill so the skeleton reads as one document card, not loose bars. */
|
|
23
|
-
const CARD_FILL = "#FFFFFF26"; // white @ ~15%
|
|
24
|
-
const CORNER = 6;
|
|
25
|
-
/** Card-fill corner radius — matches the overlay frame's 8px radius. */
|
|
26
|
-
const FRAME_FILL_CORNER = 8;
|
|
27
|
-
|
|
28
|
-
export const UseSmileIDDocumentFrameGlyph = memo(
|
|
29
|
-
function UseSmileIDDocumentFrameGlyph(
|
|
30
|
-
props: UseSmileIDDocumentFrameGlyphProps,
|
|
31
|
-
) {
|
|
32
|
-
const { width: w, height: h, isLandscape } = props;
|
|
33
|
-
if (w <= 0 || h <= 0) return null;
|
|
34
|
-
|
|
35
|
-
return (
|
|
36
|
-
<Svg
|
|
37
|
-
width={w}
|
|
38
|
-
height={h}
|
|
39
|
-
viewBox={`0 0 ${w} ${h}`}
|
|
40
|
-
preserveAspectRatio="none"
|
|
41
|
-
{...(props.testID !== undefined ? { testID: props.testID } : {})}
|
|
42
|
-
>
|
|
43
|
-
{/* Card fill — binds the photo + line skeleton into one document card. */}
|
|
44
|
-
<Rect
|
|
45
|
-
x={0}
|
|
46
|
-
y={0}
|
|
47
|
-
width={w}
|
|
48
|
-
height={h}
|
|
49
|
-
rx={FRAME_FILL_CORNER}
|
|
50
|
-
fill={CARD_FILL}
|
|
51
|
-
/>
|
|
52
|
-
{isLandscape ? (
|
|
53
|
-
<>
|
|
54
|
-
{/* Portrait photo block (left) */}
|
|
55
|
-
<Rect
|
|
56
|
-
x={w * 0.08}
|
|
57
|
-
y={h * 0.2}
|
|
58
|
-
width={w * 0.3}
|
|
59
|
-
height={h * 0.6}
|
|
60
|
-
rx={CORNER}
|
|
61
|
-
fill={GLYPH_COLOR}
|
|
62
|
-
/>
|
|
63
|
-
{/* Text lines (right) */}
|
|
64
|
-
<Rect
|
|
65
|
-
x={w * 0.46}
|
|
66
|
-
y={h * 0.26}
|
|
67
|
-
width={w * 0.4}
|
|
68
|
-
height={h * 0.07}
|
|
69
|
-
rx={CORNER}
|
|
70
|
-
fill={GLYPH_COLOR}
|
|
71
|
-
/>
|
|
72
|
-
<Rect
|
|
73
|
-
x={w * 0.46}
|
|
74
|
-
y={h * 0.4}
|
|
75
|
-
width={w * 0.44}
|
|
76
|
-
height={h * 0.07}
|
|
77
|
-
rx={CORNER}
|
|
78
|
-
fill={GLYPH_COLOR}
|
|
79
|
-
/>
|
|
80
|
-
<Rect
|
|
81
|
-
x={w * 0.46}
|
|
82
|
-
y={h * 0.54}
|
|
83
|
-
width={w * 0.36}
|
|
84
|
-
height={h * 0.07}
|
|
85
|
-
rx={CORNER}
|
|
86
|
-
fill={GLYPH_COLOR}
|
|
87
|
-
/>
|
|
88
|
-
<Rect
|
|
89
|
-
x={w * 0.46}
|
|
90
|
-
y={h * 0.68}
|
|
91
|
-
width={w * 0.28}
|
|
92
|
-
height={h * 0.07}
|
|
93
|
-
rx={CORNER}
|
|
94
|
-
fill={GLYPH_COLOR}
|
|
95
|
-
/>
|
|
96
|
-
</>
|
|
97
|
-
) : (
|
|
98
|
-
<>
|
|
99
|
-
{/* Header band (top) */}
|
|
100
|
-
<Rect
|
|
101
|
-
x={w * 0.1}
|
|
102
|
-
y={h * 0.12}
|
|
103
|
-
width={w * 0.8}
|
|
104
|
-
height={h * 0.08}
|
|
105
|
-
rx={CORNER}
|
|
106
|
-
fill={GLYPH_COLOR}
|
|
107
|
-
/>
|
|
108
|
-
<Rect
|
|
109
|
-
x={w * 0.1}
|
|
110
|
-
y={h * 0.26}
|
|
111
|
-
width={w * 0.6}
|
|
112
|
-
height={h * 0.05}
|
|
113
|
-
rx={CORNER}
|
|
114
|
-
fill={GLYPH_COLOR}
|
|
115
|
-
/>
|
|
116
|
-
<Rect
|
|
117
|
-
x={w * 0.1}
|
|
118
|
-
y={h * 0.36}
|
|
119
|
-
width={w * 0.65}
|
|
120
|
-
height={h * 0.05}
|
|
121
|
-
rx={CORNER}
|
|
122
|
-
fill={GLYPH_COLOR}
|
|
123
|
-
/>
|
|
124
|
-
{/* Photo block (bottom-left) + lines beside it */}
|
|
125
|
-
<Rect
|
|
126
|
-
x={w * 0.1}
|
|
127
|
-
y={h * 0.56}
|
|
128
|
-
width={w * 0.3}
|
|
129
|
-
height={h * 0.28}
|
|
130
|
-
rx={CORNER}
|
|
131
|
-
fill={GLYPH_COLOR}
|
|
132
|
-
/>
|
|
133
|
-
<Rect
|
|
134
|
-
x={w * 0.46}
|
|
135
|
-
y={h * 0.6}
|
|
136
|
-
width={w * 0.44}
|
|
137
|
-
height={h * 0.05}
|
|
138
|
-
rx={CORNER}
|
|
139
|
-
fill={GLYPH_COLOR}
|
|
140
|
-
/>
|
|
141
|
-
<Rect
|
|
142
|
-
x={w * 0.46}
|
|
143
|
-
y={h * 0.7}
|
|
144
|
-
width={w * 0.4}
|
|
145
|
-
height={h * 0.05}
|
|
146
|
-
rx={CORNER}
|
|
147
|
-
fill={GLYPH_COLOR}
|
|
148
|
-
/>
|
|
149
|
-
<Rect
|
|
150
|
-
x={w * 0.46}
|
|
151
|
-
y={h * 0.8}
|
|
152
|
-
width={w * 0.3}
|
|
153
|
-
height={h * 0.05}
|
|
154
|
-
rx={CORNER}
|
|
155
|
-
fill={GLYPH_COLOR}
|
|
156
|
-
/>
|
|
157
|
-
</>
|
|
158
|
-
)}
|
|
159
|
-
</Svg>
|
|
160
|
-
);
|
|
161
|
-
},
|
|
162
|
-
);
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { View } from "react-native";
|
|
2
|
-
import type { UseSmileIDTheme } from "../theme/theme";
|
|
3
|
-
import { useUseSmileIDTheme } from "../theme/theme_context";
|
|
4
|
-
|
|
5
|
-
export type UseSmileIDFaceSilhouetteOverlayProps = {
|
|
6
|
-
readonly visible: boolean;
|
|
7
|
-
readonly theme?: UseSmileIDTheme;
|
|
8
|
-
};
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Silhouette guide rendered inside the face oval during the
|
|
12
|
-
* `INSTRUCTION` state — gives the user a visual hint of where to
|
|
13
|
-
* place their face before the analyzer kicks in.
|
|
14
|
-
*
|
|
15
|
-
* **STUB.** Silhouette SVG / vector pending; current implementation
|
|
16
|
-
* is an empty view.
|
|
17
|
-
*/
|
|
18
|
-
export function UseSmileIDFaceSilhouetteOverlay(
|
|
19
|
-
props: UseSmileIDFaceSilhouetteOverlayProps,
|
|
20
|
-
) {
|
|
21
|
-
const themeFromContext = useUseSmileIDTheme();
|
|
22
|
-
const theme = props.theme ?? themeFromContext;
|
|
23
|
-
if (!props.visible) return null;
|
|
24
|
-
return (
|
|
25
|
-
<View style={{ opacity: 0.3, backgroundColor: theme.colors.stroke }} />
|
|
26
|
-
);
|
|
27
|
-
}
|