@jaak.ai/stamps 2.1.0-dev.1 → 2.1.0-dev.10

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 (56) hide show
  1. package/README.md +11 -1
  2. package/dist/cjs/app-globals-V2Kpy_OQ.js +8 -0
  3. package/dist/cjs/app-globals-V2Kpy_OQ.js.map +1 -0
  4. package/dist/cjs/{index-BfhtOB0D.js → index-Ga0t6BMe.js} +176 -119
  5. package/dist/cjs/index-Ga0t6BMe.js.map +1 -0
  6. package/dist/cjs/jaak-stamps-webcomponent.cjs.js +5 -4
  7. package/dist/cjs/jaak-stamps-webcomponent.cjs.js.map +1 -1
  8. package/dist/cjs/jaak-stamps.cjs.entry.js +644 -60
  9. package/dist/cjs/jaak-stamps.cjs.entry.js.map +1 -1
  10. package/dist/cjs/jaak-stamps.entry.cjs.js.map +1 -1
  11. package/dist/cjs/loader.cjs.js +4 -3
  12. package/dist/cjs/loader.cjs.js.map +1 -1
  13. package/dist/collection/collection-manifest.json +1 -1
  14. package/dist/collection/components/my-component/my-component.css +210 -11
  15. package/dist/collection/components/my-component/my-component.js +618 -58
  16. package/dist/collection/components/my-component/my-component.js.map +1 -1
  17. package/dist/collection/services/DetectionService.js +48 -5
  18. package/dist/collection/services/DetectionService.js.map +1 -1
  19. package/dist/collection/services/ServiceContainer.js +3 -2
  20. package/dist/collection/services/ServiceContainer.js.map +1 -1
  21. package/dist/components/index.js +165 -113
  22. package/dist/components/index.js.map +1 -1
  23. package/dist/components/jaak-stamps.js +650 -60
  24. package/dist/components/jaak-stamps.js.map +1 -1
  25. package/dist/esm/app-globals-DQuL1Twl.js +6 -0
  26. package/dist/esm/app-globals-DQuL1Twl.js.map +1 -0
  27. package/dist/esm/{index-BP1Q4KOg.js → index-Drbzcuq-.js} +177 -119
  28. package/dist/esm/index-Drbzcuq-.js.map +1 -0
  29. package/dist/esm/jaak-stamps-webcomponent.js +5 -4
  30. package/dist/esm/jaak-stamps-webcomponent.js.map +1 -1
  31. package/dist/esm/jaak-stamps.entry.js +644 -60
  32. package/dist/esm/jaak-stamps.entry.js.map +1 -1
  33. package/dist/esm/loader.js +4 -3
  34. package/dist/esm/loader.js.map +1 -1
  35. package/dist/jaak-stamps-webcomponent/jaak-stamps-webcomponent.esm.js +1 -1
  36. package/dist/jaak-stamps-webcomponent/jaak-stamps-webcomponent.esm.js.map +1 -1
  37. package/dist/jaak-stamps-webcomponent/jaak-stamps.entry.esm.js.map +1 -1
  38. package/dist/jaak-stamps-webcomponent/loader.esm.js.map +1 -1
  39. package/dist/jaak-stamps-webcomponent/p-5f7301f1.entry.js +2 -0
  40. package/dist/jaak-stamps-webcomponent/p-5f7301f1.entry.js.map +1 -0
  41. package/dist/jaak-stamps-webcomponent/p-DQuL1Twl.js +2 -0
  42. package/dist/jaak-stamps-webcomponent/p-DQuL1Twl.js.map +1 -0
  43. package/dist/jaak-stamps-webcomponent/p-Drbzcuq-.js +3 -0
  44. package/dist/jaak-stamps-webcomponent/p-Drbzcuq-.js.map +1 -0
  45. package/dist/types/components/my-component/my-component.d.ts +25 -0
  46. package/dist/types/components.d.ts +8 -0
  47. package/dist/types/services/DetectionService.d.ts +2 -1
  48. package/dist/types/services/ServiceContainer.d.ts +1 -0
  49. package/dist/types/stencil-public-runtime.d.ts +12 -5
  50. package/package.json +3 -1
  51. package/dist/cjs/index-BfhtOB0D.js.map +0 -1
  52. package/dist/esm/index-BP1Q4KOg.js.map +0 -1
  53. package/dist/jaak-stamps-webcomponent/p-39560f23.entry.js +0 -2
  54. package/dist/jaak-stamps-webcomponent/p-39560f23.entry.js.map +0 -1
  55. package/dist/jaak-stamps-webcomponent/p-BP1Q4KOg.js +0 -3
  56. package/dist/jaak-stamps-webcomponent/p-BP1Q4KOg.js.map +0 -1
@@ -7,6 +7,7 @@ export declare class JaakStamps {
7
7
  maskSize: number;
8
8
  cropMargin: number;
9
9
  useDocumentClassification: boolean;
10
+ useDocumentDetector: boolean;
10
11
  preferredCamera: 'auto' | 'front' | 'back';
11
12
  captureDelay: number;
12
13
  enableBackDocumentTimer: boolean;
@@ -60,6 +61,11 @@ export declare class JaakStamps {
60
61
  detectionRate: number;
61
62
  };
62
63
  backDocumentTimerRemaining: number;
64
+ showManualCaptureButton: boolean;
65
+ performanceDegradedMode: boolean;
66
+ showPerformanceMessage: boolean;
67
+ captureStateVersion: number;
68
+ processingButton: 'capture-front' | 'capture-back' | 'skip-back' | null;
63
69
  private serviceContainer;
64
70
  private eventBus;
65
71
  private stateManager;
@@ -75,6 +81,7 @@ export declare class JaakStamps {
75
81
  private alignmentStartTime?;
76
82
  private alignmentTimer?;
77
83
  private backDocumentTimer?;
84
+ private orientationTimer?;
78
85
  private performanceMetrics;
79
86
  private performanceUpdateInterval?;
80
87
  private frameSkipCounter;
@@ -86,6 +93,11 @@ export declare class JaakStamps {
86
93
  private readonly MIN_INFERENCE_INTERVAL;
87
94
  private performanceHistory;
88
95
  private readonly PERFORMANCE_HISTORY_SIZE;
96
+ private readonly PERFORMANCE_THRESHOLD_MS;
97
+ private readonly SLOW_FRAMES_TO_TRIGGER;
98
+ private slowFrameCount;
99
+ private processedFramesCount;
100
+ private hasAutoSwitchedToManual;
89
101
  private canvasPool;
90
102
  private readonly MAX_CANVAS_POOL_SIZE;
91
103
  componentDidLoad(): Promise<void>;
@@ -97,9 +109,12 @@ export declare class JaakStamps {
97
109
  private finalizeInitialization;
98
110
  private updateStatus;
99
111
  private emitReadyEvent;
112
+ private checkCameraPermissions;
100
113
  private handleStateChange;
101
114
  private initializeResizeObserver;
102
115
  private handleResize;
116
+ private triggerRerender;
117
+ private getGuideText;
103
118
  private updateMaskDimensions;
104
119
  private isComponentReady;
105
120
  getCapturedImages(): Promise<CapturedImagesResponse>;
@@ -164,6 +179,7 @@ export declare class JaakStamps {
164
179
  error?: undefined;
165
180
  }>;
166
181
  getCaptureDelay(): Promise<number>;
182
+ private checkDeviceCapabilities;
167
183
  private startDetection;
168
184
  private initializeVideoStream;
169
185
  private detectFrame;
@@ -172,8 +188,16 @@ export declare class JaakStamps {
172
188
  render(): any;
173
189
  private updateDetectionBoxes;
174
190
  private updateMaskColor;
191
+ private takeManualScreenshot;
192
+ private takeScreenshotWithMaskCoordinates;
175
193
  private takeScreenshot;
176
194
  private triggerCaptureAnimation;
195
+ private switchToManualMode;
196
+ private switchToManualModeWithWarning;
197
+ private continueWithCameraSetup;
198
+ private switchToManualModeWithError;
199
+ private stopPerformanceMonitoring;
200
+ private releaseOnnxResources;
177
201
  private completeProcess;
178
202
  private stopDetection;
179
203
  private startBackDocumentTimer;
@@ -188,6 +212,7 @@ export declare class JaakStamps {
188
212
  private recordOnnxPerformance;
189
213
  private recordFrameProcessing;
190
214
  private getAdaptiveFrameSkip;
215
+ private resetMaskToWhite;
191
216
  private getPooledCanvas;
192
217
  private returnCanvasToPool;
193
218
  }
@@ -57,6 +57,10 @@ export namespace Components {
57
57
  * @default false
58
58
  */
59
59
  "useDocumentClassification": boolean;
60
+ /**
61
+ * @default true
62
+ */
63
+ "useDocumentDetector": boolean;
60
64
  }
61
65
  }
62
66
  export interface JaakStampsCustomEvent<T> extends CustomEvent<T> {
@@ -126,6 +130,10 @@ declare namespace LocalJSX {
126
130
  * @default false
127
131
  */
128
132
  "useDocumentClassification"?: boolean;
133
+ /**
134
+ * @default true
135
+ */
136
+ "useDocumentDetector"?: boolean;
129
137
  }
130
138
  interface IntrinsicElements {
131
139
  "jaak-stamps": JaakStamps;
@@ -2,6 +2,7 @@ import { IDetectionService, DetectionBox, SideAlignment, ClassificationResult }
2
2
  export declare class DetectionService implements IDetectionService {
3
3
  private debug;
4
4
  private useDocumentClassification;
5
+ private useDocumentDetector;
5
6
  private session?;
6
7
  private mobileNetSession?;
7
8
  private mobileNetClassMap?;
@@ -17,7 +18,7 @@ export declare class DetectionService implements IDetectionService {
17
18
  private captureCanvas?;
18
19
  private static canvasPool;
19
20
  private static readonly MAX_POOL_SIZE;
20
- constructor(debug?: boolean, useDocumentClassification?: boolean);
21
+ constructor(debug?: boolean, useDocumentClassification?: boolean, useDocumentDetector?: boolean);
21
22
  loadModel(): Promise<void>;
22
23
  loadClassificationModel(): Promise<void>;
23
24
  isModelLoaded(): boolean;
@@ -8,6 +8,7 @@ export interface ComponentConfig {
8
8
  maskSize: number;
9
9
  cropMargin: number;
10
10
  useDocumentClassification: boolean;
11
+ useDocumentDetector: boolean;
11
12
  preferredCamera: 'auto' | 'front' | 'back';
12
13
  captureDelay: number;
13
14
  }
@@ -846,7 +846,7 @@ export declare namespace JSXBase {
846
846
  interface DetailsHTMLAttributes<T> extends HTMLAttributes<T> {
847
847
  open?: boolean;
848
848
  name?: string;
849
- onToggle?: (event: Event) => void;
849
+ onToggle?: (event: ToggleEvent) => void;
850
850
  }
851
851
  interface DelHTMLAttributes<T> extends HTMLAttributes<T> {
852
852
  cite?: string;
@@ -1552,6 +1552,13 @@ export declare namespace JSXBase {
1552
1552
  z?: number | string;
1553
1553
  zoomAndPan?: string;
1554
1554
  }
1555
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ToggleEvent) */
1556
+ interface ToggleEvent extends Event {
1557
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ToggleEvent/newState) */
1558
+ readonly newState: string;
1559
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ToggleEvent/oldState) */
1560
+ readonly oldState: string;
1561
+ }
1555
1562
  interface DOMAttributes<T> extends JSXAttributes<T> {
1556
1563
  slot?: string;
1557
1564
  part?: string;
@@ -1568,6 +1575,10 @@ export declare namespace JSXBase {
1568
1575
  onCompositionstartCapture?: (event: CompositionEvent) => void;
1569
1576
  onCompositionupdate?: (event: CompositionEvent) => void;
1570
1577
  onCompositionupdateCapture?: (event: CompositionEvent) => void;
1578
+ onBeforeToggle?: (event: ToggleEvent) => void;
1579
+ onBeforeToggleCapture?: (event: ToggleEvent) => void;
1580
+ onToggle?: (event: ToggleEvent) => void;
1581
+ onToggleCapture?: (event: ToggleEvent) => void;
1571
1582
  onFocus?: (event: FocusEvent) => void;
1572
1583
  onFocusCapture?: (event: FocusEvent) => void;
1573
1584
  onFocusin?: (event: FocusEvent) => void;
@@ -1586,10 +1597,6 @@ export declare namespace JSXBase {
1586
1597
  onSubmitCapture?: (event: Event) => void;
1587
1598
  onInvalid?: (event: Event) => void;
1588
1599
  onInvalidCapture?: (event: Event) => void;
1589
- onBeforeToggle?: (event: Event) => void;
1590
- onBeforeToggleCapture?: (event: Event) => void;
1591
- onToggle?: (event: Event) => void;
1592
- onToggleCapture?: (event: Event) => void;
1593
1600
  onLoad?: (event: Event) => void;
1594
1601
  onLoadCapture?: (event: Event) => void;
1595
1602
  onError?: (event: Event) => void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jaak.ai/stamps",
3
- "version": "2.1.0-dev.1",
3
+ "version": "2.1.0-dev.10",
4
4
  "description": "Jaak Document Identifier",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.js",
@@ -34,6 +34,7 @@
34
34
  "scripts": {
35
35
  "build": "stencil build",
36
36
  "start": "stencil build --dev --watch --serve",
37
+ "start:demo": "http-server src -p 8080 -o /demo.html",
37
38
  "test": "stencil test --spec --e2e",
38
39
  "test.watch": "stencil test --spec --e2e --watchAll",
39
40
  "generate": "stencil generate"
@@ -42,6 +43,7 @@
42
43
  "@stencil/core": "^4.27.1",
43
44
  "@types/jest": "^29.5.14",
44
45
  "@types/node": "^22.13.5",
46
+ "http-server": "^14.1.1",
45
47
  "jest": "^29.7.0",
46
48
  "jest-cli": "^29.7.0",
47
49
  "puppeteer": "^24.3.0"