datakeen-session-react 1.1.140-dev.91 → 1.1.140-dev.92
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/dist/cjs/components/jdi/JDIDocumentSelection.js +9 -6
- package/dist/cjs/components/jdi/JDIDocumentSelection.js.map +1 -1
- package/dist/cjs/components/nfc-scan/BiometricSymbol.js +22 -0
- package/dist/cjs/components/nfc-scan/BiometricSymbol.js.map +1 -0
- package/dist/cjs/components/nfc-scan/NfcChipGate.js +36 -0
- package/dist/cjs/components/nfc-scan/NfcChipGate.js.map +1 -0
- package/dist/cjs/components/nfc-scan/NfcFallbackSurvey.js +70 -0
- package/dist/cjs/components/nfc-scan/NfcFallbackSurvey.js.map +1 -0
- package/dist/cjs/components/nfc-scan/NfcOnboardingNotice.js +44 -0
- package/dist/cjs/components/nfc-scan/NfcOnboardingNotice.js.map +1 -0
- package/dist/cjs/components/nfc-scan/NfcScanNode.js +2 -2
- package/dist/cjs/components/nfc-scan/NfcScanNode.js.map +1 -1
- package/dist/cjs/components/nfc-scan/PuceCniSymbol.js +22 -0
- package/dist/cjs/components/nfc-scan/PuceCniSymbol.js.map +1 -0
- package/dist/cjs/components/session/DocumentCheck.js +123 -35
- package/dist/cjs/components/session/DocumentCheck.js.map +1 -1
- package/dist/cjs/i18n/en.json.js +37 -4
- package/dist/cjs/i18n/en.json.js.map +1 -1
- package/dist/cjs/i18n/fr.json.js +37 -4
- package/dist/cjs/i18n/fr.json.js.map +1 -1
- package/dist/cjs/index.css.js +1 -1
- package/dist/cjs/services/sessionService.js +19 -0
- package/dist/cjs/services/sessionService.js.map +1 -1
- package/dist/cjs/types/session.js.map +1 -1
- package/dist/esm/components/jdi/JDIDocumentSelection.js +9 -6
- package/dist/esm/components/jdi/JDIDocumentSelection.js.map +1 -1
- package/dist/esm/components/nfc-scan/BiometricSymbol.js +18 -0
- package/dist/esm/components/nfc-scan/BiometricSymbol.js.map +1 -0
- package/dist/esm/components/nfc-scan/NfcChipGate.js +32 -0
- package/dist/esm/components/nfc-scan/NfcChipGate.js.map +1 -0
- package/dist/esm/components/nfc-scan/NfcFallbackSurvey.js +66 -0
- package/dist/esm/components/nfc-scan/NfcFallbackSurvey.js.map +1 -0
- package/dist/esm/components/nfc-scan/NfcOnboardingNotice.js +40 -0
- package/dist/esm/components/nfc-scan/NfcOnboardingNotice.js.map +1 -0
- package/dist/esm/components/nfc-scan/NfcScanNode.js +2 -2
- package/dist/esm/components/nfc-scan/NfcScanNode.js.map +1 -1
- package/dist/esm/components/nfc-scan/PuceCniSymbol.js +18 -0
- package/dist/esm/components/nfc-scan/PuceCniSymbol.js.map +1 -0
- package/dist/esm/components/session/DocumentCheck.js +124 -36
- package/dist/esm/components/session/DocumentCheck.js.map +1 -1
- package/dist/esm/i18n/en.json.js +37 -4
- package/dist/esm/i18n/en.json.js.map +1 -1
- package/dist/esm/i18n/fr.json.js +37 -4
- package/dist/esm/i18n/fr.json.js.map +1 -1
- package/dist/esm/index.css.js +1 -1
- package/dist/esm/services/sessionService.js +19 -1
- package/dist/esm/services/sessionService.js.map +1 -1
- package/dist/esm/types/session.js.map +1 -1
- package/package.json +1 -1
|
@@ -32,6 +32,8 @@ var retryService = require('../../services/retryService.js');
|
|
|
32
32
|
var SessionContext = require('../../context/SessionContext.js');
|
|
33
33
|
var sessionService = require('../../services/sessionService.js');
|
|
34
34
|
var NfcScanNode = require('../nfc-scan/NfcScanNode.js');
|
|
35
|
+
var NfcChipGate = require('../nfc-scan/NfcChipGate.js');
|
|
36
|
+
var NfcFallbackSurvey = require('../nfc-scan/NfcFallbackSurvey.js');
|
|
35
37
|
var europeanCountries = require('../../utils/europeanCountries.js');
|
|
36
38
|
|
|
37
39
|
var NFC_ELIGIBLE_DOCUMENT_TYPES = new Set([
|
|
@@ -39,6 +41,14 @@ var NFC_ELIGIBLE_DOCUMENT_TYPES = new Set([
|
|
|
39
41
|
"idCard",
|
|
40
42
|
"residencePermit",
|
|
41
43
|
]);
|
|
44
|
+
/**
|
|
45
|
+
* Normalise le mode NFC vers les valeurs courantes.
|
|
46
|
+
* Rétrocompat : les parcours enregistrés avant le renommage portent encore
|
|
47
|
+
* `nfcAndApi`, qui doit être traité comme `nfcOrPhoto` (scan NFC avec alternative photo).
|
|
48
|
+
*/
|
|
49
|
+
var normalizeNfcMode = function (mode) {
|
|
50
|
+
return mode === "nfcAndApi" || mode === "nfcOrPhoto" ? "nfcOrPhoto" : "nfcOnly";
|
|
51
|
+
};
|
|
42
52
|
/**
|
|
43
53
|
* DocumentCheck component manages the multi-step document verification flow for a session.
|
|
44
54
|
* It handles country and document type selection, document upload or photo capture, processing, and error/success handling.
|
|
@@ -64,12 +74,12 @@ var NFC_ELIGIBLE_DOCUMENT_TYPES = new Set([
|
|
|
64
74
|
* - Uses hooks for translation, retry navigation, and context management.
|
|
65
75
|
*/
|
|
66
76
|
var DocumentCheck = function (_a) {
|
|
67
|
-
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
68
|
-
var stepObject = _a.stepObject, sessionId = _a.sessionId, node = _a.node; _a.onContinueOnPC; var documentTypeId = _a.documentTypeId, acceptedCountries = _a.acceptedCountries,
|
|
77
|
+
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
78
|
+
var stepObject = _a.stepObject, sessionId = _a.sessionId, node = _a.node; _a.onContinueOnPC; var documentTypeId = _a.documentTypeId, acceptedCountries = _a.acceptedCountries, _p = _a.isMobileCapture, isMobileCapture = _p === void 0 ? false : _p, allowedAddingMethods = _a.allowedAddingMethods, template = _a.template, setUserInput = _a.setUserInput;
|
|
69
79
|
var t = useI18n.useI18n().t;
|
|
70
80
|
var session = SessionContext.getSession().session;
|
|
71
|
-
var
|
|
72
|
-
var
|
|
81
|
+
var _q = React.useState(), documentTemplates = _q[0], setDocumentTemplates = _q[1];
|
|
82
|
+
var _r = React.useState(true), loadingTemplates = _r[0], setLoadingTemplates = _r[1];
|
|
73
83
|
React.useEffect(function () {
|
|
74
84
|
(function () { return tslib_es6.__awaiter(void 0, void 0, void 0, function () {
|
|
75
85
|
var templates;
|
|
@@ -88,7 +98,7 @@ var DocumentCheck = function (_a) {
|
|
|
88
98
|
}); })();
|
|
89
99
|
}, []);
|
|
90
100
|
var initialRetryCount = retryService.getNodeRetryCount(session, node.id);
|
|
91
|
-
var
|
|
101
|
+
var _s = React.useState(null), selectedMethod = _s[0], setSelectedMethod = _s[1];
|
|
92
102
|
var isPictureAllowed = (_b = allowedAddingMethods === null || allowedAddingMethods === void 0 ? void 0 : allowedAddingMethods.includes("picture")) !== null && _b !== void 0 ? _b : true;
|
|
93
103
|
var isDownloadAllowed = (_c = allowedAddingMethods === null || allowedAddingMethods === void 0 ? void 0 : allowedAddingMethods.includes("download")) !== null && _c !== void 0 ? _c : true;
|
|
94
104
|
// Check if retry is allowed based on initial retry count
|
|
@@ -107,21 +117,24 @@ var DocumentCheck = function (_a) {
|
|
|
107
117
|
return true;
|
|
108
118
|
};
|
|
109
119
|
// Initialize docStep - if retries exhausted, start at error page (step 6)
|
|
110
|
-
var
|
|
120
|
+
var _t = React.useState(function () {
|
|
111
121
|
if (initialRetryCount > 0 && !isInitialRetryAllowed()) {
|
|
112
122
|
return 6; // Error page
|
|
113
123
|
}
|
|
114
124
|
return 0; // Normal flow - start with introduction
|
|
115
|
-
}), docStep =
|
|
116
|
-
var
|
|
117
|
-
var
|
|
118
|
-
var
|
|
119
|
-
var
|
|
120
|
-
var
|
|
125
|
+
}), docStep = _t[0], setDocStep = _t[1];
|
|
126
|
+
var _u = React.useState(((_e = (_d = acceptedCountries === null || acceptedCountries === void 0 ? void 0 : acceptedCountries[0]) === null || _d === void 0 ? void 0 : _d.code) === null || _e === void 0 ? void 0 : _e.toUpperCase()) || "FR"), selectedCountry = _u[0], setSelectedCountry = _u[1];
|
|
127
|
+
var _v = React.useState(null), fileUploaded = _v[0], setFileUploaded = _v[1];
|
|
128
|
+
var _w = React.useState(null), analysisData = _w[0], setAnalysisData = _w[1];
|
|
129
|
+
var _x = React.useState(null), errorCode = _x[0], setErrorCode = _x[1];
|
|
130
|
+
var _y = React.useState(null), nfcPreparationError = _y[0], setNfcPreparationError = _y[1];
|
|
131
|
+
// Quand l'utilisateur déclare ne pas avoir de puce (questionnaire de fallback),
|
|
132
|
+
// on ne doit plus le réorienter vers le scan NFC (ni avant, ni après l'analyse API).
|
|
133
|
+
var _z = React.useState(false), nfcSkipped = _z[0], setNfcSkipped = _z[1];
|
|
121
134
|
// Initialize retry count from session data
|
|
122
|
-
var
|
|
135
|
+
var _0 = React.useState(function () {
|
|
123
136
|
return retryService.getNodeRetryCount(session, node.id);
|
|
124
|
-
}), retryCount =
|
|
137
|
+
}), retryCount = _0[0], setRetryCount = _0[1];
|
|
125
138
|
// Update retry count when session loads/changes
|
|
126
139
|
React.useEffect(function () {
|
|
127
140
|
if (session) {
|
|
@@ -161,10 +174,10 @@ var DocumentCheck = function (_a) {
|
|
|
161
174
|
setDocStep(6);
|
|
162
175
|
}
|
|
163
176
|
}, [retryCount, node.allowResubmission, node.maxResubmissionAttempts]);
|
|
164
|
-
var
|
|
165
|
-
var
|
|
166
|
-
var
|
|
167
|
-
var
|
|
177
|
+
var _1 = React.useState({}), capturedImages = _1[0], setCapturedImages = _1[1];
|
|
178
|
+
var _2 = React.useState("before-recto"), currentPhotoStep = _2[0], setCurrentPhotoStep = _2[1];
|
|
179
|
+
var _3 = React.useState("photo"), videoFlowPhase = _3[0], setVideoFlowPhase = _3[1];
|
|
180
|
+
var _4 = DocumentContext.useDocumentContext(), selectedDocumentType = _4.selectedDocumentType, setSelectedDocumentType = _4.setSelectedDocumentType;
|
|
168
181
|
var finalAcceptedCountries = React.useMemo(function () {
|
|
169
182
|
if (loadingTemplates)
|
|
170
183
|
return acceptedCountries;
|
|
@@ -244,6 +257,11 @@ var DocumentCheck = function (_a) {
|
|
|
244
257
|
if (docStep === 6) {
|
|
245
258
|
return;
|
|
246
259
|
}
|
|
260
|
+
// En NFC, on affiche d'abord l'écran de confirmation de la puce (gate -1)
|
|
261
|
+
if (node.nfcEnabled === true) {
|
|
262
|
+
setDocStep(-1);
|
|
263
|
+
return;
|
|
264
|
+
}
|
|
247
265
|
if (((_a = node.introductionPage) === null || _a === void 0 ? void 0 : _a.title) === undefined &&
|
|
248
266
|
((_b = node.introductionPage) === null || _b === void 0 ? void 0 : _b.description) === undefined) {
|
|
249
267
|
setDocStep(1);
|
|
@@ -348,9 +366,9 @@ var DocumentCheck = function (_a) {
|
|
|
348
366
|
};
|
|
349
367
|
var handleDocumentTypeSelect = function (documentId) { return tslib_es6.__awaiter(void 0, void 0, void 0, function () {
|
|
350
368
|
var documentLabel, documentTemplateID, selectedDoc, selectedCountryCode, selectedDocumentInput, nfcMode, error_2;
|
|
351
|
-
var _a
|
|
352
|
-
return tslib_es6.__generator(this, function (
|
|
353
|
-
switch (
|
|
369
|
+
var _a;
|
|
370
|
+
return tslib_es6.__generator(this, function (_b) {
|
|
371
|
+
switch (_b.label) {
|
|
354
372
|
case 0:
|
|
355
373
|
documentLabel = t("documentTypes.".concat(documentId), documentId);
|
|
356
374
|
auditTrailService.logDocumentTypeSelected(sessionId, documentId, documentLabel);
|
|
@@ -383,22 +401,24 @@ var DocumentCheck = function (_a) {
|
|
|
383
401
|
setCapturedImages({});
|
|
384
402
|
setCurrentPhotoStep("before-recto");
|
|
385
403
|
setVideoFlowPhase("photo");
|
|
386
|
-
if (!(node.nfcEnabled === true &&
|
|
387
|
-
|
|
388
|
-
|
|
404
|
+
if (!(node.nfcEnabled === true &&
|
|
405
|
+
!nfcSkipped &&
|
|
406
|
+
NFC_ELIGIBLE_DOCUMENT_TYPES.has(documentId))) return [3 /*break*/, 5];
|
|
407
|
+
nfcMode = normalizeNfcMode(node.nfcMode);
|
|
408
|
+
_b.label = 1;
|
|
389
409
|
case 1:
|
|
390
|
-
|
|
391
|
-
return [4 /*yield*/, sessionService.updateSessionUserInput(sessionId, tslib_es6.__assign(tslib_es6.__assign({}, ((
|
|
410
|
+
_b.trys.push([1, 3, , 4]);
|
|
411
|
+
return [4 /*yield*/, sessionService.updateSessionUserInput(sessionId, tslib_es6.__assign(tslib_es6.__assign({}, ((_a = session === null || session === void 0 ? void 0 : session.userInput) !== null && _a !== void 0 ? _a : {})), selectedDocumentInput))];
|
|
392
412
|
case 2:
|
|
393
|
-
|
|
413
|
+
_b.sent();
|
|
394
414
|
return [3 /*break*/, 4];
|
|
395
415
|
case 3:
|
|
396
|
-
error_2 =
|
|
416
|
+
error_2 = _b.sent();
|
|
397
417
|
console.error("Failed to persist NFC document selection:", error_2);
|
|
398
418
|
setNfcPreparationError(t("nfc_scan.preparation_failed", "Impossible de préparer le scan NFC. Veuillez réessayer."));
|
|
399
419
|
return [3 /*break*/, 4];
|
|
400
420
|
case 4:
|
|
401
|
-
setDocStep(nfcMode === "
|
|
421
|
+
setDocStep(nfcMode === "nfcOrPhoto" ? 3 : 7);
|
|
402
422
|
return [2 /*return*/];
|
|
403
423
|
case 5:
|
|
404
424
|
setDocStep(3);
|
|
@@ -424,7 +444,6 @@ var DocumentCheck = function (_a) {
|
|
|
424
444
|
}
|
|
425
445
|
};
|
|
426
446
|
var handleProcessingComplete = function (success, _retryCount, apiAnalysisData) {
|
|
427
|
-
var _a;
|
|
428
447
|
if (apiAnalysisData) {
|
|
429
448
|
setAnalysisData(apiAnalysisData);
|
|
430
449
|
// Extract and store the error code
|
|
@@ -435,7 +454,8 @@ var DocumentCheck = function (_a) {
|
|
|
435
454
|
}
|
|
436
455
|
if (success) {
|
|
437
456
|
var shouldRunNfcAfterApi = node.nfcEnabled === true &&
|
|
438
|
-
|
|
457
|
+
!nfcSkipped &&
|
|
458
|
+
normalizeNfcMode(node.nfcMode) === "nfcOrPhoto" &&
|
|
439
459
|
!!(selectedDocumentType === null || selectedDocumentType === void 0 ? void 0 : selectedDocumentType.id) &&
|
|
440
460
|
NFC_ELIGIBLE_DOCUMENT_TYPES.has(selectedDocumentType.id);
|
|
441
461
|
if (shouldRunNfcAfterApi) {
|
|
@@ -524,7 +544,61 @@ var DocumentCheck = function (_a) {
|
|
|
524
544
|
}
|
|
525
545
|
setDocStep(0);
|
|
526
546
|
};
|
|
547
|
+
// Questionnaire de fallback NFC : l'utilisateur a déclaré ne pas avoir de puce.
|
|
548
|
+
// On enregistre la raison (non bloquant) puis on poursuit selon le mode du nœud :
|
|
549
|
+
// - nfcOrPhoto → flux photo/API du même nœud (intro/pays → upload → analyse), sans scan NFC
|
|
550
|
+
// - nfcOnly → on saute le nœud (nœud suivant)
|
|
551
|
+
var handleNfcFallback = function (reason, label, comment) { return tslib_es6.__awaiter(void 0, void 0, void 0, function () {
|
|
552
|
+
var error_3, nfcMode, hasIntroduction;
|
|
553
|
+
var _a, _b;
|
|
554
|
+
return tslib_es6.__generator(this, function (_c) {
|
|
555
|
+
switch (_c.label) {
|
|
556
|
+
case 0:
|
|
557
|
+
setNfcSkipped(true);
|
|
558
|
+
_c.label = 1;
|
|
559
|
+
case 1:
|
|
560
|
+
_c.trys.push([1, 3, , 4]);
|
|
561
|
+
return [4 /*yield*/, sessionService.skipNfcWithReason(sessionId, { reason: reason, label: label, comment: comment })];
|
|
562
|
+
case 2:
|
|
563
|
+
_c.sent();
|
|
564
|
+
return [3 /*break*/, 4];
|
|
565
|
+
case 3:
|
|
566
|
+
error_3 = _c.sent();
|
|
567
|
+
console.error("Failed to persist NFC fallback reason:", error_3);
|
|
568
|
+
return [3 /*break*/, 4];
|
|
569
|
+
case 4:
|
|
570
|
+
nfcMode = normalizeNfcMode(node.nfcMode);
|
|
571
|
+
if (nfcMode === "nfcOrPhoto") {
|
|
572
|
+
hasIntroduction = ((_a = node.introductionPage) === null || _a === void 0 ? void 0 : _a.title) !== undefined ||
|
|
573
|
+
((_b = node.introductionPage) === null || _b === void 0 ? void 0 : _b.description) !== undefined;
|
|
574
|
+
setDocStep(hasIntroduction ? 0 : 1);
|
|
575
|
+
return [2 /*return*/];
|
|
576
|
+
}
|
|
577
|
+
if (template) {
|
|
578
|
+
stepObject.goToNextStep(node.id, template);
|
|
579
|
+
}
|
|
580
|
+
else {
|
|
581
|
+
stepObject.setStep(stepObject.step + 1);
|
|
582
|
+
}
|
|
583
|
+
return [2 /*return*/];
|
|
584
|
+
}
|
|
585
|
+
});
|
|
586
|
+
}); };
|
|
527
587
|
var handleBack = function () {
|
|
588
|
+
var _a, _b;
|
|
589
|
+
var hasIntroduction = ((_a = node.introductionPage) === null || _a === void 0 ? void 0 : _a.title) !== undefined ||
|
|
590
|
+
((_b = node.introductionPage) === null || _b === void 0 ? void 0 : _b.description) !== undefined;
|
|
591
|
+
// Le questionnaire de fallback (-2) revient au gate (-1)
|
|
592
|
+
if (docStep === -2) {
|
|
593
|
+
setDocStep(-1);
|
|
594
|
+
return;
|
|
595
|
+
}
|
|
596
|
+
// En NFC, le premier écran réel (intro=0 sinon pays=1) revient au gate (-1)
|
|
597
|
+
if (node.nfcEnabled === true &&
|
|
598
|
+
docStep === (hasIntroduction ? 0 : 1)) {
|
|
599
|
+
setDocStep(-1);
|
|
600
|
+
return;
|
|
601
|
+
}
|
|
528
602
|
if (docStep === 0) {
|
|
529
603
|
stepObject.goBack();
|
|
530
604
|
}
|
|
@@ -533,6 +607,15 @@ var DocumentCheck = function (_a) {
|
|
|
533
607
|
}
|
|
534
608
|
};
|
|
535
609
|
switch (docStep) {
|
|
610
|
+
case -1: {
|
|
611
|
+
var hasIntroduction_1 = ((_f = node.introductionPage) === null || _f === void 0 ? void 0 : _f.title) !== undefined ||
|
|
612
|
+
((_g = node.introductionPage) === null || _g === void 0 ? void 0 : _g.description) !== undefined;
|
|
613
|
+
return (jsxRuntime.jsx(NfcChipGate.default, { onConfirm: function () { return setDocStep(hasIntroduction_1 ? 0 : 1); },
|
|
614
|
+
// Pas de puce → questionnaire de fallback pour recueillir la raison
|
|
615
|
+
onNoChip: function () { return setDocStep(-2); } }));
|
|
616
|
+
}
|
|
617
|
+
case -2:
|
|
618
|
+
return jsxRuntime.jsx(NfcFallbackSurvey.default, { onSubmit: handleNfcFallback });
|
|
536
619
|
case 0:
|
|
537
620
|
if (!documentTypeId) {
|
|
538
621
|
console.error("DocumentCheck: Missing documentTypeId in step 0");
|
|
@@ -540,15 +623,20 @@ var DocumentCheck = function (_a) {
|
|
|
540
623
|
return stepObject.setStep(Math.max(0, stepObject.step - 1));
|
|
541
624
|
}, children: t("document_check.config_error.back", "Retour") })] }));
|
|
542
625
|
}
|
|
543
|
-
return (jsxRuntime.jsx(JDIPreIntroduction.default, { documentTypeId: documentTypeId, onContinue: function () { return setDocStep(1); }, onBack: handleBack, introTitleText: ((
|
|
626
|
+
return (jsxRuntime.jsx(JDIPreIntroduction.default, { documentTypeId: documentTypeId, onContinue: function () { return setDocStep(1); }, onBack: handleBack, introTitleText: ((_h = node.introductionPage) === null || _h === void 0 ? void 0 : _h.title) || t("jdi.pre_introduction.title"), introDescText: ((_j = node.introductionPage) === null || _j === void 0 ? void 0 : _j.description) ||
|
|
544
627
|
t("jdi.pre_introduction.description") }));
|
|
545
628
|
case 1:
|
|
546
|
-
return (jsxRuntime.jsx(JDICountrySelection.default, { onCountrySelect: handleCountrySelect, onBack: handleBack, documentTypeId: documentTypeId, acceptedCountries: finalAcceptedCountries, countryIntroText: ((
|
|
629
|
+
return (jsxRuntime.jsx(JDICountrySelection.default, { onCountrySelect: handleCountrySelect, onBack: handleBack, documentTypeId: documentTypeId, acceptedCountries: finalAcceptedCountries, countryIntroText: ((_k = node.countrySelection) === null || _k === void 0 ? void 0 : _k.title) || t("jdi.country_selection.title"), countryDescText: ((_l = node.countrySelection) === null || _l === void 0 ? void 0 : _l.description) ||
|
|
547
630
|
t("jdi.country_selection.description") }));
|
|
548
631
|
case 2:
|
|
549
632
|
return (jsxRuntime.jsx(JDIDocumentSelection.default, { onDocumentSelect: handleDocumentTypeSelect, onBack: handleBack, documentTypeId: documentTypeId, sessionId: sessionId, chosenCountry: (finalAcceptedCountries === null || finalAcceptedCountries === void 0 ? void 0 : finalAcceptedCountries.find(function (c) { return c.code === selectedCountry; })) ||
|
|
550
|
-
undefined, documentSelectionTitle: ((
|
|
551
|
-
|
|
633
|
+
undefined, documentSelectionTitle: ((_m = node.documentSelection) === null || _m === void 0 ? void 0 : _m.title) || t("jdi.document_selection.title"), documentSelectionDescription:
|
|
634
|
+
// En NFC, on laisse JDIDocumentSelection choisir le wording adapté
|
|
635
|
+
// (subtitle_identity_nfc) plutôt que l'override "téléverser" du nœud.
|
|
636
|
+
node.nfcEnabled === true
|
|
637
|
+
? undefined
|
|
638
|
+
: ((_o = node.documentSelection) === null || _o === void 0 ? void 0 : _o.description) ||
|
|
639
|
+
t("jdi.document_selection.description"), nfcEnabled: node.nfcEnabled === true }));
|
|
552
640
|
case 3:
|
|
553
641
|
if (!selectedDocumentType) {
|
|
554
642
|
console.error("DocumentCheck: selectedDocumentType is null for step 3!");
|