@incodetech/prizma-core-screens 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (497) hide show
  1. package/README.md +74 -0
  2. package/dist/CaptureOverlay.css +55 -0
  3. package/dist/CaptureOverlay.d.ts +34 -0
  4. package/dist/CaptureOverlay.js +32 -0
  5. package/dist/CaptureScreen.d.ts +51 -0
  6. package/dist/CaptureScreen.js +30 -0
  7. package/dist/CurpConfirmScreen.d.ts +33 -0
  8. package/dist/CurpConfirmScreen.js +29 -0
  9. package/dist/CurpEnterScreen.d.ts +51 -0
  10. package/dist/CurpEnterScreen.js +77 -0
  11. package/dist/CurpGenerateScreen.d.ts +47 -0
  12. package/dist/CurpGenerateScreen.js +57 -0
  13. package/dist/CurpLayout.css +92 -0
  14. package/dist/CurpProcessingScreen.d.ts +32 -0
  15. package/dist/CurpProcessingScreen.js +29 -0
  16. package/dist/CurpResultScreen.d.ts +37 -0
  17. package/dist/CurpResultScreen.js +36 -0
  18. package/dist/CurpStrings.d.ts +170 -0
  19. package/dist/CurpStrings.js +16 -0
  20. package/dist/DataSharingConsentConsentScreen.d.ts +73 -0
  21. package/dist/DataSharingConsentConsentScreen.js +120 -0
  22. package/dist/DataSharingConsentLayout.css +78 -0
  23. package/dist/DataSharingConsentStrings.d.ts +96 -0
  24. package/dist/DataSharingConsentStrings.js +38 -0
  25. package/dist/DemoScreensEndScreen.d.ts +33 -0
  26. package/dist/DemoScreensEndScreen.js +27 -0
  27. package/dist/DemoScreensStrings.d.ts +11 -0
  28. package/dist/DemoScreensStrings.js +19 -0
  29. package/dist/DocumentCaptureCaptureScreen.d.ts +53 -0
  30. package/dist/DocumentCaptureCaptureScreen.js +51 -0
  31. package/dist/DocumentCaptureCommonIssuesScreen.d.ts +32 -0
  32. package/dist/DocumentCaptureCommonIssuesScreen.js +45 -0
  33. package/dist/DocumentCaptureConfirmImageScreen.d.ts +38 -0
  34. package/dist/DocumentCaptureConfirmImageScreen.js +34 -0
  35. package/dist/DocumentCaptureConfirmUploadScreen.d.ts +43 -0
  36. package/dist/DocumentCaptureConfirmUploadScreen.js +29 -0
  37. package/dist/DocumentCaptureGenericErrorScreen.d.ts +36 -0
  38. package/dist/DocumentCaptureGenericErrorScreen.js +30 -0
  39. package/dist/DocumentCaptureIllustration.d.ts +45 -0
  40. package/dist/DocumentCaptureIllustration.js +7 -0
  41. package/dist/DocumentCaptureLayout.css +226 -0
  42. package/dist/DocumentCaptureMethodSelectionScreen.d.ts +45 -0
  43. package/dist/DocumentCaptureMethodSelectionScreen.js +70 -0
  44. package/dist/DocumentCaptureNextPageScreen.d.ts +33 -0
  45. package/dist/DocumentCaptureNextPageScreen.js +28 -0
  46. package/dist/DocumentCaptureNoConnectionScreen.d.ts +28 -0
  47. package/dist/DocumentCaptureNoConnectionScreen.js +29 -0
  48. package/dist/DocumentCaptureStrings.d.ts +158 -0
  49. package/dist/DocumentCaptureStrings.js +21 -0
  50. package/dist/DocumentCaptureTutorialScreen.d.ts +36 -0
  51. package/dist/DocumentCaptureTutorialScreen.js +27 -0
  52. package/dist/EkybAddressDetailsScreen.d.ts +61 -0
  53. package/dist/EkybAddressDetailsScreen.js +63 -0
  54. package/dist/EkybBusinessDetailsScreen.d.ts +55 -0
  55. package/dist/EkybBusinessDetailsScreen.js +57 -0
  56. package/dist/EkybCountryScreen.d.ts +52 -0
  57. package/dist/EkybCountryScreen.js +58 -0
  58. package/dist/EkybErrorScreen.d.ts +30 -0
  59. package/dist/EkybErrorScreen.js +24 -0
  60. package/dist/EkybOwnersScreen.d.ts +73 -0
  61. package/dist/EkybOwnersScreen.js +87 -0
  62. package/dist/EkybProcessingScreen.d.ts +28 -0
  63. package/dist/EkybProcessingScreen.js +22 -0
  64. package/dist/EkybStrings.d.ts +200 -0
  65. package/dist/EkybStrings.js +27 -0
  66. package/dist/EkybSuccessScreen.d.ts +28 -0
  67. package/dist/EkybSuccessScreen.js +22 -0
  68. package/dist/EkycDetailsScreen.d.ts +65 -0
  69. package/dist/EkycDetailsScreen.js +81 -0
  70. package/dist/EkycErrorScreen.d.ts +32 -0
  71. package/dist/EkycErrorScreen.js +26 -0
  72. package/dist/EkycLayout.css +39 -0
  73. package/dist/EkycLicenseScreen.d.ts +21 -0
  74. package/dist/EkycLicenseScreen.js +68 -0
  75. package/dist/EkycProcessingScreen.d.ts +26 -0
  76. package/dist/EkycProcessingScreen.js +20 -0
  77. package/dist/EkycStrings.d.ts +112 -0
  78. package/dist/EkycStrings.js +34 -0
  79. package/dist/EkycSuccessScreen.d.ts +29 -0
  80. package/dist/EkycSuccessScreen.js +23 -0
  81. package/dist/ElectronicSignatureDrawScreen.d.ts +57 -0
  82. package/dist/ElectronicSignatureDrawScreen.js +53 -0
  83. package/dist/ElectronicSignatureErrorScreen.d.ts +31 -0
  84. package/dist/ElectronicSignatureErrorScreen.js +25 -0
  85. package/dist/ElectronicSignatureLayout.css +80 -0
  86. package/dist/ElectronicSignatureReviewScreen.d.ts +51 -0
  87. package/dist/ElectronicSignatureReviewScreen.js +36 -0
  88. package/dist/ElectronicSignatureStrings.d.ts +50 -0
  89. package/dist/ElectronicSignatureStrings.js +12 -0
  90. package/dist/ElectronicSignatureSuccessScreen.d.ts +30 -0
  91. package/dist/ElectronicSignatureSuccessScreen.js +24 -0
  92. package/dist/EmailInputErrorScreen.d.ts +34 -0
  93. package/dist/EmailInputErrorScreen.js +28 -0
  94. package/dist/EmailInputOtpScreen.d.ts +56 -0
  95. package/dist/EmailInputOtpScreen.js +82 -0
  96. package/dist/EmailInputProcessingScreen.d.ts +29 -0
  97. package/dist/EmailInputProcessingScreen.js +23 -0
  98. package/dist/EmailInputStrings.d.ts +130 -0
  99. package/dist/EmailInputStrings.js +19 -0
  100. package/dist/EmailInputSuccessScreen.d.ts +37 -0
  101. package/dist/EmailInputSuccessScreen.js +31 -0
  102. package/dist/EmailInputVerifyScreen.d.ts +46 -0
  103. package/dist/EmailInputVerifyScreen.js +55 -0
  104. package/dist/ErrorScreensScreen.d.ts +62 -0
  105. package/dist/ErrorScreensScreen.js +71 -0
  106. package/dist/ErrorScreensStrings.d.ts +31 -0
  107. package/dist/ErrorScreensStrings.js +28 -0
  108. package/dist/FaceCaptureCapturingScreen.d.ts +32 -0
  109. package/dist/FaceCaptureCapturingScreen.js +53 -0
  110. package/dist/FaceCaptureLayout.css +18 -0
  111. package/dist/FaceCaptureLoadingScreen.d.ts +32 -0
  112. package/dist/FaceCaptureLoadingScreen.js +30 -0
  113. package/dist/FaceCaptureManualCaptureScreen.d.ts +32 -0
  114. package/dist/FaceCaptureManualCaptureScreen.js +27 -0
  115. package/dist/FaceCaptureNoConnectionScreen.d.ts +30 -0
  116. package/dist/FaceCaptureNoConnectionScreen.js +31 -0
  117. package/dist/FaceCaptureResultErrorScreen.d.ts +40 -0
  118. package/dist/FaceCaptureResultErrorScreen.js +32 -0
  119. package/dist/FaceCaptureResultSuccessScreen.d.ts +25 -0
  120. package/dist/FaceCaptureResultSuccessScreen.js +27 -0
  121. package/dist/FaceCaptureStrings.d.ts +62 -0
  122. package/dist/FaceCaptureStrings.js +14 -0
  123. package/dist/FaceCaptureTutorialScreen.d.ts +29 -0
  124. package/dist/FaceCaptureTutorialScreen.js +20 -0
  125. package/dist/FaceMatchComparisonCompactScreen.d.ts +26 -0
  126. package/dist/FaceMatchComparisonCompactScreen.js +24 -0
  127. package/dist/FaceMatchComparisonScreen.d.ts +80 -0
  128. package/dist/FaceMatchComparisonScreen.js +81 -0
  129. package/dist/FaceMatchLayout.css +264 -0
  130. package/dist/FaceMatchResultScreen.d.ts +50 -0
  131. package/dist/FaceMatchResultScreen.js +52 -0
  132. package/dist/FaceMatchStrings.d.ts +66 -0
  133. package/dist/FaceMatchStrings.js +21 -0
  134. package/dist/FormScreen.css +78 -0
  135. package/dist/FormScreen.d.ts +101 -0
  136. package/dist/FormScreen.js +36 -0
  137. package/dist/FormsChoiceScreen.d.ts +66 -0
  138. package/dist/FormsChoiceScreen.js +63 -0
  139. package/dist/FormsErrorScreen.d.ts +28 -0
  140. package/dist/FormsErrorScreen.js +22 -0
  141. package/dist/FormsFieldScreen.d.ts +66 -0
  142. package/dist/FormsFieldScreen.js +85 -0
  143. package/dist/FormsLayout.css +45 -0
  144. package/dist/FormsLongFormScreen.d.ts +70 -0
  145. package/dist/FormsLongFormScreen.js +149 -0
  146. package/dist/FormsStrings.d.ts +181 -0
  147. package/dist/FormsStrings.js +36 -0
  148. package/dist/FormsSuccessScreen.d.ts +32 -0
  149. package/dist/FormsSuccessScreen.js +26 -0
  150. package/dist/GeolocationBrowserStepsScreen.d.ts +56 -0
  151. package/dist/GeolocationBrowserStepsScreen.js +95 -0
  152. package/dist/GeolocationErrorScreen.d.ts +43 -0
  153. package/dist/GeolocationErrorScreen.js +56 -0
  154. package/dist/GeolocationIntroScreen.d.ts +49 -0
  155. package/dist/GeolocationIntroScreen.js +38 -0
  156. package/dist/GeolocationPermissionScreen.d.ts +38 -0
  157. package/dist/GeolocationPermissionScreen.js +30 -0
  158. package/dist/GeolocationStrings.d.ts +157 -0
  159. package/dist/GeolocationStrings.js +28 -0
  160. package/dist/IdCaptureAgeVerificationScreen.d.ts +25 -0
  161. package/dist/IdCaptureAgeVerificationScreen.js +38 -0
  162. package/dist/IdCaptureAnalyzingScreen.d.ts +41 -0
  163. package/dist/IdCaptureAnalyzingScreen.js +30 -0
  164. package/dist/IdCaptureCommonIssuesScreen.d.ts +31 -0
  165. package/dist/IdCaptureCommonIssuesScreen.js +49 -0
  166. package/dist/IdCaptureDocumentErrorScreen.d.ts +37 -0
  167. package/dist/IdCaptureDocumentErrorScreen.js +30 -0
  168. package/dist/IdCaptureDocumentSelectionScreen.d.ts +41 -0
  169. package/dist/IdCaptureDocumentSelectionScreen.js +49 -0
  170. package/dist/IdCaptureFlipScreen.d.ts +31 -0
  171. package/dist/IdCaptureFlipScreen.js +26 -0
  172. package/dist/IdCaptureHoldOnScreen.d.ts +28 -0
  173. package/dist/IdCaptureHoldOnScreen.js +22 -0
  174. package/dist/IdCaptureLayout.css +111 -0
  175. package/dist/IdCaptureNoConnectionScreen.d.ts +28 -0
  176. package/dist/IdCaptureNoConnectionScreen.js +29 -0
  177. package/dist/IdCapturePermissionScreen.d.ts +34 -0
  178. package/dist/IdCapturePermissionScreen.js +45 -0
  179. package/dist/IdCaptureResultScreen.d.ts +59 -0
  180. package/dist/IdCaptureResultScreen.js +89 -0
  181. package/dist/IdCaptureStageScreen.d.ts +69 -0
  182. package/dist/IdCaptureStageScreen.js +88 -0
  183. package/dist/IdCaptureStrings.d.ts +199 -0
  184. package/dist/IdCaptureStrings.js +15 -0
  185. package/dist/IdCaptureTutorialScreen.d.ts +36 -0
  186. package/dist/IdCaptureTutorialScreen.js +30 -0
  187. package/dist/ListScreen.d.ts +95 -0
  188. package/dist/ListScreen.js +46 -0
  189. package/dist/LoaderScreen.d.ts +32 -0
  190. package/dist/LoaderScreen.js +27 -0
  191. package/dist/LoadersStrings.d.ts +20 -0
  192. package/dist/LoadersStrings.js +16 -0
  193. package/dist/NfcCommonIssuesScreen.d.ts +35 -0
  194. package/dist/NfcCommonIssuesScreen.js +48 -0
  195. package/dist/NfcErrorScreen.d.ts +41 -0
  196. package/dist/NfcErrorScreen.js +27 -0
  197. package/dist/NfcLayout.css +36 -0
  198. package/dist/NfcProcessingScreen.d.ts +28 -0
  199. package/dist/NfcProcessingScreen.js +22 -0
  200. package/dist/NfcScanningScreen.d.ts +66 -0
  201. package/dist/NfcScanningScreen.js +61 -0
  202. package/dist/NfcSettingsScreen.d.ts +53 -0
  203. package/dist/NfcSettingsScreen.js +57 -0
  204. package/dist/NfcStrings.d.ts +112 -0
  205. package/dist/NfcStrings.js +7 -0
  206. package/dist/NfcSuccessScreen.d.ts +28 -0
  207. package/dist/NfcSuccessScreen.js +22 -0
  208. package/dist/NfcSymbolScreen.d.ts +39 -0
  209. package/dist/NfcSymbolScreen.js +32 -0
  210. package/dist/NfcTryAgainScreen.d.ts +53 -0
  211. package/dist/NfcTryAgainScreen.js +45 -0
  212. package/dist/NfcTutorialScreen.d.ts +33 -0
  213. package/dist/NfcTutorialScreen.js +24 -0
  214. package/dist/PermissionsAllowScreen.d.ts +44 -0
  215. package/dist/PermissionsAllowScreen.js +38 -0
  216. package/dist/PermissionsBrowserStepsScreen.d.ts +42 -0
  217. package/dist/PermissionsBrowserStepsScreen.js +86 -0
  218. package/dist/PermissionsRequiredScreen.d.ts +37 -0
  219. package/dist/PermissionsRequiredScreen.js +51 -0
  220. package/dist/PermissionsStrings.d.ts +70 -0
  221. package/dist/PermissionsStrings.js +36 -0
  222. package/dist/PhoneInputErrorScreen.d.ts +37 -0
  223. package/dist/PhoneInputErrorScreen.js +47 -0
  224. package/dist/PhoneInputLayout.css +61 -0
  225. package/dist/PhoneInputOtpScreen.d.ts +37 -0
  226. package/dist/PhoneInputOtpScreen.js +44 -0
  227. package/dist/PhoneInputSnaLoadingScreen.d.ts +23 -0
  228. package/dist/PhoneInputSnaLoadingScreen.js +17 -0
  229. package/dist/PhoneInputStrings.d.ts +121 -0
  230. package/dist/PhoneInputStrings.js +13 -0
  231. package/dist/PhoneInputSuccessScreen.d.ts +23 -0
  232. package/dist/PhoneInputSuccessScreen.js +17 -0
  233. package/dist/PhoneInputVerifyScreen.d.ts +41 -0
  234. package/dist/PhoneInputVerifyScreen.js +71 -0
  235. package/dist/ProcessingScreen.d.ts +42 -0
  236. package/dist/ProcessingScreen.js +21 -0
  237. package/dist/QualifiedSignatureAcceptScreen.d.ts +71 -0
  238. package/dist/QualifiedSignatureAcceptScreen.js +86 -0
  239. package/dist/QualifiedSignatureDocumentScreen.d.ts +62 -0
  240. package/dist/QualifiedSignatureDocumentScreen.js +56 -0
  241. package/dist/QualifiedSignatureLayout.css +206 -0
  242. package/dist/QualifiedSignatureProcessingScreen.d.ts +46 -0
  243. package/dist/QualifiedSignatureProcessingScreen.js +48 -0
  244. package/dist/QualifiedSignatureResultScreen.d.ts +65 -0
  245. package/dist/QualifiedSignatureResultScreen.js +76 -0
  246. package/dist/QualifiedSignatureReviewScreen.d.ts +49 -0
  247. package/dist/QualifiedSignatureReviewScreen.js +40 -0
  248. package/dist/QualifiedSignatureStrings.d.ts +222 -0
  249. package/dist/QualifiedSignatureStrings.js +25 -0
  250. package/dist/QualifiedSignatureUploadScreen.d.ts +42 -0
  251. package/dist/QualifiedSignatureUploadScreen.js +35 -0
  252. package/dist/ResultScreen.d.ts +93 -0
  253. package/dist/ResultScreen.js +37 -0
  254. package/dist/ReviewScreen.d.ts +81 -0
  255. package/dist/ReviewScreen.js +56 -0
  256. package/dist/ScreenLayout.css +469 -0
  257. package/dist/ScreenNav.css +43 -0
  258. package/dist/ScreenNav.d.ts +26 -0
  259. package/dist/ScreenNav.js +13 -0
  260. package/dist/ScreenShell.css +130 -0
  261. package/dist/ScreenShell.d.ts +45 -0
  262. package/dist/ScreenShell.js +22 -0
  263. package/dist/TutorialScreen.d.ts +70 -0
  264. package/dist/TutorialScreen.js +24 -0
  265. package/dist/VideoSelfieCameraStepsScreen.d.ts +47 -0
  266. package/dist/VideoSelfieCameraStepsScreen.js +56 -0
  267. package/dist/VideoSelfieErrorScreen.d.ts +63 -0
  268. package/dist/VideoSelfieErrorScreen.js +94 -0
  269. package/dist/VideoSelfieFlipCameraScreen.d.ts +34 -0
  270. package/dist/VideoSelfieFlipCameraScreen.js +38 -0
  271. package/dist/VideoSelfieFlipIdScreen.d.ts +34 -0
  272. package/dist/VideoSelfieFlipIdScreen.js +29 -0
  273. package/dist/VideoSelfieIdCaptureScreen.d.ts +75 -0
  274. package/dist/VideoSelfieIdCaptureScreen.js +86 -0
  275. package/dist/VideoSelfieLayout.css +259 -0
  276. package/dist/VideoSelfiePermissionRequiredScreen.d.ts +35 -0
  277. package/dist/VideoSelfiePermissionRequiredScreen.js +45 -0
  278. package/dist/VideoSelfiePermissionScreen.d.ts +51 -0
  279. package/dist/VideoSelfiePermissionScreen.js +44 -0
  280. package/dist/VideoSelfieProcessingScreen.d.ts +28 -0
  281. package/dist/VideoSelfieProcessingScreen.js +22 -0
  282. package/dist/VideoSelfieRetryScreen.d.ts +31 -0
  283. package/dist/VideoSelfieRetryScreen.js +32 -0
  284. package/dist/VideoSelfieSelfieCaptureScreen.d.ts +52 -0
  285. package/dist/VideoSelfieSelfieCaptureScreen.js +58 -0
  286. package/dist/VideoSelfieSpeakScreen.d.ts +64 -0
  287. package/dist/VideoSelfieSpeakScreen.js +95 -0
  288. package/dist/VideoSelfieStrings.d.ts +196 -0
  289. package/dist/VideoSelfieStrings.js +14 -0
  290. package/dist/VideoSelfieSuccessScreen.d.ts +25 -0
  291. package/dist/VideoSelfieSuccessScreen.js +19 -0
  292. package/dist/VideoSelfieTutorialScreen.d.ts +33 -0
  293. package/dist/VideoSelfieTutorialScreen.js +41 -0
  294. package/dist/ViewfinderScreen.css +107 -0
  295. package/dist/ViewfinderScreen.d.ts +40 -0
  296. package/dist/ViewfinderScreen.js +26 -0
  297. package/dist/WatchlistBusinessFormScreen.d.ts +61 -0
  298. package/dist/WatchlistBusinessFormScreen.js +85 -0
  299. package/dist/WatchlistBusinessProcessingScreen.d.ts +25 -0
  300. package/dist/WatchlistBusinessProcessingScreen.js +19 -0
  301. package/dist/WatchlistBusinessStrings.d.ts +95 -0
  302. package/dist/WatchlistBusinessStrings.js +19 -0
  303. package/dist/WatchlistBusinessSuccessScreen.d.ts +29 -0
  304. package/dist/WatchlistBusinessSuccessScreen.js +23 -0
  305. package/dist/flows.d.ts +216 -0
  306. package/dist/flows.js +516 -0
  307. package/dist/index.d.ts +145 -0
  308. package/dist/index.js +130 -0
  309. package/dist/styles.css +33 -0
  310. package/dist/types.d.ts +56 -0
  311. package/dist/types.js +8 -0
  312. package/package.json +689 -0
  313. package/samples/camera-surface.png +0 -0
  314. package/samples/document-still.png +0 -0
  315. package/samples/document-thumbnail.png +0 -0
  316. package/samples/face-match-bottom.png +0 -0
  317. package/samples/face-match-left.png +0 -0
  318. package/samples/face-match-right.png +0 -0
  319. package/samples/id-back-blur.png +0 -0
  320. package/samples/id-back-dark.png +0 -0
  321. package/samples/id-back-glare.png +0 -0
  322. package/samples/id-back.png +0 -0
  323. package/samples/id-front-blur.png +0 -0
  324. package/samples/id-front-dark.png +0 -0
  325. package/samples/id-front-glare.png +0 -0
  326. package/samples/id-front.png +0 -0
  327. package/samples/id-passport.png +0 -0
  328. package/samples/selfie-glasses.png +0 -0
  329. package/samples/selfie-hat.png +0 -0
  330. package/samples/selfie-mask.png +0 -0
  331. package/samples/selfie.png +0 -0
  332. package/samples/video-selfie-camera.png +0 -0
  333. package/src/CaptureOverlay.css +55 -0
  334. package/src/CaptureOverlay.tsx +56 -0
  335. package/src/CaptureScreen.tsx +121 -0
  336. package/src/CurpConfirmScreen.tsx +75 -0
  337. package/src/CurpEnterScreen.tsx +149 -0
  338. package/src/CurpGenerateScreen.tsx +172 -0
  339. package/src/CurpLayout.css +92 -0
  340. package/src/CurpProcessingScreen.tsx +75 -0
  341. package/src/CurpResultScreen.tsx +80 -0
  342. package/src/CurpStrings.ts +178 -0
  343. package/src/DataSharingConsentConsentScreen.tsx +223 -0
  344. package/src/DataSharingConsentLayout.css +78 -0
  345. package/src/DataSharingConsentStrings.ts +144 -0
  346. package/src/DemoScreensEndScreen.tsx +56 -0
  347. package/src/DemoScreensStrings.ts +31 -0
  348. package/src/DocumentCaptureCaptureScreen.tsx +135 -0
  349. package/src/DocumentCaptureCommonIssuesScreen.tsx +97 -0
  350. package/src/DocumentCaptureConfirmImageScreen.tsx +112 -0
  351. package/src/DocumentCaptureConfirmUploadScreen.tsx +113 -0
  352. package/src/DocumentCaptureGenericErrorScreen.tsx +82 -0
  353. package/src/DocumentCaptureIllustration.tsx +153 -0
  354. package/src/DocumentCaptureLayout.css +226 -0
  355. package/src/DocumentCaptureMethodSelectionScreen.tsx +151 -0
  356. package/src/DocumentCaptureNextPageScreen.tsx +82 -0
  357. package/src/DocumentCaptureNoConnectionScreen.tsx +77 -0
  358. package/src/DocumentCaptureStrings.ts +192 -0
  359. package/src/DocumentCaptureTutorialScreen.tsx +79 -0
  360. package/src/EkybAddressDetailsScreen.tsx +200 -0
  361. package/src/EkybBusinessDetailsScreen.tsx +147 -0
  362. package/src/EkybCountryScreen.tsx +124 -0
  363. package/src/EkybErrorScreen.tsx +61 -0
  364. package/src/EkybOwnersScreen.tsx +230 -0
  365. package/src/EkybProcessingScreen.tsx +57 -0
  366. package/src/EkybStrings.ts +239 -0
  367. package/src/EkybSuccessScreen.tsx +54 -0
  368. package/src/EkycDetailsScreen.tsx +178 -0
  369. package/src/EkycErrorScreen.tsx +64 -0
  370. package/src/EkycLayout.css +39 -0
  371. package/src/EkycLicenseScreen.tsx +164 -0
  372. package/src/EkycProcessingScreen.tsx +60 -0
  373. package/src/EkycStrings.ts +157 -0
  374. package/src/EkycSuccessScreen.tsx +63 -0
  375. package/src/ElectronicSignatureDrawScreen.tsx +127 -0
  376. package/src/ElectronicSignatureErrorScreen.tsx +74 -0
  377. package/src/ElectronicSignatureLayout.css +80 -0
  378. package/src/ElectronicSignatureReviewScreen.tsx +106 -0
  379. package/src/ElectronicSignatureStrings.ts +67 -0
  380. package/src/ElectronicSignatureSuccessScreen.tsx +67 -0
  381. package/src/EmailInputErrorScreen.tsx +67 -0
  382. package/src/EmailInputOtpScreen.tsx +169 -0
  383. package/src/EmailInputProcessingScreen.tsx +67 -0
  384. package/src/EmailInputStrings.ts +166 -0
  385. package/src/EmailInputSuccessScreen.tsx +72 -0
  386. package/src/EmailInputVerifyScreen.tsx +117 -0
  387. package/src/ErrorScreensScreen.tsx +149 -0
  388. package/src/ErrorScreensStrings.ts +66 -0
  389. package/src/FaceCaptureCapturingScreen.tsx +99 -0
  390. package/src/FaceCaptureLayout.css +18 -0
  391. package/src/FaceCaptureLoadingScreen.tsx +65 -0
  392. package/src/FaceCaptureManualCaptureScreen.tsx +94 -0
  393. package/src/FaceCaptureNoConnectionScreen.tsx +73 -0
  394. package/src/FaceCaptureResultErrorScreen.tsx +86 -0
  395. package/src/FaceCaptureResultSuccessScreen.tsx +49 -0
  396. package/src/FaceCaptureStrings.ts +92 -0
  397. package/src/FaceCaptureTutorialScreen.tsx +77 -0
  398. package/src/FaceMatchComparisonCompactScreen.tsx +51 -0
  399. package/src/FaceMatchComparisonScreen.tsx +201 -0
  400. package/src/FaceMatchLayout.css +264 -0
  401. package/src/FaceMatchResultScreen.tsx +117 -0
  402. package/src/FaceMatchStrings.ts +95 -0
  403. package/src/FormScreen.css +78 -0
  404. package/src/FormScreen.tsx +213 -0
  405. package/src/FormsChoiceScreen.tsx +150 -0
  406. package/src/FormsErrorScreen.tsx +61 -0
  407. package/src/FormsFieldScreen.tsx +198 -0
  408. package/src/FormsLayout.css +45 -0
  409. package/src/FormsLongFormScreen.tsx +295 -0
  410. package/src/FormsStrings.ts +243 -0
  411. package/src/FormsSuccessScreen.tsx +67 -0
  412. package/src/GeolocationBrowserStepsScreen.tsx +173 -0
  413. package/src/GeolocationErrorScreen.tsx +113 -0
  414. package/src/GeolocationIntroScreen.tsx +100 -0
  415. package/src/GeolocationPermissionScreen.tsx +88 -0
  416. package/src/GeolocationStrings.ts +193 -0
  417. package/src/IdCaptureAgeVerificationScreen.tsx +84 -0
  418. package/src/IdCaptureAnalyzingScreen.tsx +94 -0
  419. package/src/IdCaptureCommonIssuesScreen.tsx +109 -0
  420. package/src/IdCaptureDocumentErrorScreen.tsx +92 -0
  421. package/src/IdCaptureDocumentSelectionScreen.tsx +100 -0
  422. package/src/IdCaptureFlipScreen.tsx +66 -0
  423. package/src/IdCaptureHoldOnScreen.tsx +51 -0
  424. package/src/IdCaptureLayout.css +111 -0
  425. package/src/IdCaptureNoConnectionScreen.tsx +68 -0
  426. package/src/IdCapturePermissionScreen.tsx +102 -0
  427. package/src/IdCaptureResultScreen.tsx +197 -0
  428. package/src/IdCaptureStageScreen.tsx +241 -0
  429. package/src/IdCaptureStrings.ts +228 -0
  430. package/src/IdCaptureTutorialScreen.tsx +99 -0
  431. package/src/ListScreen.tsx +213 -0
  432. package/src/LoaderScreen.tsx +69 -0
  433. package/src/LoadersStrings.ts +38 -0
  434. package/src/NfcCommonIssuesScreen.tsx +104 -0
  435. package/src/NfcErrorScreen.tsx +83 -0
  436. package/src/NfcLayout.css +36 -0
  437. package/src/NfcProcessingScreen.tsx +57 -0
  438. package/src/NfcScanningScreen.tsx +127 -0
  439. package/src/NfcSettingsScreen.tsx +124 -0
  440. package/src/NfcStrings.ts +127 -0
  441. package/src/NfcSuccessScreen.tsx +56 -0
  442. package/src/NfcSymbolScreen.tsx +85 -0
  443. package/src/NfcTryAgainScreen.tsx +114 -0
  444. package/src/NfcTutorialScreen.tsx +76 -0
  445. package/src/PermissionsAllowScreen.tsx +90 -0
  446. package/src/PermissionsBrowserStepsScreen.tsx +158 -0
  447. package/src/PermissionsRequiredScreen.tsx +118 -0
  448. package/src/PermissionsStrings.ts +129 -0
  449. package/src/PhoneInputErrorScreen.tsx +104 -0
  450. package/src/PhoneInputLayout.css +61 -0
  451. package/src/PhoneInputOtpScreen.tsx +126 -0
  452. package/src/PhoneInputSnaLoadingScreen.tsx +61 -0
  453. package/src/PhoneInputStrings.ts +136 -0
  454. package/src/PhoneInputSuccessScreen.tsx +56 -0
  455. package/src/PhoneInputVerifyScreen.tsx +153 -0
  456. package/src/ProcessingScreen.tsx +97 -0
  457. package/src/QualifiedSignatureAcceptScreen.tsx +198 -0
  458. package/src/QualifiedSignatureDocumentScreen.tsx +124 -0
  459. package/src/QualifiedSignatureLayout.css +206 -0
  460. package/src/QualifiedSignatureProcessingScreen.tsx +112 -0
  461. package/src/QualifiedSignatureResultScreen.tsx +146 -0
  462. package/src/QualifiedSignatureReviewScreen.tsx +113 -0
  463. package/src/QualifiedSignatureStrings.ts +256 -0
  464. package/src/QualifiedSignatureUploadScreen.tsx +81 -0
  465. package/src/ResultScreen.tsx +211 -0
  466. package/src/ReviewScreen.tsx +196 -0
  467. package/src/ScreenLayout.css +469 -0
  468. package/src/ScreenNav.css +43 -0
  469. package/src/ScreenNav.tsx +46 -0
  470. package/src/ScreenShell.css +130 -0
  471. package/src/ScreenShell.tsx +66 -0
  472. package/src/TutorialScreen.tsx +166 -0
  473. package/src/VideoSelfieCameraStepsScreen.tsx +145 -0
  474. package/src/VideoSelfieErrorScreen.tsx +168 -0
  475. package/src/VideoSelfieFlipCameraScreen.tsx +88 -0
  476. package/src/VideoSelfieFlipIdScreen.tsx +74 -0
  477. package/src/VideoSelfieIdCaptureScreen.tsx +213 -0
  478. package/src/VideoSelfieLayout.css +259 -0
  479. package/src/VideoSelfiePermissionRequiredScreen.tsx +104 -0
  480. package/src/VideoSelfiePermissionScreen.tsx +102 -0
  481. package/src/VideoSelfieProcessingScreen.tsx +68 -0
  482. package/src/VideoSelfieRetryScreen.tsx +92 -0
  483. package/src/VideoSelfieSelfieCaptureScreen.tsx +122 -0
  484. package/src/VideoSelfieSpeakScreen.tsx +237 -0
  485. package/src/VideoSelfieStrings.ts +222 -0
  486. package/src/VideoSelfieSuccessScreen.tsx +64 -0
  487. package/src/VideoSelfieTutorialScreen.tsx +129 -0
  488. package/src/ViewfinderScreen.css +107 -0
  489. package/src/ViewfinderScreen.tsx +113 -0
  490. package/src/WatchlistBusinessFormScreen.tsx +176 -0
  491. package/src/WatchlistBusinessProcessingScreen.tsx +63 -0
  492. package/src/WatchlistBusinessStrings.ts +121 -0
  493. package/src/WatchlistBusinessSuccessScreen.tsx +67 -0
  494. package/src/flows.ts +711 -0
  495. package/src/index.ts +591 -0
  496. package/src/styles.css +33 -0
  497. package/src/types.ts +69 -0
@@ -0,0 +1,75 @@
1
+ import React, { type ReactNode } from 'react';
2
+ import { type PrizmaScreenShellProps } from './ScreenShell';
3
+ import type { PrizmaScreenActionHandler, PrizmaScreenOverrides } from './types';
4
+ import type { VideoSelfieDocumentType, VideoSelfieIdErrorSeverity, VideoSelfieIdSide, VideoSelfieStrings } from './VideoSelfieStrings';
5
+ import './ScreenLayout.css';
6
+ import './ViewfinderScreen.css';
7
+ import './VideoSelfieLayout.css';
8
+ /** Which purple stage section to render (groups 3, 5 and 6). */
9
+ export type VideoSelfieIdCaptureState = 'default' | 'shown' | 'processing' | 'allGood' | 'error';
10
+ export interface VideoSelfieIdCaptureScreenProps extends Omit<PrizmaScreenShellProps, 'dark' | 'title' | 'children'> {
11
+ /** Module copy — this screen reads the `idCapture` slice (+ shared labels). */
12
+ strings: VideoSelfieStrings;
13
+ /** Which face of the document. Drives the stepper beat only — the frame
14
+ * geometry is identical (Figma draws no title on these sections). */
15
+ side?: VideoSelfieIdSide;
16
+ /** Which document the journey collects — Core `PrizmaIdCapture.type` and the
17
+ * Stepper's own `documentType`. Default `id`. */
18
+ documentType?: VideoSelfieDocumentType;
19
+ /** Which purple stage section to render. Default `default`. */
20
+ state?: VideoSelfieIdCaptureState;
21
+ /** Whether the rejection invites a retry (`6.1`/`6.3`) or is terminal
22
+ * (`6.2`/`6.4`). Read only when `state="error"`. */
23
+ errorSeverity?: VideoSelfieIdErrorSeverity;
24
+ /** Live camera feed (<video>) or sample still (<img>) behind the frame. */
25
+ camera?: ReactNode;
26
+ /** The captured document still, for the states Core draws one in. */
27
+ still?: ReactNode;
28
+ screenId?: string;
29
+ overrides?: PrizmaScreenOverrides;
30
+ onAction?: PrizmaScreenActionHandler;
31
+ }
32
+ /**
33
+ * Video Selfie — the document stage (Archetype D, GUIDELINES.md §6-D; always
34
+ * dark). ONE screen for TWELVE purple sections: `id capture front 3.0–3.3`,
35
+ * `id capture back 5.0–5.3` and every `id capture … errors 6.1–6.4` variant.
36
+ * They are `side` × `state` × `errorSeverity` variants of Core's
37
+ * `PrizmaIdCapture`, which is exactly how the component is axed.
38
+ *
39
+ * Composed like `IdCaptureStageScreen` / `DocumentCaptureCaptureScreen`: the
40
+ * feed runs full-bleed on `.prizma-viewfinder__surface` and
41
+ * `mode="overlay" scrim` cuts a transparent window through the veil, so Core
42
+ * owns the window, the tokenized scrim, the four border treatments, the
43
+ * analyzing sweep and the encrypted row. None of it is re-implemented (§7).
44
+ *
45
+ * Two things this module's Figma does that the foundation does not model, both
46
+ * reported rather than silently reshaped:
47
+ *
48
+ * - **The journey stepper.** Every camera section draws Core's `PrizmaStepper`
49
+ * in the band the logo nav normally occupies, and it is the ONLY difference
50
+ * between `3.0` and `5.0` — drop it and the front and back defaults render
51
+ * identically. No archetype has a slot for it. This screen owns its whole
52
+ * composition (archetype D is a recipe, not a component), so the band lives
53
+ * in `VideoSelfieLayout.css` and carries the foundation's own
54
+ * `--pcs-status-bar` reserve — no new number. The archetype-based screens of
55
+ * this module ship WITHOUT the stepper rather than growing a second copy.
56
+ *
57
+ * - **The status card.** Figma floats a dark rounded card OVER the document
58
+ * ("Processing…", "All good!", "Name verification failed, try again"). Core
59
+ * ships no such container, and inventing one is forbidden (rule 1), so the
60
+ * message rides in the band UNDER the frame using Core's own parts — the
61
+ * `PrizmaLoadingSpinner` for the in-flight beat and `PrizmaSnackbar`
62
+ * (`success` / `error`) for the verdicts. Core's frame border already carries
63
+ * the verdict colour, so nothing is lost but the overlap.
64
+ *
65
+ * No logo and NO encrypted row (the verified tag IS kept — capture screens drop only the logo, #VS-3): all twenty-four sections draw
66
+ * nothing at all between the bottom of the document frame and the bottom of the
67
+ * screen (GUIDELINES §1 — follow the module's section, not the default). Core's
68
+ * `showEncryptedLabel` is therefore pinned `false`: it is a `PrizmaIdCapture`
69
+ * default that other modules' Figma does draw, and leaving it on painted a lock
70
+ * + "All data is encrypted" row on every state of this stage. The label was
71
+ * dropped from `VideoSelfieStrings` with it — no other screen in the module
72
+ * reads one.
73
+ */
74
+ export declare const VideoSelfieIdCaptureScreen: React.ForwardRefExoticComponent<VideoSelfieIdCaptureScreenProps & React.RefAttributes<HTMLDivElement>>;
75
+ export default VideoSelfieIdCaptureScreen;
@@ -0,0 +1,86 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { forwardRef } from 'react';
4
+ import { PrizmaIdCapture, } from '@incodetech/prizma-core-web/id-capture';
5
+ import { PrizmaLoadingSpinner } from '@incodetech/prizma-core-web/loading-spinner';
6
+ import { PrizmaSnackbar } from '@incodetech/prizma-core-web/snackbar';
7
+ import { PrizmaStepper } from '@incodetech/prizma-core-web/stepper';
8
+ import { PrizmaTag } from '@incodetech/prizma-core-web/tag';
9
+ import { PrizmaScreenShell } from './ScreenShell';
10
+ import './ScreenLayout.css';
11
+ import './ViewfinderScreen.css';
12
+ import './VideoSelfieLayout.css';
13
+ /** Purple stage state → Core `PrizmaIdCapture` state. The frame border, the
14
+ * analyzing sweep, the scrim and the encrypted row are ALL Core's. */
15
+ const CAPTURE_STATE = {
16
+ default: 'empty',
17
+ shown: 'filled',
18
+ processing: 'analyzing',
19
+ allGood: 'success',
20
+ error: 'error',
21
+ };
22
+ /** Which beat of the seven-step journey each side occupies — front is step 2
23
+ * (the microphone grant is step 1), back is step 3. */
24
+ const STEP = { front: 2, back: 3 };
25
+ /**
26
+ * Video Selfie — the document stage (Archetype D, GUIDELINES.md §6-D; always
27
+ * dark). ONE screen for TWELVE purple sections: `id capture front 3.0–3.3`,
28
+ * `id capture back 5.0–5.3` and every `id capture … errors 6.1–6.4` variant.
29
+ * They are `side` × `state` × `errorSeverity` variants of Core's
30
+ * `PrizmaIdCapture`, which is exactly how the component is axed.
31
+ *
32
+ * Composed like `IdCaptureStageScreen` / `DocumentCaptureCaptureScreen`: the
33
+ * feed runs full-bleed on `.prizma-viewfinder__surface` and
34
+ * `mode="overlay" scrim` cuts a transparent window through the veil, so Core
35
+ * owns the window, the tokenized scrim, the four border treatments, the
36
+ * analyzing sweep and the encrypted row. None of it is re-implemented (§7).
37
+ *
38
+ * Two things this module's Figma does that the foundation does not model, both
39
+ * reported rather than silently reshaped:
40
+ *
41
+ * - **The journey stepper.** Every camera section draws Core's `PrizmaStepper`
42
+ * in the band the logo nav normally occupies, and it is the ONLY difference
43
+ * between `3.0` and `5.0` — drop it and the front and back defaults render
44
+ * identically. No archetype has a slot for it. This screen owns its whole
45
+ * composition (archetype D is a recipe, not a component), so the band lives
46
+ * in `VideoSelfieLayout.css` and carries the foundation's own
47
+ * `--pcs-status-bar` reserve — no new number. The archetype-based screens of
48
+ * this module ship WITHOUT the stepper rather than growing a second copy.
49
+ *
50
+ * - **The status card.** Figma floats a dark rounded card OVER the document
51
+ * ("Processing…", "All good!", "Name verification failed, try again"). Core
52
+ * ships no such container, and inventing one is forbidden (rule 1), so the
53
+ * message rides in the band UNDER the frame using Core's own parts — the
54
+ * `PrizmaLoadingSpinner` for the in-flight beat and `PrizmaSnackbar`
55
+ * (`success` / `error`) for the verdicts. Core's frame border already carries
56
+ * the verdict colour, so nothing is lost but the overlap.
57
+ *
58
+ * No logo and NO encrypted row (the verified tag IS kept — capture screens drop only the logo, #VS-3): all twenty-four sections draw
59
+ * nothing at all between the bottom of the document frame and the bottom of the
60
+ * screen (GUIDELINES §1 — follow the module's section, not the default). Core's
61
+ * `showEncryptedLabel` is therefore pinned `false`: it is a `PrizmaIdCapture`
62
+ * default that other modules' Figma does draw, and leaving it on painted a lock
63
+ * + "All data is encrypted" row on every state of this stage. The label was
64
+ * dropped from `VideoSelfieStrings` with it — no other screen in the module
65
+ * reads one.
66
+ */
67
+ export const VideoSelfieIdCaptureScreen = forwardRef(({ strings, side = 'front', documentType = 'id', state = 'default', errorSeverity = 'tryAgain', camera, still, screenId = `video-selfie-id-capture-${side}-${state}`, overrides, onAction, className, ...shell }, ref) => {
68
+ const errorLabel = strings.idCapture.errors[errorSeverity];
69
+ return (_jsxs(PrizmaScreenShell, { ref: ref, dark: true, className: className, ...shell, children: [_jsx("div", { className: "prizma-viewfinder__surface", children: camera }), _jsx("div", { className: "video-selfie-stepper", children: _jsx(PrizmaStepper, { steps: 7, currentState: STEP[side], documentType: documentType, completedValueText: strings.stepperCompletedLabel }) }), _jsxs("div", { className: [
70
+ 'prizma-viewfinder__content',
71
+ overrides?.align === 'left' ? 'prizma-viewfinder__content--left' : '',
72
+ ]
73
+ .filter(Boolean)
74
+ .join(' '), children: [_jsx("div", { className: "video-selfie-band" }), _jsx(PrizmaIdCapture, { type: documentType, state: CAPTURE_STATE[state], isVertical: true, mode: "overlay", scrim: true, showEncryptedLabel: false, still: still }), state === 'processing' ? (_jsx("div", { className: "video-selfie-stage-status", children: _jsx(PrizmaLoadingSpinner, { showTitle: true, titleText: strings.idCapture.processingLabel, loadingLabel: strings.idCapture.processingLabel }) })) : null, state === 'allGood' || state === 'error' ? (_jsx("div", { className: "video-selfie-stage-status", children: state === 'allGood' ? (_jsx(PrizmaSnackbar, { state: "success", role: "status", children: strings.idCapture.successLabel })) : (
75
+ /* NOT `isMultiline`: that modifier switches the row to
76
+ `align-items: flex-start` so an icon anchors to the top of
77
+ WRAPPED text. The rejection copy renders on ONE line, so it
78
+ only pushed the icon 6.9px below the text centre
79
+ (owner-reported 2026-08-19: "the text is not even aligned to
80
+ the icon"). CORE REQUEST: have the Snackbar follow actual
81
+ wrapping rather than a prop the caller has to predict.
82
+ DEVIATIONS #VS-9. */
83
+ _jsx(PrizmaSnackbar, { state: "error", role: "alert", children: errorLabel })) })) : null] }), _jsx("div", { className: "prizma-screen-layout__footer", children: _jsx(PrizmaTag, { label: strings.verifiedLabel }) })] }));
84
+ });
85
+ VideoSelfieIdCaptureScreen.displayName = 'VideoSelfieIdCaptureScreen';
86
+ export default VideoSelfieIdCaptureScreen;
@@ -0,0 +1,259 @@
1
+ /* Video Selfie — module layout additions.
2
+ *
3
+ * ONLY what the foundation archetypes do not already own, and nothing that
4
+ * re-declares an archetype offset. Every value is a token; each departure from
5
+ * GUIDELINES.md is reported back to the owner (see the module's screen files
6
+ * and the agent's `archetypeGaps` report).
7
+ *
8
+ * The module's structural discovery is that EVERY camera screen in the flow —
9
+ * the two document stages, the liveness ring, the two spoken steps and two of
10
+ * the generic errors — draws Core's `PrizmaStepper` in the band the logo nav
11
+ * normally occupies. No archetype has a slot for it (reported), so the three
12
+ * screens whose whole composition this module owns (the document stage and the
13
+ * spoken step) carry the band here.
14
+ */
15
+
16
+ /* ── Journey stepper band ────────────────────────────────────────────────────
17
+ * Figma draws the Stepper as the first thing under the OS status bar — no logo
18
+ * row above it (`top content` frame, y=54, the Stepper 342 wide at x=24 on
19
+ * every section). The status-bar reserve is NOT a new number: it is the
20
+ * foundation's own `--pcs-status-bar` custom property, the same one
21
+ * `ScreenNav.css` and `ScreenLayout.css`'s `--no-nav` variant read, so a host
22
+ * that draws its own chrome still overrides it in one place.
23
+ *
24
+ * The horizontal inset is the content column's own Spacing/24 gutter — these
25
+ * screens have no `.prizma-screen-layout__content` wrapper (they are camera
26
+ * surfaces), so the band carries the same gutter Core's stage sits in.
27
+ *
28
+ * REPORTED: archetypes B (Capture), C (Processing), F (Result) and G (List)
29
+ * need a `stepper` slot in their nav band so the rest of the module's screens
30
+ * can draw it too. Nothing is worked around here — those screens ship WITHOUT
31
+ * the stepper rather than hand-rolling a second copy of this band. */
32
+ .video-selfie-stepper {
33
+ flex-shrink: 0;
34
+ /* Above PrizmaIdCapture's overlay scrim, which is an absolutely positioned
35
+ * box-shadow that would otherwise paint over this non-positioned sibling —
36
+ * the same reason `IdCaptureLayout.css` lifts its bands. */
37
+ position: relative;
38
+ /* z-index 2, not 1: PrizmaIdCapture's HUD bands ALSO lift themselves to 1, so
39
+ * at the same level DOM order decided and the scrim painted over the stepper
40
+ * (owner-reported 2026-08-19: "the stepper is not correctly visible and looks
41
+ * hidden, probably it's behind the overlay"). 2 is the anchored-chrome layer
42
+ * ScreenLayout.css already reserves for the tag and shutter, which must sit
43
+ * above the scrim for exactly the same reason. DEVIATIONS #VS-2. */
44
+ z-index: 2;
45
+ margin-top: var(--pcs-status-bar, 47px);
46
+ padding-inline: var(--prizma-spacing-24);
47
+ }
48
+
49
+ /* ── The flexible bands around a camera stage ────────────────────────────────
50
+ * Pure flex distribution — NO padding, NO margin, no spacing token at all. The
51
+ * band exists so the HUD copy (the recording indicator, the stage's status
52
+ * message) sits in the air the stage leaves, instead of the module inventing an
53
+ * offset the archetype layer would otherwise own. */
54
+ .video-selfie-band {
55
+ flex: 1;
56
+ min-height: 0;
57
+ display: flex;
58
+ flex-direction: column;
59
+ align-items: center;
60
+ justify-content: center;
61
+ width: 100%;
62
+ position: relative;
63
+ z-index: 1;
64
+ }
65
+
66
+ /* ── Recording indicator (10.1 / 11.1 / 11.3 / 11.5) ─────────────────────────
67
+ * A sound-wave glyph over the "Recording…" HUD line. The glyph ink is Core's
68
+ * own Static camera ink — the token `PrizmaCaptureManual` uses for the shutter
69
+ * — so it survives on the always-dark camera surface. The copy itself is the
70
+ * foundation's `.prizma-viewfinder__title`; nothing about it is re-declared. */
71
+ .video-selfie-recording {
72
+ display: flex;
73
+ flex-direction: column;
74
+ align-items: center;
75
+ gap: var(--prizma-spacing-16);
76
+ color: var(--prizma-icon-neutral-50-static);
77
+ }
78
+
79
+ /* ── The spoken-step card (groups 10 and 11) ─────────────────────────────────
80
+ * Figma layers Core's Modal over the live camera (`modal-light` instance). The
81
+ * safe presenter portals to `document.body`, which would escape the 390×844
82
+ * screen frame and the host's `transform: scale()`, so the screen owns the
83
+ * scrim and the panel and Core owns the card — the recipe Document Capture's
84
+ * method sheet already established (DEVIATIONS #DC-30). */
85
+ .video-selfie-sheet-scrim {
86
+ position: absolute;
87
+ inset: 0;
88
+ z-index: 2;
89
+ background: var(--prizma-surface-overlay);
90
+ }
91
+
92
+ .video-selfie-sheet-panel {
93
+ position: absolute;
94
+ left: 0;
95
+ right: 0;
96
+ bottom: 0;
97
+ z-index: 3;
98
+ padding: var(--prizma-spacing-16);
99
+ }
100
+
101
+ /* The confirmation dialog (10.4) is a true centred modal over a dimmed screen,
102
+ * not a bottom-anchored card. */
103
+ .video-selfie-sheet-panel--centered {
104
+ top: 0;
105
+ display: flex;
106
+ align-items: center;
107
+ }
108
+
109
+ /* The card's verdict mark (10.3 / 11.x success). The glyph itself is the
110
+ * canonical bank icon Core's own `PrizmaTitle` uses for `status: success`
111
+ * (`IconStatusPositive` at Title/Icon/Size); only the INK is set here, because
112
+ * Core's per-status tint lives on `.prizma-title__status-icon--success` and
113
+ * `PrizmaModalContent` has no status slot to inherit it from. Same treatment
114
+ * `IdCaptureLayout.css` gives the camera stage's nav icon. */
115
+ .video-selfie-sheet-status {
116
+ display: flex;
117
+ width: 100%;
118
+ justify-content: center;
119
+ color: var(--prizma-icon-status-positive);
120
+ }
121
+
122
+ .video-selfie-sheet-status > svg {
123
+ display: block;
124
+ width: var(--prizma-title-icon-size);
125
+ height: var(--prizma-title-icon-size);
126
+ }
127
+
128
+ /* ── The OS settings walk-through (2.5) ──────────────────────────────────────
129
+ * Two labelled sections inside archetype G's list slot: a numbered step list
130
+ * and a plain note. CONTENT typography only — the offset above the block is
131
+ * the archetype's `__list` Spacing/24 and is not touched. */
132
+ .video-selfie-steps {
133
+ display: flex;
134
+ flex-direction: column;
135
+ gap: var(--prizma-spacing-16);
136
+ width: 100%;
137
+ text-align: start;
138
+ }
139
+
140
+ .video-selfie-steps__heading {
141
+ margin: 0;
142
+ font-family: var(--prizma-headline-family);
143
+ font-size: var(--prizma-headline-h5-font-size);
144
+ font-weight: var(--prizma-headline-h5-font-weight);
145
+ line-height: var(--prizma-headline-h5-line-height);
146
+ letter-spacing: var(--prizma-headline-h5-letter-spacing);
147
+ color: var(--prizma-text-body-800-primary);
148
+ }
149
+
150
+ .video-selfie-steps__note {
151
+ margin: 0;
152
+ font-size: var(--prizma-body-m-regular-font-size);
153
+ font-weight: var(--prizma-body-m-regular-font-weight);
154
+ line-height: var(--prizma-body-m-regular-line-height);
155
+ color: var(--prizma-text-body-500-secondary);
156
+ }
157
+
158
+ /* ── The captured document inside the vertical frame ─────────────────────────
159
+ * Groups 3 and 5 draw the ID UPRIGHT in a portrait frame: the card is rotated a
160
+ * quarter turn so its long edge runs down the screen, exactly as `3.2` and
161
+ * `5.2` show it (the licence's text reads bottom-to-top).
162
+ *
163
+ * The sample scans are landscape (328×202). Dropped into a portrait frame with
164
+ * Core's `object-fit: cover` they scaled 4.2× to fill the height and lost their
165
+ * sides — the band of static the owner reported (2026-08-19: "horizontal and
166
+ * zoomed in to fit height, when it should be 90 degrees to fit the frame").
167
+ * Rotating instead of cropping keeps the whole document legible.
168
+ *
169
+ * `width`/`height` are swapped BEFORE the rotation because a rotated element
170
+ * still lays out on its pre-transform box: the image is sized to the frame's
171
+ * height × width, then turned, so it lands exactly frame-sized. No literal —
172
+ * both are percentages of whatever box Core gives it. DEVIATIONS #VS-6.
173
+ */
174
+ /* The captured document is landscape (a card scan); the VERTICAL frame is
175
+ * portrait. `object-fit: cover` cropped its sides away and blew it up 4.2× —
176
+ * the band of static the owner reported. Figma turns the card a quarter turn
177
+ * instead, so the whole document stays legible with its text running up the
178
+ * side, exactly as `3.2` / `5.2` draw it.
179
+ *
180
+ * The image is sized to the frame's height × width BEFORE the turn, because a
181
+ * rotated element still lays out on its pre-transform box — so after the 90°
182
+ * it lands exactly frame-sized. Both values are percentages of whatever box
183
+ * Core gives it, so nothing is hardcoded. DEVIATIONS #VS-6. */
184
+ .prizma-id-capture--vertical .prizma-id-capture__still {
185
+ /* A size container, so the image can be measured against the frame's OWN
186
+ box — `cqh`/`cqw` below are the only way to swap width and height without
187
+ writing either number down. The frame has definite dimensions, which is
188
+ what `container-type: size` requires. */
189
+ container-type: size;
190
+ display: grid;
191
+ place-items: center;
192
+ overflow: hidden;
193
+ }
194
+
195
+ .prizma-id-capture--vertical .prizma-id-capture__still > img {
196
+ /* Swapped on purpose: the image is laid out at the frame's HEIGHT × WIDTH,
197
+ then turned a quarter, so it lands exactly frame-sized. */
198
+ width: 100cqh;
199
+ height: 100cqw;
200
+ max-width: none;
201
+ object-fit: cover;
202
+ transform: rotate(90deg);
203
+ transform-origin: center;
204
+ }
205
+
206
+
207
+ /* ── Stage status, centred ON the frame ──────────────────────────────────────
208
+ * `3.2` / `5.2` centre the spinner and its "Processing…" caption OVER the
209
+ * document, on the dark rounded container the design uses for stage status —
210
+ * not below the frame, where it sat (owner-reported 2026-08-19: "the processing
211
+ * loader looks broken in the bottom of the capture screen, it should be in the
212
+ * middle"). Absolutely positioned against the viewfinder content so the frame
213
+ * and the bands keep their own flex distribution untouched. DEVIATIONS #VS-7.
214
+ */
215
+ .video-selfie-stage-status {
216
+ position: absolute;
217
+ inset: 0;
218
+ z-index: 2;
219
+ display: flex;
220
+ align-items: center;
221
+ justify-content: center;
222
+ pointer-events: none;
223
+ }
224
+
225
+ .video-selfie-stage-status > * {
226
+ padding: var(--prizma-spacing-16) var(--prizma-spacing-24);
227
+ border-radius: var(--prizma-border-radius-medium);
228
+ background: var(--prizma-surface-neutral-900-80-static);
229
+ }
230
+
231
+ /* ── Tutorial step rows ──────────────────────────────────────────────────────
232
+ * The <ul> Core's `PrizmaList` would normally supply. Composed here only
233
+ * because the wrapper's icon variants cap at six rows and the tutorial draws
234
+ * seven (#VS-8); the gap is the variant's OWN Spacing/12 — nothing new.
235
+ */
236
+ .video-selfie-tutorial-list {
237
+ display: flex;
238
+ flex-direction: column;
239
+ align-items: flex-start;
240
+ width: 100%;
241
+ margin: 0;
242
+ padding: 0;
243
+ list-style: none;
244
+ gap: var(--prizma-spacing-12);
245
+ }
246
+
247
+ /* Step rows — the <ol> `PrizmaList` would supply, composed here only because
248
+ * the wrapper has no variant reaching Core's plain `number` squircle (#VS-16).
249
+ * The gap is the icon family's own Spacing/12; nothing new is declared. */
250
+ .video-selfie-steps__rows {
251
+ display: flex;
252
+ flex-direction: column;
253
+ align-items: flex-start;
254
+ width: 100%;
255
+ margin: 0;
256
+ padding: 0;
257
+ list-style: none;
258
+ gap: var(--prizma-spacing-12);
259
+ }
@@ -0,0 +1,35 @@
1
+ import React from 'react';
2
+ import { type PrizmaListScreenProps } from './ListScreen';
3
+ import type { PrizmaScreenActionHandler, PrizmaScreenOverrides } from './types';
4
+ import type { VideoSelfieStrings } from './VideoSelfieStrings';
5
+ import './ScreenLayout.css';
6
+ export interface VideoSelfiePermissionRequiredScreenProps extends Omit<PrizmaListScreenProps, 'status' | 'title' | 'subtitle' | 'children' | 'ctaLabel' | 'secondaryCtaLabel' | 'linkLabel' | 'verifiedLabel' | 'navLabel'> {
7
+ /** Module copy — this screen reads the `permission.required` slice. */
8
+ strings: VideoSelfieStrings;
9
+ screenId?: string;
10
+ overrides?: PrizmaScreenOverrides;
11
+ onAction?: PrizmaScreenActionHandler;
12
+ }
13
+ /**
14
+ * Video Selfie — "Camera permission is required", built on the List archetype
15
+ * (GUIDELINES.md §6-G). Figma: purple section `video selfie - permissions
16
+ * 2.2 - permission required`.
17
+ *
18
+ * The same shape ID Capture's permission screen already ships on this
19
+ * archetype: the warning status mark over the title, three reassurance rows in
20
+ * the middle, and a band whose tertiary link ("Quit process") sits ABOVE the
21
+ * primary — archetype G's own fixed position for the link, and where Figma
22
+ * draws it.
23
+ *
24
+ * The frame ends at the "Allow permission" button — no verified tag — so
25
+ * `showFooter` defaults to `true` (owner rule #PI-8/#F-34 — the chrome is
26
+ * constant across a module's states), as on all three permission sections. The
27
+ * tutorial sections DO draw the tag, which is what makes this a deliberate
28
+ * difference rather than an omission.
29
+ *
30
+ * Figma draws the orange mark as a standalone warning glyph above the title;
31
+ * Core's `PrizmaTitle` models exactly that as `icon={{ type: 'status' }}`, so
32
+ * the archetype's `status="warning"` carries it and no glyph slot is needed.
33
+ */
34
+ export declare const VideoSelfiePermissionRequiredScreen: React.ForwardRefExoticComponent<VideoSelfiePermissionRequiredScreenProps & React.RefAttributes<HTMLDivElement>>;
35
+ export default VideoSelfiePermissionRequiredScreen;
@@ -0,0 +1,45 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { forwardRef } from 'react';
4
+ import { IconApproval, IconCamera, IconIdFrontScan } from '@incodetech/prizma-core-icons';
5
+ import { PrizmaCardListCommonIssues } from '@incodetech/prizma-core-web/card-list';
6
+ import { PrizmaListScreen } from './ListScreen';
7
+ import './ScreenLayout.css';
8
+ /**
9
+ * The three reassurance rows, in Figma order: what the camera is used for, what
10
+ * it protects against, and why it cannot be skipped. Canonical bank glyphs, one
11
+ * per row — nothing drawn here (§10).
12
+ */
13
+ const ROW_ICONS = [
14
+ _jsx(IconCamera, { size: "m" }, "camera"),
15
+ _jsx(IconIdFrontScan, { size: "m" }, "scan"),
16
+ _jsx(IconApproval, { size: "m" }, "approval"),
17
+ ];
18
+ /**
19
+ * Video Selfie — "Camera permission is required", built on the List archetype
20
+ * (GUIDELINES.md §6-G). Figma: purple section `video selfie - permissions
21
+ * 2.2 - permission required`.
22
+ *
23
+ * The same shape ID Capture's permission screen already ships on this
24
+ * archetype: the warning status mark over the title, three reassurance rows in
25
+ * the middle, and a band whose tertiary link ("Quit process") sits ABOVE the
26
+ * primary — archetype G's own fixed position for the link, and where Figma
27
+ * draws it.
28
+ *
29
+ * The frame ends at the "Allow permission" button — no verified tag — so
30
+ * `showFooter` defaults to `true` (owner rule #PI-8/#F-34 — the chrome is
31
+ * constant across a module's states), as on all three permission sections. The
32
+ * tutorial sections DO draw the tag, which is what makes this a deliberate
33
+ * difference rather than an omission.
34
+ *
35
+ * Figma draws the orange mark as a standalone warning glyph above the title;
36
+ * Core's `PrizmaTitle` models exactly that as `icon={{ type: 'status' }}`, so
37
+ * the archetype's `status="warning"` carries it and no glyph slot is needed.
38
+ */
39
+ export const VideoSelfiePermissionRequiredScreen = forwardRef(({ strings, screenId = 'video-selfie-permission-required', showHeader = true, showFooter = true, overrides, onAction, ...shell }, ref) => (_jsx(PrizmaListScreen, { ref: ref, showHeader: showHeader, showFooter: showFooter, status: "warning", title: strings.permission.required.title, ctaLabel: strings.permission.required.ctaLabel, linkLabel: strings.permission.required.quitLabel, verifiedLabel: strings.verifiedLabel, navLabel: strings.navLabel, screenId: screenId, overrides: overrides, onAction: onAction, ...shell, children: _jsx(PrizmaCardListCommonIssues, { items: strings.permission.required.rows.map((row, i) => ({
40
+ icon: ROW_ICONS[i % ROW_ICONS.length],
41
+ title: row,
42
+ showSubtitle: false,
43
+ })) }) })));
44
+ VideoSelfiePermissionRequiredScreen.displayName = 'VideoSelfiePermissionRequiredScreen';
45
+ export default VideoSelfiePermissionRequiredScreen;
@@ -0,0 +1,51 @@
1
+ import React, { type ReactNode } from 'react';
2
+ import { type PrizmaTutorialScreenProps } from './TutorialScreen';
3
+ import type { PrizmaScreenActionHandler, PrizmaScreenOverrides } from './types';
4
+ import type { VideoSelfieStrings } from './VideoSelfieStrings';
5
+ import './ScreenLayout.css';
6
+ export interface VideoSelfiePermissionScreenProps extends Omit<PrizmaTutorialScreenProps, 'title' | 'subtitle' | 'disclaimer' | 'ctaLabel' | 'ctaLoadingLabel' | 'linkLabel' | 'verifiedLabel' | 'navLabel' | 'illustration'> {
7
+ /** Module copy — this screen reads the `permission.request` slice. */
8
+ strings: VideoSelfieStrings;
9
+ /** Replace the default Core artwork (a host with its own permission art). */
10
+ illustration?: ReactNode;
11
+ screenId?: string;
12
+ overrides?: PrizmaScreenOverrides;
13
+ onAction?: PrizmaScreenActionHandler;
14
+ }
15
+ /**
16
+ * Video Selfie — the in-page camera request, built on the Tutorial archetype
17
+ * (GUIDELINES.md §6-A). Figma: purple section `video selfie - permissions
18
+ * 2.0 - web`.
19
+ *
20
+ * Archetype A covers it exactly: title block → one centred illustration in the
21
+ * flexible middle → CTA → tertiary link. The link ("Learn more") sits BELOW the
22
+ * primary, which is archetype A's own fixed position for it (the mirror of G) —
23
+ * and is where Figma draws it too.
24
+ *
25
+ * Figma draws no logo on this section; the nav row is still RESERVED
26
+ * (`showHeader={false}`) so the offsets match every other screen — owner rule
27
+ * 2026-08-18.
28
+ *
29
+ * It draws no verified tag either — the frame ends at "Learn more" — so
30
+ * `showFooter` defaults to `true`: Figma draws these sections bare, but the
31
+ * owner rule keeps the chrome constant across a module's states so nothing
32
+ * shifts between them (#PI-8, #F-34).
33
+ * The tutorial sections `1.0` / `1.2` DO draw the tag, which is what makes the
34
+ * permission frames a deliberate difference rather than an omission. The
35
+ * `#PI-8` / `#F-34` carve-out that keeps the chrome on bare frames covers
36
+ * connectivity and generic-error screens only; none of these is one.
37
+ *
38
+ * The artwork is Core's `PrizmaIllustrationSelfie`. Figma draws a bespoke
39
+ * camera-bracket cluster (four capability icons inside a viewfinder crop, with
40
+ * a check badge) that the Core illustration bank does not ship; drawing it here
41
+ * would mean inventing an asset (rule 1, §10), so the nearest canonical
42
+ * illustration is used and the gap is reported.
43
+ *
44
+ * Sections `2.1 - iOS+Android` and `2.4 - system modal` of the same group are
45
+ * NOT built: they are the OS's own permission alert and screen-capture dialog
46
+ * drawn as documentation. A screen composed only of Core components cannot
47
+ * render OS chrome, and faking it would ship a fake system UI — the same call
48
+ * ID Capture (#IDC-26) and Document Capture (#DC-20) already made.
49
+ */
50
+ export declare const VideoSelfiePermissionScreen: React.ForwardRefExoticComponent<VideoSelfiePermissionScreenProps & React.RefAttributes<HTMLDivElement>>;
51
+ export default VideoSelfiePermissionScreen;
@@ -0,0 +1,44 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { forwardRef } from 'react';
4
+ import { PrizmaIllustrationSelfie } from '@incodetech/prizma-core-web/illustration-selfie';
5
+ import { PrizmaTutorialScreen } from './TutorialScreen';
6
+ import './ScreenLayout.css';
7
+ /**
8
+ * Video Selfie — the in-page camera request, built on the Tutorial archetype
9
+ * (GUIDELINES.md §6-A). Figma: purple section `video selfie - permissions
10
+ * 2.0 - web`.
11
+ *
12
+ * Archetype A covers it exactly: title block → one centred illustration in the
13
+ * flexible middle → CTA → tertiary link. The link ("Learn more") sits BELOW the
14
+ * primary, which is archetype A's own fixed position for it (the mirror of G) —
15
+ * and is where Figma draws it too.
16
+ *
17
+ * Figma draws no logo on this section; the nav row is still RESERVED
18
+ * (`showHeader={false}`) so the offsets match every other screen — owner rule
19
+ * 2026-08-18.
20
+ *
21
+ * It draws no verified tag either — the frame ends at "Learn more" — so
22
+ * `showFooter` defaults to `true`: Figma draws these sections bare, but the
23
+ * owner rule keeps the chrome constant across a module's states so nothing
24
+ * shifts between them (#PI-8, #F-34).
25
+ * The tutorial sections `1.0` / `1.2` DO draw the tag, which is what makes the
26
+ * permission frames a deliberate difference rather than an omission. The
27
+ * `#PI-8` / `#F-34` carve-out that keeps the chrome on bare frames covers
28
+ * connectivity and generic-error screens only; none of these is one.
29
+ *
30
+ * The artwork is Core's `PrizmaIllustrationSelfie`. Figma draws a bespoke
31
+ * camera-bracket cluster (four capability icons inside a viewfinder crop, with
32
+ * a check badge) that the Core illustration bank does not ship; drawing it here
33
+ * would mean inventing an asset (rule 1, §10), so the nearest canonical
34
+ * illustration is used and the gap is reported.
35
+ *
36
+ * Sections `2.1 - iOS+Android` and `2.4 - system modal` of the same group are
37
+ * NOT built: they are the OS's own permission alert and screen-capture dialog
38
+ * drawn as documentation. A screen composed only of Core components cannot
39
+ * render OS chrome, and faking it would ship a fake system UI — the same call
40
+ * ID Capture (#IDC-26) and Document Capture (#DC-20) already made.
41
+ */
42
+ export const VideoSelfiePermissionScreen = forwardRef(({ strings, illustration, screenId = 'video-selfie-permission-request', showHeader = true, showFooter = true, overrides, onAction, ...shell }, ref) => (_jsx(PrizmaTutorialScreen, { ref: ref, showHeader: showHeader, showFooter: showFooter, title: strings.permission.request.title, subtitle: strings.permission.request.subtitle, ctaLabel: strings.permission.request.ctaLabel, linkLabel: strings.permission.request.learnMoreLabel, illustration: illustration ?? _jsx(PrizmaIllustrationSelfie, { decorative: true }), verifiedLabel: strings.verifiedLabel, navLabel: strings.navLabel, screenId: screenId, overrides: overrides, onAction: onAction, ...shell })));
43
+ VideoSelfiePermissionScreen.displayName = 'VideoSelfiePermissionScreen';
44
+ export default VideoSelfiePermissionScreen;
@@ -0,0 +1,28 @@
1
+ import React from 'react';
2
+ import { type PrizmaProcessingScreenProps } from './ProcessingScreen';
3
+ import type { PrizmaScreenActionHandler, PrizmaScreenOverrides } from './types';
4
+ import type { VideoSelfieStrings } from './VideoSelfieStrings';
5
+ import './ScreenLayout.css';
6
+ export interface VideoSelfieProcessingScreenProps extends Omit<PrizmaProcessingScreenProps, 'status' | 'title' | 'subtitle' | 'verifiedLabel' | 'navLabel'> {
7
+ /** Module copy — this screen reads the `processing` slice. */
8
+ strings: VideoSelfieStrings;
9
+ screenId?: string;
10
+ overrides?: PrizmaScreenOverrides;
11
+ onAction?: PrizmaScreenActionHandler;
12
+ }
13
+ /**
14
+ * Video Selfie — the upload/analysis wait, built on the Processing archetype
15
+ * (GUIDELINES.md §6-C). Figma: purple section `video selfie - processing
16
+ * 12.0 - default`.
17
+ *
18
+ * The pure spinner case: a centred spinner over the title and its "kindly hold
19
+ * on" line, the verified tag anchored at the bottom, no CTA — which is exactly
20
+ * why archetype C exists and why this is not archetype F. The camera has closed
21
+ * by this point, so the screen follows the app theme like any ordinary screen.
22
+ *
23
+ * Figma draws no logo on the section; the nav row is still RESERVED
24
+ * (`showHeader={false}`) so the offsets match every other screen (owner rule
25
+ * 2026-08-18).
26
+ */
27
+ export declare const VideoSelfieProcessingScreen: React.ForwardRefExoticComponent<VideoSelfieProcessingScreenProps & React.RefAttributes<HTMLDivElement>>;
28
+ export default VideoSelfieProcessingScreen;
@@ -0,0 +1,22 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { forwardRef } from 'react';
4
+ import { PrizmaProcessingScreen, } from './ProcessingScreen';
5
+ import './ScreenLayout.css';
6
+ /**
7
+ * Video Selfie — the upload/analysis wait, built on the Processing archetype
8
+ * (GUIDELINES.md §6-C). Figma: purple section `video selfie - processing
9
+ * 12.0 - default`.
10
+ *
11
+ * The pure spinner case: a centred spinner over the title and its "kindly hold
12
+ * on" line, the verified tag anchored at the bottom, no CTA — which is exactly
13
+ * why archetype C exists and why this is not archetype F. The camera has closed
14
+ * by this point, so the screen follows the app theme like any ordinary screen.
15
+ *
16
+ * Figma draws no logo on the section; the nav row is still RESERVED
17
+ * (`showHeader={false}`) so the offsets match every other screen (owner rule
18
+ * 2026-08-18).
19
+ */
20
+ export const VideoSelfieProcessingScreen = forwardRef(({ strings, screenId = 'video-selfie-processing', showHeader = true, overrides, onAction, ...shell }, ref) => (_jsx(PrizmaProcessingScreen, { ref: ref, showHeader: showHeader, status: "loading", title: strings.processing.title, subtitle: strings.processing.subtitle, verifiedLabel: strings.verifiedLabel, navLabel: strings.navLabel, screenId: screenId, overrides: overrides, onAction: onAction, ...shell })));
21
+ VideoSelfieProcessingScreen.displayName = 'VideoSelfieProcessingScreen';
22
+ export default VideoSelfieProcessingScreen;