@smileid/usesmileid 12.0.0-beta01 → 12.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (556) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +701 -89
  3. package/dist/camera/camera_defaults.d.ts +14 -9
  4. package/dist/camera/camera_defaults.d.ts.map +1 -1
  5. package/dist/camera/camera_defaults.js +11 -9
  6. package/dist/camera/camera_defaults.js.map +1 -1
  7. package/dist/camera/orientation_degrees.d.ts +5 -6
  8. package/dist/camera/orientation_degrees.d.ts.map +1 -1
  9. package/dist/camera/orientation_degrees.js +5 -6
  10. package/dist/camera/orientation_degrees.js.map +1 -1
  11. package/dist/core/exception/agent_mode_with_enhanced_liveness_exception.d.ts +11 -0
  12. package/dist/core/exception/agent_mode_with_enhanced_liveness_exception.d.ts.map +1 -0
  13. package/dist/core/exception/agent_mode_with_enhanced_liveness_exception.js +17 -0
  14. package/dist/core/exception/agent_mode_with_enhanced_liveness_exception.js.map +1 -0
  15. package/dist/core/exception/capture_validation_exceptions.d.ts +1 -0
  16. package/dist/core/exception/capture_validation_exceptions.d.ts.map +1 -1
  17. package/dist/core/exception/capture_validation_exceptions.js +1 -0
  18. package/dist/core/exception/capture_validation_exceptions.js.map +1 -1
  19. package/dist/core/exception/index.d.ts +1 -0
  20. package/dist/core/exception/index.d.ts.map +1 -1
  21. package/dist/core/exception/index.js +1 -0
  22. package/dist/core/exception/index.js.map +1 -1
  23. package/dist/core/exception/use_smile_id_error_code.d.ts +1 -0
  24. package/dist/core/exception/use_smile_id_error_code.d.ts.map +1 -1
  25. package/dist/core/exception/use_smile_id_error_code.js +1 -0
  26. package/dist/core/exception/use_smile_id_error_code.js.map +1 -1
  27. package/dist/core/models/config.d.ts +19 -0
  28. package/dist/core/models/config.d.ts.map +1 -1
  29. package/dist/core/models/document_capture_mode.d.ts +8 -0
  30. package/dist/core/models/document_capture_mode.d.ts.map +1 -1
  31. package/dist/core/models/document_capture_mode.js +24 -0
  32. package/dist/core/models/document_capture_mode.js.map +1 -1
  33. package/dist/core/models/document_type.d.ts +2 -2
  34. package/dist/core/models/document_type.d.ts.map +1 -1
  35. package/dist/core/models/document_type.js +7 -5
  36. package/dist/core/models/document_type.js.map +1 -1
  37. package/dist/core/models/global_privacy_control.d.ts +36 -0
  38. package/dist/core/models/global_privacy_control.d.ts.map +1 -0
  39. package/dist/core/models/global_privacy_control.js +39 -0
  40. package/dist/core/models/global_privacy_control.js.map +1 -0
  41. package/dist/core/models/network_config.d.ts +2 -2
  42. package/dist/core/models/network_config.js +2 -2
  43. package/dist/core/models/result.d.ts +9 -8
  44. package/dist/core/models/result.d.ts.map +1 -1
  45. package/dist/core/models/result.js +5 -6
  46. package/dist/core/models/result.js.map +1 -1
  47. package/dist/data/api/interceptors/smile_auth_interceptor.d.ts.map +1 -1
  48. package/dist/data/api/interceptors/smile_auth_interceptor.js +3 -17
  49. package/dist/data/api/interceptors/smile_auth_interceptor.js.map +1 -1
  50. package/dist/data/api/interceptors/smile_integrity_interceptor.d.ts +11 -0
  51. package/dist/data/api/interceptors/smile_integrity_interceptor.d.ts.map +1 -1
  52. package/dist/data/api/interceptors/smile_integrity_interceptor.js +13 -0
  53. package/dist/data/api/interceptors/smile_integrity_interceptor.js.map +1 -1
  54. package/dist/data/api/interceptors/smile_request_mac_interceptor.d.ts +8 -0
  55. package/dist/data/api/interceptors/smile_request_mac_interceptor.d.ts.map +1 -1
  56. package/dist/data/api/interceptors/smile_request_mac_interceptor.js +11 -0
  57. package/dist/data/api/interceptors/smile_request_mac_interceptor.js.map +1 -1
  58. package/dist/data/api/smile_id_api.d.ts +1 -1
  59. package/dist/data/api/smile_id_api.d.ts.map +1 -1
  60. package/dist/data/compression/compressible_asset.d.ts +41 -0
  61. package/dist/data/compression/compressible_asset.d.ts.map +1 -0
  62. package/dist/data/compression/compressible_asset.js +34 -0
  63. package/dist/data/compression/compressible_asset.js.map +1 -0
  64. package/dist/data/compression/payload_compression_config.d.ts +36 -0
  65. package/dist/data/compression/payload_compression_config.d.ts.map +1 -0
  66. package/dist/data/compression/payload_compression_config.js +52 -0
  67. package/dist/data/compression/payload_compression_config.js.map +1 -0
  68. package/dist/data/compression/payload_compression_runner.d.ts +29 -0
  69. package/dist/data/compression/payload_compression_runner.d.ts.map +1 -0
  70. package/dist/data/compression/payload_compression_runner.js +55 -0
  71. package/dist/data/compression/payload_compression_runner.js.map +1 -0
  72. package/dist/data/compression/payload_compressor.d.ts +40 -0
  73. package/dist/data/compression/payload_compressor.d.ts.map +1 -0
  74. package/dist/data/compression/payload_compressor.js +126 -0
  75. package/dist/data/compression/payload_compressor.js.map +1 -0
  76. package/dist/data/compression/uri_compressible_asset.d.ts +23 -0
  77. package/dist/data/compression/uri_compressible_asset.d.ts.map +1 -0
  78. package/dist/data/compression/uri_compressible_asset.js +77 -0
  79. package/dist/data/compression/uri_compressible_asset.js.map +1 -0
  80. package/dist/data/dsl/builder/cache_config_builder.d.ts +2 -1
  81. package/dist/data/dsl/builder/cache_config_builder.d.ts.map +1 -1
  82. package/dist/data/dsl/builder/cache_config_builder.js +2 -1
  83. package/dist/data/dsl/builder/cache_config_builder.js.map +1 -1
  84. package/dist/data/dsl/builder/config_builder.d.ts +40 -14
  85. package/dist/data/dsl/builder/config_builder.d.ts.map +1 -1
  86. package/dist/data/dsl/builder/config_builder.js +40 -14
  87. package/dist/data/dsl/builder/config_builder.js.map +1 -1
  88. package/dist/data/dsl/builder/interceptor_config_builder.d.ts +9 -7
  89. package/dist/data/dsl/builder/interceptor_config_builder.d.ts.map +1 -1
  90. package/dist/data/dsl/builder/interceptor_config_builder.js +9 -7
  91. package/dist/data/dsl/builder/interceptor_config_builder.js.map +1 -1
  92. package/dist/data/dsl/builder/retry_config_builder.d.ts +19 -4
  93. package/dist/data/dsl/builder/retry_config_builder.d.ts.map +1 -1
  94. package/dist/data/dsl/builder/retry_config_builder.js +21 -6
  95. package/dist/data/dsl/builder/retry_config_builder.js.map +1 -1
  96. package/dist/data/dsl/builder/timeout_config_builder.d.ts +4 -0
  97. package/dist/data/dsl/builder/timeout_config_builder.d.ts.map +1 -1
  98. package/dist/data/dsl/builder/timeout_config_builder.js +4 -0
  99. package/dist/data/dsl/builder/timeout_config_builder.js.map +1 -1
  100. package/dist/data/dsl/use_smile_id_network_builder.d.ts +17 -0
  101. package/dist/data/dsl/use_smile_id_network_builder.d.ts.map +1 -1
  102. package/dist/data/dsl/use_smile_id_network_builder.js +17 -0
  103. package/dist/data/dsl/use_smile_id_network_builder.js.map +1 -1
  104. package/dist/data/factory/networking_factory.d.ts.map +1 -1
  105. package/dist/data/factory/networking_factory.js +11 -1
  106. package/dist/data/factory/networking_factory.js.map +1 -1
  107. package/dist/data/repository/use_smile_id_repository_impl.d.ts +6 -0
  108. package/dist/data/repository/use_smile_id_repository_impl.d.ts.map +1 -1
  109. package/dist/data/repository/use_smile_id_repository_impl.js +82 -8
  110. package/dist/data/repository/use_smile_id_repository_impl.js.map +1 -1
  111. package/dist/data/security/request_canonicalizer.d.ts.map +1 -1
  112. package/dist/data/security/request_canonicalizer.js +14 -2
  113. package/dist/data/security/request_canonicalizer.js.map +1 -1
  114. package/dist/data/security/security_policy.d.ts +43 -0
  115. package/dist/data/security/security_policy.d.ts.map +1 -0
  116. package/dist/data/security/security_policy.js +61 -0
  117. package/dist/data/security/security_policy.js.map +1 -0
  118. package/dist/data/smile_id_urls.d.ts +1 -1
  119. package/dist/data/smile_id_urls.js +1 -1
  120. package/dist/data/smile_id_urls.js.map +1 -1
  121. package/dist/data/util/retry_util.d.ts +2 -2
  122. package/dist/data/util/retry_util.d.ts.map +1 -1
  123. package/dist/data/util/retry_util.js +7 -1
  124. package/dist/data/util/retry_util.js.map +1 -1
  125. package/dist/data/util/use_smile_id_token_decoder.d.ts +22 -0
  126. package/dist/data/util/use_smile_id_token_decoder.d.ts.map +1 -1
  127. package/dist/data/util/use_smile_id_token_decoder.js +58 -24
  128. package/dist/data/util/use_smile_id_token_decoder.js.map +1 -1
  129. package/dist/index.d.ts +2 -2
  130. package/dist/index.d.ts.map +1 -1
  131. package/dist/index.js +2 -2
  132. package/dist/index.js.map +1 -1
  133. package/dist/l10n/strings_en.d.ts +2 -1
  134. package/dist/l10n/strings_en.d.ts.map +1 -1
  135. package/dist/l10n/strings_en.js +2 -1
  136. package/dist/l10n/strings_en.js.map +1 -1
  137. package/dist/l10n/use_smile_id_localizations.d.ts +1 -0
  138. package/dist/l10n/use_smile_id_localizations.d.ts.map +1 -1
  139. package/dist/l10n/use_smile_id_localizations.js +3 -0
  140. package/dist/l10n/use_smile_id_localizations.js.map +1 -1
  141. package/dist/metadata/builder_configuration.d.ts +44 -0
  142. package/dist/metadata/builder_configuration.d.ts.map +1 -0
  143. package/dist/metadata/builder_configuration.js +35 -0
  144. package/dist/metadata/builder_configuration.js.map +1 -0
  145. package/dist/metadata/captured_image_properties.d.ts +11 -0
  146. package/dist/metadata/captured_image_properties.d.ts.map +1 -0
  147. package/dist/metadata/captured_image_properties.js +11 -0
  148. package/dist/metadata/captured_image_properties.js.map +1 -0
  149. package/dist/metadata/device_orientation_collector.d.ts +17 -0
  150. package/dist/metadata/device_orientation_collector.d.ts.map +1 -0
  151. package/dist/metadata/device_orientation_collector.js +66 -0
  152. package/dist/metadata/device_orientation_collector.js.map +1 -0
  153. package/dist/metadata/geolocation.d.ts +20 -0
  154. package/dist/metadata/geolocation.d.ts.map +1 -0
  155. package/dist/metadata/geolocation.js +40 -0
  156. package/dist/metadata/geolocation.js.map +1 -0
  157. package/dist/metadata/metadata_configuration_mappers.d.ts +47 -0
  158. package/dist/metadata/metadata_configuration_mappers.d.ts.map +1 -0
  159. package/dist/metadata/metadata_configuration_mappers.js +178 -0
  160. package/dist/metadata/metadata_configuration_mappers.js.map +1 -0
  161. package/dist/metadata/model_configuration.d.ts +41 -0
  162. package/dist/metadata/model_configuration.d.ts.map +1 -0
  163. package/dist/metadata/model_configuration.js +44 -0
  164. package/dist/metadata/model_configuration.js.map +1 -0
  165. package/dist/metadata/optional_native_modules.d.ts +79 -3
  166. package/dist/metadata/optional_native_modules.d.ts.map +1 -1
  167. package/dist/metadata/optional_native_modules.js +108 -3
  168. package/dist/metadata/optional_native_modules.js.map +1 -1
  169. package/dist/metadata/use_smile_id_metadata.d.ts +45 -7
  170. package/dist/metadata/use_smile_id_metadata.d.ts.map +1 -1
  171. package/dist/metadata/use_smile_id_metadata.js +85 -13
  172. package/dist/metadata/use_smile_id_metadata.js.map +1 -1
  173. package/dist/metadata/use_smile_id_metadata_factory.d.ts +37 -0
  174. package/dist/metadata/use_smile_id_metadata_factory.d.ts.map +1 -1
  175. package/dist/metadata/use_smile_id_metadata_factory.js +197 -16
  176. package/dist/metadata/use_smile_id_metadata_factory.js.map +1 -1
  177. package/dist/presentation/assets/svg/document_shimmer_strings.d.ts +14 -0
  178. package/dist/presentation/assets/svg/document_shimmer_strings.d.ts.map +1 -0
  179. package/dist/presentation/assets/svg/document_shimmer_strings.js +14 -0
  180. package/dist/presentation/assets/svg/document_shimmer_strings.js.map +1 -0
  181. package/dist/presentation/assets/svg/instruction_svg_strings.d.ts +12 -4
  182. package/dist/presentation/assets/svg/instruction_svg_strings.d.ts.map +1 -1
  183. package/dist/presentation/assets/svg/instruction_svg_strings.js +19 -8
  184. package/dist/presentation/assets/svg/instruction_svg_strings.js.map +1 -1
  185. package/dist/presentation/components/helpers/enhanced_smart_selfie_animation_frames.d.ts +0 -5
  186. package/dist/presentation/components/helpers/enhanced_smart_selfie_animation_frames.d.ts.map +1 -1
  187. package/dist/presentation/components/helpers/enhanced_smart_selfie_animation_frames.js +0 -5
  188. package/dist/presentation/components/helpers/enhanced_smart_selfie_animation_frames.js.map +1 -1
  189. package/dist/presentation/components/icons/index.d.ts +24 -8
  190. package/dist/presentation/components/icons/index.d.ts.map +1 -1
  191. package/dist/presentation/components/icons/index.js +31 -11
  192. package/dist/presentation/components/icons/index.js.map +1 -1
  193. package/dist/presentation/components/use_smile_id_attribution.d.ts +1 -1
  194. package/dist/presentation/components/use_smile_id_button.d.ts +2 -2
  195. package/dist/presentation/components/use_smile_id_button.js +4 -4
  196. package/dist/presentation/components/use_smile_id_button.js.map +1 -1
  197. package/dist/presentation/components/use_smile_id_capture_content.d.ts +13 -0
  198. package/dist/presentation/components/use_smile_id_capture_content.d.ts.map +1 -1
  199. package/dist/presentation/components/use_smile_id_capture_content.js +15 -9
  200. package/dist/presentation/components/use_smile_id_capture_content.js.map +1 -1
  201. package/dist/presentation/components/use_smile_id_captured_document_image.d.ts +2 -3
  202. package/dist/presentation/components/use_smile_id_captured_document_image.d.ts.map +1 -1
  203. package/dist/presentation/components/use_smile_id_captured_document_image.js +1 -3
  204. package/dist/presentation/components/use_smile_id_captured_document_image.js.map +1 -1
  205. package/dist/presentation/components/use_smile_id_document_capture_controls.d.ts +12 -6
  206. package/dist/presentation/components/use_smile_id_document_capture_controls.d.ts.map +1 -1
  207. package/dist/presentation/components/use_smile_id_document_capture_controls.js +59 -16
  208. package/dist/presentation/components/use_smile_id_document_capture_controls.js.map +1 -1
  209. package/dist/presentation/components/use_smile_id_document_overlay.d.ts +22 -5
  210. package/dist/presentation/components/use_smile_id_document_overlay.d.ts.map +1 -1
  211. package/dist/presentation/components/use_smile_id_document_overlay.js +80 -40
  212. package/dist/presentation/components/use_smile_id_document_overlay.js.map +1 -1
  213. package/dist/presentation/components/use_smile_id_document_shimmer.d.ts +15 -0
  214. package/dist/presentation/components/use_smile_id_document_shimmer.d.ts.map +1 -0
  215. package/dist/presentation/components/use_smile_id_document_shimmer.js +23 -0
  216. package/dist/presentation/components/use_smile_id_document_shimmer.js.map +1 -0
  217. package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_clip.d.ts +5 -2
  218. package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_clip.d.ts.map +1 -1
  219. package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_clip.js +9 -6
  220. package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_clip.js.map +1 -1
  221. package/dist/presentation/components/use_smile_id_guideline_thumbnail.d.ts.map +1 -1
  222. package/dist/presentation/components/use_smile_id_guideline_thumbnail.js +84 -1
  223. package/dist/presentation/components/use_smile_id_guideline_thumbnail.js.map +1 -1
  224. package/dist/presentation/components/use_smile_id_instructions_hero.d.ts +3 -1
  225. package/dist/presentation/components/use_smile_id_instructions_hero.d.ts.map +1 -1
  226. package/dist/presentation/components/use_smile_id_instructions_hero.js +25 -5
  227. package/dist/presentation/components/use_smile_id_instructions_hero.js.map +1 -1
  228. package/dist/presentation/components/use_smile_id_oval_border_palette.d.ts.map +1 -1
  229. package/dist/presentation/components/use_smile_id_oval_border_palette.js +7 -3
  230. package/dist/presentation/components/use_smile_id_oval_border_palette.js.map +1 -1
  231. package/dist/presentation/flow/dsl/builder/config_builder.d.ts +28 -0
  232. package/dist/presentation/flow/dsl/builder/config_builder.d.ts.map +1 -1
  233. package/dist/presentation/flow/dsl/builder/config_builder.js +30 -0
  234. package/dist/presentation/flow/dsl/builder/config_builder.js.map +1 -1
  235. package/dist/presentation/flow/dsl/builder/ml_builder.d.ts +13 -4
  236. package/dist/presentation/flow/dsl/builder/ml_builder.d.ts.map +1 -1
  237. package/dist/presentation/flow/dsl/builder/ml_builder.js +3 -2
  238. package/dist/presentation/flow/dsl/builder/ml_builder.js.map +1 -1
  239. package/dist/presentation/flow/dsl/builder/screens_builder.d.ts +110 -12
  240. package/dist/presentation/flow/dsl/builder/screens_builder.d.ts.map +1 -1
  241. package/dist/presentation/flow/dsl/builder/screens_builder.js +110 -12
  242. package/dist/presentation/flow/dsl/builder/screens_builder.js.map +1 -1
  243. package/dist/presentation/flow/dsl/builder/theme_builder.d.ts +15 -2
  244. package/dist/presentation/flow/dsl/builder/theme_builder.d.ts.map +1 -1
  245. package/dist/presentation/flow/dsl/builder/theme_builder.js +15 -2
  246. package/dist/presentation/flow/dsl/builder/theme_builder.js.map +1 -1
  247. package/dist/presentation/flow/dsl/use_smile_id_builder.d.ts +6 -4
  248. package/dist/presentation/flow/dsl/use_smile_id_builder.d.ts.map +1 -1
  249. package/dist/presentation/flow/dsl/use_smile_id_builder.js.map +1 -1
  250. package/dist/presentation/flow/dsl/use_smile_id_flow_builder.d.ts +62 -36
  251. package/dist/presentation/flow/dsl/use_smile_id_flow_builder.d.ts.map +1 -1
  252. package/dist/presentation/flow/dsl/use_smile_id_flow_builder.js +62 -36
  253. package/dist/presentation/flow/dsl/use_smile_id_flow_builder.js.map +1 -1
  254. package/dist/presentation/flow/flow_navigation_manager.d.ts +44 -5
  255. package/dist/presentation/flow/flow_navigation_manager.d.ts.map +1 -1
  256. package/dist/presentation/flow/flow_navigation_manager.js +148 -11
  257. package/dist/presentation/flow/flow_navigation_manager.js.map +1 -1
  258. package/dist/presentation/flow/model/instruction_guideline.d.ts +9 -0
  259. package/dist/presentation/flow/model/instruction_guideline.d.ts.map +1 -1
  260. package/dist/presentation/flow/model/instructions_defaults.d.ts +11 -2
  261. package/dist/presentation/flow/model/instructions_defaults.d.ts.map +1 -1
  262. package/dist/presentation/flow/model/instructions_defaults.js +74 -26
  263. package/dist/presentation/flow/model/instructions_defaults.js.map +1 -1
  264. package/dist/presentation/flow/screen/orchestrated_capture_screen.d.ts.map +1 -1
  265. package/dist/presentation/flow/screen/orchestrated_capture_screen.js +48 -14
  266. package/dist/presentation/flow/screen/orchestrated_capture_screen.js.map +1 -1
  267. package/dist/presentation/flow/screen/orchestrated_consent_screen.d.ts.map +1 -1
  268. package/dist/presentation/flow/screen/orchestrated_consent_screen.js +3 -1
  269. package/dist/presentation/flow/screen/orchestrated_consent_screen.js.map +1 -1
  270. package/dist/presentation/flow/screen/orchestrated_instructions_screen.js +1 -1
  271. package/dist/presentation/flow/screen/orchestrated_instructions_screen.js.map +1 -1
  272. package/dist/presentation/flow/screen/orchestrated_preview_screen.d.ts.map +1 -1
  273. package/dist/presentation/flow/screen/orchestrated_preview_screen.js +3 -9
  274. package/dist/presentation/flow/screen/orchestrated_preview_screen.js.map +1 -1
  275. package/dist/presentation/flow/screen/orchestrated_processing_screen.js +3 -3
  276. package/dist/presentation/flow/screen/orchestrated_processing_screen.js.map +1 -1
  277. package/dist/presentation/flow/use_smile_id_flow.d.ts.map +1 -1
  278. package/dist/presentation/flow/use_smile_id_flow.js +10 -4
  279. package/dist/presentation/flow/use_smile_id_flow.js.map +1 -1
  280. package/dist/presentation/flow/validation/flow_validator.d.ts.map +1 -1
  281. package/dist/presentation/flow/validation/flow_validator.js +42 -20
  282. package/dist/presentation/flow/validation/flow_validator.js.map +1 -1
  283. package/dist/presentation/flow/validation/job_type_validator.d.ts.map +1 -1
  284. package/dist/presentation/flow/validation/job_type_validator.js +14 -0
  285. package/dist/presentation/flow/validation/job_type_validator.js.map +1 -1
  286. package/dist/presentation/screen/helpers/capture_screen_helpers.d.ts.map +1 -1
  287. package/dist/presentation/screen/helpers/capture_screen_helpers.js +1 -0
  288. package/dist/presentation/screen/helpers/capture_screen_helpers.js.map +1 -1
  289. package/dist/presentation/screen/helpers/capture_ui_state.d.ts +6 -6
  290. package/dist/presentation/screen/helpers/capture_ui_state.d.ts.map +1 -1
  291. package/dist/presentation/screen/helpers/capture_ui_state.js +19 -19
  292. package/dist/presentation/screen/helpers/capture_ui_state.js.map +1 -1
  293. package/dist/presentation/screen/helpers/ess_turn_haptics.d.ts +2 -2
  294. package/dist/presentation/screen/helpers/ess_turn_haptics.d.ts.map +1 -1
  295. package/dist/presentation/screen/helpers/ess_turn_haptics.js +6 -6
  296. package/dist/presentation/screen/helpers/ess_turn_haptics.js.map +1 -1
  297. package/dist/presentation/screen/helpers/instructions_screen_helpers.d.ts +1 -0
  298. package/dist/presentation/screen/helpers/instructions_screen_helpers.d.ts.map +1 -1
  299. package/dist/presentation/screen/helpers/instructions_screen_helpers.js +6 -2
  300. package/dist/presentation/screen/helpers/instructions_screen_helpers.js.map +1 -1
  301. package/dist/presentation/screen/helpers/scan_state_to_overlay_state.d.ts +5 -5
  302. package/dist/presentation/screen/helpers/scan_state_to_overlay_state.d.ts.map +1 -1
  303. package/dist/presentation/screen/helpers/scan_state_to_overlay_state.js +14 -11
  304. package/dist/presentation/screen/helpers/scan_state_to_overlay_state.js.map +1 -1
  305. package/dist/presentation/screen/helpers/use_capture_orientation_lock.d.ts +13 -3
  306. package/dist/presentation/screen/helpers/use_capture_orientation_lock.d.ts.map +1 -1
  307. package/dist/presentation/screen/helpers/use_capture_orientation_lock.js +48 -6
  308. package/dist/presentation/screen/helpers/use_capture_orientation_lock.js.map +1 -1
  309. package/dist/presentation/screen/use_smile_id_capture_screen.d.ts +21 -3
  310. package/dist/presentation/screen/use_smile_id_capture_screen.d.ts.map +1 -1
  311. package/dist/presentation/screen/use_smile_id_capture_screen.js +188 -32
  312. package/dist/presentation/screen/use_smile_id_capture_screen.js.map +1 -1
  313. package/dist/presentation/screen/use_smile_id_consent_screen.d.ts +7 -0
  314. package/dist/presentation/screen/use_smile_id_consent_screen.d.ts.map +1 -1
  315. package/dist/presentation/screen/use_smile_id_consent_screen.js +6 -5
  316. package/dist/presentation/screen/use_smile_id_consent_screen.js.map +1 -1
  317. package/dist/presentation/screen/use_smile_id_document_back_instructions.d.ts.map +1 -1
  318. package/dist/presentation/screen/use_smile_id_document_back_instructions.js +5 -13
  319. package/dist/presentation/screen/use_smile_id_document_back_instructions.js.map +1 -1
  320. package/dist/presentation/screen/use_smile_id_document_preview_screen.d.ts +2 -3
  321. package/dist/presentation/screen/use_smile_id_document_preview_screen.d.ts.map +1 -1
  322. package/dist/presentation/screen/use_smile_id_document_preview_screen.js +17 -12
  323. package/dist/presentation/screen/use_smile_id_document_preview_screen.js.map +1 -1
  324. package/dist/presentation/screen/use_smile_id_instructions_screen.d.ts +2 -0
  325. package/dist/presentation/screen/use_smile_id_instructions_screen.d.ts.map +1 -1
  326. package/dist/presentation/screen/use_smile_id_instructions_screen.js +2 -1
  327. package/dist/presentation/screen/use_smile_id_instructions_screen.js.map +1 -1
  328. package/dist/presentation/screen/use_smile_id_preview_screen.d.ts +7 -26
  329. package/dist/presentation/screen/use_smile_id_preview_screen.d.ts.map +1 -1
  330. package/dist/presentation/screen/use_smile_id_preview_screen.js +10 -20
  331. package/dist/presentation/screen/use_smile_id_preview_screen.js.map +1 -1
  332. package/dist/presentation/screen/use_smile_id_processing_screen.d.ts +2 -3
  333. package/dist/presentation/screen/use_smile_id_processing_screen.d.ts.map +1 -1
  334. package/dist/presentation/screen/use_smile_id_processing_screen.js +4 -3
  335. package/dist/presentation/screen/use_smile_id_processing_screen.js.map +1 -1
  336. package/dist/presentation/theme/theme.d.ts +1 -1
  337. package/dist/presentation/theme/theme.d.ts.map +1 -1
  338. package/dist/presentation/theme/theme.js +20 -18
  339. package/dist/presentation/theme/theme.js.map +1 -1
  340. package/dist/presentation/utils/force_max_brightness.d.ts +4 -4
  341. package/dist/presentation/utils/locale_utils.d.ts +10 -4
  342. package/dist/presentation/utils/locale_utils.d.ts.map +1 -1
  343. package/dist/presentation/utils/locale_utils.js +13 -5
  344. package/dist/presentation/utils/locale_utils.js.map +1 -1
  345. package/dist/testing/fake_face_analyzer.d.ts +43 -0
  346. package/dist/testing/fake_face_analyzer.d.ts.map +1 -0
  347. package/dist/testing/fake_face_analyzer.js +52 -0
  348. package/dist/testing/fake_face_analyzer.js.map +1 -0
  349. package/dist/testing/index.d.ts +5 -0
  350. package/dist/testing/index.d.ts.map +1 -0
  351. package/dist/testing/index.js +7 -0
  352. package/dist/testing/index.js.map +1 -0
  353. package/dist/testing/scenario_expectations.d.ts +28 -0
  354. package/dist/testing/scenario_expectations.d.ts.map +1 -0
  355. package/dist/testing/scenario_expectations.js +65 -0
  356. package/dist/testing/scenario_expectations.js.map +1 -0
  357. package/dist/testing/scenario_loader.d.ts +11 -0
  358. package/dist/testing/scenario_loader.d.ts.map +1 -0
  359. package/dist/testing/scenario_loader.js +64 -0
  360. package/dist/testing/scenario_loader.js.map +1 -0
  361. package/dist/testing/scripted_scan_results.d.ts +17 -0
  362. package/dist/testing/scripted_scan_results.d.ts.map +1 -0
  363. package/dist/testing/scripted_scan_results.js +52 -0
  364. package/dist/testing/scripted_scan_results.js.map +1 -0
  365. package/package.json +34 -7
  366. package/src/__tests__/dsl.test.ts +51 -1
  367. package/src/__tests__/react_native_mock.tsx +8 -0
  368. package/src/__tests__/setup_react_native.ts +17 -2
  369. package/src/__tests__/snapshots/__snapshots__/screens_structural.test.tsx.snap +5261 -0
  370. package/src/__tests__/snapshots/screens_structural.test.tsx +230 -0
  371. package/src/camera/__tests__/use_smile_id_camera_system.test.ts +103 -0
  372. package/src/camera/camera_defaults.ts +11 -9
  373. package/src/camera/orientation_degrees.ts +5 -6
  374. package/src/core/exception/__tests__/builder_validation_exceptions.test.ts +67 -0
  375. package/src/core/exception/agent_mode_with_enhanced_liveness_exception.ts +20 -0
  376. package/src/core/exception/capture_validation_exceptions.ts +1 -0
  377. package/src/core/exception/index.ts +1 -0
  378. package/src/core/exception/use_smile_id_error_code.ts +1 -0
  379. package/src/core/models/__tests__/document_type.test.ts +7 -5
  380. package/src/core/models/__tests__/flow_models.test.ts +26 -0
  381. package/src/core/models/config.ts +22 -0
  382. package/src/core/models/document_capture_mode.ts +27 -0
  383. package/src/core/models/document_type.ts +7 -5
  384. package/src/core/models/global_privacy_control.ts +45 -0
  385. package/src/core/models/network_config.ts +2 -2
  386. package/src/core/models/result.ts +9 -8
  387. package/src/data/api/__tests__/smile_id_api.test.ts +1 -1
  388. package/src/data/api/interceptors/__tests__/gzip_interceptor.test.ts +83 -0
  389. package/src/data/api/interceptors/__tests__/smile_integrity_interceptor.test.ts +37 -1
  390. package/src/data/api/interceptors/__tests__/smile_request_mac_interceptor.test.ts +59 -1
  391. package/src/data/api/interceptors/smile_auth_interceptor.ts +3 -18
  392. package/src/data/api/interceptors/smile_integrity_interceptor.ts +20 -0
  393. package/src/data/api/interceptors/smile_request_mac_interceptor.ts +13 -0
  394. package/src/data/compression/__tests__/payload_compressor.test.ts +200 -0
  395. package/src/data/compression/__tests__/payload_compressor_real_jpeg.test.ts +226 -0
  396. package/src/data/compression/compressible_asset.ts +62 -0
  397. package/src/data/compression/payload_compression_config.ts +53 -0
  398. package/src/data/compression/payload_compression_runner.ts +102 -0
  399. package/src/data/compression/payload_compressor.ts +164 -0
  400. package/src/data/compression/uri_compressible_asset.ts +85 -0
  401. package/src/data/dsl/builder/__tests__/config_builders.test.ts +62 -0
  402. package/src/data/dsl/builder/cache_config_builder.ts +3 -1
  403. package/src/data/dsl/builder/config_builder.ts +45 -14
  404. package/src/data/dsl/builder/interceptor_config_builder.ts +9 -7
  405. package/src/data/dsl/builder/retry_config_builder.ts +27 -6
  406. package/src/data/dsl/builder/timeout_config_builder.ts +7 -0
  407. package/src/data/dsl/use_smile_id_network_builder.ts +17 -0
  408. package/src/data/factory/__tests__/retry_gzip_mac_composition.test.ts +163 -0
  409. package/src/data/factory/__tests__/signed_job_submission_headers.test.ts +1 -1
  410. package/src/data/factory/networking_factory.ts +14 -1
  411. package/src/data/repository/__tests__/network_retries.test.ts +117 -0
  412. package/src/data/repository/__tests__/use_smile_id_repository.test.ts +1 -1
  413. package/src/data/repository/use_smile_id_repository_impl.ts +96 -9
  414. package/src/data/security/__tests__/request_canonicalizer.test.ts +132 -0
  415. package/src/data/security/__tests__/security_policy.test.ts +96 -0
  416. package/src/data/security/__tests__/smile_id_crypto_manager.test.ts +18 -0
  417. package/src/data/security/request_canonicalizer.ts +15 -2
  418. package/src/data/security/security_policy.ts +70 -0
  419. package/src/data/smile_id_urls.ts +1 -1
  420. package/src/data/util/__tests__/retry_util.test.ts +25 -0
  421. package/src/data/util/__tests__/use_smile_id_token_decoder.test.ts +57 -1
  422. package/src/data/util/retry_util.ts +12 -3
  423. package/src/data/util/use_smile_id_token_decoder.ts +76 -28
  424. package/src/index.ts +6 -4
  425. package/src/l10n/strings_en.ts +2 -1
  426. package/src/l10n/use_smile_id_localizations.ts +3 -0
  427. package/src/metadata/__tests__/device_orientation_collector.test.ts +15 -0
  428. package/src/metadata/__tests__/metadata_configuration_mappers.test.ts +254 -0
  429. package/src/metadata/__tests__/metadata_configuration_objects.test.ts +86 -0
  430. package/src/metadata/__tests__/metadata_device_context.test.ts +147 -0
  431. package/src/metadata/__tests__/metadata_device_os_android.test.ts +18 -0
  432. package/src/metadata/__tests__/metadata_golden_fixture.json +13 -0
  433. package/src/metadata/__tests__/metadata_payload_golden.test.ts +193 -0
  434. package/src/metadata/__tests__/use_smile_id_metadata.test.ts +19 -25
  435. package/src/metadata/builder_configuration.ts +69 -0
  436. package/src/metadata/captured_image_properties.ts +10 -0
  437. package/src/metadata/device_orientation_collector.ts +75 -0
  438. package/src/metadata/geolocation.ts +46 -0
  439. package/src/metadata/metadata_configuration_mappers.ts +248 -0
  440. package/src/metadata/model_configuration.ts +68 -0
  441. package/src/metadata/optional_native_modules.ts +157 -3
  442. package/src/metadata/use_smile_id_metadata.ts +140 -17
  443. package/src/metadata/use_smile_id_metadata_factory.ts +211 -16
  444. package/src/presentation/assets/si_document_green_book_hero_animation.json +1 -4668
  445. package/src/presentation/assets/si_document_hero_animation.json +1 -4799
  446. package/src/presentation/assets/si_document_hero_back_animation.json +1 -2039
  447. package/src/presentation/assets/si_document_passport_hero_animation.json +1 -14491
  448. package/src/presentation/assets/si_ess_all_directions_hero_animation.json +1 -0
  449. package/src/presentation/assets/si_ess_animation_all_directions.json +1 -5575
  450. package/src/presentation/assets/si_selfie_hero_animation.json +1 -1439
  451. package/src/presentation/assets/si_smile_to_capture_animation.json +1 -1439
  452. package/src/presentation/assets/svg/document_shimmer_strings.ts +17 -0
  453. package/src/presentation/assets/svg/instruction_svg_strings.ts +34 -12
  454. package/src/presentation/components/__tests__/enhanced_smart_selfie_animation_frames.test.ts +1 -3
  455. package/src/presentation/components/__tests__/use_smile_id_enhanced_smart_selfie_clip.test.tsx +12 -8
  456. package/src/presentation/components/__tests__/use_smile_id_guideline_thumbnail.test.tsx +34 -1
  457. package/src/presentation/components/__tests__/use_smile_id_instructions_hero.test.tsx +71 -0
  458. package/src/presentation/components/__tests__/use_smile_id_oval_border_palette.test.ts +7 -5
  459. package/src/presentation/components/helpers/enhanced_smart_selfie_animation_frames.ts +0 -6
  460. package/src/presentation/components/icons/index.tsx +65 -18
  461. package/src/presentation/components/use_smile_id_attribution.tsx +1 -1
  462. package/src/presentation/components/use_smile_id_button.tsx +4 -4
  463. package/src/presentation/components/use_smile_id_capture_content.tsx +36 -12
  464. package/src/presentation/components/use_smile_id_captured_document_image.tsx +3 -8
  465. package/src/presentation/components/use_smile_id_document_capture_controls.tsx +103 -39
  466. package/src/presentation/components/use_smile_id_document_overlay.tsx +134 -44
  467. package/src/presentation/components/use_smile_id_document_shimmer.tsx +51 -0
  468. package/src/presentation/components/use_smile_id_enhanced_smart_selfie_clip.tsx +9 -6
  469. package/src/presentation/components/use_smile_id_guideline_thumbnail.tsx +131 -2
  470. package/src/presentation/components/use_smile_id_instructions_hero.tsx +111 -60
  471. package/src/presentation/components/use_smile_id_oval_border_palette.ts +7 -3
  472. package/src/presentation/flow/__tests__/document_flow_navigation.test.ts +203 -4
  473. package/src/presentation/flow/__tests__/flow_navigation_manager.test.ts +49 -0
  474. package/src/presentation/flow/dsl/builder/__tests__/config_builder.test.ts +25 -0
  475. package/src/presentation/flow/dsl/builder/config_builder.ts +35 -0
  476. package/src/presentation/flow/dsl/builder/ml_builder.ts +13 -4
  477. package/src/presentation/flow/dsl/builder/screens_builder.ts +110 -12
  478. package/src/presentation/flow/dsl/builder/theme_builder.ts +19 -2
  479. package/src/presentation/flow/dsl/use_smile_id_builder.tsx +6 -4
  480. package/src/presentation/flow/dsl/use_smile_id_flow_builder.ts +62 -36
  481. package/src/presentation/flow/flow_navigation_manager.ts +185 -14
  482. package/src/presentation/flow/model/instruction_guideline.ts +6 -0
  483. package/src/presentation/flow/model/instructions_defaults.ts +104 -26
  484. package/src/presentation/flow/screen/orchestrated_capture_screen.tsx +60 -12
  485. package/src/presentation/flow/screen/orchestrated_consent_screen.tsx +5 -0
  486. package/src/presentation/flow/screen/orchestrated_instructions_screen.tsx +1 -0
  487. package/src/presentation/flow/screen/orchestrated_preview_screen.tsx +4 -14
  488. package/src/presentation/flow/screen/orchestrated_processing_screen.tsx +3 -3
  489. package/src/presentation/flow/use_smile_id_flow.tsx +11 -4
  490. package/src/presentation/flow/validation/__tests__/flow_validator.test.ts +61 -1
  491. package/src/presentation/flow/validation/__tests__/job_type_validator.test.ts +64 -0
  492. package/src/presentation/flow/validation/flow_validator.ts +55 -26
  493. package/src/presentation/flow/validation/job_type_validator.ts +24 -0
  494. package/src/presentation/screen/__tests__/capture_ui_state.test.ts +66 -47
  495. package/src/presentation/screen/__tests__/ess_turn_haptics.test.ts +15 -11
  496. package/src/presentation/screen/__tests__/instructions_screen_helpers.test.ts +15 -3
  497. package/src/presentation/screen/__tests__/scan_state_to_overlay_state.test.ts +47 -27
  498. package/src/presentation/screen/__tests__/use_smile_id_capture_screen.test.tsx +182 -18
  499. package/src/presentation/screen/__tests__/use_smile_id_document_back_instructions.test.tsx +1 -1
  500. package/src/presentation/screen/__tests__/use_smile_id_preview_screen.test.tsx +10 -40
  501. package/src/presentation/screen/helpers/__tests__/use_capture_orientation_lock.test.tsx +212 -0
  502. package/src/presentation/screen/helpers/capture_screen_helpers.ts +1 -0
  503. package/src/presentation/screen/helpers/capture_ui_state.ts +27 -27
  504. package/src/presentation/screen/helpers/ess_turn_haptics.ts +9 -9
  505. package/src/presentation/screen/helpers/instructions_screen_helpers.ts +7 -2
  506. package/src/presentation/screen/helpers/scan_state_to_overlay_state.ts +16 -13
  507. package/src/presentation/screen/helpers/use_capture_orientation_lock.ts +69 -7
  508. package/src/presentation/screen/use_smile_id_capture_screen.tsx +280 -54
  509. package/src/presentation/screen/use_smile_id_consent_screen.tsx +16 -5
  510. package/src/presentation/screen/use_smile_id_document_back_instructions.tsx +14 -23
  511. package/src/presentation/screen/use_smile_id_document_preview_screen.tsx +33 -23
  512. package/src/presentation/screen/use_smile_id_instructions_screen.tsx +4 -0
  513. package/src/presentation/screen/use_smile_id_preview_screen.tsx +21 -53
  514. package/src/presentation/screen/use_smile_id_processing_screen.tsx +8 -8
  515. package/src/presentation/theme/theme.ts +21 -19
  516. package/src/presentation/utils/__tests__/locale_utils.test.ts +46 -5
  517. package/src/presentation/utils/force_max_brightness.tsx +4 -4
  518. package/src/presentation/utils/locale_utils.ts +13 -4
  519. package/src/testing/__tests__/fake_face_analyzer.test.ts +42 -0
  520. package/src/testing/__tests__/scenario_expectations.test.ts +110 -0
  521. package/src/testing/__tests__/scenario_loader.test.ts +64 -0
  522. package/src/testing/fake_face_analyzer.ts +82 -0
  523. package/src/testing/index.ts +15 -0
  524. package/src/testing/scenario_expectations.ts +87 -0
  525. package/src/testing/scenario_loader.ts +83 -0
  526. package/src/testing/scripted_scan_results.ts +66 -0
  527. package/dist/camera/frame_processor_plugin.d.ts +0 -28
  528. package/dist/camera/frame_processor_plugin.d.ts.map +0 -1
  529. package/dist/camera/frame_processor_plugin.js +0 -21
  530. package/dist/camera/frame_processor_plugin.js.map +0 -1
  531. package/dist/camera/use_smile_id_frame_processor.d.ts +0 -38
  532. package/dist/camera/use_smile_id_frame_processor.d.ts.map +0 -1
  533. package/dist/camera/use_smile_id_frame_processor.js +0 -2
  534. package/dist/camera/use_smile_id_frame_processor.js.map +0 -1
  535. package/dist/presentation/components/use_smile_id_document_frame_glyph.d.ts +0 -17
  536. package/dist/presentation/components/use_smile_id_document_frame_glyph.d.ts.map +0 -1
  537. package/dist/presentation/components/use_smile_id_document_frame_glyph.js +0 -17
  538. package/dist/presentation/components/use_smile_id_document_frame_glyph.js.map +0 -1
  539. package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_animation.d.ts +0 -24
  540. package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_animation.d.ts.map +0 -1
  541. package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_animation.js +0 -91
  542. package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_animation.js.map +0 -1
  543. package/dist/presentation/components/use_smile_id_face_silhouette_overlay.d.ts +0 -15
  544. package/dist/presentation/components/use_smile_id_face_silhouette_overlay.d.ts.map +0 -1
  545. package/dist/presentation/components/use_smile_id_face_silhouette_overlay.js +0 -19
  546. package/dist/presentation/components/use_smile_id_face_silhouette_overlay.js.map +0 -1
  547. package/dist/presentation/components/use_smile_id_instruction_card.d.ts +0 -31
  548. package/dist/presentation/components/use_smile_id_instruction_card.d.ts.map +0 -1
  549. package/dist/presentation/components/use_smile_id_instruction_card.js +0 -43
  550. package/dist/presentation/components/use_smile_id_instruction_card.js.map +0 -1
  551. package/dist/presentation/screen/helpers/use_document_orientation_lock.d.ts +0 -24
  552. package/dist/presentation/screen/helpers/use_document_orientation_lock.d.ts.map +0 -1
  553. package/dist/presentation/screen/helpers/use_document_orientation_lock.js +0 -47
  554. package/dist/presentation/screen/helpers/use_document_orientation_lock.js.map +0 -1
  555. package/src/presentation/components/use_smile_id_document_frame_glyph.tsx +0 -162
  556. package/src/presentation/components/use_smile_id_face_silhouette_overlay.tsx +0 -27
@@ -1 +0,0 @@
1
- {"version":3,"file":"use_smile_id_frame_processor.d.ts","sourceRoot":"","sources":["../../src/camera/use_smile_id_frame_processor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAExD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,WAAW,wBACf,SAAQ,YAAY,CAAC;IAAE,GAAG,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,QAAQ,CAAA;CAAE,CAAC;IACzD;;;;OAIG;IACH,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;CAC9C"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=use_smile_id_frame_processor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use_smile_id_frame_processor.js","sourceRoot":"","sources":["../../src/camera/use_smile_id_frame_processor.ts"],"names":[],"mappings":""}
@@ -1,17 +0,0 @@
1
- /**
2
- * Translucent in-frame document glyph — the "what to align here" hint shown
3
- * while idle/positioning, hidden once capture begins.
4
- *
5
- * PLACEHOLDER: static card illustration standing in for the per-document-type
6
- * capture Lottie (not finalised). Swap point: replace the body with the resolved
7
- * Lottie for `documentType` + `isLandscape`; the call site and props stay the same.
8
- */
9
- export type UseSmileIDDocumentFrameGlyphProps = {
10
- readonly width: number;
11
- readonly height: number;
12
- /** Landscape (ID card): photo left + lines right. Portrait: header + lines, photo bottom-left. */
13
- readonly isLandscape: boolean;
14
- readonly testID?: string;
15
- };
16
- export declare const UseSmileIDDocumentFrameGlyph: import("react").MemoExoticComponent<(props: UseSmileIDDocumentFrameGlyphProps) => import("react").JSX.Element | null>;
17
- //# sourceMappingURL=use_smile_id_document_frame_glyph.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use_smile_id_document_frame_glyph.d.ts","sourceRoot":"","sources":["../../../src/presentation/components/use_smile_id_document_frame_glyph.tsx"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,MAAM,MAAM,iCAAiC,GAAG;IAC9C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,kGAAkG;IAClG,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAUF,eAAO,MAAM,4BAA4B,8CAE9B,iCAAiC,wCAoI3C,CAAC"}
@@ -1,17 +0,0 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { memo } from "react";
3
- import Svg, { Rect } from "react-native-svg";
4
- /** Translucent white — readable over the dimmed feed without hiding it. */
5
- const GLYPH_COLOR = "#FFFFFF8C"; // white @ ~55%
6
- /** Faint card fill so the skeleton reads as one document card, not loose bars. */
7
- const CARD_FILL = "#FFFFFF26"; // white @ ~15%
8
- const CORNER = 6;
9
- /** Card-fill corner radius — matches the overlay frame's 8px radius. */
10
- const FRAME_FILL_CORNER = 8;
11
- export const UseSmileIDDocumentFrameGlyph = memo(function UseSmileIDDocumentFrameGlyph(props) {
12
- const { width: w, height: h, isLandscape } = props;
13
- if (w <= 0 || h <= 0)
14
- return null;
15
- return (_jsxs(Svg, { width: w, height: h, viewBox: `0 0 ${w} ${h}`, preserveAspectRatio: "none", ...(props.testID !== undefined ? { testID: props.testID } : {}), children: [_jsx(Rect, { x: 0, y: 0, width: w, height: h, rx: FRAME_FILL_CORNER, fill: CARD_FILL }), isLandscape ? (_jsxs(_Fragment, { children: [_jsx(Rect, { x: w * 0.08, y: h * 0.2, width: w * 0.3, height: h * 0.6, rx: CORNER, fill: GLYPH_COLOR }), _jsx(Rect, { x: w * 0.46, y: h * 0.26, width: w * 0.4, height: h * 0.07, rx: CORNER, fill: GLYPH_COLOR }), _jsx(Rect, { x: w * 0.46, y: h * 0.4, width: w * 0.44, height: h * 0.07, rx: CORNER, fill: GLYPH_COLOR }), _jsx(Rect, { x: w * 0.46, y: h * 0.54, width: w * 0.36, height: h * 0.07, rx: CORNER, fill: GLYPH_COLOR }), _jsx(Rect, { x: w * 0.46, y: h * 0.68, width: w * 0.28, height: h * 0.07, rx: CORNER, fill: GLYPH_COLOR })] })) : (_jsxs(_Fragment, { children: [_jsx(Rect, { x: w * 0.1, y: h * 0.12, width: w * 0.8, height: h * 0.08, rx: CORNER, fill: GLYPH_COLOR }), _jsx(Rect, { x: w * 0.1, y: h * 0.26, width: w * 0.6, height: h * 0.05, rx: CORNER, fill: GLYPH_COLOR }), _jsx(Rect, { x: w * 0.1, y: h * 0.36, width: w * 0.65, height: h * 0.05, rx: CORNER, fill: GLYPH_COLOR }), _jsx(Rect, { x: w * 0.1, y: h * 0.56, width: w * 0.3, height: h * 0.28, rx: CORNER, fill: GLYPH_COLOR }), _jsx(Rect, { x: w * 0.46, y: h * 0.6, width: w * 0.44, height: h * 0.05, rx: CORNER, fill: GLYPH_COLOR }), _jsx(Rect, { x: w * 0.46, y: h * 0.7, width: w * 0.4, height: h * 0.05, rx: CORNER, fill: GLYPH_COLOR }), _jsx(Rect, { x: w * 0.46, y: h * 0.8, width: w * 0.3, height: h * 0.05, rx: CORNER, fill: GLYPH_COLOR })] }))] }));
16
- });
17
- //# sourceMappingURL=use_smile_id_document_frame_glyph.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use_smile_id_document_frame_glyph.js","sourceRoot":"","sources":["../../../src/presentation/components/use_smile_id_document_frame_glyph.tsx"],"names":[],"mappings":"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"}
@@ -1,24 +0,0 @@
1
- import type { ScanHeadTurnDirection } from "usesmileid_bridge";
2
- import { type UseSmileIDOverlayState as OverlayState } from "../state/use_smile_id_overlay_state";
3
- export type UseSmileIDEnhancedSmartSelfieAnimationProps = {
4
- readonly overlayState: OverlayState;
5
- /** Active head-turn direction from the scan state, null outside a turn. */
6
- readonly direction: ScanHeadTurnDirection | null;
7
- readonly containerWidth: number;
8
- readonly containerHeight: number;
9
- };
10
- /**
11
- * Enhanced Smart Selfie head-turn cue. One composition
12
- * (`si_ess_animation_all_directions`) carries all three turns:
13
- *
14
- * - No active direction while idle / pre-capture → the whole
15
- * composition loops as the pre-turn primer.
16
- * - During a head turn → only that direction's frame sub-range plays,
17
- * ping-ponging until the turn completes.
18
- * - Reduced motion → the clip's final (turned-head) frame holds.
19
- *
20
- * The caller gates rendering to selfie capture with Enhanced Smart
21
- * Selfie enabled.
22
- */
23
- export declare function UseSmileIDEnhancedSmartSelfieAnimation(props: UseSmileIDEnhancedSmartSelfieAnimationProps): import("react").JSX.Element | null;
24
- //# sourceMappingURL=use_smile_id_enhanced_smart_selfie_animation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use_smile_id_enhanced_smart_selfie_animation.d.ts","sourceRoot":"","sources":["../../../src/presentation/components/use_smile_id_enhanced_smart_selfie_animation.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAEL,KAAK,sBAAsB,IAAI,YAAY,EAC5C,MAAM,qCAAqC,CAAC;AAuB7C,MAAM,MAAM,2CAA2C,GAAG;IACxD,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,2EAA2E;IAC3E,QAAQ,CAAC,SAAS,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACjD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,wBAAgB,sCAAsC,CACpD,KAAK,EAAE,2CAA2C,sCAkFnD"}
@@ -1,91 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useEffect, useRef } from "react";
3
- import { Animated, Easing, View } from "react-native";
4
- import LottieView from "lottie-react-native";
5
- import { UseSmileIDOverlayState, } from "../state/use_smile_id_overlay_state";
6
- import { useReducedMotion } from "../utils/use_reduced_motion";
7
- import { FaceOvalDefaults } from "./face_oval_defaults";
8
- import { ENHANCED_SMART_SELFIE_FRAME_RATE, ENHANCED_SMART_SELFIE_TOTAL_FRAMES, EnhancedSmartSelfieAnimationFrames, } from "./helpers/enhanced_smart_selfie_animation_frames";
9
- // eslint-disable-next-line @typescript-eslint/no-require-imports
10
- const ALL_DIRECTIONS_ANIMATION = require("../assets/si_ess_animation_all_directions.json");
11
- /** Square box the head-turn cue renders in, centred on the oval. */
12
- const ENHANCED_SMART_SELFIE_ANIMATION_SIZE = 383;
13
- /** Nudge so the composition's face lands on the oval centre. */
14
- const VERTICAL_ALIGNMENT_OFFSET = -15;
15
- // Widens `progress` to accept an Animated.Value (lottie-react-native
16
- // types it as `number`, but the runtime accepts the value) without an
17
- // unsafe cast.
18
- const AnimatedLottieView = Animated.createAnimatedComponent(LottieView);
19
- /**
20
- * Enhanced Smart Selfie head-turn cue. One composition
21
- * (`si_ess_animation_all_directions`) carries all three turns:
22
- *
23
- * - No active direction while idle / pre-capture → the whole
24
- * composition loops as the pre-turn primer.
25
- * - During a head turn → only that direction's frame sub-range plays,
26
- * ping-ponging until the turn completes.
27
- * - Reduced motion → the clip's final (turned-head) frame holds.
28
- *
29
- * The caller gates rendering to selfie capture with Enhanced Smart
30
- * Selfie enabled.
31
- */
32
- export function UseSmileIDEnhancedSmartSelfieAnimation(props) {
33
- const reducedMotion = useReducedMotion();
34
- const progress = useRef(new Animated.Value(0)).current;
35
- const direction = props.direction;
36
- const showFullLoop = direction === null &&
37
- (props.overlayState === UseSmileIDOverlayState.INSTRUCTION ||
38
- props.overlayState === UseSmileIDOverlayState.IDLE);
39
- const visible = direction !== null || showFullLoop;
40
- useEffect(() => {
41
- if (!visible)
42
- return undefined;
43
- const range = direction
44
- ? EnhancedSmartSelfieAnimationFrames[direction]
45
- : { startFrame: 0, endFrame: ENHANCED_SMART_SELFIE_TOTAL_FRAMES };
46
- const startProgress = range.startFrame / ENHANCED_SMART_SELFIE_TOTAL_FRAMES;
47
- const endProgress = range.endFrame / ENHANCED_SMART_SELFIE_TOTAL_FRAMES;
48
- if (reducedMotion) {
49
- progress.setValue(endProgress);
50
- return undefined;
51
- }
52
- const duration = ((range.endFrame - range.startFrame) /
53
- ENHANCED_SMART_SELFIE_FRAME_RATE) *
54
- 1000;
55
- progress.setValue(startProgress);
56
- const forward = Animated.timing(progress, {
57
- toValue: endProgress,
58
- duration,
59
- easing: Easing.linear,
60
- useNativeDriver: false,
61
- });
62
- const animation = direction
63
- ? // Ping-pong the direction's clip so the cue keeps gesturing
64
- // without snapping back to the forward pose.
65
- Animated.loop(Animated.sequence([
66
- forward,
67
- Animated.timing(progress, {
68
- toValue: startProgress,
69
- duration,
70
- easing: Easing.linear,
71
- useNativeDriver: false,
72
- }),
73
- ]))
74
- : Animated.loop(forward);
75
- animation.start();
76
- return () => animation.stop();
77
- }, [visible, direction, reducedMotion, progress]);
78
- if (!visible || props.containerWidth <= 0 || props.containerHeight <= 0) {
79
- return null;
80
- }
81
- const size = ENHANCED_SMART_SELFIE_ANIMATION_SIZE;
82
- const ovalCenterY = props.containerHeight * FaceOvalDefaults.ovalCenterYRatio;
83
- return (_jsx(View, { pointerEvents: "none", style: {
84
- position: "absolute",
85
- left: (props.containerWidth - size) / 2,
86
- top: ovalCenterY - size / 2 + VERTICAL_ALIGNMENT_OFFSET,
87
- width: size,
88
- height: size,
89
- }, testID: "si_ess_direction_animation", children: _jsx(AnimatedLottieView, { source: ALL_DIRECTIONS_ANIMATION, progress: progress, style: { width: "100%", height: "100%" } }) }));
90
- }
91
- //# sourceMappingURL=use_smile_id_enhanced_smart_selfie_animation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use_smile_id_enhanced_smart_selfie_animation.js","sourceRoot":"","sources":["../../../src/presentation/components/use_smile_id_enhanced_smart_selfie_animation.tsx"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- import type { UseSmileIDTheme } from "../theme/theme";
2
- export type UseSmileIDFaceSilhouetteOverlayProps = {
3
- readonly visible: boolean;
4
- readonly theme?: UseSmileIDTheme;
5
- };
6
- /**
7
- * Silhouette guide rendered inside the face oval during the
8
- * `INSTRUCTION` state — gives the user a visual hint of where to
9
- * place their face before the analyzer kicks in.
10
- *
11
- * **STUB.** Silhouette SVG / vector pending; current implementation
12
- * is an empty view.
13
- */
14
- export declare function UseSmileIDFaceSilhouetteOverlay(props: UseSmileIDFaceSilhouetteOverlayProps): import("react").JSX.Element | null;
15
- //# sourceMappingURL=use_smile_id_face_silhouette_overlay.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use_smile_id_face_silhouette_overlay.d.ts","sourceRoot":"","sources":["../../../src/presentation/components/use_smile_id_face_silhouette_overlay.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGtD,MAAM,MAAM,oCAAoC,GAAG;IACjD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,eAAe,CAAC;CAClC,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,oCAAoC,sCAQ5C"}
@@ -1,19 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { View } from "react-native";
3
- import { useUseSmileIDTheme } from "../theme/theme_context";
4
- /**
5
- * Silhouette guide rendered inside the face oval during the
6
- * `INSTRUCTION` state — gives the user a visual hint of where to
7
- * place their face before the analyzer kicks in.
8
- *
9
- * **STUB.** Silhouette SVG / vector pending; current implementation
10
- * is an empty view.
11
- */
12
- export function UseSmileIDFaceSilhouetteOverlay(props) {
13
- const themeFromContext = useUseSmileIDTheme();
14
- const theme = props.theme ?? themeFromContext;
15
- if (!props.visible)
16
- return null;
17
- return (_jsx(View, { style: { opacity: 0.3, backgroundColor: theme.colors.stroke } }));
18
- }
19
- //# sourceMappingURL=use_smile_id_face_silhouette_overlay.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use_smile_id_face_silhouette_overlay.js","sourceRoot":"","sources":["../../../src/presentation/components/use_smile_id_face_silhouette_overlay.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAO5D;;;;;;;GAOG;AACH,MAAM,UAAU,+BAA+B,CAC7C,KAA2C;IAE3C,MAAM,gBAAgB,GAAG,kBAAkB,EAAE,CAAC;IAC9C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,gBAAgB,CAAC;IAC9C,IAAI,CAAC,KAAK,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAChC,OAAO,CACL,KAAC,IAAI,IAAC,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAI,CACxE,CAAC;AACJ,CAAC"}
@@ -1,31 +0,0 @@
1
- import { type AnimationObject } from "lottie-react-native";
2
- import type { UseSmileIDTheme } from "../theme/theme";
3
- export type UseSmileIDInstructionCardProps = {
4
- /**
5
- * Lottie animation source — typically a `require(...)` of a JSON
6
- * file under `presentation/assets/`, which Metro inlines as an
7
- * `AnimationObject`. Loops forever at default speed (1.0x).
8
- */
9
- readonly source: AnimationObject | string | {
10
- readonly uri: string;
11
- };
12
- /**
13
- * Hide the warm card background (used for the bottom row in the
14
- * instructions screen's 2x2 grid, where the animations carry their
15
- * own backgrounds baked into the Lottie file).
16
- */
17
- readonly showBackground?: boolean;
18
- readonly testID?: string;
19
- readonly theme?: UseSmileIDTheme;
20
- };
21
- /**
22
- * Square instruction card hosting a looping Lottie animation. Used
23
- * in the instructions screen's 2x2 grid.
24
- *
25
- * Background: defaults to the warm `instructionCardBackground` tint
26
- * (light beige in light mode, dark grey in dark mode). The bottom
27
- * row of the grid passes `showBackground={false}` to render plain
28
- * animations whose own backgrounds carry through.
29
- */
30
- export declare function UseSmileIDInstructionCard(props: UseSmileIDInstructionCardProps): import("react").JSX.Element;
31
- //# sourceMappingURL=use_smile_id_instruction_card.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use_smile_id_instruction_card.d.ts","sourceRoot":"","sources":["../../../src/presentation/components/use_smile_id_instruction_card.tsx"],"names":[],"mappings":"AACA,OAAmB,EAAE,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGtD,MAAM,MAAM,8BAA8B,GAAG;IAC3C;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,GAAG;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACrE;;;;OAIG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,eAAe,CAAC;CAClC,CAAC;AAKF;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,8BAA8B,+BA2BtC"}
@@ -1,43 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { StyleSheet, View } from "react-native";
3
- import LottieView from "lottie-react-native";
4
- import { useUseSmileIDTheme } from "../theme/theme_context";
5
- const CARD_SIZE = 150;
6
- const CARD_RADIUS = 8;
7
- /**
8
- * Square instruction card hosting a looping Lottie animation. Used
9
- * in the instructions screen's 2x2 grid.
10
- *
11
- * Background: defaults to the warm `instructionCardBackground` tint
12
- * (light beige in light mode, dark grey in dark mode). The bottom
13
- * row of the grid passes `showBackground={false}` to render plain
14
- * animations whose own backgrounds carry through.
15
- */
16
- export function UseSmileIDInstructionCard(props) {
17
- const themeFromContext = useUseSmileIDTheme();
18
- const theme = props.theme ?? themeFromContext;
19
- const showBackground = props.showBackground ?? true;
20
- return (_jsx(View, { testID: props.testID, style: [
21
- styles.card,
22
- {
23
- borderRadius: CARD_RADIUS,
24
- backgroundColor: showBackground
25
- ? theme.colors.instructionCardBackground
26
- : "transparent",
27
- },
28
- ], children: _jsx(LottieView, { source: props.source, autoPlay: true, loop: true, style: styles.animation }) }));
29
- }
30
- const styles = StyleSheet.create({
31
- card: {
32
- width: CARD_SIZE,
33
- height: CARD_SIZE,
34
- overflow: "hidden",
35
- alignItems: "center",
36
- justifyContent: "center",
37
- },
38
- animation: {
39
- width: "100%",
40
- height: "100%",
41
- },
42
- });
43
- //# sourceMappingURL=use_smile_id_instruction_card.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use_smile_id_instruction_card.js","sourceRoot":"","sources":["../../../src/presentation/components/use_smile_id_instruction_card.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,UAAoC,MAAM,qBAAqB,CAAC;AAEvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAmB5D,MAAM,SAAS,GAAG,GAAG,CAAC;AACtB,MAAM,WAAW,GAAG,CAAC,CAAC;AAEtB;;;;;;;;GAQG;AACH,MAAM,UAAU,yBAAyB,CACvC,KAAqC;IAErC,MAAM,gBAAgB,GAAG,kBAAkB,EAAE,CAAC;IAC9C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,gBAAgB,CAAC;IAC9C,MAAM,cAAc,GAAG,KAAK,CAAC,cAAc,IAAI,IAAI,CAAC;IACpD,OAAO,CACL,KAAC,IAAI,IACH,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,KAAK,EAAE;YACL,MAAM,CAAC,IAAI;YACX;gBACE,YAAY,EAAE,WAAW;gBACzB,eAAe,EAAE,cAAc;oBAC7B,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,yBAAyB;oBACxC,CAAC,CAAC,aAAa;aAClB;SACF,YAED,KAAC,UAAU,IACT,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,QAAQ,QACR,IAAI,QACJ,KAAK,EAAE,MAAM,CAAC,SAAS,GAEvB,GACG,CACR,CAAC;AACJ,CAAC;AAED,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,IAAI,EAAE;QACJ,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,QAAQ;QAClB,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,QAAQ;KACzB;IACD,SAAS,EAAE;QACT,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,MAAM;KACf;CACF,CAAC,CAAC"}
@@ -1,24 +0,0 @@
1
- import type { DocumentOrientation } from "../../../core/models/document_type";
2
- /**
3
- * Lock the device orientation for a document capture step, scoped to the
4
- * lifetime of the calling screen.
5
- *
6
- * - Landscape documents (ID cards) lock landscape.
7
- * - Portrait documents (booklets / passports) lock portrait-up.
8
- * - `undefined` (selfie, or no document type) is a no-op — the screen keeps
9
- * whatever orientation the host app set.
10
- *
11
- * On unmount the orientation is restored to portrait-up so the following selfie
12
- * capture and preview render upright. The SDK flow renderer keys each step by
13
- * depth + kind and UNMOUNTS the previous screen on navigation, so this cleanup
14
- * fires the moment the document step is left — the lock never leaks forward.
15
- * (React Navigation's "screen stays mounted on the back stack" does not apply
16
- * here, so a mount/unmount effect — not `useFocusEffect` — is the correct
17
- * scoping primitive for this flow.)
18
- *
19
- * Orientation locks are global; the host app must permit the locked
20
- * orientations at the OS level (iOS `UISupportedInterfaceOrientations`, Android
21
- * activity `screenOrientation`) for the lock to take effect.
22
- */
23
- export declare function useDocumentOrientationLock(orientation: DocumentOrientation | undefined): void;
24
- //# sourceMappingURL=use_document_orientation_lock.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use_document_orientation_lock.d.ts","sourceRoot":"","sources":["../../../../src/presentation/screen/helpers/use_document_orientation_lock.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAE9E;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,mBAAmB,GAAG,SAAS,GAC3C,IAAI,CAcN"}
@@ -1,47 +0,0 @@
1
- import { useEffect } from "react";
2
- import * as ScreenOrientation from "expo-screen-orientation";
3
- import { UseSmileIDCrashReporting } from "usesmileid_bridge";
4
- /**
5
- * Lock the device orientation for a document capture step, scoped to the
6
- * lifetime of the calling screen.
7
- *
8
- * - Landscape documents (ID cards) lock landscape.
9
- * - Portrait documents (booklets / passports) lock portrait-up.
10
- * - `undefined` (selfie, or no document type) is a no-op — the screen keeps
11
- * whatever orientation the host app set.
12
- *
13
- * On unmount the orientation is restored to portrait-up so the following selfie
14
- * capture and preview render upright. The SDK flow renderer keys each step by
15
- * depth + kind and UNMOUNTS the previous screen on navigation, so this cleanup
16
- * fires the moment the document step is left — the lock never leaks forward.
17
- * (React Navigation's "screen stays mounted on the back stack" does not apply
18
- * here, so a mount/unmount effect — not `useFocusEffect` — is the correct
19
- * scoping primitive for this flow.)
20
- *
21
- * Orientation locks are global; the host app must permit the locked
22
- * orientations at the OS level (iOS `UISupportedInterfaceOrientations`, Android
23
- * activity `screenOrientation`) for the lock to take effect.
24
- */
25
- export function useDocumentOrientationLock(orientation) {
26
- useEffect(() => {
27
- if (orientation === undefined)
28
- return;
29
- const target = orientation === "Landscape"
30
- ? ScreenOrientation.OrientationLock.LANDSCAPE
31
- : ScreenOrientation.OrientationLock.PORTRAIT_UP;
32
- void lockOrientation(target);
33
- return () => {
34
- void lockOrientation(ScreenOrientation.OrientationLock.PORTRAIT_UP);
35
- };
36
- }, [orientation]);
37
- }
38
- /** Lock to `target`, routing a native failure through crash reporting. */
39
- async function lockOrientation(target) {
40
- try {
41
- await ScreenOrientation.lockAsync(target);
42
- }
43
- catch (error) {
44
- UseSmileIDCrashReporting.captureException(error instanceof Error ? error : new Error(String(error)));
45
- }
46
- }
47
- //# sourceMappingURL=use_document_orientation_lock.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use_document_orientation_lock.js","sourceRoot":"","sources":["../../../../src/presentation/screen/helpers/use_document_orientation_lock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,KAAK,iBAAiB,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAG7D;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,0BAA0B,CACxC,WAA4C;IAE5C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,WAAW,KAAK,SAAS;YAAE,OAAO;QAEtC,MAAM,MAAM,GACV,WAAW,KAAK,WAAW;YACzB,CAAC,CAAC,iBAAiB,CAAC,eAAe,CAAC,SAAS;YAC7C,CAAC,CAAC,iBAAiB,CAAC,eAAe,CAAC,WAAW,CAAC;QACpD,KAAK,eAAe,CAAC,MAAM,CAAC,CAAC;QAE7B,OAAO,GAAG,EAAE;YACV,KAAK,eAAe,CAAC,iBAAiB,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QACtE,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;AACpB,CAAC;AAED,0EAA0E;AAC1E,KAAK,UAAU,eAAe,CAC5B,MAAyC;IAEzC,IAAI,CAAC;QACH,MAAM,iBAAiB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,wBAAwB,CAAC,gBAAgB,CACvC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAC1D,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -1,162 +0,0 @@
1
- import { memo } from "react";
2
- import Svg, { Rect } from "react-native-svg";
3
-
4
- /**
5
- * Translucent in-frame document glyph — the "what to align here" hint shown
6
- * while idle/positioning, hidden once capture begins.
7
- *
8
- * PLACEHOLDER: static card illustration standing in for the per-document-type
9
- * capture Lottie (not finalised). Swap point: replace the body with the resolved
10
- * Lottie for `documentType` + `isLandscape`; the call site and props stay the same.
11
- */
12
- export type UseSmileIDDocumentFrameGlyphProps = {
13
- readonly width: number;
14
- readonly height: number;
15
- /** Landscape (ID card): photo left + lines right. Portrait: header + lines, photo bottom-left. */
16
- readonly isLandscape: boolean;
17
- readonly testID?: string;
18
- };
19
-
20
- /** Translucent white — readable over the dimmed feed without hiding it. */
21
- const GLYPH_COLOR = "#FFFFFF8C"; // white @ ~55%
22
- /** Faint card fill so the skeleton reads as one document card, not loose bars. */
23
- const CARD_FILL = "#FFFFFF26"; // white @ ~15%
24
- const CORNER = 6;
25
- /** Card-fill corner radius — matches the overlay frame's 8px radius. */
26
- const FRAME_FILL_CORNER = 8;
27
-
28
- export const UseSmileIDDocumentFrameGlyph = memo(
29
- function UseSmileIDDocumentFrameGlyph(
30
- props: UseSmileIDDocumentFrameGlyphProps,
31
- ) {
32
- const { width: w, height: h, isLandscape } = props;
33
- if (w <= 0 || h <= 0) return null;
34
-
35
- return (
36
- <Svg
37
- width={w}
38
- height={h}
39
- viewBox={`0 0 ${w} ${h}`}
40
- preserveAspectRatio="none"
41
- {...(props.testID !== undefined ? { testID: props.testID } : {})}
42
- >
43
- {/* Card fill — binds the photo + line skeleton into one document card. */}
44
- <Rect
45
- x={0}
46
- y={0}
47
- width={w}
48
- height={h}
49
- rx={FRAME_FILL_CORNER}
50
- fill={CARD_FILL}
51
- />
52
- {isLandscape ? (
53
- <>
54
- {/* Portrait photo block (left) */}
55
- <Rect
56
- x={w * 0.08}
57
- y={h * 0.2}
58
- width={w * 0.3}
59
- height={h * 0.6}
60
- rx={CORNER}
61
- fill={GLYPH_COLOR}
62
- />
63
- {/* Text lines (right) */}
64
- <Rect
65
- x={w * 0.46}
66
- y={h * 0.26}
67
- width={w * 0.4}
68
- height={h * 0.07}
69
- rx={CORNER}
70
- fill={GLYPH_COLOR}
71
- />
72
- <Rect
73
- x={w * 0.46}
74
- y={h * 0.4}
75
- width={w * 0.44}
76
- height={h * 0.07}
77
- rx={CORNER}
78
- fill={GLYPH_COLOR}
79
- />
80
- <Rect
81
- x={w * 0.46}
82
- y={h * 0.54}
83
- width={w * 0.36}
84
- height={h * 0.07}
85
- rx={CORNER}
86
- fill={GLYPH_COLOR}
87
- />
88
- <Rect
89
- x={w * 0.46}
90
- y={h * 0.68}
91
- width={w * 0.28}
92
- height={h * 0.07}
93
- rx={CORNER}
94
- fill={GLYPH_COLOR}
95
- />
96
- </>
97
- ) : (
98
- <>
99
- {/* Header band (top) */}
100
- <Rect
101
- x={w * 0.1}
102
- y={h * 0.12}
103
- width={w * 0.8}
104
- height={h * 0.08}
105
- rx={CORNER}
106
- fill={GLYPH_COLOR}
107
- />
108
- <Rect
109
- x={w * 0.1}
110
- y={h * 0.26}
111
- width={w * 0.6}
112
- height={h * 0.05}
113
- rx={CORNER}
114
- fill={GLYPH_COLOR}
115
- />
116
- <Rect
117
- x={w * 0.1}
118
- y={h * 0.36}
119
- width={w * 0.65}
120
- height={h * 0.05}
121
- rx={CORNER}
122
- fill={GLYPH_COLOR}
123
- />
124
- {/* Photo block (bottom-left) + lines beside it */}
125
- <Rect
126
- x={w * 0.1}
127
- y={h * 0.56}
128
- width={w * 0.3}
129
- height={h * 0.28}
130
- rx={CORNER}
131
- fill={GLYPH_COLOR}
132
- />
133
- <Rect
134
- x={w * 0.46}
135
- y={h * 0.6}
136
- width={w * 0.44}
137
- height={h * 0.05}
138
- rx={CORNER}
139
- fill={GLYPH_COLOR}
140
- />
141
- <Rect
142
- x={w * 0.46}
143
- y={h * 0.7}
144
- width={w * 0.4}
145
- height={h * 0.05}
146
- rx={CORNER}
147
- fill={GLYPH_COLOR}
148
- />
149
- <Rect
150
- x={w * 0.46}
151
- y={h * 0.8}
152
- width={w * 0.3}
153
- height={h * 0.05}
154
- rx={CORNER}
155
- fill={GLYPH_COLOR}
156
- />
157
- </>
158
- )}
159
- </Svg>
160
- );
161
- },
162
- );
@@ -1,27 +0,0 @@
1
- import { View } from "react-native";
2
- import type { UseSmileIDTheme } from "../theme/theme";
3
- import { useUseSmileIDTheme } from "../theme/theme_context";
4
-
5
- export type UseSmileIDFaceSilhouetteOverlayProps = {
6
- readonly visible: boolean;
7
- readonly theme?: UseSmileIDTheme;
8
- };
9
-
10
- /**
11
- * Silhouette guide rendered inside the face oval during the
12
- * `INSTRUCTION` state — gives the user a visual hint of where to
13
- * place their face before the analyzer kicks in.
14
- *
15
- * **STUB.** Silhouette SVG / vector pending; current implementation
16
- * is an empty view.
17
- */
18
- export function UseSmileIDFaceSilhouetteOverlay(
19
- props: UseSmileIDFaceSilhouetteOverlayProps,
20
- ) {
21
- const themeFromContext = useUseSmileIDTheme();
22
- const theme = props.theme ?? themeFromContext;
23
- if (!props.visible) return null;
24
- return (
25
- <View style={{ opacity: 0.3, backgroundColor: theme.colors.stroke }} />
26
- );
27
- }