idmission-web-sdk 1.0.32 → 1.0.35

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.
@@ -12,7 +12,6 @@ export type CameraState = {
12
12
  iphoneContinuityCameraAvailable: boolean;
13
13
  iphoneContinuityCameraAllowed: boolean;
14
14
  setIphoneContinuityCameraAllowed: (value: boolean) => void;
15
- grabFrame: () => Promise<ImageBitmap | null>;
16
15
  takePhoto: () => Promise<Blob | null>;
17
16
  };
18
17
  export declare const CameraStateContext: React.Context<CameraState>;
@@ -1,5 +1,4 @@
1
1
  /// <reference types="react" />
2
- /// <reference types="w3c-image-capture" />
3
2
  export type Camera = {
4
3
  stream: MediaStream;
5
4
  isRearFacing: boolean;
@@ -35,14 +34,13 @@ export declare const useHighestResCaptureDevice: ({ preferFrontFacingCamera, pre
35
34
  videoLoaded: boolean;
36
35
  setVideoLoaded: import("react").Dispatch<import("react").SetStateAction<boolean>>;
37
36
  cameraRef: import("react").MutableRefObject<Camera | null>;
37
+ cameraReady: boolean;
38
38
  cameraAccessDenied: boolean;
39
39
  retryCameraAccess: () => void;
40
40
  releaseCameraAccess: typeof releaseCameraAccess;
41
41
  iphoneContinuityCameraAvailable: boolean;
42
42
  iphoneContinuityCameraAllowed: boolean;
43
43
  setIphoneContinuityCameraAllowed: import("react").Dispatch<import("react").SetStateAction<boolean>>;
44
- captureDevice: ImageCapture | null;
45
- grabFrame: () => Promise<ImageBitmap | null>;
46
44
  takePhoto: () => Promise<Blob | null>;
47
45
  };
48
46
  export declare const useDualResCaptureDevice: () => {
@@ -50,13 +48,11 @@ export declare const useDualResCaptureDevice: () => {
50
48
  maxVideoRef: import("react").MutableRefObject<HTMLVideoElement | null>;
51
49
  minCamera: Camera | null;
52
50
  maxCamera: Camera | null;
51
+ maxCameraReady: boolean;
53
52
  minVideoLoaded: boolean;
54
53
  maxVideoLoaded: boolean;
55
54
  setMinVideoLoaded: import("react").Dispatch<import("react").SetStateAction<boolean>>;
56
55
  setMaxVideoLoaded: import("react").Dispatch<import("react").SetStateAction<boolean>>;
57
- minCaptureDevice: ImageCapture | null;
58
- maxCaptureDevice: ImageCapture | null;
59
- grabLowResFrame: () => Promise<ImageBitmap | undefined>;
60
56
  takeFullResPhoto: () => Promise<Blob | null>;
61
57
  };
62
58
  export {};
@@ -50,7 +50,7 @@ var tf__namespace = /*#__PURE__*/_interopNamespace(tf);
50
50
  var useResizeObserver__default = /*#__PURE__*/_interopDefaultLegacy(useResizeObserver);
51
51
  var SignatureCanvas__default = /*#__PURE__*/_interopDefaultLegacy(SignatureCanvas);
52
52
 
53
- var webSdkVersion = '1.0.32';
53
+ var webSdkVersion = '1.0.35';
54
54
 
55
55
  function getPlatform() {
56
56
  return window.platform;
@@ -1444,15 +1444,15 @@ var useHighestResCaptureDevice = function useHighestResCaptureDevice(_a) {
1444
1444
  requestMicrophoneAccess = _e === void 0 ? false : _e;
1445
1445
  var videoRef = React.useRef(null);
1446
1446
  var cameraRef = React.useRef(null);
1447
- var _f = React.useState(null),
1448
- videoDevice = _f[0],
1449
- setVideoDevice = _f[1];
1450
- var _g = React.useState(false),
1451
- videoLoaded = _g[0],
1452
- setVideoLoaded = _g[1];
1453
- var _h = React.useState(null),
1454
- captureDevice = _h[0],
1455
- setCaptureDevice = _h[1];
1447
+ var _f = React.useState(false),
1448
+ cameraReady = _f[0],
1449
+ setCameraReady = _f[1];
1450
+ var _g = React.useState(null),
1451
+ videoDevice = _g[0],
1452
+ setVideoDevice = _g[1];
1453
+ var _h = React.useState(false),
1454
+ videoLoaded = _h[0],
1455
+ setVideoLoaded = _h[1];
1456
1456
  var _j = React.useState(false),
1457
1457
  iphoneContinuityCameraAvailable = _j[0],
1458
1458
  setIphoneContinuityCameraAvailable = _j[1];
@@ -1476,6 +1476,7 @@ var useHighestResCaptureDevice = function useHighestResCaptureDevice(_a) {
1476
1476
  }, []);
1477
1477
  React.useEffect(function () {
1478
1478
  if (cameraAccessDenied) return;
1479
+ setCameraReady(false);
1479
1480
  listAvailableCameras().then(function (availableCameras) {
1480
1481
  var selectedCamera;
1481
1482
  var platform = getPlatform();
@@ -1592,7 +1593,6 @@ var useHighestResCaptureDevice = function useHighestResCaptureDevice(_a) {
1592
1593
  cameraRef.current = null;
1593
1594
  setIphoneContinuityCameraAvailable(false);
1594
1595
  setIphoneContinuityCameraDenied(true);
1595
- setCaptureDevice(null);
1596
1596
  setVideoDevice(null);
1597
1597
  } else {
1598
1598
  console.log('someone unplugged the webcam');
@@ -1600,7 +1600,6 @@ var useHighestResCaptureDevice = function useHighestResCaptureDevice(_a) {
1600
1600
  cameraRef.current = null;
1601
1601
  setVideoLoaded(false);
1602
1602
  setCameraAccessDenied(true);
1603
- setCaptureDevice(null);
1604
1603
  }
1605
1604
  };
1606
1605
  (_a = videoRef.current) === null || _a === void 0 ? void 0 : _a.addEventListener('ended', handleStreamEnded);
@@ -1608,6 +1607,7 @@ var useHighestResCaptureDevice = function useHighestResCaptureDevice(_a) {
1608
1607
  track.onended = handleStreamEnded;
1609
1608
  });
1610
1609
  cameraRef.current = obtainCameraAccess(stream, videoDevice.label, videoRef.current);
1610
+ setCameraReady(true);
1611
1611
  return [2];
1612
1612
  }
1613
1613
  });
@@ -1615,35 +1615,6 @@ var useHighestResCaptureDevice = function useHighestResCaptureDevice(_a) {
1615
1615
  })();
1616
1616
  return cleanup;
1617
1617
  }, [iphoneContinuityCameraAllowed, iphoneContinuityCameraAvailable, requestMicrophoneAccess, videoDevice]);
1618
- React.useEffect(function () {
1619
- setCaptureDevice(null);
1620
- if (!videoLoaded) return;
1621
- (function () {
1622
- return tslib.__awaiter(void 0, void 0, void 0, function () {
1623
- var videoDevice;
1624
- var _a, _b, _c;
1625
- return tslib.__generator(this, function (_d) {
1626
- videoDevice = ((_c = (_b = (_a = cameraRef.current) === null || _a === void 0 ? void 0 : _a.stream) === null || _b === void 0 ? void 0 : _b.getVideoTracks()) !== null && _c !== void 0 ? _c : [])[0];
1627
- if (!videoDevice) return [2];
1628
- setCaptureDevice(new ImageCapture(videoDevice));
1629
- return [2];
1630
- });
1631
- });
1632
- })();
1633
- }, [videoLoaded]);
1634
- var grabFrame = React.useCallback(function () {
1635
- return tslib.__awaiter(void 0, void 0, void 0, function () {
1636
- return tslib.__generator(this, function (_a) {
1637
- switch (_a.label) {
1638
- case 0:
1639
- if (!captureDevice) return [2, null];
1640
- return [4, captureDevice.grabFrame()];
1641
- case 1:
1642
- return [2, _a.sent()];
1643
- }
1644
- });
1645
- });
1646
- }, [captureDevice]);
1647
1618
  var takePhoto = React.useCallback(function () {
1648
1619
  return tslib.__awaiter(void 0, void 0, void 0, function () {
1649
1620
  var canvas, ctx, photoURL, data;
@@ -1674,14 +1645,13 @@ var useHighestResCaptureDevice = function useHighestResCaptureDevice(_a) {
1674
1645
  videoLoaded: videoLoaded,
1675
1646
  setVideoLoaded: setVideoLoaded,
1676
1647
  cameraRef: cameraRef,
1648
+ cameraReady: cameraReady,
1677
1649
  cameraAccessDenied: cameraAccessDenied,
1678
1650
  retryCameraAccess: retryCameraAccess,
1679
1651
  releaseCameraAccess: releaseCameraAccess,
1680
1652
  iphoneContinuityCameraAvailable: iphoneContinuityCameraAvailable,
1681
1653
  iphoneContinuityCameraAllowed: iphoneContinuityCameraAllowed,
1682
1654
  setIphoneContinuityCameraAllowed: setIphoneContinuityCameraAllowed,
1683
- captureDevice: captureDevice,
1684
- grabFrame: grabFrame,
1685
1655
  takePhoto: takePhoto
1686
1656
  };
1687
1657
  };
@@ -1707,9 +1677,6 @@ var CameraStateContext = /*#__PURE__*/React.createContext({
1707
1677
  setIphoneContinuityCameraAllowed: function setIphoneContinuityCameraAllowed() {
1708
1678
  return null;
1709
1679
  },
1710
- grabFrame: function grabFrame() {
1711
- return Promise.resolve(null);
1712
- },
1713
1680
  takePhoto: function takePhoto() {
1714
1681
  return Promise.resolve(null);
1715
1682
  },
@@ -1734,24 +1701,14 @@ var CameraProvider = function CameraProvider(_a) {
1734
1701
  videoLoaded = _e.videoLoaded,
1735
1702
  setVideoLoaded = _e.setVideoLoaded,
1736
1703
  cameraRef = _e.cameraRef,
1704
+ cameraReady = _e.cameraReady,
1737
1705
  cameraAccessDenied = _e.cameraAccessDenied,
1738
1706
  retryCameraAccess = _e.retryCameraAccess,
1739
1707
  releaseCameraAccess = _e.releaseCameraAccess,
1740
1708
  iphoneContinuityCameraAvailable = _e.iphoneContinuityCameraAvailable,
1741
1709
  iphoneContinuityCameraAllowed = _e.iphoneContinuityCameraAllowed,
1742
1710
  setIphoneContinuityCameraAllowed = _e.setIphoneContinuityCameraAllowed,
1743
- grabFrame = _e.grabFrame,
1744
- takePhoto = _e.takePhoto,
1745
- captureDevice = _e.captureDevice;
1746
- var _f = React.useState(false),
1747
- cameraReady = _f[0],
1748
- setCameraReady = _f[1];
1749
- React.useEffect(function () {
1750
- setCameraReady(false);
1751
- if (captureDevice) {
1752
- setCameraReady(true);
1753
- }
1754
- }, [captureDevice]);
1711
+ takePhoto = _e.takePhoto;
1755
1712
  React.useEffect(function () {
1756
1713
  return function () {
1757
1714
  releaseCameraAccess();
@@ -1769,7 +1726,6 @@ var CameraProvider = function CameraProvider(_a) {
1769
1726
  iphoneContinuityCameraAvailable: iphoneContinuityCameraAvailable,
1770
1727
  iphoneContinuityCameraAllowed: iphoneContinuityCameraAllowed,
1771
1728
  setIphoneContinuityCameraAllowed: setIphoneContinuityCameraAllowed,
1772
- grabFrame: grabFrame,
1773
1729
  takePhoto: takePhoto
1774
1730
  };
1775
1731
  return /*#__PURE__*/React__default['default'].createElement(CameraStateContext.Provider, {