datakeen-session-react 1.1.199-rc.2 → 1.1.199-rc.4
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/LICENSE +218 -0
- package/README.md +1 -17
- package/dist/cjs/_virtual/_commonjsHelpers.js +0 -1
- package/dist/cjs/_virtual/heic2any.js +0 -1
- package/dist/cjs/_virtual/heic2any2.js +0 -1
- package/dist/cjs/assets/Face Scan Square.svg.js +0 -1
- package/dist/cjs/assets/Lightbulb.svg.js +0 -1
- package/dist/cjs/assets/Monitor Camera.svg.js +0 -1
- package/dist/cjs/assets/User Hands.svg.js +0 -1
- package/dist/cjs/assets/before-document.png.js +0 -1
- package/dist/cjs/assets/before-passport.png.js +0 -1
- package/dist/cjs/assets/before-photo.png.js +0 -1
- package/dist/cjs/assets/before-verso.png.js +0 -1
- package/dist/cjs/assets/check.svg.js +0 -1
- package/dist/cjs/assets/icons/shield_magic_link.svg.js +0 -1
- package/dist/cjs/assets/selfietake.svg.js +0 -1
- package/dist/cjs/components/DatakeenSession.js +0 -1
- package/dist/cjs/components/document-collection/DocumentCollection.js +0 -1
- package/dist/cjs/components/document-collection/DocumentCollectionIntroduction.js +0 -1
- package/dist/cjs/components/document-collection/DocumentCollectionMethodSelection.js +0 -1
- package/dist/cjs/components/document-collection/DocumentCollectionSelection.js +0 -1
- package/dist/cjs/components/document-collection/DocumentCollectionUpload.js +0 -1
- package/dist/cjs/components/document-collection/DocumentError.js +0 -1
- package/dist/cjs/components/document-collection/DocumentProcessing.js +0 -1
- package/dist/cjs/components/document-collection/DocumentSuccess.js +0 -1
- package/dist/cjs/components/document-video/DocumentVideoCapture.js +0 -1
- package/dist/cjs/components/document-video/DocumentVideoConfirmation.js +0 -1
- package/dist/cjs/components/document-video/document-video-flow/DocumentVideoFlow.js +0 -1
- package/dist/cjs/components/document-video/document-video-flow/DocumentVideoInstructions.js +0 -1
- package/dist/cjs/components/document-video/document-video-flow/DocumentVideoProcessing.js +0 -1
- package/dist/cjs/components/document-video/document-video-flow/DocumentVideoRecorder.js +0 -1
- package/dist/cjs/components/icons/ElectronicIcon.js +0 -1
- package/dist/cjs/components/icons/PoweredByIcon.js +0 -1
- package/dist/cjs/components/icons/PreIntroIcon.js +0 -1
- package/dist/cjs/components/icons/StartIcon.js +0 -1
- package/dist/cjs/components/id-check/BeforePhoto.js +0 -1
- package/dist/cjs/components/id-check/BeforeVersoPhoto.js +0 -1
- package/dist/cjs/components/id-check/CameraError.js +0 -1
- package/dist/cjs/components/id-check/CameraMask.js +0 -1
- package/dist/cjs/components/id-check/OrientationToggle.js +0 -1
- package/dist/cjs/components/id-check/Photo.js +0 -1
- package/dist/cjs/components/id-check/PhotoConfirmation.js +0 -1
- package/dist/cjs/components/id-check/PhotoPreview.js +0 -1
- package/dist/cjs/components/jdi/JDDWorkInProgress.js +0 -1
- package/dist/cjs/components/jdi/JDICountrySelection.js +0 -1
- package/dist/cjs/components/jdi/JDIDocumentSelection.js +0 -1
- package/dist/cjs/components/jdi/JDIDocumentUpload.js +0 -1
- package/dist/cjs/components/jdi/JDIError.js +0 -1
- package/dist/cjs/components/jdi/JDIPreIntroduction.js +0 -1
- package/dist/cjs/components/jdi/JDIProcessing.js +0 -1
- package/dist/cjs/components/jdi/JDISuccess.js +0 -1
- package/dist/cjs/components/legal-consent/LegalConsentNode.js +0 -1
- package/dist/cjs/components/nfc-scan/BiometricSymbol.js +0 -1
- package/dist/cjs/components/nfc-scan/NfcChipGate.js +0 -1
- package/dist/cjs/components/nfc-scan/NfcFallbackSurvey.js +0 -1
- package/dist/cjs/components/nfc-scan/NfcOnboardingNotice.js +0 -1
- package/dist/cjs/components/nfc-scan/NfcScanNode.js +0 -1
- package/dist/cjs/components/nfc-scan/NfcSuccessAnimation.js +0 -1
- package/dist/cjs/components/nfc-scan/PuceCniSymbol.js +0 -1
- package/dist/cjs/components/selfie/SelfieConfirmation.js +0 -1
- package/dist/cjs/components/selfie/Video.css.js +0 -1
- package/dist/cjs/components/selfie/Video.js +0 -1
- package/dist/cjs/components/selfie/VideoFixes.css.js +0 -1
- package/dist/cjs/components/selfie/VideoResetStyles.js +0 -1
- package/dist/cjs/components/selfie/hooks/useLiveFrameCapture.js +0 -1
- package/dist/cjs/components/selfie/hooks/useVideoRecorderStyles.js +0 -1
- package/dist/cjs/components/selfie/selfie-flow/InstructionsSelfie.js +0 -1
- package/dist/cjs/components/selfie/selfie-flow/SelfieFlow.js +0 -1
- package/dist/cjs/components/selfie/selfie-flow/SelfiePreIntroduction.js +0 -1
- package/dist/cjs/components/selfie/selfie-flow/SelfieProcessing.js +0 -1
- package/dist/cjs/components/selfie/selfie-flow/SelfieRecorder.js +0 -1
- package/dist/cjs/components/selfie/utils/selfieCaptureUtils.js +0 -1
- package/dist/cjs/components/selfie/utils/unisseyStrings.js +0 -1
- package/dist/cjs/components/selfie/utils/videoElementStyles.js +0 -1
- package/dist/cjs/components/session/DocumentCheck.js +0 -1
- package/dist/cjs/components/session/EndFlow.js +0 -1
- package/dist/cjs/components/session/MobileRedirect.js +0 -1
- package/dist/cjs/components/session/PdfGeneration.js +0 -1
- package/dist/cjs/components/session/Selfie.js +0 -1
- package/dist/cjs/components/session/SessionContent.js +0 -1
- package/dist/cjs/components/session/SessionExpired.js +0 -1
- package/dist/cjs/components/session/StartSession.js +0 -1
- package/dist/cjs/components/session/UserInputForm/AddressFields.js +0 -1
- package/dist/cjs/components/session/UserInputForm/ContactFields.js +0 -1
- package/dist/cjs/components/session/UserInputForm/CustomFormFields.js +2 -11
- package/dist/cjs/components/session/UserInputForm/DatePickerField.js +0 -1
- package/dist/cjs/components/session/UserInputForm/IdentityFields.js +0 -1
- package/dist/cjs/components/session/UserInputForm/LegalEntityFields.js +0 -1
- package/dist/cjs/components/session/UserInputForm/LegalRepFields.js +0 -1
- package/dist/cjs/components/session/UserInputForm/NationalityField.js +0 -1
- package/dist/cjs/components/session/UserInputForm.js +4 -2
- package/dist/cjs/components/session/VideoWorkInProgress.js +0 -1
- package/dist/cjs/components/session/controleJdiPolicy.js +0 -1
- package/dist/cjs/components/session/endScreenIcons.js +0 -1
- package/dist/cjs/components/signature-electronic/DocusealSignature.js +0 -1
- package/dist/cjs/components/signature-electronic/SignatureElectronic.js +0 -1
- package/dist/cjs/components/signature-electronic/SignatureElectronicIntroduction.js +0 -1
- package/dist/cjs/components/signature-electronic/SignedDocumentPreview.js +0 -1
- package/dist/cjs/components/start-flow/Start.js +0 -1
- package/dist/cjs/components/states/ErrorState.js +0 -1
- package/dist/cjs/components/states/LoadingState.js +0 -1
- package/dist/cjs/components/states/NoSessionIdState.js +0 -1
- package/dist/cjs/components/template/ComplementaryMandateNodeHandler.js +0 -1
- package/dist/cjs/components/template/ConditionNodeHandler.js +0 -1
- package/dist/cjs/components/template/ExternalVerificationNodeHandler.js +0 -1
- package/dist/cjs/components/template/TemplateNodeRenderer.js +0 -1
- package/dist/cjs/components/template/conditionNodePolicy.js +0 -1
- package/dist/cjs/components/ui/Body.js +0 -1
- package/dist/cjs/components/ui/Button.js +0 -1
- package/dist/cjs/components/ui/ButtonDesktop.js +0 -1
- package/dist/cjs/components/ui/Card.js +0 -1
- package/dist/cjs/components/ui/MobilePageLayout.js +0 -1
- package/dist/cjs/components/ui/PDFPreview.js +0 -1
- package/dist/cjs/components/ui/PageActions.js +0 -1
- package/dist/cjs/components/ui/Paper.js +0 -1
- package/dist/cjs/components/ui/PoweredBy.js +0 -1
- package/dist/cjs/components/ui/QRCodeDisplay.js +0 -1
- package/dist/cjs/components/ui/SelectComponent.js +0 -1
- package/dist/cjs/components/ui/Subtitle.js +0 -1
- package/dist/cjs/components/ui/Title.js +0 -1
- package/dist/cjs/config/env.js +0 -1
- package/dist/cjs/constants/userInputForm.js +0 -1
- package/dist/cjs/context/ConfigContext.js +0 -1
- package/dist/cjs/context/DocumentContext.js +0 -1
- package/dist/cjs/context/SessionContext.js +0 -1
- package/dist/cjs/hooks/useClientInfo.js +0 -1
- package/dist/cjs/hooks/useCountryOptions.js +0 -1
- package/dist/cjs/hooks/useI18n.js +0 -1
- package/dist/cjs/hooks/useIsMobile.js +0 -1
- package/dist/cjs/hooks/useNfcSseStatus.js +0 -1
- package/dist/cjs/hooks/useRouteCSS.js +0 -1
- package/dist/cjs/hooks/useSession.js +0 -1
- package/dist/cjs/hooks/useSessionData.js +0 -1
- package/dist/cjs/hooks/useStepCSS.js +0 -1
- package/dist/cjs/hooks/useStepNavigation.js +18 -1
- package/dist/cjs/hooks/useTemplateLoader.js +0 -1
- package/dist/cjs/hooks/useUserInputForm.js +38 -1
- package/dist/cjs/i18n/country/country.en.json.js +0 -1
- package/dist/cjs/i18n/country/country.fr.json.js +0 -1
- package/dist/cjs/i18n/country/country.iso2.en.json.js +0 -1
- package/dist/cjs/i18n/country/country.iso2.fr.json.js +0 -1
- package/dist/cjs/i18n/documents/documents.en.json.js +0 -1
- package/dist/cjs/i18n/documents/documents.fr.json.js +0 -1
- package/dist/cjs/i18n/en.json.js +0 -1
- package/dist/cjs/i18n/es.json.js +0 -1
- package/dist/cjs/i18n/fr.json.js +0 -1
- package/dist/cjs/i18n/index.js +0 -1
- package/dist/cjs/index.css.js +0 -1
- package/dist/cjs/index.js +0 -1
- package/dist/cjs/node_modules/date-fns/locale/_lib/buildFormatLongFn.js +0 -1
- package/dist/cjs/node_modules/date-fns/locale/_lib/buildLocalizeFn.js +0 -1
- package/dist/cjs/node_modules/date-fns/locale/_lib/buildMatchFn.js +0 -1
- package/dist/cjs/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js +0 -1
- package/dist/cjs/node_modules/date-fns/locale/en-US/_lib/formatDistance.js +0 -1
- package/dist/cjs/node_modules/date-fns/locale/en-US/_lib/formatLong.js +0 -1
- package/dist/cjs/node_modules/date-fns/locale/en-US/_lib/formatRelative.js +0 -1
- package/dist/cjs/node_modules/date-fns/locale/en-US/_lib/localize.js +0 -1
- package/dist/cjs/node_modules/date-fns/locale/en-US/_lib/match.js +0 -1
- package/dist/cjs/node_modules/date-fns/locale/en-US.js +0 -1
- package/dist/cjs/node_modules/date-fns/locale/fr/_lib/formatDistance.js +0 -1
- package/dist/cjs/node_modules/date-fns/locale/fr/_lib/formatLong.js +0 -1
- package/dist/cjs/node_modules/date-fns/locale/fr/_lib/formatRelative.js +0 -1
- package/dist/cjs/node_modules/date-fns/locale/fr/_lib/localize.js +0 -1
- package/dist/cjs/node_modules/date-fns/locale/fr/_lib/match.js +0 -1
- package/dist/cjs/node_modules/date-fns/locale/fr.js +0 -1
- package/dist/cjs/node_modules/heic2any/dist/heic2any.js +0 -1
- package/dist/cjs/node_modules/pdfjs-dist/legacy/build/pdf.js +0 -1
- package/dist/cjs/node_modules/pdfjs-dist/legacy/build/pdf.worker.js +0 -1
- package/dist/cjs/node_modules/style-inject/dist/style-inject.es.js +0 -1
- package/dist/cjs/node_modules/tslib/tslib.es6.js +0 -1
- package/dist/cjs/providers/I18nProvider.js +0 -1
- package/dist/cjs/services/analysis.js +0 -1
- package/dist/cjs/services/api.js +0 -1
- package/dist/cjs/services/auditTrailService.js +0 -1
- package/dist/cjs/services/cameraService.js +0 -1
- package/dist/cjs/services/documentEdgeDetectionService.js +0 -1
- package/dist/cjs/services/documentTemplate.js +0 -1
- package/dist/cjs/services/iadService.js +0 -1
- package/dist/cjs/services/integrationService.js +0 -1
- package/dist/cjs/services/pollingService.js +0 -1
- package/dist/cjs/services/professionalImageQuality.js +0 -1
- package/dist/cjs/services/retryService.js +0 -1
- package/dist/cjs/services/sessionCredentials.js +0 -1
- package/dist/cjs/services/sessionMemoryStore.js +0 -1
- package/dist/cjs/services/sessionService.js +0 -1
- package/dist/cjs/services/utils.js +0 -1
- package/dist/cjs/types/session.js +0 -1
- package/dist/cjs/utils/analysisErrors.js +0 -1
- package/dist/cjs/utils/apiAnalysis.js +0 -1
- package/dist/cjs/utils/conditionEvaluator.js +0 -1
- package/dist/cjs/utils/countryFlags.js +0 -1
- package/dist/cjs/utils/cssLoader.js +0 -1
- package/dist/cjs/utils/customFieldIds.js +0 -1
- package/dist/cjs/utils/customFieldLocks.js +27 -0
- package/dist/cjs/utils/customFieldValidation.js +0 -1
- package/dist/cjs/utils/documentLabels.js +0 -1
- package/dist/cjs/utils/europeanCountries.js +0 -1
- package/dist/cjs/utils/fileConverter.js +0 -1
- package/dist/cjs/utils/imageConverter.js +0 -1
- package/dist/cjs/utils/imageProcessing.js +0 -1
- package/dist/cjs/utils/isMobileDevice.js +0 -1
- package/dist/cjs/utils/isoCountryCodes.js +0 -1
- package/dist/cjs/utils/jdiCodes.js +0 -1
- package/dist/cjs/utils/labelToKey.js +0 -1
- package/dist/cjs/utils/listFieldUtils.js +0 -1
- package/dist/cjs/utils/mimeTypes.js +0 -1
- package/dist/cjs/utils/navigation.js +0 -1
- package/dist/cjs/utils/renderInlineMarkdown.js +0 -1
- package/dist/cjs/utils/sessionStatus.js +0 -1
- package/dist/cjs/utils/userInputForm.js +0 -1
- package/dist/cjs/utils/utils.js +0 -1
- package/dist/cjs/utils/validationUtils.js +0 -1
- package/dist/esm/_virtual/_commonjsHelpers.js +0 -1
- package/dist/esm/_virtual/heic2any.js +0 -1
- package/dist/esm/_virtual/heic2any2.js +0 -1
- package/dist/esm/assets/Face Scan Square.svg.js +0 -1
- package/dist/esm/assets/Lightbulb.svg.js +0 -1
- package/dist/esm/assets/Monitor Camera.svg.js +0 -1
- package/dist/esm/assets/User Hands.svg.js +0 -1
- package/dist/esm/assets/before-document.png.js +0 -1
- package/dist/esm/assets/before-passport.png.js +0 -1
- package/dist/esm/assets/before-photo.png.js +0 -1
- package/dist/esm/assets/before-verso.png.js +0 -1
- package/dist/esm/assets/check.svg.js +0 -1
- package/dist/esm/assets/icons/shield_magic_link.svg.js +0 -1
- package/dist/esm/assets/selfietake.svg.js +0 -1
- package/dist/esm/components/DatakeenSession.js +0 -1
- package/dist/esm/components/document-collection/DocumentCollection.js +0 -1
- package/dist/esm/components/document-collection/DocumentCollectionIntroduction.js +0 -1
- package/dist/esm/components/document-collection/DocumentCollectionMethodSelection.js +0 -1
- package/dist/esm/components/document-collection/DocumentCollectionSelection.js +0 -1
- package/dist/esm/components/document-collection/DocumentCollectionUpload.js +0 -1
- package/dist/esm/components/document-collection/DocumentError.js +0 -1
- package/dist/esm/components/document-collection/DocumentProcessing.js +0 -1
- package/dist/esm/components/document-collection/DocumentSuccess.js +0 -1
- package/dist/esm/components/document-video/DocumentVideoCapture.js +0 -1
- package/dist/esm/components/document-video/DocumentVideoConfirmation.js +0 -1
- package/dist/esm/components/document-video/document-video-flow/DocumentVideoFlow.js +0 -1
- package/dist/esm/components/document-video/document-video-flow/DocumentVideoInstructions.js +0 -1
- package/dist/esm/components/document-video/document-video-flow/DocumentVideoProcessing.js +0 -1
- package/dist/esm/components/document-video/document-video-flow/DocumentVideoRecorder.js +0 -1
- package/dist/esm/components/icons/ElectronicIcon.js +0 -1
- package/dist/esm/components/icons/PoweredByIcon.js +0 -1
- package/dist/esm/components/icons/PreIntroIcon.js +0 -1
- package/dist/esm/components/icons/StartIcon.js +0 -1
- package/dist/esm/components/id-check/BeforePhoto.js +0 -1
- package/dist/esm/components/id-check/BeforeVersoPhoto.js +0 -1
- package/dist/esm/components/id-check/CameraError.js +0 -1
- package/dist/esm/components/id-check/CameraMask.js +0 -1
- package/dist/esm/components/id-check/OrientationToggle.js +0 -1
- package/dist/esm/components/id-check/Photo.js +0 -1
- package/dist/esm/components/id-check/PhotoConfirmation.js +0 -1
- package/dist/esm/components/id-check/PhotoPreview.js +0 -1
- package/dist/esm/components/jdi/JDDWorkInProgress.js +0 -1
- package/dist/esm/components/jdi/JDICountrySelection.js +0 -1
- package/dist/esm/components/jdi/JDIDocumentSelection.js +0 -1
- package/dist/esm/components/jdi/JDIDocumentUpload.js +0 -1
- package/dist/esm/components/jdi/JDIError.js +0 -1
- package/dist/esm/components/jdi/JDIPreIntroduction.js +0 -1
- package/dist/esm/components/jdi/JDIProcessing.js +0 -1
- package/dist/esm/components/jdi/JDISuccess.js +0 -1
- package/dist/esm/components/legal-consent/LegalConsentNode.js +0 -1
- package/dist/esm/components/nfc-scan/BiometricSymbol.js +0 -1
- package/dist/esm/components/nfc-scan/NfcChipGate.js +0 -1
- package/dist/esm/components/nfc-scan/NfcFallbackSurvey.js +0 -1
- package/dist/esm/components/nfc-scan/NfcOnboardingNotice.js +0 -1
- package/dist/esm/components/nfc-scan/NfcScanNode.js +0 -1
- package/dist/esm/components/nfc-scan/NfcSuccessAnimation.js +0 -1
- package/dist/esm/components/nfc-scan/PuceCniSymbol.js +0 -1
- package/dist/esm/components/selfie/SelfieConfirmation.js +0 -1
- package/dist/esm/components/selfie/Video.css.js +0 -1
- package/dist/esm/components/selfie/Video.js +0 -1
- package/dist/esm/components/selfie/VideoFixes.css.js +0 -1
- package/dist/esm/components/selfie/VideoResetStyles.js +0 -1
- package/dist/esm/components/selfie/hooks/useLiveFrameCapture.js +0 -1
- package/dist/esm/components/selfie/hooks/useVideoRecorderStyles.js +0 -1
- package/dist/esm/components/selfie/selfie-flow/InstructionsSelfie.js +0 -1
- package/dist/esm/components/selfie/selfie-flow/SelfieFlow.js +0 -1
- package/dist/esm/components/selfie/selfie-flow/SelfiePreIntroduction.js +0 -1
- package/dist/esm/components/selfie/selfie-flow/SelfieProcessing.js +0 -1
- package/dist/esm/components/selfie/selfie-flow/SelfieRecorder.js +0 -1
- package/dist/esm/components/selfie/utils/selfieCaptureUtils.js +0 -1
- package/dist/esm/components/selfie/utils/unisseyStrings.js +0 -1
- package/dist/esm/components/selfie/utils/videoElementStyles.js +0 -1
- package/dist/esm/components/session/DocumentCheck.js +0 -1
- package/dist/esm/components/session/EndFlow.js +0 -1
- package/dist/esm/components/session/MobileRedirect.js +0 -1
- package/dist/esm/components/session/PdfGeneration.js +0 -1
- package/dist/esm/components/session/Selfie.js +0 -1
- package/dist/esm/components/session/SessionContent.js +0 -1
- package/dist/esm/components/session/SessionExpired.js +0 -1
- package/dist/esm/components/session/StartSession.js +0 -1
- package/dist/esm/components/session/UserInputForm/AddressFields.js +0 -1
- package/dist/esm/components/session/UserInputForm/ContactFields.js +0 -1
- package/dist/esm/components/session/UserInputForm/CustomFormFields.js +1 -10
- package/dist/esm/components/session/UserInputForm/DatePickerField.js +0 -1
- package/dist/esm/components/session/UserInputForm/IdentityFields.js +0 -1
- package/dist/esm/components/session/UserInputForm/LegalEntityFields.js +0 -1
- package/dist/esm/components/session/UserInputForm/LegalRepFields.js +0 -1
- package/dist/esm/components/session/UserInputForm/NationalityField.js +0 -1
- package/dist/esm/components/session/UserInputForm.js +4 -2
- package/dist/esm/components/session/VideoWorkInProgress.js +0 -1
- package/dist/esm/components/session/controleJdiPolicy.js +0 -1
- package/dist/esm/components/session/endScreenIcons.js +0 -1
- package/dist/esm/components/signature-electronic/DocusealSignature.js +0 -1
- package/dist/esm/components/signature-electronic/SignatureElectronic.js +0 -1
- package/dist/esm/components/signature-electronic/SignatureElectronicIntroduction.js +0 -1
- package/dist/esm/components/signature-electronic/SignedDocumentPreview.js +0 -1
- package/dist/esm/components/start-flow/Start.js +0 -1
- package/dist/esm/components/states/ErrorState.js +0 -1
- package/dist/esm/components/states/LoadingState.js +0 -1
- package/dist/esm/components/states/NoSessionIdState.js +0 -1
- package/dist/esm/components/template/ComplementaryMandateNodeHandler.js +0 -1
- package/dist/esm/components/template/ConditionNodeHandler.js +0 -1
- package/dist/esm/components/template/ExternalVerificationNodeHandler.js +0 -1
- package/dist/esm/components/template/TemplateNodeRenderer.js +0 -1
- package/dist/esm/components/template/conditionNodePolicy.js +0 -1
- package/dist/esm/components/ui/Body.js +0 -1
- package/dist/esm/components/ui/Button.js +0 -1
- package/dist/esm/components/ui/ButtonDesktop.js +0 -1
- package/dist/esm/components/ui/Card.js +0 -1
- package/dist/esm/components/ui/MobilePageLayout.js +0 -1
- package/dist/esm/components/ui/PDFPreview.js +0 -1
- package/dist/esm/components/ui/PageActions.js +0 -1
- package/dist/esm/components/ui/Paper.js +0 -1
- package/dist/esm/components/ui/PoweredBy.js +0 -1
- package/dist/esm/components/ui/QRCodeDisplay.js +0 -1
- package/dist/esm/components/ui/SelectComponent.js +0 -1
- package/dist/esm/components/ui/Subtitle.js +0 -1
- package/dist/esm/components/ui/Title.js +0 -1
- package/dist/esm/config/env.js +0 -1
- package/dist/esm/constants/userInputForm.js +0 -1
- package/dist/esm/context/ConfigContext.js +0 -1
- package/dist/esm/context/DocumentContext.js +0 -1
- package/dist/esm/context/SessionContext.js +0 -1
- package/dist/esm/hooks/useClientInfo.js +0 -1
- package/dist/esm/hooks/useCountryOptions.js +0 -1
- package/dist/esm/hooks/useI18n.js +0 -1
- package/dist/esm/hooks/useIsMobile.js +0 -1
- package/dist/esm/hooks/useNfcSseStatus.js +0 -1
- package/dist/esm/hooks/useRouteCSS.js +0 -1
- package/dist/esm/hooks/useSession.js +0 -1
- package/dist/esm/hooks/useSessionData.js +0 -1
- package/dist/esm/hooks/useStepCSS.js +0 -1
- package/dist/esm/hooks/useStepNavigation.js +18 -1
- package/dist/esm/hooks/useTemplateLoader.js +0 -1
- package/dist/esm/hooks/useUserInputForm.js +38 -1
- package/dist/esm/i18n/country/country.en.json.js +0 -1
- package/dist/esm/i18n/country/country.fr.json.js +0 -1
- package/dist/esm/i18n/country/country.iso2.en.json.js +0 -1
- package/dist/esm/i18n/country/country.iso2.fr.json.js +0 -1
- package/dist/esm/i18n/documents/documents.en.json.js +0 -1
- package/dist/esm/i18n/documents/documents.fr.json.js +0 -1
- package/dist/esm/i18n/en.json.js +0 -1
- package/dist/esm/i18n/es.json.js +0 -1
- package/dist/esm/i18n/fr.json.js +0 -1
- package/dist/esm/i18n/index.js +0 -1
- package/dist/esm/index.css.js +0 -1
- package/dist/esm/index.js +0 -1
- package/dist/esm/node_modules/date-fns/locale/_lib/buildFormatLongFn.js +0 -1
- package/dist/esm/node_modules/date-fns/locale/_lib/buildLocalizeFn.js +0 -1
- package/dist/esm/node_modules/date-fns/locale/_lib/buildMatchFn.js +0 -1
- package/dist/esm/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js +0 -1
- package/dist/esm/node_modules/date-fns/locale/en-US/_lib/formatDistance.js +0 -1
- package/dist/esm/node_modules/date-fns/locale/en-US/_lib/formatLong.js +0 -1
- package/dist/esm/node_modules/date-fns/locale/en-US/_lib/formatRelative.js +0 -1
- package/dist/esm/node_modules/date-fns/locale/en-US/_lib/localize.js +0 -1
- package/dist/esm/node_modules/date-fns/locale/en-US/_lib/match.js +0 -1
- package/dist/esm/node_modules/date-fns/locale/en-US.js +0 -1
- package/dist/esm/node_modules/date-fns/locale/fr/_lib/formatDistance.js +0 -1
- package/dist/esm/node_modules/date-fns/locale/fr/_lib/formatLong.js +0 -1
- package/dist/esm/node_modules/date-fns/locale/fr/_lib/formatRelative.js +0 -1
- package/dist/esm/node_modules/date-fns/locale/fr/_lib/localize.js +0 -1
- package/dist/esm/node_modules/date-fns/locale/fr/_lib/match.js +0 -1
- package/dist/esm/node_modules/date-fns/locale/fr.js +0 -1
- package/dist/esm/node_modules/heic2any/dist/heic2any.js +0 -1
- package/dist/esm/node_modules/pdfjs-dist/legacy/build/pdf.js +0 -1
- package/dist/esm/node_modules/pdfjs-dist/legacy/build/pdf.worker.js +0 -1
- package/dist/esm/node_modules/style-inject/dist/style-inject.es.js +0 -1
- package/dist/esm/node_modules/tslib/tslib.es6.js +0 -1
- package/dist/esm/providers/I18nProvider.js +0 -1
- package/dist/esm/services/analysis.js +0 -1
- package/dist/esm/services/api.js +0 -1
- package/dist/esm/services/auditTrailService.js +0 -1
- package/dist/esm/services/cameraService.js +0 -1
- package/dist/esm/services/documentEdgeDetectionService.js +0 -1
- package/dist/esm/services/documentTemplate.js +0 -1
- package/dist/esm/services/iadService.js +0 -1
- package/dist/esm/services/integrationService.js +0 -1
- package/dist/esm/services/pollingService.js +0 -1
- package/dist/esm/services/professionalImageQuality.js +0 -1
- package/dist/esm/services/retryService.js +0 -1
- package/dist/esm/services/sessionCredentials.js +0 -1
- package/dist/esm/services/sessionMemoryStore.js +0 -1
- package/dist/esm/services/sessionService.js +0 -1
- package/dist/esm/services/utils.js +0 -1
- package/dist/esm/types/session.js +0 -1
- package/dist/esm/utils/analysisErrors.js +0 -1
- package/dist/esm/utils/apiAnalysis.js +0 -1
- package/dist/esm/utils/conditionEvaluator.js +0 -1
- package/dist/esm/utils/countryFlags.js +0 -1
- package/dist/esm/utils/cssLoader.js +0 -1
- package/dist/esm/utils/customFieldIds.js +0 -1
- package/dist/esm/utils/customFieldLocks.js +24 -0
- package/dist/esm/utils/customFieldValidation.js +0 -1
- package/dist/esm/utils/documentLabels.js +0 -1
- package/dist/esm/utils/europeanCountries.js +0 -1
- package/dist/esm/utils/fileConverter.js +0 -1
- package/dist/esm/utils/imageConverter.js +0 -1
- package/dist/esm/utils/imageProcessing.js +0 -1
- package/dist/esm/utils/isMobileDevice.js +0 -1
- package/dist/esm/utils/isoCountryCodes.js +0 -1
- package/dist/esm/utils/jdiCodes.js +0 -1
- package/dist/esm/utils/labelToKey.js +0 -1
- package/dist/esm/utils/listFieldUtils.js +0 -1
- package/dist/esm/utils/mimeTypes.js +0 -1
- package/dist/esm/utils/navigation.js +0 -1
- package/dist/esm/utils/renderInlineMarkdown.js +0 -1
- package/dist/esm/utils/sessionStatus.js +0 -1
- package/dist/esm/utils/userInputForm.js +0 -1
- package/dist/esm/utils/utils.js +0 -1
- package/dist/esm/utils/validationUtils.js +0 -1
- package/package.json +9 -2
- package/.gitlab/issue_templates/bug.md +0 -14
- package/.gitlab/issue_templates/feature.md +0 -11
- package/.gitlab/issue_templates/task.md +0 -11
- package/.gitlab/merge_request_templates/default.md +0 -15
- package/.gitlab/merge_request_templates/hotfix.md +0 -15
- package/.gitlab-ci.yml +0 -290
- package/CLAUDE.md +0 -233
- package/__mocks__/@unissey-web/sdk-react.js +0 -17
- package/__mocks__/fileMock.js +0 -1
- package/__mocks__/pdfjs-dist/legacy/build/pdf.js +0 -5
- package/__mocks__/pdfjs-dist/legacy/build/pdf.worker.js +0 -1
- package/assets/logo.svg +0 -56
- package/axios.install.md +0 -2
- package/babel.config.js +0 -15
- package/dist/cjs/_virtual/_commonjsHelpers.js.map +0 -1
- package/dist/cjs/_virtual/heic2any.js.map +0 -1
- package/dist/cjs/_virtual/heic2any2.js.map +0 -1
- package/dist/cjs/assets/Face Scan Square.svg.js.map +0 -1
- package/dist/cjs/assets/Lightbulb.svg.js.map +0 -1
- package/dist/cjs/assets/Monitor Camera.svg.js.map +0 -1
- package/dist/cjs/assets/User Hands.svg.js.map +0 -1
- package/dist/cjs/assets/before-document.png.js.map +0 -1
- package/dist/cjs/assets/before-passport.png.js.map +0 -1
- package/dist/cjs/assets/before-photo.png.js.map +0 -1
- package/dist/cjs/assets/before-verso.png.js.map +0 -1
- package/dist/cjs/assets/check.svg.js.map +0 -1
- package/dist/cjs/assets/icons/shield_magic_link.svg.js.map +0 -1
- package/dist/cjs/assets/selfietake.svg.js.map +0 -1
- package/dist/cjs/components/DatakeenSession.js.map +0 -1
- package/dist/cjs/components/document-collection/DocumentCollection.js.map +0 -1
- package/dist/cjs/components/document-collection/DocumentCollectionIntroduction.js.map +0 -1
- package/dist/cjs/components/document-collection/DocumentCollectionMethodSelection.js.map +0 -1
- package/dist/cjs/components/document-collection/DocumentCollectionSelection.js.map +0 -1
- package/dist/cjs/components/document-collection/DocumentCollectionUpload.js.map +0 -1
- package/dist/cjs/components/document-collection/DocumentError.js.map +0 -1
- package/dist/cjs/components/document-collection/DocumentProcessing.js.map +0 -1
- package/dist/cjs/components/document-collection/DocumentSuccess.js.map +0 -1
- package/dist/cjs/components/document-video/DocumentVideoCapture.js.map +0 -1
- package/dist/cjs/components/document-video/DocumentVideoConfirmation.js.map +0 -1
- package/dist/cjs/components/document-video/document-video-flow/DocumentVideoFlow.js.map +0 -1
- package/dist/cjs/components/document-video/document-video-flow/DocumentVideoInstructions.js.map +0 -1
- package/dist/cjs/components/document-video/document-video-flow/DocumentVideoProcessing.js.map +0 -1
- package/dist/cjs/components/document-video/document-video-flow/DocumentVideoRecorder.js.map +0 -1
- package/dist/cjs/components/icons/ElectronicIcon.js.map +0 -1
- package/dist/cjs/components/icons/PoweredByIcon.js.map +0 -1
- package/dist/cjs/components/icons/PreIntroIcon.js.map +0 -1
- package/dist/cjs/components/icons/StartIcon.js.map +0 -1
- package/dist/cjs/components/id-check/BeforePhoto.js.map +0 -1
- package/dist/cjs/components/id-check/BeforeVersoPhoto.js.map +0 -1
- package/dist/cjs/components/id-check/CameraError.js.map +0 -1
- package/dist/cjs/components/id-check/CameraMask.js.map +0 -1
- package/dist/cjs/components/id-check/OrientationToggle.js.map +0 -1
- package/dist/cjs/components/id-check/Photo.js.map +0 -1
- package/dist/cjs/components/id-check/PhotoConfirmation.js.map +0 -1
- package/dist/cjs/components/id-check/PhotoPreview.js.map +0 -1
- package/dist/cjs/components/jdi/JDDWorkInProgress.js.map +0 -1
- package/dist/cjs/components/jdi/JDICountrySelection.js.map +0 -1
- package/dist/cjs/components/jdi/JDIDocumentSelection.js.map +0 -1
- package/dist/cjs/components/jdi/JDIDocumentUpload.js.map +0 -1
- package/dist/cjs/components/jdi/JDIError.js.map +0 -1
- package/dist/cjs/components/jdi/JDIPreIntroduction.js.map +0 -1
- package/dist/cjs/components/jdi/JDIProcessing.js.map +0 -1
- package/dist/cjs/components/jdi/JDISuccess.js.map +0 -1
- package/dist/cjs/components/legal-consent/LegalConsentNode.js.map +0 -1
- package/dist/cjs/components/nfc-scan/BiometricSymbol.js.map +0 -1
- package/dist/cjs/components/nfc-scan/NfcChipGate.js.map +0 -1
- package/dist/cjs/components/nfc-scan/NfcFallbackSurvey.js.map +0 -1
- package/dist/cjs/components/nfc-scan/NfcOnboardingNotice.js.map +0 -1
- package/dist/cjs/components/nfc-scan/NfcScanNode.js.map +0 -1
- package/dist/cjs/components/nfc-scan/NfcSuccessAnimation.js.map +0 -1
- package/dist/cjs/components/nfc-scan/PuceCniSymbol.js.map +0 -1
- package/dist/cjs/components/selfie/SelfieConfirmation.js.map +0 -1
- package/dist/cjs/components/selfie/Video.css.js.map +0 -1
- package/dist/cjs/components/selfie/Video.js.map +0 -1
- package/dist/cjs/components/selfie/VideoFixes.css.js.map +0 -1
- package/dist/cjs/components/selfie/VideoResetStyles.js.map +0 -1
- package/dist/cjs/components/selfie/hooks/useLiveFrameCapture.js.map +0 -1
- package/dist/cjs/components/selfie/hooks/useVideoRecorderStyles.js.map +0 -1
- package/dist/cjs/components/selfie/selfie-flow/InstructionsSelfie.js.map +0 -1
- package/dist/cjs/components/selfie/selfie-flow/SelfieFlow.js.map +0 -1
- package/dist/cjs/components/selfie/selfie-flow/SelfiePreIntroduction.js.map +0 -1
- package/dist/cjs/components/selfie/selfie-flow/SelfieProcessing.js.map +0 -1
- package/dist/cjs/components/selfie/selfie-flow/SelfieRecorder.js.map +0 -1
- package/dist/cjs/components/selfie/utils/selfieCaptureUtils.js.map +0 -1
- package/dist/cjs/components/selfie/utils/unisseyStrings.js.map +0 -1
- package/dist/cjs/components/selfie/utils/videoElementStyles.js.map +0 -1
- package/dist/cjs/components/session/DocumentCheck.js.map +0 -1
- package/dist/cjs/components/session/EndFlow.js.map +0 -1
- package/dist/cjs/components/session/MobileRedirect.js.map +0 -1
- package/dist/cjs/components/session/PdfGeneration.js.map +0 -1
- package/dist/cjs/components/session/Selfie.js.map +0 -1
- package/dist/cjs/components/session/SessionContent.js.map +0 -1
- package/dist/cjs/components/session/SessionExpired.js.map +0 -1
- package/dist/cjs/components/session/StartSession.js.map +0 -1
- package/dist/cjs/components/session/UserInputForm/AddressFields.js.map +0 -1
- package/dist/cjs/components/session/UserInputForm/ContactFields.js.map +0 -1
- package/dist/cjs/components/session/UserInputForm/CustomFormFields.js.map +0 -1
- package/dist/cjs/components/session/UserInputForm/DatePickerField.js.map +0 -1
- package/dist/cjs/components/session/UserInputForm/IdentityFields.js.map +0 -1
- package/dist/cjs/components/session/UserInputForm/LegalEntityFields.js.map +0 -1
- package/dist/cjs/components/session/UserInputForm/LegalRepFields.js.map +0 -1
- package/dist/cjs/components/session/UserInputForm/NationalityField.js.map +0 -1
- package/dist/cjs/components/session/UserInputForm.js.map +0 -1
- package/dist/cjs/components/session/VideoWorkInProgress.js.map +0 -1
- package/dist/cjs/components/session/controleJdiPolicy.js.map +0 -1
- package/dist/cjs/components/session/endScreenIcons.js.map +0 -1
- package/dist/cjs/components/signature-electronic/DocusealSignature.js.map +0 -1
- package/dist/cjs/components/signature-electronic/SignatureElectronic.js.map +0 -1
- package/dist/cjs/components/signature-electronic/SignatureElectronicIntroduction.js.map +0 -1
- package/dist/cjs/components/signature-electronic/SignedDocumentPreview.js.map +0 -1
- package/dist/cjs/components/start-flow/Start.js.map +0 -1
- package/dist/cjs/components/states/ErrorState.js.map +0 -1
- package/dist/cjs/components/states/LoadingState.js.map +0 -1
- package/dist/cjs/components/states/NoSessionIdState.js.map +0 -1
- package/dist/cjs/components/template/ComplementaryMandateNodeHandler.js.map +0 -1
- package/dist/cjs/components/template/ConditionNodeHandler.js.map +0 -1
- package/dist/cjs/components/template/ExternalVerificationNodeHandler.js.map +0 -1
- package/dist/cjs/components/template/TemplateNodeRenderer.js.map +0 -1
- package/dist/cjs/components/template/conditionNodePolicy.js.map +0 -1
- package/dist/cjs/components/ui/Body.js.map +0 -1
- package/dist/cjs/components/ui/Button.js.map +0 -1
- package/dist/cjs/components/ui/ButtonDesktop.js.map +0 -1
- package/dist/cjs/components/ui/Card.js.map +0 -1
- package/dist/cjs/components/ui/MobilePageLayout.js.map +0 -1
- package/dist/cjs/components/ui/PDFPreview.js.map +0 -1
- package/dist/cjs/components/ui/PageActions.js.map +0 -1
- package/dist/cjs/components/ui/Paper.js.map +0 -1
- package/dist/cjs/components/ui/PoweredBy.js.map +0 -1
- package/dist/cjs/components/ui/QRCodeDisplay.js.map +0 -1
- package/dist/cjs/components/ui/SelectComponent.js.map +0 -1
- package/dist/cjs/components/ui/Subtitle.js.map +0 -1
- package/dist/cjs/components/ui/Title.js.map +0 -1
- package/dist/cjs/config/env.js.map +0 -1
- package/dist/cjs/constants/userInputForm.js.map +0 -1
- package/dist/cjs/context/ConfigContext.js.map +0 -1
- package/dist/cjs/context/DocumentContext.js.map +0 -1
- package/dist/cjs/context/SessionContext.js.map +0 -1
- package/dist/cjs/hooks/useClientInfo.js.map +0 -1
- package/dist/cjs/hooks/useCountryOptions.js.map +0 -1
- package/dist/cjs/hooks/useI18n.js.map +0 -1
- package/dist/cjs/hooks/useIsMobile.js.map +0 -1
- package/dist/cjs/hooks/useNfcSseStatus.js.map +0 -1
- package/dist/cjs/hooks/useRouteCSS.js.map +0 -1
- package/dist/cjs/hooks/useSession.js.map +0 -1
- package/dist/cjs/hooks/useSessionData.js.map +0 -1
- package/dist/cjs/hooks/useStepCSS.js.map +0 -1
- package/dist/cjs/hooks/useStepNavigation.js.map +0 -1
- package/dist/cjs/hooks/useTemplateLoader.js.map +0 -1
- package/dist/cjs/hooks/useUserInputForm.js.map +0 -1
- package/dist/cjs/i18n/country/country.en.json.js.map +0 -1
- package/dist/cjs/i18n/country/country.fr.json.js.map +0 -1
- package/dist/cjs/i18n/country/country.iso2.en.json.js.map +0 -1
- package/dist/cjs/i18n/country/country.iso2.fr.json.js.map +0 -1
- package/dist/cjs/i18n/documents/documents.en.json.js.map +0 -1
- package/dist/cjs/i18n/documents/documents.fr.json.js.map +0 -1
- package/dist/cjs/i18n/en.json.js.map +0 -1
- package/dist/cjs/i18n/es.json.js.map +0 -1
- package/dist/cjs/i18n/fr.json.js.map +0 -1
- package/dist/cjs/i18n/index.js.map +0 -1
- package/dist/cjs/index.css.js.map +0 -1
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/node_modules/date-fns/locale/_lib/buildFormatLongFn.js.map +0 -1
- package/dist/cjs/node_modules/date-fns/locale/_lib/buildLocalizeFn.js.map +0 -1
- package/dist/cjs/node_modules/date-fns/locale/_lib/buildMatchFn.js.map +0 -1
- package/dist/cjs/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js.map +0 -1
- package/dist/cjs/node_modules/date-fns/locale/en-US/_lib/formatDistance.js.map +0 -1
- package/dist/cjs/node_modules/date-fns/locale/en-US/_lib/formatLong.js.map +0 -1
- package/dist/cjs/node_modules/date-fns/locale/en-US/_lib/formatRelative.js.map +0 -1
- package/dist/cjs/node_modules/date-fns/locale/en-US/_lib/localize.js.map +0 -1
- package/dist/cjs/node_modules/date-fns/locale/en-US/_lib/match.js.map +0 -1
- package/dist/cjs/node_modules/date-fns/locale/en-US.js.map +0 -1
- package/dist/cjs/node_modules/date-fns/locale/fr/_lib/formatDistance.js.map +0 -1
- package/dist/cjs/node_modules/date-fns/locale/fr/_lib/formatLong.js.map +0 -1
- package/dist/cjs/node_modules/date-fns/locale/fr/_lib/formatRelative.js.map +0 -1
- package/dist/cjs/node_modules/date-fns/locale/fr/_lib/localize.js.map +0 -1
- package/dist/cjs/node_modules/date-fns/locale/fr/_lib/match.js.map +0 -1
- package/dist/cjs/node_modules/date-fns/locale/fr.js.map +0 -1
- package/dist/cjs/node_modules/heic2any/dist/heic2any.js.map +0 -1
- package/dist/cjs/node_modules/pdfjs-dist/legacy/build/pdf.js.map +0 -1
- package/dist/cjs/node_modules/pdfjs-dist/legacy/build/pdf.worker.js.map +0 -1
- package/dist/cjs/node_modules/style-inject/dist/style-inject.es.js.map +0 -1
- package/dist/cjs/node_modules/tslib/tslib.es6.js.map +0 -1
- package/dist/cjs/providers/I18nProvider.js.map +0 -1
- package/dist/cjs/services/analysis.js.map +0 -1
- package/dist/cjs/services/api.js.map +0 -1
- package/dist/cjs/services/auditTrailService.js.map +0 -1
- package/dist/cjs/services/cameraService.js.map +0 -1
- package/dist/cjs/services/documentEdgeDetectionService.js.map +0 -1
- package/dist/cjs/services/documentTemplate.js.map +0 -1
- package/dist/cjs/services/iadService.js.map +0 -1
- package/dist/cjs/services/integrationService.js.map +0 -1
- package/dist/cjs/services/pollingService.js.map +0 -1
- package/dist/cjs/services/professionalImageQuality.js.map +0 -1
- package/dist/cjs/services/retryService.js.map +0 -1
- package/dist/cjs/services/sessionCredentials.js.map +0 -1
- package/dist/cjs/services/sessionMemoryStore.js.map +0 -1
- package/dist/cjs/services/sessionService.js.map +0 -1
- package/dist/cjs/services/utils.js.map +0 -1
- package/dist/cjs/types/session.js.map +0 -1
- package/dist/cjs/utils/analysisErrors.js.map +0 -1
- package/dist/cjs/utils/apiAnalysis.js.map +0 -1
- package/dist/cjs/utils/conditionEvaluator.js.map +0 -1
- package/dist/cjs/utils/countryFlags.js.map +0 -1
- package/dist/cjs/utils/cssLoader.js.map +0 -1
- package/dist/cjs/utils/customFieldIds.js.map +0 -1
- package/dist/cjs/utils/customFieldValidation.js.map +0 -1
- package/dist/cjs/utils/documentLabels.js.map +0 -1
- package/dist/cjs/utils/europeanCountries.js.map +0 -1
- package/dist/cjs/utils/fileConverter.js.map +0 -1
- package/dist/cjs/utils/imageConverter.js.map +0 -1
- package/dist/cjs/utils/imageProcessing.js.map +0 -1
- package/dist/cjs/utils/isMobileDevice.js.map +0 -1
- package/dist/cjs/utils/isoCountryCodes.js.map +0 -1
- package/dist/cjs/utils/jdiCodes.js.map +0 -1
- package/dist/cjs/utils/labelToKey.js.map +0 -1
- package/dist/cjs/utils/listFieldUtils.js.map +0 -1
- package/dist/cjs/utils/mimeTypes.js.map +0 -1
- package/dist/cjs/utils/navigation.js.map +0 -1
- package/dist/cjs/utils/renderInlineMarkdown.js.map +0 -1
- package/dist/cjs/utils/sessionStatus.js.map +0 -1
- package/dist/cjs/utils/userInputForm.js.map +0 -1
- package/dist/cjs/utils/utils.js.map +0 -1
- package/dist/cjs/utils/validationUtils.js.map +0 -1
- package/dist/esm/_virtual/_commonjsHelpers.js.map +0 -1
- package/dist/esm/_virtual/heic2any.js.map +0 -1
- package/dist/esm/_virtual/heic2any2.js.map +0 -1
- package/dist/esm/assets/Face Scan Square.svg.js.map +0 -1
- package/dist/esm/assets/Lightbulb.svg.js.map +0 -1
- package/dist/esm/assets/Monitor Camera.svg.js.map +0 -1
- package/dist/esm/assets/User Hands.svg.js.map +0 -1
- package/dist/esm/assets/before-document.png.js.map +0 -1
- package/dist/esm/assets/before-passport.png.js.map +0 -1
- package/dist/esm/assets/before-photo.png.js.map +0 -1
- package/dist/esm/assets/before-verso.png.js.map +0 -1
- package/dist/esm/assets/check.svg.js.map +0 -1
- package/dist/esm/assets/icons/shield_magic_link.svg.js.map +0 -1
- package/dist/esm/assets/selfietake.svg.js.map +0 -1
- package/dist/esm/components/DatakeenSession.js.map +0 -1
- package/dist/esm/components/document-collection/DocumentCollection.js.map +0 -1
- package/dist/esm/components/document-collection/DocumentCollectionIntroduction.js.map +0 -1
- package/dist/esm/components/document-collection/DocumentCollectionMethodSelection.js.map +0 -1
- package/dist/esm/components/document-collection/DocumentCollectionSelection.js.map +0 -1
- package/dist/esm/components/document-collection/DocumentCollectionUpload.js.map +0 -1
- package/dist/esm/components/document-collection/DocumentError.js.map +0 -1
- package/dist/esm/components/document-collection/DocumentProcessing.js.map +0 -1
- package/dist/esm/components/document-collection/DocumentSuccess.js.map +0 -1
- package/dist/esm/components/document-video/DocumentVideoCapture.js.map +0 -1
- package/dist/esm/components/document-video/DocumentVideoConfirmation.js.map +0 -1
- package/dist/esm/components/document-video/document-video-flow/DocumentVideoFlow.js.map +0 -1
- package/dist/esm/components/document-video/document-video-flow/DocumentVideoInstructions.js.map +0 -1
- package/dist/esm/components/document-video/document-video-flow/DocumentVideoProcessing.js.map +0 -1
- package/dist/esm/components/document-video/document-video-flow/DocumentVideoRecorder.js.map +0 -1
- package/dist/esm/components/icons/ElectronicIcon.js.map +0 -1
- package/dist/esm/components/icons/PoweredByIcon.js.map +0 -1
- package/dist/esm/components/icons/PreIntroIcon.js.map +0 -1
- package/dist/esm/components/icons/StartIcon.js.map +0 -1
- package/dist/esm/components/id-check/BeforePhoto.js.map +0 -1
- package/dist/esm/components/id-check/BeforeVersoPhoto.js.map +0 -1
- package/dist/esm/components/id-check/CameraError.js.map +0 -1
- package/dist/esm/components/id-check/CameraMask.js.map +0 -1
- package/dist/esm/components/id-check/OrientationToggle.js.map +0 -1
- package/dist/esm/components/id-check/Photo.js.map +0 -1
- package/dist/esm/components/id-check/PhotoConfirmation.js.map +0 -1
- package/dist/esm/components/id-check/PhotoPreview.js.map +0 -1
- package/dist/esm/components/jdi/JDDWorkInProgress.js.map +0 -1
- package/dist/esm/components/jdi/JDICountrySelection.js.map +0 -1
- package/dist/esm/components/jdi/JDIDocumentSelection.js.map +0 -1
- package/dist/esm/components/jdi/JDIDocumentUpload.js.map +0 -1
- package/dist/esm/components/jdi/JDIError.js.map +0 -1
- package/dist/esm/components/jdi/JDIPreIntroduction.js.map +0 -1
- package/dist/esm/components/jdi/JDIProcessing.js.map +0 -1
- package/dist/esm/components/jdi/JDISuccess.js.map +0 -1
- package/dist/esm/components/legal-consent/LegalConsentNode.js.map +0 -1
- package/dist/esm/components/nfc-scan/BiometricSymbol.js.map +0 -1
- package/dist/esm/components/nfc-scan/NfcChipGate.js.map +0 -1
- package/dist/esm/components/nfc-scan/NfcFallbackSurvey.js.map +0 -1
- package/dist/esm/components/nfc-scan/NfcOnboardingNotice.js.map +0 -1
- package/dist/esm/components/nfc-scan/NfcScanNode.js.map +0 -1
- package/dist/esm/components/nfc-scan/NfcSuccessAnimation.js.map +0 -1
- package/dist/esm/components/nfc-scan/PuceCniSymbol.js.map +0 -1
- package/dist/esm/components/selfie/SelfieConfirmation.js.map +0 -1
- package/dist/esm/components/selfie/Video.css.js.map +0 -1
- package/dist/esm/components/selfie/Video.js.map +0 -1
- package/dist/esm/components/selfie/VideoFixes.css.js.map +0 -1
- package/dist/esm/components/selfie/VideoResetStyles.js.map +0 -1
- package/dist/esm/components/selfie/hooks/useLiveFrameCapture.js.map +0 -1
- package/dist/esm/components/selfie/hooks/useVideoRecorderStyles.js.map +0 -1
- package/dist/esm/components/selfie/selfie-flow/InstructionsSelfie.js.map +0 -1
- package/dist/esm/components/selfie/selfie-flow/SelfieFlow.js.map +0 -1
- package/dist/esm/components/selfie/selfie-flow/SelfiePreIntroduction.js.map +0 -1
- package/dist/esm/components/selfie/selfie-flow/SelfieProcessing.js.map +0 -1
- package/dist/esm/components/selfie/selfie-flow/SelfieRecorder.js.map +0 -1
- package/dist/esm/components/selfie/utils/selfieCaptureUtils.js.map +0 -1
- package/dist/esm/components/selfie/utils/unisseyStrings.js.map +0 -1
- package/dist/esm/components/selfie/utils/videoElementStyles.js.map +0 -1
- package/dist/esm/components/session/DocumentCheck.js.map +0 -1
- package/dist/esm/components/session/EndFlow.js.map +0 -1
- package/dist/esm/components/session/MobileRedirect.js.map +0 -1
- package/dist/esm/components/session/PdfGeneration.js.map +0 -1
- package/dist/esm/components/session/Selfie.js.map +0 -1
- package/dist/esm/components/session/SessionContent.js.map +0 -1
- package/dist/esm/components/session/SessionExpired.js.map +0 -1
- package/dist/esm/components/session/StartSession.js.map +0 -1
- package/dist/esm/components/session/UserInputForm/AddressFields.js.map +0 -1
- package/dist/esm/components/session/UserInputForm/ContactFields.js.map +0 -1
- package/dist/esm/components/session/UserInputForm/CustomFormFields.js.map +0 -1
- package/dist/esm/components/session/UserInputForm/DatePickerField.js.map +0 -1
- package/dist/esm/components/session/UserInputForm/IdentityFields.js.map +0 -1
- package/dist/esm/components/session/UserInputForm/LegalEntityFields.js.map +0 -1
- package/dist/esm/components/session/UserInputForm/LegalRepFields.js.map +0 -1
- package/dist/esm/components/session/UserInputForm/NationalityField.js.map +0 -1
- package/dist/esm/components/session/UserInputForm.js.map +0 -1
- package/dist/esm/components/session/VideoWorkInProgress.js.map +0 -1
- package/dist/esm/components/session/controleJdiPolicy.js.map +0 -1
- package/dist/esm/components/session/endScreenIcons.js.map +0 -1
- package/dist/esm/components/signature-electronic/DocusealSignature.js.map +0 -1
- package/dist/esm/components/signature-electronic/SignatureElectronic.js.map +0 -1
- package/dist/esm/components/signature-electronic/SignatureElectronicIntroduction.js.map +0 -1
- package/dist/esm/components/signature-electronic/SignedDocumentPreview.js.map +0 -1
- package/dist/esm/components/start-flow/Start.js.map +0 -1
- package/dist/esm/components/states/ErrorState.js.map +0 -1
- package/dist/esm/components/states/LoadingState.js.map +0 -1
- package/dist/esm/components/states/NoSessionIdState.js.map +0 -1
- package/dist/esm/components/template/ComplementaryMandateNodeHandler.js.map +0 -1
- package/dist/esm/components/template/ConditionNodeHandler.js.map +0 -1
- package/dist/esm/components/template/ExternalVerificationNodeHandler.js.map +0 -1
- package/dist/esm/components/template/TemplateNodeRenderer.js.map +0 -1
- package/dist/esm/components/template/conditionNodePolicy.js.map +0 -1
- package/dist/esm/components/ui/Body.js.map +0 -1
- package/dist/esm/components/ui/Button.js.map +0 -1
- package/dist/esm/components/ui/ButtonDesktop.js.map +0 -1
- package/dist/esm/components/ui/Card.js.map +0 -1
- package/dist/esm/components/ui/MobilePageLayout.js.map +0 -1
- package/dist/esm/components/ui/PDFPreview.js.map +0 -1
- package/dist/esm/components/ui/PageActions.js.map +0 -1
- package/dist/esm/components/ui/Paper.js.map +0 -1
- package/dist/esm/components/ui/PoweredBy.js.map +0 -1
- package/dist/esm/components/ui/QRCodeDisplay.js.map +0 -1
- package/dist/esm/components/ui/SelectComponent.js.map +0 -1
- package/dist/esm/components/ui/Subtitle.js.map +0 -1
- package/dist/esm/components/ui/Title.js.map +0 -1
- package/dist/esm/config/env.js.map +0 -1
- package/dist/esm/constants/userInputForm.js.map +0 -1
- package/dist/esm/context/ConfigContext.js.map +0 -1
- package/dist/esm/context/DocumentContext.js.map +0 -1
- package/dist/esm/context/SessionContext.js.map +0 -1
- package/dist/esm/hooks/useClientInfo.js.map +0 -1
- package/dist/esm/hooks/useCountryOptions.js.map +0 -1
- package/dist/esm/hooks/useI18n.js.map +0 -1
- package/dist/esm/hooks/useIsMobile.js.map +0 -1
- package/dist/esm/hooks/useNfcSseStatus.js.map +0 -1
- package/dist/esm/hooks/useRouteCSS.js.map +0 -1
- package/dist/esm/hooks/useSession.js.map +0 -1
- package/dist/esm/hooks/useSessionData.js.map +0 -1
- package/dist/esm/hooks/useStepCSS.js.map +0 -1
- package/dist/esm/hooks/useStepNavigation.js.map +0 -1
- package/dist/esm/hooks/useTemplateLoader.js.map +0 -1
- package/dist/esm/hooks/useUserInputForm.js.map +0 -1
- package/dist/esm/i18n/country/country.en.json.js.map +0 -1
- package/dist/esm/i18n/country/country.fr.json.js.map +0 -1
- package/dist/esm/i18n/country/country.iso2.en.json.js.map +0 -1
- package/dist/esm/i18n/country/country.iso2.fr.json.js.map +0 -1
- package/dist/esm/i18n/documents/documents.en.json.js.map +0 -1
- package/dist/esm/i18n/documents/documents.fr.json.js.map +0 -1
- package/dist/esm/i18n/en.json.js.map +0 -1
- package/dist/esm/i18n/es.json.js.map +0 -1
- package/dist/esm/i18n/fr.json.js.map +0 -1
- package/dist/esm/i18n/index.js.map +0 -1
- package/dist/esm/index.css.js.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/node_modules/date-fns/locale/_lib/buildFormatLongFn.js.map +0 -1
- package/dist/esm/node_modules/date-fns/locale/_lib/buildLocalizeFn.js.map +0 -1
- package/dist/esm/node_modules/date-fns/locale/_lib/buildMatchFn.js.map +0 -1
- package/dist/esm/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js.map +0 -1
- package/dist/esm/node_modules/date-fns/locale/en-US/_lib/formatDistance.js.map +0 -1
- package/dist/esm/node_modules/date-fns/locale/en-US/_lib/formatLong.js.map +0 -1
- package/dist/esm/node_modules/date-fns/locale/en-US/_lib/formatRelative.js.map +0 -1
- package/dist/esm/node_modules/date-fns/locale/en-US/_lib/localize.js.map +0 -1
- package/dist/esm/node_modules/date-fns/locale/en-US/_lib/match.js.map +0 -1
- package/dist/esm/node_modules/date-fns/locale/en-US.js.map +0 -1
- package/dist/esm/node_modules/date-fns/locale/fr/_lib/formatDistance.js.map +0 -1
- package/dist/esm/node_modules/date-fns/locale/fr/_lib/formatLong.js.map +0 -1
- package/dist/esm/node_modules/date-fns/locale/fr/_lib/formatRelative.js.map +0 -1
- package/dist/esm/node_modules/date-fns/locale/fr/_lib/localize.js.map +0 -1
- package/dist/esm/node_modules/date-fns/locale/fr/_lib/match.js.map +0 -1
- package/dist/esm/node_modules/date-fns/locale/fr.js.map +0 -1
- package/dist/esm/node_modules/heic2any/dist/heic2any.js.map +0 -1
- package/dist/esm/node_modules/pdfjs-dist/legacy/build/pdf.js.map +0 -1
- package/dist/esm/node_modules/pdfjs-dist/legacy/build/pdf.worker.js.map +0 -1
- package/dist/esm/node_modules/style-inject/dist/style-inject.es.js.map +0 -1
- package/dist/esm/node_modules/tslib/tslib.es6.js.map +0 -1
- package/dist/esm/providers/I18nProvider.js.map +0 -1
- package/dist/esm/services/analysis.js.map +0 -1
- package/dist/esm/services/api.js.map +0 -1
- package/dist/esm/services/auditTrailService.js.map +0 -1
- package/dist/esm/services/cameraService.js.map +0 -1
- package/dist/esm/services/documentEdgeDetectionService.js.map +0 -1
- package/dist/esm/services/documentTemplate.js.map +0 -1
- package/dist/esm/services/iadService.js.map +0 -1
- package/dist/esm/services/integrationService.js.map +0 -1
- package/dist/esm/services/pollingService.js.map +0 -1
- package/dist/esm/services/professionalImageQuality.js.map +0 -1
- package/dist/esm/services/retryService.js.map +0 -1
- package/dist/esm/services/sessionCredentials.js.map +0 -1
- package/dist/esm/services/sessionMemoryStore.js.map +0 -1
- package/dist/esm/services/sessionService.js.map +0 -1
- package/dist/esm/services/utils.js.map +0 -1
- package/dist/esm/types/session.js.map +0 -1
- package/dist/esm/utils/analysisErrors.js.map +0 -1
- package/dist/esm/utils/apiAnalysis.js.map +0 -1
- package/dist/esm/utils/conditionEvaluator.js.map +0 -1
- package/dist/esm/utils/countryFlags.js.map +0 -1
- package/dist/esm/utils/cssLoader.js.map +0 -1
- package/dist/esm/utils/customFieldIds.js.map +0 -1
- package/dist/esm/utils/customFieldValidation.js.map +0 -1
- package/dist/esm/utils/documentLabels.js.map +0 -1
- package/dist/esm/utils/europeanCountries.js.map +0 -1
- package/dist/esm/utils/fileConverter.js.map +0 -1
- package/dist/esm/utils/imageConverter.js.map +0 -1
- package/dist/esm/utils/imageProcessing.js.map +0 -1
- package/dist/esm/utils/isMobileDevice.js.map +0 -1
- package/dist/esm/utils/isoCountryCodes.js.map +0 -1
- package/dist/esm/utils/jdiCodes.js.map +0 -1
- package/dist/esm/utils/labelToKey.js.map +0 -1
- package/dist/esm/utils/listFieldUtils.js.map +0 -1
- package/dist/esm/utils/mimeTypes.js.map +0 -1
- package/dist/esm/utils/navigation.js.map +0 -1
- package/dist/esm/utils/renderInlineMarkdown.js.map +0 -1
- package/dist/esm/utils/sessionStatus.js.map +0 -1
- package/dist/esm/utils/userInputForm.js.map +0 -1
- package/dist/esm/utils/utils.js.map +0 -1
- package/dist/esm/utils/validationUtils.js.map +0 -1
- package/docs/COMPLEMENTARY_MANDATE.md +0 -22
- package/docs/GITLAB_BADGES_SETUP.md +0 -317
- package/docs/JOURNEY_NODE_BUILDER.md +0 -222
- package/docs/POLLING_SYSTEM.md +0 -699
- package/docs/README.md +0 -254
- package/docs/SESSION_TOKEN_MIGRATION.md +0 -52
- package/docs/condition-node.md +0 -651
- package/docs/configuration.md +0 -113
- package/docs/dynamic-configuration.md +0 -97
- package/docs/environment.md +0 -27
- package/docs/migration-guide.md +0 -120
- package/docs/multi-runs.md +0 -111
- package/docs/navigation-history.md +0 -163
- package/docs/sdk_integration_guide.md +0 -58
- package/eslint.config.js +0 -13
- package/examples/analysis-progress-example.tsx +0 -220
- package/examples/sdk-configuration.ts +0 -187
- package/examples/test-updated-urls.ts +0 -162
- package/examples/usage-example.tsx +0 -49
- package/jest.config.js +0 -32
- package/postcss.config.js +0 -6
- package/renovate.json +0 -242
- package/rollup.asset-url-plugin.js +0 -38
- package/rollup.dev.config.js +0 -65
- package/setupTests.js +0 -41
- package/tailwind.config.js +0 -11
package/docs/configuration.md
DELETED
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
# SDK Configuration Dynamique
|
|
2
|
-
|
|
3
|
-
Le SDK Datakeen Session React supporte maintenant la configuration dynamique de l'URL API pour s'adapter aux différents environnements.
|
|
4
|
-
|
|
5
|
-
## Configuration par Props (Recommandée)
|
|
6
|
-
|
|
7
|
-
```tsx
|
|
8
|
-
import { DatakeenSession } from "datakeen-session-react";
|
|
9
|
-
|
|
10
|
-
function App() {
|
|
11
|
-
return (
|
|
12
|
-
<DatakeenSession
|
|
13
|
-
sessionId="your-session-id"
|
|
14
|
-
sessionConfig={{ selfie: true }}
|
|
15
|
-
apiBaseUrl={import.meta.env.VITE_API_URL} // Configuration dynamique
|
|
16
|
-
/>
|
|
17
|
-
);
|
|
18
|
-
}
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
## Configuration par Variables d'Environnement
|
|
22
|
-
|
|
23
|
-
Le SDK recherche automatiquement les variables d'environnement dans l'ordre suivant :
|
|
24
|
-
|
|
25
|
-
1. `VITE_API_BASE_URL`
|
|
26
|
-
2. `VITE_API_URL`
|
|
27
|
-
3. Fallback: `http://localhost:8888`
|
|
28
|
-
|
|
29
|
-
### Dans votre app-frontend
|
|
30
|
-
|
|
31
|
-
```bash
|
|
32
|
-
# .env.local, .env.dev, .env.staging, etc.
|
|
33
|
-
VITE_API_URL=https://api-dev.datakeen.co
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
## Configuration Runtime (Avancée)
|
|
37
|
-
|
|
38
|
-
Pour des configurations plus complexes, vous pouvez également définir la configuration au runtime :
|
|
39
|
-
|
|
40
|
-
```tsx
|
|
41
|
-
// Définir la configuration avant le rendu
|
|
42
|
-
window.ENV = {
|
|
43
|
-
VITE_API_URL: "https://api-staging.datakeen.co",
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
// Puis utiliser le composant normalement
|
|
47
|
-
<DatakeenSession sessionId="..." />;
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
## Migration depuis l'ancienne version
|
|
51
|
-
|
|
52
|
-
### Avant
|
|
53
|
-
|
|
54
|
-
```tsx
|
|
55
|
-
// L'URL était hardcodée ou dépendante de VITE_API_BASE_URL
|
|
56
|
-
<DatakeenSession sessionId="..." />
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
### Maintenant
|
|
60
|
-
|
|
61
|
-
```tsx
|
|
62
|
-
// Option 1: Via props (recommandée)
|
|
63
|
-
<DatakeenSession
|
|
64
|
-
sessionId="..."
|
|
65
|
-
apiBaseUrl={import.meta.env.VITE_API_URL}
|
|
66
|
-
/>
|
|
67
|
-
|
|
68
|
-
// Option 2: Via variables d'environnement
|
|
69
|
-
// Renommez VITE_API_BASE_URL en VITE_API_URL dans votre .env
|
|
70
|
-
// ou gardez les deux pour la rétrocompatibilité
|
|
71
|
-
<DatakeenSession sessionId="..." />
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
## Exemples par Environnement
|
|
75
|
-
|
|
76
|
-
### Développement local
|
|
77
|
-
|
|
78
|
-
```bash
|
|
79
|
-
VITE_API_URL=http://localhost:8888
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
### Développement (dev2)
|
|
83
|
-
|
|
84
|
-
```bash
|
|
85
|
-
VITE_API_URL=https://api-dev2.datakeen.co
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
### Staging
|
|
89
|
-
|
|
90
|
-
```bash
|
|
91
|
-
VITE_API_URL=https://api-staging.datakeen.co
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
### Production
|
|
95
|
-
|
|
96
|
-
```bash
|
|
97
|
-
VITE_API_URL=https://api.datakeen.co
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
## Avantages
|
|
101
|
-
|
|
102
|
-
1. **Flexibilité**: Un seul package SDK pour tous les environnements
|
|
103
|
-
2. **Rétrocompatibilité**: L'ancienne configuration continue de fonctionner
|
|
104
|
-
3. **Configuration explicite**: Plus de clarté sur quelle API est utilisée
|
|
105
|
-
4. **Runtime flexibility**: Possibilité de changer l'API sans rebuild
|
|
106
|
-
|
|
107
|
-
## Debugging
|
|
108
|
-
|
|
109
|
-
Pour debug quelle URL est utilisée, vous pouvez ajouter un log temporaire :
|
|
110
|
-
|
|
111
|
-
```tsx
|
|
112
|
-
console.log("API URL utilisée:", import.meta.env.VITE_API_URL);
|
|
113
|
-
```
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
# Configuration Dynamique du SDK
|
|
2
|
-
|
|
3
|
-
## Problème
|
|
4
|
-
|
|
5
|
-
Le SDK utilisait des variables d'environnement statiques qui étaient compilées lors du build du SDK, ne permettant pas d'adapter l'URL de l'API selon l'environnement d'exécution.
|
|
6
|
-
|
|
7
|
-
## Solution
|
|
8
|
-
|
|
9
|
-
Nous avons implémenté une configuration dynamique qui permet de définir l'URL de base de l'API au runtime.
|
|
10
|
-
|
|
11
|
-
## Méthodes de Configuration
|
|
12
|
-
|
|
13
|
-
### 1. Configuration via fonction (Recommandée)
|
|
14
|
-
|
|
15
|
-
```typescript
|
|
16
|
-
import { configureApiBaseURL } from 'client-sessions-react-sdk';
|
|
17
|
-
|
|
18
|
-
// Configurer l'URL de base du SDK
|
|
19
|
-
configureApiBaseURL('https://api.production.datakeen.co/backend/session');
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
### 2. Configuration via window.VITE_API_BASE_URL
|
|
23
|
-
|
|
24
|
-
Le SDK vérifie automatiquement si `window.VITE_API_BASE_URL` est définie et l'utilise comme URL de base.
|
|
25
|
-
|
|
26
|
-
```typescript
|
|
27
|
-
// Dans votre application
|
|
28
|
-
window.VITE_API_BASE_URL = 'https://api.production.datakeen.co/backend/session';
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
### 3. Configuration via variables d'environnement (fallback)
|
|
32
|
-
|
|
33
|
-
Si aucune configuration dynamique n'est fournie, le SDK utilise les variables d'environnement classiques.
|
|
34
|
-
|
|
35
|
-
## Ordre de Priorité
|
|
36
|
-
|
|
37
|
-
1. URL configurée via `configureApiBaseURL()`
|
|
38
|
-
2. `window.VITE_API_BASE_URL`
|
|
39
|
-
3. `import.meta.env.VITE_API_BASE_URL`
|
|
40
|
-
4. URL par défaut: `http://localhost:8888/backend/session`
|
|
41
|
-
|
|
42
|
-
## Utilisation dans votre Application
|
|
43
|
-
|
|
44
|
-
### Configuration automatique (recommandée)
|
|
45
|
-
|
|
46
|
-
Créez un fichier de configuration qui s'exécute avant l'utilisation du SDK :
|
|
47
|
-
|
|
48
|
-
```typescript
|
|
49
|
-
// src/config/sdk.ts
|
|
50
|
-
import { getSdkApiBaseUrl } from '@/config/environment';
|
|
51
|
-
import { configureApiBaseURL } from 'client-sessions-react-sdk';
|
|
52
|
-
|
|
53
|
-
// Configurer l'URL de base du SDK dynamiquement
|
|
54
|
-
const sdkApiBaseUrl = getSdkApiBaseUrl();
|
|
55
|
-
configureApiBaseURL(sdkApiBaseUrl);
|
|
56
|
-
|
|
57
|
-
export const sdkConfig = {
|
|
58
|
-
apiBaseUrl: sdkApiBaseUrl,
|
|
59
|
-
};
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
### Configuration manuelle
|
|
63
|
-
|
|
64
|
-
```typescript
|
|
65
|
-
import { configureApiBaseURL } from 'client-sessions-react-sdk';
|
|
66
|
-
|
|
67
|
-
// Selon l'environnement
|
|
68
|
-
const baseURL = process.env.NODE_ENV === 'production'
|
|
69
|
-
? 'https://api.datakeen.co/backend/session'
|
|
70
|
-
: 'https://staging-api.datakeen.co/backend/session';
|
|
71
|
-
|
|
72
|
-
configureApiBaseURL(baseURL);
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
## Mise à jour dynamique
|
|
76
|
-
|
|
77
|
-
Vous pouvez changer l'URL de base à tout moment :
|
|
78
|
-
|
|
79
|
-
```typescript
|
|
80
|
-
import { configureApiBaseURL } from 'client-sessions-react-sdk';
|
|
81
|
-
|
|
82
|
-
// Changer d'environnement dynamiquement
|
|
83
|
-
configureApiBaseURL('https://staging-api.datakeen.co/backend/session');
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
## Tests
|
|
87
|
-
|
|
88
|
-
Pour les tests, vous pouvez configurer une URL de test :
|
|
89
|
-
|
|
90
|
-
```typescript
|
|
91
|
-
import { configureApiBaseURL } from 'client-sessions-react-sdk';
|
|
92
|
-
|
|
93
|
-
// Dans vos tests
|
|
94
|
-
beforeEach(() => {
|
|
95
|
-
configureApiBaseURL('http://localhost:3001/backend/session');
|
|
96
|
-
});
|
|
97
|
-
```
|
package/docs/environment.md
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
# Environment Configuration
|
|
2
|
-
|
|
3
|
-
This SDK uses environment variables for configuration. Below are the environment variables used:
|
|
4
|
-
|
|
5
|
-
## Required Environment Variables
|
|
6
|
-
|
|
7
|
-
- `VITE_API_BASE_URL`: The base URL for the API. Default: `http://localhost:8888`
|
|
8
|
-
|
|
9
|
-
## Setting Up Environment Variables
|
|
10
|
-
|
|
11
|
-
1. Create a `.env` file in the root of the project
|
|
12
|
-
2. Add the following line to the `.env` file:
|
|
13
|
-
```
|
|
14
|
-
VITE_API_BASE_URL=http://localhost:8888
|
|
15
|
-
```
|
|
16
|
-
3. For production, create a `.env.production` file with the production URL:
|
|
17
|
-
```
|
|
18
|
-
VITE_API_BASE_URL=https://api.datakeen.co
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
## Using in Development
|
|
22
|
-
|
|
23
|
-
When developing locally, you can modify the `.env` file to point to your local backend or a staging environment.
|
|
24
|
-
|
|
25
|
-
## Using in Demo Application
|
|
26
|
-
|
|
27
|
-
The demo application also uses the same environment variables. Make sure to create a `.env` file in the demo folder as well.
|
package/docs/migration-guide.md
DELETED
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
# Guide de Migration - Configuration API Dynamique
|
|
2
|
-
|
|
3
|
-
## ✅ Mise à jour réussie !
|
|
4
|
-
|
|
5
|
-
Le SDK a été mis à jour pour supporter la configuration dynamique des environnements. Voici ce qui a été fait et comment l'utiliser.
|
|
6
|
-
|
|
7
|
-
## Ce qui a changé
|
|
8
|
-
|
|
9
|
-
### ✅ Nouvelles fonctionnalités
|
|
10
|
-
|
|
11
|
-
- Support de l'`apiBaseUrl` en paramètre
|
|
12
|
-
- Détection automatique de `VITE_API_URL` et `VITE_API_BASE_URL`
|
|
13
|
-
- Configuration runtime via `window.ENV`
|
|
14
|
-
- Rétrocompatibilité complète
|
|
15
|
-
|
|
16
|
-
### ✅ APIs mises à jour
|
|
17
|
-
|
|
18
|
-
- `DatakeenSession` : nouveau paramètre `apiBaseUrl?`
|
|
19
|
-
- `useSession` : nouveau paramètre `apiBaseUrl?`
|
|
20
|
-
- Tous les services internes utilisent la configuration dynamique
|
|
21
|
-
|
|
22
|
-
## Migration
|
|
23
|
-
|
|
24
|
-
### Avant (continue de fonctionner)
|
|
25
|
-
|
|
26
|
-
```tsx
|
|
27
|
-
import useSession from "datakeen-session-react";
|
|
28
|
-
|
|
29
|
-
function App() {
|
|
30
|
-
const { SessionComponent } = useSession("session-id");
|
|
31
|
-
return SessionComponent;
|
|
32
|
-
}
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
### Maintenant (recommandé)
|
|
36
|
-
|
|
37
|
-
#### Option 1: Via useSession
|
|
38
|
-
|
|
39
|
-
```tsx
|
|
40
|
-
import useSession from "datakeen-session-react";
|
|
41
|
-
|
|
42
|
-
function App() {
|
|
43
|
-
const { SessionComponent } = useSession(
|
|
44
|
-
"session-id",
|
|
45
|
-
{ selfie: true },
|
|
46
|
-
import.meta.env.VITE_API_URL // Configuration dynamique
|
|
47
|
-
);
|
|
48
|
-
return SessionComponent;
|
|
49
|
-
}
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
#### Option 2: Via DatakeenSession
|
|
53
|
-
|
|
54
|
-
```tsx
|
|
55
|
-
import { DatakeenSession } from "datakeen-session-react";
|
|
56
|
-
|
|
57
|
-
function App() {
|
|
58
|
-
return (
|
|
59
|
-
<DatakeenSession
|
|
60
|
-
sessionId="session-id"
|
|
61
|
-
sessionConfig={{ selfie: true }}
|
|
62
|
-
apiBaseUrl={import.meta.env.VITE_API_URL}
|
|
63
|
-
/>
|
|
64
|
-
);
|
|
65
|
-
}
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
## Configuration par environnement
|
|
69
|
-
|
|
70
|
-
### Variables d'environnement supportées
|
|
71
|
-
|
|
72
|
-
1. `VITE_API_URL` (nouveau, recommandé)
|
|
73
|
-
2. `VITE_API_BASE_URL` (ancien, toujours supporté)
|
|
74
|
-
3. Configuration runtime via `window.ENV.VITE_API_URL`
|
|
75
|
-
|
|
76
|
-
### Exemples par environnement
|
|
77
|
-
|
|
78
|
-
```bash
|
|
79
|
-
# .env.local
|
|
80
|
-
VITE_API_URL=http://localhost:8888
|
|
81
|
-
|
|
82
|
-
# .env.dev
|
|
83
|
-
VITE_API_URL=https://api-dev.datakeen.co
|
|
84
|
-
|
|
85
|
-
# .env.staging
|
|
86
|
-
VITE_API_URL=https://api-staging.datakeen.co
|
|
87
|
-
|
|
88
|
-
# .env.production
|
|
89
|
-
VITE_API_URL=https://api.datakeen.co
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
## Vérification que tout fonctionne
|
|
93
|
-
|
|
94
|
-
1. **Vérifiez les logs** : Le SDK loggera l'URL utilisée
|
|
95
|
-
2. **Testez les environnements** : Changez `VITE_API_URL` et relancez
|
|
96
|
-
3. **Mode développement** : Le lien npm continue de fonctionner
|
|
97
|
-
|
|
98
|
-
## Avantages
|
|
99
|
-
|
|
100
|
-
✅ **Un seul package pour tous les environnements**
|
|
101
|
-
✅ **Configuration explicite et claire**
|
|
102
|
-
✅ **Aucune breaking change**
|
|
103
|
-
✅ **Runtime flexibility**
|
|
104
|
-
✅ **Meilleur debugging**
|
|
105
|
-
|
|
106
|
-
## Actions à faire dans app-frontend
|
|
107
|
-
|
|
108
|
-
1. **Optionnel** : Passer l'`apiBaseUrl` explicitement
|
|
109
|
-
2. **Recommandé** : Utiliser `VITE_API_URL` comme variable standard
|
|
110
|
-
3. **Test** : Vérifier que les appels API pointent vers le bon environnement
|
|
111
|
-
|
|
112
|
-
## Debug
|
|
113
|
-
|
|
114
|
-
Pour vérifier quelle URL est utilisée :
|
|
115
|
-
|
|
116
|
-
```tsx
|
|
117
|
-
console.log("API URL:", import.meta.env.VITE_API_URL);
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
Le SDK utilisera automatiquement cette URL pour tous ses appels.
|
package/docs/multi-runs.md
DELETED
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
# Multi-runs — Pré-remplissage par run avec `userInputList`
|
|
2
|
-
|
|
3
|
-
## Vue d'ensemble
|
|
4
|
-
|
|
5
|
-
Un parcours peut contenir une **boucle** : un nœud `condition` avec `conditionFalseMode: "loop"` pointe via son edge "false" vers un nœud antérieur (ex: `information-input`). Cela permet de faire saisir des données à plusieurs personnes successivement dans la même session (ex: déclaration de plusieurs bénéficiaires).
|
|
6
|
-
|
|
7
|
-
Ce guide explique comment pré-remplir le formulaire différemment à chaque passage.
|
|
8
|
-
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
## Convention `_list`
|
|
12
|
-
|
|
13
|
-
À la **création de session**, l'intégrateur peut passer un tableau de pré-remplissages via la clé réservée `_list` dans `userInput` :
|
|
14
|
-
|
|
15
|
-
```json
|
|
16
|
-
POST /backend/api/v1/session
|
|
17
|
-
{
|
|
18
|
-
"journeyId": "...",
|
|
19
|
-
"userInput": {
|
|
20
|
-
"_list": [
|
|
21
|
-
{ "firstName": "Alice", "lastName": "Dupont" },
|
|
22
|
-
{ "firstName": "Bob", "lastName": "Martin" }
|
|
23
|
-
]
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
- `_list[0]` → pré-rempli au **1er passage** sur le nœud
|
|
29
|
-
- `_list[1]` → pré-rempli au **2e passage**
|
|
30
|
-
- Si l'index est hors borne → **formulaire vide** (pas de reprise des valeurs du run précédent)
|
|
31
|
-
|
|
32
|
-
> **Aucun changement de schéma backend requis.** La clé `_list` est stockée dans le champ `userInput` (Json) existant.
|
|
33
|
-
|
|
34
|
-
---
|
|
35
|
-
|
|
36
|
-
## Index de passage (run) et `retryCounts`
|
|
37
|
-
|
|
38
|
-
Ne pas confondre deux notions distinctes :
|
|
39
|
-
|
|
40
|
-
**1. Index du passage courant (`runIndex`, 0-indexé)** : calculé côté SDK dans `TemplateNodeRenderer` (nœud `information-input`) à partir de l'historique de navigation (`stepHistory`) : nombre de visites du step courant moins 1. Il n'est **pas persisté** et n'est **pas** stocké dans `session.retryCounts`. C'est lui qui sélectionne `_list[runIndex]`. Un retour arrière (`goBack()`) retire l'entrée d'historique et ne fait donc pas avancer le passage.
|
|
41
|
-
|
|
42
|
-
**2. `session.retryCounts[nodeId]`** : compteur **par nœud** de tentatives échouées, lu via `getNodeRetryCount(session, nodeId)` (`retryService.ts`) et persisté via `PATCH /session/sdk/:id` (`updateNodeRetryCount` / `incrementNodeRetryCount`). Il est incrémenté :
|
|
43
|
-
- par `DocumentCollection.tsx` et `DocumentCheck.tsx` à chaque tentative de vérification documentaire qui échoue (il alimente `maxResubmissionAttempts` / `allowResubmission`) ;
|
|
44
|
-
- par `ConditionNodeHandler.tsx` **uniquement** lorsque `conditionFalseMode === "retry"` et que la condition évalue à `false` (il alimente `conditionMaxRetries`). En mode `"loop"`, le handler navigue simplement vers l'edge `false` **sans toucher à `retryCounts`**.
|
|
45
|
-
|
|
46
|
-
Conséquences :
|
|
47
|
-
- `retryCounts[nodeId]` n'est **pas** l'index de passage de la boucle et ne sélectionne jamais une entrée de `_list`.
|
|
48
|
-
- Côté backend, `retryCounts[nodeId] > 0` sur un nœud `document-collection`, `identity-control` ou `controle-jdi` sert à ne pas facturer les tentatives de resoumission (voir `LAGO_BILLING_INTEGRATION.md` du backend). Limites : le passage d'une boucle sur un même nœud n'incrémente pas ce compteur ; un échec technique compte comme tentative côté SDK ; la mise à jour est asynchrone (`PATCH` non bloquant).
|
|
49
|
-
|
|
50
|
-
Il n'y a **rien à configurer** pour `_list` : le SDK sélectionne automatiquement la bonne entrée à partir de l'historique de navigation.
|
|
51
|
-
|
|
52
|
-
---
|
|
53
|
-
|
|
54
|
-
## Comportement détaillé
|
|
55
|
-
|
|
56
|
-
| Situation | `initialUserInput` reçu par le formulaire |
|
|
57
|
-
|-----------|------------------------------------------|
|
|
58
|
-
| `userInput` sans `_list` (1er passage **ou** ré-entrée) | `userInput` global persisté |
|
|
59
|
-
| `_list` présent, run 0 | `_list[0]` |
|
|
60
|
-
| `_list` présent, run 1 | `_list[1]` |
|
|
61
|
-
| `_list` présent, run N ≥ longueur | `{}` (formulaire vide) |
|
|
62
|
-
|
|
63
|
-
> **Sans `_list`, le formulaire est toujours pré-rempli depuis le `userInput` persisté**, y compris lors d'une ré-entrée (boucle `condition` de correction, retour arrière, bouton « Corriger ma saisie »). Une ré-entrée sans `_list` correspond à *corriger les mêmes données*, pas à en saisir de nouvelles — on ne vide donc pas le formulaire.
|
|
64
|
-
>
|
|
65
|
-
> ⚠️ **L'énumération de plusieurs entités distinctes (ex: plusieurs bénéficiaires) doit passer par `_list`.** Sans `_list`, chaque ré-entrée ré-affiche les données précédentes (pas de formulaire vierge par run).
|
|
66
|
-
|
|
67
|
-
---
|
|
68
|
-
|
|
69
|
-
## Retour arrière
|
|
70
|
-
|
|
71
|
-
Le bouton "Retour" utilise `goBack()` qui remonte dans l'historique de navigation vers le **nœud précédent dans le graphe**. Il ne revient pas au run précédent sur le même nœud.
|
|
72
|
-
|
|
73
|
-
---
|
|
74
|
-
|
|
75
|
-
## Exemple de parcours complet
|
|
76
|
-
|
|
77
|
-
```
|
|
78
|
-
start → information-input → condition (loop si false) → end
|
|
79
|
-
↑_____________________|
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
Payload de création avec 2 personnes à déclarer :
|
|
83
|
-
```json
|
|
84
|
-
{
|
|
85
|
-
"journeyId": "journey-id",
|
|
86
|
-
"userInput": {
|
|
87
|
-
"_list": [
|
|
88
|
-
{ "firstName": "Alice", "lastName": "Dupont", "birthDate": "1990-01-15" },
|
|
89
|
-
{ "firstName": "Bob", "lastName": "Martin", "birthDate": "1985-06-22" }
|
|
90
|
-
]
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
**Déroulé :**
|
|
96
|
-
1. Run 0 → formulaire pré-rempli avec Alice → condition évalue les données → false → retour sur le formulaire
|
|
97
|
-
2. Run 1 → formulaire pré-rempli avec Bob → condition évalue → true → fin
|
|
98
|
-
3. Run 2 (si prévu) → formulaire vide
|
|
99
|
-
|
|
100
|
-
---
|
|
101
|
-
|
|
102
|
-
## Fichiers de référence
|
|
103
|
-
|
|
104
|
-
| Fichier | Rôle |
|
|
105
|
-
|---------|------|
|
|
106
|
-
| `src/services/sessionService.ts` | `getRunPrefillData(userInput, runIndex)` |
|
|
107
|
-
| `src/components/template/TemplateNodeRenderer.tsx` | Calcul de `initialUserInput` pour `information-input` |
|
|
108
|
-
| `src/services/retryService.ts` | `getNodeRetryCount` / `incrementNodeRetryCount` (compteur d'échecs par nœud) |
|
|
109
|
-
| `src/components/template/ConditionNodeHandler.tsx` | Incrémente `retryCounts` en mode `retry` uniquement (pas en `loop`) |
|
|
110
|
-
| `src/components/document-collection/DocumentCollection.tsx`, `src/components/session/DocumentCheck.tsx` | Incrémentent `retryCounts[nodeId]` à chaque échec de vérification |
|
|
111
|
-
| `src/hooks/useStepNavigation.ts` | `goBack()` — retour au nœud précédent |
|
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
# Navigation History — Guide développeur
|
|
2
|
-
|
|
3
|
-
## Vue d'ensemble
|
|
4
|
-
|
|
5
|
-
Le SDK gère la navigation entre les étapes d'un parcours via un système d'historique interne, implémenté dans `src/hooks/useStepNavigation.ts`. Il ne s'appuie **pas** sur React Router ou l'historique du navigateur.
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## Architecture
|
|
10
|
-
|
|
11
|
-
### Représentation de l'état
|
|
12
|
-
|
|
13
|
-
```typescript
|
|
14
|
-
step: number // étape courante (0 = écran de démarrage, 1+ = nœuds du template)
|
|
15
|
-
history: number[] // pile d'étapes visitées, ex: [0, 1, 3, 4]
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
L'index des étapes est **1-based** pour les nœuds du template : le nœud à l'index 0 dans `getOrderedJourneySteps()` correspond au step `1`.
|
|
19
|
-
|
|
20
|
-
### Les primitives exposées via `stepObject`
|
|
21
|
-
|
|
22
|
-
| Primitive | Description |
|
|
23
|
-
|-----------|-------------|
|
|
24
|
-
| `step` | Étape courante |
|
|
25
|
-
| `setStep(n, skipHistory?)` | Navigue vers l'étape `n`. Par défaut ajoute `n` à l'historique sauf si `skipHistory = true` |
|
|
26
|
-
| `goBack()` | Dépile l'historique et navigue vers l'étape précédente |
|
|
27
|
-
| `goToNextStep(nodeId, template, handle?)` | Suit le graphe d'edges depuis `nodeId` pour déterminer la prochaine étape |
|
|
28
|
-
| `goToNextStepCommitted(nodeId, template, handle?)` | Suit le graphe puis remplace l'historique par le nœud d'arrivée, qui devient un point de non-retour |
|
|
29
|
-
| `canGoBack` | `true` si `history.length > 1` |
|
|
30
|
-
|
|
31
|
-
---
|
|
32
|
-
|
|
33
|
-
## Cycle de vie de l'historique
|
|
34
|
-
|
|
35
|
-
### 1. Initialisation
|
|
36
|
-
|
|
37
|
-
Au montage, l'historique est initialisé à `[0]` (état d'attente de `initialStep`).
|
|
38
|
-
|
|
39
|
-
Quand `initialStep` arrive depuis la base de données (via l'API), le hook initialise **une seule fois** (`hasInitialized.current`). Il distingue deux cas :
|
|
40
|
-
|
|
41
|
-
```
|
|
42
|
-
histoire déjà > 1 élément → l'utilisateur a navigué avant l'arrivée d'initialStep
|
|
43
|
-
→ l'historique existant est conservé
|
|
44
|
-
|
|
45
|
-
histoire = 1 élément → reprise de session (page rouverte à mi-parcours)
|
|
46
|
-
→ l'historique est reconstruit via le graphe
|
|
47
|
-
→ reconstructHistoryToStep(initialStep, template)
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
### 2. Navigation forward
|
|
51
|
-
|
|
52
|
-
`goToNextStep` suit les edges du template (définis dans `template.edges`) pour trouver l'index du nœud suivant. Il appelle ensuite `setStep(nextIndex)`, qui ajoute l'index à l'historique :
|
|
53
|
-
|
|
54
|
-
```
|
|
55
|
-
[0] → [0, 1] → [0, 1, 3] → [0, 1, 3, 4]
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
> Note : les indexes ne sont pas nécessairement consécutifs (+1) car le graphe peut avoir des sauts ou des branches.
|
|
59
|
-
|
|
60
|
-
### 3. Navigation backward — `goBack()`
|
|
61
|
-
|
|
62
|
-
`goBack()` dépile l'historique et saute automatiquement les nœuds **auto-exécutants** :
|
|
63
|
-
|
|
64
|
-
```typescript
|
|
65
|
-
const AUTO_EXECUTING_TYPES = new Set(["external-verification", "condition"]);
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
Exemple avec un nœud `condition` au step 3 :
|
|
69
|
-
|
|
70
|
-
```
|
|
71
|
-
history: [0, 1, 3, 4]
|
|
72
|
-
|
|
73
|
-
1. pop() → candidate: 3 (condition) → skipped
|
|
74
|
-
2. pop() → candidate: 1 (information-input) → stop
|
|
75
|
-
|
|
76
|
-
→ navigation vers step 1
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
`setStep` est appelé avec `skipHistory = true` pour ne pas polluer l'historique lors d'un retour.
|
|
80
|
-
|
|
81
|
-
### Point de non-retour — `goToNextStepCommitted()`
|
|
82
|
-
|
|
83
|
-
Certaines étapes payantes ou définitives, comme la validation biométrique du selfie, ne doivent
|
|
84
|
-
pas pouvoir être rejouées. Elles avancent avec `goToNextStepCommitted()` : la destination est
|
|
85
|
-
résolue via les mêmes edges et persistée comme avec `goToNextStep()`, puis l'historique devient
|
|
86
|
-
`[nextStepIndex]`. Sur le nœud d'arrivée, `canGoBack` vaut donc `false` et aucun bouton Retour ne
|
|
87
|
-
doit être rendu.
|
|
88
|
-
|
|
89
|
-
Si la destination est auto-exécutante (`condition` ou `external-verification`), le commit est
|
|
90
|
-
propagé jusqu'au premier nœud interactif. Lors d'un rechargement, la reconstruction tronque de
|
|
91
|
-
même le chemin après le dernier selfie déjà franchi : le point de non-retour reste donc effectif
|
|
92
|
-
sans ajouter de champ au contrat de session.
|
|
93
|
-
|
|
94
|
-
Cette primitive est réservée aux points de non-retour métier explicites. Les autres nœuds
|
|
95
|
-
continuent d'utiliser `goToNextStep()` et conservent leur historique normal.
|
|
96
|
-
|
|
97
|
-
### 4. Déduplication
|
|
98
|
-
|
|
99
|
-
`setStep` ne pousse jamais deux fois le même index consécutivement :
|
|
100
|
-
|
|
101
|
-
```typescript
|
|
102
|
-
setHistory((prev) => {
|
|
103
|
-
if (prev[prev.length - 1] === newStep) return prev;
|
|
104
|
-
return [...prev, newStep];
|
|
105
|
-
});
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
Cela évite le doublon `[..., 4, 4]` qui se produisait quand `initialStep` arrivait de l'API alors que l'utilisateur était déjà sur ce step.
|
|
109
|
-
|
|
110
|
-
---
|
|
111
|
-
|
|
112
|
-
## Reconstruction de l'historique (`reconstructHistoryToStep`)
|
|
113
|
-
|
|
114
|
-
Définie dans `src/services/sessionService.ts`, cette fonction est utilisée lors d'une reprise de session.
|
|
115
|
-
|
|
116
|
-
Elle suit les edges par défaut (première edge sortante de chaque nœud) depuis le step 0 jusqu'à `targetStep` :
|
|
117
|
-
|
|
118
|
-
```typescript
|
|
119
|
-
reconstructHistoryToStep(4, template)
|
|
120
|
-
// → [0, 1, 2, 3, 4] si le chemin linéaire existe dans le graphe
|
|
121
|
-
// → [0, 4] fallback si le graphe ne peut pas atteindre targetStep
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
> **Limitation** : la reconstruction suit toujours la première edge sortante de chaque nœud. Si le parcours réel a emprunté une branche conditionnelle (ex: `condition → true`), l'historique reconstruit peut différer du parcours original. Le retour sera correct tant que les nœuds intermédiaires sont rendus correctement.
|
|
125
|
-
|
|
126
|
-
---
|
|
127
|
-
|
|
128
|
-
## Pièges courants
|
|
129
|
-
|
|
130
|
-
### Ne pas utiliser `setStep(step - 1)` pour le bouton retour
|
|
131
|
-
|
|
132
|
-
```typescript
|
|
133
|
-
// INCORRECT — décrémentation arithmétique, ignore le graphe réel
|
|
134
|
-
const goOnPreviousStep = () => setStep(step - 1);
|
|
135
|
-
|
|
136
|
-
// CORRECT — utilise l'historique
|
|
137
|
-
const goOnPreviousStep = () => goBack();
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
`step - 1` peut pointer vers un step inexistant (si les indexes ne sont pas consécutifs), ou sauter par-dessus des nœuds auto-exécutants qui doivent être ignorés.
|
|
141
|
-
|
|
142
|
-
### Ne pas appeler `setStep` directement depuis un composant pour naviguer en avant
|
|
143
|
-
|
|
144
|
-
Préférer `goToNextStep(node.id, template)` qui résout automatiquement l'index suivant via le graphe. `setStep` est réservé aux cas où l'index de destination est déjà connu (ex: reprise de session, `goBack`).
|
|
145
|
-
|
|
146
|
-
### Reprise d'une session déjà terminée : ne jamais rejouer un nœud `end`
|
|
147
|
-
|
|
148
|
-
La reprise se fait **par index** (`currentStep`) sur `getOrderedJourneySteps()` (nœuds triés par `order`, puis par `id`). Si le parcours est modifié après coup — par exemple un nœud `end` ajouté avec le même `order` qu'une étape existante — l'index persisté peut désigner un autre nœud qu'au moment de la sauvegarde. Une session rouverte peut alors « atterrir » sur une fin jamais empruntée, et `EndFlow` enverrait `ended` + l'id de cette fin au montage (incident Quadient, sept. 2026 : dossiers signés passés en `ai_rejected`).
|
|
149
|
-
|
|
150
|
-
Protection : `isSessionFinished(status)` (`src/utils/sessionStatus.ts`) — vrai pour `ended` et les statuts consolidés (`verify`, `ai_approved`, `ai_rejected`, `user_approved`, `user_rejected`), **faux pour `conform`** (posé après la signature, avant le vrai nœud `end`). `useStepNavigation`, `TemplateNodeRenderer` et `SessionContent` l'utilisent pour afficher directement l'écran de fin ; pour un statut consolidé, `EndFlow` reçoit `alreadyFinished` : **aucun PATCH** au montage, écran calculé depuis le statut connu. Le backend ignore de son côté un second `ended` sur une session déjà terminée (voir `backend/docs/SESSION_STATUS_CALCULATION.md`).
|
|
151
|
-
|
|
152
|
-
La reprise par index reste une limite connue : la remplacer par une reprise par id de nœud est un chantier séparé.
|
|
153
|
-
|
|
154
|
-
---
|
|
155
|
-
|
|
156
|
-
## Fichiers de référence
|
|
157
|
-
|
|
158
|
-
| Fichier | Rôle |
|
|
159
|
-
|---------|------|
|
|
160
|
-
| `src/hooks/useStepNavigation.ts` | Implémentation complète de l'historique |
|
|
161
|
-
| `src/services/sessionService.ts` | `getOrderedJourneySteps`, `getNextStepIndex`, `reconstructHistoryToStep` |
|
|
162
|
-
| `src/hooks/useUserInputForm.ts` | Exemple d'utilisation de `goBack()` dans un formulaire |
|
|
163
|
-
| `src/components/session/ContactInfoForm.tsx` | Autre exemple de bouton retour correct |
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
# Intégration du SDK dans un projet Vite + React + TypeScript
|
|
2
|
-
|
|
3
|
-
Ce guide explique comment intégrer manuellement le SDK dans un projet React TypeScript basé sur Vite.
|
|
4
|
-
|
|
5
|
-
## Étapes à suivre
|
|
6
|
-
|
|
7
|
-
### 1. Créer un nouveau projet Vite avec React et TypeScript
|
|
8
|
-
|
|
9
|
-
```bash
|
|
10
|
-
npm create vite@latest my-app -- --template react-ts
|
|
11
|
-
cd my-app
|
|
12
|
-
npm install
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
### 2. Nettoyer le projet
|
|
16
|
-
|
|
17
|
-
Supprimez tous les fichiers dans `src/` sauf :
|
|
18
|
-
|
|
19
|
-
- `main.tsx`
|
|
20
|
-
- `App.tsx`
|
|
21
|
-
|
|
22
|
-
Vous pouvez les modifier ensuite pour les adapter au SDK.
|
|
23
|
-
|
|
24
|
-
### 3. Copier le contenu du `src/` du SDK
|
|
25
|
-
|
|
26
|
-
Copiez **tout le contenu du dossier `src/`** du SDK dans le `src/` de ce nouveau projet **Vite**.
|
|
27
|
-
|
|
28
|
-
> ⚠️ N'incluez **pas** le fichier `index.ts` du SDK, il peut entrer en conflit avec l’entrée du projet Vite.
|
|
29
|
-
|
|
30
|
-
### 4. Mettre à jour les dépendances
|
|
31
|
-
|
|
32
|
-
Ouvrez le `package.json` du SDK et copiez toutes les dépendances (`dependencies` et éventuellement `devDependencies`) dans celui du projet Vite.
|
|
33
|
-
|
|
34
|
-
Ensuite, installez les nouvelles dépendances :
|
|
35
|
-
|
|
36
|
-
```bash
|
|
37
|
-
npm install
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
> ✅ Assurez-vous de ne pas écraser les dépendances existantes (comme `react`, `vite`, etc.). Fusionnez intelligemment les deux blocs.
|
|
41
|
-
|
|
42
|
-
### 5. Lancer le projet
|
|
43
|
-
|
|
44
|
-
Une fois tout copié et installé :
|
|
45
|
-
|
|
46
|
-
```bash
|
|
47
|
-
npm run dev
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
Votre projet est maintenant prêt avec le SDK intégré.
|
|
51
|
-
|
|
52
|
-
---
|
|
53
|
-
|
|
54
|
-
## Notes
|
|
55
|
-
|
|
56
|
-
- Si le SDK utilise des variables d’environnement, pensez à les définir dans un fichier `.env`.
|
|
57
|
-
- Vérifiez les éventuels alias dans `tsconfig.json` et `vite.config.ts` si le SDK en dépend.
|
|
58
|
-
- Si le SDK a des styles globaux, importez-les dans `main.tsx` ou `App.tsx`.
|