@uploadista/vue 0.0.20-beta.9 → 0.1.0-beta.5

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 (77) hide show
  1. package/dist/components/index.d.mts +3 -3
  2. package/dist/components/index.mjs +1 -1
  3. package/dist/{components-CskPs6sR.css → components-B_L33hsM.css} +33 -33
  4. package/dist/{components-CskPs6sR.css.map → components-B_L33hsM.css.map} +1 -1
  5. package/dist/components-MZ9ETx9c.mjs +2 -0
  6. package/dist/components-MZ9ETx9c.mjs.map +1 -0
  7. package/dist/composables/index.d.mts +1 -1
  8. package/dist/composables/index.mjs +1 -1
  9. package/dist/composables-Dny_9Zrg.mjs +2 -0
  10. package/dist/composables-Dny_9Zrg.mjs.map +1 -0
  11. package/dist/index-6Scxoy1b.d.mts +1289 -0
  12. package/dist/index-6Scxoy1b.d.mts.map +1 -0
  13. package/dist/{index-B2fUTjNP.d.mts → index-BpCRFLJ5.d.mts} +4 -4
  14. package/dist/index-BpCRFLJ5.d.mts.map +1 -0
  15. package/dist/{index-DiRR_Ua6.d.mts → index-RY4FPqAk.d.mts} +431 -432
  16. package/dist/index-RY4FPqAk.d.mts.map +1 -0
  17. package/dist/index.d.mts +5 -5
  18. package/dist/index.mjs +1 -1
  19. package/dist/providers/index.d.mts +1 -1
  20. package/dist/providers/index.mjs +1 -1
  21. package/dist/{providers-fqmOwF71.mjs → providers-CjhEBaQV.mjs} +2 -2
  22. package/dist/providers-CjhEBaQV.mjs.map +1 -0
  23. package/dist/useUploadistaClient-WVuo8jYH.mjs.map +1 -1
  24. package/dist/utils/index.d.mts +62 -2
  25. package/dist/utils/index.d.mts.map +1 -0
  26. package/package.json +11 -9
  27. package/src/__tests__/setup.ts +154 -0
  28. package/src/components/FlowUploadList.vue +25 -24
  29. package/src/components/UploadList.vue +3 -6
  30. package/src/components/UploadZone.vue +2 -5
  31. package/src/components/flow/Flow.vue +16 -4
  32. package/src/components/flow/FlowDropZone.vue +4 -2
  33. package/src/components/flow/FlowInput.vue +14 -8
  34. package/src/components/flow/FlowInputDropZone.vue +4 -2
  35. package/src/components/flow/FlowInputPreview.vue +3 -1
  36. package/src/components/flow/FlowProgress.vue +1 -1
  37. package/src/components/flow/FlowStatus.vue +1 -1
  38. package/src/components/flow/useFlowContext.ts +7 -5
  39. package/src/components/index.ts +4 -2
  40. package/src/components/upload/Upload.vue +146 -0
  41. package/src/components/upload/UploadCancel.vue +22 -0
  42. package/src/components/upload/UploadClearCompleted.vue +24 -0
  43. package/src/components/upload/UploadDropZone.vue +96 -0
  44. package/src/components/upload/UploadError.vue +42 -0
  45. package/src/components/upload/UploadItem.vue +54 -0
  46. package/src/components/upload/UploadItems.vue +33 -0
  47. package/src/components/upload/UploadProgress.vue +35 -0
  48. package/src/components/upload/UploadReset.vue +20 -0
  49. package/src/components/upload/UploadRetry.vue +22 -0
  50. package/src/components/upload/UploadStartAll.vue +30 -0
  51. package/src/components/upload/UploadStatus.vue +65 -0
  52. package/src/components/upload/index.ts +98 -0
  53. package/src/components/upload/useUploadContext.ts +67 -0
  54. package/src/composables/eventUtils.test.ts +267 -0
  55. package/src/composables/eventUtils.ts +5 -4
  56. package/src/composables/index.ts +1 -1
  57. package/src/composables/useDragDrop.test.ts +304 -0
  58. package/src/composables/useFlow.ts +6 -2
  59. package/src/composables/useFlowManagerContext.ts +5 -1
  60. package/src/composables/useUploadEvents.ts +1 -4
  61. package/src/composables/useUploadistaClient.test.ts +152 -0
  62. package/src/index.ts +65 -4
  63. package/src/providers/FlowManagerProvider.vue +5 -2
  64. package/src/utils/index.test.ts +396 -0
  65. package/src/utils/is-browser-file.test.ts +45 -0
  66. package/vitest.config.ts +25 -0
  67. package/dist/components-BxBz_7tS.mjs +0 -2
  68. package/dist/components-BxBz_7tS.mjs.map +0 -1
  69. package/dist/composables-BZ2c_WgI.mjs +0 -2
  70. package/dist/composables-BZ2c_WgI.mjs.map +0 -1
  71. package/dist/index-B2fUTjNP.d.mts.map +0 -1
  72. package/dist/index-BLNNvTVx.d.mts +0 -62
  73. package/dist/index-BLNNvTVx.d.mts.map +0 -1
  74. package/dist/index-D3PNaPGh.d.mts +0 -787
  75. package/dist/index-D3PNaPGh.d.mts.map +0 -1
  76. package/dist/index-DiRR_Ua6.d.mts.map +0 -1
  77. package/dist/providers-fqmOwF71.mjs.map +0 -1
@@ -0,0 +1,1289 @@
1
+ import { F as DragDropState, L as FlowInputMetadata, V as UseFlowReturn, c as UploadItem, o as MultiUploadOptions, s as MultiUploadState } from "./index-RY4FPqAk.mjs";
2
+ import * as vue20 from "vue";
3
+ import { VNodeChild } from "vue";
4
+ import { BrowserUploadInput, FlowUploadItem, UploadOptions } from "@uploadista/client-browser";
5
+ import { TypedOutput } from "@uploadista/core/flow";
6
+ import { UploadFile } from "@uploadista/core/types";
7
+ import { FlowUploadStatus } from "@uploadista/client-core";
8
+
9
+ //#region src/components/FlowUploadList.vue.d.ts
10
+
11
+ /**
12
+ * Props for the FlowUploadList component
13
+ * @property {FlowUploadItem[]} uploads - Array of flow upload items to display
14
+ * @property {Function} filter - Optional filter for which items to display
15
+ * @property {Function} sortBy - Optional sorting function for items (a, b) => number
16
+ */
17
+ interface FlowUploadListProps {
18
+ /**
19
+ * Array of flow upload items to display
20
+ */
21
+ uploads: FlowUploadItem<BrowserUploadInput>[];
22
+ /**
23
+ * Optional filter for which items to display
24
+ */
25
+ filter?: (item: FlowUploadItem<BrowserUploadInput>) => boolean;
26
+ /**
27
+ * Optional sorting function for items
28
+ */
29
+ sortBy?: (a: FlowUploadItem<BrowserUploadInput>, b: FlowUploadItem<BrowserUploadInput>) => number;
30
+ }
31
+ interface FlowUploadListItemProps {
32
+ item: FlowUploadItem<BrowserUploadInput>;
33
+ index: number;
34
+ isPending: boolean;
35
+ isUploading: boolean;
36
+ isSuccess: boolean;
37
+ isError: boolean;
38
+ isAborted: boolean;
39
+ formatFileSize: (bytes: number) => string;
40
+ }
41
+ interface FlowUploadListDefaultProps {
42
+ items: FlowUploadItem<BrowserUploadInput>[];
43
+ itemsByStatus: {
44
+ pending: FlowUploadItem<BrowserUploadInput>[];
45
+ uploading: FlowUploadItem<BrowserUploadInput>[];
46
+ success: FlowUploadItem<BrowserUploadInput>[];
47
+ error: FlowUploadItem<BrowserUploadInput>[];
48
+ aborted: FlowUploadItem<BrowserUploadInput>[];
49
+ };
50
+ }
51
+ type __VLS_Slots$23 = {
52
+ item(props: FlowUploadListItemProps): VNodeChild;
53
+ default(props: FlowUploadListDefaultProps): VNodeChild;
54
+ };
55
+ declare const __VLS_base$23: vue20.DefineComponent<FlowUploadListProps, {}, {}, {}, {}, vue20.ComponentOptionsMixin, vue20.ComponentOptionsMixin, {}, string, vue20.PublicProps, Readonly<FlowUploadListProps> & Readonly<{}>, {}, {}, {}, {}, string, vue20.ComponentProvideOptions, false, {}, any>;
56
+ declare const __VLS_export$27: __VLS_WithSlots$26<typeof __VLS_base$23, __VLS_Slots$23>;
57
+ declare const _default$27: typeof __VLS_export$27;
58
+ type __VLS_WithSlots$26<T, S> = T & {
59
+ new (): {
60
+ $slots: S;
61
+ };
62
+ };
63
+ //# sourceMappingURL=FlowUploadList.vue.d.ts.map
64
+ //#endregion
65
+ //#region src/components/flow/Flow.vue.d.ts
66
+ /**
67
+ * Props for the Flow root component.
68
+ */
69
+ interface FlowProps {
70
+ /** Flow ID to execute */
71
+ flowId: string;
72
+ /** Storage ID for file uploads */
73
+ storageId: string;
74
+ /** Optional output node ID to wait for */
75
+ outputNodeId?: string;
76
+ /** Optional metadata to include with the flow execution */
77
+ metadata?: Record<string, string>;
78
+ }
79
+ /**
80
+ * Context value provided by the Flow component root.
81
+ * Contains all flow state and actions.
82
+ */
83
+ interface FlowContextValue {
84
+ /** Current upload state */
85
+ state: UseFlowReturn["state"];
86
+ /** Discovered input nodes metadata (null until discovery completes) */
87
+ inputMetadata: UseFlowReturn["inputMetadata"];
88
+ /** Current input values set via setInput() */
89
+ inputs: UseFlowReturn["inputs"];
90
+ /** Per-input execution state for multi-input flows */
91
+ inputStates: UseFlowReturn["inputStates"];
92
+ /** Set an input value for a specific node */
93
+ setInput: UseFlowReturn["setInput"];
94
+ /** Execute the flow with current inputs */
95
+ execute: UseFlowReturn["execute"];
96
+ /** Upload a single file through the flow */
97
+ upload: UseFlowReturn["upload"];
98
+ /** Abort the current upload */
99
+ abort: UseFlowReturn["abort"];
100
+ /** Pause the current upload */
101
+ pause: UseFlowReturn["pause"];
102
+ /** Reset the upload state and clear all inputs */
103
+ reset: UseFlowReturn["reset"];
104
+ /** Whether an upload or flow execution is in progress */
105
+ isUploading: UseFlowReturn["isUploading"];
106
+ /** Whether the file is currently being uploaded */
107
+ isUploadingFile: UseFlowReturn["isUploadingFile"];
108
+ /** Whether the flow is currently processing */
109
+ isProcessing: UseFlowReturn["isProcessing"];
110
+ /** Whether the hook is discovering flow inputs */
111
+ isDiscoveringInputs: UseFlowReturn["isDiscoveringInputs"];
112
+ }
113
+ declare var __VLS_1$20: {};
114
+ type __VLS_Slots$22 = {} & {
115
+ default?: (props: typeof __VLS_1$20) => any;
116
+ };
117
+ declare const __VLS_base$22: vue20.DefineComponent<FlowProps, FlowContextValue, {}, {}, {}, vue20.ComponentOptionsMixin, vue20.ComponentOptionsMixin, {
118
+ progress: (uploadId: string, bytesUploaded: number, totalBytes: number | null) => any;
119
+ success: (outputs: TypedOutput[]) => any;
120
+ error: (error: Error) => any;
121
+ abort: () => any;
122
+ flowComplete: (outputs: TypedOutput[]) => any;
123
+ }, string, vue20.PublicProps, Readonly<FlowProps> & Readonly<{
124
+ onProgress?: ((uploadId: string, bytesUploaded: number, totalBytes: number | null) => any) | undefined;
125
+ onSuccess?: ((outputs: TypedOutput[]) => any) | undefined;
126
+ onError?: ((error: Error) => any) | undefined;
127
+ onAbort?: (() => any) | undefined;
128
+ onFlowComplete?: ((outputs: TypedOutput[]) => any) | undefined;
129
+ }>, {}, {}, {}, {}, string, vue20.ComponentProvideOptions, false, {}, any>;
130
+ declare const __VLS_export$26: __VLS_WithSlots$25<typeof __VLS_base$22, __VLS_Slots$22>;
131
+ declare const _default$26: typeof __VLS_export$26;
132
+ type __VLS_WithSlots$25<T, S> = T & {
133
+ new (): {
134
+ $slots: S;
135
+ };
136
+ };
137
+ //# sourceMappingURL=Flow.vue.d.ts.map
138
+ //#endregion
139
+ //#region src/components/flow/FlowCancel.vue.d.ts
140
+ declare const _default$25: typeof __VLS_export$25;
141
+ declare const __VLS_export$25: __VLS_WithSlots$24<vue20.DefineComponent<{}, {}, {}, {}, {}, vue20.ComponentOptionsMixin, vue20.ComponentOptionsMixin, {}, string, vue20.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue20.ComponentProvideOptions, true, {}, any>, {
142
+ default?: (props: {}) => any;
143
+ }>;
144
+ type __VLS_WithSlots$24<T, S> = T & {
145
+ new (): {
146
+ $slots: S;
147
+ };
148
+ };
149
+ //# sourceMappingURL=FlowCancel.vue.d.ts.map
150
+ //#endregion
151
+ //#region src/components/flow/FlowDropZone.vue.d.ts
152
+ /**
153
+ * Props for FlowDropZone component.
154
+ */
155
+ interface FlowDropZoneProps {
156
+ /** Accepted file types (e.g., "image/*", ".pdf") */
157
+ accept?: string;
158
+ /** Maximum file size in bytes */
159
+ maxFileSize?: number;
160
+ }
161
+ declare const inputRef$1: vue20.Ref<HTMLInputElement | null, HTMLInputElement | null>;
162
+ /**
163
+ * Slot props provided to the default slot.
164
+ */
165
+ interface FlowDropZoneSlotProps {
166
+ /** Whether files are being dragged over */
167
+ isDragging: boolean;
168
+ /** Whether drag is over the zone */
169
+ isOver: boolean;
170
+ /** Upload progress (0-100) */
171
+ progress: number;
172
+ /** Current flow status */
173
+ status: string;
174
+ /** Current drag-drop state */
175
+ dragDropState: DragDropState;
176
+ /** Open file picker programmatically */
177
+ openFilePicker: () => void;
178
+ /** Drag event handlers to spread on the container */
179
+ dragHandlers: {
180
+ onDragenter: (e: DragEvent) => void;
181
+ onDragover: (e: DragEvent) => void;
182
+ onDragleave: (e: DragEvent) => void;
183
+ onDrop: (e: DragEvent) => void;
184
+ };
185
+ /** Input props for the hidden file input */
186
+ inputProps: {
187
+ type: "file";
188
+ multiple: boolean;
189
+ accept: string | undefined;
190
+ };
191
+ /** Input change handler */
192
+ onInputChange: (e: Event) => void;
193
+ /** Ref for the file input element */
194
+ inputRef: typeof inputRef$1;
195
+ }
196
+ declare var __VLS_1$19: {
197
+ /** Whether files are being dragged over */
198
+ isDragging: boolean;
199
+ /** Whether drag is over the zone */
200
+ isOver: boolean;
201
+ /** Upload progress (0-100) */
202
+ progress: number;
203
+ /** Current flow status */
204
+ status: string;
205
+ /** Current drag-drop state */
206
+ dragDropState: DragDropState;
207
+ /** Open file picker programmatically */
208
+ openFilePicker: () => void;
209
+ /** Drag event handlers to spread on the container */
210
+ dragHandlers: {
211
+ onDragenter: (e: DragEvent) => void;
212
+ onDragover: (e: DragEvent) => void;
213
+ onDragleave: (e: DragEvent) => void;
214
+ onDrop: (e: DragEvent) => void;
215
+ };
216
+ /** Input props for the hidden file input */
217
+ inputProps: {
218
+ type: "file";
219
+ multiple: boolean;
220
+ accept: string | undefined;
221
+ };
222
+ /** Input change handler */
223
+ onInputChange: (e: Event) => void;
224
+ /** Ref for the file input element */
225
+ inputRef: typeof inputRef$1;
226
+ };
227
+ type __VLS_Slots$21 = {} & {
228
+ default?: (props: typeof __VLS_1$19) => any;
229
+ };
230
+ declare const __VLS_base$21: vue20.DefineComponent<FlowDropZoneProps, {}, {}, {}, {}, vue20.ComponentOptionsMixin, vue20.ComponentOptionsMixin, {}, string, vue20.PublicProps, Readonly<FlowDropZoneProps> & Readonly<{}>, {
231
+ accept: string;
232
+ maxFileSize: number;
233
+ }, {}, {}, {}, string, vue20.ComponentProvideOptions, false, {}, any>;
234
+ declare const __VLS_export$24: __VLS_WithSlots$23<typeof __VLS_base$21, __VLS_Slots$21>;
235
+ declare const _default$24: typeof __VLS_export$24;
236
+ type __VLS_WithSlots$23<T, S> = T & {
237
+ new (): {
238
+ $slots: S;
239
+ };
240
+ };
241
+ //# sourceMappingURL=FlowDropZone.vue.d.ts.map
242
+ //#endregion
243
+ //#region src/components/flow/FlowError.vue.d.ts
244
+ /**
245
+ * Slot props provided to the default slot.
246
+ */
247
+ interface FlowErrorSlotProps {
248
+ /** Error object (null if no error) */
249
+ error: Error | null;
250
+ /** Whether there is an error */
251
+ hasError: boolean;
252
+ /** Error message */
253
+ message: string | null;
254
+ /** Reset the flow */
255
+ reset: () => void;
256
+ }
257
+ declare var __VLS_1$18: {
258
+ /** Error object (null if no error) */
259
+ error: Error | null;
260
+ /** Whether there is an error */
261
+ hasError: boolean;
262
+ /** Error message */
263
+ message: string | null;
264
+ /** Reset the flow */
265
+ reset: () => void;
266
+ };
267
+ type __VLS_Slots$20 = {} & {
268
+ default?: (props: typeof __VLS_1$18) => any;
269
+ };
270
+ declare const __VLS_base$20: vue20.DefineComponent<{}, {}, {}, {}, {}, vue20.ComponentOptionsMixin, vue20.ComponentOptionsMixin, {}, string, vue20.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue20.ComponentProvideOptions, true, {}, any>;
271
+ declare const __VLS_export$23: __VLS_WithSlots$22<typeof __VLS_base$20, __VLS_Slots$20>;
272
+ declare const _default$23: typeof __VLS_export$23;
273
+ type __VLS_WithSlots$22<T, S> = T & {
274
+ new (): {
275
+ $slots: S;
276
+ };
277
+ };
278
+ //# sourceMappingURL=FlowError.vue.d.ts.map
279
+ //#endregion
280
+ //#region src/components/flow/useFlowContext.d.ts
281
+ /**
282
+ * Injection key for the Flow context
283
+ */
284
+ declare const FLOW_CONTEXT_KEY = "flowContext";
285
+ /**
286
+ * Injection key for the FlowInput context
287
+ */
288
+ declare const FLOW_INPUT_CONTEXT_KEY = "flowInputContext";
289
+ /**
290
+ * Context value for a specific input node within a Flow.
291
+ */
292
+ interface FlowInputContextValue {
293
+ /** Input node ID */
294
+ nodeId: string;
295
+ /** Input metadata from flow discovery */
296
+ metadata: {
297
+ nodeId: string;
298
+ nodeName: string;
299
+ nodeDescription: string;
300
+ inputTypeId?: string;
301
+ required: boolean;
302
+ };
303
+ /** Current value for this input */
304
+ value: unknown;
305
+ /** Set the value for this input */
306
+ setValue: (value: unknown) => void;
307
+ /** Per-input execution state (if available) */
308
+ state: {
309
+ status: string;
310
+ progress: number;
311
+ error: Error | null;
312
+ } | undefined;
313
+ }
314
+ /**
315
+ * Hook to access flow context from within a Flow component.
316
+ * @throws Error if used outside of a Flow component
317
+ */
318
+ declare function useFlowContext(): FlowContextValue;
319
+ /**
320
+ * Hook to access flow input context from within a FlowInput component.
321
+ * @throws Error if used outside of a FlowInput component
322
+ */
323
+ declare function useFlowInputContext(): FlowInputContextValue;
324
+ //#endregion
325
+ //#region src/components/flow/FlowInput.vue.d.ts
326
+ /**
327
+ * Props for FlowInput component.
328
+ */
329
+ interface FlowInputProps {
330
+ /** Input node ID */
331
+ nodeId: string;
332
+ }
333
+ /**
334
+ * Slot props provided to the default slot.
335
+ */
336
+ interface FlowInputSlotProps {
337
+ /** Input node ID */
338
+ nodeId: string;
339
+ /** Input metadata from flow discovery */
340
+ metadata: FlowInputContextValue["metadata"] | undefined;
341
+ /** Current value for this input */
342
+ value: unknown;
343
+ /** Set the value for this input */
344
+ setValue: (value: unknown) => void;
345
+ /** Per-input execution state (if available) */
346
+ state: FlowInputContextValue["state"];
347
+ }
348
+ declare var __VLS_1$17: {
349
+ /** Input node ID */
350
+ nodeId: string;
351
+ /** Input metadata from flow discovery */
352
+ metadata: FlowInputContextValue["metadata"] | undefined;
353
+ /** Current value for this input */
354
+ value: unknown;
355
+ /** Set the value for this input */
356
+ setValue: (value: unknown) => void;
357
+ /** Per-input execution state (if available) */
358
+ state: FlowInputContextValue["state"];
359
+ };
360
+ type __VLS_Slots$19 = {} & {
361
+ default?: (props: typeof __VLS_1$17) => any;
362
+ };
363
+ declare const __VLS_base$19: vue20.DefineComponent<FlowInputProps, {}, {}, {}, {}, vue20.ComponentOptionsMixin, vue20.ComponentOptionsMixin, {}, string, vue20.PublicProps, Readonly<FlowInputProps> & Readonly<{}>, {}, {}, {}, {}, string, vue20.ComponentProvideOptions, false, {}, any>;
364
+ declare const __VLS_export$22: __VLS_WithSlots$21<typeof __VLS_base$19, __VLS_Slots$19>;
365
+ declare const _default$22: typeof __VLS_export$22;
366
+ type __VLS_WithSlots$21<T, S> = T & {
367
+ new (): {
368
+ $slots: S;
369
+ };
370
+ };
371
+ //# sourceMappingURL=FlowInput.vue.d.ts.map
372
+ //#endregion
373
+ //#region src/components/flow/FlowInputDropZone.vue.d.ts
374
+ /**
375
+ * Props for FlowInputDropZone component.
376
+ */
377
+ interface FlowInputDropZoneProps {
378
+ /** Accepted file types (e.g., "image/*", ".pdf") */
379
+ accept?: string;
380
+ /** Maximum file size in bytes */
381
+ maxFileSize?: number;
382
+ }
383
+ declare const inputRef: vue20.Ref<HTMLInputElement | null, HTMLInputElement | null>;
384
+ /**
385
+ * Slot props provided to the default slot.
386
+ */
387
+ interface FlowInputDropZoneSlotProps {
388
+ /** Whether files are being dragged over */
389
+ isDragging: boolean;
390
+ /** Whether drag is over the zone */
391
+ isOver: boolean;
392
+ /** Current value for this input */
393
+ value: unknown;
394
+ /** Per-input progress (if available) */
395
+ progress: number;
396
+ /** Per-input status (if available) */
397
+ status: string;
398
+ /** Current drag-drop state */
399
+ dragDropState: DragDropState;
400
+ /** Open file picker programmatically */
401
+ openFilePicker: () => void;
402
+ /** Drag event handlers to spread on the container */
403
+ dragHandlers: {
404
+ onDragenter: (e: DragEvent) => void;
405
+ onDragover: (e: DragEvent) => void;
406
+ onDragleave: (e: DragEvent) => void;
407
+ onDrop: (e: DragEvent) => void;
408
+ };
409
+ /** Input props for the hidden file input */
410
+ inputProps: {
411
+ type: "file";
412
+ multiple: boolean;
413
+ accept: string | undefined;
414
+ };
415
+ /** Input change handler */
416
+ onInputChange: (e: Event) => void;
417
+ /** Ref for the file input element */
418
+ inputRef: typeof inputRef;
419
+ }
420
+ declare var __VLS_1$16: {
421
+ /** Whether files are being dragged over */
422
+ isDragging: boolean;
423
+ /** Whether drag is over the zone */
424
+ isOver: boolean;
425
+ /** Current value for this input */
426
+ value: unknown;
427
+ /** Per-input progress (if available) */
428
+ progress: number;
429
+ /** Per-input status (if available) */
430
+ status: string;
431
+ /** Current drag-drop state */
432
+ dragDropState: DragDropState;
433
+ /** Open file picker programmatically */
434
+ openFilePicker: () => void;
435
+ /** Drag event handlers to spread on the container */
436
+ dragHandlers: {
437
+ onDragenter: (e: DragEvent) => void;
438
+ onDragover: (e: DragEvent) => void;
439
+ onDragleave: (e: DragEvent) => void;
440
+ onDrop: (e: DragEvent) => void;
441
+ };
442
+ /** Input props for the hidden file input */
443
+ inputProps: {
444
+ type: "file";
445
+ multiple: boolean;
446
+ accept: string | undefined;
447
+ };
448
+ /** Input change handler */
449
+ onInputChange: (e: Event) => void;
450
+ /** Ref for the file input element */
451
+ inputRef: typeof inputRef;
452
+ };
453
+ type __VLS_Slots$18 = {} & {
454
+ default?: (props: typeof __VLS_1$16) => any;
455
+ };
456
+ declare const __VLS_base$18: vue20.DefineComponent<FlowInputDropZoneProps, {}, {}, {}, {}, vue20.ComponentOptionsMixin, vue20.ComponentOptionsMixin, {}, string, vue20.PublicProps, Readonly<FlowInputDropZoneProps> & Readonly<{}>, {
457
+ accept: string;
458
+ maxFileSize: number;
459
+ }, {}, {}, {}, string, vue20.ComponentProvideOptions, false, {}, any>;
460
+ declare const __VLS_export$21: __VLS_WithSlots$20<typeof __VLS_base$18, __VLS_Slots$18>;
461
+ declare const _default$21: typeof __VLS_export$21;
462
+ type __VLS_WithSlots$20<T, S> = T & {
463
+ new (): {
464
+ $slots: S;
465
+ };
466
+ };
467
+ //# sourceMappingURL=FlowInputDropZone.vue.d.ts.map
468
+ //#endregion
469
+ //#region src/components/flow/FlowInputPreview.vue.d.ts
470
+ /**
471
+ * Slot props provided to the default slot.
472
+ */
473
+ interface FlowInputPreviewSlotProps {
474
+ /** Current value */
475
+ value: unknown;
476
+ /** Whether value is a File */
477
+ isFile: boolean;
478
+ /** Whether value is a URL string */
479
+ isUrl: boolean;
480
+ /** File name (if value is File) */
481
+ fileName: string | null;
482
+ /** File size in bytes (if value is File) */
483
+ fileSize: number | null;
484
+ /** Clear the input value */
485
+ clear: () => void;
486
+ }
487
+ declare var __VLS_1$15: {
488
+ /** Current value */
489
+ value: unknown;
490
+ /** Whether value is a File */
491
+ isFile: boolean;
492
+ /** Whether value is a URL string */
493
+ isUrl: boolean;
494
+ /** File name (if value is File) */
495
+ fileName: string | null;
496
+ /** File size in bytes (if value is File) */
497
+ fileSize: number | null;
498
+ /** Clear the input value */
499
+ clear: () => void;
500
+ };
501
+ type __VLS_Slots$17 = {} & {
502
+ default?: (props: typeof __VLS_1$15) => any;
503
+ };
504
+ declare const __VLS_base$17: vue20.DefineComponent<{}, {}, {}, {}, {}, vue20.ComponentOptionsMixin, vue20.ComponentOptionsMixin, {}, string, vue20.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue20.ComponentProvideOptions, true, {}, any>;
505
+ declare const __VLS_export$20: __VLS_WithSlots$19<typeof __VLS_base$17, __VLS_Slots$17>;
506
+ declare const _default$20: typeof __VLS_export$20;
507
+ type __VLS_WithSlots$19<T, S> = T & {
508
+ new (): {
509
+ $slots: S;
510
+ };
511
+ };
512
+ //# sourceMappingURL=FlowInputPreview.vue.d.ts.map
513
+ //#endregion
514
+ //#region src/components/flow/FlowInputs.vue.d.ts
515
+ /**
516
+ * Slot props provided to the default slot.
517
+ */
518
+ interface FlowInputsSlotProps {
519
+ /** Discovered input metadata */
520
+ inputs: FlowInputMetadata[];
521
+ /** Whether inputs are still being discovered */
522
+ isLoading: boolean;
523
+ }
524
+ declare var __VLS_1$14: {
525
+ /** Discovered input metadata */
526
+ inputs: FlowInputMetadata[];
527
+ /** Whether inputs are still being discovered */
528
+ isLoading: boolean;
529
+ };
530
+ type __VLS_Slots$16 = {} & {
531
+ default?: (props: typeof __VLS_1$14) => any;
532
+ };
533
+ declare const __VLS_base$16: vue20.DefineComponent<{}, {}, {}, {}, {}, vue20.ComponentOptionsMixin, vue20.ComponentOptionsMixin, {}, string, vue20.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue20.ComponentProvideOptions, true, {}, any>;
534
+ declare const __VLS_export$19: __VLS_WithSlots$18<typeof __VLS_base$16, __VLS_Slots$16>;
535
+ declare const _default$19: typeof __VLS_export$19;
536
+ type __VLS_WithSlots$18<T, S> = T & {
537
+ new (): {
538
+ $slots: S;
539
+ };
540
+ };
541
+ //# sourceMappingURL=FlowInputs.vue.d.ts.map
542
+ //#endregion
543
+ //#region src/components/flow/FlowInputUrlField.vue.d.ts
544
+ /**
545
+ * Props for FlowInputUrlField component.
546
+ */
547
+ interface FlowInputUrlFieldProps {
548
+ /** Placeholder text */
549
+ placeholder?: string;
550
+ }
551
+ declare const _default$18: typeof __VLS_export$18;
552
+ declare const __VLS_export$18: vue20.DefineComponent<FlowInputUrlFieldProps, {}, {}, {}, {}, vue20.ComponentOptionsMixin, vue20.ComponentOptionsMixin, {}, string, vue20.PublicProps, Readonly<FlowInputUrlFieldProps> & Readonly<{}>, {
553
+ placeholder: string;
554
+ }, {}, {}, {}, string, vue20.ComponentProvideOptions, false, {}, any>;
555
+ //# sourceMappingURL=FlowInputUrlField.vue.d.ts.map
556
+ //#endregion
557
+ //#region src/components/flow/FlowProgress.vue.d.ts
558
+ /**
559
+ * Slot props provided to the default slot.
560
+ */
561
+ interface FlowProgressSlotProps {
562
+ /** Progress percentage (0-100) */
563
+ progress: number;
564
+ /** Bytes uploaded so far */
565
+ bytesUploaded: number;
566
+ /** Total bytes to upload (null if unknown) */
567
+ totalBytes: number | null;
568
+ /** Current status */
569
+ status: FlowUploadStatus;
570
+ }
571
+ declare var __VLS_1$13: {
572
+ /** Progress percentage (0-100) */
573
+ progress: number;
574
+ /** Bytes uploaded so far */
575
+ bytesUploaded: number;
576
+ /** Total bytes to upload (null if unknown) */
577
+ totalBytes: number | null;
578
+ /** Current status */
579
+ status: FlowUploadStatus;
580
+ };
581
+ type __VLS_Slots$15 = {} & {
582
+ default?: (props: typeof __VLS_1$13) => any;
583
+ };
584
+ declare const __VLS_base$15: vue20.DefineComponent<{}, {}, {}, {}, {}, vue20.ComponentOptionsMixin, vue20.ComponentOptionsMixin, {}, string, vue20.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue20.ComponentProvideOptions, true, {}, any>;
585
+ declare const __VLS_export$17: __VLS_WithSlots$17<typeof __VLS_base$15, __VLS_Slots$15>;
586
+ declare const _default$17: typeof __VLS_export$17;
587
+ type __VLS_WithSlots$17<T, S> = T & {
588
+ new (): {
589
+ $slots: S;
590
+ };
591
+ };
592
+ //# sourceMappingURL=FlowProgress.vue.d.ts.map
593
+ //#endregion
594
+ //#region src/components/flow/FlowReset.vue.d.ts
595
+ declare const _default$16: typeof __VLS_export$16;
596
+ declare const __VLS_export$16: __VLS_WithSlots$16<vue20.DefineComponent<{}, {}, {}, {}, {}, vue20.ComponentOptionsMixin, vue20.ComponentOptionsMixin, {}, string, vue20.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue20.ComponentProvideOptions, true, {}, any>, {
597
+ default?: (props: {}) => any;
598
+ }>;
599
+ type __VLS_WithSlots$16<T, S> = T & {
600
+ new (): {
601
+ $slots: S;
602
+ };
603
+ };
604
+ //# sourceMappingURL=FlowReset.vue.d.ts.map
605
+ //#endregion
606
+ //#region src/components/flow/FlowStatus.vue.d.ts
607
+ /**
608
+ * Slot props provided to the default slot.
609
+ */
610
+ interface FlowStatusSlotProps {
611
+ /** Current status */
612
+ status: FlowUploadStatus;
613
+ /** Current node being processed (if any) */
614
+ currentNodeName: string | null;
615
+ /** Current node type (if any) */
616
+ currentNodeType: string | null;
617
+ /** Error (if status is error) */
618
+ error: Error | null;
619
+ /** Job ID (if started) */
620
+ jobId: string | null;
621
+ /** Whether flow has started */
622
+ flowStarted: boolean;
623
+ /** Flow outputs (if completed) */
624
+ flowOutputs: TypedOutput[] | null;
625
+ }
626
+ declare var __VLS_1$12: {
627
+ /** Current status */
628
+ status: FlowUploadStatus;
629
+ /** Current node being processed (if any) */
630
+ currentNodeName: string | null;
631
+ /** Current node type (if any) */
632
+ currentNodeType: string | null;
633
+ /** Error (if status is error) */
634
+ error: Error | null;
635
+ /** Job ID (if started) */
636
+ jobId: string | null;
637
+ /** Whether flow has started */
638
+ flowStarted: boolean;
639
+ /** Flow outputs (if completed) */
640
+ flowOutputs: TypedOutput[] | null;
641
+ };
642
+ type __VLS_Slots$14 = {} & {
643
+ default?: (props: typeof __VLS_1$12) => any;
644
+ };
645
+ declare const __VLS_base$14: vue20.DefineComponent<{}, {}, {}, {}, {}, vue20.ComponentOptionsMixin, vue20.ComponentOptionsMixin, {}, string, vue20.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue20.ComponentProvideOptions, true, {}, any>;
646
+ declare const __VLS_export$15: __VLS_WithSlots$15<typeof __VLS_base$14, __VLS_Slots$14>;
647
+ declare const _default$15: typeof __VLS_export$15;
648
+ type __VLS_WithSlots$15<T, S> = T & {
649
+ new (): {
650
+ $slots: S;
651
+ };
652
+ };
653
+ //# sourceMappingURL=FlowStatus.vue.d.ts.map
654
+ //#endregion
655
+ //#region src/components/flow/FlowSubmit.vue.d.ts
656
+ declare const _default$14: typeof __VLS_export$14;
657
+ declare const __VLS_export$14: __VLS_WithSlots$14<vue20.DefineComponent<{}, {}, {}, {}, {}, vue20.ComponentOptionsMixin, vue20.ComponentOptionsMixin, {}, string, vue20.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue20.ComponentProvideOptions, true, {}, any>, {
658
+ default?: (props: {}) => any;
659
+ }>;
660
+ type __VLS_WithSlots$14<T, S> = T & {
661
+ new (): {
662
+ $slots: S;
663
+ };
664
+ };
665
+ //# sourceMappingURL=FlowSubmit.vue.d.ts.map
666
+
667
+ //#endregion
668
+ //#region src/components/UploadList.vue.d.ts
669
+ /**
670
+ * Props for the UploadList component
671
+ * @property {UploadItem[]} uploads - Array of upload items to display
672
+ * @property {Function} filter - Optional filter for which items to display
673
+ * @property {Function} sortBy - Optional sorting function for items (a, b) => number
674
+ */
675
+ interface UploadListProps {
676
+ /**
677
+ * Array of upload items to display
678
+ */
679
+ uploads: UploadItem[];
680
+ /**
681
+ * Optional filter for which items to display
682
+ */
683
+ filter?: (item: UploadItem) => boolean;
684
+ /**
685
+ * Optional sorting function for items
686
+ */
687
+ sortBy?: (a: UploadItem, b: UploadItem) => number;
688
+ }
689
+ type __VLS_Slots$13 = {
690
+ item(props: {
691
+ item: UploadItem;
692
+ index: number;
693
+ isUploading: boolean;
694
+ isSuccess: boolean;
695
+ isError: boolean;
696
+ formatFileSize: (bytes: number) => string;
697
+ }): VNodeChild;
698
+ default?(props: {
699
+ items: UploadItem[];
700
+ itemsByStatus: {
701
+ idle: UploadItem[];
702
+ uploading: UploadItem[];
703
+ success: UploadItem[];
704
+ error: UploadItem[];
705
+ aborted: UploadItem[];
706
+ };
707
+ }): VNodeChild;
708
+ };
709
+ declare const __VLS_base$13: vue20.DefineComponent<UploadListProps, {}, {}, {}, {}, vue20.ComponentOptionsMixin, vue20.ComponentOptionsMixin, {}, string, vue20.PublicProps, Readonly<UploadListProps> & Readonly<{}>, {}, {}, {}, {}, string, vue20.ComponentProvideOptions, false, {}, any>;
710
+ declare const __VLS_export$13: __VLS_WithSlots$13<typeof __VLS_base$13, __VLS_Slots$13>;
711
+ declare const _default$13: typeof __VLS_export$13;
712
+ type __VLS_WithSlots$13<T, S> = T & {
713
+ new (): {
714
+ $slots: S;
715
+ };
716
+ };
717
+ //# sourceMappingURL=UploadList.vue.d.ts.map
718
+ //#endregion
719
+ //#region src/components/UploadZone.vue.d.ts
720
+ /**
721
+ * Props for the UploadZone component
722
+ * @property {string[]} accept - Accepted file types (MIME types or file extensions)
723
+ * @property {boolean} multiple - Whether to allow multiple files (default: true)
724
+ * @property {boolean} disabled - Whether the upload zone is disabled (default: false)
725
+ * @property {number} maxFileSize - Maximum file size in bytes
726
+ * @property {Function} validator - Custom validation function for files
727
+ * @property {MultiUploadOptions} multiUploadOptions - Multi-upload options (only used when multiple=true)
728
+ * @property {UploadOptions} uploadOptions - Single upload options (only used when multiple=false)
729
+ */
730
+ interface UploadZoneProps {
731
+ /**
732
+ * Accepted file types (MIME types or file extensions)
733
+ */
734
+ accept?: string[];
735
+ /**
736
+ * Whether to allow multiple files
737
+ */
738
+ multiple?: boolean;
739
+ /**
740
+ * Whether the upload zone is disabled
741
+ */
742
+ disabled?: boolean;
743
+ /**
744
+ * Maximum file size in bytes
745
+ */
746
+ maxFileSize?: number;
747
+ /**
748
+ * Custom validation function for files
749
+ */
750
+ validator?: (files: File[]) => string[] | null;
751
+ /**
752
+ * Multi-upload options (only used when multiple=true)
753
+ */
754
+ multiUploadOptions?: MultiUploadOptions;
755
+ /**
756
+ * Single upload options (only used when multiple=false)
757
+ */
758
+ uploadOptions?: UploadOptions;
759
+ }
760
+ type __VLS_Slots$12 = {
761
+ default(props: {
762
+ isDragging: boolean;
763
+ isOver: boolean;
764
+ isUploading: boolean;
765
+ errors: string[];
766
+ openFilePicker: () => void;
767
+ }): VNodeChild;
768
+ };
769
+ declare const __VLS_base$12: vue20.DefineComponent<UploadZoneProps, {}, {}, {}, {}, vue20.ComponentOptionsMixin, vue20.ComponentOptionsMixin, {
770
+ "file-select": (files: File[]) => any;
771
+ "upload-start": (files: File[]) => any;
772
+ "validation-error": (errors: string[]) => any;
773
+ }, string, vue20.PublicProps, Readonly<UploadZoneProps> & Readonly<{
774
+ "onFile-select"?: ((files: File[]) => any) | undefined;
775
+ "onUpload-start"?: ((files: File[]) => any) | undefined;
776
+ "onValidation-error"?: ((errors: string[]) => any) | undefined;
777
+ }>, {
778
+ multiple: boolean;
779
+ disabled: boolean;
780
+ }, {}, {}, {}, string, vue20.ComponentProvideOptions, false, {}, any>;
781
+ declare const __VLS_export$12: __VLS_WithSlots$12<typeof __VLS_base$12, __VLS_Slots$12>;
782
+ declare const _default$12: typeof __VLS_export$12;
783
+ type __VLS_WithSlots$12<T, S> = T & {
784
+ new (): {
785
+ $slots: S;
786
+ };
787
+ };
788
+ //# sourceMappingURL=UploadZone.vue.d.ts.map
789
+ //#endregion
790
+ //#region src/components/upload/Upload.vue.d.ts
791
+ /**
792
+ * Props for the Upload root component.
793
+ */
794
+ interface UploadProps {
795
+ /** Whether to allow multiple file uploads (default: false) */
796
+ multiple?: boolean;
797
+ /** Maximum concurrent uploads (default: 3, only used in multi mode) */
798
+ maxConcurrent?: number;
799
+ /** Whether to auto-start uploads when files are received (default: true) */
800
+ autoStart?: boolean;
801
+ /** Metadata to attach to uploads */
802
+ metadata?: Record<string, string>;
803
+ }
804
+ /**
805
+ * Context value provided by the Upload component root.
806
+ * Contains all upload state and actions.
807
+ */
808
+ interface UploadContextValue {
809
+ /** Whether in multi-file mode */
810
+ mode: "single" | "multi";
811
+ /** Current multi-upload state (aggregate) */
812
+ state: MultiUploadState;
813
+ /** All upload items */
814
+ items: readonly UploadItem[];
815
+ /** Whether auto-start is enabled */
816
+ autoStart: boolean;
817
+ /** Add files to the upload queue */
818
+ addFiles: (files: File[]) => void;
819
+ /** Remove an item from the queue */
820
+ removeItem: (id: string) => void;
821
+ /** Start all pending uploads */
822
+ startAll: () => void;
823
+ /** Abort a specific upload by ID */
824
+ abortUpload: (id: string) => void;
825
+ /** Abort all active uploads */
826
+ abortAll: () => void;
827
+ /** Retry a specific failed upload by ID */
828
+ retryUpload: (id: string) => void;
829
+ /** Retry all failed uploads */
830
+ retryFailed: () => void;
831
+ /** Clear all completed uploads */
832
+ clearCompleted: () => void;
833
+ /** Clear all items and reset state */
834
+ clearAll: () => void;
835
+ /** Internal handler for files received from drop zone */
836
+ handleFilesReceived: (files: File[]) => void;
837
+ }
838
+ declare var __VLS_1$11: {};
839
+ type __VLS_Slots$11 = {} & {
840
+ default?: (props: typeof __VLS_1$11) => any;
841
+ };
842
+ declare const __VLS_base$11: vue20.DefineComponent<UploadProps, vue20.ComputedRef<UploadContextValue>, {}, {}, {}, vue20.ComponentOptionsMixin, vue20.ComponentOptionsMixin, {
843
+ progress: (item: UploadItem, progress: number, bytesUploaded: number, totalBytes: number | null) => any;
844
+ success: (result: UploadFile) => any;
845
+ error: (error: Error, item?: UploadItem | undefined) => any;
846
+ complete: (results: {
847
+ successful: UploadItem[];
848
+ failed: UploadItem[];
849
+ total: number;
850
+ }) => any;
851
+ uploadStart: (item: UploadItem) => any;
852
+ }, string, vue20.PublicProps, Readonly<UploadProps> & Readonly<{
853
+ onProgress?: ((item: UploadItem, progress: number, bytesUploaded: number, totalBytes: number | null) => any) | undefined;
854
+ onSuccess?: ((result: UploadFile) => any) | undefined;
855
+ onError?: ((error: Error, item?: UploadItem | undefined) => any) | undefined;
856
+ onComplete?: ((results: {
857
+ successful: UploadItem[];
858
+ failed: UploadItem[];
859
+ total: number;
860
+ }) => any) | undefined;
861
+ onUploadStart?: ((item: UploadItem) => any) | undefined;
862
+ }>, {
863
+ multiple: boolean;
864
+ maxConcurrent: number;
865
+ autoStart: boolean;
866
+ }, {}, {}, {}, string, vue20.ComponentProvideOptions, false, {}, any>;
867
+ declare const __VLS_export$11: __VLS_WithSlots$11<typeof __VLS_base$11, __VLS_Slots$11>;
868
+ declare const _default$11: typeof __VLS_export$11;
869
+ type __VLS_WithSlots$11<T, S> = T & {
870
+ new (): {
871
+ $slots: S;
872
+ };
873
+ };
874
+ //# sourceMappingURL=Upload.vue.d.ts.map
875
+ //#endregion
876
+ //#region src/components/upload/UploadCancel.vue.d.ts
877
+ declare var __VLS_1$10: {};
878
+ type __VLS_Slots$10 = {} & {
879
+ default?: (props: typeof __VLS_1$10) => any;
880
+ };
881
+ declare const __VLS_base$10: vue20.DefineComponent<{}, {}, {}, {}, {}, vue20.ComponentOptionsMixin, vue20.ComponentOptionsMixin, {}, string, vue20.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue20.ComponentProvideOptions, true, {}, any>;
882
+ declare const __VLS_export$10: __VLS_WithSlots$10<typeof __VLS_base$10, __VLS_Slots$10>;
883
+ declare const _default$10: typeof __VLS_export$10;
884
+ type __VLS_WithSlots$10<T, S> = T & {
885
+ new (): {
886
+ $slots: S;
887
+ };
888
+ };
889
+ //# sourceMappingURL=UploadCancel.vue.d.ts.map
890
+ //#endregion
891
+ //#region src/components/upload/UploadClearCompleted.vue.d.ts
892
+ declare var __VLS_1$9: {};
893
+ type __VLS_Slots$9 = {} & {
894
+ default?: (props: typeof __VLS_1$9) => any;
895
+ };
896
+ declare const __VLS_base$9: vue20.DefineComponent<{}, {}, {}, {}, {}, vue20.ComponentOptionsMixin, vue20.ComponentOptionsMixin, {}, string, vue20.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue20.ComponentProvideOptions, true, {}, any>;
897
+ declare const __VLS_export$9: __VLS_WithSlots$9<typeof __VLS_base$9, __VLS_Slots$9>;
898
+ declare const _default$9: typeof __VLS_export$9;
899
+ type __VLS_WithSlots$9<T, S> = T & {
900
+ new (): {
901
+ $slots: S;
902
+ };
903
+ };
904
+ //# sourceMappingURL=UploadClearCompleted.vue.d.ts.map
905
+ //#endregion
906
+ //#region src/components/upload/UploadDropZone.vue.d.ts
907
+ /**
908
+ * Props for UploadDropZone component.
909
+ */
910
+ interface UploadDropZoneProps {
911
+ /** Accepted file types (e.g., "image/*", ".pdf") */
912
+ accept?: string;
913
+ /** Maximum file size in bytes */
914
+ maxFileSize?: number;
915
+ /** Maximum number of files (only in multi mode) */
916
+ maxFiles?: number;
917
+ }
918
+ /**
919
+ * Slot props for UploadDropZone component.
920
+ */
921
+ interface UploadDropZoneSlotProps {
922
+ /** Whether files are being dragged over */
923
+ isDragging: boolean;
924
+ /** Whether drag is over the zone */
925
+ isOver: boolean;
926
+ /** Validation errors */
927
+ errors: readonly string[];
928
+ /** Drag event handlers to bind to the drop zone element */
929
+ dragHandlers: {
930
+ onDragenter: (event: DragEvent) => void;
931
+ onDragover: (event: DragEvent) => void;
932
+ onDragleave: (event: DragEvent) => void;
933
+ onDrop: (event: DragEvent) => void;
934
+ };
935
+ /** Input props for the hidden file input */
936
+ inputProps: {
937
+ type: "file";
938
+ multiple: boolean;
939
+ accept: string | undefined;
940
+ };
941
+ /** Handler for input change event */
942
+ onInputChange: (event: Event) => void;
943
+ /** Open file picker programmatically */
944
+ openFilePicker: () => void;
945
+ /** Current drag-drop state */
946
+ dragDropState: DragDropState;
947
+ }
948
+ declare var __VLS_1$8: {
949
+ /** Whether files are being dragged over */
950
+ isDragging: boolean;
951
+ /** Whether drag is over the zone */
952
+ isOver: boolean;
953
+ /** Validation errors */
954
+ errors: readonly string[];
955
+ /** Drag event handlers to bind to the drop zone element */
956
+ dragHandlers: {
957
+ onDragenter: (event: DragEvent) => void;
958
+ onDragover: (event: DragEvent) => void;
959
+ onDragleave: (event: DragEvent) => void;
960
+ onDrop: (event: DragEvent) => void;
961
+ };
962
+ /** Input props for the hidden file input */
963
+ inputProps: {
964
+ type: "file";
965
+ multiple: boolean;
966
+ accept: string | undefined;
967
+ };
968
+ /** Handler for input change event */
969
+ onInputChange: (event: Event) => void;
970
+ /** Open file picker programmatically */
971
+ openFilePicker: () => void;
972
+ /** Current drag-drop state */
973
+ dragDropState: DragDropState;
974
+ };
975
+ type __VLS_Slots$8 = {} & {
976
+ default?: (props: typeof __VLS_1$8) => any;
977
+ };
978
+ declare const __VLS_base$8: vue20.DefineComponent<UploadDropZoneProps, {
979
+ inputRef: vue20.Ref<HTMLInputElement | undefined, HTMLInputElement | undefined>;
980
+ }, {}, {}, {}, vue20.ComponentOptionsMixin, vue20.ComponentOptionsMixin, {}, string, vue20.PublicProps, Readonly<UploadDropZoneProps> & Readonly<{}>, {}, {}, {}, {}, string, vue20.ComponentProvideOptions, false, {}, any>;
981
+ declare const __VLS_export$8: __VLS_WithSlots$8<typeof __VLS_base$8, __VLS_Slots$8>;
982
+ declare const _default$8: typeof __VLS_export$8;
983
+ type __VLS_WithSlots$8<T, S> = T & {
984
+ new (): {
985
+ $slots: S;
986
+ };
987
+ };
988
+ //# sourceMappingURL=UploadDropZone.vue.d.ts.map
989
+ //#endregion
990
+ //#region src/components/upload/UploadError.vue.d.ts
991
+ /**
992
+ * Slot props for UploadError component.
993
+ */
994
+ interface UploadErrorSlotProps {
995
+ /** Whether there are any errors */
996
+ hasError: boolean;
997
+ /** Number of failed uploads */
998
+ failedCount: number;
999
+ /** Failed items */
1000
+ failedItems: readonly UploadItem[];
1001
+ /** Reset/clear all errors */
1002
+ reset: () => void;
1003
+ }
1004
+ declare var __VLS_1$7: {
1005
+ /** Whether there are any errors */
1006
+ hasError: boolean;
1007
+ /** Number of failed uploads */
1008
+ failedCount: number;
1009
+ /** Failed items */
1010
+ failedItems: readonly UploadItem[];
1011
+ /** Reset/clear all errors */
1012
+ reset: () => void;
1013
+ };
1014
+ type __VLS_Slots$7 = {} & {
1015
+ default?: (props: typeof __VLS_1$7) => any;
1016
+ };
1017
+ declare const __VLS_base$7: vue20.DefineComponent<{}, {}, {}, {}, {}, vue20.ComponentOptionsMixin, vue20.ComponentOptionsMixin, {}, string, vue20.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue20.ComponentProvideOptions, true, {}, any>;
1018
+ declare const __VLS_export$7: __VLS_WithSlots$7<typeof __VLS_base$7, __VLS_Slots$7>;
1019
+ declare const _default$7: typeof __VLS_export$7;
1020
+ type __VLS_WithSlots$7<T, S> = T & {
1021
+ new (): {
1022
+ $slots: S;
1023
+ };
1024
+ };
1025
+ //# sourceMappingURL=UploadError.vue.d.ts.map
1026
+ //#endregion
1027
+ //#region src/components/upload/useUploadContext.d.ts
1028
+ /**
1029
+ * Injection key for the Upload context
1030
+ */
1031
+ declare const UPLOAD_CONTEXT_KEY = "uploadContext";
1032
+ /**
1033
+ * Injection key for the UploadItem context
1034
+ */
1035
+ declare const UPLOAD_ITEM_CONTEXT_KEY = "uploadItemContext";
1036
+ /**
1037
+ * Context value for a specific upload item within an Upload.
1038
+ */
1039
+ interface UploadItemContextValue {
1040
+ /** Item ID */
1041
+ id: string;
1042
+ /** The file being uploaded */
1043
+ file: File | Blob;
1044
+ /** Current upload state */
1045
+ state: {
1046
+ status: string;
1047
+ progress: number;
1048
+ bytesUploaded: number;
1049
+ totalBytes: number | null;
1050
+ error: Error | null;
1051
+ result: unknown;
1052
+ };
1053
+ /** Abort this upload */
1054
+ abort: () => void;
1055
+ /** Retry this upload */
1056
+ retry: () => void;
1057
+ /** Remove this item from the queue */
1058
+ remove: () => void;
1059
+ }
1060
+ /**
1061
+ * Composable to access upload context from within an Upload component.
1062
+ * @throws Error if used outside of an Upload component
1063
+ */
1064
+ declare function useUploadContext(): UploadContextValue;
1065
+ /**
1066
+ * Composable to access upload item context from within an UploadItem component.
1067
+ * @throws Error if used outside of an UploadItem component
1068
+ */
1069
+ declare function useUploadItemContext(): UploadItemContextValue;
1070
+ //#endregion
1071
+ //#region src/components/upload/UploadItem.vue.d.ts
1072
+ /**
1073
+ * Props for UploadItem component.
1074
+ */
1075
+ interface UploadItemProps {
1076
+ /** Item ID */
1077
+ id: string;
1078
+ }
1079
+ /**
1080
+ * Slot props for UploadItem component.
1081
+ */
1082
+ interface UploadItemSlotProps extends UploadItemContextValue {}
1083
+ declare var __VLS_1$6: {
1084
+ id: string;
1085
+ file: File | Blob;
1086
+ state: {
1087
+ status: string;
1088
+ progress: number;
1089
+ bytesUploaded: number;
1090
+ totalBytes: number | null;
1091
+ error: Error | null;
1092
+ result: unknown;
1093
+ };
1094
+ abort: () => void;
1095
+ retry: () => void;
1096
+ remove: () => void;
1097
+ };
1098
+ type __VLS_Slots$6 = {} & {
1099
+ default?: (props: typeof __VLS_1$6) => any;
1100
+ };
1101
+ declare const __VLS_base$6: vue20.DefineComponent<UploadItemProps, {}, {}, {}, {}, vue20.ComponentOptionsMixin, vue20.ComponentOptionsMixin, {}, string, vue20.PublicProps, Readonly<UploadItemProps> & Readonly<{}>, {}, {}, {}, {}, string, vue20.ComponentProvideOptions, false, {}, any>;
1102
+ declare const __VLS_export$6: __VLS_WithSlots$6<typeof __VLS_base$6, __VLS_Slots$6>;
1103
+ declare const _default$6: typeof __VLS_export$6;
1104
+ type __VLS_WithSlots$6<T, S> = T & {
1105
+ new (): {
1106
+ $slots: S;
1107
+ };
1108
+ };
1109
+ //# sourceMappingURL=UploadItem.vue.d.ts.map
1110
+ //#endregion
1111
+ //#region src/components/upload/UploadItems.vue.d.ts
1112
+ /**
1113
+ * Slot props for UploadItems component.
1114
+ */
1115
+ interface UploadItemsSlotProps {
1116
+ /** All upload items */
1117
+ items: readonly UploadItem[];
1118
+ /** Whether there are any items */
1119
+ hasItems: boolean;
1120
+ /** Whether items array is empty */
1121
+ isEmpty: boolean;
1122
+ }
1123
+ declare var __VLS_1$5: {
1124
+ /** All upload items */
1125
+ items: readonly UploadItem[];
1126
+ /** Whether there are any items */
1127
+ hasItems: boolean;
1128
+ /** Whether items array is empty */
1129
+ isEmpty: boolean;
1130
+ };
1131
+ type __VLS_Slots$5 = {} & {
1132
+ default?: (props: typeof __VLS_1$5) => any;
1133
+ };
1134
+ declare const __VLS_base$5: vue20.DefineComponent<{}, {}, {}, {}, {}, vue20.ComponentOptionsMixin, vue20.ComponentOptionsMixin, {}, string, vue20.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue20.ComponentProvideOptions, true, {}, any>;
1135
+ declare const __VLS_export$5: __VLS_WithSlots$5<typeof __VLS_base$5, __VLS_Slots$5>;
1136
+ declare const _default$5: typeof __VLS_export$5;
1137
+ type __VLS_WithSlots$5<T, S> = T & {
1138
+ new (): {
1139
+ $slots: S;
1140
+ };
1141
+ };
1142
+ //# sourceMappingURL=UploadItems.vue.d.ts.map
1143
+ //#endregion
1144
+ //#region src/components/upload/UploadProgress.vue.d.ts
1145
+ /**
1146
+ * Slot props for UploadProgress component.
1147
+ */
1148
+ interface UploadProgressSlotProps {
1149
+ /** Progress percentage (0-100) */
1150
+ progress: number;
1151
+ /** Bytes uploaded so far */
1152
+ bytesUploaded: number;
1153
+ /** Total bytes to upload */
1154
+ totalBytes: number;
1155
+ /** Whether any uploads are active */
1156
+ isUploading: boolean;
1157
+ }
1158
+ declare var __VLS_1$4: {
1159
+ /** Progress percentage (0-100) */
1160
+ progress: number;
1161
+ /** Bytes uploaded so far */
1162
+ bytesUploaded: number;
1163
+ /** Total bytes to upload */
1164
+ totalBytes: number;
1165
+ /** Whether any uploads are active */
1166
+ isUploading: boolean;
1167
+ };
1168
+ type __VLS_Slots$4 = {} & {
1169
+ default?: (props: typeof __VLS_1$4) => any;
1170
+ };
1171
+ declare const __VLS_base$4: vue20.DefineComponent<{}, {}, {}, {}, {}, vue20.ComponentOptionsMixin, vue20.ComponentOptionsMixin, {}, string, vue20.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue20.ComponentProvideOptions, true, {}, any>;
1172
+ declare const __VLS_export$4: __VLS_WithSlots$4<typeof __VLS_base$4, __VLS_Slots$4>;
1173
+ declare const _default$4: typeof __VLS_export$4;
1174
+ type __VLS_WithSlots$4<T, S> = T & {
1175
+ new (): {
1176
+ $slots: S;
1177
+ };
1178
+ };
1179
+ //# sourceMappingURL=UploadProgress.vue.d.ts.map
1180
+ //#endregion
1181
+ //#region src/components/upload/UploadReset.vue.d.ts
1182
+ declare var __VLS_1$3: {};
1183
+ type __VLS_Slots$3 = {} & {
1184
+ default?: (props: typeof __VLS_1$3) => any;
1185
+ };
1186
+ declare const __VLS_base$3: vue20.DefineComponent<{}, {}, {}, {}, {}, vue20.ComponentOptionsMixin, vue20.ComponentOptionsMixin, {}, string, vue20.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue20.ComponentProvideOptions, true, {}, any>;
1187
+ declare const __VLS_export$3: __VLS_WithSlots$3<typeof __VLS_base$3, __VLS_Slots$3>;
1188
+ declare const _default$3: typeof __VLS_export$3;
1189
+ type __VLS_WithSlots$3<T, S> = T & {
1190
+ new (): {
1191
+ $slots: S;
1192
+ };
1193
+ };
1194
+ //# sourceMappingURL=UploadReset.vue.d.ts.map
1195
+ //#endregion
1196
+ //#region src/components/upload/UploadRetry.vue.d.ts
1197
+ declare var __VLS_1$2: {};
1198
+ type __VLS_Slots$2 = {} & {
1199
+ default?: (props: typeof __VLS_1$2) => any;
1200
+ };
1201
+ declare const __VLS_base$2: vue20.DefineComponent<{}, {}, {}, {}, {}, vue20.ComponentOptionsMixin, vue20.ComponentOptionsMixin, {}, string, vue20.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue20.ComponentProvideOptions, true, {}, any>;
1202
+ declare const __VLS_export$2: __VLS_WithSlots$2<typeof __VLS_base$2, __VLS_Slots$2>;
1203
+ declare const _default$2: typeof __VLS_export$2;
1204
+ type __VLS_WithSlots$2<T, S> = T & {
1205
+ new (): {
1206
+ $slots: S;
1207
+ };
1208
+ };
1209
+ //# sourceMappingURL=UploadRetry.vue.d.ts.map
1210
+ //#endregion
1211
+ //#region src/components/upload/UploadStartAll.vue.d.ts
1212
+ declare var __VLS_1$1: {};
1213
+ type __VLS_Slots$1 = {} & {
1214
+ default?: (props: typeof __VLS_1$1) => any;
1215
+ };
1216
+ declare const __VLS_base$1: vue20.DefineComponent<{}, {}, {}, {}, {}, vue20.ComponentOptionsMixin, vue20.ComponentOptionsMixin, {}, string, vue20.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue20.ComponentProvideOptions, true, {}, any>;
1217
+ declare const __VLS_export$1: __VLS_WithSlots$1<typeof __VLS_base$1, __VLS_Slots$1>;
1218
+ declare const _default$1: typeof __VLS_export$1;
1219
+ type __VLS_WithSlots$1<T, S> = T & {
1220
+ new (): {
1221
+ $slots: S;
1222
+ };
1223
+ };
1224
+ //# sourceMappingURL=UploadStartAll.vue.d.ts.map
1225
+ //#endregion
1226
+ //#region src/components/upload/UploadStatus.vue.d.ts
1227
+ /**
1228
+ * Slot props for UploadStatus component.
1229
+ */
1230
+ interface UploadStatusSlotProps {
1231
+ /** Overall status */
1232
+ status: "idle" | "uploading" | "success" | "error";
1233
+ /** Whether idle (no uploads active or completed) */
1234
+ isIdle: boolean;
1235
+ /** Whether uploading */
1236
+ isUploading: boolean;
1237
+ /** Whether all uploads succeeded */
1238
+ isSuccess: boolean;
1239
+ /** Whether any upload failed */
1240
+ isError: boolean;
1241
+ /** Whether all uploads completed (success or failure) */
1242
+ isComplete: boolean;
1243
+ /** Number of total items */
1244
+ total: number;
1245
+ /** Number of successful uploads */
1246
+ successful: number;
1247
+ /** Number of failed uploads */
1248
+ failed: number;
1249
+ /** Number of currently uploading */
1250
+ uploading: number;
1251
+ }
1252
+ declare var __VLS_1: {
1253
+ /** Overall status */
1254
+ status: "idle" | "uploading" | "success" | "error";
1255
+ /** Whether idle (no uploads active or completed) */
1256
+ isIdle: boolean;
1257
+ /** Whether uploading */
1258
+ isUploading: boolean;
1259
+ /** Whether all uploads succeeded */
1260
+ isSuccess: boolean;
1261
+ /** Whether any upload failed */
1262
+ isError: boolean;
1263
+ /** Whether all uploads completed (success or failure) */
1264
+ isComplete: boolean;
1265
+ /** Number of total items */
1266
+ total: number;
1267
+ /** Number of successful uploads */
1268
+ successful: number;
1269
+ /** Number of failed uploads */
1270
+ failed: number;
1271
+ /** Number of currently uploading */
1272
+ uploading: number;
1273
+ };
1274
+ type __VLS_Slots = {} & {
1275
+ default?: (props: typeof __VLS_1) => any;
1276
+ };
1277
+ declare const __VLS_base: vue20.DefineComponent<{}, {}, {}, {}, {}, vue20.ComponentOptionsMixin, vue20.ComponentOptionsMixin, {}, string, vue20.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue20.ComponentProvideOptions, true, {}, any>;
1278
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
1279
+ declare const _default: typeof __VLS_export;
1280
+ type __VLS_WithSlots<T, S> = T & {
1281
+ new (): {
1282
+ $slots: S;
1283
+ };
1284
+ };
1285
+ //# sourceMappingURL=UploadStatus.vue.d.ts.map
1286
+
1287
+ //#endregion
1288
+ export { FlowErrorSlotProps as $, _default$14 as A, FlowInputPreviewSlotProps as B, _default$9 as C, _default$11 as D, UploadProps as E, _default$17 as F, FlowInputProps as G, FlowInputDropZoneProps as H, FlowInputUrlFieldProps as I, FLOW_CONTEXT_KEY as J, FlowInputSlotProps as K, _default$18 as L, _default$15 as M, _default$16 as N, _default$12 as O, FlowProgressSlotProps as P, useFlowInputContext as Q, FlowInputsSlotProps as R, _default$8 as S, UploadContextValue as T, FlowInputDropZoneSlotProps as U, _default$20 as V, _default$21 as W, FlowInputContextValue as X, FLOW_INPUT_CONTEXT_KEY as Y, useFlowContext as Z, useUploadItemContext as _, _default$3 as a, FlowContextValue as at, UploadDropZoneProps as b, UploadItemsSlotProps as c, _default$27 as ct, UploadItemSlotProps as d, _default$23 as et, _default$6 as f, useUploadContext as g, UploadItemContextValue as h, _default$2 as i, _default$25 as it, FlowStatusSlotProps as j, _default$13 as k, _default$5 as l, UPLOAD_ITEM_CONTEXT_KEY as m, _default as n, FlowDropZoneSlotProps as nt, UploadProgressSlotProps as o, FlowProps as ot, UPLOAD_CONTEXT_KEY as p, _default$22 as q, _default$1 as r, _default$24 as rt, _default$4 as s, _default$26 as st, UploadStatusSlotProps as t, FlowDropZoneProps as tt, UploadItemProps as u, UploadErrorSlotProps as v, _default$10 as w, UploadDropZoneSlotProps as x, _default$7 as y, _default$19 as z };
1289
+ //# sourceMappingURL=index-6Scxoy1b.d.mts.map