@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 PrizmaListScreenProps } from './ListScreen';
3
+ import type { PrizmaScreenActionHandler, PrizmaScreenOverrides } from './types';
4
+ import type { PermissionsCapability, PermissionsStrings } from './PermissionsStrings';
5
+ import './ScreenLayout.css';
6
+ export interface PermissionsRequiredScreenProps extends Omit<PrizmaListScreenProps, 'status' | 'title' | 'subtitle' | 'children' | 'ctaLabel' | 'linkLabel' | 'verifiedLabel' | 'navLabel'> {
7
+ /** Family copy โ€” this screen reads the `required` slice. */
8
+ strings: PermissionsStrings;
9
+ /** Which capability is being asked for. Keys the first row's glyph. Default `camera`. */
10
+ capability?: PermissionsCapability;
11
+ screenId?: string;
12
+ overrides?: PrizmaScreenOverrides;
13
+ onAction?: PrizmaScreenActionHandler;
14
+ }
15
+ /**
16
+ * Permissions โ€” "Camera permission is required", built on the List archetype
17
+ * (GUIDELINES.md ยง6-G, `PrizmaListScreen`).
18
+ *
19
+ * Figma: `1-3-2-id` of the `Permissions` section (qGJjfL4O0JSjz1x4tOjJn8,
20
+ * 3:1193). This is the screen a user lands on after refusing the browser's own
21
+ * prompt: a warning mark, the headline, three rows saying what the capability
22
+ * is for, a tertiary "quit" link and the ask.
23
+ *
24
+ * `1-3-2-id-quit-process` is the SAME screen with an iOS confirm alert layered
25
+ * over it โ€” an OS surface, not a second Prizma screen, so it is not built here
26
+ * (see `PermissionsStrings.ts`).
27
+ *
28
+ * `showHeader={false}` keeps the section's logo-free chrome โ€” the flow has not
29
+ * started โ€” with the nav row still reserved so nothing shifts on the next
30
+ * screen.
31
+ *
32
+ * Figma draws the status mark as a filled amber disc; Core renders the
33
+ * canonical OUTLINE warning mark (icon-outline sweep, DEVIATIONS #15). The
34
+ * generic file is one sweep behind, exactly as the module files were.
35
+ */
36
+ export declare const PermissionsRequiredScreen: React.ForwardRefExoticComponent<PermissionsRequiredScreenProps & React.RefAttributes<HTMLDivElement>>;
37
+ export default PermissionsRequiredScreen;
@@ -0,0 +1,51 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { forwardRef } from 'react';
4
+ import { IconApproval, IconBankCardSearch, IconCamera, IconGeoPin, IconMicrophone, } 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 reason rows' leading glyphs, in the order the frame lists them: the
10
+ * capability itself ยท what it proves ยท that it is required. Canonical bank only
11
+ * (ยง10). The first row is keyed to the capability so a microphone prompt does
12
+ * not lead with a camera.
13
+ */
14
+ const LEAD_ICON = {
15
+ camera: _jsx(IconCamera, { size: "m" }),
16
+ microphone: _jsx(IconMicrophone, { size: "m" }),
17
+ location: _jsx(IconGeoPin, { size: "m" }),
18
+ };
19
+ const TRAILING_ICONS = [
20
+ _jsx(IconBankCardSearch, { size: "m" }, "authenticity"),
21
+ _jsx(IconApproval, { size: "m" }, "required"),
22
+ ];
23
+ /**
24
+ * Permissions โ€” "Camera permission is required", built on the List archetype
25
+ * (GUIDELINES.md ยง6-G, `PrizmaListScreen`).
26
+ *
27
+ * Figma: `1-3-2-id` of the `Permissions` section (qGJjfL4O0JSjz1x4tOjJn8,
28
+ * 3:1193). This is the screen a user lands on after refusing the browser's own
29
+ * prompt: a warning mark, the headline, three rows saying what the capability
30
+ * is for, a tertiary "quit" link and the ask.
31
+ *
32
+ * `1-3-2-id-quit-process` is the SAME screen with an iOS confirm alert layered
33
+ * over it โ€” an OS surface, not a second Prizma screen, so it is not built here
34
+ * (see `PermissionsStrings.ts`).
35
+ *
36
+ * `showHeader={false}` keeps the section's logo-free chrome โ€” the flow has not
37
+ * started โ€” with the nav row still reserved so nothing shifts on the next
38
+ * screen.
39
+ *
40
+ * Figma draws the status mark as a filled amber disc; Core renders the
41
+ * canonical OUTLINE warning mark (icon-outline sweep, DEVIATIONS #15). The
42
+ * generic file is one sweep behind, exactly as the module files were.
43
+ */
44
+ export const PermissionsRequiredScreen = forwardRef(({ strings, capability = 'camera', screenId = 'permissions-required', showHeader = false, overrides, onAction, ...shell }, ref) => (_jsx(PrizmaListScreen, { ref: ref, showHeader: showHeader, status: "warning", title: strings.required.title, subtitle: strings.required.description, ctaLabel: strings.required.ctaLabel, linkLabel: strings.required.quitLabel, verifiedLabel: strings.verifiedLabel, navLabel: strings.navLabel, screenId: screenId, overrides: overrides, onAction: onAction, ...shell, children: _jsx(PrizmaCardListCommonIssues, { items: strings.required.rows.map((row, i) => ({
45
+ icon: i === 0 ? LEAD_ICON[capability] : TRAILING_ICONS[(i - 1) % TRAILING_ICONS.length],
46
+ title: row.title,
47
+ subtitle: row.description,
48
+ showSubtitle: Boolean(row.description),
49
+ })) }) })));
50
+ PermissionsRequiredScreen.displayName = 'PermissionsRequiredScreen';
51
+ export default PermissionsRequiredScreen;
@@ -0,0 +1,70 @@
1
+ /**
2
+ * The capability being asked for. The Figma section is drawn for the camera
3
+ * throughout, but the skeleton is identical for a microphone or a location
4
+ * prompt โ€” so the screens never name the device themselves, the copy does, and
5
+ * this type exists only to key the reason-row glyphs.
6
+ */
7
+ export type PermissionsCapability = 'camera' | 'microphone' | 'location';
8
+ /** A single reason row โ€” Core `PrizmaCardListCommonIssues` rows. */
9
+ export interface PermissionsReasonRow {
10
+ title: string;
11
+ description?: string;
12
+ }
13
+ /**
14
+ * Which browser's "turn it back on" journey to show. `safariIos` is the base
15
+ * `1-4-2-id` frame; the other four are the `Android browsers` section of the
16
+ * Web flow (4:8159). Re-enabling a permission is a different journey in every
17
+ * browser, which is why one screen carries five step lists rather than five
18
+ * screens carrying one skeleton.
19
+ */
20
+ export type PermissionsBrowser = 'safariIos' | 'chromeAndroid' | 'firefoxAndroid' | 'samsungAndroid' | 'operaAndroid';
21
+ /**
22
+ * Step kind โ†’ canonical bank glyph, resolved in
23
+ * `PermissionsBrowserStepsScreen`. Figma leads every row with OS/browser chrome
24
+ * the Prizma bank does not ship โ€” a โ‹ฎ overflow, a gear tile, a permission
25
+ * toggle, and each browser's own logo on the last row. Shipping those would
26
+ * mean inventing primitives and bundling brand rasters, so each row takes the
27
+ * nearest canonical glyph. Same substitution table Geolocation already
28
+ * escalated (`GeolocationBrowserStepsScreen`); this family reuses it rather
29
+ * than inventing a second one.
30
+ */
31
+ export type PermissionsStepKind = 'settings' | 'browser' | 'menu' | 'permissions' | 'camera' | 'toggle' | 'device' | 'apps' | 'return';
32
+ export interface PermissionsStep {
33
+ kind: PermissionsStepKind;
34
+ label: string;
35
+ }
36
+ export interface PermissionsBrowserSteps {
37
+ /** Names the browser under the headline. Figma labels the section, not the
38
+ * screen; the label keeps five otherwise near-identical cards apart. */
39
+ label: string;
40
+ steps: PermissionsStep[];
41
+ }
42
+ export interface PermissionsStrings {
43
+ /** Accessible name for the logo nav region (i18n โ€” no baked-in English). */
44
+ navLabel?: string;
45
+ /** "verified by" attribution copy for the footer tag. */
46
+ verifiedLabel: string;
47
+ /** `1-3-2-id` โ€” the permission was refused and the flow explains why it needs it. */
48
+ required: {
49
+ title: string;
50
+ /** Optional line under the title. Figma's frame draws the rows alone. */
51
+ description?: string;
52
+ rows: PermissionsReasonRow[];
53
+ /** Tertiary link โ€” "Quit process". */
54
+ quitLabel: string;
55
+ ctaLabel: string;
56
+ };
57
+ /** `1-3-2-id-allow-camera` โ€” the first ask, before any refusal. */
58
+ allow: {
59
+ title: string;
60
+ subtitle?: string;
61
+ quitLabel: string;
62
+ ctaLabel: string;
63
+ };
64
+ /** `1-4-2-id` + the four `Android browsers` siblings. */
65
+ browserSteps: {
66
+ title: string;
67
+ ctaLabel: string;
68
+ browsers: Record<PermissionsBrowser, PermissionsBrowserSteps>;
69
+ };
70
+ }
@@ -0,0 +1,36 @@
1
+ // Permission screens โ€” copy contract for the GENERIC family.
2
+ //
3
+ // Figma: `Module Generic Screens` (qGJjfL4O0JSjz1x4tOjJn8), section
4
+ // `Permissions` (3:1193), with the two full-flow frames `๐ŸŽ iOS` (3:7788) and
5
+ // `๐ŸŒ Web` (3:620).
6
+ //
7
+ // These screens are not one module's. Every module that reaches for the camera
8
+ // โ€” ID Capture, Face Capture, Document Capture, Video Selfie โ€” shows the SAME
9
+ // three surfaces when the browser or the OS says no, which is why the file that
10
+ // documents them is called "Generic Screens" and why they live here rather than
11
+ // under a module prefix. `IdCapturePermissionScreen` predates this family and
12
+ // is the ID Capture-flavoured copy of the same skeleton; it stays where it is so
13
+ // nothing that imports it breaks (DEVIATIONS #IDC-26).
14
+ //
15
+ // The section's seven frames collapse onto THREE built screens:
16
+ //
17
+ // 1-3-2-id โ†’ PermissionsRequiredScreen (reason rows)
18
+ // 1-3-2-id-allow-camera โ†’ PermissionsAllowScreen (subtitle)
19
+ // 1-4-2-id (+ 4 Android siblings) โ†’ PermissionsBrowserStepsScreen
20
+ //
21
+ // The other four are OS chrome and are NOT built:
22
+ //
23
+ // 1-3-1-id-permission-modal the browser's own "Allow camera access" sheet
24
+ // 1-4-1-id the iOS "โ€ฆWould Like to Access the Camera" alert
25
+ // 1-3-2-id-quit-process an iOS confirm alert layered over 1-3-2-id
26
+ // 1-3-2-id-allow-camera-quit the same alert layered over the allow screen
27
+ //
28
+ // None of them is a Prizma surface: their chrome does not exist in Core and
29
+ // rebuilding it would mean inventing primitives and shipping platform rasters,
30
+ // both forbidden (rule 1, GUIDELINES ยง10). Same call as Document Capture's iOS
31
+ // action sheets (#DC-20) and Geolocation's system alert. Core Lab draws them as
32
+ // dashed OS mocks on the flow instead, so the chain still reads.
33
+ //
34
+ // No hardcoded English anywhere in a screen: every visible string arrives here,
35
+ // so a host's locale pack drives the family.
36
+ export {};
@@ -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 { PhoneInputErrorVariant, PhoneInputStrings } from './PhoneInputStrings';
5
+ import './ScreenLayout.css';
6
+ export interface PhoneInputErrorScreenProps extends Omit<PrizmaResultScreenProps, 'status' | 'title' | 'subtitle' | 'glyph' | 'ctaLabel' | 'verifiedLabel' | 'navLabel'> {
7
+ /** Module copy โ€” this screen reads the `error` slice its `variant` names. */
8
+ strings: PhoneInputStrings;
9
+ /** Which purple `phoneNumber.error.*` section to render. Default `tryAgain`. */
10
+ variant?: PhoneInputErrorVariant;
11
+ screenId?: string;
12
+ overrides?: PrizmaScreenOverrides;
13
+ onAction?: PrizmaScreenActionHandler;
14
+ }
15
+ /**
16
+ * Phone Input โ€” the error verdicts, built on the Result archetype
17
+ * (GUIDELINES.md ยง6-F, `PrizmaResultScreen`).
18
+ *
19
+ * ONE screen for the three purple `phoneNumber.error.*` sections:
20
+ * - `tryAgain` โ€” the code could not be sent, retry
21
+ * - `unknown` โ€” `phonenumber.error.unknown`, the generic failure
22
+ * - `noNetwork` โ€” the connectivity family every module carries
23
+ *
24
+ * `noNetwork` KEEPS the logo header and the verified tag, exactly as the three
25
+ * Wave-2 `*NoConnectionScreen`s do. The module Figma draws this section bare โ€”
26
+ * DEVIATIONS #9 recorded that observation in Wave 1 โ€” but the owner rule of
27
+ * 2026-08-18 (#F-34) supersedes it: the chrome is constant across every screen
28
+ * so nothing shifts between states, and all four modules' connectivity screens
29
+ * must read identically. DEVIATIONS #PI-8.
30
+ *
31
+ * The Wi-Fi mark is Figma's `Icon / Wi-Fi`; Core's `PrizmaTitle` icon allowlist
32
+ * is `status | spinner | none`, so it rides the archetype's `glyph` slot with
33
+ * the foundation's `__glyph` class, drawn from the canonical icon bank
34
+ * (DEVIATIONS #10).
35
+ */
36
+ export declare const PhoneInputErrorScreen: React.ForwardRefExoticComponent<PhoneInputErrorScreenProps & React.RefAttributes<HTMLDivElement>>;
37
+ export default PhoneInputErrorScreen;
@@ -0,0 +1,47 @@
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
+ * Phone Input โ€” the error verdicts, built on the Result archetype
9
+ * (GUIDELINES.md ยง6-F, `PrizmaResultScreen`).
10
+ *
11
+ * ONE screen for the three purple `phoneNumber.error.*` sections:
12
+ * - `tryAgain` โ€” the code could not be sent, retry
13
+ * - `unknown` โ€” `phonenumber.error.unknown`, the generic failure
14
+ * - `noNetwork` โ€” the connectivity family every module carries
15
+ *
16
+ * `noNetwork` KEEPS the logo header and the verified tag, exactly as the three
17
+ * Wave-2 `*NoConnectionScreen`s do. The module Figma draws this section bare โ€”
18
+ * DEVIATIONS #9 recorded that observation in Wave 1 โ€” but the owner rule of
19
+ * 2026-08-18 (#F-34) supersedes it: the chrome is constant across every screen
20
+ * so nothing shifts between states, and all four modules' connectivity screens
21
+ * must read identically. DEVIATIONS #PI-8.
22
+ *
23
+ * The Wi-Fi mark is Figma's `Icon / Wi-Fi`; Core's `PrizmaTitle` icon allowlist
24
+ * is `status | spinner | none`, so it rides the archetype's `glyph` slot with
25
+ * the foundation's `__glyph` class, drawn from the canonical icon bank
26
+ * (DEVIATIONS #10).
27
+ */
28
+ export const PhoneInputErrorScreen = forwardRef(({ strings, variant = 'tryAgain', screenId = `phone-input-error-${variant}`, overrides, onAction, ...shell }, ref) => {
29
+ const noConnection = variant === 'noNetwork';
30
+ const copy = noConnection
31
+ ? strings.error.noConnection
32
+ : variant === 'unknown'
33
+ ? strings.error.unknown
34
+ : strings.error.tryAgain;
35
+ return (_jsx(PrizmaResultScreen, { ref: ref,
36
+ /* The connectivity screen leads with the Wi-Fi glyph instead of a
37
+ status mark; the other two carry the canonical error mark. */
38
+ status: noConnection ? 'none' : 'error', glyph: noConnection ? (_jsx("span", { className: [
39
+ 'prizma-screen-layout__glyph',
40
+ 'prizma-screen-layout__glyph--negative',
41
+ overrides?.align === 'left' ? 'prizma-screen-layout__glyph--left' : '',
42
+ ]
43
+ .filter(Boolean)
44
+ .join(' '), children: _jsx(IconWifiOff, { size: "l" }) })) : undefined, title: copy.title, subtitle: copy.subtitle, ctaLabel: copy.ctaLabel, verifiedLabel: strings.verifiedLabel, navLabel: strings.navLabel, screenId: screenId, overrides: overrides, onAction: onAction, ...shell }));
45
+ });
46
+ PhoneInputErrorScreen.displayName = 'PhoneInputErrorScreen';
47
+ export default PhoneInputErrorScreen;
@@ -0,0 +1,61 @@
1
+ /* Phone Input โ€” module layout additions.
2
+ *
3
+ * ONLY what the foundation archetypes and Prizma Core do not already own.
4
+ * Every value is a token. Nothing here re-declares an archetype spacing rule:
5
+ * the content column, the 24px gutters, the title โ†’ fields offset and the
6
+ * anchored footer all stay the foundation's (`ScreenLayout.css`,
7
+ * `FormScreen.css`).
8
+ */
9
+
10
+ /* โ”€โ”€ Combined country + phone row โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
11
+ * Figma `Input / Combined` (3939:41889): "a combined form element that allows
12
+ * users to input phone number" โ€” a dropdown + text field pair at Spacing/8,
13
+ * the dropdown hugging its content, the field filling the rest.
14
+ *
15
+ * Core ships both primitives; what it has no component for is the PAIRING, so
16
+ * the row lives here. `align-items: start` keeps the two fields top-aligned
17
+ * when the text field grows an error/helper row that the dropdown does not.
18
+ */
19
+ .phone-input-combined {
20
+ display: flex;
21
+ align-items: flex-start;
22
+ gap: var(--prizma-spacing-8);
23
+ width: 100%;
24
+ }
25
+
26
+ /* The dial-code dropdown hugs its content ("๐Ÿ‡ท๐Ÿ‡ธ +381"), as Figma draws it.
27
+ *
28
+ * Core's `.prizma-dropdown` is `width: 100%` (Dropdown.css) โ€” it is built to
29
+ * FILL its container and ships no hug/auto-width variant, so inside this row it
30
+ * consumed the whole column and pushed the number field out. Constrained here
31
+ * from the module layer (no Core file touched, no !important): `width: auto`
32
+ * releases the fill and `flex: 0 0 auto` keeps the row from stretching it back.
33
+ * The inner `__anchor` inherits the same rule for the same reason.
34
+ * A `width`/`fit` prop on `PrizmaDropdown` would remove this โ€” DEVIATIONS #PI-1.
35
+ */
36
+ .phone-input-combined__country,
37
+ .phone-input-combined__country .prizma-dropdown__anchor,
38
+ .phone-input-combined__country .prizma-dropdown__label-container {
39
+ flex: 0 0 auto;
40
+ width: auto;
41
+ }
42
+
43
+ /* โ€ฆand the number field takes the remaining width. `min-width: 0` is what lets
44
+ * it actually shrink inside the flex row instead of overflowing the column. */
45
+ .phone-input-combined__number {
46
+ flex: 1 1 auto;
47
+ min-width: 0;
48
+ }
49
+
50
+ /* The open menu must NOT inherit the hugged anchor's width: Core anchors the
51
+ * menu to the trigger, so once the trigger hugs "๐Ÿ‡ท๐Ÿ‡ธ +381" the option rows
52
+ * truncate ("+โ€ฆ"). The menu keeps its own readable width โ€” it lists country
53
+ * names and dial codes, which the closed field never shows. Sized to the
54
+ * content and capped at the 342 column so it never escapes the screen.
55
+ * DEVIATIONS #PI-1 (same root cause as the hug).
56
+ */
57
+ .phone-input-combined__country .prizma-dropdown__menu {
58
+ width: max-content;
59
+ min-width: 100%;
60
+ max-width: 342px;
61
+ }
@@ -0,0 +1,37 @@
1
+ import React from 'react';
2
+ import { type PrizmaFormScreenProps } from './FormScreen';
3
+ import type { PrizmaScreenActionHandler, PrizmaScreenOverrides } from './types';
4
+ import type { PhoneInputOtpState, PhoneInputStrings } from './PhoneInputStrings';
5
+ import './ScreenLayout.css';
6
+ import './PhoneInputLayout.css';
7
+ export interface PhoneInputOtpScreenProps extends Omit<PrizmaFormScreenProps, 'title' | 'subtitle' | 'ctaLabel' | 'verifiedLabel' | 'children' | 'navLabel'> {
8
+ /** Module copy โ€” this screen reads the `otp` slice. */
9
+ strings: PhoneInputStrings;
10
+ /** Which purple `phoneNumber.OTP.*` section to render. Default `typing`. */
11
+ state?: PhoneInputOtpState;
12
+ /** The code as typed. `typing` draws a partial value, `filled` a complete one. */
13
+ value?: string;
14
+ /** How many digits the code carries. Default 6. */
15
+ length?: number;
16
+ screenId?: string;
17
+ overrides?: PrizmaScreenOverrides;
18
+ onAction?: PrizmaScreenActionHandler;
19
+ }
20
+ /**
21
+ * Phone Input โ€” the one-time-code screen, built on the Form archetype
22
+ * (GUIDELINES.md ยง6-E, `PrizmaFormScreen`).
23
+ *
24
+ * ONE screen for all four purple `phoneNumber.OTP.*` sections
25
+ * (`typing` / `filled` / `processing` / `error`) โ€” identical layout, differing
26
+ * only in the state of the code field and the CTA.
27
+ *
28
+ * `processing` deliberately does NOT use Core's `PrizmaOtp.loading`. That prop
29
+ * centres the spinner INSIDE the code field (owner definition 2026-07-12), but
30
+ * the purple `OTP.processing` section draws the field simply DISABLED with the
31
+ * code still legible and puts the spinner in the CTA โ€” the same treatment as
32
+ * `verify.loading`, which is what makes the module read consistently. Figma
33
+ * wins; `PrizmaOtp.loading` stays correct for hosts that want the in-field
34
+ * spinner. DEVIATIONS #PI-5.
35
+ */
36
+ export declare const PhoneInputOtpScreen: React.ForwardRefExoticComponent<PhoneInputOtpScreenProps & React.RefAttributes<HTMLDivElement>>;
37
+ export default PhoneInputOtpScreen;
@@ -0,0 +1,44 @@
1
+ 'use client';
2
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { forwardRef } from 'react';
4
+ import { PrizmaOtp } from '@incodetech/prizma-core-web/otp';
5
+ import { PrizmaFormScreen } from './FormScreen';
6
+ import './ScreenLayout.css';
7
+ import './PhoneInputLayout.css';
8
+ /**
9
+ * Phone Input โ€” the one-time-code screen, built on the Form archetype
10
+ * (GUIDELINES.md ยง6-E, `PrizmaFormScreen`).
11
+ *
12
+ * ONE screen for all four purple `phoneNumber.OTP.*` sections
13
+ * (`typing` / `filled` / `processing` / `error`) โ€” identical layout, differing
14
+ * only in the state of the code field and the CTA.
15
+ *
16
+ * `processing` deliberately does NOT use Core's `PrizmaOtp.loading`. That prop
17
+ * centres the spinner INSIDE the code field (owner definition 2026-07-12), but
18
+ * the purple `OTP.processing` section draws the field simply DISABLED with the
19
+ * code still legible and puts the spinner in the CTA โ€” the same treatment as
20
+ * `verify.loading`, which is what makes the module read consistently. Figma
21
+ * wins; `PrizmaOtp.loading` stays correct for hosts that want the in-field
22
+ * spinner. DEVIATIONS #PI-5.
23
+ */
24
+ export const PhoneInputOtpScreen = forwardRef(({ strings, state = 'typing', value, length = 6, screenId = `phone-input-otp-${state}`, overrides, onAction, ...shell }, ref) => (_jsx(PrizmaFormScreen, { ref: ref, title: strings.otp.title, subtitle: strings.otp.subtitle, ctaLabel: strings.otp.ctaLabel,
25
+ /* Figma greys the CTA until the code is complete. */
26
+ ctaDisabled: state === 'typing',
27
+ /* The spinner rides the CTA, not the field (see the note above). */
28
+ ctaLoading: state === 'processing', ctaLoadingLabel: strings.otp.ctaLoadingLabel,
29
+ /* "Didn't receive the code? Resend code or Change phone number" โ€” drawn
30
+ under the CTA on every OTP section. ONE sentence, TWO independently
31
+ actionable links, so it uses the archetype's composed-line slot rather
32
+ than `linkLabel` (a full-width 56px button cannot sit inside a line of
33
+ body text, and one button could not tell the two actions apart โ€”
34
+ DEVIATIONS #PI-10). */
35
+ linkContent: strings.otp.resendPrompt ? (_jsxs("p", { className: "prizma-screen-layout__inline-prompt", children: [strings.otp.resendPrompt, ' ', strings.otp.resendLabel ? (_jsx("button", { type: "button", className: "prizma-screen-layout__inline-link", onClick: () => onAction?.({ type: 'secondary', screenId }), children: strings.otp.resendLabel })) : null, strings.otp.changeNumberLabel ? (_jsxs(_Fragment, { children: [' ', strings.otp.resendSeparator, ' ', _jsx("button", { type: "button", className: "prizma-screen-layout__inline-link", onClick: () => onAction?.({ type: 'tertiary', screenId }), children: strings.otp.changeNumberLabel })] })) : null] })) : undefined, verifiedLabel: strings.verifiedLabel, navLabel: strings.navLabel, screenId: screenId, overrides: overrides, onAction: onAction, ...shell, children: _jsx(PrizmaOtp, { length: length,
36
+ /* Uncontrolled, for the same reason as the phone field: `readOnly`
37
+ would paint Core's DISABLED surface on the resting states, which is
38
+ grey Figma does not draw there (DEVIATIONS #PI-6). */
39
+ defaultValue: value ?? '',
40
+ /* `processing` is the one section Figma greys โ€” the code stays legible
41
+ while the check runs. */
42
+ disabled: state === 'processing', error: state === 'error', errorText: state === 'error' ? strings.otp.errorText : undefined }) })));
43
+ PhoneInputOtpScreen.displayName = 'PhoneInputOtpScreen';
44
+ export default PhoneInputOtpScreen;
@@ -0,0 +1,23 @@
1
+ import React from 'react';
2
+ import { type PrizmaProcessingScreenProps } from './ProcessingScreen';
3
+ import type { PrizmaScreenActionHandler, PrizmaScreenOverrides } from './types';
4
+ import type { PhoneInputStrings } from './PhoneInputStrings';
5
+ import './ScreenLayout.css';
6
+ export interface PhoneInputSnaLoadingScreenProps extends Omit<PrizmaProcessingScreenProps, 'status' | 'title' | 'subtitle' | 'verifiedLabel' | 'navLabel'> {
7
+ /** Module copy โ€” this screen reads the `sna` slice. */
8
+ strings: PhoneInputStrings;
9
+ screenId?: string;
10
+ overrides?: PrizmaScreenOverrides;
11
+ onAction?: PrizmaScreenActionHandler;
12
+ }
13
+ /**
14
+ * Phone Input โ€” Silent Network Auth in flight, built on the Processing
15
+ * archetype (GUIDELINES.md ยง6-C, `PrizmaProcessingScreen`).
16
+ *
17
+ * Figma: the purple `phoneNumber.loading` section (`phoneNumber.SNA.loading`).
18
+ * A pure spinner + H2 screen with no button, which is exactly the case ยง6-F
19
+ * reserves for C rather than the Result archetype โ€” nothing here needs a CTA
20
+ * band, so the centred column stays.
21
+ */
22
+ export declare const PhoneInputSnaLoadingScreen: React.ForwardRefExoticComponent<PhoneInputSnaLoadingScreenProps & React.RefAttributes<HTMLDivElement>>;
23
+ export default PhoneInputSnaLoadingScreen;
@@ -0,0 +1,17 @@
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
+ * Phone Input โ€” Silent Network Auth in flight, built on the Processing
8
+ * archetype (GUIDELINES.md ยง6-C, `PrizmaProcessingScreen`).
9
+ *
10
+ * Figma: the purple `phoneNumber.loading` section (`phoneNumber.SNA.loading`).
11
+ * A pure spinner + H2 screen with no button, which is exactly the case ยง6-F
12
+ * reserves for C rather than the Result archetype โ€” nothing here needs a CTA
13
+ * band, so the centred column stays.
14
+ */
15
+ export const PhoneInputSnaLoadingScreen = forwardRef(({ strings, screenId = 'phone-input-sna-loading', overrides, onAction, ...shell }, ref) => (_jsx(PrizmaProcessingScreen, { ref: ref, status: "loading", title: strings.sna.title, subtitle: strings.sna.subtitle, verifiedLabel: strings.verifiedLabel, navLabel: strings.navLabel, screenId: screenId, overrides: overrides, onAction: onAction, ...shell })));
16
+ PhoneInputSnaLoadingScreen.displayName = 'PhoneInputSnaLoadingScreen';
17
+ export default PhoneInputSnaLoadingScreen;
@@ -0,0 +1,121 @@
1
+ /**
2
+ * The `phoneNumber.verify.*` sections. All five draw the SAME layout โ€” the
3
+ * country dropdown + phone field pair โ€” and differ only in field content and
4
+ * CTA state, so they are states of one screen rather than five screens:
5
+ * - `default` โ€” placeholder phone, CTA enabled (Figma draws it enabled)
6
+ * - `countryCode` โ€” the country dropdown open over the form
7
+ * - `typing` โ€” partial value, focused field
8
+ * - `filled` โ€” complete value
9
+ * - `loading` โ€” CTA in its loading treatment while the code is requested
10
+ */
11
+ export type PhoneInputVerifyState = 'default' | 'countryCode' | 'typing' | 'filled' | 'loading';
12
+ /**
13
+ * The `phoneNumber.OTP.*` sections โ€” same layout, different field state:
14
+ * - `typing` โ€” partial code
15
+ * - `filled` โ€” complete code
16
+ * - `processing` โ€” code submitted, `PrizmaOtp` in its loading treatment
17
+ * - `error` โ€” wrong code, negative field + error row
18
+ */
19
+ export type PhoneInputOtpState = 'typing' | 'filled' | 'processing' | 'error';
20
+ /**
21
+ * The `phoneNumber.error.*` sections. `tryAgain` and `unknown` keep the module
22
+ * chrome; `noNetwork` is the connectivity family every module carries โ€” no nav,
23
+ * no tag, a Wi-Fi glyph above the title (DEVIATIONS #9, #10).
24
+ */
25
+ export type PhoneInputErrorVariant = 'tryAgain' | 'unknown' | 'noNetwork';
26
+ /** One selectable country in the dial-code dropdown. Runtime data, not copy โ€”
27
+ * the host supplies its own list; `flag` is the emoji Figma draws (Core has no
28
+ * country-flag primitive โ€” DEVIATIONS #PI-3). */
29
+ export interface PhoneInputCountry {
30
+ /** Stable value, e.g. an ISO 3166-1 alpha-2 code. */
31
+ value: string;
32
+ /** Dial code as drawn, e.g. `+381`. */
33
+ dialCode: string;
34
+ /** Country name for the open menu row. */
35
+ label: string;
36
+ /** Emoji flag, e.g. `๐Ÿ‡ท๐Ÿ‡ธ`. */
37
+ flag?: string;
38
+ }
39
+ export interface PhoneInputStrings {
40
+ /** "verified by" attribution in the footer tag. */
41
+ verifiedLabel: string;
42
+ /** Accessible name for the logo nav row. */
43
+ navLabel?: string;
44
+ /** phoneNumber.verify.* */
45
+ verify: {
46
+ /** H2 ("Verify your phone number"). */
47
+ title: string;
48
+ /** H5 ("We'll send you a code to ensure it's yours"). */
49
+ subtitle: string;
50
+ /** Phone field placeholder ("(123) 123-45-67"). */
51
+ placeholder: string;
52
+ /** Accessible label for the phone field. */
53
+ fieldLabel?: string;
54
+ /** Accessible label for the country dial-code dropdown. */
55
+ countryLabel?: string;
56
+ /** Search placeholder inside the open country menu. */
57
+ countrySearchPlaceholder?: string;
58
+ /** Primary CTA ("Continue"). */
59
+ ctaLabel: string;
60
+ /** Accessible busy label while the code is requested (`loading`). */
61
+ ctaLoadingLabel?: string;
62
+ };
63
+ /** phoneNumber.OTP.* */
64
+ otp: {
65
+ /** H2 ("Enter the code we've sent via SMS"). */
66
+ title: string;
67
+ /** H5 โ€” carries the masked destination number, when the section shows one. */
68
+ subtitle?: string;
69
+ /** Error row on the `error` state ("Incorrect code, try again"). */
70
+ errorText: string;
71
+ /**
72
+ * The line under the CTA is ONE sentence carrying TWO separate links:
73
+ * "Didn't receive the code? [Resend code] or [Change phone number]".
74
+ * It is split into four strings because the links are independently
75
+ * actionable โ€” the host must be able to tell a re-send from a return to
76
+ * phone entry โ€” and because a locale needs to order the fragments itself.
77
+ * Omit `resendPrompt` to render no line at all.
78
+ */
79
+ resendPrompt?: string;
80
+ /** First link โ€” re-sends the code. Emits `secondary`. */
81
+ resendLabel?: string;
82
+ /** The conjunction between the two links ("or"). */
83
+ resendSeparator?: string;
84
+ /** Second link โ€” returns to phone entry. Emits `tertiary`. */
85
+ changeNumberLabel?: string;
86
+ /** Primary CTA. */
87
+ ctaLabel: string;
88
+ /** Accessible / visible busy copy while the code is checked (`processing`). */
89
+ ctaLoadingLabel?: string;
90
+ };
91
+ /** phoneNumber.loading โ€” Silent Network Auth, a pure processing screen. */
92
+ sna: {
93
+ /** H2 shown under the spinner. */
94
+ title: string;
95
+ subtitle?: string;
96
+ };
97
+ /** phoneNumber.success */
98
+ success: {
99
+ title: string;
100
+ subtitle?: string;
101
+ ctaLabel?: string;
102
+ };
103
+ /** phoneNumber.error.* โ€” one slice per variant. */
104
+ error: {
105
+ tryAgain: {
106
+ title: string;
107
+ subtitle?: string;
108
+ ctaLabel: string;
109
+ };
110
+ unknown: {
111
+ title: string;
112
+ subtitle?: string;
113
+ ctaLabel: string;
114
+ };
115
+ noConnection: {
116
+ title: string;
117
+ subtitle?: string;
118
+ ctaLabel: string;
119
+ };
120
+ };
121
+ }
@@ -0,0 +1,13 @@
1
+ // Phone Input โ€” copy contract.
2
+ //
3
+ // Figma: `๐Ÿ“ž Phone - Screens specs + Localization` (nIj8kklozEOMs2e5sLzGFi,
4
+ // page 5:13191). Five purple parent sections:
5
+ // phoneNumber.verify โ€” default / countryCode / phonetyping / phoneFilled / loading
6
+ // phoneNumber.OTP โ€” typing / filled / processing / error
7
+ // phoneNumber.loading โ€” SNA.loading (Silent Network Auth)
8
+ // phoneNumber.success โ€” success
9
+ // phoneNumber.error โ€” tryAgain / unknown / noNetwork
10
+ //
11
+ // No hardcoded English anywhere in a screen: every visible string arrives here,
12
+ // so the host's locale pack drives the module (the file ships ES + PT columns).
13
+ export {};
@@ -0,0 +1,23 @@
1
+ import React from 'react';
2
+ import { type PrizmaResultScreenProps } from './ResultScreen';
3
+ import type { PrizmaScreenActionHandler, PrizmaScreenOverrides } from './types';
4
+ import type { PhoneInputStrings } from './PhoneInputStrings';
5
+ import './ScreenLayout.css';
6
+ export interface PhoneInputSuccessScreenProps extends Omit<PrizmaResultScreenProps, 'status' | 'title' | 'subtitle' | 'ctaLabel' | 'verifiedLabel' | 'navLabel'> {
7
+ /** Module copy โ€” this screen reads the `success` slice. */
8
+ strings: PhoneInputStrings;
9
+ screenId?: string;
10
+ overrides?: PrizmaScreenOverrides;
11
+ onAction?: PrizmaScreenActionHandler;
12
+ }
13
+ /**
14
+ * Phone Input โ€” the verified verdict, built on the Result archetype
15
+ * (GUIDELINES.md ยง6-F, `PrizmaResultScreen`).
16
+ *
17
+ * Figma: the purple `phoneNumber.success` section. Centred status mark + title
18
+ * over the CTA band. The mark is Core's outline status icon via
19
+ * `PrizmaTitle`'s icon slot โ€” the module Figma still draws the two-tone filled
20
+ * disc, one icon sweep behind (DEVIATIONS #15, unchanged here).
21
+ */
22
+ export declare const PhoneInputSuccessScreen: React.ForwardRefExoticComponent<PhoneInputSuccessScreenProps & React.RefAttributes<HTMLDivElement>>;
23
+ export default PhoneInputSuccessScreen;
@@ -0,0 +1,17 @@
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
+ * Phone Input โ€” the verified verdict, built on the Result archetype
8
+ * (GUIDELINES.md ยง6-F, `PrizmaResultScreen`).
9
+ *
10
+ * Figma: the purple `phoneNumber.success` section. Centred status mark + title
11
+ * over the CTA band. The mark is Core's outline status icon via
12
+ * `PrizmaTitle`'s icon slot โ€” the module Figma still draws the two-tone filled
13
+ * disc, one icon sweep behind (DEVIATIONS #15, unchanged here).
14
+ */
15
+ export const PhoneInputSuccessScreen = forwardRef(({ strings, screenId = 'phone-input-success', overrides, onAction, ...shell }, ref) => (_jsx(PrizmaResultScreen, { ref: ref, status: "success", title: strings.success.title, subtitle: strings.success.subtitle, ctaLabel: strings.success.ctaLabel, verifiedLabel: strings.verifiedLabel, navLabel: strings.navLabel, screenId: screenId, overrides: overrides, onAction: onAction, ...shell })));
16
+ PhoneInputSuccessScreen.displayName = 'PhoneInputSuccessScreen';
17
+ export default PhoneInputSuccessScreen;