@smileid/usesmileid 12.0.2 → 12.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1270) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +65 -39
  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 +1 -2
  6. package/dist/camera/camera_defaults.js +1 -26
  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 +0 -1
  44. package/dist/core/exception/flow_exceptions.js +1 -38
  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 +0 -1
  72. package/dist/core/exception/missing_job_type_exception.js +1 -15
  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 +0 -1
  142. package/dist/data/api/smile_id_api.js +1 -374
  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 +4 -6
  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 +0 -1
  180. package/dist/data/model/token_payload.js +1 -132
  181. package/dist/data/model/user_details_payload.d.ts +0 -1
  182. package/dist/data/model/user_details_payload.js +1 -53
  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 +0 -1
  204. package/dist/data/util/use_smile_id_token_decoder.js +1 -148
  205. package/dist/index.d.ts +3 -6
  206. package/dist/index.js +1 -142
  207. package/dist/l10n/strings_en.d.ts +18 -14
  208. package/dist/l10n/strings_en.js +2 -145
  209. package/dist/l10n/use_smile_id_localizations.d.ts +14 -10
  210. package/dist/l10n/use_smile_id_localizations.js +1 -546
  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 -69
  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 +0 -21
  340. package/dist/presentation/flow/dsl/builder/screens_builder.js +1 -215
  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 -356
  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 +2 -1
  352. package/dist/presentation/flow/flow_navigation_manager.js +1 -935
  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 -79
  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 -297
  385. package/dist/presentation/flow/validation/flow_validator.d.ts +2 -13
  386. package/dist/presentation/flow/validation/flow_validator.js +1 -300
  387. package/dist/presentation/flow/validation/job_type_validator.d.ts +3 -1
  388. package/dist/presentation/flow/validation/job_type_validator.js +1 -459
  389. package/dist/presentation/flow/validation/user_details_validator.d.ts +0 -1
  390. package/dist/presentation/flow/validation/user_details_validator.js +1 -40
  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 -135
  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 -640
  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/model/token_payload.d.ts.map +0 -1
  637. package/dist/data/model/token_payload.js.map +0 -1
  638. package/dist/data/model/user_details_payload.d.ts.map +0 -1
  639. package/dist/data/model/user_details_payload.js.map +0 -1
  640. package/dist/data/repository/use_smile_id_repository.d.ts.map +0 -1
  641. package/dist/data/repository/use_smile_id_repository.js.map +0 -1
  642. package/dist/data/repository/use_smile_id_repository_impl.d.ts.map +0 -1
  643. package/dist/data/repository/use_smile_id_repository_impl.js.map +0 -1
  644. package/dist/data/security/request_canonicalizer.d.ts.map +0 -1
  645. package/dist/data/security/request_canonicalizer.js.map +0 -1
  646. package/dist/data/security/request_timestamp.d.ts.map +0 -1
  647. package/dist/data/security/request_timestamp.js.map +0 -1
  648. package/dist/data/security/security_policy.d.ts.map +0 -1
  649. package/dist/data/security/security_policy.js.map +0 -1
  650. package/dist/data/security/signing_crypto.d.ts.map +0 -1
  651. package/dist/data/security/signing_crypto.js.map +0 -1
  652. package/dist/data/security/smile_id_crypto_error.d.ts.map +0 -1
  653. package/dist/data/security/smile_id_crypto_error.js.map +0 -1
  654. package/dist/data/security/smile_id_crypto_manager.d.ts.map +0 -1
  655. package/dist/data/security/smile_id_crypto_manager.js.map +0 -1
  656. package/dist/data/smile_id_urls.d.ts.map +0 -1
  657. package/dist/data/smile_id_urls.js.map +0 -1
  658. package/dist/data/util/retry_util.d.ts.map +0 -1
  659. package/dist/data/util/retry_util.js.map +0 -1
  660. package/dist/data/util/use_smile_id_token_decoder.d.ts.map +0 -1
  661. package/dist/data/util/use_smile_id_token_decoder.js.map +0 -1
  662. package/dist/index.d.ts.map +0 -1
  663. package/dist/index.js.map +0 -1
  664. package/dist/l10n/strings_en.d.ts.map +0 -1
  665. package/dist/l10n/strings_en.js.map +0 -1
  666. package/dist/l10n/use_smile_id_localizations.d.ts.map +0 -1
  667. package/dist/l10n/use_smile_id_localizations.js.map +0 -1
  668. package/dist/l10n/use_smile_id_localizations_provider.d.ts.map +0 -1
  669. package/dist/l10n/use_smile_id_localizations_provider.js.map +0 -1
  670. package/dist/metadata/builder_configuration.d.ts.map +0 -1
  671. package/dist/metadata/builder_configuration.js.map +0 -1
  672. package/dist/metadata/captured_image_properties.d.ts.map +0 -1
  673. package/dist/metadata/captured_image_properties.js.map +0 -1
  674. package/dist/metadata/device_orientation_collector.d.ts.map +0 -1
  675. package/dist/metadata/device_orientation_collector.js.map +0 -1
  676. package/dist/metadata/document_image_origin.d.ts.map +0 -1
  677. package/dist/metadata/document_image_origin.js.map +0 -1
  678. package/dist/metadata/geolocation.d.ts.map +0 -1
  679. package/dist/metadata/geolocation.js.map +0 -1
  680. package/dist/metadata/metadata_configuration_mappers.d.ts.map +0 -1
  681. package/dist/metadata/metadata_configuration_mappers.js.map +0 -1
  682. package/dist/metadata/model_configuration.d.ts.map +0 -1
  683. package/dist/metadata/model_configuration.js.map +0 -1
  684. package/dist/metadata/optional_native_modules.d.ts.map +0 -1
  685. package/dist/metadata/optional_native_modules.js.map +0 -1
  686. package/dist/metadata/use_smile_id_metadata.d.ts.map +0 -1
  687. package/dist/metadata/use_smile_id_metadata.js.map +0 -1
  688. package/dist/metadata/use_smile_id_metadata_factory.d.ts.map +0 -1
  689. package/dist/metadata/use_smile_id_metadata_factory.js.map +0 -1
  690. package/dist/presentation/assets/svg/document_shimmer_strings.d.ts.map +0 -1
  691. package/dist/presentation/assets/svg/document_shimmer_strings.js.map +0 -1
  692. package/dist/presentation/assets/svg/instruction_svg_strings.d.ts.map +0 -1
  693. package/dist/presentation/assets/svg/instruction_svg_strings.js.map +0 -1
  694. package/dist/presentation/assets/svg/svg_strings.d.ts.map +0 -1
  695. package/dist/presentation/assets/svg/svg_strings.js.map +0 -1
  696. package/dist/presentation/components/face_oval_defaults.d.ts.map +0 -1
  697. package/dist/presentation/components/face_oval_defaults.js.map +0 -1
  698. package/dist/presentation/components/helpers/animated_lottie_view.d.ts.map +0 -1
  699. package/dist/presentation/components/helpers/animated_lottie_view.js.map +0 -1
  700. package/dist/presentation/components/helpers/capture_instruction_animation_spec.d.ts.map +0 -1
  701. package/dist/presentation/components/helpers/capture_instruction_animation_spec.js.map +0 -1
  702. package/dist/presentation/components/helpers/enhanced_smart_selfie_animation_frames.d.ts.map +0 -1
  703. package/dist/presentation/components/helpers/enhanced_smart_selfie_animation_frames.js.map +0 -1
  704. package/dist/presentation/components/helpers/scaled_oval_geometry.d.ts.map +0 -1
  705. package/dist/presentation/components/helpers/scaled_oval_geometry.js.map +0 -1
  706. package/dist/presentation/components/icons/index.d.ts.map +0 -1
  707. package/dist/presentation/components/icons/index.js.map +0 -1
  708. package/dist/presentation/components/status_indicator_state.d.ts.map +0 -1
  709. package/dist/presentation/components/status_indicator_state.js.map +0 -1
  710. package/dist/presentation/components/use_smile_id_attribution.d.ts.map +0 -1
  711. package/dist/presentation/components/use_smile_id_attribution.js.map +0 -1
  712. package/dist/presentation/components/use_smile_id_back_button.d.ts.map +0 -1
  713. package/dist/presentation/components/use_smile_id_back_button.js.map +0 -1
  714. package/dist/presentation/components/use_smile_id_button.d.ts.map +0 -1
  715. package/dist/presentation/components/use_smile_id_button.js.map +0 -1
  716. package/dist/presentation/components/use_smile_id_capture_content.d.ts.map +0 -1
  717. package/dist/presentation/components/use_smile_id_capture_content.js.map +0 -1
  718. package/dist/presentation/components/use_smile_id_capture_instruction_animation.d.ts.map +0 -1
  719. package/dist/presentation/components/use_smile_id_capture_instruction_animation.js.map +0 -1
  720. package/dist/presentation/components/use_smile_id_capture_spinner.d.ts.map +0 -1
  721. package/dist/presentation/components/use_smile_id_capture_spinner.js.map +0 -1
  722. package/dist/presentation/components/use_smile_id_captured_document_image.d.ts.map +0 -1
  723. package/dist/presentation/components/use_smile_id_captured_document_image.js.map +0 -1
  724. package/dist/presentation/components/use_smile_id_captured_image_oval.d.ts.map +0 -1
  725. package/dist/presentation/components/use_smile_id_captured_image_oval.js.map +0 -1
  726. package/dist/presentation/components/use_smile_id_card_surface.d.ts.map +0 -1
  727. package/dist/presentation/components/use_smile_id_card_surface.js.map +0 -1
  728. package/dist/presentation/components/use_smile_id_confirmation_buttons.d.ts.map +0 -1
  729. package/dist/presentation/components/use_smile_id_confirmation_buttons.js.map +0 -1
  730. package/dist/presentation/components/use_smile_id_consent_row.d.ts.map +0 -1
  731. package/dist/presentation/components/use_smile_id_consent_row.js.map +0 -1
  732. package/dist/presentation/components/use_smile_id_content_card.d.ts.map +0 -1
  733. package/dist/presentation/components/use_smile_id_content_card.js.map +0 -1
  734. package/dist/presentation/components/use_smile_id_document_capture_controls.d.ts.map +0 -1
  735. package/dist/presentation/components/use_smile_id_document_capture_controls.js.map +0 -1
  736. package/dist/presentation/components/use_smile_id_document_overlay.d.ts.map +0 -1
  737. package/dist/presentation/components/use_smile_id_document_overlay.js.map +0 -1
  738. package/dist/presentation/components/use_smile_id_document_shimmer.d.ts.map +0 -1
  739. package/dist/presentation/components/use_smile_id_document_shimmer.js.map +0 -1
  740. package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_clip.d.ts.map +0 -1
  741. package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_clip.js.map +0 -1
  742. package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_direction_animation.d.ts.map +0 -1
  743. package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_direction_animation.js.map +0 -1
  744. package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_full_animation.d.ts.map +0 -1
  745. package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_full_animation.js.map +0 -1
  746. package/dist/presentation/components/use_smile_id_expandable_icon.d.ts.map +0 -1
  747. package/dist/presentation/components/use_smile_id_expandable_icon.js.map +0 -1
  748. package/dist/presentation/components/use_smile_id_face_oval_image.d.ts.map +0 -1
  749. package/dist/presentation/components/use_smile_id_face_oval_image.js.map +0 -1
  750. package/dist/presentation/components/use_smile_id_face_overlay.d.ts.map +0 -1
  751. package/dist/presentation/components/use_smile_id_face_overlay.js.map +0 -1
  752. package/dist/presentation/components/use_smile_id_failed_content.d.ts.map +0 -1
  753. package/dist/presentation/components/use_smile_id_failed_content.js.map +0 -1
  754. package/dist/presentation/components/use_smile_id_guideline_thumbnail.d.ts.map +0 -1
  755. package/dist/presentation/components/use_smile_id_guideline_thumbnail.js.map +0 -1
  756. package/dist/presentation/components/use_smile_id_instructions_hero.d.ts.map +0 -1
  757. package/dist/presentation/components/use_smile_id_instructions_hero.js.map +0 -1
  758. package/dist/presentation/components/use_smile_id_learn_more_content.d.ts.map +0 -1
  759. package/dist/presentation/components/use_smile_id_learn_more_content.js.map +0 -1
  760. package/dist/presentation/components/use_smile_id_loading_content.d.ts.map +0 -1
  761. package/dist/presentation/components/use_smile_id_loading_content.js.map +0 -1
  762. package/dist/presentation/components/use_smile_id_loading_indicator.d.ts.map +0 -1
  763. package/dist/presentation/components/use_smile_id_loading_indicator.js.map +0 -1
  764. package/dist/presentation/components/use_smile_id_oval_border_palette.d.ts.map +0 -1
  765. package/dist/presentation/components/use_smile_id_oval_border_palette.js.map +0 -1
  766. package/dist/presentation/components/use_smile_id_partner_icon.d.ts.map +0 -1
  767. package/dist/presentation/components/use_smile_id_partner_icon.js.map +0 -1
  768. package/dist/presentation/components/use_smile_id_processing_center_indicator.d.ts.map +0 -1
  769. package/dist/presentation/components/use_smile_id_processing_center_indicator.js.map +0 -1
  770. package/dist/presentation/components/use_smile_id_rounded_checkbox.d.ts.map +0 -1
  771. package/dist/presentation/components/use_smile_id_rounded_checkbox.js.map +0 -1
  772. package/dist/presentation/components/use_smile_id_status_indicator.d.ts.map +0 -1
  773. package/dist/presentation/components/use_smile_id_status_indicator.js.map +0 -1
  774. package/dist/presentation/components/use_smile_id_success_content.d.ts.map +0 -1
  775. package/dist/presentation/components/use_smile_id_success_content.js.map +0 -1
  776. package/dist/presentation/flow/analytics/use_smile_id_analytics_event.d.ts.map +0 -1
  777. package/dist/presentation/flow/analytics/use_smile_id_analytics_event.js.map +0 -1
  778. package/dist/presentation/flow/config/flow_configuration.d.ts.map +0 -1
  779. package/dist/presentation/flow/config/flow_configuration.js.map +0 -1
  780. package/dist/presentation/flow/dsl/builder/config_builder.d.ts.map +0 -1
  781. package/dist/presentation/flow/dsl/builder/config_builder.js.map +0 -1
  782. package/dist/presentation/flow/dsl/builder/ml_builder.d.ts.map +0 -1
  783. package/dist/presentation/flow/dsl/builder/ml_builder.js.map +0 -1
  784. package/dist/presentation/flow/dsl/builder/screens_builder.d.ts.map +0 -1
  785. package/dist/presentation/flow/dsl/builder/screens_builder.js.map +0 -1
  786. package/dist/presentation/flow/dsl/builder/theme_builder.d.ts.map +0 -1
  787. package/dist/presentation/flow/dsl/builder/theme_builder.js.map +0 -1
  788. package/dist/presentation/flow/dsl/flow_build_result.d.ts.map +0 -1
  789. package/dist/presentation/flow/dsl/flow_build_result.js.map +0 -1
  790. package/dist/presentation/flow/dsl/use_smile_id_builder.d.ts.map +0 -1
  791. package/dist/presentation/flow/dsl/use_smile_id_builder.js.map +0 -1
  792. package/dist/presentation/flow/dsl/use_smile_id_flow_builder.d.ts.map +0 -1
  793. package/dist/presentation/flow/dsl/use_smile_id_flow_builder.js.map +0 -1
  794. package/dist/presentation/flow/flow_navigation_context.d.ts.map +0 -1
  795. package/dist/presentation/flow/flow_navigation_context.js.map +0 -1
  796. package/dist/presentation/flow/flow_navigation_manager.d.ts.map +0 -1
  797. package/dist/presentation/flow/flow_navigation_manager.js.map +0 -1
  798. package/dist/presentation/flow/graph/screen_renderer.d.ts.map +0 -1
  799. package/dist/presentation/flow/graph/screen_renderer.js.map +0 -1
  800. package/dist/presentation/flow/job_submission_state.d.ts.map +0 -1
  801. package/dist/presentation/flow/job_submission_state.js.map +0 -1
  802. package/dist/presentation/flow/model/instruction_guideline.d.ts.map +0 -1
  803. package/dist/presentation/flow/model/instruction_guideline.js.map +0 -1
  804. package/dist/presentation/flow/model/instructions_defaults.d.ts.map +0 -1
  805. package/dist/presentation/flow/model/instructions_defaults.js.map +0 -1
  806. package/dist/presentation/flow/screen/helpers/face_session_config.d.ts.map +0 -1
  807. package/dist/presentation/flow/screen/helpers/face_session_config.js.map +0 -1
  808. package/dist/presentation/flow/screen/orchestrated_capture_screen.d.ts.map +0 -1
  809. package/dist/presentation/flow/screen/orchestrated_capture_screen.js.map +0 -1
  810. package/dist/presentation/flow/screen/orchestrated_consent_screen.d.ts.map +0 -1
  811. package/dist/presentation/flow/screen/orchestrated_consent_screen.js.map +0 -1
  812. package/dist/presentation/flow/screen/orchestrated_instructions_screen.d.ts.map +0 -1
  813. package/dist/presentation/flow/screen/orchestrated_instructions_screen.js.map +0 -1
  814. package/dist/presentation/flow/screen/orchestrated_preview_screen.d.ts.map +0 -1
  815. package/dist/presentation/flow/screen/orchestrated_preview_screen.js.map +0 -1
  816. package/dist/presentation/flow/screen/orchestrated_processing_screen.d.ts.map +0 -1
  817. package/dist/presentation/flow/screen/orchestrated_processing_screen.js.map +0 -1
  818. package/dist/presentation/flow/screen/use_smile_id_orchestrated_screen_host.d.ts.map +0 -1
  819. package/dist/presentation/flow/screen/use_smile_id_orchestrated_screen_host.js.map +0 -1
  820. package/dist/presentation/flow/screen/validation_error_screen.d.ts.map +0 -1
  821. package/dist/presentation/flow/screen/validation_error_screen.js.map +0 -1
  822. package/dist/presentation/flow/use_smile_id_flow.d.ts.map +0 -1
  823. package/dist/presentation/flow/use_smile_id_flow.js.map +0 -1
  824. package/dist/presentation/flow/validation/flow_validator.d.ts.map +0 -1
  825. package/dist/presentation/flow/validation/flow_validator.js.map +0 -1
  826. package/dist/presentation/flow/validation/job_type_validator.d.ts.map +0 -1
  827. package/dist/presentation/flow/validation/job_type_validator.js.map +0 -1
  828. package/dist/presentation/flow/validation/user_details_validator.d.ts.map +0 -1
  829. package/dist/presentation/flow/validation/user_details_validator.js.map +0 -1
  830. package/dist/presentation/flow/validation/validation_state.d.ts.map +0 -1
  831. package/dist/presentation/flow/validation/validation_state.js.map +0 -1
  832. package/dist/presentation/screen/helpers/capture_screen_helpers.d.ts.map +0 -1
  833. package/dist/presentation/screen/helpers/capture_screen_helpers.js.map +0 -1
  834. package/dist/presentation/screen/helpers/capture_ui_state.d.ts.map +0 -1
  835. package/dist/presentation/screen/helpers/capture_ui_state.js.map +0 -1
  836. package/dist/presentation/screen/helpers/consent_screen_helpers.d.ts.map +0 -1
  837. package/dist/presentation/screen/helpers/consent_screen_helpers.js.map +0 -1
  838. package/dist/presentation/screen/helpers/ess_turn_haptics.d.ts.map +0 -1
  839. package/dist/presentation/screen/helpers/ess_turn_haptics.js.map +0 -1
  840. package/dist/presentation/screen/helpers/feedback_debouncer.d.ts.map +0 -1
  841. package/dist/presentation/screen/helpers/feedback_debouncer.js.map +0 -1
  842. package/dist/presentation/screen/helpers/instructions_screen_helpers.d.ts.map +0 -1
  843. package/dist/presentation/screen/helpers/instructions_screen_helpers.js.map +0 -1
  844. package/dist/presentation/screen/helpers/preview_screen_helpers.d.ts.map +0 -1
  845. package/dist/presentation/screen/helpers/preview_screen_helpers.js.map +0 -1
  846. package/dist/presentation/screen/helpers/processing_screen_helpers.d.ts.map +0 -1
  847. package/dist/presentation/screen/helpers/processing_screen_helpers.js.map +0 -1
  848. package/dist/presentation/screen/helpers/scan_state_to_overlay_state.d.ts.map +0 -1
  849. package/dist/presentation/screen/helpers/scan_state_to_overlay_state.js.map +0 -1
  850. package/dist/presentation/screen/helpers/use_capture_orientation_lock.d.ts.map +0 -1
  851. package/dist/presentation/screen/helpers/use_capture_orientation_lock.js.map +0 -1
  852. package/dist/presentation/screen/helpers/use_debounced_feedback_key.d.ts.map +0 -1
  853. package/dist/presentation/screen/helpers/use_debounced_feedback_key.js.map +0 -1
  854. package/dist/presentation/screen/use_smile_id_capture_screen.d.ts.map +0 -1
  855. package/dist/presentation/screen/use_smile_id_capture_screen.js.map +0 -1
  856. package/dist/presentation/screen/use_smile_id_consent_screen.d.ts.map +0 -1
  857. package/dist/presentation/screen/use_smile_id_consent_screen.js.map +0 -1
  858. package/dist/presentation/screen/use_smile_id_document_back_instructions.d.ts.map +0 -1
  859. package/dist/presentation/screen/use_smile_id_document_back_instructions.js.map +0 -1
  860. package/dist/presentation/screen/use_smile_id_document_preview_screen.d.ts.map +0 -1
  861. package/dist/presentation/screen/use_smile_id_document_preview_screen.js.map +0 -1
  862. package/dist/presentation/screen/use_smile_id_instructions_screen.d.ts.map +0 -1
  863. package/dist/presentation/screen/use_smile_id_instructions_screen.js.map +0 -1
  864. package/dist/presentation/screen/use_smile_id_permission_screen.d.ts.map +0 -1
  865. package/dist/presentation/screen/use_smile_id_permission_screen.js.map +0 -1
  866. package/dist/presentation/screen/use_smile_id_preview_screen.d.ts.map +0 -1
  867. package/dist/presentation/screen/use_smile_id_preview_screen.js.map +0 -1
  868. package/dist/presentation/screen/use_smile_id_processing_screen.d.ts.map +0 -1
  869. package/dist/presentation/screen/use_smile_id_processing_screen.js.map +0 -1
  870. package/dist/presentation/state/processing_state.d.ts.map +0 -1
  871. package/dist/presentation/state/processing_state.js.map +0 -1
  872. package/dist/presentation/state/use_smile_id_overlay_state.d.ts.map +0 -1
  873. package/dist/presentation/state/use_smile_id_overlay_state.js.map +0 -1
  874. package/dist/presentation/theme/theme.d.ts.map +0 -1
  875. package/dist/presentation/theme/theme.js.map +0 -1
  876. package/dist/presentation/theme/theme_context.d.ts.map +0 -1
  877. package/dist/presentation/theme/theme_context.js.map +0 -1
  878. package/dist/presentation/theme/use_smile_id_motion.d.ts.map +0 -1
  879. package/dist/presentation/theme/use_smile_id_motion.js.map +0 -1
  880. package/dist/presentation/theme/use_use_smile_id_fonts.d.ts.map +0 -1
  881. package/dist/presentation/theme/use_use_smile_id_fonts.js.map +0 -1
  882. package/dist/presentation/utils/force_max_brightness.d.ts.map +0 -1
  883. package/dist/presentation/utils/force_max_brightness.js.map +0 -1
  884. package/dist/presentation/utils/locale_utils.d.ts.map +0 -1
  885. package/dist/presentation/utils/locale_utils.js.map +0 -1
  886. package/dist/presentation/utils/use_reduced_motion.d.ts.map +0 -1
  887. package/dist/presentation/utils/use_reduced_motion.js.map +0 -1
  888. package/dist/testing/fake_face_analyzer.d.ts.map +0 -1
  889. package/dist/testing/fake_face_analyzer.js.map +0 -1
  890. package/dist/testing/index.d.ts.map +0 -1
  891. package/dist/testing/index.js.map +0 -1
  892. package/dist/testing/scenario_expectations.d.ts.map +0 -1
  893. package/dist/testing/scenario_expectations.js.map +0 -1
  894. package/dist/testing/scenario_loader.d.ts.map +0 -1
  895. package/dist/testing/scenario_loader.js.map +0 -1
  896. package/dist/testing/scripted_scan_results.d.ts.map +0 -1
  897. package/dist/testing/scripted_scan_results.js.map +0 -1
  898. package/src/__tests__/dsl.test.ts +0 -1165
  899. package/src/__tests__/enum_parity.test.ts +0 -84
  900. package/src/__tests__/react_native_mock.tsx +0 -240
  901. package/src/__tests__/setup_react_native.ts +0 -368
  902. package/src/__tests__/snapshots/__snapshots__/screens_structural.test.tsx.snap +0 -5267
  903. package/src/__tests__/snapshots/screens_structural.test.tsx +0 -230
  904. package/src/__tests__/theme.test.ts +0 -156
  905. package/src/camera/__tests__/camera_defaults.test.ts +0 -28
  906. package/src/camera/__tests__/camera_lens.test.ts +0 -18
  907. package/src/camera/__tests__/camera_permissions.test.ts +0 -72
  908. package/src/camera/__tests__/camera_system_focus.test.ts +0 -173
  909. package/src/camera/__tests__/document_resize_target.test.ts +0 -44
  910. package/src/camera/__tests__/focus_state.test.ts +0 -48
  911. package/src/camera/__tests__/orientation_degrees.test.ts +0 -21
  912. package/src/camera/__tests__/use_smile_id_camera_preview.test.tsx +0 -461
  913. package/src/camera/__tests__/use_smile_id_camera_system.test.ts +0 -103
  914. package/src/camera/__tests__/use_smile_id_frame_stream.test.ts +0 -227
  915. package/src/camera/__tests__/use_smile_id_frame_stream_hook.test.tsx +0 -229
  916. package/src/camera/camera_configuration.ts +0 -32
  917. package/src/camera/camera_defaults.ts +0 -28
  918. package/src/camera/camera_lens.ts +0 -13
  919. package/src/camera/camera_permissions.ts +0 -36
  920. package/src/camera/camera_preview_image.ts +0 -19
  921. package/src/camera/document_image_pipeline.ts +0 -101
  922. package/src/camera/document_resize_target.ts +0 -22
  923. package/src/camera/focus_state.ts +0 -26
  924. package/src/camera/orientation_degrees.ts +0 -21
  925. package/src/camera/use_smile_id_camera_preview.tsx +0 -256
  926. package/src/camera/use_smile_id_camera_system.ts +0 -236
  927. package/src/camera/use_smile_id_frame_stream.ts +0 -189
  928. package/src/core/exception/__tests__/builder_validation_exceptions.test.ts +0 -81
  929. package/src/core/exception/__tests__/network_exception_mapper.test.ts +0 -179
  930. package/src/core/exception/agent_mode_with_enhanced_liveness_exception.ts +0 -20
  931. package/src/core/exception/builder_validation_exception.ts +0 -40
  932. package/src/core/exception/capture_validation_exceptions.ts +0 -9
  933. package/src/core/exception/consent_validation_exceptions.ts +0 -7
  934. package/src/core/exception/duplicate_screen_type_exception.ts +0 -22
  935. package/src/core/exception/empty_screens_block_exception.ts +0 -19
  936. package/src/core/exception/flow_exceptions.test.ts +0 -49
  937. package/src/core/exception/flow_exceptions.ts +0 -43
  938. package/src/core/exception/index.ts +0 -74
  939. package/src/core/exception/invalid_consent_config_exception.ts +0 -20
  940. package/src/core/exception/invalid_consent_information_exception.ts +0 -21
  941. package/src/core/exception/invalid_document_capture_config_exception.ts +0 -22
  942. package/src/core/exception/invalid_field_value_exception.ts +0 -21
  943. package/src/core/exception/invalid_job_type_screen_config_exception.ts +0 -70
  944. package/src/core/exception/invalid_missing_capture_type_exception.ts +0 -19
  945. package/src/core/exception/invalid_screen_order_exception.ts +0 -28
  946. package/src/core/exception/invalid_selfie_capture_config_exception.ts +0 -22
  947. package/src/core/exception/issue_severity.ts +0 -14
  948. package/src/core/exception/job_validation_exceptions.ts +0 -11
  949. package/src/core/exception/liveness_frame_count_exception.ts +0 -21
  950. package/src/core/exception/missing_capture_for_preview_exception.ts +0 -24
  951. package/src/core/exception/missing_job_type_exception.ts +0 -18
  952. package/src/core/exception/missing_ml_configuration_block_exception.ts +0 -21
  953. package/src/core/exception/missing_network_configuration_block_exception.ts +0 -22
  954. package/src/core/exception/missing_partner_config_exception.ts +0 -38
  955. package/src/core/exception/missing_required_field_exception.ts +0 -19
  956. package/src/core/exception/screen_config_validation_exceptions.ts +0 -10
  957. package/src/core/exception/use_smile_id_attestation_exception.ts +0 -11
  958. package/src/core/exception/use_smile_id_builder_exception.ts +0 -18
  959. package/src/core/exception/use_smile_id_camera_exception.ts +0 -12
  960. package/src/core/exception/use_smile_id_error_code.ts +0 -84
  961. package/src/core/exception/use_smile_id_exception.ts +0 -52
  962. package/src/core/exception/use_smile_id_general_exception.ts +0 -12
  963. package/src/core/exception/use_smile_id_network_exception.ts +0 -279
  964. package/src/core/exception/use_smile_id_validation_exception.ts +0 -12
  965. package/src/core/models/__tests__/document_capture_mode.test.ts +0 -43
  966. package/src/core/models/__tests__/document_type.test.ts +0 -66
  967. package/src/core/models/__tests__/flow_models.test.ts +0 -26
  968. package/src/core/models/__tests__/job_type.test.ts +0 -48
  969. package/src/core/models/config.ts +0 -58
  970. package/src/core/models/document_capture_mode.ts +0 -73
  971. package/src/core/models/document_type.ts +0 -79
  972. package/src/core/models/flow_step.ts +0 -17
  973. package/src/core/models/global_privacy_control.ts +0 -45
  974. package/src/core/models/head_turn_direction.ts +0 -15
  975. package/src/core/models/job_type.ts +0 -53
  976. package/src/core/models/ml_config.ts +0 -47
  977. package/src/core/models/network_config.ts +0 -138
  978. package/src/core/models/params.ts +0 -98
  979. package/src/core/models/result.test.ts +0 -20
  980. package/src/core/models/result.ts +0 -33
  981. package/src/data/api/__tests__/smile_id_api.test.ts +0 -1471
  982. package/src/data/api/auth/token_holder.ts +0 -72
  983. package/src/data/api/interceptors/__tests__/credential_header_redaction.test.ts +0 -144
  984. package/src/data/api/interceptors/__tests__/gzip_interceptor.test.ts +0 -83
  985. package/src/data/api/interceptors/__tests__/logging_interceptor.test.ts +0 -252
  986. package/src/data/api/interceptors/__tests__/sensitive_headers.test.ts +0 -29
  987. package/src/data/api/interceptors/__tests__/smile_integrity_interceptor.test.ts +0 -192
  988. package/src/data/api/interceptors/__tests__/smile_request_mac_interceptor.test.ts +0 -156
  989. package/src/data/api/interceptors/__tests__/token_refresh_interceptor.test.ts +0 -173
  990. package/src/data/api/interceptors/gzip_interceptor.ts +0 -31
  991. package/src/data/api/interceptors/logging_interceptor.ts +0 -155
  992. package/src/data/api/interceptors/sensitive_headers.ts +0 -46
  993. package/src/data/api/interceptors/smile_auth_interceptor.ts +0 -73
  994. package/src/data/api/interceptors/smile_integrity_interceptor.ts +0 -99
  995. package/src/data/api/interceptors/smile_request_mac_interceptor.ts +0 -106
  996. package/src/data/api/interceptors/token_refresh_interceptor.ts +0 -122
  997. package/src/data/api/smile_id_api.ts +0 -475
  998. package/src/data/compression/__tests__/payload_compressor.test.ts +0 -200
  999. package/src/data/compression/__tests__/payload_compressor_real_jpeg.test.ts +0 -226
  1000. package/src/data/compression/compressible_asset.ts +0 -62
  1001. package/src/data/compression/payload_compression_config.ts +0 -53
  1002. package/src/data/compression/payload_compression_runner.ts +0 -102
  1003. package/src/data/compression/payload_compressor.ts +0 -164
  1004. package/src/data/compression/uri_compressible_asset.ts +0 -85
  1005. package/src/data/dsl/__tests__/use_smile_id_network_builder.test.ts +0 -157
  1006. package/src/data/dsl/builder/__tests__/config_builders.test.ts +0 -62
  1007. package/src/data/dsl/builder/__tests__/interceptor_config_builder.test.ts +0 -173
  1008. package/src/data/dsl/builder/cache_config_builder.ts +0 -28
  1009. package/src/data/dsl/builder/config_builder.ts +0 -156
  1010. package/src/data/dsl/builder/interceptor_config_builder.ts +0 -83
  1011. package/src/data/dsl/builder/retry_config_builder.ts +0 -57
  1012. package/src/data/dsl/builder/timeout_config_builder.ts +0 -31
  1013. package/src/data/dsl/use_smile_id_network_builder.ts +0 -86
  1014. package/src/data/factory/__tests__/networking_factory_order.test.ts +0 -201
  1015. package/src/data/factory/__tests__/retry_gzip_mac_composition.test.ts +0 -163
  1016. package/src/data/factory/__tests__/signed_job_submission_headers.test.ts +0 -110
  1017. package/src/data/factory/networking_factory.ts +0 -201
  1018. package/src/data/model/__tests__/sdk_config.test.ts +0 -85
  1019. package/src/data/model/__tests__/sdk_config_capture.test.ts +0 -140
  1020. package/src/data/model/__tests__/token_payload.test.ts +0 -224
  1021. package/src/data/model/__tests__/user_details_payload.test.ts +0 -100
  1022. package/src/data/model/image_dimensions.ts +0 -15
  1023. package/src/data/model/job_request.ts +0 -165
  1024. package/src/data/model/job_submission_response.ts +0 -17
  1025. package/src/data/model/sdk_config.ts +0 -74
  1026. package/src/data/model/sdk_config_capture.ts +0 -78
  1027. package/src/data/model/sdk_config_source.ts +0 -26
  1028. package/src/data/model/token_payload.ts +0 -182
  1029. package/src/data/model/user_details_payload.ts +0 -84
  1030. package/src/data/repository/__tests__/network_retries.test.ts +0 -117
  1031. package/src/data/repository/__tests__/repository_dispatch.test.ts +0 -366
  1032. package/src/data/repository/__tests__/use_smile_id_repository.test.ts +0 -118
  1033. package/src/data/repository/use_smile_id_repository.ts +0 -19
  1034. package/src/data/repository/use_smile_id_repository_impl.ts +0 -181
  1035. package/src/data/security/__tests__/request_canonicalizer.test.ts +0 -132
  1036. package/src/data/security/__tests__/security_policy.test.ts +0 -96
  1037. package/src/data/security/__tests__/signing_crypto.test.ts +0 -203
  1038. package/src/data/security/__tests__/smile_id_crypto_manager.test.ts +0 -176
  1039. package/src/data/security/request_canonicalizer.ts +0 -161
  1040. package/src/data/security/request_timestamp.ts +0 -12
  1041. package/src/data/security/security_policy.ts +0 -70
  1042. package/src/data/security/signing_crypto.ts +0 -219
  1043. package/src/data/security/smile_id_crypto_error.ts +0 -13
  1044. package/src/data/security/smile_id_crypto_manager.ts +0 -46
  1045. package/src/data/smile_id_urls.ts +0 -13
  1046. package/src/data/util/__tests__/retry_util.test.ts +0 -182
  1047. package/src/data/util/__tests__/use_smile_id_token_decoder.test.ts +0 -430
  1048. package/src/data/util/retry_util.ts +0 -81
  1049. package/src/data/util/use_smile_id_token_decoder.ts +0 -207
  1050. package/src/index.ts +0 -514
  1051. package/src/l10n/__tests__/use_smile_id_localizations.test.ts +0 -244
  1052. package/src/l10n/__tests__/use_smile_id_localizations_provider.test.tsx +0 -112
  1053. package/src/l10n/__tests__/use_smile_id_localizations_surface.test.ts +0 -231
  1054. package/src/l10n/strings_en.ts +0 -176
  1055. package/src/l10n/use_smile_id_localizations.ts +0 -768
  1056. package/src/l10n/use_smile_id_localizations_provider.tsx +0 -71
  1057. package/src/metadata/__tests__/device_orientation_collector.test.ts +0 -15
  1058. package/src/metadata/__tests__/device_orientation_sampling.test.ts +0 -165
  1059. package/src/metadata/__tests__/geolocation.test.ts +0 -150
  1060. package/src/metadata/__tests__/metadata_configuration_mappers.test.ts +0 -254
  1061. package/src/metadata/__tests__/metadata_configuration_objects.test.ts +0 -86
  1062. package/src/metadata/__tests__/metadata_device_context.test.ts +0 -147
  1063. package/src/metadata/__tests__/metadata_device_os_android.test.ts +0 -18
  1064. package/src/metadata/__tests__/metadata_golden_fixture.json +0 -13
  1065. package/src/metadata/__tests__/metadata_payload_golden.test.ts +0 -193
  1066. package/src/metadata/__tests__/optional_native_modules.test.ts +0 -234
  1067. package/src/metadata/__tests__/use_smile_id_metadata.test.ts +0 -430
  1068. package/src/metadata/__tests__/use_smile_id_metadata_factory.test.ts +0 -615
  1069. package/src/metadata/builder_configuration.ts +0 -69
  1070. package/src/metadata/captured_image_properties.ts +0 -10
  1071. package/src/metadata/device_orientation_collector.ts +0 -75
  1072. package/src/metadata/document_image_origin.ts +0 -22
  1073. package/src/metadata/geolocation.ts +0 -46
  1074. package/src/metadata/metadata_configuration_mappers.ts +0 -248
  1075. package/src/metadata/model_configuration.ts +0 -68
  1076. package/src/metadata/optional_native_modules.ts +0 -274
  1077. package/src/metadata/use_smile_id_metadata.ts +0 -305
  1078. package/src/metadata/use_smile_id_metadata_factory.ts +0 -580
  1079. package/src/presentation/assets/si_document_green_book_hero_animation.json +0 -1
  1080. package/src/presentation/assets/si_document_hero_animation.json +0 -1
  1081. package/src/presentation/assets/si_document_hero_back_animation.json +0 -1
  1082. package/src/presentation/assets/si_document_passport_hero_animation.json +0 -1
  1083. package/src/presentation/assets/si_ess_all_directions_hero_animation.json +0 -1
  1084. package/src/presentation/assets/si_ess_animation_all_directions.json +0 -1
  1085. package/src/presentation/assets/si_selfie_hero_animation.json +0 -1
  1086. package/src/presentation/assets/si_smile_to_capture_animation.json +0 -1
  1087. package/src/presentation/assets/svg/document_shimmer_strings.ts +0 -17
  1088. package/src/presentation/assets/svg/instruction_svg_strings.ts +0 -54
  1089. package/src/presentation/assets/svg/svg_strings.ts +0 -158
  1090. package/src/presentation/components/__tests__/capture_instruction_animation_spec.test.ts +0 -49
  1091. package/src/presentation/components/__tests__/enhanced_smart_selfie_animation_frames.test.ts +0 -89
  1092. package/src/presentation/components/__tests__/use_smile_id_capture_content.test.tsx +0 -348
  1093. package/src/presentation/components/__tests__/use_smile_id_confirmation_buttons.test.tsx +0 -131
  1094. package/src/presentation/components/__tests__/use_smile_id_content_card.test.tsx +0 -112
  1095. package/src/presentation/components/__tests__/use_smile_id_enhanced_smart_selfie_clip.test.tsx +0 -256
  1096. package/src/presentation/components/__tests__/use_smile_id_enhanced_smart_selfie_direction_animation.test.tsx +0 -138
  1097. package/src/presentation/components/__tests__/use_smile_id_face_oval_image.test.tsx +0 -190
  1098. package/src/presentation/components/__tests__/use_smile_id_face_overlay.test.tsx +0 -211
  1099. package/src/presentation/components/__tests__/use_smile_id_guideline_thumbnail.test.tsx +0 -112
  1100. package/src/presentation/components/__tests__/use_smile_id_instructions_hero.test.tsx +0 -150
  1101. package/src/presentation/components/__tests__/use_smile_id_learn_more_content.test.tsx +0 -159
  1102. package/src/presentation/components/__tests__/use_smile_id_loading_indicator.test.tsx +0 -45
  1103. package/src/presentation/components/__tests__/use_smile_id_oval_border_palette.test.ts +0 -103
  1104. package/src/presentation/components/__tests__/use_smile_id_processing_center_indicator.test.tsx +0 -88
  1105. package/src/presentation/components/face_oval_defaults.ts +0 -51
  1106. package/src/presentation/components/helpers/__tests__/scaled_oval_geometry.test.ts +0 -69
  1107. package/src/presentation/components/helpers/animated_lottie_view.ts +0 -9
  1108. package/src/presentation/components/helpers/capture_instruction_animation_spec.ts +0 -77
  1109. package/src/presentation/components/helpers/enhanced_smart_selfie_animation_frames.ts +0 -64
  1110. package/src/presentation/components/helpers/scaled_oval_geometry.ts +0 -44
  1111. package/src/presentation/components/icons/index.tsx +0 -334
  1112. package/src/presentation/components/status_indicator_state.ts +0 -21
  1113. package/src/presentation/components/use_smile_id_attribution.tsx +0 -48
  1114. package/src/presentation/components/use_smile_id_back_button.tsx +0 -59
  1115. package/src/presentation/components/use_smile_id_button.tsx +0 -98
  1116. package/src/presentation/components/use_smile_id_capture_content.tsx +0 -368
  1117. package/src/presentation/components/use_smile_id_capture_instruction_animation.tsx +0 -84
  1118. package/src/presentation/components/use_smile_id_capture_spinner.tsx +0 -63
  1119. package/src/presentation/components/use_smile_id_captured_document_image.tsx +0 -81
  1120. package/src/presentation/components/use_smile_id_captured_image_oval.tsx +0 -151
  1121. package/src/presentation/components/use_smile_id_card_surface.tsx +0 -54
  1122. package/src/presentation/components/use_smile_id_confirmation_buttons.tsx +0 -123
  1123. package/src/presentation/components/use_smile_id_consent_row.tsx +0 -58
  1124. package/src/presentation/components/use_smile_id_content_card.tsx +0 -65
  1125. package/src/presentation/components/use_smile_id_document_capture_controls.tsx +0 -219
  1126. package/src/presentation/components/use_smile_id_document_overlay.tsx +0 -335
  1127. package/src/presentation/components/use_smile_id_document_shimmer.tsx +0 -51
  1128. package/src/presentation/components/use_smile_id_enhanced_smart_selfie_clip.tsx +0 -155
  1129. package/src/presentation/components/use_smile_id_enhanced_smart_selfie_direction_animation.tsx +0 -46
  1130. package/src/presentation/components/use_smile_id_enhanced_smart_selfie_full_animation.tsx +0 -29
  1131. package/src/presentation/components/use_smile_id_expandable_icon.tsx +0 -102
  1132. package/src/presentation/components/use_smile_id_face_oval_image.tsx +0 -90
  1133. package/src/presentation/components/use_smile_id_face_overlay.tsx +0 -387
  1134. package/src/presentation/components/use_smile_id_failed_content.tsx +0 -94
  1135. package/src/presentation/components/use_smile_id_guideline_thumbnail.tsx +0 -263
  1136. package/src/presentation/components/use_smile_id_instructions_hero.tsx +0 -296
  1137. package/src/presentation/components/use_smile_id_learn_more_content.tsx +0 -115
  1138. package/src/presentation/components/use_smile_id_loading_content.tsx +0 -54
  1139. package/src/presentation/components/use_smile_id_loading_indicator.tsx +0 -81
  1140. package/src/presentation/components/use_smile_id_oval_border_palette.ts +0 -64
  1141. package/src/presentation/components/use_smile_id_partner_icon.tsx +0 -56
  1142. package/src/presentation/components/use_smile_id_processing_center_indicator.tsx +0 -77
  1143. package/src/presentation/components/use_smile_id_rounded_checkbox.tsx +0 -67
  1144. package/src/presentation/components/use_smile_id_status_indicator.tsx +0 -44
  1145. package/src/presentation/components/use_smile_id_success_content.tsx +0 -76
  1146. package/src/presentation/flow/__tests__/document_flow_navigation.test.ts +0 -484
  1147. package/src/presentation/flow/__tests__/flow_navigation_manager.test.ts +0 -1534
  1148. package/src/presentation/flow/__tests__/use_smile_id_flow.test.tsx +0 -651
  1149. package/src/presentation/flow/analytics/__tests__/use_smile_id_analytics_event.test.ts +0 -105
  1150. package/src/presentation/flow/analytics/use_smile_id_analytics_event.ts +0 -83
  1151. package/src/presentation/flow/config/flow_configuration.ts +0 -12
  1152. package/src/presentation/flow/dsl/__tests__/use_smile_id_builder_component.test.tsx +0 -120
  1153. package/src/presentation/flow/dsl/builder/__tests__/config_builder.test.ts +0 -25
  1154. package/src/presentation/flow/dsl/builder/__tests__/ml_builder.test.ts +0 -161
  1155. package/src/presentation/flow/dsl/builder/__tests__/theme_builder.test.ts +0 -102
  1156. package/src/presentation/flow/dsl/builder/config_builder.ts +0 -57
  1157. package/src/presentation/flow/dsl/builder/ml_builder.ts +0 -210
  1158. package/src/presentation/flow/dsl/builder/screens_builder.ts +0 -276
  1159. package/src/presentation/flow/dsl/builder/theme_builder.ts +0 -119
  1160. package/src/presentation/flow/dsl/flow_build_result.ts +0 -37
  1161. package/src/presentation/flow/dsl/use_smile_id_builder.tsx +0 -125
  1162. package/src/presentation/flow/dsl/use_smile_id_flow_builder.ts +0 -454
  1163. package/src/presentation/flow/flow_navigation_context.tsx +0 -50
  1164. package/src/presentation/flow/flow_navigation_manager.ts +0 -1166
  1165. package/src/presentation/flow/graph/__tests__/screen_renderer.test.tsx +0 -102
  1166. package/src/presentation/flow/graph/screen_renderer.tsx +0 -35
  1167. package/src/presentation/flow/job_submission_state.ts +0 -17
  1168. package/src/presentation/flow/model/instruction_guideline.ts +0 -21
  1169. package/src/presentation/flow/model/instructions_defaults.ts +0 -198
  1170. package/src/presentation/flow/screen/__tests__/orchestrated_capture_screen.test.tsx +0 -836
  1171. package/src/presentation/flow/screen/__tests__/orchestrated_consent_screen.test.tsx +0 -165
  1172. package/src/presentation/flow/screen/__tests__/orchestrated_instructions_screen.test.tsx +0 -163
  1173. package/src/presentation/flow/screen/__tests__/orchestrated_preview_screen.test.tsx +0 -224
  1174. package/src/presentation/flow/screen/__tests__/orchestrated_processing_screen.test.tsx +0 -338
  1175. package/src/presentation/flow/screen/helpers/__tests__/face_session_config.test.ts +0 -115
  1176. package/src/presentation/flow/screen/helpers/face_session_config.ts +0 -77
  1177. package/src/presentation/flow/screen/orchestrated_capture_screen.tsx +0 -344
  1178. package/src/presentation/flow/screen/orchestrated_consent_screen.tsx +0 -71
  1179. package/src/presentation/flow/screen/orchestrated_instructions_screen.tsx +0 -103
  1180. package/src/presentation/flow/screen/orchestrated_preview_screen.tsx +0 -62
  1181. package/src/presentation/flow/screen/orchestrated_processing_screen.tsx +0 -148
  1182. package/src/presentation/flow/screen/use_smile_id_orchestrated_screen_host.tsx +0 -39
  1183. package/src/presentation/flow/screen/validation_error_screen.tsx +0 -147
  1184. package/src/presentation/flow/use_smile_id_flow.tsx +0 -389
  1185. package/src/presentation/flow/validation/__tests__/flow_validator.test.ts +0 -616
  1186. package/src/presentation/flow/validation/__tests__/job_type_validator.test.ts +0 -968
  1187. package/src/presentation/flow/validation/flow_validator.ts +0 -461
  1188. package/src/presentation/flow/validation/job_type_validator.ts +0 -703
  1189. package/src/presentation/flow/validation/user_details_validator.ts +0 -53
  1190. package/src/presentation/flow/validation/validation_state.ts +0 -65
  1191. package/src/presentation/screen/__tests__/capture_screen_helpers.test.ts +0 -112
  1192. package/src/presentation/screen/__tests__/capture_ui_state.test.ts +0 -398
  1193. package/src/presentation/screen/__tests__/consent_screen_helpers.test.ts +0 -63
  1194. package/src/presentation/screen/__tests__/ess_turn_haptics.test.ts +0 -82
  1195. package/src/presentation/screen/__tests__/feedback_copy_table.test.ts +0 -145
  1196. package/src/presentation/screen/__tests__/feedback_debouncer.test.ts +0 -111
  1197. package/src/presentation/screen/__tests__/instructions_screen_helpers.test.ts +0 -154
  1198. package/src/presentation/screen/__tests__/preview_screen_helpers.test.ts +0 -53
  1199. package/src/presentation/screen/__tests__/processing_screen_helpers.test.ts +0 -39
  1200. package/src/presentation/screen/__tests__/scan_state_to_overlay_state.test.ts +0 -223
  1201. package/src/presentation/screen/__tests__/use_smile_id_capture_screen.test.tsx +0 -1128
  1202. package/src/presentation/screen/__tests__/use_smile_id_consent_screen.test.tsx +0 -288
  1203. package/src/presentation/screen/__tests__/use_smile_id_document_back_instructions.test.tsx +0 -138
  1204. package/src/presentation/screen/__tests__/use_smile_id_instructions_screen.test.tsx +0 -245
  1205. package/src/presentation/screen/__tests__/use_smile_id_permission_screen.test.tsx +0 -68
  1206. package/src/presentation/screen/__tests__/use_smile_id_preview_screen.test.tsx +0 -193
  1207. package/src/presentation/screen/__tests__/use_smile_id_processing_screen.test.tsx +0 -333
  1208. package/src/presentation/screen/helpers/__tests__/use_capture_orientation_lock.test.tsx +0 -212
  1209. package/src/presentation/screen/helpers/capture_screen_helpers.ts +0 -153
  1210. package/src/presentation/screen/helpers/capture_ui_state.ts +0 -298
  1211. package/src/presentation/screen/helpers/consent_screen_helpers.ts +0 -106
  1212. package/src/presentation/screen/helpers/ess_turn_haptics.ts +0 -67
  1213. package/src/presentation/screen/helpers/feedback_debouncer.ts +0 -89
  1214. package/src/presentation/screen/helpers/instructions_screen_helpers.ts +0 -113
  1215. package/src/presentation/screen/helpers/preview_screen_helpers.ts +0 -41
  1216. package/src/presentation/screen/helpers/processing_screen_helpers.ts +0 -27
  1217. package/src/presentation/screen/helpers/scan_state_to_overlay_state.ts +0 -131
  1218. package/src/presentation/screen/helpers/use_capture_orientation_lock.ts +0 -108
  1219. package/src/presentation/screen/helpers/use_debounced_feedback_key.ts +0 -52
  1220. package/src/presentation/screen/use_smile_id_capture_screen.tsx +0 -912
  1221. package/src/presentation/screen/use_smile_id_consent_screen.tsx +0 -393
  1222. package/src/presentation/screen/use_smile_id_document_back_instructions.tsx +0 -125
  1223. package/src/presentation/screen/use_smile_id_document_preview_screen.tsx +0 -152
  1224. package/src/presentation/screen/use_smile_id_instructions_screen.tsx +0 -198
  1225. package/src/presentation/screen/use_smile_id_permission_screen.tsx +0 -52
  1226. package/src/presentation/screen/use_smile_id_preview_screen.tsx +0 -127
  1227. package/src/presentation/screen/use_smile_id_processing_screen.tsx +0 -223
  1228. package/src/presentation/state/__tests__/use_smile_id_overlay_state.test.ts +0 -30
  1229. package/src/presentation/state/processing_state.ts +0 -19
  1230. package/src/presentation/state/use_smile_id_overlay_state.ts +0 -70
  1231. package/src/presentation/theme/__tests__/use_use_smile_id_fonts.test.tsx +0 -166
  1232. package/src/presentation/theme/theme.ts +0 -401
  1233. package/src/presentation/theme/theme_context.tsx +0 -45
  1234. package/src/presentation/theme/use_smile_id_motion.ts +0 -12
  1235. package/src/presentation/theme/use_use_smile_id_fonts.ts +0 -71
  1236. package/src/presentation/utils/__tests__/force_max_brightness.test.tsx +0 -237
  1237. package/src/presentation/utils/__tests__/locale_utils.test.ts +0 -78
  1238. package/src/presentation/utils/force_max_brightness.tsx +0 -113
  1239. package/src/presentation/utils/locale_utils.ts +0 -80
  1240. package/src/presentation/utils/use_reduced_motion.ts +0 -26
  1241. package/src/testing/__tests__/fake_face_analyzer.test.ts +0 -42
  1242. package/src/testing/__tests__/scenario_expectations.test.ts +0 -110
  1243. package/src/testing/__tests__/scenario_loader.test.ts +0 -64
  1244. package/src/testing/fake_face_analyzer.ts +0 -82
  1245. package/src/testing/index.ts +0 -15
  1246. package/src/testing/scenario_expectations.ts +0 -87
  1247. package/src/testing/scenario_loader.ts +0 -83
  1248. package/src/testing/scripted_scan_results.ts +0 -66
  1249. /package/{src → dist}/presentation/assets/fonts/DMSans-Bold.ttf +0 -0
  1250. /package/{src → dist}/presentation/assets/fonts/DMSans-ExtraBold.ttf +0 -0
  1251. /package/{src → dist}/presentation/assets/fonts/DMSans-Medium.ttf +0 -0
  1252. /package/{src → dist}/presentation/assets/fonts/DMSans-Regular.ttf +0 -0
  1253. /package/{src → dist}/presentation/assets/fonts/DMSans-SemiBold.ttf +0 -0
  1254. /package/{src → dist}/presentation/assets/fonts/OFL.txt +0 -0
  1255. /package/{src → dist}/presentation/assets/si_dark_lighting_animation.json +0 -0
  1256. /package/{src → dist}/presentation/assets/si_device_orientation_animation.json +0 -0
  1257. /package/{src → dist}/presentation/assets/svg/si_attribution.svg +0 -0
  1258. /package/{src → dist}/presentation/assets/svg/si_attribution_dark.svg +0 -0
  1259. /package/{src → dist}/presentation/assets/svg/si_checkbox_check.svg +0 -0
  1260. /package/{src → dist}/presentation/assets/svg/si_consent_biometric.svg +0 -0
  1261. /package/{src → dist}/presentation/assets/svg/si_consent_biometric_dark.svg +0 -0
  1262. /package/{src → dist}/presentation/assets/svg/si_consent_contact.svg +0 -0
  1263. /package/{src → dist}/presentation/assets/svg/si_consent_contact_dark.svg +0 -0
  1264. /package/{src → dist}/presentation/assets/svg/si_consent_device.svg +0 -0
  1265. /package/{src → dist}/presentation/assets/svg/si_consent_device_dark.svg +0 -0
  1266. /package/{src → dist}/presentation/assets/svg/si_consent_personal.svg +0 -0
  1267. /package/{src → dist}/presentation/assets/svg/si_consent_personal_dark.svg +0 -0
  1268. /package/{src → dist}/presentation/assets/svg/si_expand_more.svg +0 -0
  1269. /package/{src → dist}/presentation/assets/svg/si_plus.svg +0 -0
  1270. /package/{src → dist}/presentation/assets/svg/si_smile_consent_icon.svg +0 -0
@@ -1,176 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
-
3
- import { SigningCrypto, base64Encode, utf8Bytes } from "../signing_crypto";
4
- import { SmileIDCryptoManager } from "../smile_id_crypto_manager";
5
- import { SmileIDCryptoError } from "../smile_id_crypto_error";
6
-
7
- /**
8
- * Pins down the request-signing contract:
9
- * - A multipart request signs to a fixed known-answer vector so any
10
- * divergence from the canonical algorithm — the logical payload (JSON
11
- * fields parsed, file parts Base64'd, scalars as strings) key-sorted and
12
- * compact-stringified, then PBKDF2-HMAC-SHA256 keyed and Base64-encoded —
13
- * fails loud.
14
- * - Only `smileid-*` headers are signed, and the body is canonicalised so the
15
- * MAC is independent of header / part ordering.
16
- */
17
- const TIMESTAMP = "1700000000000";
18
- const subject = new SmileIDCryptoManager("test-signing-secret");
19
-
20
- const KAT_HEADERS = {
21
- "smileid-token": "test-token",
22
- "smileid-request-timestamp": TIMESTAMP,
23
- "content-type": "multipart/form-data",
24
- };
25
-
26
- /** Minimal stand-in for React Native's `FormData` (only `getParts` is read). */
27
- function formData(
28
- parts: ReadonlyArray<{ fieldName: string; string?: string; uri?: string }>,
29
- ) {
30
- return { getParts: () => parts };
31
- }
32
-
33
- /**
34
- * The known-answer-vector body: scalar string fields, a top-level boolean
35
- * string, two JSON fields, and a file part — exercising every classification.
36
- * The file is a `data:` URI so the canonicalizer's `fetch` reads its bytes
37
- * (Base64 of "selfiebytes").
38
- */
39
- function katBody() {
40
- return formData([
41
- { fieldName: "country", string: "NG" },
42
- { fieldName: "id_type", string: "PASSPORT" },
43
- { fieldName: "allow_new_enroll", string: "true" },
44
- {
45
- fieldName: "consent",
46
- string: '{"granted":true,"personal_details":false}',
47
- },
48
- { fieldName: "partner_params", string: '{"job_id":"j1","user_id":"u1"}' },
49
- {
50
- fieldName: "selfie_image",
51
- uri: "data:application/octet-stream;base64,c2VsZmllYnl0ZXM=",
52
- },
53
- ]);
54
- }
55
-
56
- describe("SmileIDCryptoManager", () => {
57
- it("signs a multipart request to the known-answer vector", async () => {
58
- const mac = await subject.sign(TIMESTAMP, KAT_HEADERS, katBody());
59
- expect(mac).toBe("nW0HenQOrKH/qAwQBveK+TSXvg70oVWfD0aGGtfI1bk=");
60
- });
61
-
62
- it("wraps an unreadable file part as SmileIDCryptoError (signing fails open, never crashes)", async () => {
63
- // A `file://` URI the runtime's `fetch` rejects — the same rejection a
64
- // captured-image local read produces when the device is offline (Expo vs
65
- // bare-RN runtimes differ here). The canonicalizer must surface it as a
66
- // SmileIDCryptoError so the request-MAC interceptor's narrow catch fails
67
- // open instead of letting the rejection escape and crash the submission.
68
- await expect(
69
- subject.sign(
70
- TIMESTAMP,
71
- KAT_HEADERS,
72
- formData([
73
- { fieldName: "selfie_image", uri: "file:///nonexistent/selfie.jpg" },
74
- ]),
75
- ),
76
- ).rejects.toBeInstanceOf(SmileIDCryptoError);
77
- });
78
-
79
- it("multipart body MAC is independent of part order", async () => {
80
- const headers = { "smileid-request-timestamp": TIMESTAMP };
81
- const first = await subject.sign(
82
- TIMESTAMP,
83
- headers,
84
- formData([
85
- { fieldName: "country", string: "NG" },
86
- { fieldName: "id_type", string: "PASSPORT" },
87
- ]),
88
- );
89
- const second = await subject.sign(
90
- TIMESTAMP,
91
- headers,
92
- formData([
93
- { fieldName: "id_type", string: "PASSPORT" },
94
- { fieldName: "country", string: "NG" },
95
- ]),
96
- );
97
- expect(first).toBe(second);
98
- });
99
-
100
- it("non-smileid headers do not affect the MAC", async () => {
101
- const body = () => formData([{ fieldName: "country", string: "NG" }]);
102
- const withoutExtras = await subject.sign(
103
- TIMESTAMP,
104
- { "smileid-token": "test-token" },
105
- body(),
106
- );
107
- const withExtras = await subject.sign(
108
- TIMESTAMP,
109
- {
110
- "smileid-token": "test-token",
111
- "x-extra": "ignored",
112
- accept: "application/json",
113
- },
114
- body(),
115
- );
116
- expect(withoutExtras).toBe(withExtras);
117
- });
118
-
119
- it("internal marker headers do not affect the MAC", async () => {
120
- const body = () => formData([{ fieldName: "country", string: "NG" }]);
121
- const withoutMarkers = await subject.sign(
122
- TIMESTAMP,
123
- { "smileid-token": "test-token" },
124
- body(),
125
- );
126
- const withMarkers = await subject.sign(
127
- TIMESTAMP,
128
- {
129
- "smileid-token": "test-token",
130
- "x-smileid-requires-attestation": "true",
131
- "x-smileid-requires-mac": "true",
132
- },
133
- body(),
134
- );
135
- expect(withoutMarkers).toBe(withMarkers);
136
- });
137
-
138
- it("smileid-prefixed headers affect the MAC", async () => {
139
- const body = () => formData([{ fieldName: "country", string: "NG" }]);
140
- const withFirstToken = await subject.sign(
141
- TIMESTAMP,
142
- { "smileid-token": "token-one" },
143
- body(),
144
- );
145
- const withSecondToken = await subject.sign(
146
- TIMESTAMP,
147
- { "smileid-token": "token-two" },
148
- body(),
149
- );
150
- expect(withFirstToken).not.toBe(withSecondToken);
151
- });
152
-
153
- it("different signing secrets produce different MACs", async () => {
154
- const withDefaultSecret = await subject.sign(
155
- TIMESTAMP,
156
- KAT_HEADERS,
157
- katBody(),
158
- );
159
- const withOtherSecret = await new SmileIDCryptoManager("other-secret").sign(
160
- TIMESTAMP,
161
- KAT_HEADERS,
162
- katBody(),
163
- );
164
- expect(withDefaultSecret).not.toBe(withOtherSecret);
165
- });
166
-
167
- it("hmacSha256 matches RFC 4231 Test Case 2", async () => {
168
- const mac = await SigningCrypto.hmacSha256(
169
- utf8Bytes("Jefe"),
170
- utf8Bytes("what do ya want for nothing?"),
171
- );
172
- expect(base64Encode(mac)).toBe(
173
- "W9zBRr9gdU5qBCQmCJV1x1oAPwidJzmDnexYuWTsOEM=",
174
- );
175
- });
176
- });
@@ -1,161 +0,0 @@
1
- import { base64Encode, utf8Bytes } from "./signing_crypto";
2
- import { SmileIDCryptoError } from "./smile_id_crypto_error";
3
-
4
- /**
5
- * Reduces a request to the canonical bytes that get signed: the signed headers
6
- * as sorted-key JSON, followed by the canonicalised body. Canonicalisation
7
- * reconstructs the logical request payload the server validates against, so the
8
- * client and server sign the same bytes.
9
- *
10
- * The body reconstruction mirrors the server's form parser + payload processor:
11
- * - JSON fields (`partner_params`, `metadata`, `failure_reason`, `consent`,
12
- * `user_details`) are parsed into objects.
13
- * - File parts contribute the Base64 of their bytes; repeated names (e.g.
14
- * `liveness_images`) collapse into a list.
15
- * - Every other field contributes its string value; a top-level `"true"` /
16
- * `"false"` becomes a boolean.
17
- * The result is key-sorted recursively and emitted as compact JSON, then
18
- * `latitude`/`longitude` and the `device_movement_detected` metadata value are
19
- * coerced from string to number to match the server.
20
- */
21
-
22
- const SIGNED_HEADER_PREFIX = "smileid-";
23
- const REQUEST_MAC_HEADER = "smileid-request-mac";
24
- const DEVICE_NONCE_HEADER = "smileid-device-nonce";
25
- const JSON_FIELDS = new Set([
26
- "partner_params",
27
- "metadata",
28
- "failure_reason",
29
- "consent",
30
- "user_details",
31
- ]);
32
-
33
- const LATITUDE_LONGITUDE =
34
- /"(latitude|longitude)":"(-?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?)"/g;
35
- const DEVICE_MOVEMENT =
36
- /("name":"device_movement_detected",.*?"value":)"(-?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?)"/g;
37
-
38
- /** The subset of React Native's `FormData` part shape the canonicalizer reads. */
39
- type FormDataPart = {
40
- readonly fieldName: string;
41
- readonly string?: string;
42
- readonly uri?: string;
43
- };
44
- type FormDataLike = { getParts(): readonly FormDataPart[] };
45
-
46
- function isFormDataLike(body: unknown): body is FormDataLike {
47
- return (
48
- typeof body === "object" &&
49
- body !== null &&
50
- typeof (body as { getParts?: unknown }).getParts === "function"
51
- );
52
- }
53
-
54
- export const RequestCanonicalizer = {
55
- async canonicalize(
56
- headers: Record<string, string>,
57
- body: unknown,
58
- ): Promise<Uint8Array> {
59
- return concat(canonicalHeaders(headers), await canonicalBody(body));
60
- },
61
- };
62
-
63
- function canonicalHeaders(headers: Record<string, string>): Uint8Array {
64
- const signed: Record<string, string> = {};
65
- for (const [key, value] of Object.entries(headers)) {
66
- const name = key.toLowerCase();
67
- if (
68
- name.startsWith(SIGNED_HEADER_PREFIX) &&
69
- name !== REQUEST_MAC_HEADER &&
70
- name !== DEVICE_NONCE_HEADER
71
- ) {
72
- signed[name] = value;
73
- }
74
- }
75
- return utf8Bytes(canonicalJson(signed));
76
- }
77
-
78
- async function canonicalBody(body: unknown): Promise<Uint8Array> {
79
- if (!isFormDataLike(body)) return utf8Bytes("{}");
80
- const payload: Record<string, unknown> = {};
81
- for (const part of body.getParts()) {
82
- merge(payload, part.fieldName, await partValue(part));
83
- }
84
- return utf8Bytes(coerceNumbers(canonicalJson(payload)));
85
- }
86
-
87
- /** File parts (a `uri`) → Base64 of bytes; JSON fields → parsed; else string with bool coercion. */
88
- async function partValue(part: FormDataPart): Promise<unknown> {
89
- if (part.uri != null) {
90
- // Reading a file part can reject — e.g. the captured-image `file://` URI is
91
- // unreadable, or the RN runtime rejects a local-file `fetch` when the device
92
- // is offline (behaviour differs between the Expo and bare-RN runtimes).
93
- // Surface it as a SmileIDCryptoError so the signing interceptor's narrow
94
- // catch fails open (ships the request unsigned) instead of letting the
95
- // rejection escape and crash the submission flow.
96
- try {
97
- const response = await fetch(part.uri);
98
- return base64Encode(new Uint8Array(await response.arrayBuffer()));
99
- } catch (cause) {
100
- throw new SmileIDCryptoError(
101
- `Failed to read request part "${part.fieldName}" for signing: ${String(cause)}`,
102
- );
103
- }
104
- }
105
- const value = part.string ?? "";
106
- if (JSON_FIELDS.has(part.fieldName)) {
107
- try {
108
- return JSON.parse(value);
109
- } catch {
110
- return value;
111
- }
112
- }
113
- if (value === "true") return true;
114
- if (value === "false") return false;
115
- return value;
116
- }
117
-
118
- function merge(
119
- payload: Record<string, unknown>,
120
- name: string,
121
- value: unknown,
122
- ): void {
123
- if (!(name in payload)) {
124
- payload[name] = value;
125
- return;
126
- }
127
- const existing = payload[name];
128
- payload[name] = Array.isArray(existing)
129
- ? [...existing, value]
130
- : [existing, value];
131
- }
132
-
133
- /** Compact JSON with recursively sorted object keys (no whitespace). */
134
- function canonicalJson(value: unknown): string {
135
- return JSON.stringify(sortValue(value));
136
- }
137
-
138
- function sortValue(value: unknown): unknown {
139
- if (Array.isArray(value)) return value.map(sortValue);
140
- if (typeof value === "object" && value !== null) {
141
- const sorted: Record<string, unknown> = {};
142
- for (const key of Object.keys(value as Record<string, unknown>).sort()) {
143
- sorted[key] = sortValue((value as Record<string, unknown>)[key]);
144
- }
145
- return sorted;
146
- }
147
- return value;
148
- }
149
-
150
- function coerceNumbers(json: string): string {
151
- return json
152
- .replace(LATITUDE_LONGITUDE, '"$1":$2')
153
- .replace(DEVICE_MOVEMENT, "$1$2");
154
- }
155
-
156
- function concat(a: Uint8Array, b: Uint8Array): Uint8Array {
157
- const out = new Uint8Array(a.length + b.length);
158
- out.set(a, 0);
159
- out.set(b, a.length);
160
- return out;
161
- }
@@ -1,12 +0,0 @@
1
- /**
2
- * The request timestamp used for request signing: epoch milliseconds rendered
3
- * as a string.
4
- *
5
- * Stamped as the `smileid-request-timestamp` header and reused as the
6
- * request-MAC salt, so producing it in one place keeps the clock read and the
7
- * wire format consistent between the header and the signature. The server
8
- * validates the value against its accepted clock-skew window.
9
- */
10
- export function currentRequestTimestamp(): string {
11
- return Date.now().toString();
12
- }
@@ -1,70 +0,0 @@
1
- /**
2
- * Server-driven security policy decoded from the integer `policy` bit-code carried as a top-level
3
- * claim on the SmileID JWT — a sibling of the `sdk_config` claim, not nested inside it (see
4
- * `decodeSecurityPolicyBitCode` and `docs/Policy.md`).
5
- *
6
- * Each bit toggles one SDK security behaviour, so the backend can dial protection up or down per
7
- * session without shipping a new SDK build. The bit-code contract — which bit means what — is
8
- * documented in `docs/Policy.md`, not here, so the four SDKs share one source of truth.
9
- *
10
- * **Fail-secure:** an absent (`undefined`) bit-code enables every behaviour, so a token that omits
11
- * the claim — or a malformed token that fails to decode — runs with full protection rather than
12
- * silently dropping security. This matches the value `undefined` produces in
13
- * {@link SecurityPolicy.fromBitCode}.
14
- *
15
- * **Internal by design:** this class is not exported from the package entrypoint (`src/index.ts`),
16
- * so it never becomes part of the partner-facing API; it exists only so the SDK can gate its own
17
- * request signing and device attestation.
18
- */
19
- export class SecurityPolicy {
20
- private static readonly _BIT_PAYLOAD_SIGNING = 0;
21
- private static readonly _BIT_PAYLOAD_ENCRYPTION = 1;
22
- private static readonly _BIT_ROOTED_DEVICE_CHECK = 2;
23
- private static readonly _BIT_PLAY_INTEGRITY_CHECK = 3;
24
-
25
- // Fail-secure default for an absent bit-code: every known behaviour active.
26
- private static readonly _ALL_ACTIVE =
27
- (1 << SecurityPolicy._BIT_PAYLOAD_SIGNING) |
28
- (1 << SecurityPolicy._BIT_PAYLOAD_ENCRYPTION) |
29
- (1 << SecurityPolicy._BIT_ROOTED_DEVICE_CHECK) |
30
- (1 << SecurityPolicy._BIT_PLAY_INTEGRITY_CHECK);
31
-
32
- private readonly _bitCode: number;
33
-
34
- private constructor(bitCode: number) {
35
- this._bitCode = bitCode;
36
- }
37
-
38
- /**
39
- * Decode a `bitCode` into a typed policy. An `undefined` code is fail-secure — every behaviour
40
- * is active. For a defined code, behaviour `b` is active when bit `b` is set, least-significant
41
- * bit first.
42
- */
43
- static fromBitCode(bitCode: number | undefined): SecurityPolicy {
44
- return new SecurityPolicy(bitCode ?? SecurityPolicy._ALL_ACTIVE);
45
- }
46
-
47
- /** True when the server enabled request-payload HMAC signing for this session. */
48
- isPayloadSigningActive(): boolean {
49
- return this._isSet(SecurityPolicy._BIT_PAYLOAD_SIGNING);
50
- }
51
-
52
- /** True when the server enabled request-payload encryption for this session. */
53
- isPayloadEncryptionActive(): boolean {
54
- return this._isSet(SecurityPolicy._BIT_PAYLOAD_ENCRYPTION);
55
- }
56
-
57
- /** True when the server enabled the rooted / jailbroken device check for this session. */
58
- isRootedDeviceCheckActive(): boolean {
59
- return this._isSet(SecurityPolicy._BIT_ROOTED_DEVICE_CHECK);
60
- }
61
-
62
- /** True when the server enabled device attestation for this session. */
63
- isPlayIntegrityCheckActive(): boolean {
64
- return this._isSet(SecurityPolicy._BIT_PLAY_INTEGRITY_CHECK);
65
- }
66
-
67
- private _isSet(bit: number): boolean {
68
- return ((this._bitCode >> bit) & 1) === 1;
69
- }
70
- }
@@ -1,219 +0,0 @@
1
- import { SmileIDCryptoError } from "./smile_id_crypto_error";
2
-
3
- // Ambient declaration for the text-encoding global. `tsconfig.base.json` ships
4
- // `lib: ["ES2022"]` (no DOM types) so `TextEncoder` isn't in scope by default.
5
- // React Native exposes it (Hermes built-in since 0.71); Node provides it too.
6
- declare class TextEncoder {
7
- encode(input: string): Uint8Array;
8
- }
9
-
10
- // CommonJS `require`, provided by the Metro / Node runtime. Declared so the
11
- // workspace `tsc` build doesn't need `@types/node` for the single lazy require
12
- // of the native crypto provider below. Matches the attestation bridge module.
13
- declare function require(moduleName: string): unknown;
14
-
15
- const KEY_LENGTH_BYTES = 32;
16
- const ITERATIONS = 200000;
17
-
18
- /** UTF-8 encodes a string to bytes. */
19
- export function utf8Bytes(input: string): Uint8Array {
20
- return new TextEncoder().encode(input);
21
- }
22
-
23
- const BASE64_ALPHABET =
24
- "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
25
-
26
- /** Standard-alphabet Base64 of [bytes] (no line wrap). */
27
- export function base64Encode(bytes: Uint8Array): string {
28
- let out = "";
29
- for (let i = 0; i < bytes.length; i += 3) {
30
- const b0 = bytes[i] as number;
31
- const b1 = i + 1 < bytes.length ? (bytes[i + 1] as number) : 0;
32
- const b2 = i + 2 < bytes.length ? (bytes[i + 2] as number) : 0;
33
- out += BASE64_ALPHABET[b0 >> 2];
34
- out += BASE64_ALPHABET[((b0 & 0x03) << 4) | (b1 >> 4)];
35
- out +=
36
- i + 1 < bytes.length
37
- ? BASE64_ALPHABET[((b1 & 0x0f) << 2) | (b2 >> 6)]
38
- : "=";
39
- out += i + 2 < bytes.length ? BASE64_ALPHABET[b2 & 0x3f] : "=";
40
- }
41
- return out;
42
- }
43
-
44
- /**
45
- * Minimal structural type for the Web Crypto `SubtleCrypto` surface this module
46
- * uses. Declared locally because the workspace tsconfig omits the DOM lib.
47
- */
48
- interface SubtleLike {
49
- importKey(
50
- format: "raw",
51
- keyData: ArrayBuffer,
52
- algorithm: { name: "HMAC"; hash: "SHA-256" } | "PBKDF2",
53
- extractable: boolean,
54
- keyUsages: readonly ("sign" | "deriveBits")[],
55
- ): Promise<unknown>;
56
- sign(
57
- algorithm: "HMAC",
58
- key: unknown,
59
- data: ArrayBuffer,
60
- ): Promise<ArrayBuffer>;
61
- deriveBits(
62
- algorithm: {
63
- name: "PBKDF2";
64
- salt: ArrayBuffer;
65
- iterations: number;
66
- hash: "SHA-256";
67
- },
68
- key: unknown,
69
- length: number,
70
- ): Promise<ArrayBuffer>;
71
- }
72
-
73
- // Cached only once a provider is found. A not-found result is never cached, so a
74
- // provider that appears later (e.g. a partner that polyfills `globalThis.crypto`
75
- // or calls `react-native-quick-crypto`'s `install()` after the first signing
76
- // attempt) is picked up on the next call instead of being stuck throwing.
77
- let cachedSubtle: SubtleLike | undefined;
78
-
79
- /**
80
- * Resolve the Web Crypto provider for request signing:
81
- *
82
- * 1. An existing global `crypto.subtle` — Node (vitest) provides it, and a
83
- * runtime that already polyfills Web Crypto (e.g. a partner app that calls
84
- * `react-native-quick-crypto`'s `install()`) exposes it here.
85
- * 2. `react-native-quick-crypto` — the native (OpenSSL) provider bundled on
86
- * device. Hermes ships no `crypto.subtle`, so this is the on-device path;
87
- * PBKDF2/HMAC then run in compiled native code (~ms) rather than the JS
88
- * engine. Its `subtle` is read across the export shapes the package exposes
89
- * (`subtle`, `webcrypto.subtle`, and the same under `default`).
90
- *
91
- * Preferring the global first means tests transparently use Node's crypto and
92
- * the lazy `require` is only reached on device (where Hermes has no global
93
- * subtle and Metro has bundled the native module) — no runtime sniffing needed.
94
- *
95
- * Returns `null` (uncached) when neither resolves; callers throw
96
- * {@link SmileIDCryptoError}. There is intentionally **no pure-JS PBKDF2/HMAC
97
- * fallback**: a pure-JS 200_000-iteration PBKDF2 takes 40–80 s on device and,
98
- * being silent, presents as "slow network".
99
- */
100
- function resolveSubtle(): SubtleLike | null {
101
- if (cachedSubtle) return cachedSubtle;
102
-
103
- const globalSubtle = (globalThis as { crypto?: { subtle?: SubtleLike } })
104
- .crypto?.subtle;
105
- if (globalSubtle) {
106
- cachedSubtle = globalSubtle;
107
- return cachedSubtle;
108
- }
109
-
110
- try {
111
- const moduleExports = require("react-native-quick-crypto") as {
112
- subtle?: SubtleLike;
113
- webcrypto?: { subtle?: SubtleLike };
114
- default?: { subtle?: SubtleLike; webcrypto?: { subtle?: SubtleLike } };
115
- };
116
- const nativeSubtle =
117
- moduleExports.subtle ??
118
- moduleExports.webcrypto?.subtle ??
119
- moduleExports.default?.subtle ??
120
- moduleExports.default?.webcrypto?.subtle;
121
- if (nativeSubtle) {
122
- cachedSubtle = nativeSubtle;
123
- return cachedSubtle;
124
- }
125
- } catch {
126
- // Module not installed / not linked.
127
- }
128
-
129
- // Not found — intentionally uncached so a later polyfill / install() resolves.
130
- return null;
131
- }
132
-
133
- function requireSubtle(): SubtleLike {
134
- const subtle = resolveSubtle();
135
- if (!subtle) {
136
- throw new SmileIDCryptoError(
137
- "No Web Crypto provider available for request signing. Install the " +
138
- "`react-native-quick-crypto` peer dependency (with its peers " +
139
- "`react-native-nitro-modules` and `react-native-quick-base64`), or " +
140
- "expose a global `crypto.subtle`.",
141
- );
142
- }
143
- return subtle;
144
- }
145
-
146
- /**
147
- * The exact bytes of [bytes] as a standalone `ArrayBuffer`. Reading `.buffer`
148
- * directly is wrong when the view covers only part of a larger buffer (a
149
- * `subarray` / `slice`), which would feed the surrounding bytes into PBKDF2/HMAC.
150
- */
151
- function exactBuffer(bytes: Uint8Array): ArrayBuffer {
152
- return bytes.buffer.slice(
153
- bytes.byteOffset,
154
- bytes.byteOffset + bytes.byteLength,
155
- ) as ArrayBuffer;
156
- }
157
-
158
- /**
159
- * Low-level signing primitives: PBKDF2 key derivation and HMAC-SHA256. Stateless
160
- * and deterministic, so the server reproduces the same key and MAC from the same
161
- * inputs. Backed by the native Web Crypto provider resolved above.
162
- */
163
- export const SigningCrypto = {
164
- /**
165
- * Derives a 32-byte key from [secret] and [salt] with PBKDF2-HMAC-SHA256.
166
- *
167
- * @throws {SmileIDCryptoError} if no provider is available or derivation fails.
168
- */
169
- async deriveKey(secret: string, salt: Uint8Array): Promise<Uint8Array> {
170
- const subtle = requireSubtle();
171
- try {
172
- const keyMaterial = await subtle.importKey(
173
- "raw",
174
- exactBuffer(utf8Bytes(secret)),
175
- "PBKDF2",
176
- false,
177
- ["deriveBits"],
178
- );
179
- const bits = await subtle.deriveBits(
180
- {
181
- name: "PBKDF2",
182
- salt: exactBuffer(salt),
183
- iterations: ITERATIONS,
184
- hash: "SHA-256",
185
- },
186
- keyMaterial,
187
- KEY_LENGTH_BYTES * 8,
188
- );
189
- return new Uint8Array(bits);
190
- } catch (cause) {
191
- if (cause instanceof SmileIDCryptoError) throw cause;
192
- throw new SmileIDCryptoError(`Key derivation failed: ${String(cause)}`);
193
- }
194
- },
195
-
196
- /**
197
- * Computes HMAC-SHA256 of [data] under [key].
198
- *
199
- * @throws {SmileIDCryptoError} if no provider is available or the MAC cannot
200
- * be computed.
201
- */
202
- async hmacSha256(key: Uint8Array, data: Uint8Array): Promise<Uint8Array> {
203
- const subtle = requireSubtle();
204
- try {
205
- const cryptoKey = await subtle.importKey(
206
- "raw",
207
- exactBuffer(key),
208
- { name: "HMAC", hash: "SHA-256" },
209
- false,
210
- ["sign"],
211
- );
212
- const digest = await subtle.sign("HMAC", cryptoKey, exactBuffer(data));
213
- return new Uint8Array(digest);
214
- } catch (cause) {
215
- if (cause instanceof SmileIDCryptoError) throw cause;
216
- throw new SmileIDCryptoError(`MAC computation failed: ${String(cause)}`);
217
- }
218
- },
219
- };
@@ -1,13 +0,0 @@
1
- /**
2
- * Error thrown by {@link SmileIDCryptoManager} and its supporting crypto
3
- * routines.
4
- *
5
- * Typed so call sites can catch a key-derivation / MAC-computation failure
6
- * (environment problem) intentionally rather than catching everything.
7
- */
8
- export class SmileIDCryptoError extends Error {
9
- constructor(message = "SmileID request signing failed") {
10
- super(message);
11
- this.name = "SmileIDCryptoError";
12
- }
13
- }