@smileid/usesmileid 12.0.1 → 12.1.0

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.
Files changed (1230) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/README.md +66 -40
  3. package/dist/camera/camera_configuration.d.ts +0 -1
  4. package/dist/camera/camera_configuration.js +1 -2
  5. package/dist/camera/camera_defaults.d.ts +3 -2
  6. package/dist/camera/camera_defaults.js +1 -24
  7. package/dist/camera/camera_lens.d.ts +1 -5
  8. package/dist/camera/camera_lens.js +1 -12
  9. package/dist/camera/camera_permissions.d.ts +2 -7
  10. package/dist/camera/camera_permissions.js +1 -23
  11. package/dist/camera/document_image_pipeline.d.ts +0 -1
  12. package/dist/camera/document_image_pipeline.js +1 -70
  13. package/dist/camera/document_resize_target.d.ts +0 -1
  14. package/dist/camera/document_resize_target.js +1 -17
  15. package/dist/camera/focus_state.d.ts +0 -1
  16. package/dist/camera/focus_state.js +1 -13
  17. package/dist/camera/kamera_config_factory.d.ts +8 -0
  18. package/dist/camera/kamera_config_factory.js +1 -0
  19. package/dist/camera/kamera_error_mapping.d.ts +11 -0
  20. package/dist/camera/kamera_error_mapping.js +1 -0
  21. package/dist/camera/use_kamera_camera_permission.d.ts +8 -0
  22. package/dist/camera/use_kamera_camera_permission.js +1 -0
  23. package/dist/camera/use_kamera_orientation.d.ts +9 -0
  24. package/dist/camera/use_kamera_orientation.js +1 -0
  25. package/dist/camera/use_smile_id_frame_stream.d.ts +0 -1
  26. package/dist/camera/use_smile_id_frame_stream.js +1 -93
  27. package/dist/camera/use_smile_id_kamera_camera_system.d.ts +64 -0
  28. package/dist/camera/use_smile_id_kamera_camera_system.js +1 -0
  29. package/dist/camera/use_smile_id_kamera_preview.d.ts +12 -0
  30. package/dist/camera/use_smile_id_kamera_preview.js +1 -0
  31. package/dist/core/exception/agent_mode_with_enhanced_liveness_exception.d.ts +0 -1
  32. package/dist/core/exception/agent_mode_with_enhanced_liveness_exception.js +1 -17
  33. package/dist/core/exception/builder_validation_exception.d.ts +0 -1
  34. package/dist/core/exception/builder_validation_exception.js +1 -37
  35. package/dist/core/exception/capture_validation_exceptions.d.ts +0 -1
  36. package/dist/core/exception/capture_validation_exceptions.js +1 -10
  37. package/dist/core/exception/consent_validation_exceptions.d.ts +0 -1
  38. package/dist/core/exception/consent_validation_exceptions.js +1 -8
  39. package/dist/core/exception/duplicate_screen_type_exception.d.ts +0 -1
  40. package/dist/core/exception/duplicate_screen_type_exception.js +1 -20
  41. package/dist/core/exception/empty_screens_block_exception.d.ts +0 -1
  42. package/dist/core/exception/empty_screens_block_exception.js +1 -17
  43. package/dist/core/exception/flow_exceptions.d.ts +4 -3
  44. package/dist/core/exception/flow_exceptions.js +1 -37
  45. package/dist/core/exception/index.d.ts +3 -2
  46. package/dist/core/exception/index.js +1 -54
  47. package/dist/core/exception/invalid_consent_config_exception.d.ts +0 -1
  48. package/dist/core/exception/invalid_consent_config_exception.js +1 -18
  49. package/dist/core/exception/invalid_consent_information_exception.d.ts +0 -1
  50. package/dist/core/exception/invalid_consent_information_exception.js +1 -19
  51. package/dist/core/exception/invalid_document_capture_config_exception.d.ts +0 -1
  52. package/dist/core/exception/invalid_document_capture_config_exception.js +1 -20
  53. package/dist/core/exception/invalid_field_value_exception.d.ts +0 -1
  54. package/dist/core/exception/invalid_field_value_exception.js +1 -20
  55. package/dist/core/exception/invalid_job_type_screen_config_exception.d.ts +1 -1
  56. package/dist/core/exception/invalid_job_type_screen_config_exception.js +1 -61
  57. package/dist/core/exception/invalid_missing_capture_type_exception.d.ts +0 -1
  58. package/dist/core/exception/invalid_missing_capture_type_exception.js +1 -17
  59. package/dist/core/exception/invalid_screen_order_exception.d.ts +0 -1
  60. package/dist/core/exception/invalid_screen_order_exception.js +1 -22
  61. package/dist/core/exception/invalid_selfie_capture_config_exception.d.ts +0 -1
  62. package/dist/core/exception/invalid_selfie_capture_config_exception.js +1 -20
  63. package/dist/core/exception/issue_severity.d.ts +0 -1
  64. package/dist/core/exception/issue_severity.js +1 -13
  65. package/dist/core/exception/job_validation_exceptions.d.ts +0 -1
  66. package/dist/core/exception/job_validation_exceptions.js +1 -12
  67. package/dist/core/exception/liveness_frame_count_exception.d.ts +0 -1
  68. package/dist/core/exception/liveness_frame_count_exception.js +1 -19
  69. package/dist/core/exception/missing_capture_for_preview_exception.d.ts +0 -1
  70. package/dist/core/exception/missing_capture_for_preview_exception.js +1 -22
  71. package/dist/core/exception/missing_job_type_exception.d.ts +1 -4
  72. package/dist/core/exception/missing_job_type_exception.js +1 -17
  73. package/dist/core/exception/missing_ml_configuration_block_exception.d.ts +0 -1
  74. package/dist/core/exception/missing_ml_configuration_block_exception.js +1 -19
  75. package/dist/core/exception/missing_network_configuration_block_exception.d.ts +0 -1
  76. package/dist/core/exception/missing_network_configuration_block_exception.js +1 -19
  77. package/dist/core/exception/missing_partner_config_exception.d.ts +4 -1
  78. package/dist/core/exception/missing_partner_config_exception.js +1 -35
  79. package/dist/core/exception/missing_required_field_exception.d.ts +0 -1
  80. package/dist/core/exception/missing_required_field_exception.js +1 -18
  81. package/dist/core/exception/screen_config_validation_exceptions.d.ts +0 -1
  82. package/dist/core/exception/screen_config_validation_exceptions.js +1 -11
  83. package/dist/core/exception/unused_job_params_exception.d.ts +16 -0
  84. package/dist/core/exception/unused_job_params_exception.js +1 -0
  85. package/dist/core/exception/use_smile_id_attestation_exception.d.ts +0 -1
  86. package/dist/core/exception/use_smile_id_attestation_exception.js +1 -12
  87. package/dist/core/exception/use_smile_id_builder_exception.d.ts +0 -1
  88. package/dist/core/exception/use_smile_id_builder_exception.js +1 -19
  89. package/dist/core/exception/use_smile_id_camera_exception.d.ts +0 -1
  90. package/dist/core/exception/use_smile_id_camera_exception.js +1 -13
  91. package/dist/core/exception/use_smile_id_camera_surface_exception.d.ts +15 -0
  92. package/dist/core/exception/use_smile_id_camera_surface_exception.js +1 -0
  93. package/dist/core/exception/use_smile_id_error_code.d.ts +8 -1
  94. package/dist/core/exception/use_smile_id_error_code.js +1 -71
  95. package/dist/core/exception/use_smile_id_exception.d.ts +0 -1
  96. package/dist/core/exception/use_smile_id_exception.js +1 -39
  97. package/dist/core/exception/use_smile_id_general_exception.d.ts +0 -1
  98. package/dist/core/exception/use_smile_id_general_exception.js +1 -13
  99. package/dist/core/exception/use_smile_id_network_exception.d.ts +0 -1
  100. package/dist/core/exception/use_smile_id_network_exception.js +1 -203
  101. package/dist/core/exception/use_smile_id_validation_exception.d.ts +0 -1
  102. package/dist/core/exception/use_smile_id_validation_exception.js +1 -13
  103. package/dist/core/models/config.d.ts +8 -1
  104. package/dist/core/models/config.js +1 -2
  105. package/dist/core/models/document_capture_mode.d.ts +0 -1
  106. package/dist/core/models/document_capture_mode.js +1 -47
  107. package/dist/core/models/document_type.d.ts +5 -1
  108. package/dist/core/models/document_type.js +1 -47
  109. package/dist/core/models/flow_step.d.ts +0 -1
  110. package/dist/core/models/flow_step.js +1 -16
  111. package/dist/core/models/global_privacy_control.d.ts +0 -1
  112. package/dist/core/models/global_privacy_control.js +1 -39
  113. package/dist/core/models/head_turn_direction.d.ts +0 -1
  114. package/dist/core/models/head_turn_direction.js +1 -14
  115. package/dist/core/models/job_type.d.ts +0 -1
  116. package/dist/core/models/job_type.js +1 -43
  117. package/dist/core/models/ml_config.d.ts +0 -1
  118. package/dist/core/models/ml_config.js +1 -27
  119. package/dist/core/models/network_config.d.ts +0 -1
  120. package/dist/core/models/network_config.js +1 -41
  121. package/dist/core/models/params.d.ts +0 -1
  122. package/dist/core/models/params.js +1 -5
  123. package/dist/core/models/result.d.ts +0 -1
  124. package/dist/core/models/result.js +1 -17
  125. package/dist/data/api/auth/token_holder.d.ts +0 -1
  126. package/dist/data/api/auth/token_holder.js +1 -67
  127. package/dist/data/api/interceptors/gzip_interceptor.d.ts +0 -1
  128. package/dist/data/api/interceptors/gzip_interceptor.js +1 -29
  129. package/dist/data/api/interceptors/logging_interceptor.d.ts +0 -1
  130. package/dist/data/api/interceptors/logging_interceptor.js +1 -108
  131. package/dist/data/api/interceptors/sensitive_headers.d.ts +0 -1
  132. package/dist/data/api/interceptors/sensitive_headers.js +1 -42
  133. package/dist/data/api/interceptors/smile_auth_interceptor.d.ts +0 -1
  134. package/dist/data/api/interceptors/smile_auth_interceptor.js +1 -57
  135. package/dist/data/api/interceptors/smile_integrity_interceptor.d.ts +0 -1
  136. package/dist/data/api/interceptors/smile_integrity_interceptor.js +1 -79
  137. package/dist/data/api/interceptors/smile_request_mac_interceptor.d.ts +0 -1
  138. package/dist/data/api/interceptors/smile_request_mac_interceptor.js +1 -77
  139. package/dist/data/api/interceptors/token_refresh_interceptor.d.ts +0 -1
  140. package/dist/data/api/interceptors/token_refresh_interceptor.js +1 -58
  141. package/dist/data/api/smile_id_api.d.ts +4 -1
  142. package/dist/data/api/smile_id_api.js +1 -371
  143. package/dist/data/compression/compressible_asset.d.ts +0 -1
  144. package/dist/data/compression/compressible_asset.js +1 -34
  145. package/dist/data/compression/payload_compression_config.d.ts +0 -1
  146. package/dist/data/compression/payload_compression_config.js +1 -52
  147. package/dist/data/compression/payload_compression_runner.d.ts +8 -1
  148. package/dist/data/compression/payload_compression_runner.js +1 -55
  149. package/dist/data/compression/payload_compressor.d.ts +0 -1
  150. package/dist/data/compression/payload_compressor.js +1 -126
  151. package/dist/data/compression/uri_compressible_asset.d.ts +0 -1
  152. package/dist/data/compression/uri_compressible_asset.js +1 -77
  153. package/dist/data/dsl/builder/cache_config_builder.d.ts +0 -1
  154. package/dist/data/dsl/builder/cache_config_builder.js +1 -24
  155. package/dist/data/dsl/builder/config_builder.d.ts +0 -1
  156. package/dist/data/dsl/builder/config_builder.js +1 -137
  157. package/dist/data/dsl/builder/interceptor_config_builder.d.ts +0 -1
  158. package/dist/data/dsl/builder/interceptor_config_builder.js +1 -71
  159. package/dist/data/dsl/builder/retry_config_builder.d.ts +0 -1
  160. package/dist/data/dsl/builder/retry_config_builder.js +1 -46
  161. package/dist/data/dsl/builder/timeout_config_builder.d.ts +0 -1
  162. package/dist/data/dsl/builder/timeout_config_builder.js +1 -26
  163. package/dist/data/dsl/use_smile_id_network_builder.d.ts +0 -1
  164. package/dist/data/dsl/use_smile_id_network_builder.js +1 -83
  165. package/dist/data/factory/networking_factory.d.ts +0 -1
  166. package/dist/data/factory/networking_factory.js +1 -174
  167. package/dist/data/model/image_dimensions.d.ts +0 -1
  168. package/dist/data/model/image_dimensions.js +1 -2
  169. package/dist/data/model/job_request.d.ts +32 -18
  170. package/dist/data/model/job_request.js +1 -2
  171. package/dist/data/model/job_submission_response.d.ts +0 -1
  172. package/dist/data/model/job_submission_response.js +1 -2
  173. package/dist/data/model/sdk_config.d.ts +0 -1
  174. package/dist/data/model/sdk_config.js +1 -68
  175. package/dist/data/model/sdk_config_capture.d.ts +0 -1
  176. package/dist/data/model/sdk_config_capture.js +1 -69
  177. package/dist/data/model/sdk_config_source.d.ts +0 -1
  178. package/dist/data/model/sdk_config_source.js +1 -24
  179. package/dist/data/model/token_payload.d.ts +77 -0
  180. package/dist/data/model/token_payload.js +1 -0
  181. package/dist/data/model/user_details_payload.d.ts +38 -0
  182. package/dist/data/model/user_details_payload.js +1 -0
  183. package/dist/data/repository/use_smile_id_repository.d.ts +2 -2
  184. package/dist/data/repository/use_smile_id_repository.js +1 -2
  185. package/dist/data/repository/use_smile_id_repository_impl.d.ts +2 -2
  186. package/dist/data/repository/use_smile_id_repository_impl.js +1 -149
  187. package/dist/data/security/request_canonicalizer.d.ts +0 -1
  188. package/dist/data/security/request_canonicalizer.js +1 -132
  189. package/dist/data/security/request_timestamp.d.ts +0 -1
  190. package/dist/data/security/request_timestamp.js +1 -13
  191. package/dist/data/security/security_policy.d.ts +0 -1
  192. package/dist/data/security/security_policy.js +1 -61
  193. package/dist/data/security/signing_crypto.d.ts +0 -1
  194. package/dist/data/security/signing_crypto.js +1 -145
  195. package/dist/data/security/smile_id_crypto_error.d.ts +0 -1
  196. package/dist/data/security/smile_id_crypto_error.js +1 -14
  197. package/dist/data/security/smile_id_crypto_manager.d.ts +0 -1
  198. package/dist/data/security/smile_id_crypto_manager.js +1 -40
  199. package/dist/data/smile_id_urls.d.ts +0 -1
  200. package/dist/data/smile_id_urls.js +1 -14
  201. package/dist/data/util/retry_util.d.ts +0 -1
  202. package/dist/data/util/retry_util.js +1 -74
  203. package/dist/data/util/use_smile_id_token_decoder.d.ts +15 -4
  204. package/dist/data/util/use_smile_id_token_decoder.js +1 -136
  205. package/dist/index.d.ts +3 -6
  206. package/dist/index.js +1 -142
  207. package/dist/l10n/strings_en.d.ts +21 -14
  208. package/dist/l10n/strings_en.js +2 -142
  209. package/dist/l10n/use_smile_id_localizations.d.ts +24 -10
  210. package/dist/l10n/use_smile_id_localizations.js +1 -490
  211. package/dist/l10n/use_smile_id_localizations_provider.d.ts +0 -1
  212. package/dist/l10n/use_smile_id_localizations_provider.js +1 -53
  213. package/dist/metadata/builder_configuration.d.ts +0 -1
  214. package/dist/metadata/builder_configuration.js +1 -35
  215. package/dist/metadata/captured_image_properties.d.ts +0 -1
  216. package/dist/metadata/captured_image_properties.js +1 -11
  217. package/dist/metadata/device_orientation_collector.d.ts +0 -1
  218. package/dist/metadata/device_orientation_collector.js +1 -66
  219. package/dist/metadata/document_image_origin.d.ts +0 -1
  220. package/dist/metadata/document_image_origin.js +1 -19
  221. package/dist/metadata/geolocation.d.ts +0 -1
  222. package/dist/metadata/geolocation.js +1 -40
  223. package/dist/metadata/metadata_configuration_mappers.d.ts +0 -1
  224. package/dist/metadata/metadata_configuration_mappers.js +1 -178
  225. package/dist/metadata/model_configuration.d.ts +0 -1
  226. package/dist/metadata/model_configuration.js +1 -44
  227. package/dist/metadata/optional_native_modules.d.ts +0 -1
  228. package/dist/metadata/optional_native_modules.js +1 -206
  229. package/dist/metadata/use_smile_id_metadata.d.ts +0 -1
  230. package/dist/metadata/use_smile_id_metadata.js +1 -188
  231. package/dist/metadata/use_smile_id_metadata_factory.d.ts +11 -1
  232. package/dist/metadata/use_smile_id_metadata_factory.js +1 -501
  233. package/dist/presentation/assets/si_document_green_book_hero_animation.json +4740 -0
  234. package/dist/presentation/assets/si_document_hero_animation.json +4870 -0
  235. package/dist/presentation/assets/si_document_hero_back_animation.json +2122 -0
  236. package/dist/presentation/assets/si_document_passport_hero_animation.json +14540 -0
  237. package/dist/presentation/assets/si_ess_all_directions_hero_animation.json +5906 -0
  238. package/dist/presentation/assets/si_ess_animation_all_directions.json +5906 -0
  239. package/dist/presentation/assets/si_selfie_hero_animation.json +1468 -0
  240. package/dist/presentation/assets/si_smile_to_capture_animation.json +1412 -0
  241. package/dist/presentation/assets/svg/document_shimmer_strings.d.ts +0 -1
  242. package/dist/presentation/assets/svg/document_shimmer_strings.js +1 -14
  243. package/dist/presentation/assets/svg/instruction_svg_strings.d.ts +0 -1
  244. package/dist/presentation/assets/svg/instruction_svg_strings.js +1 -32
  245. package/dist/presentation/assets/svg/svg_strings.d.ts +0 -1
  246. package/dist/presentation/assets/svg/svg_strings.js +15 -46
  247. package/dist/presentation/components/face_oval_defaults.d.ts +0 -1
  248. package/dist/presentation/components/face_oval_defaults.js +1 -41
  249. package/dist/presentation/components/helpers/animated_lottie_view.d.ts +0 -1
  250. package/dist/presentation/components/helpers/animated_lottie_view.js +1 -9
  251. package/dist/presentation/components/helpers/capture_instruction_animation_spec.d.ts +2 -1
  252. package/dist/presentation/components/helpers/capture_instruction_animation_spec.js +1 -47
  253. package/dist/presentation/components/helpers/captured_document_image_fit.d.ts +6 -0
  254. package/dist/presentation/components/helpers/captured_document_image_fit.js +1 -0
  255. package/dist/presentation/components/helpers/enhanced_smart_selfie_animation_frames.d.ts +0 -1
  256. package/dist/presentation/components/helpers/enhanced_smart_selfie_animation_frames.js +1 -44
  257. package/dist/presentation/components/helpers/scaled_oval_geometry.d.ts +0 -1
  258. package/dist/presentation/components/helpers/scaled_oval_geometry.js +1 -29
  259. package/dist/presentation/components/icons/index.d.ts +0 -1
  260. package/dist/presentation/components/icons/index.js +1 -117
  261. package/dist/presentation/components/status_indicator_state.d.ts +0 -1
  262. package/dist/presentation/components/status_indicator_state.js +1 -19
  263. package/dist/presentation/components/use_smile_id_attribution.d.ts +2 -1
  264. package/dist/presentation/components/use_smile_id_attribution.js +1 -25
  265. package/dist/presentation/components/use_smile_id_back_button.d.ts +2 -1
  266. package/dist/presentation/components/use_smile_id_back_button.js +1 -38
  267. package/dist/presentation/components/use_smile_id_button.d.ts +0 -1
  268. package/dist/presentation/components/use_smile_id_button.js +1 -63
  269. package/dist/presentation/components/use_smile_id_capture_content.d.ts +0 -1
  270. package/dist/presentation/components/use_smile_id_capture_content.js +1 -137
  271. package/dist/presentation/components/use_smile_id_capture_instruction_animation.d.ts +3 -4
  272. package/dist/presentation/components/use_smile_id_capture_instruction_animation.js +1 -50
  273. package/dist/presentation/components/use_smile_id_capture_spinner.d.ts +0 -1
  274. package/dist/presentation/components/use_smile_id_capture_spinner.js +1 -30
  275. package/dist/presentation/components/use_smile_id_captured_document_image.d.ts +4 -5
  276. package/dist/presentation/components/use_smile_id_captured_document_image.js +1 -39
  277. package/dist/presentation/components/use_smile_id_captured_image_oval.d.ts +0 -1
  278. package/dist/presentation/components/use_smile_id_captured_image_oval.js +1 -63
  279. package/dist/presentation/components/use_smile_id_card_surface.d.ts +0 -1
  280. package/dist/presentation/components/use_smile_id_card_surface.js +1 -37
  281. package/dist/presentation/components/use_smile_id_confirmation_buttons.d.ts +0 -1
  282. package/dist/presentation/components/use_smile_id_confirmation_buttons.js +1 -48
  283. package/dist/presentation/components/use_smile_id_consent_row.d.ts +0 -1
  284. package/dist/presentation/components/use_smile_id_consent_row.js +1 -32
  285. package/dist/presentation/components/use_smile_id_content_card.d.ts +0 -1
  286. package/dist/presentation/components/use_smile_id_content_card.js +1 -41
  287. package/dist/presentation/components/use_smile_id_document_capture_controls.d.ts +0 -1
  288. package/dist/presentation/components/use_smile_id_document_capture_controls.js +1 -120
  289. package/dist/presentation/components/use_smile_id_document_overlay.d.ts +0 -1
  290. package/dist/presentation/components/use_smile_id_document_overlay.js +1 -158
  291. package/dist/presentation/components/use_smile_id_document_shimmer.d.ts +0 -1
  292. package/dist/presentation/components/use_smile_id_document_shimmer.js +1 -23
  293. package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_clip.d.ts +0 -1
  294. package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_clip.js +1 -77
  295. package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_direction_animation.d.ts +0 -1
  296. package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_direction_animation.js +1 -21
  297. package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_full_animation.d.ts +0 -1
  298. package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_full_animation.js +1 -14
  299. package/dist/presentation/components/use_smile_id_expandable_icon.d.ts +0 -1
  300. package/dist/presentation/components/use_smile_id_expandable_icon.js +1 -55
  301. package/dist/presentation/components/use_smile_id_face_oval_image.d.ts +0 -1
  302. package/dist/presentation/components/use_smile_id_face_oval_image.js +1 -41
  303. package/dist/presentation/components/use_smile_id_face_overlay.d.ts +0 -1
  304. package/dist/presentation/components/use_smile_id_face_overlay.js +1 -194
  305. package/dist/presentation/components/use_smile_id_failed_content.d.ts +0 -1
  306. package/dist/presentation/components/use_smile_id_failed_content.js +1 -44
  307. package/dist/presentation/components/use_smile_id_guideline_thumbnail.d.ts +0 -1
  308. package/dist/presentation/components/use_smile_id_guideline_thumbnail.js +1 -179
  309. package/dist/presentation/components/use_smile_id_instructions_hero.d.ts +0 -1
  310. package/dist/presentation/components/use_smile_id_instructions_hero.js +1 -164
  311. package/dist/presentation/components/use_smile_id_learn_more_content.d.ts +0 -1
  312. package/dist/presentation/components/use_smile_id_learn_more_content.js +1 -70
  313. package/dist/presentation/components/use_smile_id_loading_content.d.ts +0 -1
  314. package/dist/presentation/components/use_smile_id_loading_content.js +1 -31
  315. package/dist/presentation/components/use_smile_id_loading_indicator.d.ts +0 -1
  316. package/dist/presentation/components/use_smile_id_loading_indicator.js +1 -48
  317. package/dist/presentation/components/use_smile_id_oval_border_palette.d.ts +0 -1
  318. package/dist/presentation/components/use_smile_id_oval_border_palette.js +1 -49
  319. package/dist/presentation/components/use_smile_id_partner_icon.d.ts +3 -1
  320. package/dist/presentation/components/use_smile_id_partner_icon.js +1 -34
  321. package/dist/presentation/components/use_smile_id_processing_center_indicator.d.ts +0 -1
  322. package/dist/presentation/components/use_smile_id_processing_center_indicator.js +1 -44
  323. package/dist/presentation/components/use_smile_id_rounded_checkbox.d.ts +0 -1
  324. package/dist/presentation/components/use_smile_id_rounded_checkbox.js +1 -41
  325. package/dist/presentation/components/use_smile_id_status_indicator.d.ts +0 -1
  326. package/dist/presentation/components/use_smile_id_status_indicator.js +1 -22
  327. package/dist/presentation/components/use_smile_id_success_content.d.ts +0 -1
  328. package/dist/presentation/components/use_smile_id_success_content.js +1 -39
  329. package/dist/presentation/flow/analytics/use_smile_id_analytics_event.d.ts +0 -1
  330. package/dist/presentation/flow/analytics/use_smile_id_analytics_event.js +1 -71
  331. package/dist/presentation/flow/config/attribution_resolver.d.ts +17 -0
  332. package/dist/presentation/flow/config/attribution_resolver.js +1 -0
  333. package/dist/presentation/flow/config/flow_configuration.d.ts +0 -1
  334. package/dist/presentation/flow/config/flow_configuration.js +1 -2
  335. package/dist/presentation/flow/dsl/builder/config_builder.d.ts +5 -1
  336. package/dist/presentation/flow/dsl/builder/config_builder.js +1 -50
  337. package/dist/presentation/flow/dsl/builder/ml_builder.d.ts +0 -1
  338. package/dist/presentation/flow/dsl/builder/ml_builder.js +1 -164
  339. package/dist/presentation/flow/dsl/builder/screens_builder.d.ts +3 -27
  340. package/dist/presentation/flow/dsl/builder/screens_builder.js +1 -217
  341. package/dist/presentation/flow/dsl/builder/theme_builder.d.ts +0 -1
  342. package/dist/presentation/flow/dsl/builder/theme_builder.js +1 -83
  343. package/dist/presentation/flow/dsl/flow_build_result.d.ts +0 -1
  344. package/dist/presentation/flow/dsl/flow_build_result.js +1 -2
  345. package/dist/presentation/flow/dsl/use_smile_id_builder.d.ts +0 -1
  346. package/dist/presentation/flow/dsl/use_smile_id_builder.js +1 -49
  347. package/dist/presentation/flow/dsl/use_smile_id_flow_builder.d.ts +0 -1
  348. package/dist/presentation/flow/dsl/use_smile_id_flow_builder.js +1 -334
  349. package/dist/presentation/flow/flow_navigation_context.d.ts +0 -1
  350. package/dist/presentation/flow/flow_navigation_context.js +1 -34
  351. package/dist/presentation/flow/flow_navigation_manager.d.ts +19 -3
  352. package/dist/presentation/flow/flow_navigation_manager.js +1 -903
  353. package/dist/presentation/flow/graph/screen_renderer.d.ts +0 -1
  354. package/dist/presentation/flow/graph/screen_renderer.js +1 -31
  355. package/dist/presentation/flow/graph/screen_transition.d.ts +8 -0
  356. package/dist/presentation/flow/graph/screen_transition.js +1 -0
  357. package/dist/presentation/flow/job_submission_state.d.ts +0 -1
  358. package/dist/presentation/flow/job_submission_state.js +1 -2
  359. package/dist/presentation/flow/model/instruction_guideline.d.ts +0 -1
  360. package/dist/presentation/flow/model/instruction_guideline.js +1 -2
  361. package/dist/presentation/flow/model/instructions_defaults.d.ts +0 -1
  362. package/dist/presentation/flow/model/instructions_defaults.js +1 -130
  363. package/dist/presentation/flow/screen/helpers/analyzer_lifecycle.d.ts +18 -0
  364. package/dist/presentation/flow/screen/helpers/analyzer_lifecycle.js +1 -0
  365. package/dist/presentation/flow/screen/helpers/face_session_config.d.ts +0 -1
  366. package/dist/presentation/flow/screen/helpers/face_session_config.js +1 -65
  367. package/dist/presentation/flow/screen/helpers/failure_message.d.ts +3 -0
  368. package/dist/presentation/flow/screen/helpers/failure_message.js +1 -0
  369. package/dist/presentation/flow/screen/orchestrated_capture_screen.d.ts +0 -1
  370. package/dist/presentation/flow/screen/orchestrated_capture_screen.js +1 -237
  371. package/dist/presentation/flow/screen/orchestrated_consent_screen.d.ts +0 -1
  372. package/dist/presentation/flow/screen/orchestrated_consent_screen.js +1 -49
  373. package/dist/presentation/flow/screen/orchestrated_instructions_screen.d.ts +0 -1
  374. package/dist/presentation/flow/screen/orchestrated_instructions_screen.js +1 -47
  375. package/dist/presentation/flow/screen/orchestrated_preview_screen.d.ts +0 -1
  376. package/dist/presentation/flow/screen/orchestrated_preview_screen.js +1 -34
  377. package/dist/presentation/flow/screen/orchestrated_processing_screen.d.ts +0 -1
  378. package/dist/presentation/flow/screen/orchestrated_processing_screen.js +1 -59
  379. package/dist/presentation/flow/screen/use_smile_id_orchestrated_screen_host.d.ts +0 -1
  380. package/dist/presentation/flow/screen/use_smile_id_orchestrated_screen_host.js +1 -22
  381. package/dist/presentation/flow/screen/validation_error_screen.d.ts +0 -1
  382. package/dist/presentation/flow/screen/validation_error_screen.js +1 -87
  383. package/dist/presentation/flow/use_smile_id_flow.d.ts +1 -2
  384. package/dist/presentation/flow/use_smile_id_flow.js +1 -270
  385. package/dist/presentation/flow/validation/flow_validator.d.ts +18 -15
  386. package/dist/presentation/flow/validation/flow_validator.js +1 -308
  387. package/dist/presentation/flow/validation/job_type_validator.d.ts +10 -1
  388. package/dist/presentation/flow/validation/job_type_validator.js +1 -434
  389. package/dist/presentation/flow/validation/user_details_validator.d.ts +8 -0
  390. package/dist/presentation/flow/validation/user_details_validator.js +1 -0
  391. package/dist/presentation/flow/validation/validation_state.d.ts +3 -4
  392. package/dist/presentation/flow/validation/validation_state.js +1 -23
  393. package/dist/presentation/screen/helpers/capture_screen_helpers.d.ts +0 -1
  394. package/dist/presentation/screen/helpers/capture_screen_helpers.js +1 -134
  395. package/dist/presentation/screen/helpers/capture_ui_state.d.ts +0 -1
  396. package/dist/presentation/screen/helpers/capture_ui_state.js +1 -179
  397. package/dist/presentation/screen/helpers/consent_screen_helpers.d.ts +0 -1
  398. package/dist/presentation/screen/helpers/consent_screen_helpers.js +1 -68
  399. package/dist/presentation/screen/helpers/ess_turn_haptics.d.ts +0 -1
  400. package/dist/presentation/screen/helpers/ess_turn_haptics.js +1 -53
  401. package/dist/presentation/screen/helpers/feedback_debouncer.d.ts +0 -1
  402. package/dist/presentation/screen/helpers/feedback_debouncer.js +1 -77
  403. package/dist/presentation/screen/helpers/instructions_screen_helpers.d.ts +0 -3
  404. package/dist/presentation/screen/helpers/instructions_screen_helpers.js +1 -54
  405. package/dist/presentation/screen/helpers/preview_screen_helpers.d.ts +0 -1
  406. package/dist/presentation/screen/helpers/preview_screen_helpers.js +1 -27
  407. package/dist/presentation/screen/helpers/processing_screen_helpers.d.ts +0 -1
  408. package/dist/presentation/screen/helpers/processing_screen_helpers.js +1 -12
  409. package/dist/presentation/screen/helpers/scan_state_to_overlay_state.d.ts +7 -1
  410. package/dist/presentation/screen/helpers/scan_state_to_overlay_state.js +1 -107
  411. package/dist/presentation/screen/helpers/use_capture_orientation_lock.d.ts +0 -1
  412. package/dist/presentation/screen/helpers/use_capture_orientation_lock.js +1 -79
  413. package/dist/presentation/screen/helpers/use_debounced_feedback_key.d.ts +0 -1
  414. package/dist/presentation/screen/helpers/use_debounced_feedback_key.js +1 -44
  415. package/dist/presentation/screen/use_smile_id_capture_screen.d.ts +8 -11
  416. package/dist/presentation/screen/use_smile_id_capture_screen.js +1 -594
  417. package/dist/presentation/screen/use_smile_id_consent_screen.d.ts +0 -1
  418. package/dist/presentation/screen/use_smile_id_consent_screen.js +1 -176
  419. package/dist/presentation/screen/use_smile_id_document_back_instructions.d.ts +6 -1
  420. package/dist/presentation/screen/use_smile_id_document_back_instructions.js +1 -43
  421. package/dist/presentation/screen/use_smile_id_document_preview_screen.d.ts +0 -1
  422. package/dist/presentation/screen/use_smile_id_document_preview_screen.js +1 -69
  423. package/dist/presentation/screen/use_smile_id_instructions_screen.d.ts +0 -1
  424. package/dist/presentation/screen/use_smile_id_instructions_screen.js +2 -66
  425. package/dist/presentation/screen/use_smile_id_permission_screen.d.ts +0 -1
  426. package/dist/presentation/screen/use_smile_id_permission_screen.js +1 -28
  427. package/dist/presentation/screen/use_smile_id_preview_screen.d.ts +0 -1
  428. package/dist/presentation/screen/use_smile_id_preview_screen.js +1 -71
  429. package/dist/presentation/screen/use_smile_id_processing_screen.d.ts +0 -1
  430. package/dist/presentation/screen/use_smile_id_processing_screen.js +1 -85
  431. package/dist/presentation/state/processing_state.d.ts +0 -1
  432. package/dist/presentation/state/processing_state.js +1 -2
  433. package/dist/presentation/state/use_smile_id_overlay_state.d.ts +1 -3
  434. package/dist/presentation/state/use_smile_id_overlay_state.js +1 -56
  435. package/dist/presentation/theme/theme.d.ts +0 -1
  436. package/dist/presentation/theme/theme.js +1 -226
  437. package/dist/presentation/theme/theme_context.d.ts +0 -1
  438. package/dist/presentation/theme/theme_context.js +1 -31
  439. package/dist/presentation/theme/use_smile_id_motion.d.ts +0 -1
  440. package/dist/presentation/theme/use_smile_id_motion.js +1 -13
  441. package/dist/presentation/theme/use_use_smile_id_fonts.d.ts +0 -1
  442. package/dist/presentation/theme/use_use_smile_id_fonts.js +1 -64
  443. package/dist/presentation/utils/force_max_brightness.d.ts +0 -1
  444. package/dist/presentation/utils/force_max_brightness.js +1 -105
  445. package/dist/presentation/utils/locale_utils.d.ts +0 -1
  446. package/dist/presentation/utils/locale_utils.js +1 -74
  447. package/dist/presentation/utils/use_reduced_motion.d.ts +0 -1
  448. package/dist/presentation/utils/use_reduced_motion.js +1 -24
  449. package/dist/testing/fake_face_analyzer.d.ts +6 -1
  450. package/dist/testing/fake_face_analyzer.js +1 -52
  451. package/dist/testing/index.d.ts +0 -1
  452. package/dist/testing/index.js +1 -7
  453. package/dist/testing/scenario_expectations.d.ts +0 -1
  454. package/dist/testing/scenario_expectations.js +1 -65
  455. package/dist/testing/scenario_loader.d.ts +0 -1
  456. package/dist/testing/scenario_loader.js +1 -64
  457. package/dist/testing/scripted_scan_results.d.ts +3 -2
  458. package/dist/testing/scripted_scan_results.js +1 -52
  459. package/package.json +28 -30
  460. package/dist/camera/camera_configuration.d.ts.map +0 -1
  461. package/dist/camera/camera_configuration.js.map +0 -1
  462. package/dist/camera/camera_defaults.d.ts.map +0 -1
  463. package/dist/camera/camera_defaults.js.map +0 -1
  464. package/dist/camera/camera_lens.d.ts.map +0 -1
  465. package/dist/camera/camera_lens.js.map +0 -1
  466. package/dist/camera/camera_permissions.d.ts.map +0 -1
  467. package/dist/camera/camera_permissions.js.map +0 -1
  468. package/dist/camera/camera_preview_image.d.ts +0 -18
  469. package/dist/camera/camera_preview_image.d.ts.map +0 -1
  470. package/dist/camera/camera_preview_image.js +0 -8
  471. package/dist/camera/camera_preview_image.js.map +0 -1
  472. package/dist/camera/document_image_pipeline.d.ts.map +0 -1
  473. package/dist/camera/document_image_pipeline.js.map +0 -1
  474. package/dist/camera/document_resize_target.d.ts.map +0 -1
  475. package/dist/camera/document_resize_target.js.map +0 -1
  476. package/dist/camera/focus_state.d.ts.map +0 -1
  477. package/dist/camera/focus_state.js.map +0 -1
  478. package/dist/camera/orientation_degrees.d.ts +0 -10
  479. package/dist/camera/orientation_degrees.d.ts.map +0 -1
  480. package/dist/camera/orientation_degrees.js +0 -20
  481. package/dist/camera/orientation_degrees.js.map +0 -1
  482. package/dist/camera/use_smile_id_camera_preview.d.ts +0 -64
  483. package/dist/camera/use_smile_id_camera_preview.d.ts.map +0 -1
  484. package/dist/camera/use_smile_id_camera_preview.js +0 -141
  485. package/dist/camera/use_smile_id_camera_preview.js.map +0 -1
  486. package/dist/camera/use_smile_id_camera_system.d.ts +0 -97
  487. package/dist/camera/use_smile_id_camera_system.d.ts.map +0 -1
  488. package/dist/camera/use_smile_id_camera_system.js +0 -185
  489. package/dist/camera/use_smile_id_camera_system.js.map +0 -1
  490. package/dist/camera/use_smile_id_frame_stream.d.ts.map +0 -1
  491. package/dist/camera/use_smile_id_frame_stream.js.map +0 -1
  492. package/dist/core/exception/agent_mode_with_enhanced_liveness_exception.d.ts.map +0 -1
  493. package/dist/core/exception/agent_mode_with_enhanced_liveness_exception.js.map +0 -1
  494. package/dist/core/exception/builder_validation_exception.d.ts.map +0 -1
  495. package/dist/core/exception/builder_validation_exception.js.map +0 -1
  496. package/dist/core/exception/capture_validation_exceptions.d.ts.map +0 -1
  497. package/dist/core/exception/capture_validation_exceptions.js.map +0 -1
  498. package/dist/core/exception/consent_validation_exceptions.d.ts.map +0 -1
  499. package/dist/core/exception/consent_validation_exceptions.js.map +0 -1
  500. package/dist/core/exception/duplicate_screen_type_exception.d.ts.map +0 -1
  501. package/dist/core/exception/duplicate_screen_type_exception.js.map +0 -1
  502. package/dist/core/exception/empty_screens_block_exception.d.ts.map +0 -1
  503. package/dist/core/exception/empty_screens_block_exception.js.map +0 -1
  504. package/dist/core/exception/flow_exceptions.d.ts.map +0 -1
  505. package/dist/core/exception/flow_exceptions.js.map +0 -1
  506. package/dist/core/exception/index.d.ts.map +0 -1
  507. package/dist/core/exception/index.js.map +0 -1
  508. package/dist/core/exception/invalid_consent_config_exception.d.ts.map +0 -1
  509. package/dist/core/exception/invalid_consent_config_exception.js.map +0 -1
  510. package/dist/core/exception/invalid_consent_information_exception.d.ts.map +0 -1
  511. package/dist/core/exception/invalid_consent_information_exception.js.map +0 -1
  512. package/dist/core/exception/invalid_document_capture_config_exception.d.ts.map +0 -1
  513. package/dist/core/exception/invalid_document_capture_config_exception.js.map +0 -1
  514. package/dist/core/exception/invalid_field_value_exception.d.ts.map +0 -1
  515. package/dist/core/exception/invalid_field_value_exception.js.map +0 -1
  516. package/dist/core/exception/invalid_job_type_screen_config_exception.d.ts.map +0 -1
  517. package/dist/core/exception/invalid_job_type_screen_config_exception.js.map +0 -1
  518. package/dist/core/exception/invalid_missing_capture_type_exception.d.ts.map +0 -1
  519. package/dist/core/exception/invalid_missing_capture_type_exception.js.map +0 -1
  520. package/dist/core/exception/invalid_screen_order_exception.d.ts.map +0 -1
  521. package/dist/core/exception/invalid_screen_order_exception.js.map +0 -1
  522. package/dist/core/exception/invalid_selfie_capture_config_exception.d.ts.map +0 -1
  523. package/dist/core/exception/invalid_selfie_capture_config_exception.js.map +0 -1
  524. package/dist/core/exception/issue_severity.d.ts.map +0 -1
  525. package/dist/core/exception/issue_severity.js.map +0 -1
  526. package/dist/core/exception/job_validation_exceptions.d.ts.map +0 -1
  527. package/dist/core/exception/job_validation_exceptions.js.map +0 -1
  528. package/dist/core/exception/liveness_frame_count_exception.d.ts.map +0 -1
  529. package/dist/core/exception/liveness_frame_count_exception.js.map +0 -1
  530. package/dist/core/exception/missing_capture_for_preview_exception.d.ts.map +0 -1
  531. package/dist/core/exception/missing_capture_for_preview_exception.js.map +0 -1
  532. package/dist/core/exception/missing_job_type_exception.d.ts.map +0 -1
  533. package/dist/core/exception/missing_job_type_exception.js.map +0 -1
  534. package/dist/core/exception/missing_ml_configuration_block_exception.d.ts.map +0 -1
  535. package/dist/core/exception/missing_ml_configuration_block_exception.js.map +0 -1
  536. package/dist/core/exception/missing_network_configuration_block_exception.d.ts.map +0 -1
  537. package/dist/core/exception/missing_network_configuration_block_exception.js.map +0 -1
  538. package/dist/core/exception/missing_partner_config_exception.d.ts.map +0 -1
  539. package/dist/core/exception/missing_partner_config_exception.js.map +0 -1
  540. package/dist/core/exception/missing_required_field_exception.d.ts.map +0 -1
  541. package/dist/core/exception/missing_required_field_exception.js.map +0 -1
  542. package/dist/core/exception/screen_config_validation_exceptions.d.ts.map +0 -1
  543. package/dist/core/exception/screen_config_validation_exceptions.js.map +0 -1
  544. package/dist/core/exception/use_smile_id_attestation_exception.d.ts.map +0 -1
  545. package/dist/core/exception/use_smile_id_attestation_exception.js.map +0 -1
  546. package/dist/core/exception/use_smile_id_builder_exception.d.ts.map +0 -1
  547. package/dist/core/exception/use_smile_id_builder_exception.js.map +0 -1
  548. package/dist/core/exception/use_smile_id_camera_exception.d.ts.map +0 -1
  549. package/dist/core/exception/use_smile_id_camera_exception.js.map +0 -1
  550. package/dist/core/exception/use_smile_id_error_code.d.ts.map +0 -1
  551. package/dist/core/exception/use_smile_id_error_code.js.map +0 -1
  552. package/dist/core/exception/use_smile_id_exception.d.ts.map +0 -1
  553. package/dist/core/exception/use_smile_id_exception.js.map +0 -1
  554. package/dist/core/exception/use_smile_id_general_exception.d.ts.map +0 -1
  555. package/dist/core/exception/use_smile_id_general_exception.js.map +0 -1
  556. package/dist/core/exception/use_smile_id_network_exception.d.ts.map +0 -1
  557. package/dist/core/exception/use_smile_id_network_exception.js.map +0 -1
  558. package/dist/core/exception/use_smile_id_validation_exception.d.ts.map +0 -1
  559. package/dist/core/exception/use_smile_id_validation_exception.js.map +0 -1
  560. package/dist/core/models/config.d.ts.map +0 -1
  561. package/dist/core/models/config.js.map +0 -1
  562. package/dist/core/models/document_capture_mode.d.ts.map +0 -1
  563. package/dist/core/models/document_capture_mode.js.map +0 -1
  564. package/dist/core/models/document_type.d.ts.map +0 -1
  565. package/dist/core/models/document_type.js.map +0 -1
  566. package/dist/core/models/flow_step.d.ts.map +0 -1
  567. package/dist/core/models/flow_step.js.map +0 -1
  568. package/dist/core/models/global_privacy_control.d.ts.map +0 -1
  569. package/dist/core/models/global_privacy_control.js.map +0 -1
  570. package/dist/core/models/head_turn_direction.d.ts.map +0 -1
  571. package/dist/core/models/head_turn_direction.js.map +0 -1
  572. package/dist/core/models/job_type.d.ts.map +0 -1
  573. package/dist/core/models/job_type.js.map +0 -1
  574. package/dist/core/models/ml_config.d.ts.map +0 -1
  575. package/dist/core/models/ml_config.js.map +0 -1
  576. package/dist/core/models/network_config.d.ts.map +0 -1
  577. package/dist/core/models/network_config.js.map +0 -1
  578. package/dist/core/models/params.d.ts.map +0 -1
  579. package/dist/core/models/params.js.map +0 -1
  580. package/dist/core/models/result.d.ts.map +0 -1
  581. package/dist/core/models/result.js.map +0 -1
  582. package/dist/data/api/auth/token_holder.d.ts.map +0 -1
  583. package/dist/data/api/auth/token_holder.js.map +0 -1
  584. package/dist/data/api/interceptors/gzip_interceptor.d.ts.map +0 -1
  585. package/dist/data/api/interceptors/gzip_interceptor.js.map +0 -1
  586. package/dist/data/api/interceptors/logging_interceptor.d.ts.map +0 -1
  587. package/dist/data/api/interceptors/logging_interceptor.js.map +0 -1
  588. package/dist/data/api/interceptors/sensitive_headers.d.ts.map +0 -1
  589. package/dist/data/api/interceptors/sensitive_headers.js.map +0 -1
  590. package/dist/data/api/interceptors/smile_auth_interceptor.d.ts.map +0 -1
  591. package/dist/data/api/interceptors/smile_auth_interceptor.js.map +0 -1
  592. package/dist/data/api/interceptors/smile_integrity_interceptor.d.ts.map +0 -1
  593. package/dist/data/api/interceptors/smile_integrity_interceptor.js.map +0 -1
  594. package/dist/data/api/interceptors/smile_request_mac_interceptor.d.ts.map +0 -1
  595. package/dist/data/api/interceptors/smile_request_mac_interceptor.js.map +0 -1
  596. package/dist/data/api/interceptors/token_refresh_interceptor.d.ts.map +0 -1
  597. package/dist/data/api/interceptors/token_refresh_interceptor.js.map +0 -1
  598. package/dist/data/api/smile_id_api.d.ts.map +0 -1
  599. package/dist/data/api/smile_id_api.js.map +0 -1
  600. package/dist/data/compression/compressible_asset.d.ts.map +0 -1
  601. package/dist/data/compression/compressible_asset.js.map +0 -1
  602. package/dist/data/compression/payload_compression_config.d.ts.map +0 -1
  603. package/dist/data/compression/payload_compression_config.js.map +0 -1
  604. package/dist/data/compression/payload_compression_runner.d.ts.map +0 -1
  605. package/dist/data/compression/payload_compression_runner.js.map +0 -1
  606. package/dist/data/compression/payload_compressor.d.ts.map +0 -1
  607. package/dist/data/compression/payload_compressor.js.map +0 -1
  608. package/dist/data/compression/uri_compressible_asset.d.ts.map +0 -1
  609. package/dist/data/compression/uri_compressible_asset.js.map +0 -1
  610. package/dist/data/dsl/builder/cache_config_builder.d.ts.map +0 -1
  611. package/dist/data/dsl/builder/cache_config_builder.js.map +0 -1
  612. package/dist/data/dsl/builder/config_builder.d.ts.map +0 -1
  613. package/dist/data/dsl/builder/config_builder.js.map +0 -1
  614. package/dist/data/dsl/builder/interceptor_config_builder.d.ts.map +0 -1
  615. package/dist/data/dsl/builder/interceptor_config_builder.js.map +0 -1
  616. package/dist/data/dsl/builder/retry_config_builder.d.ts.map +0 -1
  617. package/dist/data/dsl/builder/retry_config_builder.js.map +0 -1
  618. package/dist/data/dsl/builder/timeout_config_builder.d.ts.map +0 -1
  619. package/dist/data/dsl/builder/timeout_config_builder.js.map +0 -1
  620. package/dist/data/dsl/use_smile_id_network_builder.d.ts.map +0 -1
  621. package/dist/data/dsl/use_smile_id_network_builder.js.map +0 -1
  622. package/dist/data/factory/networking_factory.d.ts.map +0 -1
  623. package/dist/data/factory/networking_factory.js.map +0 -1
  624. package/dist/data/model/image_dimensions.d.ts.map +0 -1
  625. package/dist/data/model/image_dimensions.js.map +0 -1
  626. package/dist/data/model/job_request.d.ts.map +0 -1
  627. package/dist/data/model/job_request.js.map +0 -1
  628. package/dist/data/model/job_submission_response.d.ts.map +0 -1
  629. package/dist/data/model/job_submission_response.js.map +0 -1
  630. package/dist/data/model/sdk_config.d.ts.map +0 -1
  631. package/dist/data/model/sdk_config.js.map +0 -1
  632. package/dist/data/model/sdk_config_capture.d.ts.map +0 -1
  633. package/dist/data/model/sdk_config_capture.js.map +0 -1
  634. package/dist/data/model/sdk_config_source.d.ts.map +0 -1
  635. package/dist/data/model/sdk_config_source.js.map +0 -1
  636. package/dist/data/repository/use_smile_id_repository.d.ts.map +0 -1
  637. package/dist/data/repository/use_smile_id_repository.js.map +0 -1
  638. package/dist/data/repository/use_smile_id_repository_impl.d.ts.map +0 -1
  639. package/dist/data/repository/use_smile_id_repository_impl.js.map +0 -1
  640. package/dist/data/security/request_canonicalizer.d.ts.map +0 -1
  641. package/dist/data/security/request_canonicalizer.js.map +0 -1
  642. package/dist/data/security/request_timestamp.d.ts.map +0 -1
  643. package/dist/data/security/request_timestamp.js.map +0 -1
  644. package/dist/data/security/security_policy.d.ts.map +0 -1
  645. package/dist/data/security/security_policy.js.map +0 -1
  646. package/dist/data/security/signing_crypto.d.ts.map +0 -1
  647. package/dist/data/security/signing_crypto.js.map +0 -1
  648. package/dist/data/security/smile_id_crypto_error.d.ts.map +0 -1
  649. package/dist/data/security/smile_id_crypto_error.js.map +0 -1
  650. package/dist/data/security/smile_id_crypto_manager.d.ts.map +0 -1
  651. package/dist/data/security/smile_id_crypto_manager.js.map +0 -1
  652. package/dist/data/smile_id_urls.d.ts.map +0 -1
  653. package/dist/data/smile_id_urls.js.map +0 -1
  654. package/dist/data/util/retry_util.d.ts.map +0 -1
  655. package/dist/data/util/retry_util.js.map +0 -1
  656. package/dist/data/util/use_smile_id_token_decoder.d.ts.map +0 -1
  657. package/dist/data/util/use_smile_id_token_decoder.js.map +0 -1
  658. package/dist/index.d.ts.map +0 -1
  659. package/dist/index.js.map +0 -1
  660. package/dist/l10n/strings_en.d.ts.map +0 -1
  661. package/dist/l10n/strings_en.js.map +0 -1
  662. package/dist/l10n/use_smile_id_localizations.d.ts.map +0 -1
  663. package/dist/l10n/use_smile_id_localizations.js.map +0 -1
  664. package/dist/l10n/use_smile_id_localizations_provider.d.ts.map +0 -1
  665. package/dist/l10n/use_smile_id_localizations_provider.js.map +0 -1
  666. package/dist/metadata/builder_configuration.d.ts.map +0 -1
  667. package/dist/metadata/builder_configuration.js.map +0 -1
  668. package/dist/metadata/captured_image_properties.d.ts.map +0 -1
  669. package/dist/metadata/captured_image_properties.js.map +0 -1
  670. package/dist/metadata/device_orientation_collector.d.ts.map +0 -1
  671. package/dist/metadata/device_orientation_collector.js.map +0 -1
  672. package/dist/metadata/document_image_origin.d.ts.map +0 -1
  673. package/dist/metadata/document_image_origin.js.map +0 -1
  674. package/dist/metadata/geolocation.d.ts.map +0 -1
  675. package/dist/metadata/geolocation.js.map +0 -1
  676. package/dist/metadata/metadata_configuration_mappers.d.ts.map +0 -1
  677. package/dist/metadata/metadata_configuration_mappers.js.map +0 -1
  678. package/dist/metadata/model_configuration.d.ts.map +0 -1
  679. package/dist/metadata/model_configuration.js.map +0 -1
  680. package/dist/metadata/optional_native_modules.d.ts.map +0 -1
  681. package/dist/metadata/optional_native_modules.js.map +0 -1
  682. package/dist/metadata/use_smile_id_metadata.d.ts.map +0 -1
  683. package/dist/metadata/use_smile_id_metadata.js.map +0 -1
  684. package/dist/metadata/use_smile_id_metadata_factory.d.ts.map +0 -1
  685. package/dist/metadata/use_smile_id_metadata_factory.js.map +0 -1
  686. package/dist/presentation/assets/svg/document_shimmer_strings.d.ts.map +0 -1
  687. package/dist/presentation/assets/svg/document_shimmer_strings.js.map +0 -1
  688. package/dist/presentation/assets/svg/instruction_svg_strings.d.ts.map +0 -1
  689. package/dist/presentation/assets/svg/instruction_svg_strings.js.map +0 -1
  690. package/dist/presentation/assets/svg/svg_strings.d.ts.map +0 -1
  691. package/dist/presentation/assets/svg/svg_strings.js.map +0 -1
  692. package/dist/presentation/components/face_oval_defaults.d.ts.map +0 -1
  693. package/dist/presentation/components/face_oval_defaults.js.map +0 -1
  694. package/dist/presentation/components/helpers/animated_lottie_view.d.ts.map +0 -1
  695. package/dist/presentation/components/helpers/animated_lottie_view.js.map +0 -1
  696. package/dist/presentation/components/helpers/capture_instruction_animation_spec.d.ts.map +0 -1
  697. package/dist/presentation/components/helpers/capture_instruction_animation_spec.js.map +0 -1
  698. package/dist/presentation/components/helpers/enhanced_smart_selfie_animation_frames.d.ts.map +0 -1
  699. package/dist/presentation/components/helpers/enhanced_smart_selfie_animation_frames.js.map +0 -1
  700. package/dist/presentation/components/helpers/scaled_oval_geometry.d.ts.map +0 -1
  701. package/dist/presentation/components/helpers/scaled_oval_geometry.js.map +0 -1
  702. package/dist/presentation/components/icons/index.d.ts.map +0 -1
  703. package/dist/presentation/components/icons/index.js.map +0 -1
  704. package/dist/presentation/components/status_indicator_state.d.ts.map +0 -1
  705. package/dist/presentation/components/status_indicator_state.js.map +0 -1
  706. package/dist/presentation/components/use_smile_id_attribution.d.ts.map +0 -1
  707. package/dist/presentation/components/use_smile_id_attribution.js.map +0 -1
  708. package/dist/presentation/components/use_smile_id_back_button.d.ts.map +0 -1
  709. package/dist/presentation/components/use_smile_id_back_button.js.map +0 -1
  710. package/dist/presentation/components/use_smile_id_button.d.ts.map +0 -1
  711. package/dist/presentation/components/use_smile_id_button.js.map +0 -1
  712. package/dist/presentation/components/use_smile_id_capture_content.d.ts.map +0 -1
  713. package/dist/presentation/components/use_smile_id_capture_content.js.map +0 -1
  714. package/dist/presentation/components/use_smile_id_capture_instruction_animation.d.ts.map +0 -1
  715. package/dist/presentation/components/use_smile_id_capture_instruction_animation.js.map +0 -1
  716. package/dist/presentation/components/use_smile_id_capture_spinner.d.ts.map +0 -1
  717. package/dist/presentation/components/use_smile_id_capture_spinner.js.map +0 -1
  718. package/dist/presentation/components/use_smile_id_captured_document_image.d.ts.map +0 -1
  719. package/dist/presentation/components/use_smile_id_captured_document_image.js.map +0 -1
  720. package/dist/presentation/components/use_smile_id_captured_image_oval.d.ts.map +0 -1
  721. package/dist/presentation/components/use_smile_id_captured_image_oval.js.map +0 -1
  722. package/dist/presentation/components/use_smile_id_card_surface.d.ts.map +0 -1
  723. package/dist/presentation/components/use_smile_id_card_surface.js.map +0 -1
  724. package/dist/presentation/components/use_smile_id_confirmation_buttons.d.ts.map +0 -1
  725. package/dist/presentation/components/use_smile_id_confirmation_buttons.js.map +0 -1
  726. package/dist/presentation/components/use_smile_id_consent_row.d.ts.map +0 -1
  727. package/dist/presentation/components/use_smile_id_consent_row.js.map +0 -1
  728. package/dist/presentation/components/use_smile_id_content_card.d.ts.map +0 -1
  729. package/dist/presentation/components/use_smile_id_content_card.js.map +0 -1
  730. package/dist/presentation/components/use_smile_id_document_capture_controls.d.ts.map +0 -1
  731. package/dist/presentation/components/use_smile_id_document_capture_controls.js.map +0 -1
  732. package/dist/presentation/components/use_smile_id_document_overlay.d.ts.map +0 -1
  733. package/dist/presentation/components/use_smile_id_document_overlay.js.map +0 -1
  734. package/dist/presentation/components/use_smile_id_document_shimmer.d.ts.map +0 -1
  735. package/dist/presentation/components/use_smile_id_document_shimmer.js.map +0 -1
  736. package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_clip.d.ts.map +0 -1
  737. package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_clip.js.map +0 -1
  738. package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_direction_animation.d.ts.map +0 -1
  739. package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_direction_animation.js.map +0 -1
  740. package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_full_animation.d.ts.map +0 -1
  741. package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_full_animation.js.map +0 -1
  742. package/dist/presentation/components/use_smile_id_expandable_icon.d.ts.map +0 -1
  743. package/dist/presentation/components/use_smile_id_expandable_icon.js.map +0 -1
  744. package/dist/presentation/components/use_smile_id_face_oval_image.d.ts.map +0 -1
  745. package/dist/presentation/components/use_smile_id_face_oval_image.js.map +0 -1
  746. package/dist/presentation/components/use_smile_id_face_overlay.d.ts.map +0 -1
  747. package/dist/presentation/components/use_smile_id_face_overlay.js.map +0 -1
  748. package/dist/presentation/components/use_smile_id_failed_content.d.ts.map +0 -1
  749. package/dist/presentation/components/use_smile_id_failed_content.js.map +0 -1
  750. package/dist/presentation/components/use_smile_id_guideline_thumbnail.d.ts.map +0 -1
  751. package/dist/presentation/components/use_smile_id_guideline_thumbnail.js.map +0 -1
  752. package/dist/presentation/components/use_smile_id_instructions_hero.d.ts.map +0 -1
  753. package/dist/presentation/components/use_smile_id_instructions_hero.js.map +0 -1
  754. package/dist/presentation/components/use_smile_id_learn_more_content.d.ts.map +0 -1
  755. package/dist/presentation/components/use_smile_id_learn_more_content.js.map +0 -1
  756. package/dist/presentation/components/use_smile_id_loading_content.d.ts.map +0 -1
  757. package/dist/presentation/components/use_smile_id_loading_content.js.map +0 -1
  758. package/dist/presentation/components/use_smile_id_loading_indicator.d.ts.map +0 -1
  759. package/dist/presentation/components/use_smile_id_loading_indicator.js.map +0 -1
  760. package/dist/presentation/components/use_smile_id_oval_border_palette.d.ts.map +0 -1
  761. package/dist/presentation/components/use_smile_id_oval_border_palette.js.map +0 -1
  762. package/dist/presentation/components/use_smile_id_partner_icon.d.ts.map +0 -1
  763. package/dist/presentation/components/use_smile_id_partner_icon.js.map +0 -1
  764. package/dist/presentation/components/use_smile_id_processing_center_indicator.d.ts.map +0 -1
  765. package/dist/presentation/components/use_smile_id_processing_center_indicator.js.map +0 -1
  766. package/dist/presentation/components/use_smile_id_rounded_checkbox.d.ts.map +0 -1
  767. package/dist/presentation/components/use_smile_id_rounded_checkbox.js.map +0 -1
  768. package/dist/presentation/components/use_smile_id_status_indicator.d.ts.map +0 -1
  769. package/dist/presentation/components/use_smile_id_status_indicator.js.map +0 -1
  770. package/dist/presentation/components/use_smile_id_success_content.d.ts.map +0 -1
  771. package/dist/presentation/components/use_smile_id_success_content.js.map +0 -1
  772. package/dist/presentation/flow/analytics/use_smile_id_analytics_event.d.ts.map +0 -1
  773. package/dist/presentation/flow/analytics/use_smile_id_analytics_event.js.map +0 -1
  774. package/dist/presentation/flow/config/flow_configuration.d.ts.map +0 -1
  775. package/dist/presentation/flow/config/flow_configuration.js.map +0 -1
  776. package/dist/presentation/flow/dsl/builder/config_builder.d.ts.map +0 -1
  777. package/dist/presentation/flow/dsl/builder/config_builder.js.map +0 -1
  778. package/dist/presentation/flow/dsl/builder/ml_builder.d.ts.map +0 -1
  779. package/dist/presentation/flow/dsl/builder/ml_builder.js.map +0 -1
  780. package/dist/presentation/flow/dsl/builder/screens_builder.d.ts.map +0 -1
  781. package/dist/presentation/flow/dsl/builder/screens_builder.js.map +0 -1
  782. package/dist/presentation/flow/dsl/builder/theme_builder.d.ts.map +0 -1
  783. package/dist/presentation/flow/dsl/builder/theme_builder.js.map +0 -1
  784. package/dist/presentation/flow/dsl/flow_build_result.d.ts.map +0 -1
  785. package/dist/presentation/flow/dsl/flow_build_result.js.map +0 -1
  786. package/dist/presentation/flow/dsl/use_smile_id_builder.d.ts.map +0 -1
  787. package/dist/presentation/flow/dsl/use_smile_id_builder.js.map +0 -1
  788. package/dist/presentation/flow/dsl/use_smile_id_flow_builder.d.ts.map +0 -1
  789. package/dist/presentation/flow/dsl/use_smile_id_flow_builder.js.map +0 -1
  790. package/dist/presentation/flow/flow_navigation_context.d.ts.map +0 -1
  791. package/dist/presentation/flow/flow_navigation_context.js.map +0 -1
  792. package/dist/presentation/flow/flow_navigation_manager.d.ts.map +0 -1
  793. package/dist/presentation/flow/flow_navigation_manager.js.map +0 -1
  794. package/dist/presentation/flow/graph/screen_renderer.d.ts.map +0 -1
  795. package/dist/presentation/flow/graph/screen_renderer.js.map +0 -1
  796. package/dist/presentation/flow/job_submission_state.d.ts.map +0 -1
  797. package/dist/presentation/flow/job_submission_state.js.map +0 -1
  798. package/dist/presentation/flow/model/instruction_guideline.d.ts.map +0 -1
  799. package/dist/presentation/flow/model/instruction_guideline.js.map +0 -1
  800. package/dist/presentation/flow/model/instructions_defaults.d.ts.map +0 -1
  801. package/dist/presentation/flow/model/instructions_defaults.js.map +0 -1
  802. package/dist/presentation/flow/screen/helpers/face_session_config.d.ts.map +0 -1
  803. package/dist/presentation/flow/screen/helpers/face_session_config.js.map +0 -1
  804. package/dist/presentation/flow/screen/orchestrated_capture_screen.d.ts.map +0 -1
  805. package/dist/presentation/flow/screen/orchestrated_capture_screen.js.map +0 -1
  806. package/dist/presentation/flow/screen/orchestrated_consent_screen.d.ts.map +0 -1
  807. package/dist/presentation/flow/screen/orchestrated_consent_screen.js.map +0 -1
  808. package/dist/presentation/flow/screen/orchestrated_instructions_screen.d.ts.map +0 -1
  809. package/dist/presentation/flow/screen/orchestrated_instructions_screen.js.map +0 -1
  810. package/dist/presentation/flow/screen/orchestrated_preview_screen.d.ts.map +0 -1
  811. package/dist/presentation/flow/screen/orchestrated_preview_screen.js.map +0 -1
  812. package/dist/presentation/flow/screen/orchestrated_processing_screen.d.ts.map +0 -1
  813. package/dist/presentation/flow/screen/orchestrated_processing_screen.js.map +0 -1
  814. package/dist/presentation/flow/screen/use_smile_id_orchestrated_screen_host.d.ts.map +0 -1
  815. package/dist/presentation/flow/screen/use_smile_id_orchestrated_screen_host.js.map +0 -1
  816. package/dist/presentation/flow/screen/validation_error_screen.d.ts.map +0 -1
  817. package/dist/presentation/flow/screen/validation_error_screen.js.map +0 -1
  818. package/dist/presentation/flow/use_smile_id_flow.d.ts.map +0 -1
  819. package/dist/presentation/flow/use_smile_id_flow.js.map +0 -1
  820. package/dist/presentation/flow/validation/flow_validator.d.ts.map +0 -1
  821. package/dist/presentation/flow/validation/flow_validator.js.map +0 -1
  822. package/dist/presentation/flow/validation/job_type_validator.d.ts.map +0 -1
  823. package/dist/presentation/flow/validation/job_type_validator.js.map +0 -1
  824. package/dist/presentation/flow/validation/validation_state.d.ts.map +0 -1
  825. package/dist/presentation/flow/validation/validation_state.js.map +0 -1
  826. package/dist/presentation/screen/helpers/capture_screen_helpers.d.ts.map +0 -1
  827. package/dist/presentation/screen/helpers/capture_screen_helpers.js.map +0 -1
  828. package/dist/presentation/screen/helpers/capture_ui_state.d.ts.map +0 -1
  829. package/dist/presentation/screen/helpers/capture_ui_state.js.map +0 -1
  830. package/dist/presentation/screen/helpers/consent_screen_helpers.d.ts.map +0 -1
  831. package/dist/presentation/screen/helpers/consent_screen_helpers.js.map +0 -1
  832. package/dist/presentation/screen/helpers/ess_turn_haptics.d.ts.map +0 -1
  833. package/dist/presentation/screen/helpers/ess_turn_haptics.js.map +0 -1
  834. package/dist/presentation/screen/helpers/feedback_debouncer.d.ts.map +0 -1
  835. package/dist/presentation/screen/helpers/feedback_debouncer.js.map +0 -1
  836. package/dist/presentation/screen/helpers/instructions_screen_helpers.d.ts.map +0 -1
  837. package/dist/presentation/screen/helpers/instructions_screen_helpers.js.map +0 -1
  838. package/dist/presentation/screen/helpers/preview_screen_helpers.d.ts.map +0 -1
  839. package/dist/presentation/screen/helpers/preview_screen_helpers.js.map +0 -1
  840. package/dist/presentation/screen/helpers/processing_screen_helpers.d.ts.map +0 -1
  841. package/dist/presentation/screen/helpers/processing_screen_helpers.js.map +0 -1
  842. package/dist/presentation/screen/helpers/scan_state_to_overlay_state.d.ts.map +0 -1
  843. package/dist/presentation/screen/helpers/scan_state_to_overlay_state.js.map +0 -1
  844. package/dist/presentation/screen/helpers/use_capture_orientation_lock.d.ts.map +0 -1
  845. package/dist/presentation/screen/helpers/use_capture_orientation_lock.js.map +0 -1
  846. package/dist/presentation/screen/helpers/use_debounced_feedback_key.d.ts.map +0 -1
  847. package/dist/presentation/screen/helpers/use_debounced_feedback_key.js.map +0 -1
  848. package/dist/presentation/screen/use_smile_id_capture_screen.d.ts.map +0 -1
  849. package/dist/presentation/screen/use_smile_id_capture_screen.js.map +0 -1
  850. package/dist/presentation/screen/use_smile_id_consent_screen.d.ts.map +0 -1
  851. package/dist/presentation/screen/use_smile_id_consent_screen.js.map +0 -1
  852. package/dist/presentation/screen/use_smile_id_document_back_instructions.d.ts.map +0 -1
  853. package/dist/presentation/screen/use_smile_id_document_back_instructions.js.map +0 -1
  854. package/dist/presentation/screen/use_smile_id_document_preview_screen.d.ts.map +0 -1
  855. package/dist/presentation/screen/use_smile_id_document_preview_screen.js.map +0 -1
  856. package/dist/presentation/screen/use_smile_id_instructions_screen.d.ts.map +0 -1
  857. package/dist/presentation/screen/use_smile_id_instructions_screen.js.map +0 -1
  858. package/dist/presentation/screen/use_smile_id_permission_screen.d.ts.map +0 -1
  859. package/dist/presentation/screen/use_smile_id_permission_screen.js.map +0 -1
  860. package/dist/presentation/screen/use_smile_id_preview_screen.d.ts.map +0 -1
  861. package/dist/presentation/screen/use_smile_id_preview_screen.js.map +0 -1
  862. package/dist/presentation/screen/use_smile_id_processing_screen.d.ts.map +0 -1
  863. package/dist/presentation/screen/use_smile_id_processing_screen.js.map +0 -1
  864. package/dist/presentation/state/processing_state.d.ts.map +0 -1
  865. package/dist/presentation/state/processing_state.js.map +0 -1
  866. package/dist/presentation/state/use_smile_id_overlay_state.d.ts.map +0 -1
  867. package/dist/presentation/state/use_smile_id_overlay_state.js.map +0 -1
  868. package/dist/presentation/theme/theme.d.ts.map +0 -1
  869. package/dist/presentation/theme/theme.js.map +0 -1
  870. package/dist/presentation/theme/theme_context.d.ts.map +0 -1
  871. package/dist/presentation/theme/theme_context.js.map +0 -1
  872. package/dist/presentation/theme/use_smile_id_motion.d.ts.map +0 -1
  873. package/dist/presentation/theme/use_smile_id_motion.js.map +0 -1
  874. package/dist/presentation/theme/use_use_smile_id_fonts.d.ts.map +0 -1
  875. package/dist/presentation/theme/use_use_smile_id_fonts.js.map +0 -1
  876. package/dist/presentation/utils/force_max_brightness.d.ts.map +0 -1
  877. package/dist/presentation/utils/force_max_brightness.js.map +0 -1
  878. package/dist/presentation/utils/locale_utils.d.ts.map +0 -1
  879. package/dist/presentation/utils/locale_utils.js.map +0 -1
  880. package/dist/presentation/utils/use_reduced_motion.d.ts.map +0 -1
  881. package/dist/presentation/utils/use_reduced_motion.js.map +0 -1
  882. package/dist/testing/fake_face_analyzer.d.ts.map +0 -1
  883. package/dist/testing/fake_face_analyzer.js.map +0 -1
  884. package/dist/testing/index.d.ts.map +0 -1
  885. package/dist/testing/index.js.map +0 -1
  886. package/dist/testing/scenario_expectations.d.ts.map +0 -1
  887. package/dist/testing/scenario_expectations.js.map +0 -1
  888. package/dist/testing/scenario_loader.d.ts.map +0 -1
  889. package/dist/testing/scenario_loader.js.map +0 -1
  890. package/dist/testing/scripted_scan_results.d.ts.map +0 -1
  891. package/dist/testing/scripted_scan_results.js.map +0 -1
  892. package/src/__tests__/dsl.test.ts +0 -1165
  893. package/src/__tests__/enum_parity.test.ts +0 -84
  894. package/src/__tests__/react_native_mock.tsx +0 -218
  895. package/src/__tests__/setup_react_native.ts +0 -368
  896. package/src/__tests__/snapshots/__snapshots__/screens_structural.test.tsx.snap +0 -5261
  897. package/src/__tests__/snapshots/screens_structural.test.tsx +0 -230
  898. package/src/__tests__/theme.test.ts +0 -156
  899. package/src/camera/__tests__/camera_defaults.test.ts +0 -28
  900. package/src/camera/__tests__/camera_lens.test.ts +0 -18
  901. package/src/camera/__tests__/document_resize_target.test.ts +0 -44
  902. package/src/camera/__tests__/focus_state.test.ts +0 -48
  903. package/src/camera/__tests__/orientation_degrees.test.ts +0 -21
  904. package/src/camera/__tests__/use_smile_id_camera_system.test.ts +0 -103
  905. package/src/camera/__tests__/use_smile_id_frame_stream.test.ts +0 -227
  906. package/src/camera/camera_configuration.ts +0 -32
  907. package/src/camera/camera_defaults.ts +0 -25
  908. package/src/camera/camera_lens.ts +0 -13
  909. package/src/camera/camera_permissions.ts +0 -36
  910. package/src/camera/camera_preview_image.ts +0 -19
  911. package/src/camera/document_image_pipeline.ts +0 -101
  912. package/src/camera/document_resize_target.ts +0 -22
  913. package/src/camera/focus_state.ts +0 -26
  914. package/src/camera/orientation_degrees.ts +0 -21
  915. package/src/camera/use_smile_id_camera_preview.tsx +0 -256
  916. package/src/camera/use_smile_id_camera_system.ts +0 -236
  917. package/src/camera/use_smile_id_frame_stream.ts +0 -189
  918. package/src/core/exception/__tests__/builder_validation_exceptions.test.ts +0 -67
  919. package/src/core/exception/__tests__/network_exception_mapper.test.ts +0 -179
  920. package/src/core/exception/agent_mode_with_enhanced_liveness_exception.ts +0 -20
  921. package/src/core/exception/builder_validation_exception.ts +0 -40
  922. package/src/core/exception/capture_validation_exceptions.ts +0 -9
  923. package/src/core/exception/consent_validation_exceptions.ts +0 -7
  924. package/src/core/exception/duplicate_screen_type_exception.ts +0 -22
  925. package/src/core/exception/empty_screens_block_exception.ts +0 -19
  926. package/src/core/exception/flow_exceptions.test.ts +0 -39
  927. package/src/core/exception/flow_exceptions.ts +0 -42
  928. package/src/core/exception/index.ts +0 -74
  929. package/src/core/exception/invalid_consent_config_exception.ts +0 -20
  930. package/src/core/exception/invalid_consent_information_exception.ts +0 -21
  931. package/src/core/exception/invalid_document_capture_config_exception.ts +0 -22
  932. package/src/core/exception/invalid_field_value_exception.ts +0 -21
  933. package/src/core/exception/invalid_job_type_screen_config_exception.ts +0 -70
  934. package/src/core/exception/invalid_missing_capture_type_exception.ts +0 -19
  935. package/src/core/exception/invalid_screen_order_exception.ts +0 -28
  936. package/src/core/exception/invalid_selfie_capture_config_exception.ts +0 -22
  937. package/src/core/exception/issue_severity.ts +0 -14
  938. package/src/core/exception/job_validation_exceptions.ts +0 -11
  939. package/src/core/exception/liveness_frame_count_exception.ts +0 -21
  940. package/src/core/exception/missing_capture_for_preview_exception.ts +0 -24
  941. package/src/core/exception/missing_job_type_exception.ts +0 -20
  942. package/src/core/exception/missing_ml_configuration_block_exception.ts +0 -21
  943. package/src/core/exception/missing_network_configuration_block_exception.ts +0 -22
  944. package/src/core/exception/missing_partner_config_exception.ts +0 -38
  945. package/src/core/exception/missing_required_field_exception.ts +0 -19
  946. package/src/core/exception/screen_config_validation_exceptions.ts +0 -10
  947. package/src/core/exception/use_smile_id_attestation_exception.ts +0 -11
  948. package/src/core/exception/use_smile_id_builder_exception.ts +0 -18
  949. package/src/core/exception/use_smile_id_camera_exception.ts +0 -12
  950. package/src/core/exception/use_smile_id_error_code.ts +0 -84
  951. package/src/core/exception/use_smile_id_exception.ts +0 -52
  952. package/src/core/exception/use_smile_id_general_exception.ts +0 -12
  953. package/src/core/exception/use_smile_id_network_exception.ts +0 -279
  954. package/src/core/exception/use_smile_id_validation_exception.ts +0 -12
  955. package/src/core/models/__tests__/document_capture_mode.test.ts +0 -43
  956. package/src/core/models/__tests__/document_type.test.ts +0 -66
  957. package/src/core/models/__tests__/flow_models.test.ts +0 -26
  958. package/src/core/models/__tests__/job_type.test.ts +0 -48
  959. package/src/core/models/config.ts +0 -58
  960. package/src/core/models/document_capture_mode.ts +0 -73
  961. package/src/core/models/document_type.ts +0 -79
  962. package/src/core/models/flow_step.ts +0 -17
  963. package/src/core/models/global_privacy_control.ts +0 -45
  964. package/src/core/models/head_turn_direction.ts +0 -15
  965. package/src/core/models/job_type.ts +0 -53
  966. package/src/core/models/ml_config.ts +0 -47
  967. package/src/core/models/network_config.ts +0 -138
  968. package/src/core/models/params.ts +0 -98
  969. package/src/core/models/result.test.ts +0 -20
  970. package/src/core/models/result.ts +0 -33
  971. package/src/data/api/__tests__/smile_id_api.test.ts +0 -1197
  972. package/src/data/api/auth/token_holder.ts +0 -72
  973. package/src/data/api/interceptors/__tests__/gzip_interceptor.test.ts +0 -83
  974. package/src/data/api/interceptors/__tests__/logging_interceptor.test.ts +0 -252
  975. package/src/data/api/interceptors/__tests__/sensitive_headers.test.ts +0 -29
  976. package/src/data/api/interceptors/__tests__/smile_integrity_interceptor.test.ts +0 -192
  977. package/src/data/api/interceptors/__tests__/smile_request_mac_interceptor.test.ts +0 -156
  978. package/src/data/api/interceptors/__tests__/token_refresh_interceptor.test.ts +0 -173
  979. package/src/data/api/interceptors/gzip_interceptor.ts +0 -31
  980. package/src/data/api/interceptors/logging_interceptor.ts +0 -155
  981. package/src/data/api/interceptors/sensitive_headers.ts +0 -46
  982. package/src/data/api/interceptors/smile_auth_interceptor.ts +0 -73
  983. package/src/data/api/interceptors/smile_integrity_interceptor.ts +0 -99
  984. package/src/data/api/interceptors/smile_request_mac_interceptor.ts +0 -106
  985. package/src/data/api/interceptors/token_refresh_interceptor.ts +0 -122
  986. package/src/data/api/smile_id_api.ts +0 -488
  987. package/src/data/compression/__tests__/payload_compressor.test.ts +0 -200
  988. package/src/data/compression/__tests__/payload_compressor_real_jpeg.test.ts +0 -226
  989. package/src/data/compression/compressible_asset.ts +0 -62
  990. package/src/data/compression/payload_compression_config.ts +0 -53
  991. package/src/data/compression/payload_compression_runner.ts +0 -102
  992. package/src/data/compression/payload_compressor.ts +0 -164
  993. package/src/data/compression/uri_compressible_asset.ts +0 -85
  994. package/src/data/dsl/builder/__tests__/config_builders.test.ts +0 -62
  995. package/src/data/dsl/builder/__tests__/interceptor_config_builder.test.ts +0 -173
  996. package/src/data/dsl/builder/cache_config_builder.ts +0 -28
  997. package/src/data/dsl/builder/config_builder.ts +0 -156
  998. package/src/data/dsl/builder/interceptor_config_builder.ts +0 -83
  999. package/src/data/dsl/builder/retry_config_builder.ts +0 -57
  1000. package/src/data/dsl/builder/timeout_config_builder.ts +0 -31
  1001. package/src/data/dsl/use_smile_id_network_builder.ts +0 -86
  1002. package/src/data/factory/__tests__/networking_factory_order.test.ts +0 -201
  1003. package/src/data/factory/__tests__/retry_gzip_mac_composition.test.ts +0 -163
  1004. package/src/data/factory/__tests__/signed_job_submission_headers.test.ts +0 -110
  1005. package/src/data/factory/networking_factory.ts +0 -201
  1006. package/src/data/model/__tests__/sdk_config.test.ts +0 -85
  1007. package/src/data/model/__tests__/sdk_config_capture.test.ts +0 -140
  1008. package/src/data/model/image_dimensions.ts +0 -15
  1009. package/src/data/model/job_request.ts +0 -150
  1010. package/src/data/model/job_submission_response.ts +0 -17
  1011. package/src/data/model/sdk_config.ts +0 -74
  1012. package/src/data/model/sdk_config_capture.ts +0 -78
  1013. package/src/data/model/sdk_config_source.ts +0 -26
  1014. package/src/data/repository/__tests__/network_retries.test.ts +0 -117
  1015. package/src/data/repository/__tests__/use_smile_id_repository.test.ts +0 -118
  1016. package/src/data/repository/use_smile_id_repository.ts +0 -19
  1017. package/src/data/repository/use_smile_id_repository_impl.ts +0 -181
  1018. package/src/data/security/__tests__/request_canonicalizer.test.ts +0 -132
  1019. package/src/data/security/__tests__/security_policy.test.ts +0 -96
  1020. package/src/data/security/__tests__/smile_id_crypto_manager.test.ts +0 -176
  1021. package/src/data/security/request_canonicalizer.ts +0 -161
  1022. package/src/data/security/request_timestamp.ts +0 -12
  1023. package/src/data/security/security_policy.ts +0 -70
  1024. package/src/data/security/signing_crypto.ts +0 -219
  1025. package/src/data/security/smile_id_crypto_error.ts +0 -13
  1026. package/src/data/security/smile_id_crypto_manager.ts +0 -46
  1027. package/src/data/smile_id_urls.ts +0 -13
  1028. package/src/data/util/__tests__/retry_util.test.ts +0 -182
  1029. package/src/data/util/__tests__/use_smile_id_token_decoder.test.ts +0 -251
  1030. package/src/data/util/retry_util.ts +0 -81
  1031. package/src/data/util/use_smile_id_token_decoder.ts +0 -186
  1032. package/src/index.ts +0 -514
  1033. package/src/l10n/__tests__/use_smile_id_localizations.test.ts +0 -127
  1034. package/src/l10n/strings_en.ts +0 -172
  1035. package/src/l10n/use_smile_id_localizations.ts +0 -691
  1036. package/src/l10n/use_smile_id_localizations_provider.tsx +0 -71
  1037. package/src/metadata/__tests__/device_orientation_collector.test.ts +0 -15
  1038. package/src/metadata/__tests__/metadata_configuration_mappers.test.ts +0 -254
  1039. package/src/metadata/__tests__/metadata_configuration_objects.test.ts +0 -86
  1040. package/src/metadata/__tests__/metadata_device_context.test.ts +0 -147
  1041. package/src/metadata/__tests__/metadata_device_os_android.test.ts +0 -18
  1042. package/src/metadata/__tests__/metadata_golden_fixture.json +0 -13
  1043. package/src/metadata/__tests__/metadata_payload_golden.test.ts +0 -193
  1044. package/src/metadata/__tests__/use_smile_id_metadata.test.ts +0 -430
  1045. package/src/metadata/builder_configuration.ts +0 -69
  1046. package/src/metadata/captured_image_properties.ts +0 -10
  1047. package/src/metadata/device_orientation_collector.ts +0 -75
  1048. package/src/metadata/document_image_origin.ts +0 -22
  1049. package/src/metadata/geolocation.ts +0 -46
  1050. package/src/metadata/metadata_configuration_mappers.ts +0 -248
  1051. package/src/metadata/model_configuration.ts +0 -68
  1052. package/src/metadata/optional_native_modules.ts +0 -274
  1053. package/src/metadata/use_smile_id_metadata.ts +0 -305
  1054. package/src/metadata/use_smile_id_metadata_factory.ts +0 -580
  1055. package/src/presentation/assets/si_document_green_book_hero_animation.json +0 -1
  1056. package/src/presentation/assets/si_document_hero_animation.json +0 -1
  1057. package/src/presentation/assets/si_document_hero_back_animation.json +0 -1
  1058. package/src/presentation/assets/si_document_passport_hero_animation.json +0 -1
  1059. package/src/presentation/assets/si_ess_all_directions_hero_animation.json +0 -1
  1060. package/src/presentation/assets/si_ess_animation_all_directions.json +0 -1
  1061. package/src/presentation/assets/si_selfie_hero_animation.json +0 -1
  1062. package/src/presentation/assets/si_smile_to_capture_animation.json +0 -1
  1063. package/src/presentation/assets/svg/document_shimmer_strings.ts +0 -17
  1064. package/src/presentation/assets/svg/instruction_svg_strings.ts +0 -54
  1065. package/src/presentation/assets/svg/svg_strings.ts +0 -158
  1066. package/src/presentation/components/__tests__/capture_instruction_animation_spec.test.ts +0 -49
  1067. package/src/presentation/components/__tests__/enhanced_smart_selfie_animation_frames.test.ts +0 -89
  1068. package/src/presentation/components/__tests__/use_smile_id_capture_content.test.tsx +0 -348
  1069. package/src/presentation/components/__tests__/use_smile_id_confirmation_buttons.test.tsx +0 -131
  1070. package/src/presentation/components/__tests__/use_smile_id_enhanced_smart_selfie_clip.test.tsx +0 -256
  1071. package/src/presentation/components/__tests__/use_smile_id_enhanced_smart_selfie_direction_animation.test.tsx +0 -138
  1072. package/src/presentation/components/__tests__/use_smile_id_face_overlay.test.tsx +0 -211
  1073. package/src/presentation/components/__tests__/use_smile_id_guideline_thumbnail.test.tsx +0 -112
  1074. package/src/presentation/components/__tests__/use_smile_id_instructions_hero.test.tsx +0 -150
  1075. package/src/presentation/components/__tests__/use_smile_id_loading_indicator.test.tsx +0 -45
  1076. package/src/presentation/components/__tests__/use_smile_id_oval_border_palette.test.ts +0 -103
  1077. package/src/presentation/components/face_oval_defaults.ts +0 -51
  1078. package/src/presentation/components/helpers/__tests__/scaled_oval_geometry.test.ts +0 -69
  1079. package/src/presentation/components/helpers/animated_lottie_view.ts +0 -9
  1080. package/src/presentation/components/helpers/capture_instruction_animation_spec.ts +0 -77
  1081. package/src/presentation/components/helpers/enhanced_smart_selfie_animation_frames.ts +0 -64
  1082. package/src/presentation/components/helpers/scaled_oval_geometry.ts +0 -44
  1083. package/src/presentation/components/icons/index.tsx +0 -334
  1084. package/src/presentation/components/status_indicator_state.ts +0 -21
  1085. package/src/presentation/components/use_smile_id_attribution.tsx +0 -48
  1086. package/src/presentation/components/use_smile_id_back_button.tsx +0 -59
  1087. package/src/presentation/components/use_smile_id_button.tsx +0 -93
  1088. package/src/presentation/components/use_smile_id_capture_content.tsx +0 -368
  1089. package/src/presentation/components/use_smile_id_capture_instruction_animation.tsx +0 -84
  1090. package/src/presentation/components/use_smile_id_capture_spinner.tsx +0 -63
  1091. package/src/presentation/components/use_smile_id_captured_document_image.tsx +0 -81
  1092. package/src/presentation/components/use_smile_id_captured_image_oval.tsx +0 -151
  1093. package/src/presentation/components/use_smile_id_card_surface.tsx +0 -54
  1094. package/src/presentation/components/use_smile_id_confirmation_buttons.tsx +0 -123
  1095. package/src/presentation/components/use_smile_id_consent_row.tsx +0 -58
  1096. package/src/presentation/components/use_smile_id_content_card.tsx +0 -65
  1097. package/src/presentation/components/use_smile_id_document_capture_controls.tsx +0 -219
  1098. package/src/presentation/components/use_smile_id_document_overlay.tsx +0 -335
  1099. package/src/presentation/components/use_smile_id_document_shimmer.tsx +0 -51
  1100. package/src/presentation/components/use_smile_id_enhanced_smart_selfie_clip.tsx +0 -155
  1101. package/src/presentation/components/use_smile_id_enhanced_smart_selfie_direction_animation.tsx +0 -46
  1102. package/src/presentation/components/use_smile_id_enhanced_smart_selfie_full_animation.tsx +0 -29
  1103. package/src/presentation/components/use_smile_id_expandable_icon.tsx +0 -102
  1104. package/src/presentation/components/use_smile_id_face_oval_image.tsx +0 -90
  1105. package/src/presentation/components/use_smile_id_face_overlay.tsx +0 -387
  1106. package/src/presentation/components/use_smile_id_failed_content.tsx +0 -94
  1107. package/src/presentation/components/use_smile_id_guideline_thumbnail.tsx +0 -263
  1108. package/src/presentation/components/use_smile_id_instructions_hero.tsx +0 -296
  1109. package/src/presentation/components/use_smile_id_learn_more_content.tsx +0 -115
  1110. package/src/presentation/components/use_smile_id_loading_content.tsx +0 -54
  1111. package/src/presentation/components/use_smile_id_loading_indicator.tsx +0 -81
  1112. package/src/presentation/components/use_smile_id_oval_border_palette.ts +0 -64
  1113. package/src/presentation/components/use_smile_id_partner_icon.tsx +0 -56
  1114. package/src/presentation/components/use_smile_id_processing_center_indicator.tsx +0 -77
  1115. package/src/presentation/components/use_smile_id_rounded_checkbox.tsx +0 -67
  1116. package/src/presentation/components/use_smile_id_status_indicator.tsx +0 -44
  1117. package/src/presentation/components/use_smile_id_success_content.tsx +0 -76
  1118. package/src/presentation/flow/__tests__/document_flow_navigation.test.ts +0 -484
  1119. package/src/presentation/flow/__tests__/flow_navigation_manager.test.ts +0 -1212
  1120. package/src/presentation/flow/analytics/__tests__/use_smile_id_analytics_event.test.ts +0 -105
  1121. package/src/presentation/flow/analytics/use_smile_id_analytics_event.ts +0 -83
  1122. package/src/presentation/flow/config/flow_configuration.ts +0 -12
  1123. package/src/presentation/flow/dsl/builder/__tests__/config_builder.test.ts +0 -25
  1124. package/src/presentation/flow/dsl/builder/__tests__/ml_builder.test.ts +0 -161
  1125. package/src/presentation/flow/dsl/builder/__tests__/theme_builder.test.ts +0 -102
  1126. package/src/presentation/flow/dsl/builder/config_builder.ts +0 -57
  1127. package/src/presentation/flow/dsl/builder/ml_builder.ts +0 -210
  1128. package/src/presentation/flow/dsl/builder/screens_builder.ts +0 -278
  1129. package/src/presentation/flow/dsl/builder/theme_builder.ts +0 -119
  1130. package/src/presentation/flow/dsl/flow_build_result.ts +0 -37
  1131. package/src/presentation/flow/dsl/use_smile_id_builder.tsx +0 -125
  1132. package/src/presentation/flow/dsl/use_smile_id_flow_builder.ts +0 -428
  1133. package/src/presentation/flow/flow_navigation_context.tsx +0 -50
  1134. package/src/presentation/flow/flow_navigation_manager.ts +0 -1156
  1135. package/src/presentation/flow/graph/screen_renderer.tsx +0 -35
  1136. package/src/presentation/flow/job_submission_state.ts +0 -17
  1137. package/src/presentation/flow/model/instruction_guideline.ts +0 -21
  1138. package/src/presentation/flow/model/instructions_defaults.ts +0 -198
  1139. package/src/presentation/flow/screen/helpers/__tests__/face_session_config.test.ts +0 -115
  1140. package/src/presentation/flow/screen/helpers/face_session_config.ts +0 -77
  1141. package/src/presentation/flow/screen/orchestrated_capture_screen.tsx +0 -344
  1142. package/src/presentation/flow/screen/orchestrated_consent_screen.tsx +0 -71
  1143. package/src/presentation/flow/screen/orchestrated_instructions_screen.tsx +0 -103
  1144. package/src/presentation/flow/screen/orchestrated_preview_screen.tsx +0 -62
  1145. package/src/presentation/flow/screen/orchestrated_processing_screen.tsx +0 -111
  1146. package/src/presentation/flow/screen/use_smile_id_orchestrated_screen_host.tsx +0 -39
  1147. package/src/presentation/flow/screen/validation_error_screen.tsx +0 -147
  1148. package/src/presentation/flow/use_smile_id_flow.tsx +0 -345
  1149. package/src/presentation/flow/validation/__tests__/flow_validator.test.ts +0 -458
  1150. package/src/presentation/flow/validation/__tests__/job_type_validator.test.ts +0 -768
  1151. package/src/presentation/flow/validation/flow_validator.ts +0 -462
  1152. package/src/presentation/flow/validation/job_type_validator.ts +0 -669
  1153. package/src/presentation/flow/validation/validation_state.ts +0 -65
  1154. package/src/presentation/screen/__tests__/capture_screen_helpers.test.ts +0 -112
  1155. package/src/presentation/screen/__tests__/capture_ui_state.test.ts +0 -398
  1156. package/src/presentation/screen/__tests__/consent_screen_helpers.test.ts +0 -63
  1157. package/src/presentation/screen/__tests__/ess_turn_haptics.test.ts +0 -82
  1158. package/src/presentation/screen/__tests__/feedback_debouncer.test.ts +0 -111
  1159. package/src/presentation/screen/__tests__/instructions_screen_helpers.test.ts +0 -154
  1160. package/src/presentation/screen/__tests__/preview_screen_helpers.test.ts +0 -53
  1161. package/src/presentation/screen/__tests__/processing_screen_helpers.test.ts +0 -39
  1162. package/src/presentation/screen/__tests__/scan_state_to_overlay_state.test.ts +0 -223
  1163. package/src/presentation/screen/__tests__/use_smile_id_capture_screen.test.tsx +0 -780
  1164. package/src/presentation/screen/__tests__/use_smile_id_consent_screen.test.tsx +0 -288
  1165. package/src/presentation/screen/__tests__/use_smile_id_document_back_instructions.test.tsx +0 -136
  1166. package/src/presentation/screen/__tests__/use_smile_id_instructions_screen.test.tsx +0 -245
  1167. package/src/presentation/screen/__tests__/use_smile_id_preview_screen.test.tsx +0 -193
  1168. package/src/presentation/screen/__tests__/use_smile_id_processing_screen.test.tsx +0 -333
  1169. package/src/presentation/screen/helpers/__tests__/use_capture_orientation_lock.test.tsx +0 -212
  1170. package/src/presentation/screen/helpers/capture_screen_helpers.ts +0 -152
  1171. package/src/presentation/screen/helpers/capture_ui_state.ts +0 -298
  1172. package/src/presentation/screen/helpers/consent_screen_helpers.ts +0 -106
  1173. package/src/presentation/screen/helpers/ess_turn_haptics.ts +0 -67
  1174. package/src/presentation/screen/helpers/feedback_debouncer.ts +0 -89
  1175. package/src/presentation/screen/helpers/instructions_screen_helpers.ts +0 -113
  1176. package/src/presentation/screen/helpers/preview_screen_helpers.ts +0 -41
  1177. package/src/presentation/screen/helpers/processing_screen_helpers.ts +0 -27
  1178. package/src/presentation/screen/helpers/scan_state_to_overlay_state.ts +0 -131
  1179. package/src/presentation/screen/helpers/use_capture_orientation_lock.ts +0 -108
  1180. package/src/presentation/screen/helpers/use_debounced_feedback_key.ts +0 -52
  1181. package/src/presentation/screen/use_smile_id_capture_screen.tsx +0 -861
  1182. package/src/presentation/screen/use_smile_id_consent_screen.tsx +0 -393
  1183. package/src/presentation/screen/use_smile_id_document_back_instructions.tsx +0 -125
  1184. package/src/presentation/screen/use_smile_id_document_preview_screen.tsx +0 -152
  1185. package/src/presentation/screen/use_smile_id_instructions_screen.tsx +0 -198
  1186. package/src/presentation/screen/use_smile_id_permission_screen.tsx +0 -52
  1187. package/src/presentation/screen/use_smile_id_preview_screen.tsx +0 -127
  1188. package/src/presentation/screen/use_smile_id_processing_screen.tsx +0 -223
  1189. package/src/presentation/state/__tests__/use_smile_id_overlay_state.test.ts +0 -30
  1190. package/src/presentation/state/processing_state.ts +0 -19
  1191. package/src/presentation/state/use_smile_id_overlay_state.ts +0 -70
  1192. package/src/presentation/theme/theme.ts +0 -401
  1193. package/src/presentation/theme/theme_context.tsx +0 -45
  1194. package/src/presentation/theme/use_smile_id_motion.ts +0 -12
  1195. package/src/presentation/theme/use_use_smile_id_fonts.ts +0 -71
  1196. package/src/presentation/utils/__tests__/force_max_brightness.test.tsx +0 -237
  1197. package/src/presentation/utils/__tests__/locale_utils.test.ts +0 -78
  1198. package/src/presentation/utils/force_max_brightness.tsx +0 -113
  1199. package/src/presentation/utils/locale_utils.ts +0 -80
  1200. package/src/presentation/utils/use_reduced_motion.ts +0 -26
  1201. package/src/testing/__tests__/fake_face_analyzer.test.ts +0 -42
  1202. package/src/testing/__tests__/scenario_expectations.test.ts +0 -110
  1203. package/src/testing/__tests__/scenario_loader.test.ts +0 -64
  1204. package/src/testing/fake_face_analyzer.ts +0 -82
  1205. package/src/testing/index.ts +0 -15
  1206. package/src/testing/scenario_expectations.ts +0 -87
  1207. package/src/testing/scenario_loader.ts +0 -83
  1208. package/src/testing/scripted_scan_results.ts +0 -66
  1209. /package/{src → dist}/presentation/assets/fonts/DMSans-Bold.ttf +0 -0
  1210. /package/{src → dist}/presentation/assets/fonts/DMSans-ExtraBold.ttf +0 -0
  1211. /package/{src → dist}/presentation/assets/fonts/DMSans-Medium.ttf +0 -0
  1212. /package/{src → dist}/presentation/assets/fonts/DMSans-Regular.ttf +0 -0
  1213. /package/{src → dist}/presentation/assets/fonts/DMSans-SemiBold.ttf +0 -0
  1214. /package/{src → dist}/presentation/assets/fonts/OFL.txt +0 -0
  1215. /package/{src → dist}/presentation/assets/si_dark_lighting_animation.json +0 -0
  1216. /package/{src → dist}/presentation/assets/si_device_orientation_animation.json +0 -0
  1217. /package/{src → dist}/presentation/assets/svg/si_attribution.svg +0 -0
  1218. /package/{src → dist}/presentation/assets/svg/si_attribution_dark.svg +0 -0
  1219. /package/{src → dist}/presentation/assets/svg/si_checkbox_check.svg +0 -0
  1220. /package/{src → dist}/presentation/assets/svg/si_consent_biometric.svg +0 -0
  1221. /package/{src → dist}/presentation/assets/svg/si_consent_biometric_dark.svg +0 -0
  1222. /package/{src → dist}/presentation/assets/svg/si_consent_contact.svg +0 -0
  1223. /package/{src → dist}/presentation/assets/svg/si_consent_contact_dark.svg +0 -0
  1224. /package/{src → dist}/presentation/assets/svg/si_consent_device.svg +0 -0
  1225. /package/{src → dist}/presentation/assets/svg/si_consent_device_dark.svg +0 -0
  1226. /package/{src → dist}/presentation/assets/svg/si_consent_personal.svg +0 -0
  1227. /package/{src → dist}/presentation/assets/svg/si_consent_personal_dark.svg +0 -0
  1228. /package/{src → dist}/presentation/assets/svg/si_expand_more.svg +0 -0
  1229. /package/{src → dist}/presentation/assets/svg/si_plus.svg +0 -0
  1230. /package/{src → dist}/presentation/assets/svg/si_smile_consent_icon.svg +0 -0
@@ -1,780 +0,0 @@
1
- import { describe, it, expect, beforeEach, afterEach, vi } from "vitest";
2
- import * as React from "react";
3
- import {
4
- create as createRenderer,
5
- act,
6
- type ReactTestInstance,
7
- } from "react-test-renderer";
8
- import { Pressable, Text } from "react-native";
9
- import * as VisionCamera from "react-native-vision-camera";
10
- import * as Brightness from "expo-brightness";
11
- import { StatusBar } from "react-native";
12
- import { UseSmileIDCaptureScreen } from "../use_smile_id_capture_screen";
13
- import { CaptureType } from "../../../core/models/ml_config";
14
- import { DocumentCaptureMode } from "../../../core/models/document_capture_mode";
15
- import { mockedTakePhoto } from "../../../__tests__/setup_react_native";
16
- import { enStrings } from "../../../l10n/strings_en";
17
- import {
18
- UseSmileIDScanStateType,
19
- CaptureReadyEventKind,
20
- } from "@smileid/usesmileid_bridge";
21
- import type {
22
- UseSmileIDScanState,
23
- CaptureReadyEvent,
24
- FaceScanResult,
25
- } from "@smileid/usesmileid_bridge";
26
- import { scriptedFaceScanResults } from "../../../testing/scripted_scan_results";
27
- import { parseScriptedScenario } from "../../../testing/scenario_loader";
28
- import { isSessionBoundary } from "../helpers/capture_ui_state";
29
- import { UseSmileIDFeedbackDebouncer } from "../helpers/feedback_debouncer";
30
- import { UseSmileIDMotion } from "../../theme/use_smile_id_motion";
31
- import { readFileSync } from "node:fs";
32
- import { dirname, join } from "node:path";
33
-
34
- // The shared scenario set lives at the repo root (e2e/scenarios/), outside this
35
- // package's tsc rootDir (./src), so the test reads selfie-happy-path.json at run
36
- // time. These minimal ambient decls keep the read typed without pulling
37
- // @types/node in (which would collide with react-native's global timer types).
38
- declare module "node:fs" {
39
- export function readFileSync(path: string, encoding: "utf8"): string;
40
- }
41
- declare module "node:path" {
42
- export function dirname(path: string): string;
43
- export function join(...parts: string[]): string;
44
- }
45
-
46
- // Capture the screen's per-frame `onResult` so tests can drive synthetic
47
- // sequences — the vision-camera worklet can't run in vitest, and `onResult`
48
- // gets a validated result, so this bypasses only the native plugin.
49
- let capturedOnResult: ((result: FaceScanResult) => void) | null = null;
50
- vi.mock("../../../camera/use_smile_id_frame_stream", async () => {
51
- const actual = await vi.importActual<
52
- typeof import("../../../camera/use_smile_id_frame_stream")
53
- >("../../../camera/use_smile_id_frame_stream");
54
- return {
55
- ...actual,
56
- useSmileIDFrameStream: (
57
- _analyzer: unknown,
58
- onResult: (result: FaceScanResult) => void,
59
- ) => {
60
- capturedOnResult = onResult;
61
- return { onFrameResult: () => {} };
62
- },
63
- };
64
- });
65
-
66
- /**
67
- * Component-level tests for the capture screen:
68
- * - light-only theme on every leaf (forceLightMode propagation)
69
- * - camera preview rendered for the correct lens
70
- * - permission auto-request fires once on mount
71
- * - feedback string follows the overlay state
72
- * - start button only present in INSTRUCTION state, gated by readiness
73
- * - back button forwards taps
74
- * - brightness hook engaged on mount
75
- *
76
- * Mocks for `react-native-vision-camera`, `react-native-worklets-core`,
77
- * `expo-brightness`, `expo-keep-awake` are installed in
78
- * `setup_react_native.ts`. Tests reset the granted permission contract
79
- * per-block.
80
- */
81
-
82
- const mockedUseCameraPermission = vi.mocked(VisionCamera.useCameraPermission);
83
- const mockedUseCameraDevice = vi.mocked(VisionCamera.useCameraDevice);
84
- const mockedSetBrightness = vi.mocked(Brightness.setBrightnessAsync);
85
- const mockedGetBrightness = vi.mocked(Brightness.getBrightnessAsync);
86
-
87
- function render(element: React.ReactElement) {
88
- let tree!: ReturnType<typeof createRenderer>;
89
- act(() => {
90
- tree = createRenderer(element);
91
- });
92
- return tree;
93
- }
94
-
95
- function findByTestID(
96
- root: ReactTestInstance,
97
- testID: string,
98
- ): ReactTestInstance | null {
99
- const matches = root.findAllByProps({ testID });
100
- return matches[0] ?? null;
101
- }
102
-
103
- function findTextNode(
104
- root: ReactTestInstance,
105
- expected: string,
106
- ): ReactTestInstance | null {
107
- const matches = root.findAll(
108
- (node) => {
109
- if (node.type !== Text) return false;
110
- return collectText(node).includes(expected);
111
- },
112
- { deep: true },
113
- );
114
- return matches[0] ?? null;
115
- }
116
-
117
- function collectText(node: ReactTestInstance): string {
118
- return node.children
119
- .map((child) =>
120
- typeof child === "string"
121
- ? child
122
- : collectText(child as ReactTestInstance),
123
- )
124
- .join("");
125
- }
126
-
127
- // vision-camera's `CameraDevice` shape — only the fields the screen
128
- // touches need to be present for tests. The mock returns the same
129
- // device regardless of position; tests that care about the lens
130
- // inspect what `useCameraDevice` was called with instead.
131
- const fakeFrontDevice = {
132
- id: "test-front",
133
- position: "front" as const,
134
- hasFlash: false,
135
- hasTorch: false,
136
- formats: [],
137
- isMultiCam: false,
138
- supportsRawCapture: false,
139
- supportsLowLightBoost: false,
140
- supportsFocus: true,
141
- name: "Front Camera (test)",
142
- } as unknown as ReturnType<typeof VisionCamera.useCameraDevice>;
143
-
144
- // Minimal analyzer fixture — the screen reads `frameProcessorPluginName`
145
- // at render time (to initialise the native frame processor plugin) and
146
- // calls lifecycle methods from result callbacks. Tests that assert
147
- // flush/complete behaviour override `flush` per-test.
148
- function makeFakeAnalyzer() {
149
- return {
150
- kind: "face",
151
- key: "mlkit-face",
152
- frameProcessorPluginName: "UseSmileIDTestFrameProcessor",
153
- configure: vi.fn(async () => {}),
154
- reset: vi.fn(async () => {}),
155
- flush: vi.fn(async () => {}),
156
- close: vi.fn(async () => {}),
157
- } as unknown as React.ComponentProps<
158
- typeof UseSmileIDCaptureScreen
159
- >["analyzer"];
160
- }
161
- const fakeAnalyzer = makeFakeAnalyzer();
162
-
163
- describe("UseSmileIDCaptureScreen", () => {
164
- beforeEach(() => {
165
- mockedGetBrightness.mockReset();
166
- mockedGetBrightness.mockResolvedValue(0.5);
167
- mockedSetBrightness.mockReset();
168
- mockedSetBrightness.mockResolvedValue(undefined);
169
- mockedUseCameraPermission.mockReset();
170
- mockedUseCameraPermission.mockReturnValue({
171
- hasPermission: true,
172
- requestPermission: vi.fn(async () => true),
173
- });
174
- mockedUseCameraDevice.mockReset();
175
- mockedUseCameraDevice.mockReturnValue(fakeFrontDevice);
176
- });
177
-
178
- it("renders the capture screen container", () => {
179
- const { root } = render(
180
- <UseSmileIDCaptureScreen
181
- analyzer={fakeAnalyzer}
182
- captureType={CaptureType.selfie}
183
- />,
184
- );
185
- expect(findByTestID(root, "si_capture_screen")).not.toBeNull();
186
- });
187
-
188
- it("renders the camera preview when permission is granted", () => {
189
- const { root } = render(
190
- <UseSmileIDCaptureScreen
191
- analyzer={fakeAnalyzer}
192
- captureType={CaptureType.selfie}
193
- />,
194
- );
195
- const preview = findByTestID(root, "si_capture_camera_preview");
196
- expect(preview).not.toBeNull();
197
- // Selfie capture uses the front lens; document uses back. The
198
- // screen reads its device from `useCameraDevice(facing)` so the
199
- // lens choice surfaces as the hook's argument, not a `<Camera>`
200
- // prop.
201
- expect(mockedUseCameraDevice).toHaveBeenCalledWith("front");
202
- });
203
-
204
- it("uses the back lens for document captures", () => {
205
- const { root } = render(
206
- <UseSmileIDCaptureScreen
207
- analyzer={fakeAnalyzer}
208
- captureType={CaptureType.document}
209
- />,
210
- );
211
- const preview = findByTestID(root, "si_capture_camera_preview");
212
- expect(preview).not.toBeNull();
213
- expect(mockedUseCameraDevice).toHaveBeenCalledWith("back");
214
- });
215
-
216
- it("uses the back lens for an agent-mode selfie capture", () => {
217
- const { root } = render(
218
- <UseSmileIDCaptureScreen
219
- analyzer={fakeAnalyzer}
220
- captureType={CaptureType.selfie}
221
- allowAgentMode
222
- />,
223
- );
224
- expect(findByTestID(root, "si_capture_camera_preview")).not.toBeNull();
225
- expect(mockedUseCameraDevice).toHaveBeenCalledWith("back");
226
- });
227
-
228
- it("shows a placeholder (not the camera) when permission is undetermined", () => {
229
- const requestPermission = vi.fn(async () => true);
230
- mockedUseCameraPermission.mockReturnValue({
231
- hasPermission: false,
232
- requestPermission,
233
- });
234
-
235
- const { root } = render(
236
- <UseSmileIDCaptureScreen
237
- analyzer={fakeAnalyzer}
238
- captureType={CaptureType.selfie}
239
- />,
240
- );
241
- expect(findByTestID(root, "si_capture_camera_placeholder")).not.toBeNull();
242
- expect(findByTestID(root, "si_capture_camera_preview")).toBeNull();
243
- });
244
-
245
- it("auto-requests permission once when undetermined", () => {
246
- const requestPermission = vi.fn(async () => true);
247
- mockedUseCameraPermission.mockReturnValue({
248
- hasPermission: false,
249
- requestPermission,
250
- });
251
-
252
- render(
253
- <UseSmileIDCaptureScreen
254
- analyzer={fakeAnalyzer}
255
- captureType={CaptureType.selfie}
256
- />,
257
- );
258
-
259
- expect(requestPermission).toHaveBeenCalledTimes(1);
260
- });
261
-
262
- it("does not re-prompt when permission is granted", () => {
263
- const requestPermission = vi.fn(async () => true);
264
- mockedUseCameraPermission.mockReturnValue({
265
- hasPermission: true,
266
- requestPermission,
267
- });
268
-
269
- render(
270
- <UseSmileIDCaptureScreen
271
- analyzer={fakeAnalyzer}
272
- captureType={CaptureType.selfie}
273
- />,
274
- );
275
- expect(requestPermission).not.toHaveBeenCalled();
276
- });
277
-
278
- it("renders the start button enabled in INSTRUCTION state", () => {
279
- const { root } = render(
280
- <UseSmileIDCaptureScreen
281
- analyzer={fakeAnalyzer}
282
- captureType={CaptureType.selfie}
283
- />,
284
- );
285
- const start = findByTestID(root, "si_capture_start_button");
286
- expect(start).not.toBeNull();
287
- // INSTRUCTION is the *only* state where Start Capture renders, and
288
- // it's the user's affirmative action to begin the analyzer
289
- // pipeline — so it must be enabled. Disabled-during-INSTRUCTION
290
- // would leave the user with no way to advance the flow.
291
- expect(start!.props.enabled).toBe(true);
292
- });
293
-
294
- it("does not begin capture on mount — it waits for the Start tap", () => {
295
- // Capture never auto-begins; the user must tap Start (parity across
296
- // SDKs), so onStartCapture does not fire on mount.
297
- const onStartCapture = vi.fn();
298
- render(
299
- <UseSmileIDCaptureScreen
300
- analyzer={fakeAnalyzer}
301
- captureType={CaptureType.selfie}
302
- onStartCapture={onStartCapture}
303
- />,
304
- );
305
- expect(onStartCapture).not.toHaveBeenCalled();
306
- });
307
-
308
- // NOTE: the legacy `overlayState` / `captureProgress` prop-driven tests
309
- // were removed in Phase 3 of the per-frame migration. The capture
310
- // screen now owns its overlay state internally (derived from the
311
- // analyzer's per-frame UseSmileIDScanState), so there's no external prop to
312
- // pin against. Phase 4 follow-up re-authors these as analyzer-driven
313
- // tests that feed synthetic UseSmileIDScanState transitions through a mock
314
- // analyzer + frame stream.
315
-
316
- it("forwards the back tap to onBack when the back button is supplied", () => {
317
- const onBack = vi.fn();
318
- const { root } = render(
319
- <UseSmileIDCaptureScreen
320
- analyzer={fakeAnalyzer}
321
- captureType={CaptureType.selfie}
322
- onBack={onBack}
323
- />,
324
- );
325
- const back = findByTestID(root, "si_capture_back_button");
326
- expect(back).not.toBeNull();
327
- act(() => {
328
- (back!.props.onClick as () => void)();
329
- });
330
- expect(onBack).toHaveBeenCalledTimes(1);
331
- });
332
-
333
- it("omits the back button when onBack isn't supplied", () => {
334
- const { root } = render(
335
- <UseSmileIDCaptureScreen
336
- analyzer={fakeAnalyzer}
337
- captureType={CaptureType.selfie}
338
- />,
339
- );
340
- expect(findByTestID(root, "si_capture_back_button")).toBeNull();
341
- });
342
-
343
- it("forces light mode on the back button, start button, and attribution", () => {
344
- const { root } = render(
345
- <UseSmileIDCaptureScreen
346
- analyzer={fakeAnalyzer}
347
- captureType={CaptureType.selfie}
348
- onBack={() => {}}
349
- />,
350
- );
351
- expect(
352
- findByTestID(root, "si_capture_back_button")!.props.forceLightMode,
353
- ).toBe(true);
354
- expect(
355
- findByTestID(root, "si_capture_start_button")!.props.forceLightMode,
356
- ).toBe(true);
357
- // Attribution renders the SVG with accessibilityLabel "Powered by Smile ID".
358
- expect(
359
- root.findAllByProps({ accessibilityLabel: "Powered by Smile ID" })[0],
360
- ).toBeTruthy();
361
- });
362
-
363
- // Removed in Phase 3 — feedback text is now driven by the analyzer's
364
- // UseSmileIDScanState rather than a partner-supplied overlayState prop. Phase 4
365
- // re-authors this against a mock analyzer that yields a synthetic
366
- // "found + feedback=si_capture_low_light" result through the
367
- // frame stream.
368
-
369
- it("hides attribution when showAttribution is false", () => {
370
- const { root } = render(
371
- <UseSmileIDCaptureScreen
372
- analyzer={fakeAnalyzer}
373
- captureType={CaptureType.selfie}
374
- showAttribution={false}
375
- />,
376
- );
377
- expect(
378
- root.findAllByProps({ accessibilityLabel: "Powered by Smile ID" }),
379
- ).toHaveLength(0);
380
- });
381
-
382
- it("forwards onStartCapture from a slot button tapped during INSTRUCTION", () => {
383
- // The Start Capture button begins the analyzer pipeline. During
384
- // INSTRUCTION (the only state where the slot renders), tapping
385
- // the partner-supplied control must forward through to
386
- // `onStartCapture` so the orchestrator can advance the flow.
387
- const onStartCapture = vi.fn();
388
- const { root } = render(
389
- <UseSmileIDCaptureScreen
390
- analyzer={fakeAnalyzer}
391
- captureType={CaptureType.selfie}
392
- onStartCapture={onStartCapture}
393
- startButton={({ onClick }) => (
394
- <Pressable testID="si_custom_start" onPress={onClick}>
395
- <Text>Go</Text>
396
- </Pressable>
397
- )}
398
- />,
399
- );
400
-
401
- act(() => {
402
- (findByTestID(root, "si_custom_start")!.props.onPress as () => void)();
403
- });
404
- expect(onStartCapture).toHaveBeenCalledTimes(1);
405
- });
406
-
407
- it("renders a partner-supplied start button slot in INSTRUCTION state", () => {
408
- const onStartCapture = vi.fn();
409
- const { root } = render(
410
- <UseSmileIDCaptureScreen
411
- analyzer={fakeAnalyzer}
412
- captureType={CaptureType.selfie}
413
- onStartCapture={onStartCapture}
414
- startButton={({ onClick, enabled }) => (
415
- <Pressable
416
- testID="si_custom_start"
417
- onPress={onClick}
418
- accessibilityState={{ disabled: !enabled }}
419
- >
420
- <Text>Go</Text>
421
- </Pressable>
422
- )}
423
- />,
424
- );
425
- const slot = findByTestID(root, "si_custom_start");
426
- expect(slot).not.toBeNull();
427
- // Slot only renders during INSTRUCTION, where the analyzer
428
- // hasn't started yet — `enabled` propagates as true.
429
- expect(slot!.props.accessibilityState.disabled).toBe(false);
430
- // Default start button must NOT also render — concrete scenario:
431
- // a future refactor that double-renders both would silently stack.
432
- expect(findByTestID(root, "si_capture_start_button")).toBeNull();
433
- });
434
-
435
- it("primes the guidance with the standard instruction before the first frame", () => {
436
- const { root } = render(
437
- <UseSmileIDCaptureScreen
438
- analyzer={fakeAnalyzer}
439
- captureType={CaptureType.selfie}
440
- />,
441
- );
442
- const text = findByTestID(root, "si_capture_feedback_text");
443
- // Pre-capture shows the press-Start instruction — the visible
444
- // Start Capture button is the next action.
445
- expect(collectText(text!)).toBe(enStrings.si_start_capture_instruction);
446
- });
447
-
448
- it("primes the guidance with the press-Start copy under Enhanced Smart Selfie too", () => {
449
- // The ESS head-turn primer belongs to the scanning Initial state;
450
- // pre-capture shows the press-Start instruction in both modes.
451
- const { root } = render(
452
- <UseSmileIDCaptureScreen
453
- analyzer={fakeAnalyzer}
454
- captureType={CaptureType.selfie}
455
- enableEnhancedLiveness
456
- />,
457
- );
458
- const text = findByTestID(root, "si_capture_feedback_text");
459
- expect(collectText(text!)).toBe(enStrings.si_start_capture_instruction);
460
- });
461
-
462
- it("engages the brightness hook on mount", async () => {
463
- render(
464
- <UseSmileIDCaptureScreen
465
- analyzer={fakeAnalyzer}
466
- captureType={CaptureType.selfie}
467
- />,
468
- );
469
- // The hook awaits getBrightness before issuing setBrightness.
470
- // Two microtask flushes drain the chain.
471
- await act(async () => {
472
- await Promise.resolve();
473
- await Promise.resolve();
474
- });
475
- expect(mockedGetBrightness).toHaveBeenCalledTimes(1);
476
- expect(mockedSetBrightness).toHaveBeenCalledWith(1);
477
- });
478
-
479
- it("renders a translucent status bar so the preview is edge-to-edge", () => {
480
- // Translucent status bar = full-bleed window = full-screen oval reference.
481
- const { root } = render(
482
- <UseSmileIDCaptureScreen
483
- analyzer={fakeAnalyzer}
484
- captureType={CaptureType.selfie}
485
- />,
486
- );
487
- const statusBar = root.findAllByType(StatusBar)[0];
488
- expect(statusBar).toBeTruthy();
489
- expect(statusBar!.props.translucent).toBe(true);
490
- });
491
-
492
- it("drops capture events accumulated before an unsatisfied reset", async () => {
493
- // Regression: events accumulated before an `unsatisfied` reset are stale
494
- // and must not reach the submission set — only post-reset events should.
495
- const onCaptureComplete = vi.fn();
496
- let resolveFlush!: () => void;
497
- const analyzer = makeFakeAnalyzer();
498
- // flush() gates onCaptureComplete; resolve it manually to control timing.
499
- vi.mocked(analyzer.flush).mockReturnValue(
500
- new Promise<void>((resolve) => {
501
- resolveFlush = resolve;
502
- }),
503
- );
504
-
505
- // Reset so the assertion below proves THIS render registered the
506
- // callback, not a leftover from an earlier test.
507
- capturedOnResult = null;
508
- render(
509
- <UseSmileIDCaptureScreen
510
- analyzer={analyzer}
511
- captureType={CaptureType.selfie}
512
- onCaptureComplete={onCaptureComplete}
513
- />,
514
- );
515
- expect(capturedOnResult).not.toBeNull();
516
- const emit = (result: FaceScanResult) => {
517
- act(() => {
518
- capturedOnResult!(result);
519
- });
520
- };
521
-
522
- const output = { faces: [], brightness: 0 };
523
- const event = (
524
- kind: CaptureReadyEvent["kind"],
525
- captureIndex: number,
526
- ): CaptureReadyEvent => ({
527
- kind,
528
- captureIndex,
529
- url: `file://${kind}-${captureIndex}`,
530
- });
531
-
532
- const staleSelfie = event(CaptureReadyEventKind.Selfie, 0);
533
- const staleLiveness = event(CaptureReadyEventKind.Liveness, 0);
534
- const freshSelfie = event(CaptureReadyEventKind.Selfie, 1);
535
- const freshLiveness = event(CaptureReadyEventKind.Liveness, 1);
536
-
537
- // Stale events → unsatisfied reset (drops them) → fresh events → finished.
538
- emit({
539
- output,
540
- state: { type: UseSmileIDScanStateType.Found },
541
- capturedEvents: [staleSelfie, staleLiveness],
542
- });
543
- emit({
544
- output,
545
- state: { type: UseSmileIDScanStateType.Unsatisfied },
546
- capturedEvents: [],
547
- });
548
- emit({
549
- output,
550
- state: { type: UseSmileIDScanStateType.Found },
551
- capturedEvents: [freshSelfie, freshLiveness],
552
- });
553
- emit({
554
- output,
555
- state: { type: UseSmileIDScanStateType.Finished },
556
- capturedEvents: [],
557
- });
558
-
559
- await act(async () => {
560
- resolveFlush();
561
- await Promise.resolve();
562
- await Promise.resolve();
563
- });
564
-
565
- expect(onCaptureComplete).toHaveBeenCalledTimes(1);
566
- // Only the post-reset events survive — the stale ones were cleared.
567
- // The capture telemetry (duration + retries) travels as a second argument;
568
- // the retry count reflects the one unsatisfied reset observed above.
569
- expect(onCaptureComplete).toHaveBeenCalledWith(
570
- [freshSelfie, freshLiveness],
571
- expect.objectContaining({ retries: 1 }),
572
- );
573
- });
574
-
575
- it("replays the shared selfie scenario to a full capture completion", async () => {
576
- // Drives the capture gap headlessly through the frame stream's onResult
577
- // seam: the shared scenario replayed to `finished` must reach
578
- // onCaptureComplete with the scripted selfie + liveness events.
579
- const onCaptureComplete = vi.fn();
580
- const analyzer = makeFakeAnalyzer();
581
- capturedOnResult = null;
582
- render(
583
- <UseSmileIDCaptureScreen
584
- analyzer={analyzer}
585
- captureType={CaptureType.selfie}
586
- onCaptureComplete={onCaptureComplete}
587
- />,
588
- );
589
- expect(capturedOnResult).not.toBeNull();
590
-
591
- // Consume the real shared scenario (not a hand-written copy) so a drift in
592
- // the canonical script is caught here rather than silently diverging.
593
- const scenarioDir = dirname(import.meta.url.replace(/^file:\/\//, ""));
594
- const scenario = parseScriptedScenario(
595
- JSON.parse(
596
- readFileSync(
597
- join(
598
- scenarioDir,
599
- "../../../../../e2e/scenarios/selfie-happy-path.json",
600
- ),
601
- "utf8",
602
- ),
603
- ),
604
- );
605
- for (const result of scriptedFaceScanResults(scenario, {
606
- livenessCount: 2,
607
- })) {
608
- act(() => {
609
- capturedOnResult!(result);
610
- });
611
- }
612
- await act(async () => {
613
- await Promise.resolve();
614
- await Promise.resolve();
615
- });
616
-
617
- expect(onCaptureComplete).toHaveBeenCalledTimes(1);
618
- const events = onCaptureComplete.mock.calls[0][0] as CaptureReadyEvent[];
619
- expect(
620
- events.filter((e) => e.kind === CaptureReadyEventKind.Selfie),
621
- ).toHaveLength(1);
622
- expect(
623
- events.filter((e) => e.kind === CaptureReadyEventKind.Liveness),
624
- ).toHaveLength(2);
625
- });
626
- });
627
-
628
- /**
629
- * Session-boundary debouncer regression, exercised on
630
- * `UseSmileIDFeedbackDebouncer` directly because the route harness
631
- * cannot drive multi-step scan-state sequences. Mirrors the capture
632
- * screen's frame-result callback: `isSessionBoundary` decides when to
633
- * `reset()` + `seed()`.
634
- */
635
- describe("session-boundary epoch reset — debouncer regression", () => {
636
- beforeEach(() => {
637
- vi.useFakeTimers();
638
- });
639
- afterEach(() => {
640
- vi.useRealTimers();
641
- });
642
-
643
- it("re-emits the smile key after an unsatisfied reset clears the debouncer", () => {
644
- const emitted: string[] = [];
645
- const debouncer = new UseSmileIDFeedbackDebouncer<string>({
646
- emit: (value) => emitted.push(value),
647
- delayMs: UseSmileIDMotion.feedbackDebounce,
648
- isImmediate: () => false,
649
- });
650
-
651
- let previousScanState: UseSmileIDScanState | null = null;
652
- const processTransition = (
653
- nextScanState: UseSmileIDScanState,
654
- nextFeedbackKey: string,
655
- ) => {
656
- const boundary =
657
- previousScanState !== null &&
658
- isSessionBoundary(previousScanState, nextScanState);
659
- previousScanState = nextScanState;
660
- if (boundary) {
661
- debouncer.reset();
662
- debouncer.seed(nextFeedbackKey);
663
- } else {
664
- debouncer.publish(nextFeedbackKey);
665
- }
666
- };
667
-
668
- // found — smile key settles after the debounce window.
669
- processTransition(
670
- { type: UseSmileIDScanStateType.Found, feedback: "si_capture_smile" },
671
- "si_capture_smile",
672
- );
673
- vi.advanceTimersByTime(UseSmileIDMotion.feedbackDebounce);
674
- expect(emitted).toEqual(["si_capture_smile"]);
675
-
676
- // Entering unsatisfied is not a boundary — no reset.
677
- processTransition(
678
- { type: UseSmileIDScanStateType.Unsatisfied },
679
- "si_selfie_capture_unsatisfied",
680
- );
681
- vi.advanceTimersByTime(UseSmileIDMotion.feedbackDebounce);
682
- expect(emitted).toEqual([
683
- "si_capture_smile",
684
- "si_selfie_capture_unsatisfied",
685
- ]);
686
-
687
- // Leaving unsatisfied is a boundary — without the reset the repeated
688
- // smile key would be suppressed as a duplicate.
689
- processTransition(
690
- { type: UseSmileIDScanStateType.Found, feedback: "si_capture_smile" },
691
- "si_capture_smile",
692
- );
693
- // seed() emits synchronously; no timer advance needed.
694
- expect(emitted).toEqual([
695
- "si_capture_smile",
696
- "si_selfie_capture_unsatisfied",
697
- "si_capture_smile",
698
- ]);
699
- });
700
-
701
- // Document capture has no Start button, so a scan timeout has to leave the
702
- // user a way forward — the sibling SDKs surface the manual shutter as the
703
- // recovery affordance (their shared scan state sets `showCaptureButton` on
704
- // the timeout state). Without these, a timed-out flow is a dead end: only
705
- // Back and ✕ remain.
706
- describe("document capture timeout recovery", () => {
707
- function renderDocumentScreen(props: {
708
- readonly captureMode: ReturnType<typeof DocumentCaptureMode.AutoCapture>;
709
- readonly allowGalleryUpload?: boolean;
710
- }) {
711
- const tree = render(
712
- <UseSmileIDCaptureScreen
713
- analyzer={fakeAnalyzer}
714
- captureType={CaptureType.document}
715
- captureMode={props.captureMode}
716
- allowGalleryUpload={props.allowGalleryUpload ?? true}
717
- />,
718
- );
719
- // The overlay and its controls only mount once the canvas is measured;
720
- // `onLayout` never fires under the test renderer, so drive it (landscape,
721
- // as a document capture screen is).
722
- act(() => {
723
- findByTestID(tree.root, "si_capture_screen")!.props.onLayout({
724
- nativeEvent: { layout: { width: 800, height: 400 } },
725
- });
726
- });
727
- return tree;
728
- }
729
-
730
- function emitTimeout() {
731
- expect(capturedOnResult).not.toBeNull();
732
- act(() => {
733
- capturedOnResult!({
734
- output: { faces: [], brightness: 0 },
735
- state: { type: UseSmileIDScanStateType.Timeout },
736
- capturedEvents: [],
737
- });
738
- });
739
- }
740
-
741
- it("offers the manual shutter after a timeout, in every capture mode", () => {
742
- const { root } = renderDocumentScreen({
743
- captureMode: DocumentCaptureMode.AutoCapture,
744
- });
745
-
746
- emitTimeout();
747
-
748
- expect(findByTestID(root, "si_document_manual_shutter")).not.toBeNull();
749
- });
750
-
751
- it("keeps the gallery button available after a timeout", () => {
752
- const { root } = renderDocumentScreen({
753
- captureMode: DocumentCaptureMode.AutoCaptureWithManualFallback({
754
- activateManualAfterMs: 3000,
755
- }),
756
- });
757
-
758
- emitTimeout();
759
-
760
- expect(findByTestID(root, "si_document_gallery_upload")).not.toBeNull();
761
- });
762
-
763
- it("leaves the manual shutter usable after a timeout", () => {
764
- const { root } = renderDocumentScreen({
765
- captureMode: DocumentCaptureMode.ManualCapture,
766
- });
767
-
768
- emitTimeout();
769
-
770
- const shutter = findByTestID(root, "si_document_manual_shutter");
771
- expect(shutter).not.toBeNull();
772
- // The timeout must not latch the one-shot delivery gate, or the button
773
- // renders but does nothing.
774
- act(() => {
775
- shutter!.props.onPress();
776
- });
777
- expect(mockedTakePhoto).toHaveBeenCalledTimes(1);
778
- });
779
- });
780
- });