@microblink/camera-manager 7.2.1 → 7.2.3

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.
Files changed (58) hide show
  1. package/dist/camera-manager.js +182 -48
  2. package/dist/camera-manager.js.map +1 -1
  3. package/package.json +1 -1
  4. package/types/core/Camera.d.ts +73 -0
  5. package/types/core/Camera.d.ts.map +1 -1
  6. package/types/core/CameraManager.d.ts +87 -7
  7. package/types/core/CameraManager.d.ts.map +1 -1
  8. package/types/core/VideoFrameProcessor.d.ts +28 -6
  9. package/types/core/VideoFrameProcessor.d.ts.map +1 -1
  10. package/types/core/cameraError.d.ts +22 -0
  11. package/types/core/cameraError.d.ts.map +1 -0
  12. package/types/core/cameraManagerStore.d.ts +10 -3
  13. package/types/core/cameraManagerStore.d.ts.map +1 -1
  14. package/types/core/cameraNames.d.ts +21 -5
  15. package/types/core/cameraNames.d.ts.map +1 -1
  16. package/types/core/cameraUtils.d.ts +34 -13
  17. package/types/core/cameraUtils.d.ts.map +1 -1
  18. package/types/core/iosCameraNames.d.ts +3 -0
  19. package/types/core/iosCameraNames.d.ts.map +1 -1
  20. package/types/core/utils.d.ts +18 -0
  21. package/types/core/utils.d.ts.map +1 -1
  22. package/types/index.d.ts +11 -1
  23. package/types/index.d.ts.map +1 -1
  24. package/types/index.rollup.d.ts +264 -21
  25. package/types/media-mock/MediaMocker.d.ts +67 -0
  26. package/types/media-mock/MediaMocker.d.ts.map +1 -1
  27. package/types/media-mock/createInputDeviceInfo.d.ts +9 -0
  28. package/types/media-mock/createInputDeviceInfo.d.ts.map +1 -1
  29. package/types/media-mock/defineProperty.d.ts +6 -3
  30. package/types/media-mock/defineProperty.d.ts.map +1 -1
  31. package/types/media-mock/fake-devices.d.ts +6 -0
  32. package/types/media-mock/fake-devices.d.ts.map +1 -1
  33. package/types/ui/CameraErrorModal.d.ts +3 -0
  34. package/types/ui/CameraErrorModal.d.ts.map +1 -1
  35. package/types/ui/CameraSelector.d.ts +3 -0
  36. package/types/ui/CameraSelector.d.ts.map +1 -1
  37. package/types/ui/CameraUiStoreContext.d.ts +14 -0
  38. package/types/ui/CameraUiStoreContext.d.ts.map +1 -1
  39. package/types/ui/CaptureScreen.d.ts +12 -0
  40. package/types/ui/CaptureScreen.d.ts.map +1 -1
  41. package/types/ui/Header.d.ts +3 -0
  42. package/types/ui/Header.d.ts.map +1 -1
  43. package/types/ui/LocalizationContext.d.ts +12 -0
  44. package/types/ui/LocalizationContext.d.ts.map +1 -1
  45. package/types/ui/RootComponent.d.ts +3 -0
  46. package/types/ui/RootComponent.d.ts.map +1 -1
  47. package/types/ui/SolidShadowRoot.d.ts +16 -3
  48. package/types/ui/SolidShadowRoot.d.ts.map +1 -1
  49. package/types/ui/createCameraManagerUi.d.ts +33 -3
  50. package/types/ui/createCameraManagerUi.d.ts.map +1 -1
  51. package/types/ui/determineFitMode.d.ts +7 -6
  52. package/types/ui/determineFitMode.d.ts.map +1 -1
  53. package/types/ui/getVisibleVideoArea.d.ts +7 -1
  54. package/types/ui/getVisibleVideoArea.d.ts.map +1 -1
  55. package/types/ui/locales/en.d.ts +3 -0
  56. package/types/ui/locales/en.d.ts.map +1 -1
  57. package/types/ui/zustandRefStore.d.ts +12 -0
  58. package/types/ui/zustandRefStore.d.ts.map +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@microblink/camera-manager",
3
- "version": "7.2.1",
3
+ "version": "7.2.3",
4
4
  "author": "Microblink",
5
5
  "type": "module",
6
6
  "main": "./dist/camera-manager.js",
@@ -4,6 +4,9 @@
4
4
  export type FacingMode = "front" | "back" | undefined;
5
5
  /**
6
6
  * Available video resolutions for the camera stream.
7
+ *
8
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackConstraints/width for width details.
9
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackConstraints/height for height details.
7
10
  */
8
11
  export declare const videoResolutions: {
9
12
  readonly "720p": {
@@ -19,20 +22,61 @@ export declare const videoResolutions: {
19
22
  readonly height: 2160;
20
23
  };
21
24
  };
25
+ /**
26
+ * Represents a video resolution.
27
+ *
28
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackConstraints/width for width details.
29
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackConstraints/height for height details.
30
+ */
22
31
  export type Resolution = {
23
32
  width: number;
24
33
  height: number;
25
34
  };
35
+ /**
36
+ * Represents a video resolution name.
37
+ *
38
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackConstraints/width for width details.
39
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackConstraints/height for height details.
40
+ */
26
41
  export type VideoResolutionName = keyof typeof videoResolutions;
42
+ /**
43
+ * Returns the longer side of a resolution.
44
+ *
45
+ * @param resolution - The resolution to get the longer side of.
46
+ * @returns The longer side of the resolution.
47
+ */
27
48
  export declare function returnLongerSide(resolution: Resolution): number;
49
+ /**
50
+ * Normalizes a resolution to the longer side.
51
+ *
52
+ * @param resolution - The resolution to normalize.
53
+ * @returns The normalized resolution.
54
+ */
28
55
  export declare function getNormalizedResolution(resolution: Resolution): Resolution;
56
+ /**
57
+ * Matches the closest resolution to the given resolution.
58
+ *
59
+ * @param resolution - The resolution to match.
60
+ * @returns The closest resolution.
61
+ */
29
62
  export declare function matchClosestResolution(resolution: Resolution): VideoResolutionName;
63
+ /**
64
+ * Finds the closest resolution key to the given resolution.
65
+ *
66
+ * @param videoTrackResolution - The resolution to find the closest key for.
67
+ * @returns The closest resolution key.
68
+ */
30
69
  export declare function findResolutionKey(videoTrackResolution: Resolution): VideoResolutionName;
31
70
  /**
32
71
  * Represents a camera device and its active stream.
72
+ *
73
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack/getCapabilities for more details.
33
74
  */
34
75
  export declare class Camera {
35
76
  #private;
77
+ /**
78
+ * The device info.
79
+ */
36
80
  deviceInfo: InputDeviceInfo;
37
81
  /**
38
82
  * Stream capabilities as reported by the stream.
@@ -56,19 +100,48 @@ export declare class Camera {
56
100
  original: this;
57
101
  notify: (reason?: unknown) => void;
58
102
  notifyStateChange?: (camera: Camera, reason?: unknown) => void;
103
+ /**
104
+ * Creates a new Camera instance.
105
+ *
106
+ * @param deviceInfo - The device info.
107
+ */
59
108
  constructor(deviceInfo: InputDeviceInfo);
109
+ /**
110
+ * Starts a stream with the specified resolution.
111
+ *
112
+ * @param resolution - The resolution to start the stream with.
113
+ * @returns The stream.
114
+ */
60
115
  startStream(resolution: VideoResolutionName): Promise<MediaStream>;
61
116
  /**
62
117
  * Acquires a camera stream with the specified resolution.
63
118
  * If acquisition fails, it tries a lower resolution as fallback.
119
+ *
120
+ * @param resolution - The resolution to acquire the stream with.
121
+ * @returns The stream.
64
122
  */
65
123
  private acquireStreamWithFallback;
66
124
  /**
67
125
  * Populates the camera instance with capabilities from the stream.
126
+ *
127
+ * @param stream - The stream to populate the capabilities from.
68
128
  */
69
129
  private populateCapabilities;
130
+ /**
131
+ * Toggles the torch on the camera.
132
+ *
133
+ * @returns The torch status.
134
+ */
70
135
  toggleTorch(): Promise<boolean>;
136
+ /**
137
+ * Stops the stream on the camera.
138
+ */
71
139
  stopStream(): void;
140
+ /**
141
+ * Gets the video track on the camera.
142
+ *
143
+ * @returns The video track.
144
+ */
72
145
  getVideoTrack(): MediaStreamTrack | undefined;
73
146
  }
74
147
  //# sourceMappingURL=Camera.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Camera.d.ts","sourceRoot":"","sources":["../../src/core/Camera.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;CAIkB,CAAC;AAEhD,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,MAAM,OAAO,gBAAgB,CAAC;AAEhE,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAE/D;AAED,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU,CAiB1E;AAED,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,UAAU,GACrB,mBAAmB,CASrB;AAED,wBAAgB,iBAAiB,CAC/B,oBAAoB,EAAE,UAAU,GAC/B,mBAAmB,CA0BrB;AAED;;GAEG;AACH,qBAAa,MAAM;;IACjB,UAAU,EAAE,eAAe,CAAC;IAC5B;;;;;;;OAOG;IACH,kBAAkB,CAAC,EAAE,UAAU,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACrE,YAAY,EAAE,WAAW,GAAG,SAAS,CAAC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,UAAU,CAAC;IACvB,cAAc,UAAS;IACvB,YAAY,UAAS;IACrB,mBAAmB,UAAS;IAC5B,sBAAsB,CAAC,EAAE,mBAAmB,CAAC;IAE7C;;OAEG;IACH,QAAQ,OAAQ;IAEhB,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;gBAanD,UAAU,EAAE,eAAe;IAmDjC,WAAW,CAAC,UAAU,EAAE,mBAAmB,GAAG,OAAO,CAAC,WAAW,CAAC;IA6BxE;;;OAGG;YACW,yBAAyB;IAoCvC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA+DtB,WAAW;IA+BjB,UAAU;IAUV,aAAa;CAQd"}
1
+ {"version":3,"file":"Camera.d.ts","sourceRoot":"","sources":["../../src/core/Camera.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;AAEtD;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;CAIkB,CAAC;AAEhD;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,OAAO,gBAAgB,CAAC;AAEhE;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAE/D;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU,CAiB1E;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,UAAU,GACrB,mBAAmB,CASrB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,oBAAoB,EAAE,UAAU,GAC/B,mBAAmB,CA0BrB;AAED;;;;GAIG;AACH,qBAAa,MAAM;;IACjB;;OAEG;IACH,UAAU,EAAE,eAAe,CAAC;IAE5B;;;;;;;OAOG;IACH,kBAAkB,CAAC,EAAE,UAAU,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACrE,YAAY,EAAE,WAAW,GAAG,SAAS,CAAC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,UAAU,CAAC;IACvB,cAAc,UAAS;IACvB,YAAY,UAAS;IACrB,mBAAmB,UAAS;IAC5B,sBAAsB,CAAC,EAAE,mBAAmB,CAAC;IAE7C;;OAEG;IACH,QAAQ,OAAQ;IAEhB,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAa/D;;;;OAIG;gBACS,UAAU,EAAE,eAAe;IAmDvC;;;;;OAKG;IACG,WAAW,CAAC,UAAU,EAAE,mBAAmB,GAAG,OAAO,CAAC,WAAW,CAAC;IA6BxE;;;;;;OAMG;YACW,yBAAyB;IAoCvC;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IA+D5B;;;;OAIG;IACG,WAAW;IA+BjB;;OAEG;IACH,UAAU;IAUV;;;;OAIG;IACH,aAAa;CAQd"}
@@ -5,8 +5,26 @@ import { Camera, FacingMode, VideoResolutionName } from "./Camera";
5
5
  import { cameraManagerStore as store } from "./cameraManagerStore";
6
6
  import { Promisable } from "type-fest";
7
7
  import { ExtractionArea, VideoFrameProcessorInitOptions } from "./VideoFrameProcessor";
8
+ /**
9
+ * A callback that will be triggered on each frame when the playback state is
10
+ * "capturing".
11
+ *
12
+ * @param frame - The frame to capture.
13
+ * @returns The frame.
14
+ */
8
15
  export type FrameCaptureCallback = (frame: ImageData) => Promisable<ArrayBufferLike | void>;
16
+ /**
17
+ * A camera getter.
18
+ *
19
+ * @param cameras - The cameras to get.
20
+ * @returns The camera.
21
+ */
9
22
  type CameraGetter = (cameras: Camera[]) => Camera | undefined;
23
+ /**
24
+ * A camera preference.
25
+ *
26
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackConstraints/facingMode for facing mode details.
27
+ */
10
28
  export type CameraPreference = {
11
29
  preferredCamera: Camera | undefined;
12
30
  preferredFacing?: undefined;
@@ -20,61 +38,112 @@ export type CameraPreference = {
20
38
  preferredCamera?: undefined;
21
39
  preferredFacing?: undefined;
22
40
  };
41
+ /**
42
+ * Options for starting a camera stream.
43
+ *
44
+ * @param autoplay - If true, the camera stream will be started automatically.
45
+ * @param preferredCamera - The camera to start the stream with.
46
+ * @param preferredFacing - The facing mode to start the stream with.
47
+ */
23
48
  export type StartCameraStreamOptions = {
24
49
  autoplay?: boolean;
25
50
  } & CameraPreference;
51
+ /**
52
+ * Options for the CameraManager.
53
+ *
54
+ * @param mirrorFrontCameras - If true, front-facing cameras will be mirrored horizontally when started.
55
+ */
26
56
  export type CameraManagerOptions = {
27
57
  /** If true, the camera stream will be mirrored horizontally when started. */
28
58
  mirrorFrontCameras: boolean;
29
59
  };
60
+ /**
61
+ * Default options for the CameraManager.
62
+ */
30
63
  export declare const defaultCameraManagerOptions: CameraManagerOptions;
64
+ /**
65
+ * The CameraManager class.
66
+ *
67
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack/getCapabilities for more details.
68
+ */
31
69
  export declare class CameraManager {
32
70
  #private;
71
+ /**
72
+ * If true, the user has initiated an abort. This will prevent the
73
+ * CameraManager from throwing errors when the user interrupts the process.
74
+ */
33
75
  get userInitiatedAbort(): boolean;
34
76
  set userInitiatedAbort(value: boolean);
35
77
  /**
36
78
  * Sets the area of the video frame that will be extracted.
79
+ *
37
80
  * @param extractionArea The area of the video frame that will be extracted.
38
81
  */
39
82
  setExtractionArea(extractionArea: ExtractionArea): void;
83
+ /**
84
+ * Creates a new CameraManager instance.
85
+ *
86
+ * @param options - The options for the CameraManager.
87
+ * @param videoFrameProcessorOptions - The options for the VideoFrameProcessor.
88
+ */
40
89
  constructor(options?: Partial<CameraManagerOptions>, videoFrameProcessorOptions?: VideoFrameProcessorInitOptions);
41
90
  /**
42
- * Sets the resolution of the camera stream
91
+ * Sets the resolution of the camera stream.
92
+ *
93
+ * @param resolution - The resolution to set.
43
94
  */
44
95
  setResolution: (resolution: VideoResolutionName) => Promise<void>;
96
+ /**
97
+ * The resolution of the camera stream.
98
+ */
45
99
  get resolution(): "720p" | "1080p" | "4k";
46
100
  /**
47
101
  * True if there is a video playing or capturing
48
- * TODO: see if we can simplify this, by observing the video playback state
102
+ *
103
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/MediaSession/playbackState for more details.
49
104
  */
50
105
  get isActive(): boolean;
106
+ /**
107
+ * Sets the facing filter.
108
+ *
109
+ * @param facingFilter - The facing filter.
110
+ */
51
111
  setFacingFilter(facingFilter: FacingMode[]): void;
52
112
  /**
53
113
  * Returns the cameras that are available to the user, filtered by the facing mode.
54
114
  * If no facing mode is set, all cameras are returned.
115
+ *
116
+ * @returns The cameras that are available to the user, filtered by the facing mode.
55
117
  */
56
118
  getCameraDevices(): Promise<Camera[]>;
57
119
  /**
58
120
  * Initializes the CameraManager with a video element.
121
+ *
122
+ * @param videoElement - The video element to initialize.
59
123
  */
60
124
  initVideoElement(videoElement: HTMLVideoElement): void;
61
125
  /**
62
126
  * Adds a callback that will be triggered on each frame when the playback state
63
127
  * is "capturing".
64
128
  *
65
- * @param frameCaptureCallback
129
+ * @param frameCaptureCallback - The callback to add.
66
130
  * @returns a cleanup function to remove the callback
67
131
  */
68
132
  addFrameCaptureCallback(frameCaptureCallback: FrameCaptureCallback): () => boolean;
133
+ /**
134
+ * Cleans up the video element, and stops the stream.
135
+ */
69
136
  releaseVideoElement(): void;
70
137
  /**
71
138
  * Select a camera device from available ones.
72
139
  *
73
- * TODO: might become a private method in the future as an implementation detail of `startStream`
140
+ * @param camera - The camera to select.
74
141
  */
75
142
  selectCamera(camera: Camera): Promise<void>;
76
143
  /**
77
144
  * Refreshes available devices on the system and updates the state.
145
+ *
146
+ * @returns resolves when the camera devices are refreshed
78
147
  */
79
148
  refreshCameraDevices(): Promise<void>;
80
149
  /**
@@ -85,15 +154,20 @@ export declare class CameraManager {
85
154
  startPlayback(): Promise<void>;
86
155
  /**
87
156
  * Starts capturing frames from the video element.
157
+ *
158
+ * @returns resolves when frame capture starts
88
159
  */
89
160
  startFrameCapture: () => Promise<void>;
90
161
  /**
91
162
  * Starts a best-effort camera stream. Will pick a camera automatically if
92
163
  * none is selected.
164
+ *
165
+ * @param params - The parameters for the camera stream.
166
+ * @returns resolves when the camera stream starts
93
167
  */
94
168
  startCameraStream(params?: StartCameraStreamOptions): Promise<void>;
95
169
  /**
96
- * Pauses capturing frames without pausing playback.
170
+ * Pauses capturing frames, without stopping playback.
97
171
  */
98
172
  stopFrameCapture(): void;
99
173
  /**
@@ -106,20 +180,26 @@ export declare class CameraManager {
106
180
  pausePlayback(): void;
107
181
  /**
108
182
  * If true, the video and captured frames will be mirrored horizontally.
183
+ *
184
+ * @param mirrorX - If true, the video and captured frames will be mirrored horizontally.
109
185
  */
110
186
  setCameraMirrorX(mirrorX: boolean): void;
111
187
  /**
112
188
  * Allows the user to subscribe to state changes inside the Camera Manager.
113
189
  * Implemented using Zustand. For usage information, see
114
- * {@link https://github.com/pmndrs/zustand#using-subscribe-with-selector}
190
+ * @see https://github.com/pmndrs/zustand#using-subscribe-with-selector for more details.
191
+ *
192
+ * @returns a cleanup function to remove the subscription
115
193
  */
116
194
  subscribe: typeof store.subscribe;
117
195
  /**
118
196
  * Gets the current internal state of the CameraManager.
197
+ *
198
+ * @returns the current state of the CameraManager
119
199
  */
120
200
  getState: typeof store.getState;
121
201
  /**
122
- * Resets the CameraManager and stop all streams
202
+ * Resets the CameraManager and stops all streams.
123
203
  */
124
204
  reset(): void;
125
205
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CameraManager.d.ts","sourceRoot":"","sources":["../../src/core/CameraManager.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAQnE,OAAO,EAGL,kBAAkB,IAAI,KAAK,EAC5B,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,EACL,cAAc,EAGd,8BAA8B,EAC/B,MAAM,uBAAuB,CAAC;AAE/B,MAAM,MAAM,oBAAoB,GAAG,CACjC,KAAK,EAAE,SAAS,KACb,UAAU,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;AAExC,KAAK,YAAY,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,MAAM,GAAG,SAAS,CAAC;AAE9D,MAAM,MAAM,gBAAgB,GACxB;IAEE,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,eAAe,CAAC,EAAE,SAAS,CAAC;CAC7B,GACD;IAEE,eAAe,EAAE,YAAY,GAAG,SAAS,CAAC;IAC1C,eAAe,CAAC,EAAE,SAAS,CAAC;CAC7B,GACD;IAEE,eAAe,EAAE,UAAU,CAAC;IAC5B,eAAe,CAAC,EAAE,SAAS,CAAC;CAC7B,GACD;IAEE,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,eAAe,CAAC,EAAE,SAAS,CAAC;CAC7B,CAAC;AAEN,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GAAG,gBAAgB,CAAC;AAErB,MAAM,MAAM,oBAAoB,GAAG;IACjC,6EAA6E;IAC7E,kBAAkB,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,oBAEhC,CAAC;AAEX,qBAAa,aAAa;;IAmBxB,IAAI,kBAAkB,IAIQ,OAAO,CAFpC;IAED,IAAI,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAEpC;IAED;;;OAGG;IACH,iBAAiB,CAAC,cAAc,EAAE,cAAc;gBAW9C,OAAO,GAAE,OAAO,CAAC,oBAAoB,CAAM,EAC3C,0BAA0B,CAAC,EAAE,8BAA8B;IAa7D;;OAEG;IACH,aAAa,GAAU,YAAY,mBAAmB,mBAUpD;IAEF,IAAI,UAAU,4BAEb;IAED;;;OAGG;IACH,IAAI,QAAQ,YAEX;IAED,eAAe,CAAC,YAAY,EAAE,UAAU,EAAE;IAM1C;;;OAGG;IACG,gBAAgB;IAsHtB;;OAEG;IACH,gBAAgB,CAAC,YAAY,EAAE,gBAAgB;IAY/C;;;;;;OAMG;IACH,uBAAuB,CAAC,oBAAoB,EAAE,oBAAoB;IAKlE,mBAAmB;IAQnB;;;;OAIG;IACG,YAAY,CAAC,MAAM,EAAE,MAAM;IA0DjC;;OAEG;IACG,oBAAoB;IAuE1B;;;;OAIG;IACG,aAAa;IAqFnB;;OAEG;IACH,iBAAiB,sBAUf;IA4GF;;;OAGG;IACG,iBAAiB,CAAC,MAAM,GAAE,wBAA6B;IAqB7D;;OAEG;IACH,gBAAgB;IAMhB;;OAEG;IACH,UAAU;IAYV;;OAEG;IACH,aAAa;IAmIb;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,OAAO;IAyBjC;;;;OAIG;IACH,SAAS,EAAE,OAAO,KAAK,CAAC,SAAS,CAAmB;IAEpD;;OAEG;IACH,QAAQ,EAAE,OAAO,KAAK,CAAC,QAAQ,CAAkB;IAEjD;;OAEG;IACH,KAAK;CAMN"}
1
+ {"version":3,"file":"CameraManager.d.ts","sourceRoot":"","sources":["../../src/core/CameraManager.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAQnE,OAAO,EAGL,kBAAkB,IAAI,KAAK,EAC5B,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,EACL,cAAc,EAGd,8BAA8B,EAC/B,MAAM,uBAAuB,CAAC;AAE/B;;;;;;GAMG;AACH,MAAM,MAAM,oBAAoB,GAAG,CACjC,KAAK,EAAE,SAAS,KACb,UAAU,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;AAExC;;;;;GAKG;AACH,KAAK,YAAY,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,MAAM,GAAG,SAAS,CAAC;AAE9D;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GACxB;IAEE,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,eAAe,CAAC,EAAE,SAAS,CAAC;CAC7B,GACD;IAEE,eAAe,EAAE,YAAY,GAAG,SAAS,CAAC;IAC1C,eAAe,CAAC,EAAE,SAAS,CAAC;CAC7B,GACD;IAEE,eAAe,EAAE,UAAU,CAAC;IAC5B,eAAe,CAAC,EAAE,SAAS,CAAC;CAC7B,GACD;IAEE,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,eAAe,CAAC,EAAE,SAAS,CAAC;CAC7B,CAAC;AAEN;;;;;;GAMG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GAAG,gBAAgB,CAAC;AAErB;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,6EAA6E;IAC7E,kBAAkB,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,2BAA2B,EAAE,oBAEhC,CAAC;AAEX;;;;GAIG;AACH,qBAAa,aAAa;;IAmBxB;;;OAGG;IACH,IAAI,kBAAkB,IAIQ,OAAO,CAFpC;IAED,IAAI,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAEpC;IAED;;;;OAIG;IACH,iBAAiB,CAAC,cAAc,EAAE,cAAc;IAUhD;;;;;OAKG;gBAED,OAAO,GAAE,OAAO,CAAC,oBAAoB,CAAM,EAC3C,0BAA0B,CAAC,EAAE,8BAA8B;IAa7D;;;;OAIG;IACH,aAAa,GAAU,YAAY,mBAAmB,mBAUpD;IAEF;;OAEG;IACH,IAAI,UAAU,4BAEb;IAED;;;;OAIG;IACH,IAAI,QAAQ,YAGX;IAED;;;;OAIG;IACH,eAAe,CAAC,YAAY,EAAE,UAAU,EAAE;IAM1C;;;;;OAKG;IACG,gBAAgB;IAwHtB;;;;OAIG;IACH,gBAAgB,CAAC,YAAY,EAAE,gBAAgB;IAY/C;;;;;;OAMG;IACH,uBAAuB,CAAC,oBAAoB,EAAE,oBAAoB;IAKlE;;OAEG;IACH,mBAAmB;IASnB;;;;OAIG;IACG,YAAY,CAAC,MAAM,EAAE,MAAM;IA0DjC;;;;OAIG;IACG,oBAAoB;IAuE1B;;;;OAIG;IACG,aAAa;IAuFnB;;;;OAIG;IACH,iBAAiB,sBAUf;IAkHF;;;;;;OAMG;IACG,iBAAiB,CAAC,MAAM,GAAE,wBAA6B;IA0B7D;;OAEG;IACH,gBAAgB;IAMhB;;OAEG;IACH,UAAU;IAYV;;OAEG;IACH,aAAa;IAmIb;;;;OAIG;IACH,gBAAgB,CAAC,OAAO,EAAE,OAAO;IAyBjC;;;;;;OAMG;IACH,SAAS,EAAE,OAAO,KAAK,CAAC,SAAS,CAAmB;IAEpD;;;;OAIG;IACH,QAAQ,EAAE,OAAO,KAAK,CAAC,QAAQ,CAAkB;IAEjD;;OAEG;IACH,KAAK;CAMN"}
@@ -3,6 +3,9 @@
3
3
  */
4
4
  export type CanvasRenderingMode = "2d" | "webgl2";
5
5
  export type ImageSource = HTMLVideoElement | HTMLCanvasElement | ImageBitmap;
6
+ /**
7
+ * Options for the VideoFrameProcessor.
8
+ */
6
9
  export type VideoFrameProcessorInitOptions = {
7
10
  canvasRenderingMode?: CanvasRenderingMode;
8
11
  fallbackWebGlTo2d?: boolean;
@@ -13,6 +16,9 @@ export type VideoFrameProcessorInitOptions = {
13
16
  * @returns true if the buffer is detached, false otherwise
14
17
  */
15
18
  export declare function isBufferDetached(buffer: ArrayBuffer): boolean;
19
+ /**
20
+ * The extraction area.
21
+ */
16
22
  export type ExtractionArea = {
17
23
  x: number;
18
24
  y: number;
@@ -24,36 +30,52 @@ export type ExtractionArea = {
24
30
  */
25
31
  export declare class VideoFrameProcessor {
26
32
  #private;
33
+ /**
34
+ * Creates a new VideoFrameProcessor.
35
+ *
36
+ * @param options - The options for the VideoFrameProcessor.
37
+ */
27
38
  constructor(options?: VideoFrameProcessorInitOptions);
28
39
  /**
29
- * Returns ownership of an ArrayBuffer to the processor for reuse
30
- * This should only be called with ArrayBuffers that were originally from this processor
31
- * Typically used after transferring the buffer to/from a worker
40
+ * Returns ownership of an ArrayBuffer to the processor for reuse.
41
+ *
42
+ * This should only be called with ArrayBuffers that were originally from this processor.
43
+ * Typically used after transferring the buffer to/from a worker.
44
+ *
45
+ * @param arrayBuffer - The array buffer to reattach.
32
46
  */
33
47
  reattachArrayBuffer(arrayBuffer: ArrayBufferLike): void;
34
48
  /**
35
- * Used to check if the processor owns the buffer
49
+ * Used to check if the processor owns the buffer.
50
+ *
51
+ * @returns true if the processor owns the buffer, false otherwise.
36
52
  */
37
53
  isBufferDetached(): boolean;
38
54
  /**
39
- * Extracts image data from a source element
55
+ * Extracts image data from a source element.
56
+ *
57
+ * @param source - The source element to extract image data from.
58
+ * @param area - The extraction area.
59
+ * @returns The image data.
40
60
  */
41
61
  getImageData(source: ImageSource, area?: ExtractionArea): ImageData;
42
62
  /**
43
63
  * Used to get the current ImageData object with the current buffer. Useful
44
64
  * when you need to get the same `ImageData` object multiple times after the
45
65
  * original `ImageData` buffer has been detached
66
+ *
46
67
  * @returns ImageData object with the current buffer
47
68
  */
48
69
  getCurrentImageData(): ImageData;
49
70
  /**
50
- * Clean up resources
71
+ * Clean up resources.
51
72
  */
52
73
  dispose(): void;
53
74
  }
54
75
  /**
55
76
  * Converts a view to a buffer, since both match the type signature of
56
77
  * `ArrayBufferLike`.
78
+ *
57
79
  * @param buffer - The buffer or view to convert
58
80
  * @returns The actual underlying buffer
59
81
  */
@@ -1 +1 @@
1
- {"version":3,"file":"VideoFrameProcessor.d.ts","sourceRoot":"","sources":["../../src/core/VideoFrameProcessor.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,mBAAmB,GAAG,IAAI,GAAG,QAAQ,CAAC;AAClD,MAAM,MAAM,WAAW,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,WAAW,CAAC;AAE7E,MAAM,MAAM,8BAA8B,GAAG;IAC3C,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAe7D;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;GAEG;AACH,qBAAa,mBAAmB;;gBAYlB,OAAO,GAAE,8BAAmC;IAyFxD;;;;OAIG;IACH,mBAAmB,CAAC,WAAW,EAAE,eAAe,GAAG,IAAI;IAoBvD;;OAEG;IACH,gBAAgB,IAAI,OAAO;IAO3B;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,SAAS;IAMnE;;;;;OAKG;IACH,mBAAmB,IAAI,SAAS;IA0HhC;;OAEG;IACH,OAAO,IAAI,IAAI;CAehB;AACD;;;;;GAKG;AAEH,eAAO,MAAM,SAAS,GAAI,QAAQ,eAAe,oBAOhD,CAAC"}
1
+ {"version":3,"file":"VideoFrameProcessor.d.ts","sourceRoot":"","sources":["../../src/core/VideoFrameProcessor.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,mBAAmB,GAAG,IAAI,GAAG,QAAQ,CAAC;AAClD,MAAM,MAAM,WAAW,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,WAAW,CAAC;AAE7E;;GAEG;AACH,MAAM,MAAM,8BAA8B,GAAG;IAC3C,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAe7D;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;GAEG;AACH,qBAAa,mBAAmB;;IAY9B;;;;OAIG;gBACS,OAAO,GAAE,8BAAmC;IAyFxD;;;;;;;OAOG;IACH,mBAAmB,CAAC,WAAW,EAAE,eAAe,GAAG,IAAI;IAoBvD;;;;OAIG;IACH,gBAAgB,IAAI,OAAO;IAO3B;;;;;;OAMG;IACH,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,SAAS;IAMnE;;;;;;OAMG;IACH,mBAAmB,IAAI,SAAS;IAqIhC;;OAEG;IACH,OAAO,IAAI,IAAI;CAehB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,GAAI,QAAQ,eAAe,oBAOhD,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Copyright (c) 2025 Microblink Ltd. All rights reserved.
3
+ */
4
+ /**
5
+ * A camera error code.
6
+ */
7
+ export type CameraErrorCode = "PERMISSION_DENIED" | (string & {});
8
+ /**
9
+ * A camera error.
10
+ */
11
+ export declare class CameraError extends Error {
12
+ code: CameraErrorCode;
13
+ /**
14
+ * Creates a new camera error.
15
+ *
16
+ * @param message - The error message.
17
+ * @param code - The error code.
18
+ * @param cause - The cause of the error.
19
+ */
20
+ constructor(message: string, code: CameraErrorCode, cause?: Error);
21
+ }
22
+ //# sourceMappingURL=cameraError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cameraError.d.ts","sourceRoot":"","sources":["../../src/core/cameraError.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AAEH,MAAM,MAAM,eAAe,GAAG,mBAAmB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAElE;;GAEG;AACH,qBAAa,WAAY,SAAQ,KAAK;IACpC,IAAI,EAAE,eAAe,CAAC;IAEtB;;;;;;OAMG;gBACS,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,CAAC,EAAE,KAAK;CAKlE"}
@@ -2,8 +2,14 @@
2
2
  * Copyright (c) 2025 Microblink Ltd. All rights reserved.
3
3
  */
4
4
  import { Camera, FacingMode } from "./Camera";
5
- import { CameraError } from "./cameraUtils";
5
+ import { CameraError } from "./cameraError";
6
+ /**
7
+ * The playback state of the camera manager.
8
+ */
6
9
  export type PlaybackState = "idle" | "playback" | "capturing";
10
+ /**
11
+ * The camera manager store.
12
+ */
7
13
  export type CameraManagerStore = {
8
14
  /**
9
15
  * The video element that will display the camera stream.
@@ -23,7 +29,7 @@ export type CameraManagerStore = {
23
29
  */
24
30
  selectedCamera?: Camera;
25
31
  /**
26
- * Capturing / playing / idle
32
+ * Capturing / playing / idle.
27
33
  */
28
34
  playbackState: PlaybackState;
29
35
  /**
@@ -53,7 +59,7 @@ export type CameraManagerStore = {
53
59
  *
54
60
  * Prefer using subscriptions if you require observable state.
55
61
  *
56
- * {@link https://github.com/pmndrs/zustand}
62
+ * @see https://github.com/pmndrs/zustand for more details.
57
63
  */
58
64
  export declare const cameraManagerStore: Omit<import("zustand/vanilla").StoreApi<CameraManagerStore>, "subscribe"> & {
59
65
  subscribe: {
@@ -66,6 +72,7 @@ export declare const cameraManagerStore: Omit<import("zustand/vanilla").StoreApi
66
72
  };
67
73
  /**
68
74
  * Resets the store to its initial state.
75
+ *
69
76
  * Stops all camera streams as a side effect.
70
77
  */
71
78
  export declare const resetCameraManagerStore: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"cameraManagerStore.d.ts","sourceRoot":"","sources":["../../src/core/cameraManagerStore.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,CAAC;AAE9D,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;OAEG;IACH,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAEhC;;OAEG;IACH,OAAO,EAAE,MAAM,EAAE,CAAC;IAElB;;;OAGG;IACH,YAAY,CAAC,EAAE,UAAU,EAAE,CAAC;IAE5B;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,aAAa,EAAE,aAAa,CAAC;IAE7B;;OAEG;IACH,gBAAgB,EAAE,OAAO,CAAC;IAE1B;;OAEG;IACH,iBAAiB,EAAE,OAAO,CAAC;IAE3B;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,UAAU,CAAC,EAAE,KAAK,GAAG,WAAW,CAAC;CAClC,CAAC;AAeF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;CAG9B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,uBAAuB,YAOnC,CAAC"}
1
+ {"version":3,"file":"cameraManagerStore.d.ts","sourceRoot":"","sources":["../../src/core/cameraManagerStore.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,CAAC;AAE9D;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;OAEG;IACH,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAEhC;;OAEG;IACH,OAAO,EAAE,MAAM,EAAE,CAAC;IAElB;;;OAGG;IACH,YAAY,CAAC,EAAE,UAAU,EAAE,CAAC;IAE5B;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,aAAa,EAAE,aAAa,CAAC;IAE7B;;OAEG;IACH,gBAAgB,EAAE,OAAO,CAAC;IAE1B;;OAEG;IACH,iBAAiB,EAAE,OAAO,CAAC;IAE3B;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,UAAU,CAAC,EAAE,KAAK,GAAG,WAAW,CAAC;CAClC,CAAC;AAmBF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;CAG9B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,YAOnC,CAAC"}
@@ -2,25 +2,41 @@
2
2
  * Copyright (c) 2025 Microblink Ltd. All rights reserved.
3
3
  */
4
4
  /**
5
- * Generic keywords for back camera
5
+ * Generic keywords for back camera.
6
6
  */
7
7
  export declare const backCameraKeywords: ["back", "rear", "rück", "arrière", "trasera", "trás", "traseira", "posteriore", "achterzijde", "baksidan", "bagside", "bak", "takakamera", "πίσω", "darrere", "задней", "tylny", "spate", "hátsó", "zadní", "zadná", "задня", "stražnja", "الخلفية", "אחורית", "arka", "后面", "后置", "後面", "後置", "背面", "背置", "후", "背面", "หลัง", "belakang", "बैक", "posterior"];
8
8
  /**
9
- * Generic keywords for front camera
9
+ * Generic keywords for front camera.
10
10
  */
11
11
  export declare const frontCameraKeywords: ["front", "vorder", "avant", "frontal", "frente", "frontale", "voorzijde", "framsidan", "forside", "front", "etukamera", "μπροστά", "davant", "передняя", "przedni", "față", "elülső", "přední", "predná", "передня", "prednja", "الأمامية", "קדמית", "ön", "前面", "前置", "前面", "前置", "전면", "前面", "หน้า", "depan", "फ्रंट", "frontal"];
12
12
  /**
13
- * Localizations for iOS back camera
13
+ * Localizations for iOS back camera.
14
14
  */
15
15
  export declare const backCameraLocalizations: ["후면 카메라", "後置相機", "Задна камера", "後置鏡頭", "Camera mặt sau", "Hátoldali kamera", "Cámara trasera", "Back Camera", "Kamera på baksidan", "Πίσω κάμερα", "Bagsidekamera", "Zadná kamera", "Fotocamera (posteriore)", "Câmara traseira", "מצלמה אחורית", "Takakamera", "Rückkamera", "Caméra arrière", "Zadní fotoaparát", "Артқы камера", "Tylny aparat", "बैक कैमरा", "Hátsó kamera", "Camera aan achterzijde", "Kamera Belakang", "Câmera Traseira", "Stražnja kamera", "الكاميرا الخلفية", "Càmera posterior", "Fotocamera posteriore", "Càmera del darrere", "กล้องด้านหลัง", "Cameră spate", "Kamera, bagside", "背面カメラ", "Задня камера", "Arka Kamera", "后置相机", "Камера на задней панели", "后置镜头", "Kamera bak", "Задняя камера", "Aparat tylny", "Kamera på baksiden", "Câmera de Trás"];
16
16
  /**
17
- * Localizations for iOS back dual wide camera
17
+ * Localizations for iOS back dual wide camera.
18
18
  */
19
19
  export declare const backDualWideCameraLocalizations: ["Cameră dublă cu obiectiv superangular spate", "מצלמה כפולה רחבה אחורית", "Артқы қос кең бұрышты камера", "Câmara grande angular dupla traseira", "Πίσω διπλή ευρεία κάμερα", "後置雙廣角鏡頭相機", "Задна двойна широкоъгълна камера", "Càmera dual posterior amb gran angular", "Zadná duálna širokouhlá kamera", "كاميرا خلفية مزدوجة عريضة", "Задняя двойная широкоугольная камера", "Задня здвоєна ширококутна камера", "Cámara amplia posterior doble", "Dwikamera Lebar Belakang", "Tylny dwuobiektywowy aparat szerokokątny", "Dubbel vidvinkelkamera på baksidan", "Back Dual Wide Camera", "Hátsó, kettős, széles látószögű kamera", "후면 듀얼 와이드 카메라", "Double caméra grand angle arrière", "Fotocamera doppia con grandangolo (posteriore)", "Double appareil photo grand angle arrière", "Zadní duální širokoúhlý fotoaparát", "Çift Geniş Kamera Arka Yüzü", "Laajakulmainen kaksoistakakamera", "Rückseitige Dual-Weitwinkelkamera", "बैक ड्युअल वाइड कैमरा", "后置双广角镜头", "Câmera Dupla Grande-Angular Traseira", "後置雙廣角相機", "กล้องคู่ด้านหลังมุมกว้าง", "Kamera Lebar Belakang Ganda", "Dobbelt vidvinkelkamera bak", "Camera kép rộng mặt sau", "Cámara trasera dual con gran angular", "背面デュアル広角カメラ", "Stražnja dvostruka široka kamera"];
20
20
  /**
21
- * Check if a string contains any of the keywords
21
+ * Check if a string contains any of the keywords.
22
+ *
23
+ * @param string - The string to check.
24
+ * @param keywords - The keywords to check.
25
+ * @returns true if the string contains any of the keywords.
22
26
  */
23
27
  export declare const containsKeyword: (string: string, keywords: string[]) => boolean;
28
+ /**
29
+ * Checks if a string is a back camera name.
30
+ *
31
+ * @param string - The string to check.
32
+ * @returns true if the string is a back camera name.
33
+ */
24
34
  export declare const isBackCameraName: (string: string) => boolean;
35
+ /**
36
+ * Checks if a string is a front camera name.
37
+ *
38
+ * @param string - The string to check.
39
+ * @returns true if the string is a front camera name.
40
+ */
25
41
  export declare const isFrontCameraName: (string: string) => boolean;
26
42
  //# sourceMappingURL=cameraNames.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cameraNames.d.ts","sourceRoot":"","sources":["../../src/core/cameraNames.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,eAAO,MAAM,kBAAkB,gWAuEF,CAAC;AAE9B;;GAEG;AACH,eAAO,MAAM,mBAAmB,sUAmEH,CAAC;AAE9B;;GAEG;AACH,eAAO,MAAM,uBAAuB,8vBA8CP,CAAC;AAE9B;;GAEG;AACH,eAAO,MAAM,+BAA+B,krCAsCf,CAAC;AAE9B;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,QAAQ,MAAM,EAAE,UAAU,MAAM,EAAE,YAEjE,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,YACF,CAAC;AAE9C,eAAO,MAAM,iBAAiB,GAAI,QAAQ,MAAM,YACF,CAAC"}
1
+ {"version":3,"file":"cameraNames.d.ts","sourceRoot":"","sources":["../../src/core/cameraNames.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,eAAO,MAAM,kBAAkB,gWAuEF,CAAC;AAE9B;;GAEG;AACH,eAAO,MAAM,mBAAmB,sUAmEH,CAAC;AAE9B;;GAEG;AACH,eAAO,MAAM,uBAAuB,8vBA8CP,CAAC;AAE9B;;GAEG;AACH,eAAO,MAAM,+BAA+B,krCAsCf,CAAC;AAE9B;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,GAAI,QAAQ,MAAM,EAAE,UAAU,MAAM,EAAE,YAEjE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,YACF,CAAC;AAE9C;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,GAAI,QAAQ,MAAM,YACF,CAAC"}
@@ -2,46 +2,67 @@
2
2
  * Copyright (c) 2025 Microblink Ltd. All rights reserved.
3
3
  */
4
4
  import { Camera, FacingMode, VideoResolutionName } from "./Camera";
5
- type CameraErrorCode = "PERMISSION_DENIED" | (string & {});
6
- export declare class CameraError extends Error {
7
- code: CameraErrorCode;
8
- constructor(message: string, code: CameraErrorCode, cause?: Error);
9
- }
10
5
  /**
11
6
  * Trigger camera permission dialog.
7
+ *
8
+ * @returns resolves when the camera permission is granted
12
9
  */
13
10
  export declare const askForCameraPermission: () => Promise<void>;
14
11
  /**
15
12
  * Returns available camera devices on the user's device.
16
- * @returns An array of {@linkcode InputDeviceInfo} objects representing the available camera devices.
13
+ *
14
+ * @returns An array of `InputDeviceInfo` objects representing the available camera devices.
15
+ *
16
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/InputDeviceInfo for more details.
17
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/enumerateDevices for more details.
17
18
  */
18
19
  export declare const obtainVideoInputDevices: () => Promise<InputDeviceInfo[]>;
20
+ /**
21
+ * Closes all tracks on a media stream.
22
+ *
23
+ * @param stream - The media stream to close.
24
+ */
19
25
  export declare const closeStreamTracks: (stream: MediaStream) => void;
26
+ /**
27
+ * Creates a media stream constraints object.
28
+ *
29
+ * @param resolution - The resolution to create constraints for.
30
+ * @param facing - The facing mode to create constraints for.
31
+ * @param id - The device ID to create constraints for.
32
+ */
20
33
  export declare const createConstraints: (resolution: VideoResolutionName, facing?: FacingMode, id?: Camera["deviceInfo"]["deviceId"]) => MediaStreamConstraints;
21
34
  /**
22
35
  * Scores a camera based on its capabilities.
23
36
  * Higher score means better camera.
37
+ *
38
+ * @param camera - The camera to score.
39
+ * @returns The score of the camera.
24
40
  */
25
41
  export declare function scoreCameraCapabilities(camera: Camera): number;
26
42
  /**
27
43
  * Filters cameras based on facing mode.
44
+ *
45
+ * @param cameras - The cameras to filter.
46
+ * @param requestedFacing - The facing mode to filter by.
47
+ * @returns The filtered cameras.
28
48
  */
29
49
  export declare function filterCamerasByFacing(cameras: Camera[], requestedFacing: FacingMode): Camera[];
30
50
  /**
31
51
  * Finds the ideal camera based on the provided constraints.
32
52
  *
33
- * @param cameras Available {@linkcode Camera}s on the device
34
- * @param resolution Ideal resolution for the camera stream, will fall back to the closest available resolution.
35
- * @param requestedFacing Ideal facing mode for the camera stream. If not provided, will default to back camera.
53
+ * @param cameras - Available `Camera`s on the device.
54
+ * @param resolution - Ideal resolution for the camera stream, will fall back to the closest available resolution.
55
+ * @param requestedFacing - Ideal facing mode for the camera stream. If not provided, will default to back camera.
36
56
  * If no facing mode is available, will return a best effort match.
37
57
  *
38
- * @returns A {@linkcode Camera} instance that matches the provided constraints, with an active stream.
58
+ * @returns A `Camera` instance that matches the provided constraints, with an active stream.
39
59
  */
40
60
  export declare const findIdealCamera: (cameras: Camera[], resolution?: VideoResolutionName, requestedFacing?: FacingMode) => Promise<Camera>;
41
61
  /**
42
- * Creates an array of {@linkcode Camera} instances with stream from native
43
- * `deviceInfo` objects.
62
+ * Creates an array of `Camera` instances with stream from native `deviceInfo` objects.
63
+ *
64
+ * @param cameras - The input device info to create cameras from.
65
+ * @returns The created cameras.
44
66
  */
45
67
  export declare function createCameras(cameras: InputDeviceInfo[]): Camera[];
46
- export {};
47
68
  //# sourceMappingURL=cameraUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cameraUtils.d.ts","sourceRoot":"","sources":["../../src/core/cameraUtils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,EACL,MAAM,EACN,UAAU,EACV,mBAAmB,EAEpB,MAAM,UAAU,CAAC;AAMlB,KAAK,eAAe,GAAG,mBAAmB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAE3D,qBAAa,WAAY,SAAQ,KAAK;IACpC,IAAI,EAAE,eAAe,CAAC;gBAEV,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,CAAC,EAAE,KAAK;CAKlE;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,qBAkBlC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,uBAAuB,kCAkBnC,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,QAAQ,WAAW,SAKpD,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,YAAY,mBAAmB,EAC/B,SAAS,UAAU,EACnB,KAAK,MAAM,CAAC,YAAY,CAAC,CAAC,UAAU,CAAC,2BAuBtC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAK9D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,EAAE,EACjB,eAAe,EAAE,UAAU,GAC1B,MAAM,EAAE,CAQV;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,GAC1B,SAAS,MAAM,EAAE,EACjB,aAAY,mBAA0B,EACtC,kBAAiB,UAAmB,KACnC,OAAO,CAAC,MAAM,CAoGhB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,eAAe,EAAE,YAWvD"}
1
+ {"version":3,"file":"cameraUtils.d.ts","sourceRoot":"","sources":["../../src/core/cameraUtils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,EACL,MAAM,EACN,UAAU,EACV,mBAAmB,EAEpB,MAAM,UAAU,CAAC;AAMlB;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,qBAkBlC,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,kCAkBnC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAAI,QAAQ,WAAW,SAKpD,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAC5B,YAAY,mBAAmB,EAC/B,SAAS,UAAU,EACnB,KAAK,MAAM,CAAC,YAAY,CAAC,CAAC,UAAU,CAAC,2BAuBtC,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAK9D;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,EAAE,EACjB,eAAe,EAAE,UAAU,GAC1B,MAAM,EAAE,CAQV;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,GAC1B,SAAS,MAAM,EAAE,EACjB,aAAY,mBAA0B,EACtC,kBAAiB,UAAmB,KACnC,OAAO,CAAC,MAAM,CAoGhB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,eAAe,EAAE,YAWvD"}