idmission-web-sdk 2.3.125 → 2.3.127

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.
@@ -20,6 +20,8 @@ export type ReadTextPromptProps = {
20
20
  minReadingMs?: number;
21
21
  classNames?: ReadTextPromptClassNames;
22
22
  verbiage?: ReadTextPromptVerbiage;
23
+ onPromptTextRendered?: (element: HTMLDivElement) => void;
23
24
  };
24
- export declare const ReadTextPrompt: ({ onComplete, durationMs, minReadingMs, classNames, verbiage: rawVerbiage, }: ReadTextPromptProps) => React.JSX.Element;
25
+ declare const ReadTextPromptWrapped: React.MemoExoticComponent<({ onComplete, durationMs, minReadingMs, classNames, verbiage: rawVerbiage, onPromptTextRendered, }: ReadTextPromptProps) => React.JSX.Element>;
26
+ export { ReadTextPromptWrapped as ReadTextPrompt };
25
27
  //# sourceMappingURL=ReadTextPrompt.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReadTextPrompt.d.ts","sourceRoot":"","sources":["../../../src/components/read_text_prompt/ReadTextPrompt.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAA;AAEvE,OAAO,EAAE,wBAAwB,EAAmB,MAAM,mBAAmB,CAAA;AAI7E,MAAM,MAAM,wBAAwB,GAAG;IACrC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,WAAW,CAAC,EAAE,wBAAwB,CAAA;IACtC,UAAU,CAAC,EAAE,wBAAwB,CAAA;IACrC,WAAW,CAAC,EAAE,wBAAwB,CAAA;CACvC,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;IACvB,SAAS,CAAC,EAAE,IAAI,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,wBAAwB,CAAA;IACrC,QAAQ,CAAC,EAAE,sBAAsB,CAAA;CAClC,CAAA;AAED,eAAO,MAAM,cAAc,iFAMxB,mBAAmB,sBA6ErB,CAAA"}
1
+ {"version":3,"file":"ReadTextPrompt.d.ts","sourceRoot":"","sources":["../../../src/components/read_text_prompt/ReadTextPrompt.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyD,MAAM,OAAO,CAAA;AAE7E,OAAO,EAAE,wBAAwB,EAAmB,MAAM,mBAAmB,CAAA;AAI7E,MAAM,MAAM,wBAAwB,GAAG;IACrC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,WAAW,CAAC,EAAE,wBAAwB,CAAA;IACtC,UAAU,CAAC,EAAE,wBAAwB,CAAA;IACrC,WAAW,CAAC,EAAE,wBAAwB,CAAA;CACvC,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;IACvB,SAAS,CAAC,EAAE,IAAI,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,wBAAwB,CAAA;IACrC,QAAQ,CAAC,EAAE,sBAAsB,CAAA;IACjC,oBAAoB,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAA;CACzD,CAAA;AAwLD,QAAA,MAAM,qBAAqB,iIAvKxB,mBAAmB,uBAuK4B,CAAA;AAElD,OAAO,EAAE,qBAAqB,IAAI,cAAc,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"IdVideoCapture.d.ts","sourceRoot":"","sources":["../../../src/components/video_id/IdVideoCapture.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IdVideoCapture.d.ts","sourceRoot":"","sources":["../../../src/components/video_id/IdVideoCapture.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function getRawTextFromHtml(str: string): string;
2
+ //# sourceMappingURL=getRawTextFromHtml.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getRawTextFromHtml.d.ts","sourceRoot":"","sources":["../../../../src/lib/utils/getRawTextFromHtml/getRawTextFromHtml.ts"],"names":[],"mappings":"AA4DA,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAqDtD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=getRawTextFromHtml.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getRawTextFromHtml.test.d.ts","sourceRoot":"","sources":["../../../../src/lib/utils/getRawTextFromHtml/getRawTextFromHtml.test.ts"],"names":[],"mappings":""}
@@ -17,7 +17,6 @@ var middleware = require('zustand/middleware');
17
17
  var shallow = require('zustand/react/shallow');
18
18
  var cn = require('clsx');
19
19
  var SignatureCanvas = require('react-signature-canvas');
20
- var server = require('react-dom/server');
21
20
 
22
21
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
23
22
 
@@ -236,7 +235,7 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
236
235
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
237
236
  };
238
237
 
239
- var webSdkVersion = '2.3.125';
238
+ var webSdkVersion = '2.3.127';
240
239
 
241
240
  function getPlatform() {
242
241
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
@@ -14497,12 +14496,10 @@ var useVideoSignatureStore = zustand.create()(middleware.devtools(function (set,
14497
14496
  });
14498
14497
  }
14499
14498
  };
14500
- signatureRecorder.start();
14501
- var interval = setInterval(function () {
14502
- return signatureRecorder === null || signatureRecorder === void 0 ? void 0 : signatureRecorder.requestData();
14503
- }, 250);
14499
+ signatureRecorder.start(250);
14500
+ // const interval = setInterval(() => signatureRecorder?.requestData(), 250)
14504
14501
  set({
14505
- requestDataInterval: interval,
14502
+ // requestDataInterval: interval,
14506
14503
  recordingStartRequestedAt: performance.now()
14507
14504
  });
14508
14505
  },
@@ -14570,7 +14567,6 @@ var useVideoSignatureStore = zustand.create()(middleware.devtools(function (set,
14570
14567
  recordingStopRequestedAt: performance.now(),
14571
14568
  recordingStoppedAt: undefined
14572
14569
  });
14573
- clearInterval(get().requestDataInterval);
14574
14570
  return [4 /*yield*/, waitForOneMoreChunk()
14575
14571
  // this represents the time that it is safe to release the camera access
14576
14572
  ];
@@ -16162,6 +16158,13 @@ var useVideoRecorder = function useVideoRecorder(mergeAVStreams) {
16162
16158
  }, [audioRecordingIntentionallyStopped, audioRecordingStopped, audioUrl, isRecordingAudio, isRecordingVideo, videoRecordingIntentionallyStopped, videoRecordingStopped, videoUrl]);
16163
16159
  };
16164
16160
 
16161
+ var DEFAULT_CLASSNAMES = {};
16162
+ var DEFAULT_VERBIAGE = {};
16163
+ var VERBIAGE_FALLBACKS = {
16164
+ headingText: 'Please read the following text aloud',
16165
+ promptText: '',
16166
+ doneBtnText: 'Done'
16167
+ };
16165
16168
  var ReadTextPrompt = function ReadTextPrompt(_a) {
16166
16169
  var onComplete = _a.onComplete,
16167
16170
  _b = _a.durationMs,
@@ -16169,18 +16172,27 @@ var ReadTextPrompt = function ReadTextPrompt(_a) {
16169
16172
  _c = _a.minReadingMs,
16170
16173
  minReadingMs = _c === void 0 ? 10000 : _c,
16171
16174
  _d = _a.classNames,
16172
- classNames = _d === void 0 ? {} : _d,
16175
+ classNames = _d === void 0 ? DEFAULT_CLASSNAMES : _d,
16173
16176
  _e = _a.verbiage,
16174
- rawVerbiage = _e === void 0 ? {} : _e;
16177
+ rawVerbiage = _e === void 0 ? DEFAULT_VERBIAGE : _e,
16178
+ onPromptTextRendered = _a.onPromptTextRendered;
16175
16179
  var countdownTimeoutRef = React.useRef(undefined);
16176
16180
  var _f = React.useState(durationMs / 1000),
16177
16181
  countdownRemaining = _f[0],
16178
16182
  setCountdownRemaining = _f[1];
16179
- var verbiage = useTranslations(rawVerbiage, {
16180
- headingText: 'Please read the following text aloud',
16181
- promptText: '',
16182
- doneBtnText: 'Done'
16183
- });
16183
+ var promptTextRef = React.useRef(null);
16184
+ var verbiage = useTranslations(rawVerbiage, VERBIAGE_FALLBACKS);
16185
+ // Each time the rendered DOM contents changes for the prompt text,
16186
+ // notify the parent via callback so it can respond.
16187
+ // [NOTE]
16188
+ // This is a bit of a workaround for extracting the text of a react component.
16189
+ // Grabbing from the dom is not ideal but it works for now.
16190
+ // [TODO] Can this be pulled form the react tree instead?
16191
+ React.useEffect(function () {
16192
+ if (promptTextRef.current && onPromptTextRendered) {
16193
+ onPromptTextRendered(promptTextRef.current);
16194
+ }
16195
+ }, [onPromptTextRendered, verbiage.promptText]);
16184
16196
  var manualCountdown = React.useCallback(function (remainingTime) {
16185
16197
  if (remainingTime > 0) {
16186
16198
  var nextCycle_1 = remainingTime - 1;
@@ -16215,7 +16227,8 @@ var ReadTextPrompt = function ReadTextPrompt(_a) {
16215
16227
  }, /*#__PURE__*/React__namespace.default.createElement(ReadTextPromptHeading, {
16216
16228
  className: classNames.heading
16217
16229
  }, verbiage.headingText), /*#__PURE__*/React__namespace.default.createElement(ReadTextPromptText, {
16218
- className: classNames.prompt
16230
+ className: classNames.prompt,
16231
+ ref: promptTextRef
16219
16232
  }, verbiage.promptText), /*#__PURE__*/React__namespace.default.createElement(ReadTextPromptButtonsRow, {
16220
16233
  className: classNames.buttonsRow
16221
16234
  }, /*#__PURE__*/React__namespace.default.createElement(ReadTextPromptTimeRemaining, {
@@ -16261,8 +16274,101 @@ var ReadTextPromptTimeRemaining = styled__default.default.div(templateObject_5$1
16261
16274
  return ((_c = (_b = (_a = props.theme.idVideoCapture) === null || _a === void 0 ? void 0 : _a.readTextPrompt) === null || _b === void 0 ? void 0 : _b.timeRemaining) === null || _c === void 0 ? void 0 : _c.borderRadius) ? "border-radius: ".concat((_f = (_e = (_d = props.theme.idVideoCapture) === null || _d === void 0 ? void 0 : _d.readTextPrompt) === null || _e === void 0 ? void 0 : _e.timeRemaining) === null || _f === void 0 ? void 0 : _f.borderRadius, ";") : "";
16262
16275
  });
16263
16276
  var DoneButton = styled__default.default(LoaderButton)(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n margin: auto 0;\n"], ["\n margin: auto 0;\n"])));
16277
+ var ReadTextPromptWrapped = /*#__PURE__*/React.memo(ReadTextPrompt);
16264
16278
  var templateObject_1$6, templateObject_2$6, templateObject_3$5, templateObject_4$1, templateObject_5$1, templateObject_6;
16265
16279
 
16280
+ // Precompiled regexes for performance and clarity
16281
+ var RE_ESCAPE_N = /\\n/g;
16282
+ var RE_ESCAPE_T = /\\t/g;
16283
+ var RE_ESCAPE_R = /\\r/g;
16284
+ // Remove entire script/style blocks before anything else
16285
+ var RE_SCRIPT_BLOCK = /<script[\s\S]*?<\/script>/gi;
16286
+ var RE_STYLE_BLOCK = /<style[\s\S]*?<\/style>/gi;
16287
+ // Replace common block-level tags with spaces to preserve boundaries
16288
+ var RE_BLOCK_OPEN = /<(div|p|h[1-6]|li|ul|ol|blockquote|pre|section|article|header|footer|aside|nav|main|form|fieldset|table|tr|td|th|br)[^>]*>/gi;
16289
+ var RE_BLOCK_CLOSE = /<\/(div|p|h[1-6]|li|ul|ol|blockquote|pre|section|article|header|footer|aside|nav|main|form|fieldset|table|tr|td|th|br)>/gi;
16290
+ // Any remaining HTML tag
16291
+ var RE_ALL_TAGS = /<[^>]*>/g;
16292
+ // Numeric entities (be lenient on optional semicolon)
16293
+ var RE_NUM_DEC = /&#(\d+);?/g;
16294
+ var RE_NUM_HEX = /&#x([0-9a-f]+);?/gi;
16295
+ // Invisible/whitespace variants
16296
+ var RE_NBSP_CHAR = /\u00A0/g;
16297
+ var RE_ZERO_WIDTH = /[\u200B-\u200D\uFEFF]/g;
16298
+ // Named entities map; case-insensitive replacement will be applied
16299
+ var NAMED_ENTITIES = {
16300
+ nbsp: ' ',
16301
+ amp: '&',
16302
+ lt: '<',
16303
+ gt: '>',
16304
+ quot: '"',
16305
+ '#39': "'",
16306
+ // some encoders output &#39; but handle via numeric too
16307
+ apos: "'",
16308
+ cent: '¢',
16309
+ pound: '£',
16310
+ yen: '¥',
16311
+ euro: '€',
16312
+ copy: '©',
16313
+ reg: '®',
16314
+ mdash: '—',
16315
+ ndash: '–',
16316
+ hellip: '…',
16317
+ ldquo: '"',
16318
+ rdquo: '"',
16319
+ lsquo: "'",
16320
+ rsquo: "'"
16321
+ };
16322
+ function decodeNamedEntities(input) {
16323
+ return input.replace(/&([a-z#0-9]+);/gi, function (_, name) {
16324
+ var key = name.toLowerCase();
16325
+ if (Object.prototype.hasOwnProperty.call(NAMED_ENTITIES, key)) {
16326
+ return NAMED_ENTITIES[key];
16327
+ }
16328
+ return "&".concat(name, ";");
16329
+ });
16330
+ }
16331
+ function getRawTextFromHtml(str) {
16332
+ if (!str) return '';
16333
+ var s = str;
16334
+ // 1) Handle literal escape sequences (avoid confusing with HTML)
16335
+ s = s.replace(RE_ESCAPE_N, ' ').replace(RE_ESCAPE_T, ' ').replace(RE_ESCAPE_R, ' ');
16336
+ // 2) Remove script/style blocks entirely
16337
+ s = s.replace(RE_SCRIPT_BLOCK, ' ').replace(RE_STYLE_BLOCK, ' ');
16338
+ // 3) Replace block-level elements with spaces, then strip remaining tags
16339
+ s = s.replace(RE_BLOCK_OPEN, ' ').replace(RE_BLOCK_CLOSE, ' ');
16340
+ s = s.replace(RE_ALL_TAGS, '');
16341
+ // 4) Decode numeric entities using code points (handles >0xFFFF)
16342
+ s = s.replace(RE_NUM_DEC, function (_, dec) {
16343
+ var codePoint = parseInt(dec, 10);
16344
+ if (Number.isFinite(codePoint) && codePoint >= 0) {
16345
+ try {
16346
+ return String.fromCodePoint(codePoint);
16347
+ } catch (_a) {
16348
+ return '';
16349
+ }
16350
+ }
16351
+ return '';
16352
+ }).replace(RE_NUM_HEX, function (_, hex) {
16353
+ var codePoint = parseInt(hex, 16);
16354
+ if (Number.isFinite(codePoint) && codePoint >= 0) {
16355
+ try {
16356
+ return String.fromCodePoint(codePoint);
16357
+ } catch (_a) {
16358
+ return '';
16359
+ }
16360
+ }
16361
+ return '';
16362
+ });
16363
+ // 5) Decode common named entities (case-insensitive)
16364
+ s = decodeNamedEntities(s);
16365
+ // 6) Replace Unicode NBSP and remove zero-width characters
16366
+ s = s.replace(RE_NBSP_CHAR, ' ').replace(RE_ZERO_WIDTH, '');
16367
+ // 7) Normalize whitespace
16368
+ s = s.replace(/\s+/g, ' ').trim();
16369
+ return s;
16370
+ }
16371
+
16266
16372
  var edgeBoundary = 0.05;
16267
16373
  var defaultVideoIdCaptureThresholds = {
16268
16374
  detection: {
@@ -16493,18 +16599,22 @@ var IdVideoCapture = function IdVideoCapture(_a) {
16493
16599
  }, [goodFramesCount]);
16494
16600
  var delaySatisfied = !['SHOW_ID_FRONT', 'SHOW_PASSPORT'].includes(requestedAction) || idFrontCaptureStartedAt !== null && new Date().getTime() > idFrontCaptureStartedAt + idCardFrontDelay;
16495
16601
  var translatedText = useVerbiage(readTextPrompt, '');
16602
+ var handlePromptTextRendered = React.useCallback(function (element) {
16603
+ if (element) {
16604
+ var rawText = getRawTextFromHtml(element.innerHTML);
16605
+ setExpectedAudioText(rawText);
16606
+ }
16607
+ }, [setExpectedAudioText]);
16496
16608
  var onIdCaptureComplete = React.useCallback(function () {
16497
16609
  var _a;
16498
16610
  if (translatedText) {
16499
16611
  setRequestedAction('READ_TEXT');
16500
16612
  useVideoRecorderStore.getState().startRecordingAudio();
16501
16613
  setIdCaptureVideoAudioStartsAt(new Date().getTime() - ((_a = videoStartsAt === null || videoStartsAt === void 0 ? void 0 : videoStartsAt.getTime()) !== null && _a !== void 0 ? _a : 0));
16502
- var renderedTranslatedText = typeof translatedText === 'string' ? translatedText : server.renderToString(translatedText);
16503
- setExpectedAudioText(renderedTranslatedText);
16504
16614
  } else {
16505
16615
  useVideoRecorderStore.getState().stopRecordingVideo();
16506
16616
  }
16507
- }, [setExpectedAudioText, setIdCaptureVideoAudioStartsAt, translatedText, videoStartsAt]);
16617
+ }, [setIdCaptureVideoAudioStartsAt, translatedText, videoStartsAt]);
16508
16618
  var frameWidth = (_c = (_b = videoRef.current) === null || _b === void 0 ? void 0 : _b.videoWidth) !== null && _c !== void 0 ? _c : 0;
16509
16619
  var frameHeight = (_e = (_d = videoRef.current) === null || _d === void 0 ? void 0 : _d.videoHeight) !== null && _e !== void 0 ? _e : 0;
16510
16620
  var faceBox = face === null || face === void 0 ? void 0 : face.box;
@@ -16662,13 +16772,14 @@ var IdVideoCapture = function IdVideoCapture(_a) {
16662
16772
  className: classNames.container
16663
16773
  }, /*#__PURE__*/React__namespace.default.createElement(InvisibleCanvas, {
16664
16774
  ref: photoCanvas
16665
- }), requestedAction === 'READ_TEXT' ? ( /*#__PURE__*/React__namespace.default.createElement(ReadTextPrompt, {
16775
+ }), requestedAction === 'READ_TEXT' ? ( /*#__PURE__*/React__namespace.default.createElement(ReadTextPromptWrapped, {
16666
16776
  startedAt: timeoutStartedAt || undefined,
16667
16777
  durationMs: readTextTimeoutDurationMs,
16668
16778
  minReadingMs: readTextMinReadingMs,
16669
16779
  classNames: classNames.readTextPrompt,
16670
16780
  verbiage: readTextPromptVerbiage,
16671
- onComplete: stopRecording
16781
+ onComplete: stopRecording,
16782
+ onPromptTextRendered: handlePromptTextRendered
16672
16783
  })) : ( /*#__PURE__*/React__namespace.default.createElement(React__namespace.default.Fragment, null, /*#__PURE__*/React__namespace.default.createElement(IdVideoCaptureGuides, {
16673
16784
  classNames: classNames.guides,
16674
16785
  verbiage: rawVerbiage.guides,