vesant-sdk 1.7.1-dev.beb21ab → 1.7.1-dev.d2f7d80

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/react.js CHANGED
@@ -1020,9 +1020,17 @@ function releaseOperation(guard) {
1020
1020
  function retryTarget(hasHostedJourney) {
1021
1021
  return hasHostedJourney ? "journey" : "capture";
1022
1022
  }
1023
+ function modalMaxWidth(hasHostedJourney) {
1024
+ return hasHostedJourney ? 680 : 448;
1025
+ }
1026
+ function resultForModalClose(stageKind, result) {
1027
+ const terminal = stageKind === "accepted" || stageKind === "declined" || stageKind === "max_attempts";
1028
+ return terminal && result !== void 0 ? result : null;
1029
+ }
1023
1030
 
1024
1031
  // src/kyc/FaceCaptureModal.tsx
1025
1032
  var MOBILE_UA = /Mobi|Android|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i;
1033
+ var ACCEPTED_AUTO_CLOSE_MS = 1200;
1026
1034
  var LIVENESS_MESSAGES = [
1027
1035
  "Position your face inside the oval",
1028
1036
  "Make sure your face is well lit",
@@ -1319,12 +1327,22 @@ function FaceCaptureModal({
1319
1327
  }, 3e3);
1320
1328
  return () => clearInterval(interval);
1321
1329
  }, [captureMode]);
1322
- const close = (result) => {
1330
+ const close = React.useCallback((result) => {
1323
1331
  cancelledRef.current = true;
1324
1332
  if (result === null && onCancel) {
1325
1333
  onCancel();
1326
1334
  }
1327
1335
  onComplete(result);
1336
+ }, [onCancel, onComplete]);
1337
+ React.useEffect(() => {
1338
+ if (stage.kind !== "accepted") return;
1339
+ const result = stage.result;
1340
+ const timer = setTimeout(() => close(result), ACCEPTED_AUTO_CLOSE_MS);
1341
+ return () => clearTimeout(timer);
1342
+ }, [close, stage]);
1343
+ const handleHeaderClose = () => {
1344
+ const result = "result" in stage ? stage.result : void 0;
1345
+ close(resultForModalClose(stage.kind, result));
1328
1346
  };
1329
1347
  const renderChoose = () => /* @__PURE__ */ React__default.default.createElement("div", { style: contentStyle }, /* @__PURE__ */ React__default.default.createElement("div", { style: visualGuideContainerStyle }, /* @__PURE__ */ React__default.default.createElement("div", { style: visualGuideStyle }, /* @__PURE__ */ React__default.default.createElement("div", { style: circleStyle }, /* @__PURE__ */ React__default.default.createElement("img", { src: Camera, alt: "", width: 48, height: 48 })))), /* @__PURE__ */ React__default.default.createElement("p", { style: subtitleStyle }, "How would you like to verify?"), /* @__PURE__ */ React__default.default.createElement("div", { style: buttonsContainerStyle }, /* @__PURE__ */ React__default.default.createElement(
1330
1348
  "button",
@@ -1427,10 +1445,10 @@ function FaceCaptureModal({
1427
1445
  return renderError(stage.message);
1428
1446
  }
1429
1447
  })();
1430
- return /* @__PURE__ */ React__default.default.createElement(React__default.default.Fragment, null, /* @__PURE__ */ React__default.default.createElement("style", null, keyframes), /* @__PURE__ */ React__default.default.createElement("div", { style: overlayStyle }, /* @__PURE__ */ React__default.default.createElement("div", { style: modalStyle }, /* @__PURE__ */ React__default.default.createElement("div", { style: headerStyle }, /* @__PURE__ */ React__default.default.createElement(
1448
+ return /* @__PURE__ */ React__default.default.createElement(React__default.default.Fragment, null, /* @__PURE__ */ React__default.default.createElement("style", null, keyframes), /* @__PURE__ */ React__default.default.createElement("div", { style: overlayStyle }, /* @__PURE__ */ React__default.default.createElement("div", { style: { ...modalStyle, maxWidth: modalMaxWidth(journeyMode) } }, /* @__PURE__ */ React__default.default.createElement("div", { style: headerStyle }, /* @__PURE__ */ React__default.default.createElement(
1431
1449
  "button",
1432
1450
  {
1433
- onClick: () => close(null),
1451
+ onClick: handleHeaderClose,
1434
1452
  style: closeButtonStyle,
1435
1453
  "aria-label": "Close"
1436
1454
  },
@@ -1460,7 +1478,6 @@ var modalStyle = {
1460
1478
  borderRadius: 16,
1461
1479
  boxShadow: "0 25px 50px -12px rgba(0,0,0,.25)",
1462
1480
  width: "100%",
1463
- maxWidth: 448,
1464
1481
  maxHeight: "calc(100vh - 32px)",
1465
1482
  overflowY: "auto",
1466
1483
  animation: "zoomIn .2s ease-out"