@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.
- package/README.md +74 -0
- package/dist/CaptureOverlay.css +55 -0
- package/dist/CaptureOverlay.d.ts +34 -0
- package/dist/CaptureOverlay.js +32 -0
- package/dist/CaptureScreen.d.ts +51 -0
- package/dist/CaptureScreen.js +30 -0
- package/dist/CurpConfirmScreen.d.ts +33 -0
- package/dist/CurpConfirmScreen.js +29 -0
- package/dist/CurpEnterScreen.d.ts +51 -0
- package/dist/CurpEnterScreen.js +77 -0
- package/dist/CurpGenerateScreen.d.ts +47 -0
- package/dist/CurpGenerateScreen.js +57 -0
- package/dist/CurpLayout.css +92 -0
- package/dist/CurpProcessingScreen.d.ts +32 -0
- package/dist/CurpProcessingScreen.js +29 -0
- package/dist/CurpResultScreen.d.ts +37 -0
- package/dist/CurpResultScreen.js +36 -0
- package/dist/CurpStrings.d.ts +170 -0
- package/dist/CurpStrings.js +16 -0
- package/dist/DataSharingConsentConsentScreen.d.ts +73 -0
- package/dist/DataSharingConsentConsentScreen.js +120 -0
- package/dist/DataSharingConsentLayout.css +78 -0
- package/dist/DataSharingConsentStrings.d.ts +96 -0
- package/dist/DataSharingConsentStrings.js +38 -0
- package/dist/DemoScreensEndScreen.d.ts +33 -0
- package/dist/DemoScreensEndScreen.js +27 -0
- package/dist/DemoScreensStrings.d.ts +11 -0
- package/dist/DemoScreensStrings.js +19 -0
- package/dist/DocumentCaptureCaptureScreen.d.ts +53 -0
- package/dist/DocumentCaptureCaptureScreen.js +51 -0
- package/dist/DocumentCaptureCommonIssuesScreen.d.ts +32 -0
- package/dist/DocumentCaptureCommonIssuesScreen.js +45 -0
- package/dist/DocumentCaptureConfirmImageScreen.d.ts +38 -0
- package/dist/DocumentCaptureConfirmImageScreen.js +34 -0
- package/dist/DocumentCaptureConfirmUploadScreen.d.ts +43 -0
- package/dist/DocumentCaptureConfirmUploadScreen.js +29 -0
- package/dist/DocumentCaptureGenericErrorScreen.d.ts +36 -0
- package/dist/DocumentCaptureGenericErrorScreen.js +30 -0
- package/dist/DocumentCaptureIllustration.d.ts +45 -0
- package/dist/DocumentCaptureIllustration.js +7 -0
- package/dist/DocumentCaptureLayout.css +226 -0
- package/dist/DocumentCaptureMethodSelectionScreen.d.ts +45 -0
- package/dist/DocumentCaptureMethodSelectionScreen.js +70 -0
- package/dist/DocumentCaptureNextPageScreen.d.ts +33 -0
- package/dist/DocumentCaptureNextPageScreen.js +28 -0
- package/dist/DocumentCaptureNoConnectionScreen.d.ts +28 -0
- package/dist/DocumentCaptureNoConnectionScreen.js +29 -0
- package/dist/DocumentCaptureStrings.d.ts +158 -0
- package/dist/DocumentCaptureStrings.js +21 -0
- package/dist/DocumentCaptureTutorialScreen.d.ts +36 -0
- package/dist/DocumentCaptureTutorialScreen.js +27 -0
- package/dist/EkybAddressDetailsScreen.d.ts +61 -0
- package/dist/EkybAddressDetailsScreen.js +63 -0
- package/dist/EkybBusinessDetailsScreen.d.ts +55 -0
- package/dist/EkybBusinessDetailsScreen.js +57 -0
- package/dist/EkybCountryScreen.d.ts +52 -0
- package/dist/EkybCountryScreen.js +58 -0
- package/dist/EkybErrorScreen.d.ts +30 -0
- package/dist/EkybErrorScreen.js +24 -0
- package/dist/EkybOwnersScreen.d.ts +73 -0
- package/dist/EkybOwnersScreen.js +87 -0
- package/dist/EkybProcessingScreen.d.ts +28 -0
- package/dist/EkybProcessingScreen.js +22 -0
- package/dist/EkybStrings.d.ts +200 -0
- package/dist/EkybStrings.js +27 -0
- package/dist/EkybSuccessScreen.d.ts +28 -0
- package/dist/EkybSuccessScreen.js +22 -0
- package/dist/EkycDetailsScreen.d.ts +65 -0
- package/dist/EkycDetailsScreen.js +81 -0
- package/dist/EkycErrorScreen.d.ts +32 -0
- package/dist/EkycErrorScreen.js +26 -0
- package/dist/EkycLayout.css +39 -0
- package/dist/EkycLicenseScreen.d.ts +21 -0
- package/dist/EkycLicenseScreen.js +68 -0
- package/dist/EkycProcessingScreen.d.ts +26 -0
- package/dist/EkycProcessingScreen.js +20 -0
- package/dist/EkycStrings.d.ts +112 -0
- package/dist/EkycStrings.js +34 -0
- package/dist/EkycSuccessScreen.d.ts +29 -0
- package/dist/EkycSuccessScreen.js +23 -0
- package/dist/ElectronicSignatureDrawScreen.d.ts +57 -0
- package/dist/ElectronicSignatureDrawScreen.js +53 -0
- package/dist/ElectronicSignatureErrorScreen.d.ts +31 -0
- package/dist/ElectronicSignatureErrorScreen.js +25 -0
- package/dist/ElectronicSignatureLayout.css +80 -0
- package/dist/ElectronicSignatureReviewScreen.d.ts +51 -0
- package/dist/ElectronicSignatureReviewScreen.js +36 -0
- package/dist/ElectronicSignatureStrings.d.ts +50 -0
- package/dist/ElectronicSignatureStrings.js +12 -0
- package/dist/ElectronicSignatureSuccessScreen.d.ts +30 -0
- package/dist/ElectronicSignatureSuccessScreen.js +24 -0
- package/dist/EmailInputErrorScreen.d.ts +34 -0
- package/dist/EmailInputErrorScreen.js +28 -0
- package/dist/EmailInputOtpScreen.d.ts +56 -0
- package/dist/EmailInputOtpScreen.js +82 -0
- package/dist/EmailInputProcessingScreen.d.ts +29 -0
- package/dist/EmailInputProcessingScreen.js +23 -0
- package/dist/EmailInputStrings.d.ts +130 -0
- package/dist/EmailInputStrings.js +19 -0
- package/dist/EmailInputSuccessScreen.d.ts +37 -0
- package/dist/EmailInputSuccessScreen.js +31 -0
- package/dist/EmailInputVerifyScreen.d.ts +46 -0
- package/dist/EmailInputVerifyScreen.js +55 -0
- package/dist/ErrorScreensScreen.d.ts +62 -0
- package/dist/ErrorScreensScreen.js +71 -0
- package/dist/ErrorScreensStrings.d.ts +31 -0
- package/dist/ErrorScreensStrings.js +28 -0
- package/dist/FaceCaptureCapturingScreen.d.ts +32 -0
- package/dist/FaceCaptureCapturingScreen.js +53 -0
- package/dist/FaceCaptureLayout.css +18 -0
- package/dist/FaceCaptureLoadingScreen.d.ts +32 -0
- package/dist/FaceCaptureLoadingScreen.js +30 -0
- package/dist/FaceCaptureManualCaptureScreen.d.ts +32 -0
- package/dist/FaceCaptureManualCaptureScreen.js +27 -0
- package/dist/FaceCaptureNoConnectionScreen.d.ts +30 -0
- package/dist/FaceCaptureNoConnectionScreen.js +31 -0
- package/dist/FaceCaptureResultErrorScreen.d.ts +40 -0
- package/dist/FaceCaptureResultErrorScreen.js +32 -0
- package/dist/FaceCaptureResultSuccessScreen.d.ts +25 -0
- package/dist/FaceCaptureResultSuccessScreen.js +27 -0
- package/dist/FaceCaptureStrings.d.ts +62 -0
- package/dist/FaceCaptureStrings.js +14 -0
- package/dist/FaceCaptureTutorialScreen.d.ts +29 -0
- package/dist/FaceCaptureTutorialScreen.js +20 -0
- package/dist/FaceMatchComparisonCompactScreen.d.ts +26 -0
- package/dist/FaceMatchComparisonCompactScreen.js +24 -0
- package/dist/FaceMatchComparisonScreen.d.ts +80 -0
- package/dist/FaceMatchComparisonScreen.js +81 -0
- package/dist/FaceMatchLayout.css +264 -0
- package/dist/FaceMatchResultScreen.d.ts +50 -0
- package/dist/FaceMatchResultScreen.js +52 -0
- package/dist/FaceMatchStrings.d.ts +66 -0
- package/dist/FaceMatchStrings.js +21 -0
- package/dist/FormScreen.css +78 -0
- package/dist/FormScreen.d.ts +101 -0
- package/dist/FormScreen.js +36 -0
- package/dist/FormsChoiceScreen.d.ts +66 -0
- package/dist/FormsChoiceScreen.js +63 -0
- package/dist/FormsErrorScreen.d.ts +28 -0
- package/dist/FormsErrorScreen.js +22 -0
- package/dist/FormsFieldScreen.d.ts +66 -0
- package/dist/FormsFieldScreen.js +85 -0
- package/dist/FormsLayout.css +45 -0
- package/dist/FormsLongFormScreen.d.ts +70 -0
- package/dist/FormsLongFormScreen.js +149 -0
- package/dist/FormsStrings.d.ts +181 -0
- package/dist/FormsStrings.js +36 -0
- package/dist/FormsSuccessScreen.d.ts +32 -0
- package/dist/FormsSuccessScreen.js +26 -0
- package/dist/GeolocationBrowserStepsScreen.d.ts +56 -0
- package/dist/GeolocationBrowserStepsScreen.js +95 -0
- package/dist/GeolocationErrorScreen.d.ts +43 -0
- package/dist/GeolocationErrorScreen.js +56 -0
- package/dist/GeolocationIntroScreen.d.ts +49 -0
- package/dist/GeolocationIntroScreen.js +38 -0
- package/dist/GeolocationPermissionScreen.d.ts +38 -0
- package/dist/GeolocationPermissionScreen.js +30 -0
- package/dist/GeolocationStrings.d.ts +157 -0
- package/dist/GeolocationStrings.js +28 -0
- package/dist/IdCaptureAgeVerificationScreen.d.ts +25 -0
- package/dist/IdCaptureAgeVerificationScreen.js +38 -0
- package/dist/IdCaptureAnalyzingScreen.d.ts +41 -0
- package/dist/IdCaptureAnalyzingScreen.js +30 -0
- package/dist/IdCaptureCommonIssuesScreen.d.ts +31 -0
- package/dist/IdCaptureCommonIssuesScreen.js +49 -0
- package/dist/IdCaptureDocumentErrorScreen.d.ts +37 -0
- package/dist/IdCaptureDocumentErrorScreen.js +30 -0
- package/dist/IdCaptureDocumentSelectionScreen.d.ts +41 -0
- package/dist/IdCaptureDocumentSelectionScreen.js +49 -0
- package/dist/IdCaptureFlipScreen.d.ts +31 -0
- package/dist/IdCaptureFlipScreen.js +26 -0
- package/dist/IdCaptureHoldOnScreen.d.ts +28 -0
- package/dist/IdCaptureHoldOnScreen.js +22 -0
- package/dist/IdCaptureLayout.css +111 -0
- package/dist/IdCaptureNoConnectionScreen.d.ts +28 -0
- package/dist/IdCaptureNoConnectionScreen.js +29 -0
- package/dist/IdCapturePermissionScreen.d.ts +34 -0
- package/dist/IdCapturePermissionScreen.js +45 -0
- package/dist/IdCaptureResultScreen.d.ts +59 -0
- package/dist/IdCaptureResultScreen.js +89 -0
- package/dist/IdCaptureStageScreen.d.ts +69 -0
- package/dist/IdCaptureStageScreen.js +88 -0
- package/dist/IdCaptureStrings.d.ts +199 -0
- package/dist/IdCaptureStrings.js +15 -0
- package/dist/IdCaptureTutorialScreen.d.ts +36 -0
- package/dist/IdCaptureTutorialScreen.js +30 -0
- package/dist/ListScreen.d.ts +95 -0
- package/dist/ListScreen.js +46 -0
- package/dist/LoaderScreen.d.ts +32 -0
- package/dist/LoaderScreen.js +27 -0
- package/dist/LoadersStrings.d.ts +20 -0
- package/dist/LoadersStrings.js +16 -0
- package/dist/NfcCommonIssuesScreen.d.ts +35 -0
- package/dist/NfcCommonIssuesScreen.js +48 -0
- package/dist/NfcErrorScreen.d.ts +41 -0
- package/dist/NfcErrorScreen.js +27 -0
- package/dist/NfcLayout.css +36 -0
- package/dist/NfcProcessingScreen.d.ts +28 -0
- package/dist/NfcProcessingScreen.js +22 -0
- package/dist/NfcScanningScreen.d.ts +66 -0
- package/dist/NfcScanningScreen.js +61 -0
- package/dist/NfcSettingsScreen.d.ts +53 -0
- package/dist/NfcSettingsScreen.js +57 -0
- package/dist/NfcStrings.d.ts +112 -0
- package/dist/NfcStrings.js +7 -0
- package/dist/NfcSuccessScreen.d.ts +28 -0
- package/dist/NfcSuccessScreen.js +22 -0
- package/dist/NfcSymbolScreen.d.ts +39 -0
- package/dist/NfcSymbolScreen.js +32 -0
- package/dist/NfcTryAgainScreen.d.ts +53 -0
- package/dist/NfcTryAgainScreen.js +45 -0
- package/dist/NfcTutorialScreen.d.ts +33 -0
- package/dist/NfcTutorialScreen.js +24 -0
- package/dist/PermissionsAllowScreen.d.ts +44 -0
- package/dist/PermissionsAllowScreen.js +38 -0
- package/dist/PermissionsBrowserStepsScreen.d.ts +42 -0
- package/dist/PermissionsBrowserStepsScreen.js +86 -0
- package/dist/PermissionsRequiredScreen.d.ts +37 -0
- package/dist/PermissionsRequiredScreen.js +51 -0
- package/dist/PermissionsStrings.d.ts +70 -0
- package/dist/PermissionsStrings.js +36 -0
- package/dist/PhoneInputErrorScreen.d.ts +37 -0
- package/dist/PhoneInputErrorScreen.js +47 -0
- package/dist/PhoneInputLayout.css +61 -0
- package/dist/PhoneInputOtpScreen.d.ts +37 -0
- package/dist/PhoneInputOtpScreen.js +44 -0
- package/dist/PhoneInputSnaLoadingScreen.d.ts +23 -0
- package/dist/PhoneInputSnaLoadingScreen.js +17 -0
- package/dist/PhoneInputStrings.d.ts +121 -0
- package/dist/PhoneInputStrings.js +13 -0
- package/dist/PhoneInputSuccessScreen.d.ts +23 -0
- package/dist/PhoneInputSuccessScreen.js +17 -0
- package/dist/PhoneInputVerifyScreen.d.ts +41 -0
- package/dist/PhoneInputVerifyScreen.js +71 -0
- package/dist/ProcessingScreen.d.ts +42 -0
- package/dist/ProcessingScreen.js +21 -0
- package/dist/QualifiedSignatureAcceptScreen.d.ts +71 -0
- package/dist/QualifiedSignatureAcceptScreen.js +86 -0
- package/dist/QualifiedSignatureDocumentScreen.d.ts +62 -0
- package/dist/QualifiedSignatureDocumentScreen.js +56 -0
- package/dist/QualifiedSignatureLayout.css +206 -0
- package/dist/QualifiedSignatureProcessingScreen.d.ts +46 -0
- package/dist/QualifiedSignatureProcessingScreen.js +48 -0
- package/dist/QualifiedSignatureResultScreen.d.ts +65 -0
- package/dist/QualifiedSignatureResultScreen.js +76 -0
- package/dist/QualifiedSignatureReviewScreen.d.ts +49 -0
- package/dist/QualifiedSignatureReviewScreen.js +40 -0
- package/dist/QualifiedSignatureStrings.d.ts +222 -0
- package/dist/QualifiedSignatureStrings.js +25 -0
- package/dist/QualifiedSignatureUploadScreen.d.ts +42 -0
- package/dist/QualifiedSignatureUploadScreen.js +35 -0
- package/dist/ResultScreen.d.ts +93 -0
- package/dist/ResultScreen.js +37 -0
- package/dist/ReviewScreen.d.ts +81 -0
- package/dist/ReviewScreen.js +56 -0
- package/dist/ScreenLayout.css +469 -0
- package/dist/ScreenNav.css +43 -0
- package/dist/ScreenNav.d.ts +26 -0
- package/dist/ScreenNav.js +13 -0
- package/dist/ScreenShell.css +130 -0
- package/dist/ScreenShell.d.ts +45 -0
- package/dist/ScreenShell.js +22 -0
- package/dist/TutorialScreen.d.ts +70 -0
- package/dist/TutorialScreen.js +24 -0
- package/dist/VideoSelfieCameraStepsScreen.d.ts +47 -0
- package/dist/VideoSelfieCameraStepsScreen.js +56 -0
- package/dist/VideoSelfieErrorScreen.d.ts +63 -0
- package/dist/VideoSelfieErrorScreen.js +94 -0
- package/dist/VideoSelfieFlipCameraScreen.d.ts +34 -0
- package/dist/VideoSelfieFlipCameraScreen.js +38 -0
- package/dist/VideoSelfieFlipIdScreen.d.ts +34 -0
- package/dist/VideoSelfieFlipIdScreen.js +29 -0
- package/dist/VideoSelfieIdCaptureScreen.d.ts +75 -0
- package/dist/VideoSelfieIdCaptureScreen.js +86 -0
- package/dist/VideoSelfieLayout.css +259 -0
- package/dist/VideoSelfiePermissionRequiredScreen.d.ts +35 -0
- package/dist/VideoSelfiePermissionRequiredScreen.js +45 -0
- package/dist/VideoSelfiePermissionScreen.d.ts +51 -0
- package/dist/VideoSelfiePermissionScreen.js +44 -0
- package/dist/VideoSelfieProcessingScreen.d.ts +28 -0
- package/dist/VideoSelfieProcessingScreen.js +22 -0
- package/dist/VideoSelfieRetryScreen.d.ts +31 -0
- package/dist/VideoSelfieRetryScreen.js +32 -0
- package/dist/VideoSelfieSelfieCaptureScreen.d.ts +52 -0
- package/dist/VideoSelfieSelfieCaptureScreen.js +58 -0
- package/dist/VideoSelfieSpeakScreen.d.ts +64 -0
- package/dist/VideoSelfieSpeakScreen.js +95 -0
- package/dist/VideoSelfieStrings.d.ts +196 -0
- package/dist/VideoSelfieStrings.js +14 -0
- package/dist/VideoSelfieSuccessScreen.d.ts +25 -0
- package/dist/VideoSelfieSuccessScreen.js +19 -0
- package/dist/VideoSelfieTutorialScreen.d.ts +33 -0
- package/dist/VideoSelfieTutorialScreen.js +41 -0
- package/dist/ViewfinderScreen.css +107 -0
- package/dist/ViewfinderScreen.d.ts +40 -0
- package/dist/ViewfinderScreen.js +26 -0
- package/dist/WatchlistBusinessFormScreen.d.ts +61 -0
- package/dist/WatchlistBusinessFormScreen.js +85 -0
- package/dist/WatchlistBusinessProcessingScreen.d.ts +25 -0
- package/dist/WatchlistBusinessProcessingScreen.js +19 -0
- package/dist/WatchlistBusinessStrings.d.ts +95 -0
- package/dist/WatchlistBusinessStrings.js +19 -0
- package/dist/WatchlistBusinessSuccessScreen.d.ts +29 -0
- package/dist/WatchlistBusinessSuccessScreen.js +23 -0
- package/dist/flows.d.ts +216 -0
- package/dist/flows.js +516 -0
- package/dist/index.d.ts +145 -0
- package/dist/index.js +130 -0
- package/dist/styles.css +33 -0
- package/dist/types.d.ts +56 -0
- package/dist/types.js +8 -0
- package/package.json +689 -0
- package/samples/camera-surface.png +0 -0
- package/samples/document-still.png +0 -0
- package/samples/document-thumbnail.png +0 -0
- package/samples/face-match-bottom.png +0 -0
- package/samples/face-match-left.png +0 -0
- package/samples/face-match-right.png +0 -0
- package/samples/id-back-blur.png +0 -0
- package/samples/id-back-dark.png +0 -0
- package/samples/id-back-glare.png +0 -0
- package/samples/id-back.png +0 -0
- package/samples/id-front-blur.png +0 -0
- package/samples/id-front-dark.png +0 -0
- package/samples/id-front-glare.png +0 -0
- package/samples/id-front.png +0 -0
- package/samples/id-passport.png +0 -0
- package/samples/selfie-glasses.png +0 -0
- package/samples/selfie-hat.png +0 -0
- package/samples/selfie-mask.png +0 -0
- package/samples/selfie.png +0 -0
- package/samples/video-selfie-camera.png +0 -0
- package/src/CaptureOverlay.css +55 -0
- package/src/CaptureOverlay.tsx +56 -0
- package/src/CaptureScreen.tsx +121 -0
- package/src/CurpConfirmScreen.tsx +75 -0
- package/src/CurpEnterScreen.tsx +149 -0
- package/src/CurpGenerateScreen.tsx +172 -0
- package/src/CurpLayout.css +92 -0
- package/src/CurpProcessingScreen.tsx +75 -0
- package/src/CurpResultScreen.tsx +80 -0
- package/src/CurpStrings.ts +178 -0
- package/src/DataSharingConsentConsentScreen.tsx +223 -0
- package/src/DataSharingConsentLayout.css +78 -0
- package/src/DataSharingConsentStrings.ts +144 -0
- package/src/DemoScreensEndScreen.tsx +56 -0
- package/src/DemoScreensStrings.ts +31 -0
- package/src/DocumentCaptureCaptureScreen.tsx +135 -0
- package/src/DocumentCaptureCommonIssuesScreen.tsx +97 -0
- package/src/DocumentCaptureConfirmImageScreen.tsx +112 -0
- package/src/DocumentCaptureConfirmUploadScreen.tsx +113 -0
- package/src/DocumentCaptureGenericErrorScreen.tsx +82 -0
- package/src/DocumentCaptureIllustration.tsx +153 -0
- package/src/DocumentCaptureLayout.css +226 -0
- package/src/DocumentCaptureMethodSelectionScreen.tsx +151 -0
- package/src/DocumentCaptureNextPageScreen.tsx +82 -0
- package/src/DocumentCaptureNoConnectionScreen.tsx +77 -0
- package/src/DocumentCaptureStrings.ts +192 -0
- package/src/DocumentCaptureTutorialScreen.tsx +79 -0
- package/src/EkybAddressDetailsScreen.tsx +200 -0
- package/src/EkybBusinessDetailsScreen.tsx +147 -0
- package/src/EkybCountryScreen.tsx +124 -0
- package/src/EkybErrorScreen.tsx +61 -0
- package/src/EkybOwnersScreen.tsx +230 -0
- package/src/EkybProcessingScreen.tsx +57 -0
- package/src/EkybStrings.ts +239 -0
- package/src/EkybSuccessScreen.tsx +54 -0
- package/src/EkycDetailsScreen.tsx +178 -0
- package/src/EkycErrorScreen.tsx +64 -0
- package/src/EkycLayout.css +39 -0
- package/src/EkycLicenseScreen.tsx +164 -0
- package/src/EkycProcessingScreen.tsx +60 -0
- package/src/EkycStrings.ts +157 -0
- package/src/EkycSuccessScreen.tsx +63 -0
- package/src/ElectronicSignatureDrawScreen.tsx +127 -0
- package/src/ElectronicSignatureErrorScreen.tsx +74 -0
- package/src/ElectronicSignatureLayout.css +80 -0
- package/src/ElectronicSignatureReviewScreen.tsx +106 -0
- package/src/ElectronicSignatureStrings.ts +67 -0
- package/src/ElectronicSignatureSuccessScreen.tsx +67 -0
- package/src/EmailInputErrorScreen.tsx +67 -0
- package/src/EmailInputOtpScreen.tsx +169 -0
- package/src/EmailInputProcessingScreen.tsx +67 -0
- package/src/EmailInputStrings.ts +166 -0
- package/src/EmailInputSuccessScreen.tsx +72 -0
- package/src/EmailInputVerifyScreen.tsx +117 -0
- package/src/ErrorScreensScreen.tsx +149 -0
- package/src/ErrorScreensStrings.ts +66 -0
- package/src/FaceCaptureCapturingScreen.tsx +99 -0
- package/src/FaceCaptureLayout.css +18 -0
- package/src/FaceCaptureLoadingScreen.tsx +65 -0
- package/src/FaceCaptureManualCaptureScreen.tsx +94 -0
- package/src/FaceCaptureNoConnectionScreen.tsx +73 -0
- package/src/FaceCaptureResultErrorScreen.tsx +86 -0
- package/src/FaceCaptureResultSuccessScreen.tsx +49 -0
- package/src/FaceCaptureStrings.ts +92 -0
- package/src/FaceCaptureTutorialScreen.tsx +77 -0
- package/src/FaceMatchComparisonCompactScreen.tsx +51 -0
- package/src/FaceMatchComparisonScreen.tsx +201 -0
- package/src/FaceMatchLayout.css +264 -0
- package/src/FaceMatchResultScreen.tsx +117 -0
- package/src/FaceMatchStrings.ts +95 -0
- package/src/FormScreen.css +78 -0
- package/src/FormScreen.tsx +213 -0
- package/src/FormsChoiceScreen.tsx +150 -0
- package/src/FormsErrorScreen.tsx +61 -0
- package/src/FormsFieldScreen.tsx +198 -0
- package/src/FormsLayout.css +45 -0
- package/src/FormsLongFormScreen.tsx +295 -0
- package/src/FormsStrings.ts +243 -0
- package/src/FormsSuccessScreen.tsx +67 -0
- package/src/GeolocationBrowserStepsScreen.tsx +173 -0
- package/src/GeolocationErrorScreen.tsx +113 -0
- package/src/GeolocationIntroScreen.tsx +100 -0
- package/src/GeolocationPermissionScreen.tsx +88 -0
- package/src/GeolocationStrings.ts +193 -0
- package/src/IdCaptureAgeVerificationScreen.tsx +84 -0
- package/src/IdCaptureAnalyzingScreen.tsx +94 -0
- package/src/IdCaptureCommonIssuesScreen.tsx +109 -0
- package/src/IdCaptureDocumentErrorScreen.tsx +92 -0
- package/src/IdCaptureDocumentSelectionScreen.tsx +100 -0
- package/src/IdCaptureFlipScreen.tsx +66 -0
- package/src/IdCaptureHoldOnScreen.tsx +51 -0
- package/src/IdCaptureLayout.css +111 -0
- package/src/IdCaptureNoConnectionScreen.tsx +68 -0
- package/src/IdCapturePermissionScreen.tsx +102 -0
- package/src/IdCaptureResultScreen.tsx +197 -0
- package/src/IdCaptureStageScreen.tsx +241 -0
- package/src/IdCaptureStrings.ts +228 -0
- package/src/IdCaptureTutorialScreen.tsx +99 -0
- package/src/ListScreen.tsx +213 -0
- package/src/LoaderScreen.tsx +69 -0
- package/src/LoadersStrings.ts +38 -0
- package/src/NfcCommonIssuesScreen.tsx +104 -0
- package/src/NfcErrorScreen.tsx +83 -0
- package/src/NfcLayout.css +36 -0
- package/src/NfcProcessingScreen.tsx +57 -0
- package/src/NfcScanningScreen.tsx +127 -0
- package/src/NfcSettingsScreen.tsx +124 -0
- package/src/NfcStrings.ts +127 -0
- package/src/NfcSuccessScreen.tsx +56 -0
- package/src/NfcSymbolScreen.tsx +85 -0
- package/src/NfcTryAgainScreen.tsx +114 -0
- package/src/NfcTutorialScreen.tsx +76 -0
- package/src/PermissionsAllowScreen.tsx +90 -0
- package/src/PermissionsBrowserStepsScreen.tsx +158 -0
- package/src/PermissionsRequiredScreen.tsx +118 -0
- package/src/PermissionsStrings.ts +129 -0
- package/src/PhoneInputErrorScreen.tsx +104 -0
- package/src/PhoneInputLayout.css +61 -0
- package/src/PhoneInputOtpScreen.tsx +126 -0
- package/src/PhoneInputSnaLoadingScreen.tsx +61 -0
- package/src/PhoneInputStrings.ts +136 -0
- package/src/PhoneInputSuccessScreen.tsx +56 -0
- package/src/PhoneInputVerifyScreen.tsx +153 -0
- package/src/ProcessingScreen.tsx +97 -0
- package/src/QualifiedSignatureAcceptScreen.tsx +198 -0
- package/src/QualifiedSignatureDocumentScreen.tsx +124 -0
- package/src/QualifiedSignatureLayout.css +206 -0
- package/src/QualifiedSignatureProcessingScreen.tsx +112 -0
- package/src/QualifiedSignatureResultScreen.tsx +146 -0
- package/src/QualifiedSignatureReviewScreen.tsx +113 -0
- package/src/QualifiedSignatureStrings.ts +256 -0
- package/src/QualifiedSignatureUploadScreen.tsx +81 -0
- package/src/ResultScreen.tsx +211 -0
- package/src/ReviewScreen.tsx +196 -0
- package/src/ScreenLayout.css +469 -0
- package/src/ScreenNav.css +43 -0
- package/src/ScreenNav.tsx +46 -0
- package/src/ScreenShell.css +130 -0
- package/src/ScreenShell.tsx +66 -0
- package/src/TutorialScreen.tsx +166 -0
- package/src/VideoSelfieCameraStepsScreen.tsx +145 -0
- package/src/VideoSelfieErrorScreen.tsx +168 -0
- package/src/VideoSelfieFlipCameraScreen.tsx +88 -0
- package/src/VideoSelfieFlipIdScreen.tsx +74 -0
- package/src/VideoSelfieIdCaptureScreen.tsx +213 -0
- package/src/VideoSelfieLayout.css +259 -0
- package/src/VideoSelfiePermissionRequiredScreen.tsx +104 -0
- package/src/VideoSelfiePermissionScreen.tsx +102 -0
- package/src/VideoSelfieProcessingScreen.tsx +68 -0
- package/src/VideoSelfieRetryScreen.tsx +92 -0
- package/src/VideoSelfieSelfieCaptureScreen.tsx +122 -0
- package/src/VideoSelfieSpeakScreen.tsx +237 -0
- package/src/VideoSelfieStrings.ts +222 -0
- package/src/VideoSelfieSuccessScreen.tsx +64 -0
- package/src/VideoSelfieTutorialScreen.tsx +129 -0
- package/src/ViewfinderScreen.css +107 -0
- package/src/ViewfinderScreen.tsx +113 -0
- package/src/WatchlistBusinessFormScreen.tsx +176 -0
- package/src/WatchlistBusinessProcessingScreen.tsx +63 -0
- package/src/WatchlistBusinessStrings.ts +121 -0
- package/src/WatchlistBusinessSuccessScreen.tsx +67 -0
- package/src/flows.ts +711 -0
- package/src/index.ts +591 -0
- package/src/styles.css +33 -0
- package/src/types.ts +69 -0
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import React, { forwardRef } from 'react';
|
|
2
|
+
import {
|
|
3
|
+
PrizmaProcessingScreen,
|
|
4
|
+
type PrizmaProcessingScreenProps,
|
|
5
|
+
} from './ProcessingScreen';
|
|
6
|
+
import type { PrizmaScreenActionHandler, PrizmaScreenOverrides } from './types';
|
|
7
|
+
import type { EkycStrings } from './EkycStrings';
|
|
8
|
+
import './ScreenLayout.css';
|
|
9
|
+
|
|
10
|
+
export interface EkycSuccessScreenProps
|
|
11
|
+
extends Omit<
|
|
12
|
+
PrizmaProcessingScreenProps,
|
|
13
|
+
'status' | 'title' | 'subtitle' | 'verifiedLabel' | 'navLabel'
|
|
14
|
+
> {
|
|
15
|
+
/** Module copy — this screen reads the `success` slice. */
|
|
16
|
+
strings: EkycStrings;
|
|
17
|
+
screenId?: string;
|
|
18
|
+
overrides?: PrizmaScreenOverrides;
|
|
19
|
+
onAction?: PrizmaScreenActionHandler;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* eKYC — the submitted verdict, built on the Processing archetype
|
|
24
|
+
* (GUIDELINES.md §6-C, `PrizmaProcessingScreen`).
|
|
25
|
+
*
|
|
26
|
+
* Figma: the purple `eKYC.success` section (2101:7969). A centred positive mark
|
|
27
|
+
* over a bare H2 ("Information submitted!") with **no subtitle and no CTA** —
|
|
28
|
+
* the module hands control straight back to the flow, so it sits on C while its
|
|
29
|
+
* sibling error verdict sits on F. That split follows the archetype rule rather
|
|
30
|
+
* than the module's own symmetry, the same call `EmailInputSuccessScreen`
|
|
31
|
+
* settled (DEVIATIONS #EI-4).
|
|
32
|
+
*
|
|
33
|
+
* The mark is Core's outline status icon via `PrizmaTitle`'s icon slot — the
|
|
34
|
+
* module Figma still draws the two-tone filled disc, one icon sweep behind
|
|
35
|
+
* (DEVIATIONS #15, unchanged here).
|
|
36
|
+
*/
|
|
37
|
+
export const EkycSuccessScreen = forwardRef<HTMLDivElement, EkycSuccessScreenProps>(
|
|
38
|
+
(
|
|
39
|
+
{
|
|
40
|
+
strings,
|
|
41
|
+
screenId = 'ekyc-success',
|
|
42
|
+
overrides,
|
|
43
|
+
onAction,
|
|
44
|
+
...shell
|
|
45
|
+
},
|
|
46
|
+
ref,
|
|
47
|
+
) => (
|
|
48
|
+
<PrizmaProcessingScreen
|
|
49
|
+
ref={ref}
|
|
50
|
+
status="success"
|
|
51
|
+
title={strings.success.title}
|
|
52
|
+
verifiedLabel={strings.verifiedLabel}
|
|
53
|
+
navLabel={strings.navLabel}
|
|
54
|
+
screenId={screenId}
|
|
55
|
+
overrides={overrides}
|
|
56
|
+
onAction={onAction}
|
|
57
|
+
{...shell}
|
|
58
|
+
/>
|
|
59
|
+
),
|
|
60
|
+
);
|
|
61
|
+
EkycSuccessScreen.displayName = 'EkycSuccessScreen';
|
|
62
|
+
|
|
63
|
+
export default EkycSuccessScreen;
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import React, { forwardRef } from 'react';
|
|
2
|
+
import { PrizmaSignaturePad } from '@incodetech/prizma-core-web/signature-pad';
|
|
3
|
+
import { PrizmaFormScreen, type PrizmaFormScreenProps } from './FormScreen';
|
|
4
|
+
import type { PrizmaScreenActionHandler, PrizmaScreenOverrides } from './types';
|
|
5
|
+
import type {
|
|
6
|
+
ElectronicSignatureDrawState,
|
|
7
|
+
ElectronicSignatureStrings,
|
|
8
|
+
} from './ElectronicSignatureStrings';
|
|
9
|
+
import './ScreenLayout.css';
|
|
10
|
+
|
|
11
|
+
export interface ElectronicSignatureDrawScreenProps
|
|
12
|
+
extends Omit<
|
|
13
|
+
PrizmaFormScreenProps,
|
|
14
|
+
| 'title'
|
|
15
|
+
| 'subtitle'
|
|
16
|
+
| 'ctaLabel'
|
|
17
|
+
| 'ctaDisabled'
|
|
18
|
+
| 'verifiedLabel'
|
|
19
|
+
| 'children'
|
|
20
|
+
| 'navLabel'
|
|
21
|
+
| 'linkLabel'
|
|
22
|
+
| 'linkContent'
|
|
23
|
+
> {
|
|
24
|
+
/** Module copy — this screen reads the `draw` slice. */
|
|
25
|
+
strings: ElectronicSignatureStrings;
|
|
26
|
+
/** Which purple section to render: `draw` (empty) or `signed`. Default `draw`. */
|
|
27
|
+
state?: ElectronicSignatureDrawState;
|
|
28
|
+
/**
|
|
29
|
+
* Core's own extension point for the drawing engine
|
|
30
|
+
* (`PrizmaSignaturePad.onCanvasReady`: "consumers wire their drawing engine
|
|
31
|
+
* to the canvas inside this callback"). Forwarded untouched so a host — or
|
|
32
|
+
* the hub gallery, which paints a specimen stroke for the `signed` cell — can
|
|
33
|
+
* put real ink on the pad. The screen itself stays presentational: it holds
|
|
34
|
+
* no state and touches no browser API.
|
|
35
|
+
*/
|
|
36
|
+
onCanvasReady?: (canvas: HTMLCanvasElement) => void;
|
|
37
|
+
screenId?: string;
|
|
38
|
+
overrides?: PrizmaScreenOverrides;
|
|
39
|
+
onAction?: PrizmaScreenActionHandler;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Electronic Signature — the signature-pad screen, built on the Form archetype
|
|
44
|
+
* (GUIDELINES.md §6-E, `PrizmaFormScreen`).
|
|
45
|
+
*
|
|
46
|
+
* ONE screen for both purple pad sections — `eSign.draw` (4116:10325) and
|
|
47
|
+
* `eSign.signed` (4116:10336). Measured against the 390 frames they share an
|
|
48
|
+
* identical skeleton — nav → Title (H2 + H5) → Spacing/32 → the pad → primary
|
|
49
|
+
* CTA → tag — and differ ONLY in what the pad and the CTA are doing. The pad is
|
|
50
|
+
* Core's `PrizmaSignaturePad` (the Figma `Signature pad` component, 6291:56383)
|
|
51
|
+
* verbatim: it owns the 256-tall field, the placeholder, the Spacing/8 to the
|
|
52
|
+
* Clear row and the Clear control itself, so nothing here re-creates any of it.
|
|
53
|
+
*
|
|
54
|
+
* The state axis is a single boolean into Core, and every one of its three
|
|
55
|
+
* visible consequences is Core's own (checked against `SignaturePad.tsx`, not
|
|
56
|
+
* assumed — the #CURP-3 lesson about props that silently do nothing):
|
|
57
|
+
*
|
|
58
|
+
* - `draw` → `isFilled={false}`: the "Sign here" placeholder shows, Core
|
|
59
|
+
* forces the Clear link Disabled (`disabled={disabled || !filled}`),
|
|
60
|
+
* and the primary CTA is disabled — Figma's grey `Done`.
|
|
61
|
+
* - `signed` → `isFilled={true}`: the placeholder is gone, Clear renders as the
|
|
62
|
+
* live blue `tertiary-link`, and the primary CTA is enabled.
|
|
63
|
+
*
|
|
64
|
+
* The ink itself is host-drawn through `onCanvasReady`, because the canvas is a
|
|
65
|
+
* real `<canvas>` whose bitmap only exists once a drawing engine paints it.
|
|
66
|
+
* That is Core's documented division of labour, not a workaround — see the
|
|
67
|
+
* module's DEVIATIONS row and the Core request recorded there.
|
|
68
|
+
*
|
|
69
|
+
* Standing rulings applied: the sections draw a close ✕ at the nav's right,
|
|
70
|
+
* which §3 does not offer and no module hand-rolls (DEVIATIONS #PI-9); the
|
|
71
|
+
* in-flight treatment, if this module ever gains one, rides the CTA rather than
|
|
72
|
+
* the field (#PI-5) — Core explicitly ships no Loading state for the pad.
|
|
73
|
+
*/
|
|
74
|
+
export const ElectronicSignatureDrawScreen = forwardRef<
|
|
75
|
+
HTMLDivElement,
|
|
76
|
+
ElectronicSignatureDrawScreenProps
|
|
77
|
+
>(
|
|
78
|
+
(
|
|
79
|
+
{
|
|
80
|
+
strings,
|
|
81
|
+
state = 'draw',
|
|
82
|
+
onCanvasReady,
|
|
83
|
+
screenId = `electronic-signature-${state}`,
|
|
84
|
+
overrides,
|
|
85
|
+
onAction,
|
|
86
|
+
...shell
|
|
87
|
+
},
|
|
88
|
+
ref,
|
|
89
|
+
) => {
|
|
90
|
+
const signed = state === 'signed';
|
|
91
|
+
|
|
92
|
+
return (
|
|
93
|
+
<PrizmaFormScreen
|
|
94
|
+
ref={ref}
|
|
95
|
+
title={strings.draw.title}
|
|
96
|
+
subtitle={strings.draw.subtitle}
|
|
97
|
+
ctaLabel={strings.draw.ctaLabel}
|
|
98
|
+
/* `eSign.draw` draws `Done` on Button/Primary/Surface/Disabled — there
|
|
99
|
+
is nothing to submit until the canvas has ink. */
|
|
100
|
+
ctaDisabled={!signed}
|
|
101
|
+
verifiedLabel={strings.verifiedLabel}
|
|
102
|
+
navLabel={strings.navLabel}
|
|
103
|
+
screenId={screenId}
|
|
104
|
+
overrides={overrides}
|
|
105
|
+
onAction={onAction}
|
|
106
|
+
{...shell}
|
|
107
|
+
>
|
|
108
|
+
<PrizmaSignaturePad
|
|
109
|
+
isFilled={signed}
|
|
110
|
+
/* Full-signature sub-type, not the initials one. */
|
|
111
|
+
isInitials={false}
|
|
112
|
+
placeholder={strings.draw.placeholder}
|
|
113
|
+
canvasLabel={strings.draw.canvasLabel}
|
|
114
|
+
clearLabel={strings.draw.clearLabel}
|
|
115
|
+
/* Clearing the canvas is a different flow from submitting it, so it
|
|
116
|
+
emits its own event rather than collapsing into the CTA
|
|
117
|
+
(DEVIATIONS #PI-10). */
|
|
118
|
+
onClear={() => onAction?.({ type: 'secondary', screenId })}
|
|
119
|
+
onCanvasReady={onCanvasReady}
|
|
120
|
+
/>
|
|
121
|
+
</PrizmaFormScreen>
|
|
122
|
+
);
|
|
123
|
+
},
|
|
124
|
+
);
|
|
125
|
+
ElectronicSignatureDrawScreen.displayName = 'ElectronicSignatureDrawScreen';
|
|
126
|
+
|
|
127
|
+
export default ElectronicSignatureDrawScreen;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import React, { forwardRef } from 'react';
|
|
2
|
+
import { PrizmaResultScreen, type PrizmaResultScreenProps } from './ResultScreen';
|
|
3
|
+
import type { PrizmaScreenActionHandler, PrizmaScreenOverrides } from './types';
|
|
4
|
+
import type { ElectronicSignatureStrings } from './ElectronicSignatureStrings';
|
|
5
|
+
import './ScreenLayout.css';
|
|
6
|
+
|
|
7
|
+
export interface ElectronicSignatureErrorScreenProps
|
|
8
|
+
extends Omit<
|
|
9
|
+
PrizmaResultScreenProps,
|
|
10
|
+
| 'status'
|
|
11
|
+
| 'title'
|
|
12
|
+
| 'subtitle'
|
|
13
|
+
| 'ctaLabel'
|
|
14
|
+
| 'secondaryCtaLabel'
|
|
15
|
+
| 'verifiedLabel'
|
|
16
|
+
| 'navLabel'
|
|
17
|
+
| 'children'
|
|
18
|
+
> {
|
|
19
|
+
/** Module copy — this screen reads the `error` slice. */
|
|
20
|
+
strings: ElectronicSignatureStrings;
|
|
21
|
+
screenId?: string;
|
|
22
|
+
overrides?: PrizmaScreenOverrides;
|
|
23
|
+
onAction?: PrizmaScreenActionHandler;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Electronic Signature — the failure verdict (`eSign.error`, 6291:67151), built
|
|
28
|
+
* on the Result archetype (GUIDELINES.md §6-F, `PrizmaResultScreen`).
|
|
29
|
+
*
|
|
30
|
+
* Archetype F, not C: the section centres the status block AND draws a primary
|
|
31
|
+
* "Try again" under it, which is the line §6-F draws between the two.
|
|
32
|
+
*
|
|
33
|
+
* The mark is the WARNING status, not the negative one: the section draws the
|
|
34
|
+
* amber `!` disc, and the copy ("we couldn't process it — try again") reports a
|
|
35
|
+
* recoverable failure rather than a rejection. Core renders it as the outline
|
|
36
|
+
* `IconStatusWarning` (DEVIATIONS #15).
|
|
37
|
+
*
|
|
38
|
+
* The module has ONE error section and no `noConnection` family, so this screen
|
|
39
|
+
* ships no `variant` axis and no Wi-Fi glyph — the asymmetry with Phone Input's
|
|
40
|
+
* three-way error is real, not an omission (the #EI-5 precedent). Logo header
|
|
41
|
+
* and tag both stay, as they do on every non-capture screen (#PI-8 / #F-30).
|
|
42
|
+
*/
|
|
43
|
+
export const ElectronicSignatureErrorScreen = forwardRef<
|
|
44
|
+
HTMLDivElement,
|
|
45
|
+
ElectronicSignatureErrorScreenProps
|
|
46
|
+
>(
|
|
47
|
+
(
|
|
48
|
+
{
|
|
49
|
+
strings,
|
|
50
|
+
screenId = 'electronic-signature-error',
|
|
51
|
+
overrides,
|
|
52
|
+
onAction,
|
|
53
|
+
...shell
|
|
54
|
+
},
|
|
55
|
+
ref,
|
|
56
|
+
) => (
|
|
57
|
+
<PrizmaResultScreen
|
|
58
|
+
ref={ref}
|
|
59
|
+
status="warning"
|
|
60
|
+
title={strings.error.title}
|
|
61
|
+
subtitle={strings.error.subtitle}
|
|
62
|
+
ctaLabel={strings.error.ctaLabel}
|
|
63
|
+
verifiedLabel={strings.verifiedLabel}
|
|
64
|
+
navLabel={strings.navLabel}
|
|
65
|
+
screenId={screenId}
|
|
66
|
+
overrides={overrides}
|
|
67
|
+
onAction={onAction}
|
|
68
|
+
{...shell}
|
|
69
|
+
/>
|
|
70
|
+
),
|
|
71
|
+
);
|
|
72
|
+
ElectronicSignatureErrorScreen.displayName = 'ElectronicSignatureErrorScreen';
|
|
73
|
+
|
|
74
|
+
export default ElectronicSignatureErrorScreen;
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/* Electronic Signature — module layout additions.
|
|
2
|
+
*
|
|
3
|
+
* TWO blocks, and neither declares an archetype value. The content column, the
|
|
4
|
+
* 24px gutters, the title → middle Spacing/24, the middle → CTA band, the
|
|
5
|
+
* CTA column and the anchored footer all stay the foundation's
|
|
6
|
+
* (`ScreenLayout.css`). Everything below shapes CONTENT the design system does
|
|
7
|
+
* not own — the same class of exception as Document Capture's uploaded-file
|
|
8
|
+
* card and standalone encrypted notice (DEVIATIONS #DC-26 / #DC-27), and built
|
|
9
|
+
* the same way: from Core's own tokens, with no primitive re-implemented and no
|
|
10
|
+
* `!important`.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
/* ── The agreement frame (`eSign.default`) ───────────────────────────────────
|
|
14
|
+
* The purple section draws the document as a rendered page inside a 342-wide
|
|
15
|
+
* box: `Border/Neutral/100` hairline, `Border/Radius/small`, clipped, with a
|
|
16
|
+
* 4px scroll indicator riding its right edge. Core ships no document viewer and
|
|
17
|
+
* no scrollbar primitive — `PrizmaCardDocumentContainer` is a filename + action
|
|
18
|
+
* ROW, not a page frame (DEVIATIONS #DC-27 settled the same point for the
|
|
19
|
+
* uploaded-file card) — so the frame is composed here from the identical Card
|
|
20
|
+
* tokens and the page itself arrives through the screen's `document` slot, the
|
|
21
|
+
* same host-supplied-content contract the capture screens use for `camera`
|
|
22
|
+
* (DEVIATIONS #FM-22).
|
|
23
|
+
*
|
|
24
|
+
* Figma's page is an artboard image that bleeds to the frame edge; a TEXT
|
|
25
|
+
* agreement needs a gutter, so the frame carries Spacing/16 and the paragraph
|
|
26
|
+
* rhythm below it — content padding, never screen spacing.
|
|
27
|
+
*
|
|
28
|
+
* The scroll is the browser's own: the designed 4px track + thumb would be an
|
|
29
|
+
* invented primitive, and releasing overflow is the same idiom CURP used to fit
|
|
30
|
+
* a taller-than-844 Figma page into the 390×844 reference (DEVIATIONS #CURP-1).
|
|
31
|
+
* CORE REQUEST: a `PrizmaDocumentViewer` / page-frame primitive — Electronic
|
|
32
|
+
* Signature is the first module to need one and consent flows will need it next.
|
|
33
|
+
*
|
|
34
|
+
* The screen itself is archetype G (`PrizmaListScreen`), whose `__list` middle
|
|
35
|
+
* already fills the space between the title block and the CTA band — so there is
|
|
36
|
+
* no centring to cancel and no stage rule here. The single LAYOUT line below is
|
|
37
|
+
* the overflow release, identical to `.qualified-signature-document`; everything
|
|
38
|
+
* else on this class shapes CONTENT the design system does not own.
|
|
39
|
+
*/
|
|
40
|
+
.electronic-signature-document {
|
|
41
|
+
flex: 1 1 auto;
|
|
42
|
+
min-height: 0;
|
|
43
|
+
overflow-y: auto;
|
|
44
|
+
box-sizing: border-box;
|
|
45
|
+
padding: var(--prizma-spacing-16);
|
|
46
|
+
background-color: var(--prizma-surface-neutral-0);
|
|
47
|
+
border: var(--prizma-border-width-regular) solid var(--prizma-border-neutral-100);
|
|
48
|
+
border-radius: var(--prizma-border-radius-small);
|
|
49
|
+
text-align: start;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/* The agreement's own typography — Body/M Regular on Text/Body/500, the pair
|
|
53
|
+
Core uses for every secondary block of prose (`CardList.css`, `Card.css`).
|
|
54
|
+
Applied to the host's markup by descendant selector so the document slot
|
|
55
|
+
takes plain `<h4>` / `<p>` and needs no inline styles. */
|
|
56
|
+
.electronic-signature-document > * {
|
|
57
|
+
margin: 0;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.electronic-signature-document > * + * {
|
|
61
|
+
margin-top: var(--prizma-spacing-12);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.electronic-signature-document p {
|
|
65
|
+
font-family: var(--prizma-body-family);
|
|
66
|
+
font-weight: var(--prizma-body-m-regular-font-weight);
|
|
67
|
+
font-size: var(--prizma-body-m-regular-font-size);
|
|
68
|
+
line-height: var(--prizma-body-m-regular-line-height);
|
|
69
|
+
letter-spacing: var(--prizma-body-m-regular-letter-spacing);
|
|
70
|
+
color: var(--prizma-text-body-500-secondary);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.electronic-signature-document h4 {
|
|
74
|
+
font-family: var(--prizma-headline-family);
|
|
75
|
+
font-weight: var(--prizma-headline-h5-font-weight);
|
|
76
|
+
font-size: var(--prizma-headline-h5-font-size);
|
|
77
|
+
line-height: var(--prizma-headline-h5-line-height);
|
|
78
|
+
letter-spacing: var(--prizma-headline-h5-letter-spacing);
|
|
79
|
+
color: var(--prizma-text-body-800-primary);
|
|
80
|
+
}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import React, { forwardRef, type ReactNode } from 'react';
|
|
2
|
+
import { PrizmaListScreen, type PrizmaListScreenProps } from './ListScreen';
|
|
3
|
+
import type { PrizmaScreenActionHandler, PrizmaScreenOverrides } from './types';
|
|
4
|
+
import type { ElectronicSignatureStrings } from './ElectronicSignatureStrings';
|
|
5
|
+
import './ScreenLayout.css';
|
|
6
|
+
import './ElectronicSignatureLayout.css';
|
|
7
|
+
|
|
8
|
+
export interface ElectronicSignatureReviewScreenProps
|
|
9
|
+
extends Omit<
|
|
10
|
+
PrizmaListScreenProps,
|
|
11
|
+
| 'status'
|
|
12
|
+
| 'title'
|
|
13
|
+
| 'subtitle'
|
|
14
|
+
| 'glyph'
|
|
15
|
+
| 'children'
|
|
16
|
+
| 'listAlign'
|
|
17
|
+
| 'disclaimer'
|
|
18
|
+
| 'ctaLabel'
|
|
19
|
+
| 'secondaryCtaLabel'
|
|
20
|
+
| 'linkLabel'
|
|
21
|
+
| 'verifiedLabel'
|
|
22
|
+
| 'navLabel'
|
|
23
|
+
> {
|
|
24
|
+
/** Module copy — this screen reads the `review` slice. */
|
|
25
|
+
strings: ElectronicSignatureStrings;
|
|
26
|
+
/**
|
|
27
|
+
* The agreement itself: a rendered page (`<img>` of the PDF, host markup,
|
|
28
|
+
* plain `<h4>` / `<p>` prose). Runtime DATA supplied by the host, never copy
|
|
29
|
+
* the design system owns — the same slot contract the capture screens use for
|
|
30
|
+
* `camera` (GUIDELINES §10) and Qualified Signature uses for its contract page.
|
|
31
|
+
* Core ships no document viewer; the frame around this node is the module's,
|
|
32
|
+
* built from Core's Card tokens (see `ElectronicSignatureLayout.css`).
|
|
33
|
+
*/
|
|
34
|
+
document: ReactNode;
|
|
35
|
+
screenId?: string;
|
|
36
|
+
overrides?: PrizmaScreenOverrides;
|
|
37
|
+
onAction?: PrizmaScreenActionHandler;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Electronic Signature — the document-review screen (`eSign.default`,
|
|
42
|
+
* 6291:27012), built on the List archetype (GUIDELINES.md §6-G,
|
|
43
|
+
* `PrizmaListScreen`).
|
|
44
|
+
*
|
|
45
|
+
* Archetype G, not H: the frame draws the logo header, a centred H2, a
|
|
46
|
+
* host-supplied agreement page filling the whole middle, one primary CTA and
|
|
47
|
+
* the verified tag — which is G's definition line for line ("content filling
|
|
48
|
+
* the space between the title block and the CTA band"). It is also the shape
|
|
49
|
+
* the sibling `QualifiedSignatureDocumentScreen` already uses for exactly this
|
|
50
|
+
* content, a scrolling contract page.
|
|
51
|
+
*
|
|
52
|
+
* H was the earlier reading and was wrong: H is captured-MEDIA confirmation, it
|
|
53
|
+
* carries no logo by default and it centres its stage, so the module had to
|
|
54
|
+
* override the archetype twice (a `showHeader` opt-in and a local
|
|
55
|
+
* `align-items: stretch` rule) just to hold a document. G needs neither —
|
|
56
|
+
* `showHeader` already defaults to true and `__list` already fills the middle —
|
|
57
|
+
* so the screen now renders ONE archetype call and declares no layout of its
|
|
58
|
+
* own. The only module CSS left is the overflow release on the document frame,
|
|
59
|
+
* the same single-constraint release Qualified Signature and CURP use
|
|
60
|
+
* (DEVIATIONS #CURP-1).
|
|
61
|
+
*
|
|
62
|
+
* One owner rule still overrides the purple section:
|
|
63
|
+
* **No close ✕.** The sibling `eSign.signed` / `eSign.success` sections draw one
|
|
64
|
+
* at the nav's right; GUIDELINES §3 stands and there is no slot for it
|
|
65
|
+
* (DEVIATIONS #PI-9).
|
|
66
|
+
*/
|
|
67
|
+
export const ElectronicSignatureReviewScreen = forwardRef<
|
|
68
|
+
HTMLDivElement,
|
|
69
|
+
ElectronicSignatureReviewScreenProps
|
|
70
|
+
>(
|
|
71
|
+
(
|
|
72
|
+
{
|
|
73
|
+
strings,
|
|
74
|
+
document,
|
|
75
|
+
screenId = 'electronic-signature-review',
|
|
76
|
+
overrides,
|
|
77
|
+
onAction,
|
|
78
|
+
...shell
|
|
79
|
+
},
|
|
80
|
+
ref,
|
|
81
|
+
) => (
|
|
82
|
+
<PrizmaListScreen
|
|
83
|
+
ref={ref}
|
|
84
|
+
title={strings.review.title}
|
|
85
|
+
ctaLabel={strings.review.ctaLabel}
|
|
86
|
+
verifiedLabel={strings.verifiedLabel}
|
|
87
|
+
navLabel={strings.navLabel}
|
|
88
|
+
screenId={screenId}
|
|
89
|
+
overrides={overrides}
|
|
90
|
+
onAction={onAction}
|
|
91
|
+
{...shell}
|
|
92
|
+
>
|
|
93
|
+
<div
|
|
94
|
+
className="electronic-signature-document"
|
|
95
|
+
role="region"
|
|
96
|
+
aria-label={strings.review.documentLabel}
|
|
97
|
+
tabIndex={0}
|
|
98
|
+
>
|
|
99
|
+
{document}
|
|
100
|
+
</div>
|
|
101
|
+
</PrizmaListScreen>
|
|
102
|
+
),
|
|
103
|
+
);
|
|
104
|
+
ElectronicSignatureReviewScreen.displayName = 'ElectronicSignatureReviewScreen';
|
|
105
|
+
|
|
106
|
+
export default ElectronicSignatureReviewScreen;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
// Electronic Signature — the module's whole copy surface.
|
|
2
|
+
//
|
|
3
|
+
// Every string the four screen families render lives here, so a screen carries
|
|
4
|
+
// no hardcoded English and a host can translate the module by supplying one
|
|
5
|
+
// object (README rule 3, the same contract as `PhoneInputStrings` /
|
|
6
|
+
// `CurpStrings`).
|
|
7
|
+
//
|
|
8
|
+
// Figma: `✍️ Signature (Electronic) - Screens specs + Localization`
|
|
9
|
+
// (`kUsDigsC8Mq1WobTewF0R6`, page `5:13191`, section `4116:10249`). Five purple
|
|
10
|
+
// parent sections — `eSign.default` · `eSign.draw` · `eSign.signed` ·
|
|
11
|
+
// `eSign.success` · `eSign.error` — with ES / PT columns beside the EN one.
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* The two states the signature-pad screen draws — `eSign.draw` (empty canvas,
|
|
15
|
+
* placeholder visible, both actions inert) and `eSign.signed` (ink on the
|
|
16
|
+
* canvas, Clear live, Done live). One screen, one Figma-drawn axis.
|
|
17
|
+
*/
|
|
18
|
+
export type ElectronicSignatureDrawState = 'draw' | 'signed';
|
|
19
|
+
|
|
20
|
+
export interface ElectronicSignatureStrings {
|
|
21
|
+
/** "verified by" attribution copy for the footer tag. */
|
|
22
|
+
verifiedLabel: string;
|
|
23
|
+
/** Accessible name for the logo row. */
|
|
24
|
+
navLabel: string;
|
|
25
|
+
|
|
26
|
+
/** `eSign.default` — read the agreement before signing it. */
|
|
27
|
+
review: {
|
|
28
|
+
/** H2 — "Review your document". */
|
|
29
|
+
title: string;
|
|
30
|
+
/** Accessible name for the scrolling document frame. */
|
|
31
|
+
documentLabel: string;
|
|
32
|
+
/** Primary CTA — "Continue". */
|
|
33
|
+
ctaLabel: string;
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
/** `eSign.draw` + `eSign.signed` — the signature pad. */
|
|
37
|
+
draw: {
|
|
38
|
+
/** H2 — "Draw your signature". */
|
|
39
|
+
title: string;
|
|
40
|
+
/** H5 — "Use your finger or mouse". */
|
|
41
|
+
subtitle: string;
|
|
42
|
+
/** Canvas placeholder, shown while the pad is empty — "Sign here". */
|
|
43
|
+
placeholder: string;
|
|
44
|
+
/** Accessible name for the drawing canvas (Core has no default). */
|
|
45
|
+
canvasLabel: string;
|
|
46
|
+
/** Core's Clear-canvas tertiary link — "Clear canvas". */
|
|
47
|
+
clearLabel: string;
|
|
48
|
+
/** Primary CTA — "Done". */
|
|
49
|
+
ctaLabel: string;
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
/** `eSign.success` — the verdict, reported with no action. */
|
|
53
|
+
success: {
|
|
54
|
+
/** H2 — "Signed successfully!". */
|
|
55
|
+
title: string;
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
/** `eSign.error` — the single failure verdict the module draws. */
|
|
59
|
+
error: {
|
|
60
|
+
/** H2 — "We couldn't process your signature". */
|
|
61
|
+
title: string;
|
|
62
|
+
/** H5 — "Please try again.". */
|
|
63
|
+
subtitle: string;
|
|
64
|
+
/** Primary CTA — "Try again". */
|
|
65
|
+
ctaLabel: string;
|
|
66
|
+
};
|
|
67
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import React, { forwardRef } from 'react';
|
|
2
|
+
import {
|
|
3
|
+
PrizmaProcessingScreen,
|
|
4
|
+
type PrizmaProcessingScreenProps,
|
|
5
|
+
} from './ProcessingScreen';
|
|
6
|
+
import type { PrizmaScreenActionHandler, PrizmaScreenOverrides } from './types';
|
|
7
|
+
import type { ElectronicSignatureStrings } from './ElectronicSignatureStrings';
|
|
8
|
+
import './ScreenLayout.css';
|
|
9
|
+
|
|
10
|
+
export interface ElectronicSignatureSuccessScreenProps
|
|
11
|
+
extends Omit<
|
|
12
|
+
PrizmaProcessingScreenProps,
|
|
13
|
+
'status' | 'title' | 'subtitle' | 'verifiedLabel' | 'navLabel'
|
|
14
|
+
> {
|
|
15
|
+
/** Module copy — this screen reads the `success` slice. */
|
|
16
|
+
strings: ElectronicSignatureStrings;
|
|
17
|
+
screenId?: string;
|
|
18
|
+
overrides?: PrizmaScreenOverrides;
|
|
19
|
+
onAction?: PrizmaScreenActionHandler;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Electronic Signature — the signed verdict (`eSign.success`, 4116:10347),
|
|
24
|
+
* built on the Processing archetype (GUIDELINES.md §6-C,
|
|
25
|
+
* `PrizmaProcessingScreen`).
|
|
26
|
+
*
|
|
27
|
+
* Archetype C, not F: the section draws a centred status mark and one line and
|
|
28
|
+
* offers **no button at all** — §6-F reserves C for exactly that pure case, and
|
|
29
|
+
* the same split was already ruled on between two sibling modules (Email
|
|
30
|
+
* Input's success is C, Phone Input's is F — DEVIATIONS #EI-4). Reaching for F
|
|
31
|
+
* here would render an empty CTA band.
|
|
32
|
+
*
|
|
33
|
+
* The mark is Core's outline `IconStatusPositive` at Title/Icon/Size 40, where
|
|
34
|
+
* the section draws a filled green disc at a smaller size — the icon-outline
|
|
35
|
+
* sweep settled that for every module (DEVIATIONS #15). The section's close ✕
|
|
36
|
+
* is not composed (DEVIATIONS #PI-9).
|
|
37
|
+
*/
|
|
38
|
+
export const ElectronicSignatureSuccessScreen = forwardRef<
|
|
39
|
+
HTMLDivElement,
|
|
40
|
+
ElectronicSignatureSuccessScreenProps
|
|
41
|
+
>(
|
|
42
|
+
(
|
|
43
|
+
{
|
|
44
|
+
strings,
|
|
45
|
+
screenId = 'electronic-signature-success',
|
|
46
|
+
overrides,
|
|
47
|
+
onAction,
|
|
48
|
+
...shell
|
|
49
|
+
},
|
|
50
|
+
ref,
|
|
51
|
+
) => (
|
|
52
|
+
<PrizmaProcessingScreen
|
|
53
|
+
ref={ref}
|
|
54
|
+
status="success"
|
|
55
|
+
title={strings.success.title}
|
|
56
|
+
verifiedLabel={strings.verifiedLabel}
|
|
57
|
+
navLabel={strings.navLabel}
|
|
58
|
+
screenId={screenId}
|
|
59
|
+
overrides={overrides}
|
|
60
|
+
onAction={onAction}
|
|
61
|
+
{...shell}
|
|
62
|
+
/>
|
|
63
|
+
),
|
|
64
|
+
);
|
|
65
|
+
ElectronicSignatureSuccessScreen.displayName = 'ElectronicSignatureSuccessScreen';
|
|
66
|
+
|
|
67
|
+
export default ElectronicSignatureSuccessScreen;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import React, { forwardRef } from 'react';
|
|
2
|
+
import { PrizmaResultScreen, type PrizmaResultScreenProps } from './ResultScreen';
|
|
3
|
+
import type { PrizmaScreenActionHandler, PrizmaScreenOverrides } from './types';
|
|
4
|
+
import type { EmailInputStrings } from './EmailInputStrings';
|
|
5
|
+
import './ScreenLayout.css';
|
|
6
|
+
|
|
7
|
+
export interface EmailInputErrorScreenProps
|
|
8
|
+
extends Omit<
|
|
9
|
+
PrizmaResultScreenProps,
|
|
10
|
+
'status' | 'title' | 'subtitle' | 'ctaLabel' | 'verifiedLabel' | 'navLabel'
|
|
11
|
+
> {
|
|
12
|
+
/** Module copy — this screen reads the `error` slice. */
|
|
13
|
+
strings: EmailInputStrings;
|
|
14
|
+
screenId?: string;
|
|
15
|
+
overrides?: PrizmaScreenOverrides;
|
|
16
|
+
onAction?: PrizmaScreenActionHandler;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Email Input — the failure verdict, built on the Result archetype
|
|
21
|
+
* (GUIDELINES.md §6-F, `PrizmaResultScreen`).
|
|
22
|
+
*
|
|
23
|
+
* Figma: the purple `email.error` section, which holds exactly ONE screen —
|
|
24
|
+
* `email.error.somethingWentWrong`. A centred status mark + H2 over the
|
|
25
|
+
* "Try again" CTA band (40:33375).
|
|
26
|
+
*
|
|
27
|
+
* DEVIATIONS #EI-5 — unlike its Phone Input sibling this module draws no
|
|
28
|
+
* `tryAgain` split and, notably, **no connectivity section anywhere in the
|
|
29
|
+
* file**: `email.error` (3058:103116) has a single child section, and the four
|
|
30
|
+
* purple parents are verifyEmail / OTP / error / success with no no-connection
|
|
31
|
+
* screen among them. So this screen ships NO `variant` prop and no Wi-Fi
|
|
32
|
+
* glyph — there is nothing to switch between, and adding the axis would be
|
|
33
|
+
* inventing a state the spec does not have. The #PI-8 ruling still applies to
|
|
34
|
+
* the one screen that exists: the header and the verified tag stay.
|
|
35
|
+
*
|
|
36
|
+
* The mark is Core's outline status icon; the module Figma still draws the
|
|
37
|
+
* two-tone filled disc, one icon sweep behind (DEVIATIONS #15).
|
|
38
|
+
*/
|
|
39
|
+
export const EmailInputErrorScreen = forwardRef<HTMLDivElement, EmailInputErrorScreenProps>(
|
|
40
|
+
(
|
|
41
|
+
{
|
|
42
|
+
strings,
|
|
43
|
+
screenId = 'email-input-error',
|
|
44
|
+
overrides,
|
|
45
|
+
onAction,
|
|
46
|
+
...shell
|
|
47
|
+
},
|
|
48
|
+
ref,
|
|
49
|
+
) => (
|
|
50
|
+
<PrizmaResultScreen
|
|
51
|
+
ref={ref}
|
|
52
|
+
status="error"
|
|
53
|
+
title={strings.error.title}
|
|
54
|
+
subtitle={strings.error.subtitle}
|
|
55
|
+
ctaLabel={strings.error.ctaLabel}
|
|
56
|
+
verifiedLabel={strings.verifiedLabel}
|
|
57
|
+
navLabel={strings.navLabel}
|
|
58
|
+
screenId={screenId}
|
|
59
|
+
overrides={overrides}
|
|
60
|
+
onAction={onAction}
|
|
61
|
+
{...shell}
|
|
62
|
+
/>
|
|
63
|
+
),
|
|
64
|
+
);
|
|
65
|
+
EmailInputErrorScreen.displayName = 'EmailInputErrorScreen';
|
|
66
|
+
|
|
67
|
+
export default EmailInputErrorScreen;
|