@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,1165 +0,0 @@
1
- import { GlobalPrivacyControl } from "../core/models/global_privacy_control";
2
- import { describe, expect, it, vi } from "vitest";
3
- import { AnalyzerFactoryKey } from "@smileid/usesmileid_bridge";
4
- import type {
5
- FaceAnalyzer,
6
- DocumentAnalyzer,
7
- } from "@smileid/usesmileid_platform_interface";
8
- import {
9
- useSmileIDBuilder,
10
- UseSmileIDFlowBuilder,
11
- } from "../presentation/flow/dsl/use_smile_id_builder";
12
- import {
13
- CaptureConfigBuilder,
14
- CaptureType,
15
- } from "../presentation/flow/dsl/builder/screens_builder";
16
- import { JobType } from "../core/models/job_type";
17
- import { DocumentType } from "../core/models/document_type";
18
- import { LogLevel } from "../core/models/network_config";
19
- import type { FlowConfigurationSnapshot } from "../presentation/flow/dsl/use_smile_id_flow_builder";
20
-
21
- // Test helper: invokes useSmileIDBuilder, asserts kind === 'success'
22
- // and returns the configuration. Throws with a descriptive message
23
- // when the builder reports invalid — keeps test bodies focused on
24
- // the surface under test instead of ceremony.
25
- function buildOk(
26
- configure: (b: UseSmileIDFlowBuilder) => void,
27
- ): FlowConfigurationSnapshot {
28
- const result = useSmileIDBuilder(configure);
29
- if (result.kind === "invalid") {
30
- throw new Error(
31
- `Expected build() success, got invalid: ${result.validation.issues.map((i) => i.message).join("; ")}`,
32
- );
33
- }
34
- return result.configuration;
35
- }
36
-
37
- // Test helper: invokes useSmileIDBuilder and expects an invalid
38
- // result whose first issue's message matches `pattern`. The
39
- // canonical migration target for the legacy `expect(() =>
40
- // useSmileIDBuilder(...)).toThrow(/regex/)` pattern.
41
- function expectBuildInvalid(
42
- configure: (b: UseSmileIDFlowBuilder) => void,
43
- pattern: RegExp,
44
- ): void {
45
- const result = useSmileIDBuilder(configure);
46
- expect(result.kind).toBe("invalid");
47
- if (result.kind === "invalid") {
48
- const matched = result.validation.issues.some((i) =>
49
- pattern.test(i.message),
50
- );
51
- if (!matched) {
52
- throw new Error(
53
- `Expected an invalid issue matching ${pattern} but got: ${result.validation.issues.map((i) => i.message).join(", ")}`,
54
- );
55
- }
56
- }
57
- }
58
-
59
- const stubFaceAnalyzer: FaceAnalyzer = {
60
- kind: "face",
61
- key: AnalyzerFactoryKey.VisionFace,
62
- frameProcessorPluginName: "UseSmileIDVisionFaceFrameProcessor",
63
- configure: vi.fn(),
64
- reset: vi.fn(),
65
- flush: vi.fn(),
66
- close: vi.fn(),
67
- };
68
-
69
- const stubDocumentAnalyzer: DocumentAnalyzer = {
70
- kind: "document",
71
- frameProcessorPluginName: "UseSmileIDVisionDocumentFrameProcessor",
72
- configure: vi.fn(),
73
- reset: vi.fn(),
74
- flush: vi.fn(),
75
- close: vi.fn(),
76
- };
77
-
78
- /**
79
- * Add the minimum screens block needed to satisfy `build()`'s
80
- * non-empty-screens invariant — used by tests that exercise other
81
- * surfaces (config, theme, network, ml) and don't otherwise care
82
- * about the screens block.
83
- */
84
- function withMinimalScreens(b: UseSmileIDFlowBuilder): void {
85
- b.screens((screens) => {
86
- screens.instructions();
87
- });
88
- }
89
-
90
- /**
91
- * Add the screens / ml / consent state needed to satisfy the
92
- * `documentVerification` job-type rules — used by tests that exercise
93
- * the network-config surface for a real job type and don't otherwise
94
- * care about the screens block. The caller still supplies its own
95
- * `network { }` block.
96
- */
97
- function withValidDocumentFlow(b: UseSmileIDFlowBuilder): void {
98
- b.consentInformation = {
99
- granted: true,
100
- grantedAt: "2026-04-30T00:00:00.000Z",
101
- noticeLanguage: "EN",
102
- noticePrivacyPolicyUrl: "https://example.test/p",
103
- };
104
- // Document Verification requires its params + the shared user_details.
105
- b.documentVerificationParams = { country: "KE", idType: "NATIONAL_ID" };
106
- b.userDetails = {
107
- givenNames: "Ada",
108
- lastName: "Lovelace",
109
- email: "ada@example.com",
110
- };
111
- b.screens((screens) => {
112
- screens.capture((c) => {
113
- c.captureType = CaptureType.selfie;
114
- });
115
- screens.capture((c) => {
116
- c.captureType = CaptureType.document;
117
- c.document((d) => {
118
- d.documentType = DocumentType.GenericDocument();
119
- });
120
- });
121
- screens.processing();
122
- });
123
- b.ml((m) => {
124
- m.analyzers((a) => {
125
- a.forCaptureType(CaptureType.selfie, (face) => {
126
- face.add(stubFaceAnalyzer);
127
- });
128
- });
129
- });
130
- }
131
-
132
- describe("useSmileIDBuilder — closure-based DSL", () => {
133
- it("produces a frozen FlowConfiguration when at least one screen is configured", () => {
134
- const config = buildOk((b) => {
135
- withMinimalScreens(b);
136
- });
137
- expect(Object.isFrozen(config)).toBe(true);
138
- expect(config.screens.steps).toHaveLength(1);
139
- expect(typeof config.onResult).toBe("function");
140
- });
141
-
142
- it("rejects an empty screens block at build time", () => {
143
- // The error message reads "The screens { } block is empty …".
144
- // Match across the literal `{ }` between "screens" and "block"
145
- // so the assertion isn't tied to that formatting detail.
146
- expectBuildInvalid(() => {}, /screens.*block is empty/i);
147
- });
148
-
149
- describe("config block", () => {
150
- it("global privacy control defaults to opt-out", () => {
151
- const config = buildOk((b) => {
152
- withMinimalScreens(b);
153
- b.config(() => {});
154
- });
155
- expect(config.config?.globalPrivacyControl).toBe(
156
- GlobalPrivacyControl.OptOut,
157
- );
158
- });
159
-
160
- it("global privacy control opt-in flows from the config block", () => {
161
- const config = buildOk((b) => {
162
- withMinimalScreens(b);
163
- b.config((c) => {
164
- c.globalPrivacyControl = GlobalPrivacyControl.OptIn;
165
- });
166
- });
167
- expect(config.config?.globalPrivacyControl).toBe(
168
- GlobalPrivacyControl.OptIn,
169
- );
170
- });
171
-
172
- it("captures enableCrashReporting through the closure", () => {
173
- const config = buildOk((b) => {
174
- withMinimalScreens(b);
175
- b.config((c) => {
176
- c.enableCrashReporting = false;
177
- });
178
- });
179
- expect(config.config?.enableCrashReporting).toBe(false);
180
- });
181
-
182
- it("composes across multiple config() calls", () => {
183
- // Concrete scenario: a partner extracts theme + flag setup into
184
- // separate helper functions that each call b.config(...). With
185
- // composing semantics, both calls' state lands on the same
186
- // ConfigBuilder. Without it, the second would overwrite the
187
- // first.
188
- const config = buildOk((b) => {
189
- withMinimalScreens(b);
190
- b.config((c) => {
191
- c.enableCrashReporting = false;
192
- });
193
- b.config((c) => {
194
- c.enableDebugMode = true;
195
- });
196
- });
197
- expect(config.config?.enableCrashReporting).toBe(false);
198
- expect(config.config?.enableDebugMode).toBe(true);
199
- });
200
- });
201
-
202
- describe("network block (3-level closure nesting)", () => {
203
- it("captures partnerConfig and logging via nested closures", () => {
204
- const config = buildOk((b) => {
205
- withValidDocumentFlow(b);
206
- b.network((n) => {
207
- n.config((c) => {
208
- c.jobType = JobType.documentVerification;
209
- c.token = "api-key";
210
- c.partnerConfig((p) => {
211
- p.partnerId = "partner-id";
212
- p.callbackUrl = "https://example.com/cb";
213
- p.useSandbox = true;
214
- });
215
- c.logging((l) => {
216
- l.enabled = true;
217
- l.level = LogLevel.body;
218
- });
219
- });
220
- // TimeoutConfigBuilder takes seconds (matching the rest of
221
- // the SDK's HTTP-config surface — Dio, Axios, OkHttp all
222
- // express timeouts as seconds at this layer). Fields are
223
- // `connect / read / write / call`, no `Ms` suffix.
224
- n.timeouts((t) => {
225
- t.connect = 30;
226
- t.call = 120;
227
- });
228
- });
229
- });
230
- expect(config.network?.config?.jobType).toBe(
231
- JobType.documentVerification,
232
- );
233
- expect(config.network?.config?.partnerConfig?.partnerId).toBe(
234
- "partner-id",
235
- );
236
- expect(config.network?.config?.token).toBe("api-key");
237
- expect(config.network?.config?.partnerConfig?.useSandbox).toBe(true);
238
- expect(config.network?.config?.logging?.level).toBe("body");
239
- expect(config.network?.timeouts?.connect).toBe(30);
240
- expect(config.network?.timeouts?.call).toBe(120);
241
- });
242
-
243
- it("captures partnerParams on PartnerConfig and preserves the value shape", () => {
244
- // Concrete scenario: partners attach a custom job-correlation
245
- // map (e.g. internal session id) via `p.partnerParams = { ... }`
246
- // so the lambda webhook can de-duplicate on the partner side.
247
- // The DSL must forward the field onto `PartnerConfig.partnerParams`
248
- // unchanged so the API layer can serialize it as the
249
- // `partner_params` JSON multipart part.
250
- const config = buildOk((b) => {
251
- withValidDocumentFlow(b);
252
- b.network((n) => {
253
- n.config((c) => {
254
- c.jobType = JobType.documentVerification;
255
- c.token = "api-key";
256
- c.partnerConfig((p) => {
257
- p.partnerId = "partner-id";
258
- p.callbackUrl = "https://example.com/cb";
259
- p.useSandbox = true;
260
- p.partnerParams = { jobRef: "ref-42", sessionId: "s-1" };
261
- });
262
- });
263
- });
264
- });
265
- expect(config.network?.config?.partnerConfig?.partnerParams).toEqual({
266
- jobRef: "ref-42",
267
- sessionId: "s-1",
268
- });
269
- });
270
-
271
- it("omits partnerParams from the built PartnerConfig when never set", () => {
272
- // exactOptionalPropertyTypes contract — the field is absent on
273
- // the built object (not present-and-undefined) so partners doing
274
- // `Object.keys(partnerConfig)` don't observe the key.
275
- const config = buildOk((b) => {
276
- withValidDocumentFlow(b);
277
- b.network((n) => {
278
- n.config((c) => {
279
- c.jobType = JobType.documentVerification;
280
- c.token = "k";
281
- c.partnerConfig((p) => {
282
- p.partnerId = "p";
283
- p.callbackUrl = "";
284
- p.useSandbox = true;
285
- });
286
- });
287
- });
288
- });
289
- expect(
290
- Object.prototype.hasOwnProperty.call(
291
- config.network!.config!.partnerConfig!,
292
- "partnerParams",
293
- ),
294
- ).toBe(false);
295
- });
296
- });
297
-
298
- describe("ml block", () => {
299
- it("registers face and document analyzers via forCaptureType scopes", () => {
300
- const config = buildOk((b) => {
301
- withMinimalScreens(b);
302
- b.ml((m) => {
303
- m.analyzers((a) => {
304
- a.forCaptureType(CaptureType.selfie, (face) => {
305
- face.add(stubFaceAnalyzer);
306
- });
307
- a.forCaptureType(CaptureType.document, (doc) => {
308
- doc.add(stubDocumentAnalyzer);
309
- });
310
- });
311
- });
312
- });
313
- expect(config.ml?.analyzers.selfie).toBe(stubFaceAnalyzer);
314
- expect(config.ml?.analyzers.document).toBe(stubDocumentAnalyzer);
315
- });
316
-
317
- it("type-narrows the scope per captureType — concrete scenario test", () => {
318
- // Concrete scenario: the FaceAnalyzerScope has `add(FaceAnalyzer)`
319
- // and the DocumentAnalyzerScope has `add(DocumentAnalyzer)`. A
320
- // copy-paste typo where the partner adds a document analyzer
321
- // inside a 'face' scope would fail to compile (TS function-
322
- // overload narrowing). This test pins the runtime value so a
323
- // future refactor that drops the overloads would still surface
324
- // the wrong-slot drop here.
325
- const builder = new UseSmileIDFlowBuilder();
326
- withMinimalScreens(builder);
327
- builder.ml((m) => {
328
- m.analyzers((a) => {
329
- a.forCaptureType(CaptureType.selfie, (face) =>
330
- face.add(stubFaceAnalyzer),
331
- );
332
- });
333
- });
334
- // `build()` returns a discriminated union — unwrap the
335
- // success branch before reading the configuration. A
336
- // `kind === "invalid"` here would mean the validator
337
- // rejected `withMinimalScreens` + a single selfie analyzer,
338
- // which would be the real bug worth surfacing.
339
- const built = builder.build();
340
- expect(built.kind).toBe("success");
341
- if (built.kind !== "success") return;
342
- expect(built.configuration.ml?.analyzers.selfie).toBe(stubFaceAnalyzer);
343
- expect(built.configuration.ml?.analyzers.document).toBeUndefined();
344
- });
345
- });
346
-
347
- describe("screens block", () => {
348
- it("records steps in declaration order", () => {
349
- const config = buildOk((b) => {
350
- b.network((n) => {
351
- n.config((c) => {
352
- c.jobType = JobType.smartSelfieEnrollment;
353
- c.token = "k";
354
- c.partnerConfig((p) => {
355
- p.partnerId = "p";
356
- p.callbackUrl = "";
357
- p.useSandbox = true;
358
- });
359
- });
360
- });
361
- // smartSelfieEnrollment requires userDetails (the v3 wire
362
- // path carries `user_details` as a multipart part).
363
- b.userDetails = {
364
- givenNames: "Ada",
365
- lastName: "Lovelace",
366
- email: "ada@example.test",
367
- };
368
- b.ml((m) => {
369
- m.analyzers((a) => {
370
- a.forCaptureType(CaptureType.selfie, (face) =>
371
- face.add(stubFaceAnalyzer),
372
- );
373
- });
374
- });
375
- b.screens((screens) => {
376
- screens.consent((c) => {
377
- c.partnerName = "Acme";
378
- c.partnerIcon = "icon";
379
- c.partnerPrivacyPolicyUrl = "https://acme.com/privacy";
380
- });
381
- screens.instructions();
382
- screens.capture((c) => {
383
- c.captureType = CaptureType.selfie;
384
- });
385
- screens.preview();
386
- screens.processing();
387
- });
388
- });
389
- const steps = config.screens.steps;
390
- expect(steps.map((s) => s.kind)).toEqual([
391
- "consent",
392
- "instructions",
393
- "capture",
394
- "preview",
395
- "processing",
396
- ]);
397
- });
398
-
399
- it("capture(...) accepts a nested selfie config closure", () => {
400
- const config = buildOk((b) => {
401
- b.ml((m) => {
402
- m.analyzers((a) => {
403
- a.forCaptureType(CaptureType.selfie, (face) =>
404
- face.add(stubFaceAnalyzer),
405
- );
406
- });
407
- });
408
- b.screens((screens) => {
409
- screens.capture((cap) => {
410
- cap.captureType = CaptureType.selfie;
411
- // Mutually exclusive, so the closure is exercised one flag at a time.
412
- cap.selfie((sel) => {
413
- sel.allowAgentMode = true;
414
- });
415
- });
416
- });
417
- });
418
- const captureStep = config.screens.steps[0];
419
- expect(captureStep?.kind).toBe("capture");
420
- if (captureStep?.kind === "capture") {
421
- expect(captureStep.config.selfieConfig?.allowAgentMode).toBe(true);
422
- expect(captureStep.config.selfieConfig?.enableEnhancedLiveness).toBe(
423
- false,
424
- );
425
- }
426
- });
427
-
428
- it("capture(...) plumbs enableEnhancedLiveness through the selfie closure", () => {
429
- const config = buildOk((b) => {
430
- b.ml((m) => {
431
- m.analyzers((a) => {
432
- a.forCaptureType(CaptureType.selfie, (face) =>
433
- face.add(stubFaceAnalyzer),
434
- );
435
- });
436
- });
437
- b.screens((screens) => {
438
- screens.capture((cap) => {
439
- cap.captureType = CaptureType.selfie;
440
- cap.selfie((sel) => {
441
- sel.enableEnhancedLiveness = true;
442
- });
443
- });
444
- });
445
- });
446
- const captureStep = config.screens.steps[0];
447
- if (captureStep?.kind === "capture") {
448
- expect(captureStep.config.selfieConfig?.enableEnhancedLiveness).toBe(
449
- true,
450
- );
451
- expect(captureStep.config.selfieConfig?.allowAgentMode).toBe(false);
452
- }
453
- });
454
- });
455
-
456
- describe("build-time validations", () => {
457
- it("does NOT throw when an ml block is missing — capture-without-ml is severity warning, not error", () => {
458
- // Severity discipline: capture-without-ml is a warning, not an
459
- // error. The flow builds, but the analyzer slot is empty so
460
- // capture won't actually do ML at runtime. Partners surface
461
- // this via b.validate().
462
- buildOk((b) => {
463
- b.screens((screens) =>
464
- screens.capture((c) => {
465
- c.captureType = CaptureType.selfie;
466
- }),
467
- );
468
- });
469
- });
470
-
471
- it("runFlowValidation surfaces missing ml block as a warning issue", async () => {
472
- // The full validator surfaces the warning. `b.validate()` is
473
- // intentionally narrowed to empty-screens triage; the warning
474
- // surface is internal to `build()` and consumed via the
475
- // dispatcher's logging.
476
- const { MissingMLConfigurationBlockException } =
477
- await import("../core/exception/job_validation_exceptions");
478
- const { runFlowValidation } =
479
- await import("../presentation/flow/validation/flow_validator");
480
- const captureConfig = new CaptureConfigBuilder();
481
- captureConfig.captureType = CaptureType.selfie;
482
- const issues = runFlowValidation({
483
- steps: [
484
- {
485
- kind: "capture",
486
- config: captureConfig,
487
- },
488
- ],
489
- });
490
- const issue = issues.find(
491
- (i) => i instanceof MissingMLConfigurationBlockException,
492
- );
493
- expect(issue).toBeDefined();
494
- expect(issue?.severity).toBe("warning");
495
- });
496
-
497
- it("fails the build when a processing screen has no network block (strict: jobType is required)", () => {
498
- // Strict contract (parity with Android/Flutter): a processing screen
499
- // always requires a resolved jobType, so a no-network flow fails with
500
- // the jobType error (alongside the missing-network warning).
501
- expectBuildInvalid((b) => {
502
- b.screens((screens) => screens.processing());
503
- }, /jobType is not set/i);
504
- });
505
-
506
- it("requires a configured `jobType` when a processing screen is present", () => {
507
- expectBuildInvalid((b) => {
508
- b.screens((screens) => screens.processing());
509
- b.network((n) => {
510
- n.config((c) => {
511
- c.token = "k";
512
- c.partnerConfig((p) => {
513
- p.partnerId = "p";
514
- p.callbackUrl = "";
515
- p.useSandbox = true;
516
- });
517
- });
518
- });
519
- }, /jobType is not set/i);
520
- });
521
-
522
- it("rejects consent screen + pre-supplied consentInformation as mutually exclusive", () => {
523
- expectBuildInvalid((b) => {
524
- b.consentInformation = {
525
- granted: true,
526
- grantedAt: "2026-01-01T00:00:00.000Z",
527
- noticeLanguage: "EN",
528
- noticePrivacyPolicyUrl: "https://example.test/p",
529
- };
530
- b.screens((screens) => {
531
- screens.consent();
532
- screens.instructions();
533
- });
534
- }, /Exactly one form of consent is required/);
535
- });
536
-
537
- it("rejects consent that has not been granted", () => {
538
- expectBuildInvalid((b) => {
539
- b.consentInformation = {
540
- granted: false,
541
- grantedAt: "2026-01-01T00:00:00.000Z",
542
- noticeLanguage: "EN",
543
- noticePrivacyPolicyUrl: "https://example.test/p",
544
- };
545
- withMinimalScreens(b);
546
- }, /granted must be true/i);
547
- });
548
-
549
- it("rejects EnhancedKYCParams with blank required fields", () => {
550
- expectBuildInvalid((b) => {
551
- b.enhancedKYCParams = {
552
- idType: "NATIONAL_ID",
553
- idNumber: "",
554
- country: "KE",
555
- };
556
- b.userDetails = {
557
- givenNames: "John",
558
- lastName: "Doe",
559
- email: "x@y",
560
- phoneNumber: "+254000000000",
561
- };
562
- withMinimalScreens(b);
563
- }, /Invalid value for field 'idNumber': must not be blank/i);
564
- });
565
-
566
- it("rejects userDetails (top-level) with blank givenNames", () => {
567
- expectBuildInvalid((b) => {
568
- b.enhancedKYCParams = {
569
- idType: "NATIONAL_ID",
570
- idNumber: "1",
571
- country: "KE",
572
- };
573
- b.userDetails = {
574
- givenNames: " ",
575
- lastName: "Doe",
576
- email: "x@y",
577
- };
578
- withMinimalScreens(b);
579
- }, /Invalid value for field 'userDetails\.givenNames': must not be blank/i);
580
- });
581
-
582
- it("rejects userDetails missing both email and phoneNumber", () => {
583
- expectBuildInvalid((b) => {
584
- b.biometricKYCParams = {
585
- idType: "NATIONAL_ID",
586
- idNumber: "1",
587
- country: "KE",
588
- useEnrolledImage: false,
589
- };
590
- b.userDetails = {
591
- givenNames: "John",
592
- lastName: "Doe",
593
- };
594
- withMinimalScreens(b);
595
- }, /at least one of email or phoneNumber/i);
596
- });
597
-
598
- it("rejects consent screen appearing after the first slot", () => {
599
- expectBuildInvalid((b) => {
600
- b.screens((screens) => {
601
- screens.instructions();
602
- screens.consent();
603
- });
604
- }, /consent screen must be the first/i);
605
- });
606
-
607
- it("rejects preview without a preceding capture", () => {
608
- expectBuildInvalid((b) => {
609
- b.screens((screens) => {
610
- screens.preview();
611
- });
612
- }, /Preview screen at index \d+ has no preceding Capture screen/i);
613
- });
614
-
615
- it("rejects empty partnerName when a consent screen is in the flow", () => {
616
- // partnerName feeds the consent attribution line; an empty
617
- // value renders blank, which partners typically don't notice
618
- // until QA. The rule fails the build instead.
619
- expectBuildInvalid((b) => {
620
- b.screens((screens) => {
621
- screens.consent();
622
- screens.instructions();
623
- });
624
- }, /partnerName cannot be empty/i);
625
- });
626
-
627
- it("rejects missing partnerIcon when a consent screen is in the flow", () => {
628
- expectBuildInvalid((b) => {
629
- b.screens((screens) => {
630
- screens.consent((c) => {
631
- c.partnerName = "Acme";
632
- c.partnerPrivacyPolicyUrl = "https://acme.com/privacy";
633
- });
634
- screens.instructions();
635
- });
636
- }, /partnerIcon is required for the consent screen/i);
637
- });
638
-
639
- it("rejects missing partnerPrivacyPolicyUrl when a consent screen is in the flow", () => {
640
- expectBuildInvalid((b) => {
641
- b.screens((screens) => {
642
- screens.consent((c) => {
643
- c.partnerName = "Acme";
644
- c.partnerIcon = "icon";
645
- });
646
- screens.instructions();
647
- });
648
- }, /partnerPrivacyPolicyUrl is required for the consent screen/i);
649
- });
650
-
651
- describe("non-capture jobType screen restrictions", () => {
652
- // Concrete scenario: Enhanced KYC and BVN are non-biometric job
653
- // types — they collect identity fields, not selfies / documents.
654
- // The validator therefore rejects any capture-pipeline screen
655
- // (capture / preview / instructions) when one of those job types
656
- // is configured, and requires a consent step plus a processing
657
- // step. Enhanced KYC additionally requires `enhancedKYCParams`.
658
-
659
- const VALID_CONSENT = Object.freeze({
660
- granted: true,
661
- grantedAt: "2026-04-30T00:00:00.000Z",
662
- noticeLanguage: "EN",
663
- noticePrivacyPolicyUrl: "https://example.test/p",
664
- });
665
-
666
- const VALID_ENHANCED_KYC_PARAMS = Object.freeze({
667
- idType: "NATIONAL_ID",
668
- idNumber: "1",
669
- country: "KE",
670
- });
671
-
672
- const VALID_USER_DETAILS = Object.freeze({
673
- givenNames: "John",
674
- lastName: "Doe",
675
- email: "john@example.test",
676
- });
677
-
678
- function withNonCaptureNetwork(
679
- b: UseSmileIDFlowBuilder,
680
- jobType: JobType,
681
- ): void {
682
- b.network((n) => {
683
- n.config((c) => {
684
- c.jobType = jobType;
685
- c.token = "k";
686
- c.partnerConfig((p) => {
687
- p.partnerId = "p";
688
- p.callbackUrl = "";
689
- p.useSandbox = true;
690
- });
691
- });
692
- });
693
- }
694
-
695
- it("rejects a Capture screen when jobType is enhancedKyc", () => {
696
- expectBuildInvalid((b) => {
697
- b.consentInformation = VALID_CONSENT;
698
- b.enhancedKYCParams = VALID_ENHANCED_KYC_PARAMS;
699
- b.userDetails = VALID_USER_DETAILS;
700
- b.screens((screens) => {
701
- screens.capture((c) => {
702
- c.captureType = CaptureType.selfie;
703
- });
704
- screens.processing();
705
- });
706
- withNonCaptureNetwork(b, JobType.enhancedKyc);
707
- }, /must only contain consent and processing screens, but found: capture/i);
708
- });
709
-
710
- it("rejects a Preview screen when jobType is enhancedKyc", () => {
711
- expectBuildInvalid((b) => {
712
- b.consentInformation = VALID_CONSENT;
713
- b.enhancedKYCParams = VALID_ENHANCED_KYC_PARAMS;
714
- b.userDetails = VALID_USER_DETAILS;
715
- b.screens((screens) => {
716
- screens.capture((c) => {
717
- c.captureType = CaptureType.selfie;
718
- });
719
- screens.preview();
720
- screens.processing();
721
- });
722
- withNonCaptureNetwork(b, JobType.enhancedKyc);
723
- }, /must only contain consent and processing screens, but found: capture, preview/i);
724
- });
725
-
726
- it("rejects an Instructions screen when jobType is enhancedKyc", () => {
727
- expectBuildInvalid((b) => {
728
- b.consentInformation = VALID_CONSENT;
729
- b.enhancedKYCParams = VALID_ENHANCED_KYC_PARAMS;
730
- b.userDetails = VALID_USER_DETAILS;
731
- b.screens((screens) => {
732
- screens.instructions();
733
- screens.processing();
734
- });
735
- withNonCaptureNetwork(b, JobType.enhancedKyc);
736
- }, /must only contain consent and processing screens, but found: instructions/i);
737
- });
738
-
739
- it("rejects a Capture screen when jobType is bvn", () => {
740
- expectBuildInvalid((b) => {
741
- b.consentInformation = VALID_CONSENT;
742
- b.enhancedKYCParams = VALID_ENHANCED_KYC_PARAMS;
743
- b.userDetails = VALID_USER_DETAILS;
744
- b.screens((screens) => {
745
- screens.capture((c) => {
746
- c.captureType = CaptureType.selfie;
747
- });
748
- screens.processing();
749
- });
750
- withNonCaptureNetwork(b, JobType.bvn);
751
- }, /must only contain consent and processing screens, but found: capture/i);
752
- });
753
-
754
- it("requires a processing() screen for enhancedKyc", () => {
755
- expectBuildInvalid((b) => {
756
- b.consentInformation = VALID_CONSENT;
757
- b.enhancedKYCParams = VALID_ENHANCED_KYC_PARAMS;
758
- b.userDetails = VALID_USER_DETAILS;
759
- b.screens((screens) => {
760
- // Intentionally no processing screen; the validator
761
- // surfaces a separate processing-required issue.
762
- screens.consent((c) => {
763
- c.partnerName = "Acme";
764
- c.partnerIcon = "icon";
765
- c.partnerPrivacyPolicyUrl = "https://acme.test/p";
766
- });
767
- });
768
- withNonCaptureNetwork(b, JobType.enhancedKyc);
769
- }, /Invalid configuration for EnhancedKyc: must include a Processing screen/i);
770
- });
771
-
772
- it("requires a consent step (screen or pre-supplied) for enhancedKyc", () => {
773
- expectBuildInvalid((b) => {
774
- b.enhancedKYCParams = VALID_ENHANCED_KYC_PARAMS;
775
- b.screens((screens) => {
776
- screens.processing();
777
- });
778
- withNonCaptureNetwork(b, JobType.enhancedKyc);
779
- }, /must include either a Consent screen or a pre-supplied consentInformation/i);
780
- });
781
-
782
- it("requires `enhancedKYCParams` when jobType is enhancedKyc", () => {
783
- expectBuildInvalid((b) => {
784
- b.consentInformation = VALID_CONSENT;
785
- b.screens((screens) => {
786
- screens.processing();
787
- });
788
- withNonCaptureNetwork(b, JobType.enhancedKyc);
789
- }, /enhancedKYCParams is required for EnhancedKyc jobs/i);
790
- });
791
-
792
- it("does NOT require enhancedKYCParams when jobType is bvn", () => {
793
- // BVN reuses the EnhancedKYC params shape but the validator
794
- // does not surface the missing-enhancedKYCParams rule for
795
- // bvn — the repository rejects the variant up front with an
796
- // "unsupported" error before params are inspected.
797
- const result = useSmileIDBuilder((b) => {
798
- b.consentInformation = VALID_CONSENT;
799
- b.screens((screens) => {
800
- screens.processing();
801
- });
802
- withNonCaptureNetwork(b, JobType.bvn);
803
- });
804
- const messages =
805
- result.kind === "invalid"
806
- ? result.validation.issues.map((i) => i.message).join(" || ")
807
- : "";
808
- expect(/enhancedKYCParams is required/i.test(messages)).toBe(false);
809
- });
810
- });
811
- });
812
-
813
- describe("validateConsent() in isolation", () => {
814
- // Partners pre-flight a `ConsentInformation` payload pulled from
815
- // their own storage before assigning it to `b.consentInformation`.
816
- // The method runs the same rules as the in-flow consent
817
- // validation but without requiring the rest of the builder state
818
- // to be set.
819
-
820
- it("returns Valid for a well-formed payload", () => {
821
- const builder = new UseSmileIDFlowBuilder();
822
- const state = builder.validateConsent({
823
- granted: true,
824
- grantedAt: "2026-01-01T00:00:00.000Z",
825
- noticeLanguage: "EN",
826
- noticePrivacyPolicyUrl: "https://example.test/privacy",
827
- });
828
- expect(state.valid).toBe(true);
829
- });
830
-
831
- it("returns Invalid with typed issues for malformed payload", async () => {
832
- const { InvalidConsentInformationException } =
833
- await import("../core/exception/consent_validation_exceptions");
834
- const builder = new UseSmileIDFlowBuilder();
835
- const state = builder.validateConsent({
836
- granted: false,
837
- // whitespace-only grantedAt — must trigger the non-blank
838
- // rule. A naive `!value` check would let this through and
839
- // the malformed payload would silently flow downstream.
840
- grantedAt: " ",
841
- noticeLanguage: "EN",
842
- noticePrivacyPolicyUrl: "https://example.test/p",
843
- });
844
- expect(state.valid).toBe(false);
845
- if (!state.valid) {
846
- const details = state.issues
847
- .filter(
848
- (e): e is InstanceType<typeof InvalidConsentInformationException> =>
849
- e instanceof InvalidConsentInformationException,
850
- )
851
- .map((e) => e.message);
852
- expect(details).toContain(
853
- "Invalid consent information: granted must be true",
854
- );
855
- expect(details).toContain(
856
- "Invalid consent information: grantedAt must not be blank",
857
- );
858
- }
859
- });
860
-
861
- it("does not depend on builder state — runs against the supplied payload only", () => {
862
- const builder = new UseSmileIDFlowBuilder();
863
- // Builder state is otherwise empty (would fail full validate()
864
- // on the empty-screens rule), but validateConsent() inspects
865
- // only the payload argument.
866
- const state = builder.validateConsent({
867
- granted: true,
868
- grantedAt: "2026-01-01T00:00:00.000Z",
869
- noticeLanguage: "EN",
870
- noticePrivacyPolicyUrl: "https://example.test/privacy",
871
- });
872
- expect(state.valid).toBe(true);
873
- });
874
- });
875
-
876
- describe("validateEnhancedKYCParams() / validateBiometricKYCParams() / validateUserDetails() in isolation", () => {
877
- // Partners pre-flight payloads (e.g. pulled from a form or a
878
- // remote config) before assigning to `b.enhancedKYCParams` /
879
- // `b.biometricKYCParams` / `b.userDetails`. KYC param rules cover
880
- // ID + country non-blank; UserDetails rules cover name fields
881
- // non-blank, and at least one of email / phoneNumber.
882
-
883
- it("validateEnhancedKYCParams accepts a well-formed payload", () => {
884
- const builder = new UseSmileIDFlowBuilder();
885
- const state = builder.validateEnhancedKYCParams({
886
- idType: "NATIONAL_ID",
887
- idNumber: "1234567890",
888
- country: "KE",
889
- });
890
- expect(state.valid).toBe(true);
891
- });
892
-
893
- it("validateEnhancedKYCParams rejects blank required fields", async () => {
894
- const { InvalidFieldValueException } =
895
- await import("../core/exception/job_validation_exceptions");
896
- const builder = new UseSmileIDFlowBuilder();
897
- const state = builder.validateEnhancedKYCParams({
898
- idType: "",
899
- idNumber: "",
900
- country: "",
901
- });
902
- expect(state.valid).toBe(false);
903
- if (!state.valid) {
904
- const reasons = state.issues
905
- .filter(
906
- (e): e is InstanceType<typeof InvalidFieldValueException> =>
907
- e instanceof InvalidFieldValueException,
908
- )
909
- .map((e) => e.message);
910
- // Each blank top-level field surfaces its own typed issue.
911
- expect(reasons.some((m) => /idType/.test(m))).toBe(true);
912
- expect(reasons.some((m) => /idNumber/.test(m))).toBe(true);
913
- expect(reasons.some((m) => /country/.test(m))).toBe(true);
914
- }
915
- });
916
-
917
- it("validateUserDetails rejects payload missing both email and phoneNumber", () => {
918
- const builder = new UseSmileIDFlowBuilder();
919
- const state = builder.validateUserDetails({
920
- givenNames: "Ada",
921
- lastName: "Lovelace",
922
- });
923
- expect(state.valid).toBe(false);
924
- if (!state.valid) {
925
- const matched = state.issues.some((i) =>
926
- /at least one of email or phoneNumber/.test(i.message),
927
- );
928
- expect(matched).toBe(true);
929
- }
930
- });
931
-
932
- it("validateUserDetails accepts a well-formed payload", () => {
933
- const builder = new UseSmileIDFlowBuilder();
934
- const state = builder.validateUserDetails({
935
- givenNames: "Ada",
936
- lastName: "Lovelace",
937
- email: "ada@example.test",
938
- });
939
- expect(state.valid).toBe(true);
940
- });
941
-
942
- it("validateBiometricKYCParams accepts a well-formed payload (no userDetails on the params type)", () => {
943
- // userDetails moved to a top-level builder field — params no
944
- // longer carries it.
945
- const builder = new UseSmileIDFlowBuilder();
946
- const state = builder.validateBiometricKYCParams({
947
- idType: "NATIONAL_ID",
948
- idNumber: "1234567890",
949
- country: "KE",
950
- useEnrolledImage: false,
951
- });
952
- expect(state.valid).toBe(true);
953
- });
954
-
955
- it("validateDocumentVerificationParams accepts a country-only payload (idType optional)", () => {
956
- const builder = new UseSmileIDFlowBuilder();
957
- expect(
958
- builder.validateDocumentVerificationParams({ country: "KE" }).valid,
959
- ).toBe(true);
960
- });
961
-
962
- it("validateDocumentVerificationParams rejects a blank country", () => {
963
- const builder = new UseSmileIDFlowBuilder();
964
- expect(
965
- builder.validateDocumentVerificationParams({ country: " " }).valid,
966
- ).toBe(false);
967
- });
968
-
969
- it("validateEnhancedDocumentVerificationParams requires both country and idType", () => {
970
- const builder = new UseSmileIDFlowBuilder();
971
- expect(
972
- builder.validateEnhancedDocumentVerificationParams({
973
- country: "KE",
974
- idType: "",
975
- }).valid,
976
- ).toBe(false);
977
- expect(
978
- builder.validateEnhancedDocumentVerificationParams({
979
- country: "KE",
980
- idType: "NATIONAL_ID",
981
- }).valid,
982
- ).toBe(true);
983
- });
984
- });
985
-
986
- describe("typed exception hierarchy", () => {
987
- it("build() returns the typed exception itself in validation, not a wrapping Error", async () => {
988
- const { EmptyScreensBlockException } =
989
- await import("../core/exception/screen_config_validation_exceptions");
990
- const result = useSmileIDBuilder(() => {});
991
- expect(result.kind).toBe("invalid");
992
- if (result.kind === "invalid") {
993
- expect(result.validation.issues[0]).toBeInstanceOf(
994
- EmptyScreensBlockException,
995
- );
996
- }
997
- });
998
-
999
- it("validation exceptions extend UseSmileIDBuilderException → UseSmileIDValidationException → UseSmileIDException", async () => {
1000
- const { UseSmileIDBuilderException } =
1001
- await import("../core/exception/use_smile_id_builder_exception");
1002
- const { UseSmileIDValidationException } =
1003
- await import("../core/exception/use_smile_id_validation_exception");
1004
- const { UseSmileIDException } =
1005
- await import("../core/exception/use_smile_id_exception");
1006
- const result = useSmileIDBuilder(() => {});
1007
- expect(result.kind).toBe("invalid");
1008
- if (result.kind === "invalid") {
1009
- const issue = result.validation.issues[0];
1010
- expect(issue).toBeInstanceOf(UseSmileIDBuilderException);
1011
- expect(issue).toBeInstanceOf(UseSmileIDValidationException);
1012
- expect(issue).toBeInstanceOf(UseSmileIDException);
1013
- expect(issue).toBeInstanceOf(Error);
1014
- }
1015
- });
1016
-
1017
- it("validation exceptions carry typed errorCode + severity + suggestedFix + name", async () => {
1018
- const { EmptyScreensBlockException } =
1019
- await import("../core/exception/screen_config_validation_exceptions");
1020
- const { UseSmileIDErrorCode } =
1021
- await import("../core/exception/use_smile_id_error_code");
1022
- const result = useSmileIDBuilder(() => {});
1023
- expect(result.kind).toBe("invalid");
1024
- if (result.kind === "invalid") {
1025
- const issue = result.validation.issues[0];
1026
- if (!(issue instanceof EmptyScreensBlockException))
1027
- throw new Error("wrong type");
1028
- expect(issue.errorCode).toBe(
1029
- UseSmileIDErrorCode.Builder.EmptyScreensBlock,
1030
- );
1031
- expect(issue.severity).toBe("error");
1032
- expect(typeof issue.suggestedFix).toBe("string");
1033
- expect(issue.name).toBe("EmptyScreensBlockException");
1034
- }
1035
- });
1036
-
1037
- it("validate() returns issues as the same typed exception instances build() would throw", async () => {
1038
- const { EmptyScreensBlockException } =
1039
- await import("../core/exception/screen_config_validation_exceptions");
1040
- const builder = new UseSmileIDFlowBuilder();
1041
- const state = builder.validate();
1042
- expect(state.valid).toBe(false);
1043
- if (!state.valid) {
1044
- expect(state.issues[0]).toBeInstanceOf(EmptyScreensBlockException);
1045
- }
1046
- });
1047
- });
1048
-
1049
- describe("top-level mutable properties", () => {
1050
- it("captures consentInformation, onResult, onAnalyticsEvent", () => {
1051
- const onResult = vi.fn();
1052
- const onAnalyticsEvent = vi.fn();
1053
- const consentInformation = {
1054
- granted: true,
1055
- grantedAt: "2024-01-01T00:00:00.000Z",
1056
- noticeLanguage: "EN",
1057
- noticePrivacyPolicyUrl: "https://example.test/privacy",
1058
- };
1059
- const config = buildOk((b) => {
1060
- b.consentInformation = consentInformation;
1061
- b.onResult = onResult;
1062
- b.onAnalyticsEvent = onAnalyticsEvent;
1063
- withMinimalScreens(b);
1064
- });
1065
- expect(config.consentInformation).toEqual(consentInformation);
1066
- expect(config.onResult).toBe(onResult);
1067
- expect(config.onAnalyticsEvent).toBe(onAnalyticsEvent);
1068
- });
1069
-
1070
- it("defaults onResult to a no-op when the partner does not set it", () => {
1071
- const config = buildOk((b) => {
1072
- withMinimalScreens(b);
1073
- });
1074
- // onResult is non-nullable on the snapshot, so calling it must
1075
- // never throw. Concrete scenario: the SDK invokes onResult on
1076
- // every flow exit; a partner who skipped wiring a handler would
1077
- // have crashed before this default.
1078
- expect(() =>
1079
- config.onResult({
1080
- status: "success",
1081
- value: { userId: "", jobId: "", status: "", message: "" },
1082
- }),
1083
- ).not.toThrow();
1084
- });
1085
- });
1086
-
1087
- it("omits absent optional blocks entirely — exactOptionalPropertyTypes contract", () => {
1088
- // Concrete scenario: with `exactOptionalPropertyTypes: true`,
1089
- // omitting `b.network(...)` must NOT result in
1090
- // `snapshot.network = undefined` — the key must be absent
1091
- // outright. A future refactor that emits `undefined` would
1092
- // silently break partners running TS strict.
1093
- const config = buildOk((b) => {
1094
- withMinimalScreens(b);
1095
- });
1096
- expect("network" in config).toBe(false);
1097
- expect("ml" in config).toBe(false);
1098
- expect("config" in config).toBe(false);
1099
- expect("theme" in config).toBe(false);
1100
- expect("consentInformation" in config).toBe(false);
1101
- expect("enhancedKYCParams" in config).toBe(false);
1102
- expect("biometricKYCParams" in config).toBe(false);
1103
- expect("onAnalyticsEvent" in config).toBe(false);
1104
- // `screens` and `onResult` are always present (build() guarantees).
1105
- expect("screens" in config).toBe(true);
1106
- expect("onResult" in config).toBe(true);
1107
- });
1108
-
1109
- describe("BuilderValidationException", () => {
1110
- it("carries the full ValidationStateInvalid for partner inspection", async () => {
1111
- const { BuilderValidationException } =
1112
- await import("../core/exception/builder_validation_exception");
1113
- const { EmptyScreensBlockException } =
1114
- await import("../core/exception/screen_config_validation_exceptions");
1115
- const { UseSmileIDBuilderException } =
1116
- await import("../core/exception/use_smile_id_builder_exception");
1117
- const { UseSmileIDValidationException } =
1118
- await import("../core/exception/use_smile_id_validation_exception");
1119
-
1120
- const exception = new BuilderValidationException({
1121
- valid: false,
1122
- issues: [new EmptyScreensBlockException()],
1123
- });
1124
-
1125
- // Hierarchy assertions — partners catching one of the abstract
1126
- // bases must see this concrete exception.
1127
- expect(exception).toBeInstanceOf(UseSmileIDBuilderException);
1128
- expect(exception).toBeInstanceOf(UseSmileIDValidationException);
1129
- expect(exception).toBeInstanceOf(Error);
1130
-
1131
- // Payload — full state, not just primaryIssue.
1132
- expect(exception.validationState.issues).toHaveLength(1);
1133
- expect(exception.validationState.issues[0]).toBeInstanceOf(
1134
- EmptyScreensBlockException,
1135
- );
1136
- expect(exception.message).toMatch(/Flow validation failed/i);
1137
- });
1138
- });
1139
-
1140
- describe("UseSmileIDFlowBuilder.validate — builder-only scope", () => {
1141
- it("reports empty-screens as the only triage rule", async () => {
1142
- const { EmptyScreensBlockException } =
1143
- await import("../core/exception/screen_config_validation_exceptions");
1144
- const builder = new UseSmileIDFlowBuilder();
1145
- const state = builder.validate();
1146
- expect(state.valid).toBe(false);
1147
- if (!state.valid) {
1148
- expect(state.issues[0]).toBeInstanceOf(EmptyScreensBlockException);
1149
- }
1150
- });
1151
-
1152
- it("returns Valid when at least one screen is registered — even with missing-ml warnings", () => {
1153
- // Full validator would flag missing-ml as a warning here, but
1154
- // builder.validate() is intentionally narrowed to the
1155
- // empty-screens triage. Full validation runs inside build().
1156
- const builder = new UseSmileIDFlowBuilder();
1157
- builder.screens((screens) =>
1158
- screens.capture((c) => {
1159
- c.captureType = CaptureType.selfie;
1160
- }),
1161
- );
1162
- expect(builder.validate().valid).toBe(true);
1163
- });
1164
- });
1165
- });