@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,37 @@
1
+ import React from 'react';
2
+ import { type PrizmaResultScreenProps } from './ResultScreen';
3
+ import type { PrizmaScreenActionHandler, PrizmaScreenOverrides } from './types';
4
+ import type { IdCaptureStrings } from './IdCaptureStrings';
5
+ import './ScreenLayout.css';
6
+ export interface IdCaptureDocumentErrorScreenProps extends Omit<PrizmaResultScreenProps, 'status' | 'title' | 'subtitle' | 'children' | 'disclaimer' | 'ctaLabel' | 'verifiedLabel' | 'navLabel'> {
7
+ /** Module copy — this screen reads the `documentError` slice. */
8
+ strings: IdCaptureStrings;
9
+ /** The `-empty` variant: no accepted-documents list is available yet. */
10
+ empty?: boolean;
11
+ screenId?: string;
12
+ overrides?: PrizmaScreenOverrides;
13
+ onAction?: PrizmaScreenActionHandler;
14
+ }
15
+ /**
16
+ * ID Capture — the document itself is not accepted, built on the
17
+ * `PrizmaResultScreen` archetype (GUIDELINES.md §6-F).
18
+ * Figma: purple sections `1-9-12-id-documenterror`, `1-9-13-id-documenterror`
19
+ * and `1-9-11-id-documenterror-empty` of the `Document Errors 🚧` group.
20
+ * (`1-9-11-id-documenterror` is an EMPTY purple section — nothing is designed in
21
+ * it yet, so there is nothing to build; the group's 🚧 marker is honest.)
22
+ *
23
+ * Error status mark → Title → the accepted-documents card (the archetype's
24
+ * `children` slot) → attempts line (`disclaimer`) → retry CTA. The card block
25
+ * used to carry its own Spacing/24 in `IdCaptureLayout.css`; the archetype's
26
+ * centred column now supplies the gap, so the module declares no spacing at all
27
+ * (#F-33 records that the block therefore centres rather than sitting at the top).
28
+ *
29
+ * The card is Core's `PrizmaCardDocumentList`, which owns the country row (its
30
+ * bundled flag raster or an emoji fallback) and the document rows, and ships the
31
+ * `empty` placeholder the `-empty` section needs. Figma puts the
32
+ * "Accepted documents for: 🇺🇸 United States" line ABOVE the card while Core
33
+ * carries the country INSIDE it as the card's own header — the design system
34
+ * wins and the line is not duplicated outside. DEVIATIONS.md #IDC-27.
35
+ */
36
+ export declare const IdCaptureDocumentErrorScreen: React.ForwardRefExoticComponent<IdCaptureDocumentErrorScreenProps & React.RefAttributes<HTMLDivElement>>;
37
+ export default IdCaptureDocumentErrorScreen;
@@ -0,0 +1,30 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { forwardRef } from 'react';
4
+ import { PrizmaCardDocumentList } from '@incodetech/prizma-core-web/card';
5
+ import { PrizmaResultScreen } from './ResultScreen';
6
+ import './ScreenLayout.css';
7
+ /**
8
+ * ID Capture — the document itself is not accepted, built on the
9
+ * `PrizmaResultScreen` archetype (GUIDELINES.md §6-F).
10
+ * Figma: purple sections `1-9-12-id-documenterror`, `1-9-13-id-documenterror`
11
+ * and `1-9-11-id-documenterror-empty` of the `Document Errors 🚧` group.
12
+ * (`1-9-11-id-documenterror` is an EMPTY purple section — nothing is designed in
13
+ * it yet, so there is nothing to build; the group's 🚧 marker is honest.)
14
+ *
15
+ * Error status mark → Title → the accepted-documents card (the archetype's
16
+ * `children` slot) → attempts line (`disclaimer`) → retry CTA. The card block
17
+ * used to carry its own Spacing/24 in `IdCaptureLayout.css`; the archetype's
18
+ * centred column now supplies the gap, so the module declares no spacing at all
19
+ * (#F-33 records that the block therefore centres rather than sitting at the top).
20
+ *
21
+ * The card is Core's `PrizmaCardDocumentList`, which owns the country row (its
22
+ * bundled flag raster or an emoji fallback) and the document rows, and ships the
23
+ * `empty` placeholder the `-empty` section needs. Figma puts the
24
+ * "Accepted documents for: 🇺🇸 United States" line ABOVE the card while Core
25
+ * carries the country INSIDE it as the card's own header — the design system
26
+ * wins and the line is not duplicated outside. DEVIATIONS.md #IDC-27.
27
+ */
28
+ export const IdCaptureDocumentErrorScreen = forwardRef(({ strings, empty = false, screenId = empty ? 'id-capture-document-error-empty' : 'id-capture-document-error', overrides, onAction, ...shell }, ref) => (_jsx(PrizmaResultScreen, { ref: ref, status: "error", title: strings.documentError.title, subtitle: strings.documentError.description, disclaimer: strings.documentError.attemptsLabel, ctaLabel: strings.documentError.ctaLabel, verifiedLabel: strings.verifiedLabel, navLabel: strings.navLabel, screenId: screenId, overrides: overrides, onAction: onAction, ...shell, children: _jsx(PrizmaCardDocumentList, { state: empty ? 'empty' : 'default', countryCode: strings.documentError.countryCode, flag: strings.documentError.flag, country: strings.documentError.country, documents: strings.documentError.documents, emptyMessage: strings.documentError.emptyMessage }) })));
29
+ IdCaptureDocumentErrorScreen.displayName = 'IdCaptureDocumentErrorScreen';
30
+ export default IdCaptureDocumentErrorScreen;
@@ -0,0 +1,41 @@
1
+ import React from 'react';
2
+ import { type PrizmaListScreenProps } from './ListScreen';
3
+ import type { PrizmaScreenActionHandler, PrizmaScreenOverrides } from './types';
4
+ import type { IdCaptureDocumentType, IdCaptureStrings } from './IdCaptureStrings';
5
+ import './ScreenLayout.css';
6
+ export interface IdCaptureDocumentSelectionScreenProps extends Omit<PrizmaListScreenProps, 'title' | 'subtitle' | 'children' | 'listAlign' | 'verifiedLabel' | 'navLabel'> {
7
+ /** Module copy — this screen reads the `documentSelection` slice. */
8
+ strings: IdCaptureStrings;
9
+ /** Fired with the chosen document type; `onAction` still reports the tap.
10
+ * Named `onDocumentSelect`, not `onSelect` — the latter is a native <div>
11
+ * event the shell already passes through. */
12
+ onDocumentSelect?: (documentType: IdCaptureDocumentType) => void;
13
+ screenId?: string;
14
+ overrides?: PrizmaScreenOverrides;
15
+ onAction?: PrizmaScreenActionHandler;
16
+ }
17
+ /**
18
+ * ID Capture — choose which document to scan, built on the `PrizmaListScreen`
19
+ * archetype (GUIDELINES.md §6-G).
20
+ * Figma: purple sections `1-1-1-id` and `1-1-1-Document Chooser V2` of the
21
+ * `Document selection` group.
22
+ *
23
+ * The rows ARE the actions (Core makes each one a real `<button>`), so the
24
+ * archetype renders no CTA band; the option list hangs off the bottom of the
25
+ * middle via `listAlign="end"`, which is the offset this screen used to buy with
26
+ * a hand-placed `__flex` spacer.
27
+ *
28
+ * The two purple sections are two GENERATIONS of the same screen, and Core has
29
+ * already resolved which one ships: `1-1-1-id` draws each option as a card with
30
+ * a description line and a round blue arrow button, while
31
+ * `1-1-1-Document Chooser V2` draws flat rows of a 60px card icon + label +
32
+ * chevron — and the second is exactly Core's `Card / Verification options`
33
+ * after its 2026-07-27 redesign (`CardList.tsx`: the descriptive
34
+ * `Card/Item` stack was replaced, clean break, pre-1.0). The design system wins,
35
+ * so this screen is V2 and V1 is not rebuilt. DEVIATIONS.md #IDC-23.
36
+ *
37
+ * The row artwork comes from Core's card-icon bank (`id` / `passport`), so no
38
+ * illustration is redrawn here (§10).
39
+ */
40
+ export declare const IdCaptureDocumentSelectionScreen: React.ForwardRefExoticComponent<IdCaptureDocumentSelectionScreenProps & React.RefAttributes<HTMLDivElement>>;
41
+ export default IdCaptureDocumentSelectionScreen;
@@ -0,0 +1,49 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { forwardRef } from 'react';
4
+ import { PrizmaCardListVerificationOptions } from '@incodetech/prizma-core-web/card-list';
5
+ import { PrizmaListScreen } from './ListScreen';
6
+ import './ScreenLayout.css';
7
+ /**
8
+ * ID Capture — choose which document to scan, built on the `PrizmaListScreen`
9
+ * archetype (GUIDELINES.md §6-G).
10
+ * Figma: purple sections `1-1-1-id` and `1-1-1-Document Chooser V2` of the
11
+ * `Document selection` group.
12
+ *
13
+ * The rows ARE the actions (Core makes each one a real `<button>`), so the
14
+ * archetype renders no CTA band; the option list hangs off the bottom of the
15
+ * middle via `listAlign="end"`, which is the offset this screen used to buy with
16
+ * a hand-placed `__flex` spacer.
17
+ *
18
+ * The two purple sections are two GENERATIONS of the same screen, and Core has
19
+ * already resolved which one ships: `1-1-1-id` draws each option as a card with
20
+ * a description line and a round blue arrow button, while
21
+ * `1-1-1-Document Chooser V2` draws flat rows of a 60px card icon + label +
22
+ * chevron — and the second is exactly Core's `Card / Verification options`
23
+ * after its 2026-07-27 redesign (`CardList.tsx`: the descriptive
24
+ * `Card/Item` stack was replaced, clean break, pre-1.0). The design system wins,
25
+ * so this screen is V2 and V1 is not rebuilt. DEVIATIONS.md #IDC-23.
26
+ *
27
+ * The row artwork comes from Core's card-icon bank (`id` / `passport`), so no
28
+ * illustration is redrawn here (§10).
29
+ */
30
+ export const IdCaptureDocumentSelectionScreen = forwardRef(({ strings, onDocumentSelect, screenId = 'id-capture-document-selection', overrides, onAction, ...shell }, ref) => {
31
+ const choose = (documentType) => {
32
+ onDocumentSelect?.(documentType);
33
+ onAction?.({ type: 'cta', screenId });
34
+ };
35
+ return (_jsx(PrizmaListScreen, { ref: ref, title: strings.documentSelection.title, subtitle: strings.documentSelection.subtitle, listAlign: "end", verifiedLabel: strings.verifiedLabel, navLabel: strings.navLabel, screenId: screenId, overrides: overrides, onAction: onAction, ...shell, children: _jsx(PrizmaCardListVerificationOptions, { items: [
36
+ {
37
+ icon: 'id',
38
+ title: strings.documentSelection.idLabel,
39
+ onClick: () => choose('id'),
40
+ },
41
+ {
42
+ icon: 'passport',
43
+ title: strings.documentSelection.passportLabel,
44
+ onClick: () => choose('passport'),
45
+ },
46
+ ] }) }));
47
+ });
48
+ IdCaptureDocumentSelectionScreen.displayName = 'IdCaptureDocumentSelectionScreen';
49
+ export default IdCaptureDocumentSelectionScreen;
@@ -0,0 +1,31 @@
1
+ import React from 'react';
2
+ import { type PrizmaResultScreenProps } from './ResultScreen';
3
+ import type { PrizmaScreenActionHandler, PrizmaScreenOverrides } from './types';
4
+ import type { IdCaptureStrings } from './IdCaptureStrings';
5
+ import './ScreenLayout.css';
6
+ export interface IdCaptureFlipScreenProps extends Omit<PrizmaResultScreenProps, 'status' | 'title' | 'subtitle' | 'children' | 'verifiedLabel' | 'navLabel'> {
7
+ /** Module copy — this screen reads the `flip` slice. */
8
+ strings: IdCaptureStrings;
9
+ screenId?: string;
10
+ overrides?: PrizmaScreenOverrides;
11
+ onAction?: PrizmaScreenActionHandler;
12
+ }
13
+ /**
14
+ * ID Capture — the flip interstitial between the two sides, built on the
15
+ * `PrizmaResultScreen` archetype (GUIDELINES.md §6-F).
16
+ * Figma: purple section `1-11-1-id-flip` of the `Flip ID` group.
17
+ *
18
+ * The module's shortest screen: the CONTENT frame holds only the H2 and the
19
+ * spinning-card artwork — no logo, and no CTA (the flow advances itself). The
20
+ * archetype covers it exactly: `status="none"` for the bare title, the artwork in
21
+ * `children`, no `ctaLabel` so no band is rendered, and `showHeader={false}` to
22
+ * drop the logo while still reserving the nav row so the offsets match every
23
+ * other screen (owner rule 2026-08-18).
24
+ *
25
+ * The artwork is Core's `PrizmaIllustrationIdFlip` in its `interstitial`
26
+ * variant — the card spinning inside the static circular arrows, which is
27
+ * exactly what this moment was designed for (see the component's own
28
+ * `interstitial` doc note, owner 2026-07-17). Never redrawn here (§7, §10).
29
+ */
30
+ export declare const IdCaptureFlipScreen: React.ForwardRefExoticComponent<IdCaptureFlipScreenProps & React.RefAttributes<HTMLDivElement>>;
31
+ export default IdCaptureFlipScreen;
@@ -0,0 +1,26 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { forwardRef } from 'react';
4
+ import { PrizmaIllustrationIdFlip } from '@incodetech/prizma-core-web/illustration-id-flip';
5
+ import { PrizmaResultScreen } from './ResultScreen';
6
+ import './ScreenLayout.css';
7
+ /**
8
+ * ID Capture — the flip interstitial between the two sides, built on the
9
+ * `PrizmaResultScreen` archetype (GUIDELINES.md §6-F).
10
+ * Figma: purple section `1-11-1-id-flip` of the `Flip ID` group.
11
+ *
12
+ * The module's shortest screen: the CONTENT frame holds only the H2 and the
13
+ * spinning-card artwork — no logo, and no CTA (the flow advances itself). The
14
+ * archetype covers it exactly: `status="none"` for the bare title, the artwork in
15
+ * `children`, no `ctaLabel` so no band is rendered, and `showHeader={false}` to
16
+ * drop the logo while still reserving the nav row so the offsets match every
17
+ * other screen (owner rule 2026-08-18).
18
+ *
19
+ * The artwork is Core's `PrizmaIllustrationIdFlip` in its `interstitial`
20
+ * variant — the card spinning inside the static circular arrows, which is
21
+ * exactly what this moment was designed for (see the component's own
22
+ * `interstitial` doc note, owner 2026-07-17). Never redrawn here (§7, §10).
23
+ */
24
+ export const IdCaptureFlipScreen = forwardRef(({ strings, screenId = 'id-capture-flip', showHeader = false, overrides, onAction, ...shell }, ref) => (_jsx(PrizmaResultScreen, { ref: ref, showHeader: showHeader, title: strings.flip.title, verifiedLabel: strings.verifiedLabel, navLabel: strings.navLabel, screenId: screenId, overrides: overrides, onAction: onAction, ...shell, children: _jsx(PrizmaIllustrationIdFlip, { variant: "interstitial" }) })));
25
+ IdCaptureFlipScreen.displayName = 'IdCaptureFlipScreen';
26
+ export default IdCaptureFlipScreen;
@@ -0,0 +1,28 @@
1
+ import React from 'react';
2
+ import { type PrizmaResultScreenProps } from './ResultScreen';
3
+ import type { PrizmaScreenActionHandler, PrizmaScreenOverrides } from './types';
4
+ import type { IdCaptureStrings } from './IdCaptureStrings';
5
+ import './ScreenLayout.css';
6
+ export interface IdCaptureHoldOnScreenProps extends Omit<PrizmaResultScreenProps, 'status' | 'title' | 'subtitle' | 'verifiedLabel' | 'navLabel'> {
7
+ /** Module copy — this screen reads the `holdOn` slice. */
8
+ strings: IdCaptureStrings;
9
+ screenId?: string;
10
+ overrides?: PrizmaScreenOverrides;
11
+ onAction?: PrizmaScreenActionHandler;
12
+ }
13
+ /**
14
+ * ID Capture — server-side verification wait ("Hold on a sec…").
15
+ * Figma: purple sections `1-18-1-id-hold-on` and `1-4.1-1-id-hold-on`.
16
+ *
17
+ * The one screen in the module that is a pure Processing state (§6-C): the
18
+ * spinner + status copy centred in all remaining space, no capture frame, no
19
+ * CTA. Built on `PrizmaResultScreen` with `status="loading"` and no CTA label —
20
+ * the archetype renders no band at all in that case, so this is §6-C's layout
21
+ * reached through the same template as the module's other verdict screens
22
+ * instead of a hand-composed shell.
23
+ *
24
+ * The spinner is `PrizmaTitle`'s own `spinner` icon slot — the canonical
25
+ * `PrizmaLoadingSpinner` inside the component, never a new one (§3, §7).
26
+ */
27
+ export declare const IdCaptureHoldOnScreen: React.ForwardRefExoticComponent<IdCaptureHoldOnScreenProps & React.RefAttributes<HTMLDivElement>>;
28
+ export default IdCaptureHoldOnScreen;
@@ -0,0 +1,22 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { forwardRef } from 'react';
4
+ import { PrizmaResultScreen } from './ResultScreen';
5
+ import './ScreenLayout.css';
6
+ /**
7
+ * ID Capture — server-side verification wait ("Hold on a sec…").
8
+ * Figma: purple sections `1-18-1-id-hold-on` and `1-4.1-1-id-hold-on`.
9
+ *
10
+ * The one screen in the module that is a pure Processing state (§6-C): the
11
+ * spinner + status copy centred in all remaining space, no capture frame, no
12
+ * CTA. Built on `PrizmaResultScreen` with `status="loading"` and no CTA label —
13
+ * the archetype renders no band at all in that case, so this is §6-C's layout
14
+ * reached through the same template as the module's other verdict screens
15
+ * instead of a hand-composed shell.
16
+ *
17
+ * The spinner is `PrizmaTitle`'s own `spinner` icon slot — the canonical
18
+ * `PrizmaLoadingSpinner` inside the component, never a new one (§3, §7).
19
+ */
20
+ export const IdCaptureHoldOnScreen = forwardRef(({ strings, screenId = 'id-capture-hold-on', overrides, onAction, ...shell }, ref) => (_jsx(PrizmaResultScreen, { ref: ref, status: "loading", title: strings.holdOn.title, subtitle: strings.holdOn.description, verifiedLabel: strings.verifiedLabel, navLabel: strings.navLabel, screenId: screenId, overrides: overrides, onAction: onAction, ...shell })));
21
+ IdCaptureHoldOnScreen.displayName = 'IdCaptureHoldOnScreen';
22
+ export default IdCaptureHoldOnScreen;
@@ -0,0 +1,111 @@
1
+ /* ID Capture — module layout additions.
2
+ *
3
+ * ONLY what the foundation archetypes do not already own. Every value is a
4
+ * token; each departure from GUIDELINES.md carries a numbered row in
5
+ * DEVIATIONS.md (Wave 2 section).
6
+ *
7
+ * The module's one structural discovery is the THREE-BAND recipe every
8
+ * document screen shares — measured off the purple sections, not eyeballed:
9
+ *
10
+ * 1-5-1-id-empty (CONTENT 390×610, node 16285:42627)
11
+ * top container 24 → 181.014 342 × 157.014 Title bottom-anchored,
12
+ * 40px of air below it
13
+ * Capture / ID 181.014 → 428.986 342 × 247.97 (214.97 frame + 33 row)
14
+ * bottom container 428.986 → 586 342 × 157.014 Manual capture flush
15
+ * to its own bottom
16
+ * → 24 + 157.014 + 247.97 + 157.014 + 24 = 610 ✓
17
+ *
18
+ * 1-9-3-id-attempt (CONTENT 390×654, node I19281:325100;16285:42538)
19
+ * top container 24 → 203.014 342 × 179.014 title + 40px air below
20
+ * Capture / ID 203.014 → 417.986 342 × 214.97
21
+ * Encrypted 417.986 → 450.986 154 × 33 (zero gap — Core renders
22
+ * this row INSIDE
23
+ * PrizmaIdCapture, same
24
+ * result)
25
+ * bottom container 450.986 → 630 342 × 179.014 CTAs flush to bottom
26
+ * → 24 + 179.014 + 214.97 + 33 + 179.014 + 24 = 654 ✓
27
+ *
28
+ * Two equal flexible bands hugging a fixed capture stage, the top band holding
29
+ * its content at the bottom with Spacing/40 of air under it. Identical on the
30
+ * dark camera stages and the light result screens, which is why one pair of
31
+ * classes serves both.
32
+ */
33
+
34
+ /* ── The two flexible bands around the capture stage ───────────────────────── */
35
+
36
+ .id-capture-band {
37
+ flex: 1;
38
+ min-height: 0;
39
+ display: flex;
40
+ flex-direction: column;
41
+ justify-content: flex-end;
42
+ /* On the camera stages PrizmaIdCapture's overlay scrim is an absolutely
43
+ * positioned box-shadow that escapes the frame by design; without a stacking
44
+ * context of their own the bands' plain text nodes would paint UNDER it (a
45
+ * positioned sibling always wins over non-positioned content). Lifting the
46
+ * bands keeps the HUD copy and the manual strip above the veil — the same
47
+ * reason ScreenShell declares `contain: layout paint` for the scrim. */
48
+ position: relative;
49
+ z-index: 1;
50
+ }
51
+
52
+ /* Spacing/40 of air between the title block (or the feedback pill) and the
53
+ * capture stage. NOT the foundation's `.prizma-viewfinder__intro`, which pins
54
+ * its title Spacing/24 above the window — that is Face Capture's number; the
55
+ * ID Capture purple sections measure 40 on every single stage and result
56
+ * screen (see the arithmetic above). DEVIATIONS.md #IDC-20. */
57
+ .id-capture-band--top {
58
+ padding-bottom: var(--prizma-spacing-40);
59
+ gap: var(--prizma-spacing-8); /* Title → instruction, GUIDELINES §5 */
60
+ }
61
+
62
+ /* ── Camera stage (dark) ───────────────────────────────────────────────────── */
63
+
64
+ /* The stage's nav row carries only the close X (no logo — the camera owns the
65
+ * screen). The foundation `.prizma-screen-nav` supplies the status-bar reserve,
66
+ * the 44px flow slot and the un-fixing of Core's PrizmaNavigation; the ink is
67
+ * the only thing the camera stage changes: Core's nav icon is the THEMED
68
+ * `Icon/Neutral/500`, which disappears on the always-dark camera surface, so it
69
+ * takes the camera's own Static ink — the same token PrizmaCaptureManual uses
70
+ * for the shutter and the "?" help control. DEVIATIONS.md #IDC-21. */
71
+ .id-capture-stage__nav .prizma-nav__icon {
72
+ color: var(--prizma-icon-neutral-50-static);
73
+ }
74
+
75
+ /* The manual-capture strip spans the content column so its "?" help control
76
+ * lands on the column's right edge (Figma: `Manual capture` 342 wide, x=24). */
77
+ .id-capture-stage__manual {
78
+ width: 100%;
79
+ }
80
+
81
+ /* The feedback pill replaces the title block on the error stages (Figma
82
+ * `1-5-5 … 1-5-9-id-errors`): same band, same Spacing/40 above the frame. */
83
+ .id-capture-stage__feedback {
84
+ display: flex;
85
+ justify-content: center;
86
+ }
87
+
88
+ /* ── Removed: promoted into the foundation ───────────────────────────────────
89
+ * `.id-capture-glyph*` (the non-status glyph slot) is now
90
+ * `ScreenLayout.css`'s `__glyph` — DEVIATIONS #DC-29, closed.
91
+ * `.id-capture-info-list` / `.id-capture-accepted-docs` (the Spacing/24 under a
92
+ * title block) are now the List archetype's `__list` — DEVIATIONS #F-31.
93
+ */
94
+
95
+ /* ── PrizmaIdCapture on a LIGHT surface ────────────────────────────────────── */
96
+ /* The capture component was authored for the camera stage, so two of its layers
97
+ * are deliberately Static: the stand-in camera plate is Surface/Neutral/900 and
98
+ * the encrypted row is white ink. ID Capture's Figma also mounts the SAME
99
+ * component on the light result screens (`*-review`, `*-success`, `*-attempt`,
100
+ * `*-analyzing`), where the plate must not show through the document's 7px air
101
+ * and the reassurance line is drawn in body ink.
102
+ *
103
+ * The plate needs no override — Core's own `mode="overlay"` already makes the
104
+ * window transparent, which is what the light screens want. The ink does: the
105
+ * row is re-inked with the THEMED body token so it also survives dark mode,
106
+ * scoped to the light screens only (the camera stage keeps Core's Static white).
107
+ * Core gap — PrizmaIdCapture has no surface-aware encrypted row. DEVIATIONS.md #IDC-28.
108
+ */
109
+ .id-capture-on-surface .prizma-id-capture__encrypted {
110
+ color: var(--prizma-text-body-800-primary);
111
+ }
@@ -0,0 +1,28 @@
1
+ import React from 'react';
2
+ import { type PrizmaResultScreenProps } from './ResultScreen';
3
+ import type { PrizmaScreenActionHandler, PrizmaScreenOverrides } from './types';
4
+ import type { IdCaptureStrings } from './IdCaptureStrings';
5
+ import './ScreenLayout.css';
6
+ export interface IdCaptureNoConnectionScreenProps extends Omit<PrizmaResultScreenProps, 'status' | 'title' | 'subtitle' | 'glyph' | 'ctaLabel' | 'verifiedLabel' | 'navLabel'> {
7
+ /** Module copy — this screen reads the `noConnection` slice. */
8
+ strings: IdCaptureStrings;
9
+ screenId?: string;
10
+ overrides?: PrizmaScreenOverrides;
11
+ onAction?: PrizmaScreenActionHandler;
12
+ }
13
+ /**
14
+ * ID Capture — no internet connection, built on the `PrizmaResultScreen`
15
+ * archetype (GUIDELINES.md §6-F).
16
+ * Figma: purple section `1-9-10-id-no-internet` of the front-side group.
17
+ *
18
+ * Structurally identical to the Face Capture pilot's
19
+ * `genericErrors.noConnection` — Title + one CTA — which is why both now render
20
+ * the same archetype and neither composes a shell. Header and verified tag are on
21
+ * per the owner's non-capture rule (DEVIATIONS #F-30).
22
+ *
23
+ * The Wi-Fi glyph is Figma's `Icon / Wi-Fi` in the archetype's `glyph` slot with
24
+ * the foundation's `__glyph` class; Core's `PrizmaTitle` allowlist is
25
+ * status | spinner | none (DEVIATIONS #10, #DC-29).
26
+ */
27
+ export declare const IdCaptureNoConnectionScreen: React.ForwardRefExoticComponent<IdCaptureNoConnectionScreenProps & React.RefAttributes<HTMLDivElement>>;
28
+ export default IdCaptureNoConnectionScreen;
@@ -0,0 +1,29 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { forwardRef } from 'react';
4
+ import { IconWifiOff } from '@incodetech/prizma-core-icons';
5
+ import { PrizmaResultScreen } from './ResultScreen';
6
+ import './ScreenLayout.css';
7
+ /**
8
+ * ID Capture — no internet connection, built on the `PrizmaResultScreen`
9
+ * archetype (GUIDELINES.md §6-F).
10
+ * Figma: purple section `1-9-10-id-no-internet` of the front-side group.
11
+ *
12
+ * Structurally identical to the Face Capture pilot's
13
+ * `genericErrors.noConnection` — Title + one CTA — which is why both now render
14
+ * the same archetype and neither composes a shell. Header and verified tag are on
15
+ * per the owner's non-capture rule (DEVIATIONS #F-30).
16
+ *
17
+ * The Wi-Fi glyph is Figma's `Icon / Wi-Fi` in the archetype's `glyph` slot with
18
+ * the foundation's `__glyph` class; Core's `PrizmaTitle` allowlist is
19
+ * status | spinner | none (DEVIATIONS #10, #DC-29).
20
+ */
21
+ export const IdCaptureNoConnectionScreen = forwardRef(({ strings, screenId = 'id-capture-no-connection', overrides, onAction, ...shell }, ref) => (_jsx(PrizmaResultScreen, { ref: ref, glyph: _jsx("span", { className: [
22
+ 'prizma-screen-layout__glyph',
23
+ 'prizma-screen-layout__glyph--negative',
24
+ overrides?.align === 'left' ? 'prizma-screen-layout__glyph--left' : '',
25
+ ]
26
+ .filter(Boolean)
27
+ .join(' '), children: _jsx(IconWifiOff, { size: "l" }) }), title: strings.noConnection.title, subtitle: strings.noConnection.description, ctaLabel: strings.noConnection.ctaLabel, verifiedLabel: strings.verifiedLabel, navLabel: strings.navLabel, screenId: screenId, overrides: overrides, onAction: onAction, ...shell })));
28
+ IdCaptureNoConnectionScreen.displayName = 'IdCaptureNoConnectionScreen';
29
+ export default IdCaptureNoConnectionScreen;
@@ -0,0 +1,34 @@
1
+ import React from 'react';
2
+ import { type PrizmaListScreenProps } from './ListScreen';
3
+ import type { PrizmaScreenActionHandler, PrizmaScreenOverrides } from './types';
4
+ import type { IdCaptureStrings } from './IdCaptureStrings';
5
+ import './ScreenLayout.css';
6
+ export interface IdCapturePermissionScreenProps extends Omit<PrizmaListScreenProps, 'status' | 'title' | 'subtitle' | 'children' | 'ctaLabel' | 'linkLabel' | 'verifiedLabel' | 'navLabel'> {
7
+ /** Module copy — this screen reads the `permission` slice. */
8
+ strings: IdCaptureStrings;
9
+ screenId?: string;
10
+ overrides?: PrizmaScreenOverrides;
11
+ onAction?: PrizmaScreenActionHandler;
12
+ }
13
+ /**
14
+ * ID Capture — "Camera permission is required", built on the `PrizmaListScreen`
15
+ * archetype (GUIDELINES.md §6-G).
16
+ * Figma: purple section `1-3-2-id` of the `Permissions` group, plus its
17
+ * `1-3-2-id-allow-camera`, `1-3-2-id-quit-process` and
18
+ * `1-3-2-id-allow-camera-quit-process` siblings — which differ only in which
19
+ * control is pressed, i.e. copy/interaction variants of this ONE screen.
20
+ *
21
+ * Warning status mark → Title → three reason rows → a tertiary "quit" link →
22
+ * the permission CTA. `showHeader={false}` keeps the section's logo-free chrome
23
+ * (the flow has not started) with the nav row still reserved.
24
+ *
25
+ * NOT built from this group: `1-3-1-id-iOS+Android` and `1-4-1-id` are the
26
+ * NATIVE OS permission dialogs (an iOS alert and an Android sheet drawn as
27
+ * documentation), and `1-4-2-id` is a step list whose rows are OS app icons
28
+ * (Settings, Safari, the iOS camera tile). None of them is a Prizma surface and
29
+ * none of their chrome exists in Core — building them would mean inventing
30
+ * primitives and shipping platform raster assets, both forbidden (§10, rule 1).
31
+ * Reported to the owner instead. DEVIATIONS.md #IDC-26.
32
+ */
33
+ export declare const IdCapturePermissionScreen: React.ForwardRefExoticComponent<IdCapturePermissionScreenProps & React.RefAttributes<HTMLDivElement>>;
34
+ export default IdCapturePermissionScreen;
@@ -0,0 +1,45 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { forwardRef } from 'react';
4
+ import { IconApproval, IconBankCardSearch, IconCamera } 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 reason rows' leading icons, in the order the purple section lists
10
+ * them: the camera captures the ID · it verifies authenticity · it is required
11
+ * to verify identity. Canonical bank only (§10).
12
+ */
13
+ const ROW_ICONS = [
14
+ _jsx(IconCamera, { size: "m" }, "camera"),
15
+ _jsx(IconBankCardSearch, { size: "m" }, "authenticity"),
16
+ _jsx(IconApproval, { size: "m" }, "required"),
17
+ ];
18
+ /**
19
+ * ID Capture — "Camera permission is required", built on the `PrizmaListScreen`
20
+ * archetype (GUIDELINES.md §6-G).
21
+ * Figma: purple section `1-3-2-id` of the `Permissions` group, plus its
22
+ * `1-3-2-id-allow-camera`, `1-3-2-id-quit-process` and
23
+ * `1-3-2-id-allow-camera-quit-process` siblings — which differ only in which
24
+ * control is pressed, i.e. copy/interaction variants of this ONE screen.
25
+ *
26
+ * Warning status mark → Title → three reason rows → a tertiary "quit" link →
27
+ * the permission CTA. `showHeader={false}` keeps the section's logo-free chrome
28
+ * (the flow has not started) with the nav row still reserved.
29
+ *
30
+ * NOT built from this group: `1-3-1-id-iOS+Android` and `1-4-1-id` are the
31
+ * NATIVE OS permission dialogs (an iOS alert and an Android sheet drawn as
32
+ * documentation), and `1-4-2-id` is a step list whose rows are OS app icons
33
+ * (Settings, Safari, the iOS camera tile). None of them is a Prizma surface and
34
+ * none of their chrome exists in Core — building them would mean inventing
35
+ * primitives and shipping platform raster assets, both forbidden (§10, rule 1).
36
+ * Reported to the owner instead. DEVIATIONS.md #IDC-26.
37
+ */
38
+ export const IdCapturePermissionScreen = forwardRef(({ strings, screenId = 'id-capture-permission', showHeader = false, overrides, onAction, ...shell }, ref) => (_jsx(PrizmaListScreen, { ref: ref, showHeader: showHeader, status: "warning", title: strings.permission.title, subtitle: strings.permission.description, ctaLabel: strings.permission.ctaLabel, linkLabel: strings.permission.quitLabel, verifiedLabel: strings.verifiedLabel, navLabel: strings.navLabel, screenId: screenId, overrides: overrides, onAction: onAction, ...shell, children: _jsx(PrizmaCardListCommonIssues, { items: strings.permission.rows.map((row, i) => ({
39
+ icon: ROW_ICONS[i % ROW_ICONS.length],
40
+ title: row.title,
41
+ subtitle: row.description,
42
+ showSubtitle: Boolean(row.description),
43
+ })) }) })));
44
+ IdCapturePermissionScreen.displayName = 'IdCapturePermissionScreen';
45
+ export default IdCapturePermissionScreen;
@@ -0,0 +1,59 @@
1
+ import React, { type ReactNode } from 'react';
2
+ import { type PrizmaResultScreenProps } from './ResultScreen';
3
+ import type { PrizmaScreenActionHandler, PrizmaScreenOverrides } from './types';
4
+ import type { IdCaptureDocumentType, IdCaptureStrings } from './IdCaptureStrings';
5
+ import './ScreenLayout.css';
6
+ import './IdCaptureLayout.css';
7
+ /**
8
+ * Which verdict the screen reports. Each maps onto a purple section family:
9
+ * - `review` — `*-review` (no status icon, Retake + Continue)
10
+ * - `success` — `*-success`, `1-10-2-id-success-capture-only`
11
+ * - `error` — `*-attempt`, `*-failed-attempt` (retries left)
12
+ * - `exhausted` — `*-no-attempts` (retries used up)
13
+ * - `classification` — Classification Errors / "Scan the back of your ID"
14
+ */
15
+ export type IdCaptureResultVerdict = 'review' | 'success' | 'error' | 'exhausted' | 'classification';
16
+ export interface IdCaptureResultScreenProps extends Omit<PrizmaResultScreenProps, 'status' | 'title' | 'subtitle' | 'children' | 'disclaimer' | 'ctaLabel' | 'secondaryCtaLabel' | 'ctaOrientation' | 'verifiedLabel' | 'navLabel'> {
17
+ /** Module copy — this screen reads the slice its `verdict` names. */
18
+ strings: IdCaptureStrings;
19
+ /** Which purple result section to render. Default `success`. */
20
+ verdict?: IdCaptureResultVerdict;
21
+ /** Which document was captured — Core `PrizmaIdCapture.type`. */
22
+ documentType?: IdCaptureDocumentType;
23
+ /** Portrait document orientation — the `↕️ vertical` groups. */
24
+ vertical?: boolean;
25
+ /** The captured document still (<img>) shown inside the frame. */
26
+ still?: ReactNode;
27
+ screenId?: string;
28
+ overrides?: PrizmaScreenOverrides;
29
+ onAction?: PrizmaScreenActionHandler;
30
+ }
31
+ /**
32
+ * ID Capture — the captured-document verdict screens, built on the
33
+ * `PrizmaResultScreen` archetype (GUIDELINES.md §6-F).
34
+ *
35
+ * ONE screen for every `*-review`, `*-success`, `*-attempt`,
36
+ * `*-failed-attempt` and `*-no-attempts` section across all five capture groups,
37
+ * plus the Classification Errors section — ~35 purple sections that are copy,
38
+ * status-icon, frame-state and CTA variants of a single layout.
39
+ *
40
+ * The captured still rides in the archetype's `children` slot, the attempts line
41
+ * in `disclaimer`, and the review/classification action pair in
42
+ * `secondaryCtaLabel`. This file used to hand-build the whole shell (198 lines)
43
+ * with its own three-band arithmetic in `IdCaptureLayout.css`; the archetype now
44
+ * owns every offset, with two measured consequences logged as #F-33: the title
45
+ * block sits Spacing/16 above the frame rather than the module's Spacing/40, and
46
+ * review's Retake+Continue pair stacks vertically instead of sitting side by side
47
+ * (the archetype has one CTA orientation).
48
+ *
49
+ * `showHeader={false}` keeps the family's chrome as Figma draws it — no logo —
50
+ * while still reserving the nav row, so the offsets are identical to every other
51
+ * screen (owner rule 2026-08-18).
52
+ *
53
+ * Everything visual belongs to Core: the status marks are `PrizmaTitle`'s icon
54
+ * slot (outline bank icons — the module Figma still draws the two-tone filled
55
+ * discs, DEVIATIONS.md #15 again), and the frame and its border are
56
+ * `PrizmaIdCapture`.
57
+ */
58
+ export declare const IdCaptureResultScreen: React.ForwardRefExoticComponent<IdCaptureResultScreenProps & React.RefAttributes<HTMLDivElement>>;
59
+ export default IdCaptureResultScreen;