smartcomply-web-sdk 1.0.89 → 1.0.91

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 (49) hide show
  1. package/dist/camera/ActionDetector.d.ts +2 -1
  2. package/dist/camera/ActionDetector.d.ts.map +1 -1
  3. package/dist/camera/ActionDetector.js +21 -5
  4. package/dist/camera/ActionDetector.js.map +1 -1
  5. package/dist/client/Smartcomply.d.ts +14 -2
  6. package/dist/client/Smartcomply.d.ts.map +1 -1
  7. package/dist/client/Smartcomply.js +15 -2
  8. package/dist/client/Smartcomply.js.map +1 -1
  9. package/dist/esm/camera/ActionDetector.d.ts +2 -1
  10. package/dist/esm/camera/ActionDetector.d.ts.map +1 -1
  11. package/dist/esm/camera/ActionDetector.js +21 -5
  12. package/dist/esm/camera/ActionDetector.js.map +1 -1
  13. package/dist/esm/client/Smartcomply.d.ts +14 -2
  14. package/dist/esm/client/Smartcomply.d.ts.map +1 -1
  15. package/dist/esm/client/Smartcomply.js +15 -2
  16. package/dist/esm/client/Smartcomply.js.map +1 -1
  17. package/dist/esm/flow/SmartComplyFlow.d.ts +24 -9
  18. package/dist/esm/flow/SmartComplyFlow.d.ts.map +1 -1
  19. package/dist/esm/flow/SmartComplyFlow.js +151 -25
  20. package/dist/esm/flow/SmartComplyFlow.js.map +1 -1
  21. package/dist/esm/flow/spinner.js +14 -14
  22. package/dist/esm/index.d.ts +1 -1
  23. package/dist/esm/index.d.ts.map +1 -1
  24. package/dist/esm/index.js.map +1 -1
  25. package/dist/esm/modules/liveness/LivenessUI.js +83 -83
  26. package/dist/esm/types/liveness.d.ts +15 -0
  27. package/dist/esm/types/liveness.d.ts.map +1 -1
  28. package/dist/flow/SmartComplyFlow.d.ts +24 -9
  29. package/dist/flow/SmartComplyFlow.d.ts.map +1 -1
  30. package/dist/flow/SmartComplyFlow.js +152 -25
  31. package/dist/flow/SmartComplyFlow.js.map +1 -1
  32. package/dist/flow/spinner.js +14 -14
  33. package/dist/index.d.ts +1 -1
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js.map +1 -1
  36. package/dist/modules/liveness/LivenessUI.js +83 -83
  37. package/dist/smartcomply.browser.js +108 -11
  38. package/dist/smartcomply.browser.js.map +3 -3
  39. package/dist/types/liveness.d.ts +15 -0
  40. package/dist/types/liveness.d.ts.map +1 -1
  41. package/package.json +1 -1
  42. package/dist/esm/components/CameraView.d.ts +0 -59
  43. package/dist/esm/components/CameraView.d.ts.map +0 -1
  44. package/dist/esm/components/CameraView.js +0 -238
  45. package/dist/esm/components/CameraView.js.map +0 -1
  46. package/dist/esm/components/DocumentUpload.d.ts +0 -21
  47. package/dist/esm/components/DocumentUpload.d.ts.map +0 -1
  48. package/dist/esm/components/DocumentUpload.js +0 -216
  49. package/dist/esm/components/DocumentUpload.js.map +0 -1
@@ -31,6 +31,21 @@ export type LivenessEntryStatus = "pending" | "processing" | "passed" | "failed"
31
31
  * Mirrors DocumentVerification.STATUS_CHOICES on the backend (sdk/models.py).
32
32
  */
33
33
  export type DocumentVerificationStatus = "pending" | "ocr_complete" | "verified" | "failed" | "expired_document";
34
+ /**
35
+ * Response from GET /v1/sdk/liveness/resume-info/ (unwrapped).
36
+ * Read-only lookup for a client-initiated resubmit's resume_token — tells
37
+ * the widget which entry/step it's resuming before create/ is ever called.
38
+ * identifier_type/country mirror the entry's original submission so the
39
+ * widget can pre-select the same channel instead of guessing.
40
+ */
41
+ export interface LivenessResumeInfoResponse {
42
+ id: number;
43
+ status: string;
44
+ failure_stage: "document" | "liveness" | "data_match" | null;
45
+ verification_type: "document_verification" | "data_verification" | "liveness_only";
46
+ country: string | null;
47
+ identifier_type: string | null;
48
+ }
34
49
  /**
35
50
  * Response from POST /v1/sdk/liveness/create/ (unwrapped).
36
51
  */
@@ -1 +1 @@
1
- {"version":3,"file":"liveness.d.ts","sourceRoot":"","sources":["../../src/types/liveness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"liveness.d.ts","sourceRoot":"","sources":["../../src/types/liveness.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "smartcomply-web-sdk",
3
- "version": "1.0.89",
3
+ "version": "1.0.91",
4
4
  "description": "Drop-in identity verification (KYC) widget for web apps — face liveness, NIN/BVN, document verification",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -1,59 +0,0 @@
1
- /**
2
- * Camera View with Real-time Quality Feedback
3
- * Shows live quality indicators before capture
4
- */
5
- import { QualityFeedback } from "../utils/ImageQuality";
6
- export interface CameraOptions {
7
- width?: number;
8
- height?: number;
9
- facingMode?: "user" | "environment";
10
- isDocumentCapture?: boolean;
11
- }
12
- export interface CaptureResult {
13
- blob: Blob;
14
- quality: QualityFeedback;
15
- selectedFrom: number;
16
- }
17
- export declare class CameraView {
18
- private container;
19
- private video;
20
- private canvas;
21
- private stream;
22
- private qualityOverlay;
23
- private feedbackText;
24
- private isAnalyzing;
25
- private qualityCheckInterval;
26
- onQualityUpdate?: (feedback: QualityFeedback) => void;
27
- onCapture?: (result: CaptureResult) => void;
28
- onError?: (error: Error) => void;
29
- constructor(container: HTMLElement);
30
- /**
31
- * Initialize camera
32
- */
33
- initialize(options?: CameraOptions): Promise<void>;
34
- /**
35
- * Create camera UI with quality overlay
36
- */
37
- private createUI;
38
- /**
39
- * Start real-time quality monitoring
40
- */
41
- private startQualityMonitoring;
42
- /**
43
- * Update quality overlay UI
44
- */
45
- private updateQualityUI;
46
- /**
47
- * Capture multiple frames and select best
48
- */
49
- captureMultipleFrames(count?: number): Promise<CaptureResult>;
50
- /**
51
- * Single capture (for manual mode)
52
- */
53
- captureSingle(): Promise<CaptureResult>;
54
- /**
55
- * Stop camera and cleanup
56
- */
57
- stop(): void;
58
- }
59
- //# sourceMappingURL=CameraView.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CameraView.d.ts","sourceRoot":"","sources":["../../../src/components/CameraView.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAIL,eAAe,EAChB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC;IACpC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,eAAe,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,UAAU;IAcT,OAAO,CAAC,SAAS;IAb7B,OAAO,CAAC,KAAK,CAAiC;IAC9C,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,oBAAoB,CAAuB;IAGnD,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,eAAe,KAAK,IAAI,CAAC;IACtD,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;IAC5C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;gBAEb,SAAS,EAAE,WAAW;IAE1C;;OAEG;IACG,UAAU,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAyD5D;;OAEG;IACH,OAAO,CAAC,QAAQ;IAiDhB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAqC9B;;OAEG;IACH,OAAO,CAAC,eAAe;IAiBvB;;OAEG;IACG,qBAAqB,CAAC,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,aAAa,CAAC;IAkDtE;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC;IAI7C;;OAEG;IACH,IAAI,IAAI,IAAI;CAuBb"}
@@ -1,238 +0,0 @@
1
- /**
2
- * Camera View with Real-time Quality Feedback
3
- * Shows live quality indicators before capture
4
- */
5
- import { assessQuality, getQualityColor, getQualityMessage } from "../utils/ImageQuality";
6
- export class CameraView {
7
- constructor(container) {
8
- this.container = container;
9
- this.video = null;
10
- this.canvas = null;
11
- this.stream = null;
12
- this.qualityOverlay = null;
13
- this.feedbackText = null;
14
- this.isAnalyzing = false;
15
- this.qualityCheckInterval = null;
16
- }
17
- /**
18
- * Initialize camera
19
- */
20
- async initialize(options = {}) {
21
- try {
22
- const { isDocumentCapture = false, facingMode = "environment" } = options;
23
- // Use landscape dimensions for documents (1920x1080), portrait for selfie (1280x720)
24
- const width = isDocumentCapture ? 1920 : 1280;
25
- const height = isDocumentCapture ? 1080 : 720;
26
- // Get camera stream with landscape constraints for documents
27
- const videoConstraints = {
28
- width: { ideal: width },
29
- height: { ideal: height },
30
- facingMode: { ideal: facingMode },
31
- };
32
- // For documents, force aspect ratio to landscape
33
- if (isDocumentCapture) {
34
- videoConstraints.aspectRatio = { ideal: 1.77 }; // 16:9 landscape
35
- }
36
- this.stream = await navigator.mediaDevices.getUserMedia({
37
- video: videoConstraints,
38
- audio: false,
39
- });
40
- // Create video element
41
- this.video = document.createElement("video");
42
- this.video.srcObject = this.stream;
43
- this.video.autoplay = true;
44
- this.video.playsInline = true;
45
- // Create canvas for analysis
46
- this.canvas = document.createElement("canvas");
47
- this.canvas.width = width;
48
- this.canvas.height = height;
49
- // Create UI
50
- this.createUI();
51
- // Wait for video to be ready
52
- await new Promise((resolve) => {
53
- this.video.onloadedmetadata = () => {
54
- this.video.play();
55
- resolve(null);
56
- };
57
- });
58
- // Start quality monitoring
59
- this.startQualityMonitoring();
60
- }
61
- catch (error) {
62
- console.error("Camera initialization failed:", error);
63
- this.onError?.(error);
64
- throw error;
65
- }
66
- }
67
- /**
68
- * Create camera UI with quality overlay
69
- */
70
- createUI() {
71
- if (!this.container || !this.video)
72
- return;
73
- // Clear container
74
- this.container.innerHTML = "";
75
- this.container.style.position = "relative";
76
- this.container.style.overflow = "hidden";
77
- this.container.style.borderRadius = "12px";
78
- // Add video
79
- this.video.style.width = "100%";
80
- this.video.style.height = "100%";
81
- this.video.style.objectFit = "cover";
82
- this.container.appendChild(this.video);
83
- // Create quality overlay
84
- this.qualityOverlay = document.createElement("div");
85
- this.qualityOverlay.style.cssText = `
86
- position: absolute;
87
- top: 0;
88
- left: 0;
89
- right: 0;
90
- bottom: 0;
91
- border: 4px solid transparent;
92
- border-radius: 12px;
93
- transition: border-color 0.3s ease;
94
- pointer-events: none;
95
- `;
96
- this.container.appendChild(this.qualityOverlay);
97
- // Create feedback text
98
- this.feedbackText = document.createElement("div");
99
- this.feedbackText.style.cssText = `
100
- position: absolute;
101
- bottom: 20px;
102
- left: 50%;
103
- transform: translateX(-50%);
104
- background: rgba(0, 0, 0, 0.7);
105
- color: white;
106
- padding: 8px 16px;
107
- border-radius: 20px;
108
- font-size: 14px;
109
- font-weight: 500;
110
- white-space: nowrap;
111
- transition: all 0.3s ease;
112
- `;
113
- this.container.appendChild(this.feedbackText);
114
- }
115
- /**
116
- * Start real-time quality monitoring
117
- */
118
- startQualityMonitoring() {
119
- if (!this.video || !this.canvas)
120
- return;
121
- const ctx = this.canvas.getContext("2d", { willReadFrequently: true });
122
- if (!ctx)
123
- return;
124
- const canvas = this.canvas; // Local reference for closure
125
- this.qualityCheckInterval = window.setInterval(() => {
126
- if (this.isAnalyzing || !this.video || this.video.paused || !this.canvas)
127
- return;
128
- this.isAnalyzing = true;
129
- try {
130
- // Draw video frame to canvas
131
- ctx.drawImage(this.video, 0, 0, canvas.width, canvas.height);
132
- // Get image data
133
- const imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);
134
- // Assess quality
135
- const feedback = assessQuality(imageData);
136
- // Update UI
137
- this.updateQualityUI(feedback);
138
- // Notify callback
139
- this.onQualityUpdate?.(feedback);
140
- }
141
- catch (error) {
142
- console.error("Quality analysis error:", error);
143
- }
144
- finally {
145
- this.isAnalyzing = false;
146
- }
147
- }, 500); // Check every 500ms
148
- }
149
- /**
150
- * Update quality overlay UI
151
- */
152
- updateQualityUI(feedback) {
153
- if (!this.qualityOverlay || !this.feedbackText || !this.video)
154
- return;
155
- const color = getQualityColor(feedback.quality.overallScore);
156
- const message = getQualityMessage(feedback.quality.overallScore);
157
- // Update border color
158
- this.qualityOverlay.style.borderColor = color;
159
- this.qualityOverlay.style.boxShadow = `0 0 20px ${color}40`;
160
- // Update text
161
- this.feedbackText.textContent = message;
162
- this.feedbackText.style.background = feedback.isValid
163
- ? "rgba(34, 197, 94, 0.8)" // Green
164
- : "rgba(239, 68, 68, 0.8)"; // Red
165
- }
166
- /**
167
- * Capture multiple frames and select best
168
- */
169
- async captureMultipleFrames(count = 3) {
170
- if (!this.video || !this.canvas) {
171
- throw new Error("Camera not initialized");
172
- }
173
- const ctx = this.canvas.getContext("2d");
174
- if (!ctx)
175
- throw new Error("Canvas context not available");
176
- const frames = [];
177
- // Capture multiple frames rapidly
178
- for (let i = 0; i < count; i++) {
179
- // Draw current frame
180
- ctx.drawImage(this.video, 0, 0, this.canvas.width, this.canvas.height);
181
- // Get image data for quality check
182
- const imageData = ctx.getImageData(0, 0, this.canvas.width, this.canvas.height);
183
- const quality = assessQuality(imageData);
184
- // Convert to blob
185
- const blob = await new Promise((resolve) => {
186
- this.canvas.toBlob((b) => resolve(b), "image/jpeg", 0.95);
187
- });
188
- frames.push({
189
- blob,
190
- quality,
191
- timestamp: Date.now(),
192
- });
193
- // Small delay between captures
194
- if (i < count - 1) {
195
- await new Promise(r => setTimeout(r, 200));
196
- }
197
- }
198
- // Select best frame by quality score
199
- const best = frames.reduce((prev, current) => current.quality.quality.overallScore > prev.quality.quality.overallScore
200
- ? current
201
- : prev);
202
- return {
203
- blob: best.blob,
204
- quality: best.quality,
205
- selectedFrom: count,
206
- };
207
- }
208
- /**
209
- * Single capture (for manual mode)
210
- */
211
- async captureSingle() {
212
- return this.captureMultipleFrames(1);
213
- }
214
- /**
215
- * Stop camera and cleanup
216
- */
217
- stop() {
218
- // Stop quality monitoring
219
- if (this.qualityCheckInterval) {
220
- clearInterval(this.qualityCheckInterval);
221
- this.qualityCheckInterval = null;
222
- }
223
- // Stop video stream
224
- if (this.stream) {
225
- this.stream.getTracks().forEach(track => track.stop());
226
- this.stream = null;
227
- }
228
- // Stop video element
229
- if (this.video) {
230
- this.video.pause();
231
- this.video.srcObject = null;
232
- this.video = null;
233
- }
234
- // Clear container
235
- this.container.innerHTML = "";
236
- }
237
- }
238
- //# sourceMappingURL=CameraView.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CameraView.js","sourceRoot":"","sources":["../../../src/components/CameraView.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- /**
2
- * Simple document upload component
3
- * Shows file input immediately without camera permission
4
- */
5
- export interface UploadOptions {
6
- onFileSelect?: (file: File) => void;
7
- onError?: (error: string) => void;
8
- onUseCamera?: () => void;
9
- }
10
- export declare class DocumentUpload {
11
- private container;
12
- private options;
13
- private previewImage;
14
- constructor(container: HTMLElement, options?: UploadOptions);
15
- render(theme: any): void;
16
- private handleFile;
17
- private showPreview;
18
- private getTheme;
19
- destroy(): void;
20
- }
21
- //# sourceMappingURL=DocumentUpload.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DocumentUpload.d.ts","sourceRoot":"","sources":["../../../src/components/DocumentUpload.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,aAAa;IAC5B,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACpC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,YAAY,CAAiC;gBAEzC,SAAS,EAAE,WAAW,EAAE,OAAO,GAAE,aAAkB;IAK/D,MAAM,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IAgJxB,OAAO,CAAC,UAAU;IAalB,OAAO,CAAC,WAAW;IA2DnB,OAAO,CAAC,QAAQ;IAWhB,OAAO,IAAI,IAAI;CAGhB"}
@@ -1,216 +0,0 @@
1
- /**
2
- * Simple document upload component
3
- * Shows file input immediately without camera permission
4
- */
5
- export class DocumentUpload {
6
- constructor(container, options = {}) {
7
- this.previewImage = null;
8
- this.container = container;
9
- this.options = options;
10
- }
11
- render(theme) {
12
- // Clear container
13
- this.container.innerHTML = "";
14
- // Upload area
15
- const uploadArea = document.createElement("div");
16
- uploadArea.style.cssText = `
17
- width: 100%;
18
- height: 100%;
19
- display: flex;
20
- flex-direction: column;
21
- align-items: center;
22
- justify-content: center;
23
- border: 2px dashed ${theme.border};
24
- border-radius: 12px;
25
- background: ${theme.cardBg};
26
- padding: 40px 20px;
27
- cursor: pointer;
28
- transition: border-color 0.2s, background 0.2s;
29
- `;
30
- // Hover effect
31
- uploadArea.addEventListener("mouseenter", () => {
32
- uploadArea.style.borderColor = theme.primary;
33
- uploadArea.style.background = theme.surface || theme.cardBg;
34
- });
35
- uploadArea.addEventListener("mouseleave", () => {
36
- uploadArea.style.borderColor = theme.border;
37
- uploadArea.style.background = theme.cardBg;
38
- });
39
- // Icon
40
- const icon = document.createElement("div");
41
- icon.textContent = "📁";
42
- icon.style.cssText = `
43
- font-size: 48px;
44
- margin-bottom: 16px;
45
- `;
46
- uploadArea.appendChild(icon);
47
- // Title
48
- const title = document.createElement("div");
49
- title.textContent = "Upload Document";
50
- title.style.cssText = `
51
- font-size: 16px;
52
- font-weight: 600;
53
- color: ${theme.text};
54
- margin-bottom: 8px;
55
- `;
56
- uploadArea.appendChild(title);
57
- // Subtitle
58
- const subtitle = document.createElement("div");
59
- subtitle.textContent = "Click to select or drag & drop";
60
- subtitle.style.cssText = `
61
- font-size: 13px;
62
- color: ${theme.textSecondary};
63
- margin-bottom: 16px;
64
- `;
65
- uploadArea.appendChild(subtitle);
66
- // Or divider
67
- const divider = document.createElement("div");
68
- divider.style.cssText = `
69
- width: 100%;
70
- max-width: 200px;
71
- display: flex;
72
- align-items: center;
73
- gap: 12px;
74
- margin: 8px 0 16px;
75
- `;
76
- divider.innerHTML = `
77
- <span style="flex:1;height:1px;background:${theme.border};"></span>
78
- <span style="color:${theme.textSecondary};font-size:12px;">OR</span>
79
- <span style="flex:1;height:1px;background:${theme.border};"></span>
80
- `;
81
- uploadArea.appendChild(divider);
82
- // Camera button
83
- const cameraBtn = document.createElement("button");
84
- cameraBtn.textContent = "📷 Use Camera";
85
- cameraBtn.style.cssText = `
86
- padding: 10px 20px;
87
- border-radius: 8px;
88
- border: 1px solid ${theme.primary};
89
- background: transparent;
90
- color: ${theme.primary};
91
- font-size: 14px;
92
- cursor: pointer;
93
- font-weight: 500;
94
- `;
95
- cameraBtn.addEventListener("click", (e) => {
96
- e.stopPropagation();
97
- this.options.onUseCamera?.();
98
- });
99
- uploadArea.appendChild(cameraBtn);
100
- // Hidden file input
101
- const fileInput = document.createElement("input");
102
- fileInput.type = "file";
103
- fileInput.accept = "image/*";
104
- fileInput.style.display = "none";
105
- uploadArea.appendChild(fileInput);
106
- // Click handlers
107
- uploadArea.addEventListener("click", (e) => {
108
- if (e.target !== cameraBtn) {
109
- fileInput.click();
110
- }
111
- });
112
- // Drag and drop
113
- uploadArea.addEventListener("dragover", (e) => {
114
- e.preventDefault();
115
- uploadArea.style.borderColor = theme.primary;
116
- uploadArea.style.background = theme.surface || theme.cardBg;
117
- });
118
- uploadArea.addEventListener("dragleave", () => {
119
- uploadArea.style.borderColor = theme.border;
120
- uploadArea.style.background = theme.cardBg;
121
- });
122
- uploadArea.addEventListener("drop", (e) => {
123
- e.preventDefault();
124
- uploadArea.style.borderColor = theme.border;
125
- uploadArea.style.background = theme.cardBg;
126
- const files = e.dataTransfer?.files;
127
- if (files && files.length > 0) {
128
- this.handleFile(files[0]);
129
- }
130
- });
131
- // File select
132
- fileInput.addEventListener("change", () => {
133
- if (fileInput.files && fileInput.files[0]) {
134
- this.handleFile(fileInput.files[0]);
135
- }
136
- });
137
- this.container.appendChild(uploadArea);
138
- }
139
- handleFile(file) {
140
- if (!file.type.startsWith("image/")) {
141
- this.options.onError?.("Please select an image file");
142
- return;
143
- }
144
- // Show preview
145
- this.showPreview(file);
146
- // Notify
147
- this.options.onFileSelect?.(file);
148
- }
149
- showPreview(file) {
150
- const reader = new FileReader();
151
- reader.onload = (e) => {
152
- // Clear and show preview
153
- this.container.innerHTML = "";
154
- const previewContainer = document.createElement("div");
155
- previewContainer.style.cssText = `
156
- width: 100%;
157
- height: 100%;
158
- display: flex;
159
- flex-direction: column;
160
- align-items: center;
161
- gap: 12px;
162
- `;
163
- // Image
164
- const img = document.createElement("img");
165
- img.src = e.target?.result;
166
- img.style.cssText = `
167
- max-width: 100%;
168
- max-height: 70%;
169
- object-fit: contain;
170
- border-radius: 8px;
171
- border: 1px solid ${this.getTheme().border};
172
- `;
173
- previewContainer.appendChild(img);
174
- // File name
175
- const name = document.createElement("div");
176
- name.textContent = file.name;
177
- name.style.cssText = `
178
- font-size: 13px;
179
- color: ${this.getTheme().textSecondary};
180
- `;
181
- previewContainer.appendChild(name);
182
- // Change button
183
- const changeBtn = document.createElement("button");
184
- changeBtn.textContent = "Change File";
185
- changeBtn.style.cssText = `
186
- padding: 8px 16px;
187
- border-radius: 6px;
188
- border: 1px solid ${this.getTheme().border};
189
- background: ${this.getTheme().cardBg};
190
- color: ${this.getTheme().text};
191
- font-size: 13px;
192
- cursor: pointer;
193
- `;
194
- changeBtn.addEventListener("click", () => {
195
- this.render(this.getTheme());
196
- });
197
- previewContainer.appendChild(changeBtn);
198
- this.container.appendChild(previewContainer);
199
- };
200
- reader.readAsDataURL(file);
201
- }
202
- getTheme() {
203
- // Default theme fallback
204
- return {
205
- primary: "#3b82f6",
206
- text: "#1f2937",
207
- textSecondary: "#6b7280",
208
- border: "#e5e7eb",
209
- cardBg: "#ffffff",
210
- };
211
- }
212
- destroy() {
213
- this.container.innerHTML = "";
214
- }
215
- }
216
- //# sourceMappingURL=DocumentUpload.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DocumentUpload.js","sourceRoot":"","sources":["../../../src/components/DocumentUpload.ts"],"names":[],"mappings":"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"}