@uploadista/vue 0.0.20-beta.7 → 0.0.20-beta.9
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.
- package/dist/components/index.d.mts +2 -2
- package/dist/components/index.mjs +1 -1
- package/dist/components-BxBz_7tS.mjs +2 -0
- package/dist/components-BxBz_7tS.mjs.map +1 -0
- package/dist/composables/index.d.mts +1 -1
- package/dist/composables-BZ2c_WgI.mjs.map +1 -1
- package/dist/{index-CDJUpsAf.d.mts → index-B2fUTjNP.d.mts} +5 -5
- package/dist/index-B2fUTjNP.d.mts.map +1 -0
- package/dist/{index-Ci1I0jRB.d.mts → index-D3PNaPGh.d.mts} +178 -178
- package/dist/index-D3PNaPGh.d.mts.map +1 -0
- package/dist/{index-qvkAz1kU.d.mts → index-DiRR_Ua6.d.mts} +20 -20
- package/dist/index-DiRR_Ua6.d.mts.map +1 -0
- package/dist/index.d.mts +3 -3
- package/dist/index.mjs +1 -1
- package/dist/providers/index.d.mts +1 -1
- package/dist/providers/index.mjs +1 -1
- package/dist/providers-fqmOwF71.mjs +2 -0
- package/dist/providers-fqmOwF71.mjs.map +1 -0
- package/package.json +7 -7
- package/src/components/flow/FlowInputDropZone.vue +5 -2
- package/src/components/flow/index.ts +30 -35
- package/src/composables/useDragDrop.ts +4 -4
- package/src/providers/FlowManagerProvider.vue +9 -24
- package/dist/components-Dk25ojCY.mjs +0 -2
- package/dist/components-Dk25ojCY.mjs.map +0 -1
- package/dist/index-CDJUpsAf.d.mts.map +0 -1
- package/dist/index-Ci1I0jRB.d.mts.map +0 -1
- package/dist/index-qvkAz1kU.d.mts.map +0 -1
- package/dist/providers-DL9Qq-3z.mjs +0 -2
- package/dist/providers-DL9Qq-3z.mjs.map +0 -1
|
@@ -340,19 +340,19 @@ interface DragDropState {
|
|
|
340
340
|
/**
|
|
341
341
|
* Whether files are currently being dragged over the drop zone
|
|
342
342
|
*/
|
|
343
|
-
isDragging: boolean;
|
|
343
|
+
readonly isDragging: boolean;
|
|
344
344
|
/**
|
|
345
345
|
* Whether the drag is currently over the drop zone
|
|
346
346
|
*/
|
|
347
|
-
isOver: boolean;
|
|
347
|
+
readonly isOver: boolean;
|
|
348
348
|
/**
|
|
349
349
|
* Whether the dragged items are valid files
|
|
350
350
|
*/
|
|
351
|
-
isValid: boolean;
|
|
351
|
+
readonly isValid: boolean;
|
|
352
352
|
/**
|
|
353
353
|
* Current validation errors
|
|
354
354
|
*/
|
|
355
|
-
errors: string[];
|
|
355
|
+
readonly errors: readonly string[];
|
|
356
356
|
}
|
|
357
357
|
/**
|
|
358
358
|
* Vue composable for handling drag and drop file uploads with validation.
|
|
@@ -706,6 +706,9 @@ declare function useMultiFlowUpload(options: MultiFlowUploadOptions<BrowserUploa
|
|
|
706
706
|
readonly items: readonly {
|
|
707
707
|
readonly id: string;
|
|
708
708
|
readonly file: {
|
|
709
|
+
readonly lastModified: number;
|
|
710
|
+
readonly name: string;
|
|
711
|
+
readonly webkitRelativePath: string;
|
|
709
712
|
readonly size: number;
|
|
710
713
|
readonly type: string;
|
|
711
714
|
readonly arrayBuffer: () => Promise<ArrayBuffer>;
|
|
@@ -714,9 +717,6 @@ declare function useMultiFlowUpload(options: MultiFlowUploadOptions<BrowserUploa
|
|
|
714
717
|
readonly stream: () => ReadableStream<Uint8Array<ArrayBuffer>>;
|
|
715
718
|
readonly text: () => Promise<string>;
|
|
716
719
|
} | {
|
|
717
|
-
readonly lastModified: number;
|
|
718
|
-
readonly name: string;
|
|
719
|
-
readonly webkitRelativePath: string;
|
|
720
720
|
readonly size: number;
|
|
721
721
|
readonly type: string;
|
|
722
722
|
readonly arrayBuffer: () => Promise<ArrayBuffer>;
|
|
@@ -775,6 +775,9 @@ declare function useMultiFlowUpload(options: MultiFlowUploadOptions<BrowserUploa
|
|
|
775
775
|
readonly items: readonly {
|
|
776
776
|
readonly id: string;
|
|
777
777
|
readonly file: {
|
|
778
|
+
readonly lastModified: number;
|
|
779
|
+
readonly name: string;
|
|
780
|
+
readonly webkitRelativePath: string;
|
|
778
781
|
readonly size: number;
|
|
779
782
|
readonly type: string;
|
|
780
783
|
readonly arrayBuffer: () => Promise<ArrayBuffer>;
|
|
@@ -783,9 +786,6 @@ declare function useMultiFlowUpload(options: MultiFlowUploadOptions<BrowserUploa
|
|
|
783
786
|
readonly stream: () => ReadableStream<Uint8Array<ArrayBuffer>>;
|
|
784
787
|
readonly text: () => Promise<string>;
|
|
785
788
|
} | {
|
|
786
|
-
readonly lastModified: number;
|
|
787
|
-
readonly name: string;
|
|
788
|
-
readonly webkitRelativePath: string;
|
|
789
789
|
readonly size: number;
|
|
790
790
|
readonly type: string;
|
|
791
791
|
readonly arrayBuffer: () => Promise<ArrayBuffer>;
|
|
@@ -1144,6 +1144,9 @@ declare function useMultiUpload(options?: MultiUploadOptions): {
|
|
|
1144
1144
|
items: Readonly<vue1.Ref<readonly {
|
|
1145
1145
|
readonly id: string;
|
|
1146
1146
|
readonly file: {
|
|
1147
|
+
readonly lastModified: number;
|
|
1148
|
+
readonly name: string;
|
|
1149
|
+
readonly webkitRelativePath: string;
|
|
1147
1150
|
readonly size: number;
|
|
1148
1151
|
readonly type: string;
|
|
1149
1152
|
readonly arrayBuffer: () => Promise<ArrayBuffer>;
|
|
@@ -1152,9 +1155,6 @@ declare function useMultiUpload(options?: MultiUploadOptions): {
|
|
|
1152
1155
|
readonly stream: () => ReadableStream<Uint8Array<ArrayBuffer>>;
|
|
1153
1156
|
readonly text: () => Promise<string>;
|
|
1154
1157
|
} | {
|
|
1155
|
-
readonly lastModified: number;
|
|
1156
|
-
readonly name: string;
|
|
1157
|
-
readonly webkitRelativePath: string;
|
|
1158
1158
|
readonly size: number;
|
|
1159
1159
|
readonly type: string;
|
|
1160
1160
|
readonly arrayBuffer: () => Promise<ArrayBuffer>;
|
|
@@ -1208,6 +1208,9 @@ declare function useMultiUpload(options?: MultiUploadOptions): {
|
|
|
1208
1208
|
}[], readonly {
|
|
1209
1209
|
readonly id: string;
|
|
1210
1210
|
readonly file: {
|
|
1211
|
+
readonly lastModified: number;
|
|
1212
|
+
readonly name: string;
|
|
1213
|
+
readonly webkitRelativePath: string;
|
|
1211
1214
|
readonly size: number;
|
|
1212
1215
|
readonly type: string;
|
|
1213
1216
|
readonly arrayBuffer: () => Promise<ArrayBuffer>;
|
|
@@ -1216,9 +1219,6 @@ declare function useMultiUpload(options?: MultiUploadOptions): {
|
|
|
1216
1219
|
readonly stream: () => ReadableStream<Uint8Array<ArrayBuffer>>;
|
|
1217
1220
|
readonly text: () => Promise<string>;
|
|
1218
1221
|
} | {
|
|
1219
|
-
readonly lastModified: number;
|
|
1220
|
-
readonly name: string;
|
|
1221
|
-
readonly webkitRelativePath: string;
|
|
1222
1222
|
readonly size: number;
|
|
1223
1223
|
readonly type: string;
|
|
1224
1224
|
readonly arrayBuffer: () => Promise<ArrayBuffer>;
|
|
@@ -1283,6 +1283,9 @@ declare function useMultiUpload(options?: MultiUploadOptions): {
|
|
|
1283
1283
|
getItemsByStatus: (status: UploadStatus) => {
|
|
1284
1284
|
id: string;
|
|
1285
1285
|
file: {
|
|
1286
|
+
readonly lastModified: number;
|
|
1287
|
+
readonly name: string;
|
|
1288
|
+
readonly webkitRelativePath: string;
|
|
1286
1289
|
readonly size: number;
|
|
1287
1290
|
readonly type: string;
|
|
1288
1291
|
arrayBuffer: () => Promise<ArrayBuffer>;
|
|
@@ -1291,9 +1294,6 @@ declare function useMultiUpload(options?: MultiUploadOptions): {
|
|
|
1291
1294
|
stream: () => ReadableStream<Uint8Array<ArrayBuffer>>;
|
|
1292
1295
|
text: () => Promise<string>;
|
|
1293
1296
|
} | {
|
|
1294
|
-
readonly lastModified: number;
|
|
1295
|
-
readonly name: string;
|
|
1296
|
-
readonly webkitRelativePath: string;
|
|
1297
1297
|
readonly size: number;
|
|
1298
1298
|
readonly type: string;
|
|
1299
1299
|
arrayBuffer: () => Promise<ArrayBuffer>;
|
|
@@ -1899,4 +1899,4 @@ declare function useUploadMetrics(options?: UseUploadMetricsOptions): {
|
|
|
1899
1899
|
};
|
|
1900
1900
|
//#endregion
|
|
1901
1901
|
export { createUploadistaPlugin as A, useFlowEvents as B, useFlow as C, UPLOADISTA_CLIENT_KEY as D, useDragDrop as E, UploadValidationSuccessEventData as F, isFlowEvent as H, UploadValidationWarningEventData as I, UseUploadEventsOptions as L, UploadFileEventData as M, UploadProgressEventData as N, UPLOADISTA_EVENT_SUBSCRIBERS_KEY as O, UploadValidationFailedEventData as P, useUploadEvents as R, UseFlowReturn as S, DragDropState as T, isUploadEvent as U, useUploadistaEvents as V, useMultiFlowUpload as _, useUploadistaClient as a, FlowUploadStatus$1 as b, UploadItem as c, PerformanceInsights$1 as d, UploadInput as f, useUpload as g, UploadStatus as h, UseUploadistaClientReturn as i, UploadFailedEventData as j, UploadistaPluginOptions as k, useMultiUpload as l, UploadState as m, UseUploadMetricsOptions as n, MultiUploadOptions as o, UploadSessionMetrics$1 as p, useUploadMetrics as r, MultiUploadState as s, FileUploadMetrics as t, ChunkMetrics$1 as u, FlowInputMetadata as v, DragDropOptions as w, InputExecutionState as x, FlowUploadState as y, UseFlowEventsOptions as z };
|
|
1902
|
-
//# sourceMappingURL=index-
|
|
1902
|
+
//# sourceMappingURL=index-DiRR_Ua6.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-DiRR_Ua6.d.mts","names":[],"sources":["../src/composables/eventUtils.ts","../src/composables/useUploadistaEvents.ts","../src/composables/useFlowEvents.ts","../src/composables/useUploadEvents.ts","../src/composables/plugin.ts","../src/composables/useDragDrop.ts","../src/composables/useFlow.ts","../src/composables/useMultiFlowUpload.ts","../src/composables/useUpload.ts","../src/composables/useMultiUpload.ts","../src/composables/useUploadistaClient.ts","../src/composables/useUploadMetrics.ts"],"sourcesContent":[],"mappings":"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"}
|
package/dist/index.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { A as FlowContextValue, C as
|
|
2
|
-
import { A as createUploadistaPlugin, B as useFlowEvents, C as useFlow, D as UPLOADISTA_CLIENT_KEY, E as useDragDrop, F as UploadValidationSuccessEventData, H as isFlowEvent, I as UploadValidationWarningEventData, L as UseUploadEventsOptions, M as UploadFileEventData, N as UploadProgressEventData, O as UPLOADISTA_EVENT_SUBSCRIBERS_KEY, P as UploadValidationFailedEventData, R as useUploadEvents, S as UseFlowReturn, T as DragDropState, U as isUploadEvent, V as useUploadistaEvents, _ as useMultiFlowUpload, a as useUploadistaClient, b as FlowUploadStatus, c as UploadItem, d as PerformanceInsights, f as UploadInput, g as useUpload, h as UploadStatus, i as UseUploadistaClientReturn, j as UploadFailedEventData, k as UploadistaPluginOptions, l as useMultiUpload, m as UploadState, n as UseUploadMetricsOptions, o as MultiUploadOptions, p as UploadSessionMetrics, r as useUploadMetrics, s as MultiUploadState, t as FileUploadMetrics, u as ChunkMetrics, v as FlowInputMetadata, w as DragDropOptions, x as InputExecutionState, y as FlowUploadState, z as UseFlowEventsOptions } from "./index-
|
|
3
|
-
import { n as _default$9, t as _default$17 } from "./index-
|
|
1
|
+
import { A as FlowContextValue, C as useFlowInputContext, D as FlowDropZoneSlotProps, E as FlowDropZoneProps, F as _default$14, M as _default, N as _default$16, O as _default$2, P as _default$15, S as useFlowContext, T as _default$3, _ as FlowInputSlotProps, a as FlowProgressSlotProps, b as FLOW_INPUT_CONTEXT_KEY, c as _default$7, d as FlowInputPreviewSlotProps, f as _default$6, g as FlowInputProps, h as _default$5, i as _default$11, j as FlowProps, k as _default$1, l as FlowInputsSlotProps, m as FlowInputDropZoneSlotProps, n as FlowStatusSlotProps, o as _default$10, p as FlowInputDropZoneProps, r as _default$12, s as FlowInputUrlFieldProps, t as _default$13, u as _default$8, v as _default$4, w as FlowErrorSlotProps, x as FlowInputContextValue, y as FLOW_CONTEXT_KEY } from "./index-D3PNaPGh.mjs";
|
|
2
|
+
import { A as createUploadistaPlugin, B as useFlowEvents, C as useFlow, D as UPLOADISTA_CLIENT_KEY, E as useDragDrop, F as UploadValidationSuccessEventData, H as isFlowEvent, I as UploadValidationWarningEventData, L as UseUploadEventsOptions, M as UploadFileEventData, N as UploadProgressEventData, O as UPLOADISTA_EVENT_SUBSCRIBERS_KEY, P as UploadValidationFailedEventData, R as useUploadEvents, S as UseFlowReturn, T as DragDropState, U as isUploadEvent, V as useUploadistaEvents, _ as useMultiFlowUpload, a as useUploadistaClient, b as FlowUploadStatus, c as UploadItem, d as PerformanceInsights, f as UploadInput, g as useUpload, h as UploadStatus, i as UseUploadistaClientReturn, j as UploadFailedEventData, k as UploadistaPluginOptions, l as useMultiUpload, m as UploadState, n as UseUploadMetricsOptions, o as MultiUploadOptions, p as UploadSessionMetrics, r as useUploadMetrics, s as MultiUploadState, t as FileUploadMetrics, u as ChunkMetrics, v as FlowInputMetadata, w as DragDropOptions, x as InputExecutionState, y as FlowUploadState, z as UseFlowEventsOptions } from "./index-DiRR_Ua6.mjs";
|
|
3
|
+
import { n as _default$9, t as _default$17 } from "./index-B2fUTjNP.mjs";
|
|
4
4
|
import { a as formatSpeed, c as isAudioFile, d as isVideoFile, f as revokeFilePreview, i as formatFileSize, l as isDocumentFile, m as isBrowserFile, n as createFilePreview, o as generateUploadId, p as validateFileType, r as formatDuration, s as getFileExtension, t as calculateProgress, u as isImageFile } from "./index-BLNNvTVx.mjs";
|
|
5
5
|
export { ChunkMetrics, DragDropOptions, DragDropState, FLOW_CONTEXT_KEY, FLOW_INPUT_CONTEXT_KEY, FileUploadMetrics, _default as Flow, _default$1 as FlowCancel, FlowContextValue, _default$2 as FlowDropZone, FlowDropZoneProps, FlowDropZoneSlotProps, _default$3 as FlowError, FlowErrorSlotProps, _default$4 as FlowInput, FlowInputContextValue, _default$5 as FlowInputDropZone, FlowInputDropZoneProps, FlowInputDropZoneSlotProps, FlowInputMetadata, _default$6 as FlowInputPreview, FlowInputPreviewSlotProps, FlowInputProps, FlowInputSlotProps, _default$7 as FlowInputUrlField, FlowInputUrlFieldProps, _default$8 as FlowInputs, FlowInputsSlotProps, _default$9 as FlowManagerProvider, _default$10 as FlowProgress, FlowProgressSlotProps, FlowProps, _default$11 as FlowReset, _default$12 as FlowStatus, FlowStatusSlotProps, _default$13 as FlowSubmit, _default$14 as FlowUploadList, FlowUploadState, FlowUploadStatus, InputExecutionState, MultiUploadOptions, MultiUploadState, PerformanceInsights, UPLOADISTA_CLIENT_KEY, UPLOADISTA_EVENT_SUBSCRIBERS_KEY, UploadFailedEventData, UploadFileEventData, UploadInput, UploadItem, _default$15 as UploadList, UploadProgressEventData, UploadSessionMetrics, UploadState, UploadStatus, UploadValidationFailedEventData, UploadValidationSuccessEventData, UploadValidationWarningEventData, _default$16 as UploadZone, UploadistaPluginOptions, _default$17 as UploadistaProvider, UseFlowEventsOptions, UseFlowReturn, UseUploadEventsOptions, UseUploadMetricsOptions, UseUploadistaClientReturn, calculateProgress, createFilePreview, createUploadistaPlugin, formatDuration, formatFileSize, formatSpeed, generateUploadId, getFileExtension, isAudioFile, isBrowserFile, isDocumentFile, isFlowEvent, isImageFile, isUploadEvent, isVideoFile, revokeFilePreview, useDragDrop, useFlow, useFlowContext, useFlowEvents, useFlowInputContext, useMultiFlowUpload, useMultiUpload, useUpload, useUploadEvents, useUploadMetrics, useUploadistaClient, useUploadistaEvents, validateFileType };
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e,c as t,d as n,f as r,i,l as a,m as o,n as s,o as c,p as l,r as u,s as d,t as f,u as p}from"./utils-B_r6xppE.mjs";import{_ as m,a as h,b as g,c as _,d as v,f as y,g as b,h as x,i as S,l as C,m as w,n as T,o as E,p as D,r as O,s as k,t as A,u as j,v as M,y as N}from"./components-
|
|
1
|
+
import{a as e,c as t,d as n,f as r,i,l as a,m as o,n as s,o as c,p as l,r as u,s as d,t as f,u as p}from"./utils-B_r6xppE.mjs";import{_ as m,a as h,b as g,c as _,d as v,f as y,g as b,h as x,i as S,l as C,m as w,n as T,o as E,p as D,r as O,s as k,t as A,u as j,v as M,y as N}from"./components-BxBz_7tS.mjs";import{a as P,c as F,d as I,i as L,l as R,n as z,o as B,r as V,s as H,t as U,u as W}from"./composables-BZ2c_WgI.mjs";import{i as G,n as K,r as q,t as J}from"./useUploadistaClient-WVuo8jYH.mjs";import{n as Y,t as X}from"./providers-fqmOwF71.mjs";export{D as FLOW_CONTEXT_KEY,w as FLOW_INPUT_CONTEXT_KEY,m as Flow,y as FlowCancel,v as FlowDropZone,j as FlowError,C as FlowInput,_ as FlowInputDropZone,k as FlowInputPreview,h as FlowInputUrlField,E as FlowInputs,Y as FlowManagerProvider,S as FlowProgress,O as FlowReset,T as FlowStatus,A as FlowSubmit,g as FlowUploadList,K as UPLOADISTA_CLIENT_KEY,q as UPLOADISTA_EVENT_SUBSCRIBERS_KEY,N as UploadList,M as UploadZone,X as UploadistaProvider,f as calculateProgress,s as createFilePreview,G as createUploadistaPlugin,u as formatDuration,i as formatFileSize,e as formatSpeed,c as generateUploadId,d as getFileExtension,t as isAudioFile,o as isBrowserFile,a as isDocumentFile,W as isFlowEvent,p as isImageFile,I as isUploadEvent,n as isVideoFile,r as revokeFilePreview,B as useDragDrop,P as useFlow,x as useFlowContext,F as useFlowEvents,b as useFlowInputContext,L as useMultiFlowUpload,V as useMultiUpload,z as useUpload,H as useUploadEvents,U as useUploadMetrics,J as useUploadistaClient,R as useUploadistaEvents,l as validateFileType};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as _default, t as _default$1 } from "../index-
|
|
1
|
+
import { n as _default, t as _default$1 } from "../index-B2fUTjNP.mjs";
|
|
2
2
|
export { _default as FlowManagerProvider, _default$1 as UploadistaProvider };
|
package/dist/providers/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import"../useUploadistaClient-WVuo8jYH.mjs";import{n as e,t}from"../providers-
|
|
1
|
+
import"../useUploadistaClient-WVuo8jYH.mjs";import{n as e,t}from"../providers-fqmOwF71.mjs";export{e as FlowManagerProvider,t as UploadistaProvider};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{n as e,r as t,t as n}from"./useUploadistaClient-WVuo8jYH.mjs";import{createBlock as r,defineComponent as i,onBeforeUnmount as a,onMounted as o,openBlock as s,provide as c,ref as l,renderSlot as u,withCtx as d}from"vue";import{EventType as f}from"@uploadista/core/flow";import{UploadEventType as p}from"@uploadista/core/types";import{createUploadistaClient as m}from"@uploadista/client-browser";import{FlowManager as h}from"@uploadista/client-core";var g=i({__name:`FlowManagerProvider`,setup(e){function t(e){let t=e;return t.eventType===f.FlowStart||t.eventType===f.FlowEnd||t.eventType===f.FlowError||t.eventType===f.NodeStart||t.eventType===f.NodeEnd||t.eventType===f.NodePause||t.eventType===f.NodeResume||t.eventType===f.NodeError}let{client:r,subscribeToEvents:i}=n(),s=new Map,l=null;return o(()=>{l=i(e=>{if(t(e)){for(let t of s.values())t.manager.handleFlowEvent(e);return}if(`type`in e&&e.type===p.UPLOAD_PROGRESS&&`data`in e){let t=e;for(let e of s.values())e.manager.handleUploadProgress(t.data.id,t.data.progress,t.data.total)}})}),a(()=>{l?.();for(let e of s.values())e.manager.cleanup();s.clear()}),c(`flowManagerContext`,{getManager:(e,t,n)=>{let i=s.get(e);if(i)return i.refCount++,i.manager;let a=new h(r.uploadWithFlow,t,n,r.multiInputFlowUpload);return s.set(e,{manager:a,refCount:1,flowId:e}),a},releaseManager:e=>{let t=s.get(e);t&&(t.refCount--,t.refCount<=0&&(t.manager.cleanup(),s.delete(e)))}}),(e,t)=>u(e.$slots,`default`)}}),_=i({__name:`UploadistaProvider`,props:{serverUrl:{},storageId:{default:`local`},uploadistaBasePath:{default:`uploadista`},chunkSize:{default:1024*1024},parallelUploads:{default:1},storeFingerprintForResuming:{type:Boolean,default:!0}},setup(n){let i=n,o=l(new Set),f=m({baseUrl:i.serverUrl,storageId:i.storageId,uploadistaBasePath:i.uploadistaBasePath,chunkSize:i.chunkSize,parallelUploads:i.parallelUploads,storeFingerprintForResuming:i.storeFingerprintForResuming,onEvent:e=>{o.value.forEach(t=>{try{t(e)}catch(e){console.error(`Error in event subscriber:`,e)}})}});return c(e,f),c(t,o),a(()=>{f.closeAllWebSockets()}),(e,t)=>(s(),r(g,null,{default:d(()=>[u(e.$slots,`default`)]),_:3}))}});export{g as n,_ as t};
|
|
2
|
+
//# sourceMappingURL=providers-fqmOwF71.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"providers-fqmOwF71.mjs","names":[],"sources":["../src/providers/FlowManagerProvider.vue","../src/providers/UploadistaProvider.vue"],"sourcesContent":["<template>\n <slot />\n</template>\n\n<script setup lang=\"ts\">\nimport type { BrowserUploadInput, UploadistaEvent } from \"@uploadista/client-browser\";\nimport {\n FlowManager,\n type FlowManagerCallbacks,\n type FlowUploadOptions,\n} from \"@uploadista/client-core\";\nimport { EventType, type FlowEvent } from \"@uploadista/core/flow\";\nimport { UploadEventType } from \"@uploadista/core/types\";\nimport { onMounted, onBeforeUnmount, provide } from \"vue\";\nimport { useUploadistaClient } from \"../composables/useUploadistaClient\";\n\n/**\n * Type guard to check if an event is a flow event\n */\nfunction isFlowEvent(event: UploadistaEvent): event is FlowEvent {\n const flowEvent = event as FlowEvent;\n return (\n flowEvent.eventType === EventType.FlowStart ||\n flowEvent.eventType === EventType.FlowEnd ||\n flowEvent.eventType === EventType.FlowError ||\n flowEvent.eventType === EventType.NodeStart ||\n flowEvent.eventType === EventType.NodeEnd ||\n flowEvent.eventType === EventType.NodePause ||\n flowEvent.eventType === EventType.NodeResume ||\n flowEvent.eventType === EventType.NodeError\n );\n}\n\n/**\n * Internal manager registry entry with ref counting\n */\ninterface ManagerEntry {\n manager: FlowManager<unknown>;\n refCount: number;\n flowId: string;\n}\n\n/**\n * Context value providing access to flow managers\n */\ninterface FlowManagerContextValue {\n getManager: (\n flowId: string,\n callbacks: FlowManagerCallbacks,\n options: FlowUploadOptions,\n ) => FlowManager<unknown>;\n releaseManager: (flowId: string) => void;\n}\n\nconst { client, subscribeToEvents } = useUploadistaClient();\nconst managers = new Map<string, ManagerEntry>();\nlet unsubscribe: (() => void) | null = null;\n\n// Subscribe to events and route to managers\nonMounted(() => {\n unsubscribe = subscribeToEvents((event: UploadistaEvent) => {\n // Route flow events to all managers (they filter by jobId internally)\n if (isFlowEvent(event)) {\n for (const entry of managers.values()) {\n entry.manager.handleFlowEvent(event);\n }\n return;\n }\n\n // Route upload progress events to all managers\n if (\n \"type\" in event &&\n event.type === UploadEventType.UPLOAD_PROGRESS &&\n \"data\" in event\n ) {\n const uploadEvent = event;\n\n for (const entry of managers.values()) {\n entry.manager.handleUploadProgress(\n uploadEvent.data.id,\n uploadEvent.data.progress,\n uploadEvent.data.total,\n );\n }\n }\n });\n});\n\n// Cleanup on unmount\nonBeforeUnmount(() => {\n unsubscribe?.();\n for (const entry of managers.values()) {\n entry.manager.cleanup();\n }\n managers.clear();\n});\n\nconst getManager = (\n flowId: string,\n callbacks: FlowManagerCallbacks,\n options: FlowUploadOptions,\n): FlowManager<unknown> => {\n const existing = managers.get(flowId);\n\n if (existing) {\n // Increment ref count for existing manager\n existing.refCount++;\n return existing.manager;\n }\n\n // Create new manager\n const manager = new FlowManager<BrowserUploadInput>(\n client.uploadWithFlow,\n callbacks,\n options,\n client.multiInputFlowUpload,\n );\n\n managers.set(flowId, {\n manager,\n refCount: 1,\n flowId,\n });\n\n return manager;\n};\n\nconst releaseManager = (flowId: string) => {\n const existing = managers.get(flowId);\n if (!existing) return;\n\n existing.refCount--;\n\n // Clean up when no more refs\n if (existing.refCount <= 0) {\n existing.manager.cleanup();\n managers.delete(flowId);\n }\n};\n\n// Provide the context\nconst flowManagerContext: FlowManagerContextValue = {\n getManager,\n releaseManager,\n};\n\nprovide(\"flowManagerContext\", flowManagerContext);\n</script>\n","<script setup lang=\"ts\">\nimport {\n createUploadistaClient,\n type UploadistaEvent,\n} from \"@uploadista/client-browser\";\nimport { onBeforeUnmount, provide, ref } from \"vue\";\nimport {\n UPLOADISTA_CLIENT_KEY,\n UPLOADISTA_EVENT_SUBSCRIBERS_KEY,\n} from \"../composables/plugin\";\nimport FlowManagerProvider from \"./FlowManagerProvider.vue\";\n\nconst props = withDefaults(\n defineProps<{\n serverUrl: string;\n storageId?: string;\n uploadistaBasePath?: string;\n chunkSize?: number;\n parallelUploads?: number;\n storeFingerprintForResuming?: boolean;\n }>(),\n {\n storageId: \"local\",\n uploadistaBasePath: \"uploadista\",\n chunkSize: 1024 * 1024,\n parallelUploads: 1,\n storeFingerprintForResuming: true,\n },\n);\n\n// Create a shared set of event subscribers\nconst eventSubscribers = ref(new Set<(event: UploadistaEvent) => void>());\n\nconst client = createUploadistaClient({\n baseUrl: props.serverUrl,\n storageId: props.storageId,\n uploadistaBasePath: props.uploadistaBasePath,\n chunkSize: props.chunkSize,\n parallelUploads: props.parallelUploads,\n storeFingerprintForResuming: props.storeFingerprintForResuming,\n onEvent: (event) => {\n // Dispatch to all subscribers registered via subscribeToEvents\n eventSubscribers.value.forEach((subscriber) => {\n try {\n subscriber(event);\n } catch (err) {\n console.error(\"Error in event subscriber:\", err);\n }\n });\n },\n});\n\nprovide(UPLOADISTA_CLIENT_KEY, client);\nprovide(UPLOADISTA_EVENT_SUBSCRIBERS_KEY, eventSubscribers);\n\nonBeforeUnmount(() => {\n client.closeAllWebSockets();\n});\n</script>\n\n<template>\n <FlowManagerProvider>\n <slot />\n </FlowManagerProvider>\n</template>\n"],"mappings":"sfAmBA,SAAS,EAAY,EAA4C,CAC/D,IAAM,EAAY,EAClB,OACE,EAAU,YAAc,EAAU,WAClC,EAAU,YAAc,EAAU,SAClC,EAAU,YAAc,EAAU,WAClC,EAAU,YAAc,EAAU,WAClC,EAAU,YAAc,EAAU,SAClC,EAAU,YAAc,EAAU,WAClC,EAAU,YAAc,EAAU,YAClC,EAAU,YAAc,EAAU,UAyBtC,GAAM,CAAE,SAAQ,qBAAsB,GAAoB,CACpD,EAAW,IAAI,IACjB,EAAmC,YAGvC,MAAgB,CACd,EAAc,EAAmB,GAA2B,CAE1D,GAAI,EAAY,EAAK,CAAG,CACtB,IAAA,IAAW,KAAS,EAAS,QAAO,CAClC,EAAM,QAAQ,gBAAgB,EAAK,CAErC,OAIF,GACE,SAAU,GACV,EAAM,OAAS,EAAgB,iBAC/B,SAAU,EACV,CACA,IAAM,EAAc,EAEpB,IAAA,IAAW,KAAS,EAAS,QAAO,CAClC,EAAM,QAAQ,qBACZ,EAAY,KAAK,GACjB,EAAY,KAAK,SACjB,EAAY,KAAK,MACnB,GAGL,EACF,CAGD,MAAsB,CACpB,KAAc,CACd,IAAA,IAAW,KAAS,EAAS,QAAO,CAClC,EAAM,QAAQ,SAAQ,CAExB,EAAS,OAAM,EAChB,CAmDD,EAAQ,qBAL4C,CAClD,YA5CA,EACA,EACA,IACyB,CACzB,IAAM,EAAW,EAAS,IAAI,EAAM,CAEpC,GAAI,EAGF,MADA,GAAS,WACF,EAAS,QAIlB,IAAM,EAAU,IAAI,EAClB,EAAO,eACP,EACA,EACA,EAAO,qBACT,CAQA,OANA,EAAS,IAAI,EAAQ,CACnB,UACA,SAAU,EACV,SACD,CAAA,CAEM,GAmBP,eAhBsB,GAAmB,CACzC,IAAM,EAAW,EAAS,IAAI,EAAM,CAC/B,IAEL,EAAS,WAGL,EAAS,UAAY,IACvB,EAAS,QAAQ,SAAQ,CACzB,EAAS,OAAO,EAAM,IAQ1B,CAEgD,QAjJ9C,EAAQ,EAAA,OAAA,UAAA,yPCWV,IAAM,EAAQ,EAmBR,EAAmB,EAAI,IAAI,IAAuC,CAElE,EAAS,EAAuB,CACpC,QAAS,EAAM,UACf,UAAW,EAAM,UACjB,mBAAoB,EAAM,mBAC1B,UAAW,EAAM,UACjB,gBAAiB,EAAM,gBACvB,4BAA6B,EAAM,4BACnC,QAAU,GAAU,CAElB,EAAiB,MAAM,QAAS,GAAe,CAC7C,GAAI,CACF,EAAW,EAAK,OACT,EAAK,CACZ,QAAQ,MAAM,6BAA8B,EAAG,GAElD,EAEJ,CAAA,QAED,EAAQ,EAAuB,EAAM,CACrC,EAAQ,EAAkC,EAAgB,CAE1D,MAAsB,CACpB,EAAO,oBAAmB,EAC3B,aAIC,EAEsB,EAAA,KAAA,CAAA,QAAA,MADZ,CAAR,EAAQ,EAAA,OAAA,UAAA,CAAA,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@uploadista/vue",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.0.20-beta.
|
|
4
|
+
"version": "0.0.20-beta.9",
|
|
5
5
|
"description": "Vue client for Uploadista",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"author": "Uploadista",
|
|
@@ -31,21 +31,21 @@
|
|
|
31
31
|
"vue": "^3.3.0"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@uploadista/
|
|
35
|
-
"@uploadista/client-browser": "0.0.20-beta.
|
|
36
|
-
"@uploadista/core": "0.0.20-beta.
|
|
34
|
+
"@uploadista/core": "0.0.20-beta.9",
|
|
35
|
+
"@uploadista/client-browser": "0.0.20-beta.9",
|
|
36
|
+
"@uploadista/client-core": "0.0.20-beta.9"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
39
|
"@vue/test-utils": "^2.4.6",
|
|
40
|
-
"tsdown": "0.
|
|
40
|
+
"tsdown": "0.18.0",
|
|
41
41
|
"unplugin-vue": "^7.0.2",
|
|
42
42
|
"vitest": "4.0.15",
|
|
43
43
|
"vue": "^3.5.0",
|
|
44
44
|
"vue-tsc": "3.1.8",
|
|
45
|
-
"@uploadista/typescript-config": "0.0.20-beta.
|
|
45
|
+
"@uploadista/typescript-config": "0.0.20-beta.9"
|
|
46
46
|
},
|
|
47
47
|
"scripts": {
|
|
48
|
-
"build": "tsdown",
|
|
48
|
+
"build": "vue-tsc --noEmit && tsdown",
|
|
49
49
|
"format": "biome format --write ./src",
|
|
50
50
|
"lint": "biome lint --write ./src",
|
|
51
51
|
"check": "biome check --write ./src",
|
|
@@ -3,6 +3,9 @@ import { computed, ref } from "vue";
|
|
|
3
3
|
import { useDragDrop, type DragDropState } from "../../composables/useDragDrop";
|
|
4
4
|
import { useFlowInputContext } from "./useFlowContext";
|
|
5
5
|
|
|
6
|
+
// Helper function to check if value is a File (for template use)
|
|
7
|
+
const isFile = (value: unknown): value is File => value instanceof File;
|
|
8
|
+
|
|
6
9
|
/**
|
|
7
10
|
* Props for FlowInputDropZone component.
|
|
8
11
|
*/
|
|
@@ -112,8 +115,8 @@ const slotProps = computed<FlowInputDropZoneSlotProps>(() => ({
|
|
|
112
115
|
}"
|
|
113
116
|
>
|
|
114
117
|
<p v-if="slotProps.isDragging">Drop file here...</p>
|
|
115
|
-
<p v-else-if="slotProps.value
|
|
116
|
-
Selected: {{
|
|
118
|
+
<p v-else-if="isFile(slotProps.value)">
|
|
119
|
+
Selected: {{ slotProps.value.name }}
|
|
117
120
|
</p>
|
|
118
121
|
<p v-else>Drag and drop a file here, or click to select</p>
|
|
119
122
|
</div>
|
|
@@ -50,52 +50,47 @@
|
|
|
50
50
|
* ```
|
|
51
51
|
*/
|
|
52
52
|
|
|
53
|
+
export type { FlowContextValue, FlowProps } from "./Flow.vue";
|
|
53
54
|
// Root component
|
|
54
55
|
export { default as Flow } from "./Flow.vue";
|
|
55
|
-
export
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
useFlowInputContext,
|
|
61
|
-
FLOW_CONTEXT_KEY,
|
|
62
|
-
FLOW_INPUT_CONTEXT_KEY,
|
|
63
|
-
type FlowInputContextValue,
|
|
64
|
-
} from "./useFlowContext";
|
|
65
|
-
|
|
56
|
+
export { default as FlowCancel } from "./FlowCancel.vue";
|
|
57
|
+
export type {
|
|
58
|
+
FlowDropZoneProps,
|
|
59
|
+
FlowDropZoneSlotProps,
|
|
60
|
+
} from "./FlowDropZone.vue";
|
|
66
61
|
// Drop zone
|
|
67
62
|
export { default as FlowDropZone } from "./FlowDropZone.vue";
|
|
68
|
-
export type {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
export { default as FlowInputs } from "./FlowInputs.vue";
|
|
72
|
-
export type { FlowInputsSlotProps } from "./FlowInputs.vue";
|
|
73
|
-
|
|
63
|
+
export type { FlowErrorSlotProps } from "./FlowError.vue";
|
|
64
|
+
export { default as FlowError } from "./FlowError.vue";
|
|
65
|
+
export type { FlowInputProps, FlowInputSlotProps } from "./FlowInput.vue";
|
|
74
66
|
// Input context
|
|
75
67
|
export { default as FlowInput } from "./FlowInput.vue";
|
|
76
|
-
export type {
|
|
77
|
-
|
|
68
|
+
export type {
|
|
69
|
+
FlowInputDropZoneProps,
|
|
70
|
+
FlowInputDropZoneSlotProps,
|
|
71
|
+
} from "./FlowInputDropZone.vue";
|
|
78
72
|
// Input primitives
|
|
79
73
|
export { default as FlowInputDropZone } from "./FlowInputDropZone.vue";
|
|
80
|
-
export type { FlowInputDropZoneProps, FlowInputDropZoneSlotProps } from "./FlowInputDropZone.vue";
|
|
81
|
-
|
|
82
|
-
export { default as FlowInputUrlField } from "./FlowInputUrlField.vue";
|
|
83
|
-
export type { FlowInputUrlFieldProps } from "./FlowInputUrlField.vue";
|
|
84
|
-
|
|
85
|
-
export { default as FlowInputPreview } from "./FlowInputPreview.vue";
|
|
86
74
|
export type { FlowInputPreviewSlotProps } from "./FlowInputPreview.vue";
|
|
87
|
-
|
|
75
|
+
export { default as FlowInputPreview } from "./FlowInputPreview.vue";
|
|
76
|
+
export type { FlowInputsSlotProps } from "./FlowInputs.vue";
|
|
77
|
+
// Input discovery
|
|
78
|
+
export { default as FlowInputs } from "./FlowInputs.vue";
|
|
79
|
+
export type { FlowInputUrlFieldProps } from "./FlowInputUrlField.vue";
|
|
80
|
+
export { default as FlowInputUrlField } from "./FlowInputUrlField.vue";
|
|
81
|
+
export type { FlowProgressSlotProps } from "./FlowProgress.vue";
|
|
88
82
|
// Status primitives
|
|
89
83
|
export { default as FlowProgress } from "./FlowProgress.vue";
|
|
90
|
-
export
|
|
91
|
-
|
|
92
|
-
export { default as FlowStatus } from "./FlowStatus.vue";
|
|
84
|
+
export { default as FlowReset } from "./FlowReset.vue";
|
|
93
85
|
export type { FlowStatusSlotProps } from "./FlowStatus.vue";
|
|
94
|
-
|
|
95
|
-
export { default as FlowError } from "./FlowError.vue";
|
|
96
|
-
export type { FlowErrorSlotProps } from "./FlowError.vue";
|
|
97
|
-
|
|
86
|
+
export { default as FlowStatus } from "./FlowStatus.vue";
|
|
98
87
|
// Action primitives
|
|
99
88
|
export { default as FlowSubmit } from "./FlowSubmit.vue";
|
|
100
|
-
|
|
101
|
-
export {
|
|
89
|
+
// Context hooks
|
|
90
|
+
export {
|
|
91
|
+
FLOW_CONTEXT_KEY,
|
|
92
|
+
FLOW_INPUT_CONTEXT_KEY,
|
|
93
|
+
type FlowInputContextValue,
|
|
94
|
+
useFlowContext,
|
|
95
|
+
useFlowInputContext,
|
|
96
|
+
} from "./useFlowContext";
|
|
@@ -46,22 +46,22 @@ export interface DragDropState {
|
|
|
46
46
|
/**
|
|
47
47
|
* Whether files are currently being dragged over the drop zone
|
|
48
48
|
*/
|
|
49
|
-
isDragging: boolean;
|
|
49
|
+
readonly isDragging: boolean;
|
|
50
50
|
|
|
51
51
|
/**
|
|
52
52
|
* Whether the drag is currently over the drop zone
|
|
53
53
|
*/
|
|
54
|
-
isOver: boolean;
|
|
54
|
+
readonly isOver: boolean;
|
|
55
55
|
|
|
56
56
|
/**
|
|
57
57
|
* Whether the dragged items are valid files
|
|
58
58
|
*/
|
|
59
|
-
isValid: boolean;
|
|
59
|
+
readonly isValid: boolean;
|
|
60
60
|
|
|
61
61
|
/**
|
|
62
62
|
* Current validation errors
|
|
63
63
|
*/
|
|
64
|
-
errors: string[];
|
|
64
|
+
readonly errors: readonly string[];
|
|
65
65
|
}
|
|
66
66
|
|
|
67
67
|
const initialState: DragDropState = {
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
</template>
|
|
4
4
|
|
|
5
5
|
<script setup lang="ts">
|
|
6
|
-
import type { UploadistaEvent } from "@uploadista/client-browser";
|
|
6
|
+
import type { BrowserUploadInput, UploadistaEvent } from "@uploadista/client-browser";
|
|
7
7
|
import {
|
|
8
8
|
FlowManager,
|
|
9
9
|
type FlowManagerCallbacks,
|
|
@@ -73,15 +73,11 @@ onMounted(() => {
|
|
|
73
73
|
event.type === UploadEventType.UPLOAD_PROGRESS &&
|
|
74
74
|
"data" in event
|
|
75
75
|
) {
|
|
76
|
-
const uploadEvent = event
|
|
77
|
-
type: UploadEventType;
|
|
78
|
-
uploadId: string;
|
|
79
|
-
data: { progress: number; total: number | null };
|
|
80
|
-
};
|
|
76
|
+
const uploadEvent = event;
|
|
81
77
|
|
|
82
78
|
for (const entry of managers.values()) {
|
|
83
79
|
entry.manager.handleUploadProgress(
|
|
84
|
-
uploadEvent.
|
|
80
|
+
uploadEvent.data.id,
|
|
85
81
|
uploadEvent.data.progress,
|
|
86
82
|
uploadEvent.data.total,
|
|
87
83
|
);
|
|
@@ -113,23 +109,12 @@ const getManager = (
|
|
|
113
109
|
}
|
|
114
110
|
|
|
115
111
|
// Create new manager
|
|
116
|
-
const
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
};
|
|
123
|
-
|
|
124
|
-
const multiInputUploadFn = (
|
|
125
|
-
inputs: Record<string, unknown>,
|
|
126
|
-
flowConfig: FlowUploadOptions["flowConfig"],
|
|
127
|
-
internalOptions: unknown,
|
|
128
|
-
) => {
|
|
129
|
-
return client.multiInputFlowUpload(inputs, flowConfig, internalOptions);
|
|
130
|
-
};
|
|
131
|
-
|
|
132
|
-
const manager = new FlowManager<unknown>(flowUploadFn, callbacks, options, multiInputUploadFn);
|
|
112
|
+
const manager = new FlowManager<BrowserUploadInput>(
|
|
113
|
+
client.uploadWithFlow,
|
|
114
|
+
callbacks,
|
|
115
|
+
options,
|
|
116
|
+
client.multiInputFlowUpload,
|
|
117
|
+
);
|
|
133
118
|
|
|
134
119
|
managers.set(flowId, {
|
|
135
120
|
manager,
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{m as e}from"./utils-B_r6xppE.mjs";import{a as t,n,o as r,r as i}from"./composables-BZ2c_WgI.mjs";import{Fragment as a,computed as o,createCommentVNode as s,createElementBlock as c,createElementVNode as l,createTextVNode as u,defineComponent as d,guardReactiveProps as f,inject as p,mergeProps as m,normalizeClass as h,normalizeProps as g,normalizeStyle as _,openBlock as v,provide as y,ref as b,renderList as x,renderSlot as S,toDisplayString as C,unref as w,withKeys as T,withModifiers as ee}from"vue";var E=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n};const te={class:`flow-upload-list`},ne={class:`flow-upload-list__item-header`},re={class:`flow-upload-list__item-icon`},ie={class:`flow-upload-list__item-name`},ae={class:`flow-upload-list__item-details`},D={class:`flow-upload-list__item-size`},O={key:0,class:`flow-upload-list__item-job`},k={key:0,class:`flow-upload-list__item-progress`},A={class:`flow-upload-list__progress-bar`},j={class:`flow-upload-list__progress-text`},M={key:1,class:`flow-upload-list__item-error`},N={key:2,class:`flow-upload-list__item-success`};var P=E(d({__name:`FlowUploadList`,props:{uploads:{},filter:{type:Function},sortBy:{type:Function}},setup(t){let n=t,r=o(()=>{let e=n.uploads;return n.filter&&(e=e.filter(n.filter)),n.sortBy&&(e=[...e].sort(n.sortBy)),e}),i=o(()=>({pending:r.value.filter(e=>e.status===`pending`),uploading:r.value.filter(e=>e.status===`uploading`),success:r.value.filter(e=>e.status===`success`),error:r.value.filter(e=>e.status===`error`),aborted:r.value.filter(e=>e.status===`aborted`)})),u=e=>{if(e===0)return`0 Bytes`;let t=1024,n=[`Bytes`,`KB`,`MB`,`GB`],r=Math.floor(Math.log(e)/Math.log(t));return`${parseFloat((e/t**r).toFixed(2))} ${n[r]}`},d=e=>{switch(e){case`pending`:return`⏳`;case`uploading`:return`📤`;case`success`:return`✅`;case`error`:return`❌`;case`aborted`:return`⏹️`;default:return`❓`}},f=e=>{switch(e){case`pending`:return`#6c757d`;case`uploading`:return`#007bff`;case`success`:return`#28a745`;case`error`:return`#dc3545`;case`aborted`:return`#6c757d`;default:return`#6c757d`}};return(t,n)=>(v(),c(`div`,te,[S(t.$slots,`default`,{items:r.value,itemsByStatus:i.value},()=>[s(` Default rendering: simple list of flow upload items `),(v(!0),c(a,null,x(r.value,(n,r)=>(v(),c(`div`,{key:n.id,class:h([`flow-upload-list__item`,`flow-upload-list__item--${n.status}`])},[S(t.$slots,`item`,{item:n,index:r,isPending:n.status===`pending`,isUploading:n.status===`uploading`,isSuccess:n.status===`success`,isError:n.status===`error`,isAborted:n.status===`aborted`,formatFileSize:u},()=>[s(` Default item template `),l(`div`,ne,[l(`span`,re,C(d(n.status)),1),l(`span`,ie,C(w(e)(n.file)?n.file.name:`File`),1),l(`span`,{class:`flow-upload-list__item-status`,style:_({color:f(n.status)})},C(n.status.toUpperCase()),5)]),l(`div`,ae,[l(`span`,D,C(u(n.totalBytes)),1),n.jobId?(v(),c(`span`,O,` Job: `+C(n.jobId.slice(0,8))+`... `,1)):s(`v-if`,!0)]),n.status===`uploading`?(v(),c(`div`,k,[l(`div`,A,[l(`div`,{class:`flow-upload-list__progress-fill`,style:_({width:`${n.progress}%`})},null,4)]),l(`span`,j,C(n.progress)+`% • `+C(u(n.bytesUploaded))+` / `+C(u(n.totalBytes)),1)])):s(`v-if`,!0),n.status===`error`&&n.error?(v(),c(`div`,M,C(n.error.message),1)):s(`v-if`,!0),n.status===`success`?(v(),c(`div`,N,` Upload complete `)):s(`v-if`,!0)],!0)],2))),128))],!0)]))}}),[[`__scopeId`,`data-v-eabb787d`]]);const F={class:`upload-list`},I={class:`upload-list__item-header`},L={class:`upload-list__item-icon`},R={class:`upload-list__item-name`},z={key:0,class:`upload-list__item-size`},B={key:1,class:`upload-list__item-progress`},V={class:`upload-list__progress-bar`},H={class:`upload-list__progress-text`},U={key:2,class:`upload-list__item-error`};var W=E(d({__name:`UploadList`,props:{uploads:{},filter:{type:Function},sortBy:{type:Function}},setup(t){let n=t,r=o(()=>{let e=n.uploads;return n.filter&&(e=e.filter(n.filter)),n.sortBy&&(e=[...e].sort(n.sortBy)),e}),i=o(()=>({idle:r.value.filter(e=>e.state.status===`idle`),uploading:r.value.filter(e=>e.state.status===`uploading`),success:r.value.filter(e=>e.state.status===`success`),error:r.value.filter(e=>e.state.status===`error`),aborted:r.value.filter(e=>e.state.status===`aborted`)})),u=e=>{if(e===0)return`0 Bytes`;let t=1024,n=[`Bytes`,`KB`,`MB`,`GB`],r=Math.floor(Math.log(e)/Math.log(t));return`${parseFloat((e/t**r).toFixed(2))} ${n[r]}`},d=e=>{switch(e){case`idle`:return`⏳`;case`uploading`:return`📤`;case`success`:return`✅`;case`error`:return`❌`;case`aborted`:return`⏹️`;default:return`❓`}},f=e=>{switch(e){case`idle`:return`#6c757d`;case`uploading`:return`#007bff`;case`success`:return`#28a745`;case`error`:return`#dc3545`;case`aborted`:return`#6c757d`;default:return`#6c757d`}};return(t,n)=>(v(),c(`div`,F,[S(t.$slots,`default`,{items:r.value,itemsByStatus:i.value},()=>[s(` Default rendering: simple list of upload items `),(v(!0),c(a,null,x(r.value,(n,r)=>(v(),c(`div`,{key:n.id,class:h([`upload-list__item`,`upload-list__item--${n.state.status}`])},[S(t.$slots,`item`,{item:n,index:r,isUploading:n.state.status===`uploading`,isSuccess:n.state.status===`success`,isError:n.state.status===`error`,formatFileSize:u},()=>[s(` Default item template `),l(`div`,I,[l(`span`,L,C(d(n.state.status)),1),l(`span`,R,C(w(e)(n.file)?n.file.name:`File`),1),l(`span`,{class:`upload-list__item-status`,style:_({color:f(n.state.status)})},C(n.state.status.toUpperCase()),5)]),n.state.totalBytes?(v(),c(`div`,z,C(u(n.state.totalBytes)),1)):s(`v-if`,!0),n.state.status===`uploading`?(v(),c(`div`,B,[l(`div`,V,[l(`div`,{class:`upload-list__progress-fill`,style:_({width:`${n.state.progress}%`})},null,4)]),l(`span`,H,C(n.state.progress)+`%`,1)])):s(`v-if`,!0),n.state.status===`error`&&n.state.error?(v(),c(`div`,U,C(n.state.error.message),1)):s(`v-if`,!0)],!0)],2))),128))],!0)]))}}),[[`__scopeId`,`data-v-70c8fe1a`]]);const G=[`tabindex`,`aria-disabled`,`aria-label`,`onKeydown`],K={class:`upload-zone__content`},q={key:0},J={key:1},oe={key:2,class:`upload-zone__errors`},se=[`multiple`,`accept`,`disabled`];var ce=E(d({__name:`UploadZone`,props:{accept:{},multiple:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},maxFileSize:{},validator:{},multiUploadOptions:{},uploadOptions:{}},emits:[`file-select`,`upload-start`,`validation-error`],setup(e,{emit:t}){let u=e,d=t,f=u.multiple?null:n(u.uploadOptions||{}),p=u.multiple?i(u.multiUploadOptions||{}):null,m=r({accept:u.accept,multiple:u.multiple,maxFileSize:u.maxFileSize,validator:u.validator,onFilesReceived:e=>{d(`file-select`,e),d(`upload-start`,e),u.multiple&&p?(p.addFiles(e),setTimeout(()=>p.startAll(),0)):!u.multiple&&f&&e[0]&&f.upload(e[0])},onValidationError:e=>{d(`validation-error`,e)}}),g=b(),_=()=>{u.disabled||g.value?.click()},y=o(()=>m.state.value.isDragging||m.state.value.isOver),E=o(()=>u.multiple&&p?p.state.value.isUploading:!u.multiple&&f?f.state.value.status===`uploading`:!1);return(t,n)=>(v(),c(`div`,{class:h([`upload-zone`,{"upload-zone--active":y.value,"upload-zone--disabled":e.disabled}]),onDragenter:n[1]||=t=>!e.disabled&&w(m).onDragEnter,onDragover:n[2]||=t=>!e.disabled&&w(m).onDragOver,onDragleave:n[3]||=t=>!e.disabled&&w(m).onDragLeave,onDrop:n[4]||=t=>!e.disabled&&w(m).onDrop,onClick:_,role:`button`,tabindex:e.disabled?-1:0,"aria-disabled":e.disabled,"aria-label":e.multiple?`Upload multiple files`:`Upload a file`,onKeydown:[T(_,[`enter`]),T(ee(_,[`prevent`]),[`space`])]},[S(t.$slots,`default`,{isDragging:w(m).state.value.isDragging,isOver:w(m).state.value.isOver,isUploading:E.value,errors:[...w(m).state.value.errors],openFilePicker:_},()=>[s(` Default slot content `),l(`div`,K,[w(m).state.value.isDragging?(v(),c(`p`,q,C(e.multiple?`Drop files here...`:`Drop file here...`),1)):(v(),c(`p`,J,C(e.multiple?`Drag files here or click to select`:`Drag a file here or click to select`),1)),w(m).state.value.errors.length>0?(v(),c(`div`,oe,[(v(!0),c(a,null,x(w(m).state.value.errors,(e,t)=>(v(),c(`p`,{key:t},C(e),1))),128))])):s(`v-if`,!0)])],!0),l(`input`,{ref_key:`fileInputRef`,ref:g,type:`file`,multiple:w(m).inputProps.value.multiple,accept:w(m).inputProps.value.accept,disabled:e.disabled,onChange:n[0]||=(...e)=>w(m).onInputChange&&w(m).onInputChange(...e),style:{display:`none`},"aria-hidden":`true`},null,40,se)],42,G))}}),[[`__scopeId`,`data-v-8b709bef`]]),le=d({__name:`Flow`,props:{flowId:{},storageId:{},outputNodeId:{},metadata:{}},emits:[`success`,`error`,`progress`,`flowComplete`,`abort`],setup(e,{expose:n,emit:r}){let i=e,a=r,o=t({flowConfig:{flowId:i.flowId,storageId:i.storageId,outputNodeId:i.outputNodeId,metadata:i.metadata},onSuccess:e=>a(`success`,e),onError:e=>a(`error`,e),onProgress:(e,t,n)=>a(`progress`,e,t,n),onFlowComplete:e=>a(`flowComplete`,e),onAbort:()=>a(`abort`)}),s={state:o.state,inputMetadata:o.inputMetadata,inputs:o.inputs,inputStates:o.inputStates,setInput:o.setInput,execute:o.execute,upload:o.upload,abort:o.abort,pause:o.pause,reset:o.reset,isUploading:o.isUploading,isUploadingFile:o.isUploadingFile,isProcessing:o.isProcessing,isDiscoveringInputs:o.isDiscoveringInputs};return y(`flowContext`,s),n(s),(e,t)=>S(e.$slots,`default`)}});const Y=`flowContext`,X=`flowInputContext`;function Z(){let e=p(Y);if(!e)throw Error(`useFlowContext must be used within a <Flow> component. Wrap your component tree with <Flow flowId="..." storageId="...">`);return e}function Q(){let e=p(X);if(!e)throw Error(`useFlowInputContext must be used within a <FlowInput> component. Wrap your component with <FlowInput nodeId="...">`);return e}const ue={key:0},de={key:1},fe={key:2},pe=[`multiple`,`accept`];var me=d({__name:`FlowDropZone`,props:{accept:{default:void 0},maxFileSize:{default:void 0}},setup(e){let t=e,n=Z(),i=b(null),a=r({onFilesReceived:e=>{let t=e[0];t&&n.upload(t)},accept:t.accept?t.accept.split(`,`).map(e=>e.trim()):void 0,maxFileSize:t.maxFileSize,multiple:!1}),u=()=>{i.value?.click()},d=o(()=>({isDragging:a.state.value.isDragging,isOver:a.state.value.isOver,progress:n.state.value.progress,status:n.state.value.status,dragDropState:a.state.value,openFilePicker:u,dragHandlers:{onDragenter:a.onDragEnter,onDragover:a.onDragOver,onDragleave:a.onDragLeave,onDrop:a.onDrop},inputProps:a.inputProps.value,onInputChange:a.onInputChange,inputRef:i}));return(e,t)=>S(e.$slots,`default`,g(f(d.value)),()=>[s(` Default content if no slot provided `),l(`div`,m(d.value.dragHandlers,{onClick:u,style:{border:d.value.isDragging?`2px dashed #3b82f6`:`2px dashed #d1d5db`,borderRadius:`0.5rem`,padding:`2rem`,textAlign:`center`,cursor:w(n).isUploading.value?`not-allowed`:`pointer`,opacity:w(n).isUploading.value?.5:1,backgroundColor:d.value.isOver?`#eff6ff`:`transparent`,transition:`all 0.2s ease`}}),[d.value.isDragging?(v(),c(`p`,ue,`Drop file here...`)):w(n).isUploading.value?(v(),c(`p`,de,`Uploading... `+C(d.value.progress)+`%`,1)):(v(),c(`p`,fe,`Drag and drop a file here, or click to select`))],16),l(`input`,{ref_key:`inputRef`,ref:i,type:`file`,multiple:d.value.inputProps.multiple,accept:d.value.inputProps.accept,onChange:t[0]||=(...e)=>d.value.onInputChange&&d.value.onInputChange(...e),style:{display:`none`}},null,40,pe)])}});const he={key:0,style:{padding:`1rem`,"text-align":`center`}},ge={key:1,style:{padding:`1rem`,"text-align":`center`,color:`#6b7280`}};var _e=d({__name:`FlowInputs`,setup(e){let t=Z(),n=o(()=>({inputs:t.inputMetadata.value??[],isLoading:t.isDiscoveringInputs.value}));return(e,t)=>S(e.$slots,`default`,g(f(n.value)),()=>[s(` Default loading state if no slot provided `),n.value.isLoading?(v(),c(`div`,he,` Discovering flow inputs... `)):n.value.inputs.length===0?(v(),c(`div`,ge,` No inputs found for this flow. `)):s(`v-if`,!0)])}}),ve=d({__name:`FlowInput`,props:{nodeId:{}},setup(e){let t=e,n=Z(),r=o(()=>n.inputMetadata.value?.find(e=>e.nodeId===t.nodeId)),i=o(()=>n.inputs.value[t.nodeId]),l=o(()=>n.inputStates.value.get(t.nodeId)),u=e=>{n.setInput(t.nodeId,e)};y(X,{get nodeId(){return t.nodeId},get metadata(){return r.value??{nodeId:t.nodeId,nodeName:``,nodeDescription:``,required:!1}},get value(){return i.value},setValue:u,get state(){return l.value}});let d=o(()=>({nodeId:t.nodeId,metadata:r.value,value:i.value,setValue:u,state:l.value}));return(e,t)=>(v(),c(a,null,[s(` Only render if metadata is found `),r.value?S(e.$slots,`default`,g(m({key:0},d.value))):s(`v-if`,!0)],2112))}});const ye={key:0},be={key:1},xe={key:2},Se=[`multiple`,`accept`];var Ce=d({__name:`FlowInputDropZone`,props:{accept:{default:void 0},maxFileSize:{default:void 0}},setup(e){let t=e,n=Q(),i=b(null),a=r({onFilesReceived:e=>{let t=e[0];t&&n.setValue(t)},accept:t.accept?t.accept.split(`,`).map(e=>e.trim()):void 0,maxFileSize:t.maxFileSize,multiple:!1}),u=()=>{i.value?.click()},d=o(()=>({isDragging:a.state.value.isDragging,isOver:a.state.value.isOver,value:n.value,progress:n.state?.progress??0,status:n.state?.status??`idle`,dragDropState:a.state.value,openFilePicker:u,dragHandlers:{onDragenter:a.onDragEnter,onDragover:a.onDragOver,onDragleave:a.onDragLeave,onDrop:a.onDrop},inputProps:a.inputProps.value,onInputChange:a.onInputChange,inputRef:i}));return(e,t)=>S(e.$slots,`default`,g(f(d.value)),()=>[s(` Default content if no slot provided `),l(`div`,m(d.value.dragHandlers,{onClick:u,style:{border:d.value.isDragging?`2px dashed #3b82f6`:`2px dashed #d1d5db`,borderRadius:`0.5rem`,padding:`2rem`,textAlign:`center`,cursor:`pointer`,backgroundColor:d.value.isOver?`#eff6ff`:`transparent`,transition:`all 0.2s ease`}}),[d.value.isDragging?(v(),c(`p`,ye,`Drop file here...`)):d.value.value instanceof e.File?(v(),c(`p`,be,` Selected: `+C(d.value.value.name),1)):(v(),c(`p`,xe,`Drag and drop a file here, or click to select`))],16),l(`input`,{ref_key:`inputRef`,ref:i,type:`file`,multiple:d.value.inputProps.multiple,accept:d.value.inputProps.accept,onChange:t[0]||=(...e)=>d.value.onInputChange&&d.value.onInputChange(...e),style:{display:`none`}},null,40,Se)])}});const we=[`value`,`placeholder`];var Te=d({inheritAttrs:!1,__name:`FlowInputUrlField`,props:{placeholder:{default:`https://example.com/file`}},setup(e){let t=Q(),n=o(()=>typeof t.value==`string`),r=o(()=>n.value?t.value:``),i=e=>{let n=e.target;t.setValue(n.value)};return(t,n)=>(v(),c(`input`,m({type:`url`,value:r.value,onInput:i,placeholder:e.placeholder},t.$attrs),null,16,we))}});const Ee={key:0,style:{display:`flex`,"align-items":`center`,gap:`0.5rem`,padding:`0.5rem`,background:`#f3f4f6`,"border-radius":`0.375rem`}},De={style:{flex:`1`,"min-width":`0`}},Oe={key:0,style:{margin:`0`,"font-size":`0.875rem`,overflow:`hidden`,"text-overflow":`ellipsis`,"white-space":`nowrap`}},ke={key:0,style:{color:`#6b7280`,"margin-left":`0.25rem`}},Ae={key:1,style:{margin:`0`,"font-size":`0.875rem`,overflow:`hidden`,"text-overflow":`ellipsis`,"white-space":`nowrap`}};var je=d({__name:`FlowInputPreview`,setup(e){let t=Q(),n=o(()=>t.value instanceof File),r=o(()=>typeof t.value==`string`&&t.value.length>0),i=()=>{t.setValue(void 0)},a=o(()=>({value:t.value,isFile:n.value,isUrl:r.value,fileName:n.value?t.value.name:null,fileSize:n.value?t.value.size:null,clear:i}));return(e,t)=>S(e.$slots,`default`,g(f(a.value)),()=>[s(` Default preview content - only render for File or URL values `),a.value.isFile||a.value.isUrl?(v(),c(`div`,Ee,[l(`div`,De,[a.value.isFile?(v(),c(`p`,Oe,[u(C(a.value.fileName)+` `,1),a.value.fileSize?(v(),c(`span`,ke,` (`+C((a.value.fileSize/1024).toFixed(1))+` KB) `,1)):s(`v-if`,!0)])):a.value.isUrl?(v(),c(`p`,Ae,C(a.value.value),1)):s(`v-if`,!0)]),l(`button`,{type:`button`,onClick:i,style:{padding:`0.25rem 0.5rem`,background:`transparent`,border:`none`,cursor:`pointer`,color:`#6b7280`},"aria-label":`Clear`},` × `)])):s(`v-if`,!0)])}});const Me={key:0,style:{width:`100%`}},Ne={style:{display:`flex`,"justify-content":`space-between`,"margin-bottom":`0.25rem`,"font-size":`0.875rem`}},Pe={style:{width:`100%`,height:`0.5rem`,background:`#e5e7eb`,"border-radius":`0.25rem`,overflow:`hidden`}},$={key:0,style:{"margin-top":`0.25rem`,"font-size":`0.75rem`,color:`#6b7280`}};var Fe=d({__name:`FlowProgress`,setup(e){let t=Z(),n=o(()=>({progress:t.state.value.progress,bytesUploaded:t.state.value.bytesUploaded,totalBytes:t.state.value.totalBytes,status:t.state.value.status}));return(e,t)=>S(e.$slots,`default`,g(f(n.value)),()=>[s(` Default progress display `),n.value.status===`uploading`||n.value.status===`processing`?(v(),c(`div`,Me,[l(`div`,Ne,[l(`span`,null,C(n.value.status===`uploading`?`Uploading`:`Processing`),1),l(`span`,null,C(n.value.progress.toFixed(1))+`%`,1)]),l(`div`,Pe,[l(`div`,{style:_({width:`${n.value.progress}%`,height:`100%`,background:`#3b82f6`,transition:`width 0.2s ease`})},null,4)]),n.value.totalBytes?(v(),c(`div`,$,C((n.value.bytesUploaded/1024).toFixed(0))+` KB / `+C((n.value.totalBytes/1024).toFixed(0))+` KB `,1)):s(`v-if`,!0)])):s(`v-if`,!0)])}});const Ie={key:0,style:{padding:`0.5rem`}},Le={style:{margin:`0`,"font-size":`0.875rem`,color:`#6b7280`}},Re={key:0,style:{margin:`0.25rem 0 0`,"font-size":`0.75rem`,color:`#9ca3af`}},ze={key:1,style:{margin:`0.25rem 0 0`,"font-size":`0.75rem`,color:`#9ca3af`}};var Be=d({__name:`FlowStatus`,setup(e){let t=Z(),n=o(()=>({status:t.state.value.status,currentNodeName:t.state.value.currentNodeName,currentNodeType:t.state.value.currentNodeType,error:t.state.value.error,jobId:t.state.value.jobId,flowStarted:t.state.value.flowStarted,flowOutputs:t.state.value.flowOutputs}));return(e,t)=>S(e.$slots,`default`,g(f(n.value)),()=>[s(` Default status display - only show when not idle `),n.value.status===`idle`?s(`v-if`,!0):(v(),c(`div`,Ie,[l(`p`,Le,[t[0]||=u(` Status: `,-1),l(`strong`,null,C(n.value.status),1)]),n.value.currentNodeName?(v(),c(`p`,Re,` Processing: `+C(n.value.currentNodeName),1)):s(`v-if`,!0),n.value.jobId?(v(),c(`p`,ze,` Job ID: `+C(n.value.jobId),1)):s(`v-if`,!0)]))])}});const Ve={key:0,style:{padding:`1rem`,background:`#fef2f2`,border:`1px solid #fecaca`,"border-radius":`0.5rem`,color:`#dc2626`}},He={style:{margin:`0.25rem 0 0`,"font-size":`0.875rem`}};var Ue=d({__name:`FlowError`,setup(e){let t=Z(),n=o(()=>({error:t.state.value.error,hasError:t.state.value.status===`error`,message:t.state.value.error?.message??null,reset:t.reset}));return(e,t)=>S(e.$slots,`default`,g(f(n.value)),()=>[s(` Default error display `),n.value.hasError?(v(),c(`div`,Ve,[t[1]||=l(`p`,{style:{margin:`0`,"font-weight":`600`}},`Error`,-1),l(`p`,He,C(n.value.message),1),l(`button`,{type:`button`,onClick:t[0]||=(...e)=>n.value.reset&&n.value.reset(...e),style:{"margin-top":`0.75rem`,padding:`0.5rem 1rem`,background:`#dc2626`,color:`white`,border:`none`,"border-radius":`0.375rem`,cursor:`pointer`}},` Try Again `)])):s(`v-if`,!0)])}});const We=[`disabled`];var Ge=d({inheritAttrs:!1,__name:`FlowSubmit`,setup(e){let t=Z(),n=()=>{t.execute()};return(e,r)=>(v(),c(`button`,m({type:`button`,onClick:n,disabled:w(t).isUploading.value},e.$attrs),[S(e.$slots,`default`,{},()=>[r[0]||=u(`Execute`,-1)])],16,We))}}),Ke=d({inheritAttrs:!1,__name:`FlowCancel`,setup(e){let t=Z(),n=()=>{t.abort()};return(e,t)=>(v(),c(`button`,m({type:`button`,onClick:n},e.$attrs),[S(e.$slots,`default`,{},()=>[t[0]||=u(`Cancel`,-1)])],16))}}),qe=d({inheritAttrs:!1,__name:`FlowReset`,setup(e){let t=Z(),n=()=>{t.reset()};return(e,t)=>(v(),c(`button`,m({type:`button`,onClick:n},e.$attrs),[S(e.$slots,`default`,{},()=>[t[0]||=u(`Reset`,-1)])],16))}});export{le as _,Be as a,P as b,Te as c,_e as d,me as f,Q as g,Z as h,Ue as i,Ce as l,X as m,Ke as n,Fe as o,Y as p,Ge as r,je as s,qe as t,ve as u,ce as v,W as y};
|
|
2
|
-
//# sourceMappingURL=components-Dk25ojCY.mjs.map
|