@velion-la/onboarding-sdk-react-native 1.0.0-beta.2
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/CHANGELOG.md +66 -0
- package/LICENSE +12 -0
- package/README.md +803 -0
- package/lib/commonjs/camera/AddressSearchBar.js +304 -0
- package/lib/commonjs/camera/AddressSearchBar.js.map +1 -0
- package/lib/commonjs/camera/DocumentCapture.js +505 -0
- package/lib/commonjs/camera/DocumentCapture.js.map +1 -0
- package/lib/commonjs/camera/LivenessCamera.js +534 -0
- package/lib/commonjs/camera/LivenessCamera.js.map +1 -0
- package/lib/commonjs/camera/MapAddressPicker.js +341 -0
- package/lib/commonjs/camera/MapAddressPicker.js.map +1 -0
- package/lib/commonjs/core/VelionOnboarding.js +815 -0
- package/lib/commonjs/core/VelionOnboarding.js.map +1 -0
- package/lib/commonjs/core/sessionDeclinedCopy.js +56 -0
- package/lib/commonjs/core/sessionDeclinedCopy.js.map +1 -0
- package/lib/commonjs/core/sessionStateMapper.js +137 -0
- package/lib/commonjs/core/sessionStateMapper.js.map +1 -0
- package/lib/commonjs/core/sseReasonMessages.js +450 -0
- package/lib/commonjs/core/sseReasonMessages.js.map +1 -0
- package/lib/commonjs/data/iso3166Alpha2Codes.json +1 -0
- package/lib/commonjs/data/iso3166CountryNames.json +251 -0
- package/lib/commonjs/i18n/index.js +30 -0
- package/lib/commonjs/i18n/index.js.map +1 -0
- package/lib/commonjs/i18n/strings/en.js +261 -0
- package/lib/commonjs/i18n/strings/en.js.map +1 -0
- package/lib/commonjs/i18n/strings/es.js +266 -0
- package/lib/commonjs/i18n/strings/es.js.map +1 -0
- package/lib/commonjs/index.js +213 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/package.json +1 -0
- package/lib/commonjs/steps/AddressInfoStep.js +650 -0
- package/lib/commonjs/steps/AddressInfoStep.js.map +1 -0
- package/lib/commonjs/steps/DocumentsOcrStep.js +397 -0
- package/lib/commonjs/steps/DocumentsOcrStep.js.map +1 -0
- package/lib/commonjs/steps/EmailContactStep.js +145 -0
- package/lib/commonjs/steps/EmailContactStep.js.map +1 -0
- package/lib/commonjs/steps/EmailOtpStep.js +220 -0
- package/lib/commonjs/steps/EmailOtpStep.js.map +1 -0
- package/lib/commonjs/steps/FaceMatchStep.js +166 -0
- package/lib/commonjs/steps/FaceMatchStep.js.map +1 -0
- package/lib/commonjs/steps/FingerprintStep.js +92 -0
- package/lib/commonjs/steps/FingerprintStep.js.map +1 -0
- package/lib/commonjs/steps/HumanBasicInfoStep.js +243 -0
- package/lib/commonjs/steps/HumanBasicInfoStep.js.map +1 -0
- package/lib/commonjs/steps/HumanExtendedInfoStep.js +268 -0
- package/lib/commonjs/steps/HumanExtendedInfoStep.js.map +1 -0
- package/lib/commonjs/steps/LegalBasicInfoStep.js +188 -0
- package/lib/commonjs/steps/LegalBasicInfoStep.js.map +1 -0
- package/lib/commonjs/steps/LegalExtendedInfoStep.js +166 -0
- package/lib/commonjs/steps/LegalExtendedInfoStep.js.map +1 -0
- package/lib/commonjs/steps/LivenessMatchStep.js +707 -0
- package/lib/commonjs/steps/LivenessMatchStep.js.map +1 -0
- package/lib/commonjs/steps/PhoneContactStep.js +146 -0
- package/lib/commonjs/steps/PhoneContactStep.js.map +1 -0
- package/lib/commonjs/steps/PhoneOtpStep.js +219 -0
- package/lib/commonjs/steps/PhoneOtpStep.js.map +1 -0
- package/lib/commonjs/steps/SwornDeclarationStep.js +196 -0
- package/lib/commonjs/steps/SwornDeclarationStep.js.map +1 -0
- package/lib/commonjs/steps/TaxInfoStep.js +244 -0
- package/lib/commonjs/steps/TaxInfoStep.js.map +1 -0
- package/lib/commonjs/steps/TermsAndConditionsStep.js +238 -0
- package/lib/commonjs/steps/TermsAndConditionsStep.js.map +1 -0
- package/lib/commonjs/steps/_shared.js +40 -0
- package/lib/commonjs/steps/_shared.js.map +1 -0
- package/lib/commonjs/steps/types.js +6 -0
- package/lib/commonjs/steps/types.js.map +1 -0
- package/lib/commonjs/transport/api.js +176 -0
- package/lib/commonjs/transport/api.js.map +1 -0
- package/lib/commonjs/transport/irisWebSocket.js +121 -0
- package/lib/commonjs/transport/irisWebSocket.js.map +1 -0
- package/lib/commonjs/transport/secureUrl.js +50 -0
- package/lib/commonjs/transport/secureUrl.js.map +1 -0
- package/lib/commonjs/transport/sse.js +248 -0
- package/lib/commonjs/transport/sse.js.map +1 -0
- package/lib/commonjs/types/index.js +391 -0
- package/lib/commonjs/types/index.js.map +1 -0
- package/lib/commonjs/ui/MapFallbackBoundary.js +42 -0
- package/lib/commonjs/ui/MapFallbackBoundary.js.map +1 -0
- package/lib/commonjs/ui/StepShell.js +118 -0
- package/lib/commonjs/ui/StepShell.js.map +1 -0
- package/lib/commonjs/ui/VelionOnboardingScreen.js +217 -0
- package/lib/commonjs/ui/VelionOnboardingScreen.js.map +1 -0
- package/lib/commonjs/ui/forms/index.js +38 -0
- package/lib/commonjs/ui/forms/index.js.map +1 -0
- package/lib/commonjs/ui/forms/useInlineValidation.js +88 -0
- package/lib/commonjs/ui/forms/useInlineValidation.js.map +1 -0
- package/lib/commonjs/ui/forms/validators.js +34 -0
- package/lib/commonjs/ui/forms/validators.js.map +1 -0
- package/lib/commonjs/ui/icons/HomeHeartIcon.js +38 -0
- package/lib/commonjs/ui/icons/HomeHeartIcon.js.map +1 -0
- package/lib/commonjs/ui/icons/StepIcon.js +59 -0
- package/lib/commonjs/ui/icons/StepIcon.js.map +1 -0
- package/lib/commonjs/ui/overlays/AnalyzingOverlay.js +284 -0
- package/lib/commonjs/ui/overlays/AnalyzingOverlay.js.map +1 -0
- package/lib/commonjs/ui/overlays/LoadingOverlay.js +108 -0
- package/lib/commonjs/ui/overlays/LoadingOverlay.js.map +1 -0
- package/lib/commonjs/ui/overlays/ProgressBar.js +95 -0
- package/lib/commonjs/ui/overlays/ProgressBar.js.map +1 -0
- package/lib/commonjs/ui/overlays/RetryDialog.js +125 -0
- package/lib/commonjs/ui/overlays/RetryDialog.js.map +1 -0
- package/lib/commonjs/ui/overlays/index.js +33 -0
- package/lib/commonjs/ui/overlays/index.js.map +1 -0
- package/lib/commonjs/ui/primitives/Banner.js +81 -0
- package/lib/commonjs/ui/primitives/Banner.js.map +1 -0
- package/lib/commonjs/ui/primitives/Button.js +142 -0
- package/lib/commonjs/ui/primitives/Button.js.map +1 -0
- package/lib/commonjs/ui/primitives/Card.js +50 -0
- package/lib/commonjs/ui/primitives/Card.js.map +1 -0
- package/lib/commonjs/ui/primitives/Checkbox.js +139 -0
- package/lib/commonjs/ui/primitives/Checkbox.js.map +1 -0
- package/lib/commonjs/ui/primitives/CountrySelect.js +288 -0
- package/lib/commonjs/ui/primitives/CountrySelect.js.map +1 -0
- package/lib/commonjs/ui/primitives/DatePicker.js +245 -0
- package/lib/commonjs/ui/primitives/DatePicker.js.map +1 -0
- package/lib/commonjs/ui/primitives/Input.js +101 -0
- package/lib/commonjs/ui/primitives/Input.js.map +1 -0
- package/lib/commonjs/ui/primitives/Select.js +209 -0
- package/lib/commonjs/ui/primitives/Select.js.map +1 -0
- package/lib/commonjs/ui/primitives/Spinner.js +25 -0
- package/lib/commonjs/ui/primitives/Spinner.js.map +1 -0
- package/lib/commonjs/ui/primitives/index.js +69 -0
- package/lib/commonjs/ui/primitives/index.js.map +1 -0
- package/lib/commonjs/ui/theme/ThemeProvider.js +74 -0
- package/lib/commonjs/ui/theme/ThemeProvider.js.map +1 -0
- package/lib/commonjs/ui/theme/index.js +68 -0
- package/lib/commonjs/ui/theme/index.js.map +1 -0
- package/lib/commonjs/ui/theme/tokens.js +154 -0
- package/lib/commonjs/ui/theme/tokens.js.map +1 -0
- package/lib/commonjs/utils/EventEmitter.js +144 -0
- package/lib/commonjs/utils/EventEmitter.js.map +1 -0
- package/lib/commonjs/utils/base64.js +53 -0
- package/lib/commonjs/utils/base64.js.map +1 -0
- package/lib/commonjs/utils/deviceFingerprint.js +132 -0
- package/lib/commonjs/utils/deviceFingerprint.js.map +1 -0
- package/lib/commonjs/utils/documentTypeOptions.js +35 -0
- package/lib/commonjs/utils/documentTypeOptions.js.map +1 -0
- package/lib/commonjs/utils/googleMapsPreflight.js +77 -0
- package/lib/commonjs/utils/googleMapsPreflight.js.map +1 -0
- package/lib/commonjs/utils/hmac.js +58 -0
- package/lib/commonjs/utils/hmac.js.map +1 -0
- package/lib/commonjs/utils/iso3166Countries.js +98 -0
- package/lib/commonjs/utils/iso3166Countries.js.map +1 -0
- package/lib/commonjs/utils/jpegFromUri.js +44 -0
- package/lib/commonjs/utils/jpegFromUri.js.map +1 -0
- package/lib/commonjs/utils/keepAwake.js +58 -0
- package/lib/commonjs/utils/keepAwake.js.map +1 -0
- package/lib/commonjs/utils/log.js +42 -0
- package/lib/commonjs/utils/log.js.map +1 -0
- package/lib/commonjs/utils/osGeocoder.js +70 -0
- package/lib/commonjs/utils/osGeocoder.js.map +1 -0
- package/lib/commonjs/utils/parseGoogleAddressComponents.js +74 -0
- package/lib/commonjs/utils/parseGoogleAddressComponents.js.map +1 -0
- package/lib/commonjs/utils/personNameNormalize.js +24 -0
- package/lib/commonjs/utils/personNameNormalize.js.map +1 -0
- package/lib/commonjs/utils/sdkError.js +34 -0
- package/lib/commonjs/utils/sdkError.js.map +1 -0
- package/lib/commonjs/utils/sdkVersion.js +13 -0
- package/lib/commonjs/utils/sdkVersion.js.map +1 -0
- package/lib/commonjs/utils/stepConfig.js +65 -0
- package/lib/commonjs/utils/stepConfig.js.map +1 -0
- package/lib/commonjs/utils/taxInfoConfig.js +19 -0
- package/lib/commonjs/utils/taxInfoConfig.js.map +1 -0
- package/lib/module/camera/AddressSearchBar.js +299 -0
- package/lib/module/camera/AddressSearchBar.js.map +1 -0
- package/lib/module/camera/DocumentCapture.js +500 -0
- package/lib/module/camera/DocumentCapture.js.map +1 -0
- package/lib/module/camera/LivenessCamera.js +529 -0
- package/lib/module/camera/LivenessCamera.js.map +1 -0
- package/lib/module/camera/MapAddressPicker.js +337 -0
- package/lib/module/camera/MapAddressPicker.js.map +1 -0
- package/lib/module/core/VelionOnboarding.js +811 -0
- package/lib/module/core/VelionOnboarding.js.map +1 -0
- package/lib/module/core/sessionDeclinedCopy.js +52 -0
- package/lib/module/core/sessionDeclinedCopy.js.map +1 -0
- package/lib/module/core/sessionStateMapper.js +128 -0
- package/lib/module/core/sessionStateMapper.js.map +1 -0
- package/lib/module/core/sseReasonMessages.js +446 -0
- package/lib/module/core/sseReasonMessages.js.map +1 -0
- package/lib/module/data/iso3166Alpha2Codes.json +1 -0
- package/lib/module/data/iso3166CountryNames.json +251 -0
- package/lib/module/i18n/index.js +25 -0
- package/lib/module/i18n/index.js.map +1 -0
- package/lib/module/i18n/strings/en.js +257 -0
- package/lib/module/i18n/strings/en.js.map +1 -0
- package/lib/module/i18n/strings/es.js +262 -0
- package/lib/module/i18n/strings/es.js.map +1 -0
- package/lib/module/index.js +36 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/steps/AddressInfoStep.js +646 -0
- package/lib/module/steps/AddressInfoStep.js.map +1 -0
- package/lib/module/steps/DocumentsOcrStep.js +391 -0
- package/lib/module/steps/DocumentsOcrStep.js.map +1 -0
- package/lib/module/steps/EmailContactStep.js +140 -0
- package/lib/module/steps/EmailContactStep.js.map +1 -0
- package/lib/module/steps/EmailOtpStep.js +215 -0
- package/lib/module/steps/EmailOtpStep.js.map +1 -0
- package/lib/module/steps/FaceMatchStep.js +161 -0
- package/lib/module/steps/FaceMatchStep.js.map +1 -0
- package/lib/module/steps/FingerprintStep.js +87 -0
- package/lib/module/steps/FingerprintStep.js.map +1 -0
- package/lib/module/steps/HumanBasicInfoStep.js +238 -0
- package/lib/module/steps/HumanBasicInfoStep.js.map +1 -0
- package/lib/module/steps/HumanExtendedInfoStep.js +263 -0
- package/lib/module/steps/HumanExtendedInfoStep.js.map +1 -0
- package/lib/module/steps/LegalBasicInfoStep.js +183 -0
- package/lib/module/steps/LegalBasicInfoStep.js.map +1 -0
- package/lib/module/steps/LegalExtendedInfoStep.js +161 -0
- package/lib/module/steps/LegalExtendedInfoStep.js.map +1 -0
- package/lib/module/steps/LivenessMatchStep.js +701 -0
- package/lib/module/steps/LivenessMatchStep.js.map +1 -0
- package/lib/module/steps/PhoneContactStep.js +141 -0
- package/lib/module/steps/PhoneContactStep.js.map +1 -0
- package/lib/module/steps/PhoneOtpStep.js +214 -0
- package/lib/module/steps/PhoneOtpStep.js.map +1 -0
- package/lib/module/steps/SwornDeclarationStep.js +191 -0
- package/lib/module/steps/SwornDeclarationStep.js.map +1 -0
- package/lib/module/steps/TaxInfoStep.js +239 -0
- package/lib/module/steps/TaxInfoStep.js.map +1 -0
- package/lib/module/steps/TermsAndConditionsStep.js +233 -0
- package/lib/module/steps/TermsAndConditionsStep.js.map +1 -0
- package/lib/module/steps/_shared.js +33 -0
- package/lib/module/steps/_shared.js.map +1 -0
- package/lib/module/steps/types.js +4 -0
- package/lib/module/steps/types.js.map +1 -0
- package/lib/module/transport/api.js +173 -0
- package/lib/module/transport/api.js.map +1 -0
- package/lib/module/transport/irisWebSocket.js +115 -0
- package/lib/module/transport/irisWebSocket.js.map +1 -0
- package/lib/module/transport/secureUrl.js +45 -0
- package/lib/module/transport/secureUrl.js.map +1 -0
- package/lib/module/transport/sse.js +242 -0
- package/lib/module/transport/sse.js.map +1 -0
- package/lib/module/types/index.js +457 -0
- package/lib/module/types/index.js.map +1 -0
- package/lib/module/ui/MapFallbackBoundary.js +37 -0
- package/lib/module/ui/MapFallbackBoundary.js.map +1 -0
- package/lib/module/ui/StepShell.js +114 -0
- package/lib/module/ui/StepShell.js.map +1 -0
- package/lib/module/ui/VelionOnboardingScreen.js +212 -0
- package/lib/module/ui/VelionOnboardingScreen.js.map +1 -0
- package/lib/module/ui/forms/index.js +5 -0
- package/lib/module/ui/forms/index.js.map +1 -0
- package/lib/module/ui/forms/useInlineValidation.js +84 -0
- package/lib/module/ui/forms/useInlineValidation.js.map +1 -0
- package/lib/module/ui/forms/validators.js +27 -0
- package/lib/module/ui/forms/validators.js.map +1 -0
- package/lib/module/ui/icons/HomeHeartIcon.js +33 -0
- package/lib/module/ui/icons/HomeHeartIcon.js.map +1 -0
- package/lib/module/ui/icons/StepIcon.js +55 -0
- package/lib/module/ui/icons/StepIcon.js.map +1 -0
- package/lib/module/ui/overlays/AnalyzingOverlay.js +279 -0
- package/lib/module/ui/overlays/AnalyzingOverlay.js.map +1 -0
- package/lib/module/ui/overlays/LoadingOverlay.js +104 -0
- package/lib/module/ui/overlays/LoadingOverlay.js.map +1 -0
- package/lib/module/ui/overlays/ProgressBar.js +90 -0
- package/lib/module/ui/overlays/ProgressBar.js.map +1 -0
- package/lib/module/ui/overlays/RetryDialog.js +121 -0
- package/lib/module/ui/overlays/RetryDialog.js.map +1 -0
- package/lib/module/ui/overlays/index.js +6 -0
- package/lib/module/ui/overlays/index.js.map +1 -0
- package/lib/module/ui/primitives/Banner.js +77 -0
- package/lib/module/ui/primitives/Banner.js.map +1 -0
- package/lib/module/ui/primitives/Button.js +138 -0
- package/lib/module/ui/primitives/Button.js.map +1 -0
- package/lib/module/ui/primitives/Card.js +46 -0
- package/lib/module/ui/primitives/Card.js.map +1 -0
- package/lib/module/ui/primitives/Checkbox.js +136 -0
- package/lib/module/ui/primitives/Checkbox.js.map +1 -0
- package/lib/module/ui/primitives/CountrySelect.js +284 -0
- package/lib/module/ui/primitives/CountrySelect.js.map +1 -0
- package/lib/module/ui/primitives/DatePicker.js +241 -0
- package/lib/module/ui/primitives/DatePicker.js.map +1 -0
- package/lib/module/ui/primitives/Input.js +97 -0
- package/lib/module/ui/primitives/Input.js.map +1 -0
- package/lib/module/ui/primitives/Select.js +205 -0
- package/lib/module/ui/primitives/Select.js.map +1 -0
- package/lib/module/ui/primitives/Spinner.js +21 -0
- package/lib/module/ui/primitives/Spinner.js.map +1 -0
- package/lib/module/ui/primitives/index.js +12 -0
- package/lib/module/ui/primitives/index.js.map +1 -0
- package/lib/module/ui/theme/ThemeProvider.js +67 -0
- package/lib/module/ui/theme/ThemeProvider.js.map +1 -0
- package/lib/module/ui/theme/index.js +5 -0
- package/lib/module/ui/theme/index.js.map +1 -0
- package/lib/module/ui/theme/tokens.js +145 -0
- package/lib/module/ui/theme/tokens.js.map +1 -0
- package/lib/module/utils/EventEmitter.js +139 -0
- package/lib/module/utils/EventEmitter.js.map +1 -0
- package/lib/module/utils/base64.js +47 -0
- package/lib/module/utils/base64.js.map +1 -0
- package/lib/module/utils/deviceFingerprint.js +129 -0
- package/lib/module/utils/deviceFingerprint.js.map +1 -0
- package/lib/module/utils/documentTypeOptions.js +31 -0
- package/lib/module/utils/documentTypeOptions.js.map +1 -0
- package/lib/module/utils/googleMapsPreflight.js +73 -0
- package/lib/module/utils/googleMapsPreflight.js.map +1 -0
- package/lib/module/utils/hmac.js +53 -0
- package/lib/module/utils/hmac.js.map +1 -0
- package/lib/module/utils/iso3166Countries.js +92 -0
- package/lib/module/utils/iso3166Countries.js.map +1 -0
- package/lib/module/utils/jpegFromUri.js +40 -0
- package/lib/module/utils/jpegFromUri.js.map +1 -0
- package/lib/module/utils/keepAwake.js +53 -0
- package/lib/module/utils/keepAwake.js.map +1 -0
- package/lib/module/utils/log.js +37 -0
- package/lib/module/utils/log.js.map +1 -0
- package/lib/module/utils/osGeocoder.js +65 -0
- package/lib/module/utils/osGeocoder.js.map +1 -0
- package/lib/module/utils/parseGoogleAddressComponents.js +69 -0
- package/lib/module/utils/parseGoogleAddressComponents.js.map +1 -0
- package/lib/module/utils/personNameNormalize.js +20 -0
- package/lib/module/utils/personNameNormalize.js.map +1 -0
- package/lib/module/utils/sdkError.js +29 -0
- package/lib/module/utils/sdkError.js.map +1 -0
- package/lib/module/utils/sdkVersion.js +9 -0
- package/lib/module/utils/sdkVersion.js.map +1 -0
- package/lib/module/utils/stepConfig.js +59 -0
- package/lib/module/utils/stepConfig.js.map +1 -0
- package/lib/module/utils/taxInfoConfig.js +15 -0
- package/lib/module/utils/taxInfoConfig.js.map +1 -0
- package/lib/typescript/camera/AddressSearchBar.d.ts +37 -0
- package/lib/typescript/camera/AddressSearchBar.d.ts.map +1 -0
- package/lib/typescript/camera/DocumentCapture.d.ts +34 -0
- package/lib/typescript/camera/DocumentCapture.d.ts.map +1 -0
- package/lib/typescript/camera/LivenessCamera.d.ts +50 -0
- package/lib/typescript/camera/LivenessCamera.d.ts.map +1 -0
- package/lib/typescript/camera/MapAddressPicker.d.ts +57 -0
- package/lib/typescript/camera/MapAddressPicker.d.ts.map +1 -0
- package/lib/typescript/core/VelionOnboarding.d.ts +115 -0
- package/lib/typescript/core/VelionOnboarding.d.ts.map +1 -0
- package/lib/typescript/core/sessionDeclinedCopy.d.ts +16 -0
- package/lib/typescript/core/sessionDeclinedCopy.d.ts.map +1 -0
- package/lib/typescript/core/sessionStateMapper.d.ts +33 -0
- package/lib/typescript/core/sessionStateMapper.d.ts.map +1 -0
- package/lib/typescript/core/sseReasonMessages.d.ts +20 -0
- package/lib/typescript/core/sseReasonMessages.d.ts.map +1 -0
- package/lib/typescript/i18n/index.d.ts +13 -0
- package/lib/typescript/i18n/index.d.ts.map +1 -0
- package/lib/typescript/i18n/strings/en.d.ts +3 -0
- package/lib/typescript/i18n/strings/en.d.ts.map +1 -0
- package/lib/typescript/i18n/strings/es.d.ts +260 -0
- package/lib/typescript/i18n/strings/es.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +26 -0
- package/lib/typescript/index.d.ts.map +1 -0
- package/lib/typescript/steps/AddressInfoStep.d.ts +26 -0
- package/lib/typescript/steps/AddressInfoStep.d.ts.map +1 -0
- package/lib/typescript/steps/DocumentsOcrStep.d.ts +26 -0
- package/lib/typescript/steps/DocumentsOcrStep.d.ts.map +1 -0
- package/lib/typescript/steps/EmailContactStep.d.ts +15 -0
- package/lib/typescript/steps/EmailContactStep.d.ts.map +1 -0
- package/lib/typescript/steps/EmailOtpStep.d.ts +21 -0
- package/lib/typescript/steps/EmailOtpStep.d.ts.map +1 -0
- package/lib/typescript/steps/FaceMatchStep.d.ts +27 -0
- package/lib/typescript/steps/FaceMatchStep.d.ts.map +1 -0
- package/lib/typescript/steps/FingerprintStep.d.ts +25 -0
- package/lib/typescript/steps/FingerprintStep.d.ts.map +1 -0
- package/lib/typescript/steps/HumanBasicInfoStep.d.ts +25 -0
- package/lib/typescript/steps/HumanBasicInfoStep.d.ts.map +1 -0
- package/lib/typescript/steps/HumanExtendedInfoStep.d.ts +23 -0
- package/lib/typescript/steps/HumanExtendedInfoStep.d.ts.map +1 -0
- package/lib/typescript/steps/LegalBasicInfoStep.d.ts +17 -0
- package/lib/typescript/steps/LegalBasicInfoStep.d.ts.map +1 -0
- package/lib/typescript/steps/LegalExtendedInfoStep.d.ts +17 -0
- package/lib/typescript/steps/LegalExtendedInfoStep.d.ts.map +1 -0
- package/lib/typescript/steps/LivenessMatchStep.d.ts +26 -0
- package/lib/typescript/steps/LivenessMatchStep.d.ts.map +1 -0
- package/lib/typescript/steps/PhoneContactStep.d.ts +15 -0
- package/lib/typescript/steps/PhoneContactStep.d.ts.map +1 -0
- package/lib/typescript/steps/PhoneOtpStep.d.ts +19 -0
- package/lib/typescript/steps/PhoneOtpStep.d.ts.map +1 -0
- package/lib/typescript/steps/SwornDeclarationStep.d.ts +20 -0
- package/lib/typescript/steps/SwornDeclarationStep.d.ts.map +1 -0
- package/lib/typescript/steps/TaxInfoStep.d.ts +19 -0
- package/lib/typescript/steps/TaxInfoStep.d.ts.map +1 -0
- package/lib/typescript/steps/TermsAndConditionsStep.d.ts +21 -0
- package/lib/typescript/steps/TermsAndConditionsStep.d.ts.map +1 -0
- package/lib/typescript/steps/_shared.d.ts +11 -0
- package/lib/typescript/steps/_shared.d.ts.map +1 -0
- package/lib/typescript/steps/types.d.ts +68 -0
- package/lib/typescript/steps/types.d.ts.map +1 -0
- package/lib/typescript/transport/api.d.ts +35 -0
- package/lib/typescript/transport/api.d.ts.map +1 -0
- package/lib/typescript/transport/irisWebSocket.d.ts +72 -0
- package/lib/typescript/transport/irisWebSocket.d.ts.map +1 -0
- package/lib/typescript/transport/secureUrl.d.ts +14 -0
- package/lib/typescript/transport/secureUrl.d.ts.map +1 -0
- package/lib/typescript/transport/sse.d.ts +54 -0
- package/lib/typescript/transport/sse.d.ts.map +1 -0
- package/lib/typescript/types/index.d.ts +1010 -0
- package/lib/typescript/types/index.d.ts.map +1 -0
- package/lib/typescript/ui/MapFallbackBoundary.d.ts +28 -0
- package/lib/typescript/ui/MapFallbackBoundary.d.ts.map +1 -0
- package/lib/typescript/ui/StepShell.d.ts +19 -0
- package/lib/typescript/ui/StepShell.d.ts.map +1 -0
- package/lib/typescript/ui/VelionOnboardingScreen.d.ts +19 -0
- package/lib/typescript/ui/VelionOnboardingScreen.d.ts.map +1 -0
- package/lib/typescript/ui/forms/index.d.ts +3 -0
- package/lib/typescript/ui/forms/index.d.ts.map +1 -0
- package/lib/typescript/ui/forms/useInlineValidation.d.ts +30 -0
- package/lib/typescript/ui/forms/useInlineValidation.d.ts.map +1 -0
- package/lib/typescript/ui/forms/validators.d.ts +11 -0
- package/lib/typescript/ui/forms/validators.d.ts.map +1 -0
- package/lib/typescript/ui/icons/HomeHeartIcon.d.ts +14 -0
- package/lib/typescript/ui/icons/HomeHeartIcon.d.ts.map +1 -0
- package/lib/typescript/ui/icons/StepIcon.d.ts +26 -0
- package/lib/typescript/ui/icons/StepIcon.d.ts.map +1 -0
- package/lib/typescript/ui/overlays/AnalyzingOverlay.d.ts +24 -0
- package/lib/typescript/ui/overlays/AnalyzingOverlay.d.ts.map +1 -0
- package/lib/typescript/ui/overlays/LoadingOverlay.d.ts +19 -0
- package/lib/typescript/ui/overlays/LoadingOverlay.d.ts.map +1 -0
- package/lib/typescript/ui/overlays/ProgressBar.d.ts +26 -0
- package/lib/typescript/ui/overlays/ProgressBar.d.ts.map +1 -0
- package/lib/typescript/ui/overlays/RetryDialog.d.ts +17 -0
- package/lib/typescript/ui/overlays/RetryDialog.d.ts.map +1 -0
- package/lib/typescript/ui/overlays/index.d.ts +4 -0
- package/lib/typescript/ui/overlays/index.d.ts.map +1 -0
- package/lib/typescript/ui/primitives/Banner.d.ts +11 -0
- package/lib/typescript/ui/primitives/Banner.d.ts.map +1 -0
- package/lib/typescript/ui/primitives/Button.d.ts +27 -0
- package/lib/typescript/ui/primitives/Button.d.ts.map +1 -0
- package/lib/typescript/ui/primitives/Card.d.ts +10 -0
- package/lib/typescript/ui/primitives/Card.d.ts.map +1 -0
- package/lib/typescript/ui/primitives/Checkbox.d.ts +25 -0
- package/lib/typescript/ui/primitives/Checkbox.d.ts.map +1 -0
- package/lib/typescript/ui/primitives/CountrySelect.d.ts +31 -0
- package/lib/typescript/ui/primitives/CountrySelect.d.ts.map +1 -0
- package/lib/typescript/ui/primitives/DatePicker.d.ts +42 -0
- package/lib/typescript/ui/primitives/DatePicker.d.ts.map +1 -0
- package/lib/typescript/ui/primitives/Input.d.ts +17 -0
- package/lib/typescript/ui/primitives/Input.d.ts.map +1 -0
- package/lib/typescript/ui/primitives/Select.d.ts +26 -0
- package/lib/typescript/ui/primitives/Select.d.ts.map +1 -0
- package/lib/typescript/ui/primitives/Spinner.d.ts +10 -0
- package/lib/typescript/ui/primitives/Spinner.d.ts.map +1 -0
- package/lib/typescript/ui/primitives/index.d.ts +10 -0
- package/lib/typescript/ui/primitives/index.d.ts.map +1 -0
- package/lib/typescript/ui/theme/ThemeProvider.d.ts +23 -0
- package/lib/typescript/ui/theme/ThemeProvider.d.ts.map +1 -0
- package/lib/typescript/ui/theme/index.d.ts +3 -0
- package/lib/typescript/ui/theme/index.d.ts.map +1 -0
- package/lib/typescript/ui/theme/tokens.d.ts +42 -0
- package/lib/typescript/ui/theme/tokens.d.ts.map +1 -0
- package/lib/typescript/utils/EventEmitter.d.ts +98 -0
- package/lib/typescript/utils/EventEmitter.d.ts.map +1 -0
- package/lib/typescript/utils/base64.d.ts +19 -0
- package/lib/typescript/utils/base64.d.ts.map +1 -0
- package/lib/typescript/utils/deviceFingerprint.d.ts +42 -0
- package/lib/typescript/utils/deviceFingerprint.d.ts.map +1 -0
- package/lib/typescript/utils/documentTypeOptions.d.ts +13 -0
- package/lib/typescript/utils/documentTypeOptions.d.ts.map +1 -0
- package/lib/typescript/utils/googleMapsPreflight.d.ts +44 -0
- package/lib/typescript/utils/googleMapsPreflight.d.ts.map +1 -0
- package/lib/typescript/utils/hmac.d.ts +39 -0
- package/lib/typescript/utils/hmac.d.ts.map +1 -0
- package/lib/typescript/utils/iso3166Countries.d.ts +27 -0
- package/lib/typescript/utils/iso3166Countries.d.ts.map +1 -0
- package/lib/typescript/utils/jpegFromUri.d.ts +29 -0
- package/lib/typescript/utils/jpegFromUri.d.ts.map +1 -0
- package/lib/typescript/utils/keepAwake.d.ts +16 -0
- package/lib/typescript/utils/keepAwake.d.ts.map +1 -0
- package/lib/typescript/utils/log.d.ts +18 -0
- package/lib/typescript/utils/log.d.ts.map +1 -0
- package/lib/typescript/utils/osGeocoder.d.ts +38 -0
- package/lib/typescript/utils/osGeocoder.d.ts.map +1 -0
- package/lib/typescript/utils/parseGoogleAddressComponents.d.ts +43 -0
- package/lib/typescript/utils/parseGoogleAddressComponents.d.ts.map +1 -0
- package/lib/typescript/utils/personNameNormalize.d.ts +10 -0
- package/lib/typescript/utils/personNameNormalize.d.ts.map +1 -0
- package/lib/typescript/utils/sdkError.d.ts +14 -0
- package/lib/typescript/utils/sdkError.d.ts.map +1 -0
- package/lib/typescript/utils/sdkVersion.d.ts +7 -0
- package/lib/typescript/utils/sdkVersion.d.ts.map +1 -0
- package/lib/typescript/utils/stepConfig.d.ts +8 -0
- package/lib/typescript/utils/stepConfig.d.ts.map +1 -0
- package/lib/typescript/utils/taxInfoConfig.d.ts +7 -0
- package/lib/typescript/utils/taxInfoConfig.d.ts.map +1 -0
- package/package.json +99 -0
- package/src/camera/AddressSearchBar.tsx +363 -0
- package/src/camera/DocumentCapture.tsx +505 -0
- package/src/camera/LivenessCamera.tsx +602 -0
- package/src/camera/MapAddressPicker.tsx +397 -0
- package/src/core/VelionOnboarding.ts +974 -0
- package/src/core/sessionDeclinedCopy.ts +76 -0
- package/src/core/sessionStateMapper.ts +167 -0
- package/src/core/sseReasonMessages.ts +531 -0
- package/src/data/iso3166Alpha2Codes.json +1 -0
- package/src/data/iso3166CountryNames.json +251 -0
- package/src/i18n/index.ts +26 -0
- package/src/i18n/strings/en.ts +289 -0
- package/src/i18n/strings/es.ts +291 -0
- package/src/index.ts +137 -0
- package/src/steps/AddressInfoStep.tsx +726 -0
- package/src/steps/DocumentsOcrStep.tsx +472 -0
- package/src/steps/EmailContactStep.tsx +159 -0
- package/src/steps/EmailOtpStep.tsx +250 -0
- package/src/steps/FaceMatchStep.tsx +177 -0
- package/src/steps/FingerprintStep.tsx +99 -0
- package/src/steps/HumanBasicInfoStep.tsx +274 -0
- package/src/steps/HumanExtendedInfoStep.tsx +353 -0
- package/src/steps/LegalBasicInfoStep.tsx +205 -0
- package/src/steps/LegalExtendedInfoStep.tsx +171 -0
- package/src/steps/LivenessMatchStep.tsx +846 -0
- package/src/steps/PhoneContactStep.tsx +160 -0
- package/src/steps/PhoneOtpStep.tsx +249 -0
- package/src/steps/SwornDeclarationStep.tsx +220 -0
- package/src/steps/TaxInfoStep.tsx +277 -0
- package/src/steps/TermsAndConditionsStep.tsx +261 -0
- package/src/steps/_shared.ts +44 -0
- package/src/steps/types.ts +72 -0
- package/src/transport/api.ts +257 -0
- package/src/transport/irisWebSocket.ts +186 -0
- package/src/transport/secureUrl.ts +47 -0
- package/src/transport/sse.ts +310 -0
- package/src/types/index.ts +1198 -0
- package/src/ui/MapFallbackBoundary.tsx +46 -0
- package/src/ui/StepShell.tsx +137 -0
- package/src/ui/VelionOnboardingScreen.tsx +223 -0
- package/src/ui/forms/index.ts +12 -0
- package/src/ui/forms/useInlineValidation.ts +115 -0
- package/src/ui/forms/validators.ts +29 -0
- package/src/ui/icons/HomeHeartIcon.tsx +34 -0
- package/src/ui/icons/StepIcon.tsx +77 -0
- package/src/ui/overlays/AnalyzingOverlay.tsx +323 -0
- package/src/ui/overlays/LoadingOverlay.tsx +115 -0
- package/src/ui/overlays/ProgressBar.tsx +99 -0
- package/src/ui/overlays/RetryDialog.tsx +128 -0
- package/src/ui/overlays/index.ts +3 -0
- package/src/ui/primitives/Banner.tsx +81 -0
- package/src/ui/primitives/Button.tsx +164 -0
- package/src/ui/primitives/Card.tsx +55 -0
- package/src/ui/primitives/Checkbox.tsx +153 -0
- package/src/ui/primitives/CountrySelect.tsx +356 -0
- package/src/ui/primitives/DatePicker.tsx +266 -0
- package/src/ui/primitives/Input.tsx +110 -0
- package/src/ui/primitives/Select.tsx +259 -0
- package/src/ui/primitives/Spinner.tsx +17 -0
- package/src/ui/primitives/index.ts +9 -0
- package/src/ui/theme/ThemeProvider.tsx +102 -0
- package/src/ui/theme/index.ts +17 -0
- package/src/ui/theme/tokens.ts +159 -0
- package/src/utils/EventEmitter.ts +155 -0
- package/src/utils/base64.ts +44 -0
- package/src/utils/deviceFingerprint.ts +184 -0
- package/src/utils/documentTypeOptions.ts +31 -0
- package/src/utils/googleMapsPreflight.ts +72 -0
- package/src/utils/hmac.ts +61 -0
- package/src/utils/iso3166Countries.ts +111 -0
- package/src/utils/jpegFromUri.ts +42 -0
- package/src/utils/keepAwake.ts +62 -0
- package/src/utils/log.ts +37 -0
- package/src/utils/osGeocoder.ts +75 -0
- package/src/utils/parseGoogleAddressComponents.ts +123 -0
- package/src/utils/personNameNormalize.ts +17 -0
- package/src/utils/sdkError.ts +40 -0
- package/src/utils/sdkVersion.ts +6 -0
- package/src/utils/stepConfig.ts +75 -0
- package/src/utils/taxInfoConfig.ts +14 -0
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @fileoverview Top-level React component the host app mounts.
|
|
5
|
+
*
|
|
6
|
+
* Owns the `VelionOnboarding` instance lifecycle, mounts the `ThemeProvider`,
|
|
7
|
+
* and renders the orchestrator's view bridge: a sticky `ProgressBar`, the
|
|
8
|
+
* active step's React node, and (when a step is between transitions or the
|
|
9
|
+
* flow finishes) a themed `LoadingOverlay` / final-result message.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
13
|
+
import { StyleSheet, Text, View } from 'react-native';
|
|
14
|
+
import { VelionOnboarding } from '../core/VelionOnboarding';
|
|
15
|
+
import { ThemeProvider, useTheme } from './theme';
|
|
16
|
+
import { LoadingOverlay } from './overlays/LoadingOverlay';
|
|
17
|
+
import { PROGRESS_BAR, ProgressBar } from './overlays/ProgressBar';
|
|
18
|
+
import { getStrings } from '../i18n';
|
|
19
|
+
import { activateScreenKeepAwake, deactivateScreenKeepAwake } from '../utils/keepAwake';
|
|
20
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
21
|
+
const INITIAL_STATE = {
|
|
22
|
+
loading: null,
|
|
23
|
+
stepNode: null,
|
|
24
|
+
error: null,
|
|
25
|
+
result: null
|
|
26
|
+
};
|
|
27
|
+
export function VelionOnboardingScreen({
|
|
28
|
+
config,
|
|
29
|
+
onComplete,
|
|
30
|
+
onFail
|
|
31
|
+
}) {
|
|
32
|
+
return /*#__PURE__*/_jsx(ThemeProvider, {
|
|
33
|
+
themeOverrides: config.theme,
|
|
34
|
+
colorMode: config.colorMode ?? 'auto',
|
|
35
|
+
children: /*#__PURE__*/_jsx(VelionOnboardingInner, {
|
|
36
|
+
config: config,
|
|
37
|
+
onComplete: onComplete,
|
|
38
|
+
onFail: onFail
|
|
39
|
+
})
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
function VelionOnboardingInner({
|
|
43
|
+
config,
|
|
44
|
+
onComplete,
|
|
45
|
+
onFail
|
|
46
|
+
}) {
|
|
47
|
+
const theme = useTheme();
|
|
48
|
+
const t = getStrings(config.locale);
|
|
49
|
+
const [state, setState] = useState(INITIAL_STATE);
|
|
50
|
+
const [progress, setProgress] = useState(0);
|
|
51
|
+
const [progressHidden, setProgressHidden] = useState(false);
|
|
52
|
+
const sdk = useMemo(() => new VelionOnboarding(config),
|
|
53
|
+
// Recreate the SDK only when the session changes — host must keep
|
|
54
|
+
// callbacks stable (or wrap them in refs).
|
|
55
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
56
|
+
[config.sessionId, config.apiUrl]);
|
|
57
|
+
const sdkRef = useRef(sdk);
|
|
58
|
+
sdkRef.current = sdk;
|
|
59
|
+
const onCompleteRef = useRef(onComplete);
|
|
60
|
+
const onFailRef = useRef(onFail);
|
|
61
|
+
onCompleteRef.current = onComplete;
|
|
62
|
+
onFailRef.current = onFail;
|
|
63
|
+
useEffect(() => {
|
|
64
|
+
// Hold a wake lock for the full duration of the flow. Camera-heavy steps
|
|
65
|
+
// (LIVENESS_MATCH, DOCUMENTS_OCR) involve the user holding still, so the
|
|
66
|
+
// OS screen-timeout would otherwise dim and lock the device mid-session.
|
|
67
|
+
activateScreenKeepAwake();
|
|
68
|
+
sdk.attachView({
|
|
69
|
+
setLoading: text => setState(s => ({
|
|
70
|
+
...s,
|
|
71
|
+
loading: text
|
|
72
|
+
})),
|
|
73
|
+
setStepNode: node => setState(s => ({
|
|
74
|
+
...s,
|
|
75
|
+
stepNode: node
|
|
76
|
+
})),
|
|
77
|
+
setError: err => {
|
|
78
|
+
setState(s => ({
|
|
79
|
+
...s,
|
|
80
|
+
error: err,
|
|
81
|
+
loading: null,
|
|
82
|
+
stepNode: null
|
|
83
|
+
}));
|
|
84
|
+
setProgressHidden(true);
|
|
85
|
+
onFailRef.current?.(err);
|
|
86
|
+
},
|
|
87
|
+
setResult: result => {
|
|
88
|
+
setState(s => ({
|
|
89
|
+
...s,
|
|
90
|
+
result,
|
|
91
|
+
loading: null,
|
|
92
|
+
stepNode: null
|
|
93
|
+
}));
|
|
94
|
+
setProgress(PROGRESS_BAR.complete());
|
|
95
|
+
// Fade after a small delay so the "100%" jump is visible.
|
|
96
|
+
setTimeout(() => setProgressHidden(true), 400);
|
|
97
|
+
onCompleteRef.current?.(result);
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
const unsubStepChange = sdk.on('step:change', () => {
|
|
101
|
+
setProgress(curr => PROGRESS_BAR.tick(curr));
|
|
102
|
+
});
|
|
103
|
+
void sdk.start();
|
|
104
|
+
return () => {
|
|
105
|
+
unsubStepChange();
|
|
106
|
+
sdk.detachView();
|
|
107
|
+
sdk.destroy();
|
|
108
|
+
deactivateScreenKeepAwake();
|
|
109
|
+
};
|
|
110
|
+
}, [sdk]);
|
|
111
|
+
const renderBody = useCallback(() => {
|
|
112
|
+
if (state.error) {
|
|
113
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
114
|
+
style: styles.message,
|
|
115
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
116
|
+
style: [styles.title, {
|
|
117
|
+
color: theme.errorColor
|
|
118
|
+
}],
|
|
119
|
+
children: state.error.declineTitle ?? t.result.declineHeadline
|
|
120
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
121
|
+
style: [styles.body, {
|
|
122
|
+
color: theme.textColor
|
|
123
|
+
}],
|
|
124
|
+
children: state.error.declineMessage ?? state.error.message
|
|
125
|
+
})]
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
if (state.result) {
|
|
129
|
+
const status = state.result.status;
|
|
130
|
+
let title = t.result.approvedTitle;
|
|
131
|
+
let body = t.result.approvedBody;
|
|
132
|
+
if (status === 'MANUAL_REVIEW') {
|
|
133
|
+
title = t.result.manualReviewTitle;
|
|
134
|
+
body = t.result.manualReviewBody;
|
|
135
|
+
} else if (status === 'REJECTED' || status === 'DECLINED') {
|
|
136
|
+
title = t.result.rejectedTitle;
|
|
137
|
+
body = t.result.rejectedBody;
|
|
138
|
+
}
|
|
139
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
140
|
+
style: styles.message,
|
|
141
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
142
|
+
style: [styles.title, {
|
|
143
|
+
color: theme.textColor
|
|
144
|
+
}],
|
|
145
|
+
children: title
|
|
146
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
147
|
+
style: [styles.body, {
|
|
148
|
+
color: theme.textSecondaryColor
|
|
149
|
+
}],
|
|
150
|
+
children: body
|
|
151
|
+
})]
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
if (state.stepNode) {
|
|
155
|
+
return state.stepNode;
|
|
156
|
+
}
|
|
157
|
+
return null;
|
|
158
|
+
}, [state, theme, t]);
|
|
159
|
+
const showLoadingOverlay = !state.error && !state.result && !state.stepNode;
|
|
160
|
+
const loadingText = state.loading ?? t.common.loading;
|
|
161
|
+
// Progress bar is shown unless EITHER `config.showProgressBar === false`
|
|
162
|
+
// OR `theme.hideProgressBar === true`. Both paths exist for parity with
|
|
163
|
+
// `hideStepIcons` (theme-side) and for hosts that already wire the
|
|
164
|
+
// legacy `showProgressBar` flag (config-side).
|
|
165
|
+
const showProgress = config.showProgressBar !== false && !theme.hideProgressBar;
|
|
166
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
167
|
+
style: [styles.root, {
|
|
168
|
+
backgroundColor: theme.backgroundColor
|
|
169
|
+
}],
|
|
170
|
+
children: [showProgress ? /*#__PURE__*/_jsx(ProgressBar, {
|
|
171
|
+
value: progress,
|
|
172
|
+
hidden: progressHidden
|
|
173
|
+
}) : null, /*#__PURE__*/_jsx(View, {
|
|
174
|
+
style: styles.content,
|
|
175
|
+
children: renderBody()
|
|
176
|
+
}), showLoadingOverlay ? /*#__PURE__*/_jsx(LoadingOverlay, {
|
|
177
|
+
message: loadingText
|
|
178
|
+
}) : null]
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
const styles = StyleSheet.create({
|
|
182
|
+
root: {
|
|
183
|
+
flex: 1
|
|
184
|
+
},
|
|
185
|
+
content: {
|
|
186
|
+
flex: 1,
|
|
187
|
+
overflow: 'hidden'
|
|
188
|
+
},
|
|
189
|
+
message: {
|
|
190
|
+
flex: 1,
|
|
191
|
+
alignItems: 'center',
|
|
192
|
+
justifyContent: 'center',
|
|
193
|
+
paddingHorizontal: 24,
|
|
194
|
+
gap: 12
|
|
195
|
+
},
|
|
196
|
+
title: {
|
|
197
|
+
fontSize: 20,
|
|
198
|
+
fontWeight: '600',
|
|
199
|
+
textAlign: 'center'
|
|
200
|
+
},
|
|
201
|
+
body: {
|
|
202
|
+
fontSize: 15,
|
|
203
|
+
lineHeight: 22,
|
|
204
|
+
textAlign: 'center',
|
|
205
|
+
maxWidth: 360
|
|
206
|
+
}
|
|
207
|
+
});
|
|
208
|
+
|
|
209
|
+
// Type tag used so consumers can identify the step that triggered an event.
|
|
210
|
+
// Currently unused but kept here so future adapters (e.g. analytics wrappers)
|
|
211
|
+
// can hook into orchestrator events without re-exporting types.
|
|
212
|
+
//# sourceMappingURL=VelionOnboardingScreen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useCallback","useEffect","useMemo","useRef","useState","StyleSheet","Text","View","VelionOnboarding","ThemeProvider","useTheme","LoadingOverlay","PROGRESS_BAR","ProgressBar","getStrings","activateScreenKeepAwake","deactivateScreenKeepAwake","jsx","_jsx","jsxs","_jsxs","INITIAL_STATE","loading","stepNode","error","result","VelionOnboardingScreen","config","onComplete","onFail","themeOverrides","theme","colorMode","children","VelionOnboardingInner","t","locale","state","setState","progress","setProgress","progressHidden","setProgressHidden","sdk","sessionId","apiUrl","sdkRef","current","onCompleteRef","onFailRef","attachView","setLoading","text","s","setStepNode","node","setError","err","setResult","complete","setTimeout","unsubStepChange","on","curr","tick","start","detachView","destroy","renderBody","style","styles","message","title","color","errorColor","declineTitle","declineHeadline","body","textColor","declineMessage","status","approvedTitle","approvedBody","manualReviewTitle","manualReviewBody","rejectedTitle","rejectedBody","textSecondaryColor","showLoadingOverlay","loadingText","common","showProgress","showProgressBar","hideProgressBar","root","backgroundColor","value","hidden","content","create","flex","overflow","alignItems","justifyContent","paddingHorizontal","gap","fontSize","fontWeight","textAlign","lineHeight","maxWidth"],"sourceRoot":"../../../src","sources":["ui/VelionOnboardingScreen.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useInlineValidation","required","minLength","pattern","compose"],"sourceRoot":"../../../../src","sources":["ui/forms/index.ts"],"mappings":";;AAAA,SACEA,mBAAmB,QAGd,uBAAuB;AAC9B,SACEC,QAAQ,EACRC,SAAS,EACTC,OAAO,EACPC,OAAO,QAEF,cAAc","ignoreList":[]}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @fileoverview Inline form validation hook.
|
|
5
|
+
*
|
|
6
|
+
* Implements the on-blur validation heuristic from Material Design's
|
|
7
|
+
* `inline-validation` guidelines — error appears on blur (not keystroke),
|
|
8
|
+
* clears optimistically when the user resumes typing, and re-evaluates on
|
|
9
|
+
* the next blur. The form's submit handler can call `validateAll()` to gate.
|
|
10
|
+
*
|
|
11
|
+
* Returns plain handlers + an errors map that step modules feed into
|
|
12
|
+
* `<Input errorMessage={…} />` props.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
import { useCallback, useMemo, useRef, useState } from 'react';
|
|
16
|
+
export function useInlineValidation(rules, onChange) {
|
|
17
|
+
const [errors, setErrors] = useState({});
|
|
18
|
+
const rulesRef = useRef(rules);
|
|
19
|
+
rulesRef.current = rules;
|
|
20
|
+
const validateOne = useCallback((name, value) => {
|
|
21
|
+
const rule = rulesRef.current.find(r => r.name === name);
|
|
22
|
+
if (!rule) return null;
|
|
23
|
+
return rule.validate(value);
|
|
24
|
+
}, []);
|
|
25
|
+
const setFieldError = useCallback((name, message) => {
|
|
26
|
+
setErrors(prev => {
|
|
27
|
+
if (message) {
|
|
28
|
+
if (prev[name] === message) return prev;
|
|
29
|
+
return {
|
|
30
|
+
...prev,
|
|
31
|
+
[name]: message
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
if (!(name in prev)) return prev;
|
|
35
|
+
const next = {
|
|
36
|
+
...prev
|
|
37
|
+
};
|
|
38
|
+
delete next[name];
|
|
39
|
+
return next;
|
|
40
|
+
});
|
|
41
|
+
}, []);
|
|
42
|
+
const bind = useCallback((name, value) => ({
|
|
43
|
+
onBlur: () => {
|
|
44
|
+
const message = validateOne(name, value);
|
|
45
|
+
setFieldError(name, message);
|
|
46
|
+
},
|
|
47
|
+
onChangeText: text => {
|
|
48
|
+
onChange?.(name, text);
|
|
49
|
+
// Optimistic clear while editing — equivalent to the input listener
|
|
50
|
+
// in the web inlineValidation helper.
|
|
51
|
+
setErrors(prev => {
|
|
52
|
+
if (!(name in prev)) return prev;
|
|
53
|
+
const next = {
|
|
54
|
+
...prev
|
|
55
|
+
};
|
|
56
|
+
delete next[name];
|
|
57
|
+
return next;
|
|
58
|
+
});
|
|
59
|
+
},
|
|
60
|
+
errorMessage: errors[name] ?? null
|
|
61
|
+
}), [errors, onChange, setFieldError, validateOne]);
|
|
62
|
+
const validateAll = useCallback(values => {
|
|
63
|
+
const next = {};
|
|
64
|
+
let allOk = true;
|
|
65
|
+
for (const rule of rulesRef.current) {
|
|
66
|
+
const message = rule.validate(values[rule.name] ?? '');
|
|
67
|
+
if (message) {
|
|
68
|
+
next[rule.name] = message;
|
|
69
|
+
allOk = false;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
setErrors(next);
|
|
73
|
+
return allOk;
|
|
74
|
+
}, []);
|
|
75
|
+
const reset = useCallback(() => setErrors({}), []);
|
|
76
|
+
return useMemo(() => ({
|
|
77
|
+
errors,
|
|
78
|
+
bind,
|
|
79
|
+
validateAll,
|
|
80
|
+
reset,
|
|
81
|
+
setFieldError
|
|
82
|
+
}), [errors, bind, validateAll, reset, setFieldError]);
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=useInlineValidation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useCallback","useMemo","useRef","useState","useInlineValidation","rules","onChange","errors","setErrors","rulesRef","current","validateOne","name","value","rule","find","r","validate","setFieldError","message","prev","next","bind","onBlur","onChangeText","text","errorMessage","validateAll","values","allOk","reset"],"sourceRoot":"../../../../src","sources":["ui/forms/useInlineValidation.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Reusable field validators. Each validator returns either an error message or
|
|
5
|
+
* `null` when valid — same contract as `InlineFieldRule.validate` in the web
|
|
6
|
+
* SDK so step authors can move logic between platforms with minimal churn.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
export function required(message) {
|
|
10
|
+
return value => value.trim().length > 0 ? null : message;
|
|
11
|
+
}
|
|
12
|
+
export function minLength(min, message) {
|
|
13
|
+
return value => value.trim().length >= min ? null : message;
|
|
14
|
+
}
|
|
15
|
+
export function pattern(regex, message) {
|
|
16
|
+
return value => regex.test(value) ? null : message;
|
|
17
|
+
}
|
|
18
|
+
export function compose(...validators) {
|
|
19
|
+
return value => {
|
|
20
|
+
for (const v of validators) {
|
|
21
|
+
const msg = v(value);
|
|
22
|
+
if (msg) return msg;
|
|
23
|
+
}
|
|
24
|
+
return null;
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=validators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["required","message","value","trim","length","minLength","min","pattern","regex","test","compose","validators","v","msg"],"sourceRoot":"../../../../src","sources":["ui/forms/validators.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;;AAIA,OAAO,SAASA,QAAQA,CAACC,OAAe,EAAkB;EACxD,OAAQC,KAAK,IAAMA,KAAK,CAACC,IAAI,CAAC,CAAC,CAACC,MAAM,GAAG,CAAC,GAAG,IAAI,GAAGH,OAAQ;AAC9D;AAEA,OAAO,SAASI,SAASA,CAACC,GAAW,EAAEL,OAAe,EAAkB;EACtE,OAAQC,KAAK,IAAMA,KAAK,CAACC,IAAI,CAAC,CAAC,CAACC,MAAM,IAAIE,GAAG,GAAG,IAAI,GAAGL,OAAQ;AACjE;AAEA,OAAO,SAASM,OAAOA,CAACC,KAAa,EAAEP,OAAe,EAAkB;EACtE,OAAQC,KAAK,IAAMM,KAAK,CAACC,IAAI,CAACP,KAAK,CAAC,GAAG,IAAI,GAAGD,OAAQ;AACxD;AAEA,OAAO,SAASS,OAAOA,CAAC,GAAGC,UAA4B,EAAkB;EACvE,OAAQT,KAAK,IAAK;IAChB,KAAK,MAAMU,CAAC,IAAID,UAAU,EAAE;MAC1B,MAAME,GAAG,GAAGD,CAAC,CAACV,KAAK,CAAC;MACpB,IAAIW,GAAG,EAAE,OAAOA,GAAG;IACrB;IACA,OAAO,IAAI;EACb,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Custom "home with heart" step icon for the ADDRESS_INFO step.
|
|
5
|
+
*
|
|
6
|
+
* Drawn inline with react-native-svg (already in deps for the liveness oval)
|
|
7
|
+
* so we don't depend on MaterialIcons having an exact match — none of the
|
|
8
|
+
* Material set bundles a house with a heart inside.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
import Svg, { Path } from 'react-native-svg';
|
|
12
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
+
export function HomeHeartIcon({
|
|
14
|
+
size = 28,
|
|
15
|
+
color = '#FFFFFF'
|
|
16
|
+
}) {
|
|
17
|
+
return /*#__PURE__*/_jsxs(Svg, {
|
|
18
|
+
width: size,
|
|
19
|
+
height: size,
|
|
20
|
+
viewBox: "0 0 24 24",
|
|
21
|
+
children: [/*#__PURE__*/_jsx(Path, {
|
|
22
|
+
d: "M3 11.5 L12 3.5 L21 11.5 L21 20.5 A1.5 1.5 0 0 1 19.5 22 L4.5 22 A1.5 1.5 0 0 1 3 20.5 Z",
|
|
23
|
+
fill: "none",
|
|
24
|
+
stroke: color,
|
|
25
|
+
strokeWidth: 1.7,
|
|
26
|
+
strokeLinejoin: "round"
|
|
27
|
+
}), /*#__PURE__*/_jsx(Path, {
|
|
28
|
+
d: "M12 18.2 C 9.4 16.3 7.7 14.7 7.7 13.0 C 7.7 11.7 8.7 10.7 9.9 10.7 C 10.7 10.7 11.5 11.1 12 11.8 C 12.5 11.1 13.3 10.7 14.1 10.7 C 15.3 10.7 16.3 11.7 16.3 13.0 C 16.3 14.7 14.6 16.3 12 18.2 Z",
|
|
29
|
+
fill: color
|
|
30
|
+
})]
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=HomeHeartIcon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Svg","Path","jsx","_jsx","jsxs","_jsxs","HomeHeartIcon","size","color","width","height","viewBox","children","d","fill","stroke","strokeWidth","strokeLinejoin"],"sourceRoot":"../../../../src","sources":["ui/icons/HomeHeartIcon.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,GAAG,IAAIC,IAAI,QAAQ,kBAAkB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAO7C,OAAO,SAASC,aAAaA,CAAC;EAAEC,IAAI,GAAG,EAAE;EAAEC,KAAK,GAAG;AAA8B,CAAC,EAAE;EAClF,oBACEH,KAAA,CAACL,GAAG;IAACS,KAAK,EAAEF,IAAK;IAACG,MAAM,EAAEH,IAAK;IAACI,OAAO,EAAC,WAAW;IAAAC,QAAA,gBAEjDT,IAAA,CAACF,IAAI;MACHY,CAAC,EAAC,0FAA0F;MAC5FC,IAAI,EAAC,MAAM;MACXC,MAAM,EAAEP,KAAM;MACdQ,WAAW,EAAE,GAAI;MACjBC,cAAc,EAAC;IAAO,CACvB,CAAC,eAEFd,IAAA,CAACF,IAAI;MACHY,CAAC,EAAC,kMAAkM;MACpMC,IAAI,EAAEN;IAAM,CACb,CAAC;EAAA,CACC,CAAC;AAEV","ignoreList":[]}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @fileoverview StepIcon — small wrapper around `MaterialIcons` (shipped with
|
|
5
|
+
* `@expo/vector-icons`, which Expo SDK 54 includes by default).
|
|
6
|
+
*
|
|
7
|
+
* Steps pass an icon by name (e.g. `<StepIcon name="badge" />`) and the
|
|
8
|
+
* shell renders it inside the colored circle next to the title. When the
|
|
9
|
+
* library can't be loaded (bare-RN host without `@expo/vector-icons`
|
|
10
|
+
* installed) we fall back silently to `null` so the circle is empty rather
|
|
11
|
+
* than crashing — the host can switch off the circle altogether via
|
|
12
|
+
* `VelionTheme.hideStepIcons`.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
import { Text } from 'react-native';
|
|
16
|
+
import { log } from '../../utils/log';
|
|
17
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
18
|
+
let MaterialIcons = null;
|
|
19
|
+
try {
|
|
20
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires
|
|
21
|
+
const mod = require('@expo/vector-icons');
|
|
22
|
+
MaterialIcons = mod.MaterialIcons ?? null;
|
|
23
|
+
} catch {
|
|
24
|
+
log.warn('[StepIcon] @expo/vector-icons is not installed — step header icons will be hidden. ' + 'Either install it (Expo SDK 54+ ships it by default) or set VelionTheme.hideStepIcons=true.');
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Renders a Material icon centered inside the step's title circle. Returns
|
|
28
|
+
* `null` when `@expo/vector-icons` is unavailable so the SDK still mounts
|
|
29
|
+
* gracefully on hosts without it.
|
|
30
|
+
*/
|
|
31
|
+
export function StepIcon({
|
|
32
|
+
name,
|
|
33
|
+
size = 28,
|
|
34
|
+
color = '#FFFFFF'
|
|
35
|
+
}) {
|
|
36
|
+
if (!MaterialIcons) {
|
|
37
|
+
// Plain text fallback — keeps the circle from being blank when the
|
|
38
|
+
// library is missing. Picks a neutral character; not localized.
|
|
39
|
+
return /*#__PURE__*/_jsx(Text, {
|
|
40
|
+
style: {
|
|
41
|
+
color,
|
|
42
|
+
fontSize: size,
|
|
43
|
+
fontWeight: '700'
|
|
44
|
+
},
|
|
45
|
+
children: "\u2022"
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
const Icon = MaterialIcons;
|
|
49
|
+
return /*#__PURE__*/_jsx(Icon, {
|
|
50
|
+
name: name,
|
|
51
|
+
size: size,
|
|
52
|
+
color: color
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=StepIcon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Text","log","jsx","_jsx","MaterialIcons","mod","require","warn","StepIcon","name","size","color","style","fontSize","fontWeight","children","Icon"],"sourceRoot":"../../../../src","sources":["ui/icons/StepIcon.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,SAASA,IAAI,QAAQ,cAAc;AACnC,SAASC,GAAG,QAAQ,iBAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAiBtC,IAAIC,aAOI,GAAG,IAAI;AAEf,IAAI;EACF;EACA,MAAMC,GAAG,GAAGC,OAAO,CAAC,oBAAoB,CAAC;EACzCF,aAAa,GAAGC,GAAG,CAACD,aAAa,IAAI,IAAI;AAC3C,CAAC,CAAC,MAAM;EACNH,GAAG,CAACM,IAAI,CACN,qFAAqF,GACnF,6FACJ,CAAC;AACH;AAUA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,QAAQA,CAAC;EAAEC,IAAI;EAAEC,IAAI,GAAG,EAAE;EAAEC,KAAK,GAAG;AAAyB,CAAC,EAAE;EAC9E,IAAI,CAACP,aAAa,EAAE;IAClB;IACA;IACA,oBAAOD,IAAA,CAACH,IAAI;MAACY,KAAK,EAAE;QAAED,KAAK;QAAEE,QAAQ,EAAEH,IAAI;QAAEI,UAAU,EAAE;MAAM,CAAE;MAAAC,QAAA,EAAC;IAAC,CAAM,CAAC;EAC5E;EACA,MAAMC,IAAI,GAAGZ,aAIK;EAClB,oBAAOD,IAAA,CAACa,IAAI;IAACP,IAAI,EAAEA,IAAK;IAACC,IAAI,EAAEA,IAAK;IAACC,KAAK,EAAEA;EAAM,CAAE,CAAC;AACvD","ignoreList":[]}
|