@jaak.ai/stamps 2.0.0-dev.25 → 2.0.0-dev.26

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 (36) hide show
  1. package/README.md +3 -0
  2. package/dist/cjs/{index-DGM9-FNg.js → index-BfhtOB0D.js} +5 -2
  3. package/dist/cjs/index-BfhtOB0D.js.map +1 -0
  4. package/dist/cjs/jaak-stamps-webcomponent.cjs.js +2 -2
  5. package/dist/cjs/jaak-stamps.cjs.entry.js +357 -14
  6. package/dist/cjs/jaak-stamps.cjs.entry.js.map +1 -1
  7. package/dist/cjs/jaak-stamps.entry.cjs.js.map +1 -1
  8. package/dist/cjs/loader.cjs.js +2 -2
  9. package/dist/collection/components/my-component/my-component.css +227 -0
  10. package/dist/collection/components/my-component/my-component.js +419 -13
  11. package/dist/collection/components/my-component/my-component.js.map +1 -1
  12. package/dist/components/index.js +3 -0
  13. package/dist/components/index.js.map +1 -1
  14. package/dist/components/jaak-stamps.js +364 -14
  15. package/dist/components/jaak-stamps.js.map +1 -1
  16. package/dist/esm/{index-DqoVMnc7.js → index-BP1Q4KOg.js} +5 -2
  17. package/dist/esm/index-BP1Q4KOg.js.map +1 -0
  18. package/dist/esm/jaak-stamps-webcomponent.js +3 -3
  19. package/dist/esm/jaak-stamps.entry.js +357 -14
  20. package/dist/esm/jaak-stamps.entry.js.map +1 -1
  21. package/dist/esm/loader.js +3 -3
  22. package/dist/jaak-stamps-webcomponent/jaak-stamps-webcomponent.esm.js +1 -1
  23. package/dist/jaak-stamps-webcomponent/jaak-stamps.entry.esm.js.map +1 -1
  24. package/dist/jaak-stamps-webcomponent/p-14eb13d8.entry.js +2 -0
  25. package/dist/jaak-stamps-webcomponent/p-14eb13d8.entry.js.map +1 -0
  26. package/dist/jaak-stamps-webcomponent/p-BP1Q4KOg.js +3 -0
  27. package/dist/jaak-stamps-webcomponent/p-BP1Q4KOg.js.map +1 -0
  28. package/dist/types/components/my-component/my-component.d.ts +36 -0
  29. package/dist/types/components.d.ts +10 -0
  30. package/package.json +1 -1
  31. package/dist/cjs/index-DGM9-FNg.js.map +0 -1
  32. package/dist/esm/index-DqoVMnc7.js.map +0 -1
  33. package/dist/jaak-stamps-webcomponent/p-DqoVMnc7.js +0 -3
  34. package/dist/jaak-stamps-webcomponent/p-DqoVMnc7.js.map +0 -1
  35. package/dist/jaak-stamps-webcomponent/p-f1172b06.entry.js +0 -2
  36. package/dist/jaak-stamps-webcomponent/p-f1172b06.entry.js.map +0 -1
@@ -6,6 +6,7 @@ export declare class JaakStamps {
6
6
  maskSize: number;
7
7
  cropMargin: number;
8
8
  useDocumentClassification: boolean;
9
+ preferredCamera: 'auto' | 'front' | 'back';
9
10
  captureCompleted: EventEmitter<any>;
10
11
  isReady: EventEmitter<boolean>;
11
12
  isVideoActive: boolean;
@@ -31,6 +32,10 @@ export declare class JaakStamps {
31
32
  isLoading: boolean;
32
33
  isModelPreloaded: boolean;
33
34
  isMaskReady: boolean;
35
+ availableCameras: MediaDeviceInfo[];
36
+ selectedCameraId: string | null;
37
+ showCameraSelector: boolean;
38
+ isMultipleCamerasAvailable: boolean;
34
39
  private videoRef?;
35
40
  private canvasRef?;
36
41
  private session?;
@@ -41,6 +46,8 @@ export declare class JaakStamps {
41
46
  private lastDetectedBox?;
42
47
  private mobileNetSession?;
43
48
  private mobileNetClassMap?;
49
+ private deviceType;
50
+ private preferredCameraFacing;
44
51
  private frameSkipCounter;
45
52
  private readonly FRAME_SKIP;
46
53
  private consecutiveFailures;
@@ -60,8 +67,20 @@ export declare class JaakStamps {
60
67
  private debugLog;
61
68
  private validateMaskSize;
62
69
  private validateCropMargin;
70
+ private validatePreferredCamera;
63
71
  private emitReadyEvent;
64
72
  private isRearCamera;
73
+ private detectDeviceTypeAndCameras;
74
+ private enumerateAndDetectCameras;
75
+ private checkCameraPermission;
76
+ private handleCameraPermissionError;
77
+ private setInitialCameraPreference;
78
+ private loadCameraPreference;
79
+ private saveCameraPreference;
80
+ private switchCamera;
81
+ private setupCameraWithRetry;
82
+ private toggleCameraSelector;
83
+ private flipCamera;
65
84
  componentDidLoad(): Promise<void>;
66
85
  private setupResizeObserver;
67
86
  private handleResize;
@@ -104,6 +123,23 @@ export declare class JaakStamps {
104
123
  message?: undefined;
105
124
  }>;
106
125
  skipBackCapture(): Promise<void>;
126
+ getCameraInfo(): Promise<{
127
+ availableCameras: {
128
+ id: string;
129
+ label: string;
130
+ selected: boolean;
131
+ }[];
132
+ selectedCameraId: string;
133
+ deviceType: "mobile" | "desktop" | "tablet";
134
+ isMultipleCamerasAvailable: boolean;
135
+ preferredFacing: "environment" | "user";
136
+ userPreferredCamera: "auto" | "front" | "back";
137
+ }>;
138
+ setPreferredCamera(camera: 'auto' | 'front' | 'back'): Promise<{
139
+ success: boolean;
140
+ selectedCamera: string;
141
+ availableCameras: number;
142
+ }>;
107
143
  private loadMobileNetModel;
108
144
  private preprocessMobileNet;
109
145
  private classifyDocument;
@@ -19,6 +19,7 @@ export namespace Components {
19
19
  * @default false
20
20
  */
21
21
  "debug": boolean;
22
+ "getCameraInfo": () => Promise<{ availableCameras: { id: string; label: string; selected: boolean; }[]; selectedCameraId: string; deviceType: "mobile" | "desktop" | "tablet"; isMultipleCamerasAvailable: boolean; preferredFacing: "environment" | "user"; userPreferredCamera: "auto" | "front" | "back"; }>;
22
23
  "getCapturedImages": () => Promise<{ front: { fullFrame: string; cropped: string; }; back: { fullFrame: string; cropped: string; }; metadata: { hasBackCapture: boolean; totalImages: number; }; }>;
23
24
  "getStatus": () => Promise<{ isVideoActive: boolean; captureStep: "front" | "back" | "completed"; statusMessage: string; hasImages: boolean; isProcessCompleted: boolean; isModelPreloaded: boolean; }>;
24
25
  "isProcessCompleted": () => Promise<boolean>;
@@ -26,8 +27,13 @@ export namespace Components {
26
27
  * @default 90
27
28
  */
28
29
  "maskSize": number;
30
+ /**
31
+ * @default 'auto'
32
+ */
33
+ "preferredCamera": 'auto' | 'front' | 'back';
29
34
  "preloadModel": () => Promise<{ success: boolean; message: string; error?: undefined; } | { success: boolean; error: any; message?: undefined; }>;
30
35
  "resetCapture": () => Promise<void>;
36
+ "setPreferredCamera": (camera: "auto" | "front" | "back") => Promise<{ success: boolean; selectedCamera: string; availableCameras: number; }>;
31
37
  "skipBackCapture": () => Promise<void>;
32
38
  "startCapture": () => Promise<void>;
33
39
  "stopCapture": () => Promise<void>;
@@ -84,6 +90,10 @@ declare namespace LocalJSX {
84
90
  "maskSize"?: number;
85
91
  "onCaptureCompleted"?: (event: JaakStampsCustomEvent<any>) => void;
86
92
  "onIsReady"?: (event: JaakStampsCustomEvent<boolean>) => void;
93
+ /**
94
+ * @default 'auto'
95
+ */
96
+ "preferredCamera"?: 'auto' | 'front' | 'back';
87
97
  /**
88
98
  * @default false
89
99
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jaak.ai/stamps",
3
- "version": "2.0.0-dev.25",
3
+ "version": "2.0.0-dev.26",
4
4
  "description": "Jaak Document Identifier",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.js",