@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.
@@ -1 +0,0 @@
1
- {"version":3,"file":"components-Dk25ojCY.mjs","names":["File","$attrs","$attrs","$attrs","$attrs"],"sources":["../src/components/FlowUploadList.vue","../src/components/UploadList.vue","../src/components/UploadZone.vue","../src/components/flow/Flow.vue","../src/components/flow/useFlowContext.ts","../src/components/flow/FlowDropZone.vue","../src/components/flow/FlowInputs.vue","../src/components/flow/FlowInput.vue","../src/components/flow/FlowInputDropZone.vue","../src/components/flow/FlowInputUrlField.vue","../src/components/flow/FlowInputPreview.vue","../src/components/flow/FlowProgress.vue","../src/components/flow/FlowStatus.vue","../src/components/flow/FlowError.vue","../src/components/flow/FlowSubmit.vue","../src/components/flow/FlowCancel.vue","../src/components/flow/FlowReset.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/**\n * FlowUploadList - Display list of flow uploads with processing status\n *\n * Shows the progress and processing status of files being uploaded through flow pipelines.\n * Supports filtering, sorting, and status-based grouping. Provides flexible slot-based\n * customization for rendering each flow upload item.\n *\n * @component\n * @example\n * // Basic flow upload list\n * <FlowUploadList :uploads=\"flowUploads\" />\n *\n * @example\n * // Custom item rendering with flow status\n * <FlowUploadList :uploads=\"flowUploads\">\n * <template #item=\"{ item, isSuccess, isError, isUploading }\">\n * <div class=\"flow-item\">\n * <span>{{ item.filename }}</span>\n * <progress :value=\"item.uploadProgress\" max=\"100\"></progress>\n * <span v-if=\"isUploading\">Processing...</span>\n * <span v-else-if=\"isSuccess\">Complete</span>\n * <span v-else-if=\"isError\">Failed</span>\n * </div>\n * </template>\n * </FlowUploadList>\n *\n * @example\n * // With status grouping\n * <FlowUploadList :uploads=\"flowUploads\">\n * <template #default=\"{ itemsByStatus }\">\n * <div v-if=\"itemsByStatus.uploading.length\">\n * <h3>Uploading...</h3>\n * <div v-for=\"item of itemsByStatus.uploading\" :key=\"item.id\">\n * {{ item.filename }}\n * </div>\n * </div>\n * </template>\n * </FlowUploadList>\n */\nimport type {\n BrowserUploadInput,\n FlowUploadItem,\n} from \"@uploadista/client-browser\";\nimport { computed } from \"vue\";\nimport { isBrowserFile } from \"../utils\";\n\n/**\n * Props for the FlowUploadList component\n * @property {FlowUploadItem[]} uploads - Array of flow upload items to display\n * @property {Function} filter - Optional filter for which items to display\n * @property {Function} sortBy - Optional sorting function for items (a, b) => number\n */\nexport interface FlowUploadListProps {\n /**\n * Array of flow upload items to display\n */\n uploads: FlowUploadItem<BrowserUploadInput>[];\n\n /**\n * Optional filter for which items to display\n */\n filter?: (item: FlowUploadItem<BrowserUploadInput>) => boolean;\n\n /**\n * Optional sorting function for items\n */\n sortBy?: (\n a: FlowUploadItem<BrowserUploadInput>,\n b: FlowUploadItem<BrowserUploadInput>,\n ) => number;\n}\n\nconst props = defineProps<FlowUploadListProps>();\n\ndefineSlots<{\n item(props: {\n item: FlowUploadItem<BrowserUploadInput>;\n index: number;\n isPending: boolean;\n isUploading: boolean;\n isSuccess: boolean;\n isError: boolean;\n isAborted: boolean;\n formatFileSize: (bytes: number) => string;\n }): any;\n default?(props: {\n items: FlowUploadItem<BrowserUploadInput>[];\n itemsByStatus: {\n pending: FlowUploadItem<BrowserUploadInput>[];\n uploading: FlowUploadItem<BrowserUploadInput>[];\n success: FlowUploadItem<BrowserUploadInput>[];\n error: FlowUploadItem<BrowserUploadInput>[];\n aborted: FlowUploadItem<BrowserUploadInput>[];\n };\n }): any;\n}>();\n\n// Apply filtering and sorting\nconst filteredItems = computed(() => {\n let items = props.uploads;\n\n if (props.filter) {\n items = items.filter(props.filter);\n }\n\n if (props.sortBy) {\n items = [...items].sort(props.sortBy);\n }\n\n return items;\n});\n\n// Group items by status\n// biome-ignore lint/correctness/noUnusedVariables: Used in slot templates\nconst itemsByStatus = computed(() => ({\n pending: filteredItems.value.filter((item) => item.status === \"pending\"),\n uploading: filteredItems.value.filter((item) => item.status === \"uploading\"),\n success: filteredItems.value.filter((item) => item.status === \"success\"),\n error: filteredItems.value.filter((item) => item.status === \"error\"),\n aborted: filteredItems.value.filter((item) => item.status === \"aborted\"),\n}));\n\n// Helper function to format file sizes\n// biome-ignore lint/correctness/noUnusedVariables: Used in slot templates\nconst formatFileSize = (bytes: number): string => {\n if (bytes === 0) return \"0 Bytes\";\n const k = 1024;\n const sizes = [\"Bytes\", \"KB\", \"MB\", \"GB\"];\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n return `${parseFloat((bytes / k ** i).toFixed(2))} ${sizes[i]}`;\n};\n\n// Helper function to get status icon\n// biome-ignore lint/correctness/noUnusedVariables: Used in slot templates\nconst getStatusIcon = (status: string): string => {\n switch (status) {\n case \"pending\":\n return \"⏳\";\n case \"uploading\":\n return \"📤\";\n case \"success\":\n return \"✅\";\n case \"error\":\n return \"❌\";\n case \"aborted\":\n return \"⏹️\";\n default:\n return \"❓\";\n }\n};\n\n// Helper function to get status color\n// biome-ignore lint/correctness/noUnusedVariables: Used in slot templates\nconst getStatusColor = (status: string): string => {\n switch (status) {\n case \"pending\":\n return \"#6c757d\";\n case \"uploading\":\n return \"#007bff\";\n case \"success\":\n return \"#28a745\";\n case \"error\":\n return \"#dc3545\";\n case \"aborted\":\n return \"#6c757d\";\n default:\n return \"#6c757d\";\n }\n};\n</script>\n\n<template>\n <div class=\"flow-upload-list\">\n <slot :items=\"filteredItems\" :items-by-status=\"itemsByStatus\">\n <!-- Default rendering: simple list of flow upload items -->\n <div\n v-for=\"(item, index) in filteredItems\"\n :key=\"item.id\"\n class=\"flow-upload-list__item\"\n :class=\"`flow-upload-list__item--${item.status}`\"\n >\n <slot\n name=\"item\"\n :item=\"item\"\n :index=\"index\"\n :is-pending=\"item.status === 'pending'\"\n :is-uploading=\"item.status === 'uploading'\"\n :is-success=\"item.status === 'success'\"\n :is-error=\"item.status === 'error'\"\n :is-aborted=\"item.status === 'aborted'\"\n :format-file-size=\"formatFileSize\"\n >\n <!-- Default item template -->\n <div class=\"flow-upload-list__item-header\">\n <span class=\"flow-upload-list__item-icon\">\n {{ getStatusIcon(item.status) }}\n </span>\n <span class=\"flow-upload-list__item-name\">\n {{ isBrowserFile(item.file) ? item.file.name : 'File' }}\n </span>\n <span\n class=\"flow-upload-list__item-status\"\n :style=\"{ color: getStatusColor(item.status) }\"\n >\n {{ item.status.toUpperCase() }}\n </span>\n </div>\n\n <div class=\"flow-upload-list__item-details\">\n <span class=\"flow-upload-list__item-size\">\n {{ formatFileSize(item.totalBytes) }}\n </span>\n <span v-if=\"item.jobId\" class=\"flow-upload-list__item-job\">\n Job: {{ item.jobId.slice(0, 8) }}...\n </span>\n </div>\n\n <div v-if=\"item.status === 'uploading'\" class=\"flow-upload-list__item-progress\">\n <div class=\"flow-upload-list__progress-bar\">\n <div\n class=\"flow-upload-list__progress-fill\"\n :style=\"{ width: `${item.progress}%` }\"\n />\n </div>\n <span class=\"flow-upload-list__progress-text\">\n {{ item.progress }}% • {{ formatFileSize(item.bytesUploaded) }} / {{ formatFileSize(item.totalBytes) }}\n </span>\n </div>\n\n <div v-if=\"item.status === 'error' && item.error\" class=\"flow-upload-list__item-error\">\n {{ item.error.message }}\n </div>\n\n <div v-if=\"item.status === 'success'\" class=\"flow-upload-list__item-success\">\n Upload complete\n </div>\n </slot>\n </div>\n </slot>\n </div>\n</template>\n\n<style scoped>\n.flow-upload-list {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n}\n\n.flow-upload-list__item {\n padding: 0.75rem;\n border: 1px solid #e0e0e0;\n border-radius: 0.375rem;\n background-color: #fff;\n}\n\n.flow-upload-list__item-header {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n margin-bottom: 0.5rem;\n}\n\n.flow-upload-list__item-icon {\n font-size: 1rem;\n}\n\n.flow-upload-list__item-name {\n flex: 1;\n font-weight: 500;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.flow-upload-list__item-status {\n font-size: 0.75rem;\n font-weight: 600;\n text-transform: uppercase;\n}\n\n.flow-upload-list__item-details {\n display: flex;\n gap: 1rem;\n font-size: 0.75rem;\n color: #666;\n margin-bottom: 0.5rem;\n}\n\n.flow-upload-list__item-size {\n font-weight: 500;\n}\n\n.flow-upload-list__item-job {\n color: #999;\n font-family: monospace;\n}\n\n.flow-upload-list__item-progress {\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n}\n\n.flow-upload-list__progress-bar {\n width: 100%;\n height: 0.375rem;\n background-color: #e0e0e0;\n border-radius: 0.1875rem;\n overflow: hidden;\n}\n\n.flow-upload-list__progress-fill {\n height: 100%;\n background-color: #007bff;\n transition: width 0.2s ease;\n}\n\n.flow-upload-list__progress-text {\n font-size: 0.75rem;\n color: #666;\n}\n\n.flow-upload-list__item-error {\n margin-top: 0.5rem;\n padding: 0.5rem;\n background-color: #f8d7da;\n color: #721c24;\n font-size: 0.75rem;\n border-radius: 0.25rem;\n}\n\n.flow-upload-list__item-success {\n margin-top: 0.5rem;\n padding: 0.5rem;\n background-color: #d4edda;\n color: #155724;\n font-size: 0.75rem;\n border-radius: 0.25rem;\n}\n</style>\n","<script setup lang=\"ts\">\n/**\n * UploadList - Display a list of uploads with customizable status grouping and sorting\n *\n * Shows the progress and status of multiple file uploads. Supports filtering, sorting,\n * and status-based grouping. Provides flexible slot-based customization for rendering each item.\n *\n * @component\n * @example\n * // Basic upload list\n * <UploadList :uploads=\"uploads\" />\n *\n * @example\n * // Custom item rendering with status indicators\n * <UploadList :uploads=\"uploads\">\n * <template #item=\"{ item, isSuccess, isError }\">\n * <div class=\"upload-item\">\n * <span>{{ item.filename }}</span>\n * <progress :value=\"item.progress\" max=\"100\"></progress>\n * <span :class=\"{ success: isSuccess, error: isError }\">\n * {{ item.state.status }}\n * </span>\n * </div>\n * </template>\n * </UploadList>\n *\n * @example\n * // With filtering and sorting\n * <UploadList\n * :uploads=\"uploads\"\n * :filter=\"item => item.state.status === 'success'\"\n * :sort-by=\"(a, b) => a.uploadedAt - b.uploadedAt\"\n * />\n */\nimport { computed } from \"vue\";\nimport type { UploadItem } from \"../composables\";\nimport { isBrowserFile } from \"../utils\";\n\n/**\n * Props for the UploadList component\n * @property {UploadItem[]} uploads - Array of upload items to display\n * @property {Function} filter - Optional filter for which items to display\n * @property {Function} sortBy - Optional sorting function for items (a, b) => number\n */\nexport interface UploadListProps {\n /**\n * Array of upload items to display\n */\n uploads: UploadItem[];\n\n /**\n * Optional filter for which items to display\n */\n filter?: (item: UploadItem) => boolean;\n\n /**\n * Optional sorting function for items\n */\n sortBy?: (a: UploadItem, b: UploadItem) => number;\n}\n\nconst props = defineProps<UploadListProps>();\n\ndefineSlots<{\n item(props: {\n item: UploadItem;\n index: number;\n isUploading: boolean;\n isSuccess: boolean;\n isError: boolean;\n formatFileSize: (bytes: number) => string;\n }): any;\n default?(props: {\n items: UploadItem[];\n itemsByStatus: {\n idle: UploadItem[];\n uploading: UploadItem[];\n success: UploadItem[];\n error: UploadItem[];\n aborted: UploadItem[];\n };\n }): any;\n}>();\n\n// Apply filtering and sorting\nconst filteredItems = computed(() => {\n let items = props.uploads;\n\n if (props.filter) {\n items = items.filter(props.filter);\n }\n\n if (props.sortBy) {\n items = [...items].sort(props.sortBy);\n }\n\n return items;\n});\n\n// Group items by status\n// biome-ignore lint/correctness/noUnusedVariables: Used in slot templates\nconst itemsByStatus = computed(() => ({\n idle: filteredItems.value.filter((item) => item.state.status === \"idle\"),\n uploading: filteredItems.value.filter(\n (item) => item.state.status === \"uploading\",\n ),\n success: filteredItems.value.filter(\n (item) => item.state.status === \"success\",\n ),\n error: filteredItems.value.filter((item) => item.state.status === \"error\"),\n aborted: filteredItems.value.filter(\n (item) => item.state.status === \"aborted\",\n ),\n}));\n\n// Helper function to format file sizes\n// biome-ignore lint/correctness/noUnusedVariables: Used in slot templates\nconst formatFileSize = (bytes: number): string => {\n if (bytes === 0) return \"0 Bytes\";\n const k = 1024;\n const sizes = [\"Bytes\", \"KB\", \"MB\", \"GB\"];\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n return `${parseFloat((bytes / k ** i).toFixed(2))} ${sizes[i]}`;\n};\n\n// Helper function to get status icon\n// biome-ignore lint/correctness/noUnusedVariables: Used in slot templates\nconst getStatusIcon = (status: string): string => {\n switch (status) {\n case \"idle\":\n return \"⏳\";\n case \"uploading\":\n return \"📤\";\n case \"success\":\n return \"✅\";\n case \"error\":\n return \"❌\";\n case \"aborted\":\n return \"⏹️\";\n default:\n return \"❓\";\n }\n};\n\n// Helper function to get status color\n// biome-ignore lint/correctness/noUnusedVariables: Used in slot templates\nconst getStatusColor = (status: string): string => {\n switch (status) {\n case \"idle\":\n return \"#6c757d\";\n case \"uploading\":\n return \"#007bff\";\n case \"success\":\n return \"#28a745\";\n case \"error\":\n return \"#dc3545\";\n case \"aborted\":\n return \"#6c757d\";\n default:\n return \"#6c757d\";\n }\n};\n</script>\n\n<template>\n <div class=\"upload-list\">\n <slot :items=\"filteredItems\" :items-by-status=\"itemsByStatus\">\n <!-- Default rendering: simple list of upload items -->\n <div\n v-for=\"(item, index) in filteredItems\"\n :key=\"item.id\"\n class=\"upload-list__item\"\n :class=\"`upload-list__item--${item.state.status}`\"\n >\n <slot\n name=\"item\"\n :item=\"item\"\n :index=\"index\"\n :is-uploading=\"item.state.status === 'uploading'\"\n :is-success=\"item.state.status === 'success'\"\n :is-error=\"item.state.status === 'error'\"\n :format-file-size=\"formatFileSize\"\n >\n <!-- Default item template -->\n <div class=\"upload-list__item-header\">\n <span class=\"upload-list__item-icon\">\n {{ getStatusIcon(item.state.status) }}\n </span>\n <span class=\"upload-list__item-name\">\n {{ isBrowserFile(item.file) ? item.file.name : 'File' }}\n </span>\n <span\n class=\"upload-list__item-status\"\n :style=\"{ color: getStatusColor(item.state.status) }\"\n >\n {{ item.state.status.toUpperCase() }}\n </span>\n </div>\n\n <div v-if=\"item.state.totalBytes\" class=\"upload-list__item-size\">\n {{ formatFileSize(item.state.totalBytes) }}\n </div>\n\n <div v-if=\"item.state.status === 'uploading'\" class=\"upload-list__item-progress\">\n <div class=\"upload-list__progress-bar\">\n <div\n class=\"upload-list__progress-fill\"\n :style=\"{ width: `${item.state.progress}%` }\"\n />\n </div>\n <span class=\"upload-list__progress-text\">{{ item.state.progress }}%</span>\n </div>\n\n <div v-if=\"item.state.status === 'error' && item.state.error\" class=\"upload-list__item-error\">\n {{ item.state.error.message }}\n </div>\n </slot>\n </div>\n </slot>\n </div>\n</template>\n\n<style scoped>\n.upload-list {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n}\n\n.upload-list__item {\n padding: 0.75rem;\n border: 1px solid #e0e0e0;\n border-radius: 0.375rem;\n background-color: #fff;\n}\n\n.upload-list__item-header {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n margin-bottom: 0.5rem;\n}\n\n.upload-list__item-icon {\n font-size: 1rem;\n}\n\n.upload-list__item-name {\n flex: 1;\n font-weight: 500;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.upload-list__item-status {\n font-size: 0.75rem;\n font-weight: 600;\n text-transform: uppercase;\n}\n\n.upload-list__item-size {\n font-size: 0.75rem;\n color: #666;\n margin-bottom: 0.5rem;\n}\n\n.upload-list__item-progress {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n}\n\n.upload-list__progress-bar {\n flex: 1;\n height: 0.375rem;\n background-color: #e0e0e0;\n border-radius: 0.1875rem;\n overflow: hidden;\n}\n\n.upload-list__progress-fill {\n height: 100%;\n background-color: #007bff;\n transition: width 0.2s ease;\n}\n\n.upload-list__progress-text {\n font-size: 0.75rem;\n color: #666;\n min-width: 3rem;\n text-align: right;\n}\n\n.upload-list__item-error {\n margin-top: 0.5rem;\n padding: 0.5rem;\n background-color: #f8d7da;\n color: #721c24;\n font-size: 0.75rem;\n border-radius: 0.25rem;\n}\n</style>\n","<script setup lang=\"ts\">\n/**\n * UploadZone - A flexible file upload component with drag-and-drop support\n *\n * Provides a drag-and-drop zone and file picker for uploading files. Supports both single\n * and multiple file uploads with validation. Emits events for file selection and upload events.\n *\n * @component\n * @example\n * // Basic single file upload\n * <UploadZone @file-select=\"handleFiles\" />\n *\n * @example\n * // Multiple files with validation\n * <UploadZone\n * multiple\n * accept={[\"image/*\"]}\n * :max-file-size=\"10 * 1024 * 1024\"\n * @file-select=\"handleFiles\"\n * @validation-error=\"handleErrors\"\n * >\n * <template #default=\"{ isDragging, errors, openFilePicker }\">\n * <div :class=\"{ dragging: isDragging }\" @click=\"openFilePicker\">\n * <p>{{ isDragging ? 'Drop files here' : 'Click or drag files here' }}</p>\n * <div v-if=\"errors.length\">\n * <p v-for=\"error in errors\" :key=\"error\">{{ error }}</p>\n * </div>\n * </div>\n * </template>\n * </UploadZone>\n *\n * @emits file-select - When files are selected/dropped\n * @emits upload-start - When upload begins\n * @emits validation-error - When validation fails\n */\nimport type { UploadOptions } from \"@uploadista/client-browser\";\nimport { computed, ref } from \"vue\";\nimport type { MultiUploadOptions } from \"../composables\";\nimport { useDragDrop, useMultiUpload, useUpload } from \"../composables\";\n\n/**\n * Props for the UploadZone component\n * @property {string[]} accept - Accepted file types (MIME types or file extensions)\n * @property {boolean} multiple - Whether to allow multiple files (default: true)\n * @property {boolean} disabled - Whether the upload zone is disabled (default: false)\n * @property {number} maxFileSize - Maximum file size in bytes\n * @property {Function} validator - Custom validation function for files\n * @property {MultiUploadOptions} multiUploadOptions - Multi-upload options (only used when multiple=true)\n * @property {UploadOptions} uploadOptions - Single upload options (only used when multiple=false)\n */\nexport interface UploadZoneProps {\n /**\n * Accepted file types (MIME types or file extensions)\n */\n accept?: string[];\n\n /**\n * Whether to allow multiple files\n */\n multiple?: boolean;\n\n /**\n * Whether the upload zone is disabled\n */\n disabled?: boolean;\n\n /**\n * Maximum file size in bytes\n */\n maxFileSize?: number;\n\n /**\n * Custom validation function for files\n */\n validator?: (files: File[]) => string[] | null;\n\n /**\n * Multi-upload options (only used when multiple=true)\n */\n multiUploadOptions?: MultiUploadOptions;\n\n /**\n * Single upload options (only used when multiple=false)\n */\n uploadOptions?: UploadOptions;\n}\n\nconst props = withDefaults(defineProps<UploadZoneProps>(), {\n multiple: true,\n disabled: false,\n});\n\nconst emit = defineEmits<{\n \"file-select\": [files: File[]];\n \"upload-start\": [files: File[]];\n \"validation-error\": [errors: string[]];\n}>();\n\ndefineSlots<{\n // biome-ignore lint/suspicious/noExplicitAny: Vue slot definition requires any\n default(props: {\n isDragging: boolean;\n isOver: boolean;\n isUploading: boolean;\n errors: string[];\n openFilePicker: () => void;\n }): any;\n}>();\n\n// Initialize upload composables\nconst singleUpload = props.multiple\n ? null\n : useUpload(props.uploadOptions || {});\nconst multiUpload = props.multiple\n ? useMultiUpload(props.multiUploadOptions || {})\n : null;\n\n// Handle files received from drag-drop or file picker\nconst handleFilesReceived = (files: File[]) => {\n emit(\"file-select\", files);\n emit(\"upload-start\", files);\n\n if (props.multiple && multiUpload) {\n multiUpload.addFiles(files);\n setTimeout(() => multiUpload.startAll(), 0);\n } else if (!props.multiple && singleUpload && files[0]) {\n singleUpload.upload(files[0]);\n }\n};\n\n// Handle validation errors\nconst handleValidationError = (errors: string[]) => {\n emit(\"validation-error\", errors);\n};\n\n// Initialize drag-drop\nconst dragDrop = useDragDrop({\n accept: props.accept,\n multiple: props.multiple,\n maxFileSize: props.maxFileSize,\n validator: props.validator,\n onFilesReceived: handleFilesReceived,\n onValidationError: handleValidationError,\n});\n\n// File input ref\nconst fileInputRef = ref<HTMLInputElement>();\n\n// Open file picker\n// biome-ignore lint/correctness/noUnusedVariables: Used in slot templates\nconst openFilePicker = () => {\n if (!props.disabled) {\n fileInputRef.value?.click();\n }\n};\n\n// Computed states\n// biome-ignore lint/correctness/noUnusedVariables: Used in slot templates\nconst isActive = computed(\n () => dragDrop.state.value.isDragging || dragDrop.state.value.isOver,\n);\n\n// biome-ignore lint/correctness/noUnusedVariables: Used in slot templates\nconst isUploading = computed(() => {\n if (props.multiple && multiUpload) {\n return multiUpload.state.value.isUploading;\n } else if (!props.multiple && singleUpload) {\n return singleUpload.state.value.status === \"uploading\";\n }\n return false;\n});\n</script>\n\n<template>\n <div\n class=\"upload-zone\"\n :class=\"{ 'upload-zone--active': isActive, 'upload-zone--disabled': disabled }\"\n @dragenter=\"!disabled && dragDrop.onDragEnter\"\n @dragover=\"!disabled && dragDrop.onDragOver\"\n @dragleave=\"!disabled && dragDrop.onDragLeave\"\n @drop=\"!disabled && dragDrop.onDrop\"\n @click=\"openFilePicker\"\n role=\"button\"\n :tabindex=\"disabled ? -1 : 0\"\n :aria-disabled=\"disabled\"\n :aria-label=\"multiple ? 'Upload multiple files' : 'Upload a file'\"\n @keydown.enter=\"openFilePicker\"\n @keydown.space.prevent=\"openFilePicker\"\n >\n <slot\n :is-dragging=\"dragDrop.state.value.isDragging\"\n :is-over=\"dragDrop.state.value.isOver\"\n :is-uploading=\"isUploading\"\n :errors=\"[...dragDrop.state.value.errors]\"\n :open-file-picker=\"openFilePicker\"\n >\n <!-- Default slot content -->\n <div class=\"upload-zone__content\">\n <p v-if=\"dragDrop.state.value.isDragging\">\n {{ multiple ? 'Drop files here...' : 'Drop file here...' }}\n </p>\n <p v-else>\n {{ multiple ? 'Drag files here or click to select' : 'Drag a file here or click to select' }}\n </p>\n\n <div v-if=\"dragDrop.state.value.errors.length > 0\" class=\"upload-zone__errors\">\n <p v-for=\"(error, index) in dragDrop.state.value.errors\" :key=\"index\">\n {{ error }}\n </p>\n </div>\n </div>\n </slot>\n\n <input\n ref=\"fileInputRef\"\n type=\"file\"\n :multiple=\"dragDrop.inputProps.value.multiple\"\n :accept=\"dragDrop.inputProps.value.accept\"\n :disabled=\"disabled\"\n @change=\"dragDrop.onInputChange\"\n style=\"display: none\"\n aria-hidden=\"true\"\n />\n </div>\n</template>\n\n<style scoped>\n.upload-zone {\n cursor: pointer;\n user-select: none;\n}\n\n.upload-zone--disabled {\n cursor: not-allowed;\n opacity: 0.6;\n}\n\n.upload-zone__content {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n}\n\n.upload-zone__errors {\n margin-top: 0.5rem;\n color: #dc3545;\n font-size: 0.875rem;\n}\n\n.upload-zone__errors p {\n margin: 0.25rem 0;\n}\n</style>\n","<script setup lang=\"ts\">\nimport type { FlowUploadOptions } from \"@uploadista/client-browser\";\nimport type { TypedOutput } from \"@uploadista/core/flow\";\nimport { provide, computed, toRefs } from \"vue\";\nimport { useFlow, type UseFlowReturn, type FlowInputMetadata } from \"../../composables/useFlow\";\nimport type { FlowUploadState, FlowUploadStatus, InputExecutionState } from \"@uploadista/client-core\";\n\n/**\n * Props for the Flow root component.\n */\nexport interface FlowProps {\n /** Flow ID to execute */\n flowId: string;\n /** Storage ID for file uploads */\n storageId: string;\n /** Optional output node ID to wait for */\n outputNodeId?: string;\n /** Optional metadata to include with the flow execution */\n metadata?: Record<string, string>;\n}\n\nconst props = defineProps<FlowProps>();\n\nconst emit = defineEmits<{\n /** Called when flow completes successfully */\n success: [outputs: TypedOutput[]];\n /** Called when flow fails */\n error: [error: Error];\n /** Called on upload progress */\n progress: [uploadId: string, bytesUploaded: number, totalBytes: number | null];\n /** Called when flow completes with all outputs */\n flowComplete: [outputs: TypedOutput[]];\n /** Called when upload is aborted */\n abort: [];\n}>();\n\n// Build options from props and emit handlers\nconst options: FlowUploadOptions = {\n flowConfig: {\n flowId: props.flowId,\n storageId: props.storageId,\n outputNodeId: props.outputNodeId,\n metadata: props.metadata,\n },\n onSuccess: (outputs) => emit(\"success\", outputs),\n onError: (error) => emit(\"error\", error),\n onProgress: (uploadId, bytesUploaded, totalBytes) =>\n emit(\"progress\", uploadId, bytesUploaded, totalBytes),\n onFlowComplete: (outputs) => emit(\"flowComplete\", outputs),\n onAbort: () => emit(\"abort\"),\n};\n\nconst flow = useFlow(options);\n\n// Re-export types for convenience\nexport type {\n FlowUploadState,\n FlowUploadStatus,\n InputExecutionState,\n FlowInputMetadata,\n};\n\n/**\n * Context value provided by the Flow component root.\n * Contains all flow state and actions.\n */\nexport interface FlowContextValue {\n /** Current upload state */\n state: UseFlowReturn[\"state\"];\n /** Discovered input nodes metadata (null until discovery completes) */\n inputMetadata: UseFlowReturn[\"inputMetadata\"];\n /** Current input values set via setInput() */\n inputs: UseFlowReturn[\"inputs\"];\n /** Per-input execution state for multi-input flows */\n inputStates: UseFlowReturn[\"inputStates\"];\n\n /** Set an input value for a specific node */\n setInput: UseFlowReturn[\"setInput\"];\n /** Execute the flow with current inputs */\n execute: UseFlowReturn[\"execute\"];\n /** Upload a single file through the flow */\n upload: UseFlowReturn[\"upload\"];\n /** Abort the current upload */\n abort: UseFlowReturn[\"abort\"];\n /** Pause the current upload */\n pause: UseFlowReturn[\"pause\"];\n /** Reset the upload state and clear all inputs */\n reset: UseFlowReturn[\"reset\"];\n\n /** Whether an upload or flow execution is in progress */\n isUploading: UseFlowReturn[\"isUploading\"];\n /** Whether the file is currently being uploaded */\n isUploadingFile: UseFlowReturn[\"isUploadingFile\"];\n /** Whether the flow is currently processing */\n isProcessing: UseFlowReturn[\"isProcessing\"];\n /** Whether the hook is discovering flow inputs */\n isDiscoveringInputs: UseFlowReturn[\"isDiscoveringInputs\"];\n}\n\n// Create the context value\nconst contextValue: FlowContextValue = {\n state: flow.state,\n inputMetadata: flow.inputMetadata,\n inputs: flow.inputs,\n inputStates: flow.inputStates,\n setInput: flow.setInput,\n execute: flow.execute,\n upload: flow.upload,\n abort: flow.abort,\n pause: flow.pause,\n reset: flow.reset,\n isUploading: flow.isUploading,\n isUploadingFile: flow.isUploadingFile,\n isProcessing: flow.isProcessing,\n isDiscoveringInputs: flow.isDiscoveringInputs,\n};\n\n// Provide context for child components\nprovide(\"flowContext\", contextValue);\n\n// Also expose to parent via defineExpose for programmatic access\ndefineExpose(contextValue);\n</script>\n\n<template>\n <slot />\n</template>\n","import { inject } from \"vue\";\nimport type { FlowContextValue } from \"./Flow.vue\";\n\n/**\n * Injection key for the Flow context\n */\nexport const FLOW_CONTEXT_KEY = \"flowContext\";\n\n/**\n * Injection key for the FlowInput context\n */\nexport const FLOW_INPUT_CONTEXT_KEY = \"flowInputContext\";\n\n/**\n * Context value for a specific input node within a Flow.\n */\nexport interface FlowInputContextValue {\n /** Input node ID */\n nodeId: string;\n /** Input metadata from flow discovery */\n metadata: {\n nodeId: string;\n nodeName: string;\n nodeDescription: string;\n inputTypeId?: string;\n required: boolean;\n };\n /** Current value for this input */\n value: unknown;\n /** Set the value for this input */\n setValue: (value: unknown) => void;\n /** Per-input execution state (if available) */\n state: {\n status: string;\n progress: number;\n error: Error | null;\n } | undefined;\n}\n\n/**\n * Hook to access flow context from within a Flow component.\n * @throws Error if used outside of a Flow component\n */\nexport function useFlowContext(): FlowContextValue {\n const context = inject<FlowContextValue>(FLOW_CONTEXT_KEY);\n if (!context) {\n throw new Error(\n \"useFlowContext must be used within a <Flow> component. \" +\n 'Wrap your component tree with <Flow flowId=\"...\" storageId=\"...\">',\n );\n }\n return context;\n}\n\n/**\n * Hook to access flow input context from within a FlowInput component.\n * @throws Error if used outside of a FlowInput component\n */\nexport function useFlowInputContext(): FlowInputContextValue {\n const context = inject<FlowInputContextValue>(FLOW_INPUT_CONTEXT_KEY);\n if (!context) {\n throw new Error(\n \"useFlowInputContext must be used within a <FlowInput> component. \" +\n 'Wrap your component with <FlowInput nodeId=\"...\">',\n );\n }\n return context;\n}\n","<script setup lang=\"ts\">\nimport { computed, ref } from \"vue\";\nimport { useDragDrop, type DragDropState } from \"../../composables/useDragDrop\";\nimport { useFlowContext } from \"./useFlowContext\";\n\n/**\n * Props for FlowDropZone component.\n */\nexport interface FlowDropZoneProps {\n /** Accepted file types (e.g., \"image/*\", \".pdf\") */\n accept?: string;\n /** Maximum file size in bytes */\n maxFileSize?: number;\n}\n\nconst props = withDefaults(defineProps<FlowDropZoneProps>(), {\n accept: undefined,\n maxFileSize: undefined,\n});\n\nconst flow = useFlowContext();\nconst inputRef = ref<HTMLInputElement | null>(null);\n\nconst dragDrop = useDragDrop({\n onFilesReceived: (files) => {\n const file = files[0];\n if (file) {\n flow.upload(file);\n }\n },\n accept: props.accept ? props.accept.split(\",\").map((t) => t.trim()) : undefined,\n maxFileSize: props.maxFileSize,\n multiple: false,\n});\n\nconst openFilePicker = () => {\n inputRef.value?.click();\n};\n\n/**\n * Slot props provided to the default slot.\n */\nexport interface FlowDropZoneSlotProps {\n /** Whether files are being dragged over */\n isDragging: boolean;\n /** Whether drag is over the zone */\n isOver: boolean;\n /** Upload progress (0-100) */\n progress: number;\n /** Current flow status */\n status: string;\n /** Current drag-drop state */\n dragDropState: DragDropState;\n /** Open file picker programmatically */\n openFilePicker: () => void;\n /** Drag event handlers to spread on the container */\n dragHandlers: {\n onDragenter: (e: DragEvent) => void;\n onDragover: (e: DragEvent) => void;\n onDragleave: (e: DragEvent) => void;\n onDrop: (e: DragEvent) => void;\n };\n /** Input props for the hidden file input */\n inputProps: {\n type: \"file\";\n multiple: boolean;\n accept: string | undefined;\n };\n /** Input change handler */\n onInputChange: (e: Event) => void;\n /** Ref for the file input element */\n inputRef: typeof inputRef;\n}\n\nconst slotProps = computed<FlowDropZoneSlotProps>(() => ({\n isDragging: dragDrop.state.value.isDragging,\n isOver: dragDrop.state.value.isOver,\n progress: flow.state.value.progress,\n status: flow.state.value.status,\n dragDropState: dragDrop.state.value,\n openFilePicker,\n dragHandlers: {\n onDragenter: dragDrop.onDragEnter,\n onDragover: dragDrop.onDragOver,\n onDragleave: dragDrop.onDragLeave,\n onDrop: dragDrop.onDrop,\n },\n inputProps: dragDrop.inputProps.value,\n onInputChange: dragDrop.onInputChange,\n inputRef,\n}));\n</script>\n\n<template>\n <slot v-bind=\"slotProps\">\n <!-- Default content if no slot provided -->\n <div\n v-bind=\"slotProps.dragHandlers\"\n @click=\"openFilePicker\"\n :style=\"{\n border: slotProps.isDragging ? '2px dashed #3b82f6' : '2px dashed #d1d5db',\n borderRadius: '0.5rem',\n padding: '2rem',\n textAlign: 'center',\n cursor: flow.isUploading.value ? 'not-allowed' : 'pointer',\n opacity: flow.isUploading.value ? 0.5 : 1,\n backgroundColor: slotProps.isOver ? '#eff6ff' : 'transparent',\n transition: 'all 0.2s ease',\n }\"\n >\n <p v-if=\"slotProps.isDragging\">Drop file here...</p>\n <p v-else-if=\"flow.isUploading.value\">Uploading... {{ slotProps.progress }}%</p>\n <p v-else>Drag and drop a file here, or click to select</p>\n </div>\n <input\n ref=\"inputRef\"\n type=\"file\"\n :multiple=\"slotProps.inputProps.multiple\"\n :accept=\"slotProps.inputProps.accept\"\n @change=\"slotProps.onInputChange\"\n style=\"display: none\"\n />\n </slot>\n</template>\n","<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport type { FlowInputMetadata } from \"../../composables/useFlow\";\nimport { useFlowContext } from \"./useFlowContext\";\n\nconst flow = useFlowContext();\n\n/**\n * Slot props provided to the default slot.\n */\nexport interface FlowInputsSlotProps {\n /** Discovered input metadata */\n inputs: FlowInputMetadata[];\n /** Whether inputs are still being discovered */\n isLoading: boolean;\n}\n\nconst slotProps = computed<FlowInputsSlotProps>(() => ({\n inputs: flow.inputMetadata.value ?? [],\n isLoading: flow.isDiscoveringInputs.value,\n}));\n</script>\n\n<template>\n <slot v-bind=\"slotProps\">\n <!-- Default loading state if no slot provided -->\n <div v-if=\"slotProps.isLoading\" style=\"padding: 1rem; text-align: center;\">\n Discovering flow inputs...\n </div>\n <div v-else-if=\"slotProps.inputs.length === 0\" style=\"padding: 1rem; text-align: center; color: #6b7280;\">\n No inputs found for this flow.\n </div>\n </slot>\n</template>\n","<script setup lang=\"ts\">\nimport { computed, provide } from \"vue\";\nimport { useFlowContext, FLOW_INPUT_CONTEXT_KEY, type FlowInputContextValue } from \"./useFlowContext\";\n\n/**\n * Props for FlowInput component.\n */\nexport interface FlowInputProps {\n /** Input node ID */\n nodeId: string;\n}\n\nconst props = defineProps<FlowInputProps>();\nconst flow = useFlowContext();\n\n// Find metadata for this input\nconst metadata = computed(() =>\n flow.inputMetadata.value?.find((m) => m.nodeId === props.nodeId)\n);\n\n// Get current value for this input\nconst value = computed(() => flow.inputs.value[props.nodeId]);\n\n// Get execution state for this input\nconst inputState = computed(() => flow.inputStates.value.get(props.nodeId));\n\n// Create setValue function scoped to this input\nconst setValue = (newValue: unknown) => {\n flow.setInput(props.nodeId, newValue);\n};\n\n// Create a context object with getters that access computed refs\n// This ensures reactivity works while also providing stable function references\nconst contextValue: FlowInputContextValue = {\n get nodeId() {\n return props.nodeId;\n },\n get metadata() {\n return metadata.value ?? {\n nodeId: props.nodeId,\n nodeName: \"\",\n nodeDescription: \"\",\n required: false,\n };\n },\n get value() {\n return value.value;\n },\n setValue,\n get state() {\n return inputState.value;\n },\n};\n\n// Provide context for child components (FlowInputDropZone, etc.)\nprovide(FLOW_INPUT_CONTEXT_KEY, contextValue);\n\n/**\n * Slot props provided to the default slot.\n */\nexport interface FlowInputSlotProps {\n /** Input node ID */\n nodeId: string;\n /** Input metadata from flow discovery */\n metadata: FlowInputContextValue[\"metadata\"] | undefined;\n /** Current value for this input */\n value: unknown;\n /** Set the value for this input */\n setValue: (value: unknown) => void;\n /** Per-input execution state (if available) */\n state: FlowInputContextValue[\"state\"];\n}\n\nconst slotProps = computed<FlowInputSlotProps>(() => ({\n nodeId: props.nodeId,\n metadata: metadata.value,\n value: value.value,\n setValue,\n state: inputState.value,\n}));\n</script>\n\n<template>\n <!-- Only render if metadata is found -->\n <slot v-if=\"metadata\" v-bind=\"slotProps\" />\n</template>\n","<script setup lang=\"ts\">\nimport { computed, ref } from \"vue\";\nimport { useDragDrop, type DragDropState } from \"../../composables/useDragDrop\";\nimport { useFlowInputContext } from \"./useFlowContext\";\n\n/**\n * Props for FlowInputDropZone component.\n */\nexport interface FlowInputDropZoneProps {\n /** Accepted file types (e.g., \"image/*\", \".pdf\") */\n accept?: string;\n /** Maximum file size in bytes */\n maxFileSize?: number;\n}\n\nconst props = withDefaults(defineProps<FlowInputDropZoneProps>(), {\n accept: undefined,\n maxFileSize: undefined,\n});\n\nconst input = useFlowInputContext();\nconst inputRef = ref<HTMLInputElement | null>(null);\n\nconst dragDrop = useDragDrop({\n onFilesReceived: (files) => {\n const file = files[0];\n if (file) {\n // Set the input value but don't trigger upload yet\n input.setValue(file);\n }\n },\n accept: props.accept ? props.accept.split(\",\").map((t) => t.trim()) : undefined,\n maxFileSize: props.maxFileSize,\n multiple: false,\n});\n\nconst openFilePicker = () => {\n inputRef.value?.click();\n};\n\n/**\n * Slot props provided to the default slot.\n */\nexport interface FlowInputDropZoneSlotProps {\n /** Whether files are being dragged over */\n isDragging: boolean;\n /** Whether drag is over the zone */\n isOver: boolean;\n /** Current value for this input */\n value: unknown;\n /** Per-input progress (if available) */\n progress: number;\n /** Per-input status (if available) */\n status: string;\n /** Current drag-drop state */\n dragDropState: DragDropState;\n /** Open file picker programmatically */\n openFilePicker: () => void;\n /** Drag event handlers to spread on the container */\n dragHandlers: {\n onDragenter: (e: DragEvent) => void;\n onDragover: (e: DragEvent) => void;\n onDragleave: (e: DragEvent) => void;\n onDrop: (e: DragEvent) => void;\n };\n /** Input props for the hidden file input */\n inputProps: {\n type: \"file\";\n multiple: boolean;\n accept: string | undefined;\n };\n /** Input change handler */\n onInputChange: (e: Event) => void;\n /** Ref for the file input element */\n inputRef: typeof inputRef;\n}\n\nconst slotProps = computed<FlowInputDropZoneSlotProps>(() => ({\n isDragging: dragDrop.state.value.isDragging,\n isOver: dragDrop.state.value.isOver,\n value: input.value,\n progress: input.state?.progress ?? 0,\n status: input.state?.status ?? \"idle\",\n dragDropState: dragDrop.state.value,\n openFilePicker,\n dragHandlers: {\n onDragenter: dragDrop.onDragEnter,\n onDragover: dragDrop.onDragOver,\n onDragleave: dragDrop.onDragLeave,\n onDrop: dragDrop.onDrop,\n },\n inputProps: dragDrop.inputProps.value,\n onInputChange: dragDrop.onInputChange,\n inputRef,\n}));\n</script>\n\n<template>\n <slot v-bind=\"slotProps\">\n <!-- Default content if no slot provided -->\n <div\n v-bind=\"slotProps.dragHandlers\"\n @click=\"openFilePicker\"\n :style=\"{\n border: slotProps.isDragging ? '2px dashed #3b82f6' : '2px dashed #d1d5db',\n borderRadius: '0.5rem',\n padding: '2rem',\n textAlign: 'center',\n cursor: 'pointer',\n backgroundColor: slotProps.isOver ? '#eff6ff' : 'transparent',\n transition: 'all 0.2s ease',\n }\"\n >\n <p v-if=\"slotProps.isDragging\">Drop file here...</p>\n <p v-else-if=\"slotProps.value instanceof File\">\n Selected: {{ (slotProps.value as File).name }}\n </p>\n <p v-else>Drag and drop a file here, or click to select</p>\n </div>\n <input\n ref=\"inputRef\"\n type=\"file\"\n :multiple=\"slotProps.inputProps.multiple\"\n :accept=\"slotProps.inputProps.accept\"\n @change=\"slotProps.onInputChange\"\n style=\"display: none\"\n />\n </slot>\n</template>\n","<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport { useFlowInputContext } from \"./useFlowContext\";\n\n/**\n * Props for FlowInputUrlField component.\n */\nexport interface FlowInputUrlFieldProps {\n /** Placeholder text */\n placeholder?: string;\n}\n\nconst props = withDefaults(defineProps<FlowInputUrlFieldProps>(), {\n placeholder: \"https://example.com/file\",\n});\n\nconst input = useFlowInputContext();\n\n// Check if value is a URL string\nconst isUrl = computed(() => typeof input.value === \"string\");\nconst urlValue = computed(() => (isUrl.value ? (input.value as string) : \"\"));\n\nconst handleInput = (event: Event) => {\n const target = event.target as HTMLInputElement;\n input.setValue(target.value);\n};\n</script>\n\n<template>\n <input\n type=\"url\"\n :value=\"urlValue\"\n @input=\"handleInput\"\n :placeholder=\"placeholder\"\n v-bind=\"$attrs\"\n />\n</template>\n\n<script lang=\"ts\">\n// Disable attribute inheritance so we can spread them manually\nexport default {\n inheritAttrs: false,\n};\n</script>\n","<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport { useFlowInputContext } from \"./useFlowContext\";\n\nconst input = useFlowInputContext();\n\nconst isFile = computed(() => input.value instanceof File);\nconst isUrl = computed(() => typeof input.value === \"string\" && (input.value as string).length > 0);\n\nconst clear = () => {\n input.setValue(undefined);\n};\n\n/**\n * Slot props provided to the default slot.\n */\nexport interface FlowInputPreviewSlotProps {\n /** Current value */\n value: unknown;\n /** Whether value is a File */\n isFile: boolean;\n /** Whether value is a URL string */\n isUrl: boolean;\n /** File name (if value is File) */\n fileName: string | null;\n /** File size in bytes (if value is File) */\n fileSize: number | null;\n /** Clear the input value */\n clear: () => void;\n}\n\nconst slotProps = computed<FlowInputPreviewSlotProps>(() => ({\n value: input.value,\n isFile: isFile.value,\n isUrl: isUrl.value,\n fileName: isFile.value ? (input.value as File).name : null,\n fileSize: isFile.value ? (input.value as File).size : null,\n clear,\n}));\n</script>\n\n<template>\n <slot v-bind=\"slotProps\">\n <!-- Default preview content - only render for File or URL values -->\n <div v-if=\"slotProps.isFile || slotProps.isUrl\" style=\"display: flex; align-items: center; gap: 0.5rem; padding: 0.5rem; background: #f3f4f6; border-radius: 0.375rem;\">\n <div style=\"flex: 1; min-width: 0;\">\n <p v-if=\"slotProps.isFile\" style=\"margin: 0; font-size: 0.875rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;\">\n {{ slotProps.fileName }}\n <span v-if=\"slotProps.fileSize\" style=\"color: #6b7280; margin-left: 0.25rem;\">\n ({{ (slotProps.fileSize / 1024).toFixed(1) }} KB)\n </span>\n </p>\n <p v-else-if=\"slotProps.isUrl\" style=\"margin: 0; font-size: 0.875rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;\">\n {{ slotProps.value }}\n </p>\n </div>\n <button\n type=\"button\"\n @click=\"clear\"\n style=\"padding: 0.25rem 0.5rem; background: transparent; border: none; cursor: pointer; color: #6b7280;\"\n aria-label=\"Clear\"\n >\n &times;\n </button>\n </div>\n </slot>\n</template>\n","<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport type { FlowUploadStatus } from \"@uploadista/client-core\";\nimport { useFlowContext } from \"./useFlowContext\";\n\nconst flow = useFlowContext();\n\n/**\n * Slot props provided to the default slot.\n */\nexport interface FlowProgressSlotProps {\n /** Progress percentage (0-100) */\n progress: number;\n /** Bytes uploaded so far */\n bytesUploaded: number;\n /** Total bytes to upload (null if unknown) */\n totalBytes: number | null;\n /** Current status */\n status: FlowUploadStatus;\n}\n\nconst slotProps = computed<FlowProgressSlotProps>(() => ({\n progress: flow.state.value.progress,\n bytesUploaded: flow.state.value.bytesUploaded,\n totalBytes: flow.state.value.totalBytes,\n status: flow.state.value.status,\n}));\n</script>\n\n<template>\n <slot v-bind=\"slotProps\">\n <!-- Default progress display -->\n <div v-if=\"slotProps.status === 'uploading' || slotProps.status === 'processing'\" style=\"width: 100%;\">\n <div style=\"display: flex; justify-content: space-between; margin-bottom: 0.25rem; font-size: 0.875rem;\">\n <span>{{ slotProps.status === 'uploading' ? 'Uploading' : 'Processing' }}</span>\n <span>{{ slotProps.progress.toFixed(1) }}%</span>\n </div>\n <div style=\"width: 100%; height: 0.5rem; background: #e5e7eb; border-radius: 0.25rem; overflow: hidden;\">\n <div\n :style=\"{\n width: `${slotProps.progress}%`,\n height: '100%',\n background: '#3b82f6',\n transition: 'width 0.2s ease',\n }\"\n />\n </div>\n <div v-if=\"slotProps.totalBytes\" style=\"margin-top: 0.25rem; font-size: 0.75rem; color: #6b7280;\">\n {{ (slotProps.bytesUploaded / 1024).toFixed(0) }} KB / {{ (slotProps.totalBytes / 1024).toFixed(0) }} KB\n </div>\n </div>\n </slot>\n</template>\n","<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport type { FlowUploadStatus } from \"@uploadista/client-core\";\nimport type { TypedOutput } from \"@uploadista/core/flow\";\nimport { useFlowContext } from \"./useFlowContext\";\n\nconst flow = useFlowContext();\n\n/**\n * Slot props provided to the default slot.\n */\nexport interface FlowStatusSlotProps {\n /** Current status */\n status: FlowUploadStatus;\n /** Current node being processed (if any) */\n currentNodeName: string | null;\n /** Current node type (if any) */\n currentNodeType: string | null;\n /** Error (if status is error) */\n error: Error | null;\n /** Job ID (if started) */\n jobId: string | null;\n /** Whether flow has started */\n flowStarted: boolean;\n /** Flow outputs (if completed) */\n flowOutputs: TypedOutput[] | null;\n}\n\nconst slotProps = computed<FlowStatusSlotProps>(() => ({\n status: flow.state.value.status,\n currentNodeName: flow.state.value.currentNodeName,\n currentNodeType: flow.state.value.currentNodeType,\n error: flow.state.value.error,\n jobId: flow.state.value.jobId,\n flowStarted: flow.state.value.flowStarted,\n flowOutputs: flow.state.value.flowOutputs,\n}));\n</script>\n\n<template>\n <slot v-bind=\"slotProps\">\n <!-- Default status display - only show when not idle -->\n <div v-if=\"slotProps.status !== 'idle'\" style=\"padding: 0.5rem;\">\n <p style=\"margin: 0; font-size: 0.875rem; color: #6b7280;\">\n Status: <strong>{{ slotProps.status }}</strong>\n </p>\n <p v-if=\"slotProps.currentNodeName\" style=\"margin: 0.25rem 0 0; font-size: 0.75rem; color: #9ca3af;\">\n Processing: {{ slotProps.currentNodeName }}\n </p>\n <p v-if=\"slotProps.jobId\" style=\"margin: 0.25rem 0 0; font-size: 0.75rem; color: #9ca3af;\">\n Job ID: {{ slotProps.jobId }}\n </p>\n </div>\n </slot>\n</template>\n","<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport { useFlowContext } from \"./useFlowContext\";\n\nconst flow = useFlowContext();\n\n/**\n * Slot props provided to the default slot.\n */\nexport interface FlowErrorSlotProps {\n /** Error object (null if no error) */\n error: Error | null;\n /** Whether there is an error */\n hasError: boolean;\n /** Error message */\n message: string | null;\n /** Reset the flow */\n reset: () => void;\n}\n\nconst slotProps = computed<FlowErrorSlotProps>(() => ({\n error: flow.state.value.error,\n hasError: flow.state.value.status === \"error\",\n message: flow.state.value.error?.message ?? null,\n reset: flow.reset,\n}));\n</script>\n\n<template>\n <slot v-bind=\"slotProps\">\n <!-- Default error display -->\n <div\n v-if=\"slotProps.hasError\"\n style=\"padding: 1rem; background: #fef2f2; border: 1px solid #fecaca; border-radius: 0.5rem; color: #dc2626;\"\n >\n <p style=\"margin: 0; font-weight: 600;\">Error</p>\n <p style=\"margin: 0.25rem 0 0; font-size: 0.875rem;\">{{ slotProps.message }}</p>\n <button\n type=\"button\"\n @click=\"slotProps.reset\"\n style=\"margin-top: 0.75rem; padding: 0.5rem 1rem; background: #dc2626; color: white; border: none; border-radius: 0.375rem; cursor: pointer;\"\n >\n Try Again\n </button>\n </div>\n </slot>\n</template>\n","<script setup lang=\"ts\">\nimport { useFlowContext } from \"./useFlowContext\";\n\nconst flow = useFlowContext();\n\nconst handleClick = () => {\n flow.execute();\n};\n</script>\n\n<template>\n <button\n type=\"button\"\n @click=\"handleClick\"\n :disabled=\"flow.isUploading.value\"\n v-bind=\"$attrs\"\n >\n <slot>Execute</slot>\n </button>\n</template>\n\n<script lang=\"ts\">\n// Disable attribute inheritance so we can spread them manually\nexport default {\n inheritAttrs: false,\n};\n</script>\n","<script setup lang=\"ts\">\nimport { useFlowContext } from \"./useFlowContext\";\n\nconst flow = useFlowContext();\n\nconst handleClick = () => {\n flow.abort();\n};\n</script>\n\n<template>\n <button\n type=\"button\"\n @click=\"handleClick\"\n v-bind=\"$attrs\"\n >\n <slot>Cancel</slot>\n </button>\n</template>\n\n<script lang=\"ts\">\n// Disable attribute inheritance so we can spread them manually\nexport default {\n inheritAttrs: false,\n};\n</script>\n","<script setup lang=\"ts\">\nimport { useFlowContext } from \"./useFlowContext\";\n\nconst flow = useFlowContext();\n\nconst handleClick = () => {\n flow.reset();\n};\n</script>\n\n<template>\n <button\n type=\"button\"\n @click=\"handleClick\"\n v-bind=\"$attrs\"\n >\n <slot>Reset</slot>\n </button>\n</template>\n\n<script lang=\"ts\">\n// Disable attribute inheritance so we can spread them manually\nexport default {\n inheritAttrs: false,\n};\n</script>\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-CDJUpsAf.d.mts","names":[],"sources":["../src/providers/FlowManagerProvider.vue","../src/providers/UploadistaProvider.vue"],"sourcesContent":[],"mappings":";;;YA4UI;KACC,aAAA;2BACwB;AACb,CAAA;AAHM,cAGhB,YAFU,EAEA,KAAA,CAAA,eADoB,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAElC,KAAA,CADc,qBAAA,EAAA,KAAA,CAAA,qBAAA,EADoB,CAAA,CAAA,EAAA,MAAA,EACpB,KAAA,CAAA,WAAA,EAAA,QADoB,CAAA,CAAA,CAAA,CAAA,GACpB,QADoB,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,MAAA,EACpB,KAAA,CAAA,uBAAA,EADoB,IAAA,EAAA,CAAA,CAAA,EAAA,GAAA,CAAA;AAAA,cAG9B,cADJ,EACyB,iBADzB,CAAA,OACgD,YADhD,EAC4D,aAD5D,CAAA;cACwC,QAF1B,EAAA,OAGY,cAHZ;KAIX,iBAJW,CAAA,CAAA,EAAA,CAAA,CAAA,GAIa,CAJb,GAAA;EAAA,MAAA,EAAA;IAAA,MAAA,EAMN,CANM;EAAA,CAAA;CAAA;;;;KCjQX,WAAA;;;ED8PD,kBAAkB,CAAA,EAAA,MAAA;EACjB,SAAA,CAAA,EAAA,MAAW;EAEV,eACJ,CAAA,EAAA,MAAA;EAAA,2BADc,CAAA,EAAA,OAAA;CAAA;YClLZ,ODkLY,EAAA,CAAA,CAAA;KCjLX,WAAA,GDiLW,CAAA,CAAA,GAAA;EAAA,OAAA,CAAA,EAAA,CAAA,KAAA,EAAA,OChLa,ODgLb,EAAA,GAAA,GAAA;CAAA;cC7KV,UD6KU,QC7KA,eD6KA,CC7KA,WD6KA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EC7KA,KAAA,CAAA,qBAAA,EAAA,KAAA,CAAA,qBAAA,ED6KA,CAAA,CAAA,EAAA,MAAA,EC7KA,KAAA,CAAA,WAAA,EAAA,QD6KA,CC7KA,WD6KA,CAAA,GC7KA,QD6KA,CAAA,CAAA,CAAA,CAAA,EAAA;EAAA,kBAAA,EAAA,MAAA;EAEV,SAAA,EAAA,MAAoE;EAAxB,SAAA,EAAA,MAAA;EAAY,eAAA,EAAA,MAAA;EAAnC,2BAAA,EAAA,OAAA;CAAe,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,MAAA,EC/K1B,KAAA,CAAA,uBAAA,ED+K0B,KAAA,EAAA,CAAA,CAAA,EAAA,GAAA,CAAA;AAAA,cC3KpC,YD4KkC,EC5Kb,eD4Ka,CAAA,OC5KU,UD4KV,EC5KsB,WD4KtB,CAAA;AAAxC,cC5K0C,UD6KrC,EAAe,OC5KQ,YD8KlB;KCnKL,wBAAwB;;IApGxB,MAAA,EAsGK,CAtGL;EA+ED,CAAA;AAAkB,CAAA;AAEc"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-Ci1I0jRB.d.mts","names":[],"sources":["../src/components/FlowUploadList.vue","../src/components/UploadList.vue","../src/components/UploadZone.vue","../src/components/flow/Flow.vue","../src/components/flow/useFlowContext.ts","../src/components/flow/FlowDropZone.vue","../src/components/flow/FlowInputs.vue","../src/components/flow/FlowInput.vue","../src/components/flow/FlowInputDropZone.vue","../src/components/flow/FlowInputUrlField.vue","../src/components/flow/FlowInputPreview.vue","../src/components/flow/FlowProgress.vue","../src/components/flow/FlowStatus.vue","../src/components/flow/FlowError.vue","../src/components/flow/FlowSubmit.vue","../src/components/flow/FlowCancel.vue","../src/components/flow/FlowReset.vue"],"sourcesContent":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-qvkAz1kU.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":";;;;;;;;;;;;;;iBAOgB,WAAA,QAAmB,2BAA2B;;;;iBAwB9C,aAAA,QAAqB,2BAA2B;;;;;;;;;;;;;AAxBhE;AAwBA;;;;ACEA;;;;ACRA;;;;;;;;;;AAoBwB,iBDZR,mBAAA,CCYQ,QAAA,EAAA,CAAA,KAAA,EDXJ,eCWI,EAAA,GAAA,IAAA,CAAA,EAAA,IAAA;;;;;;;;UApBP,oBAAA;;uBAEM;;qBAEF;EFtBL;EAwBA,WAAA,CAAA,EAAA,CAAA,KAAa,EEAL,kBFAa,EAAA,GAA2B,IAAA;;sBEE1C;;EDAN,WAAA,CAAA,EAAA,CAAA,KAAA,ECEQ,kBDDJ,EAAA,GAAA,IAAA;;wBCGI;;EAZP,YAAA,CAAA,EAAA,CAAA,KAAA,EAcQ,mBAdY,EAAA,GAAA,IAAA;EAEd;EAEF,WAAA,CAAA,EAAA,CAAA,KAAA,EAYG,kBAZH,EAAA,GAAA,IAAA;EAEG;EAEF,SAAA,CAAA,EAAA,CAAA,KAAA,EAUA,gBAVA,EAAA,GAAA,IAAA;EAEE;EAEA,WAAA,CAAA,EAAA,CAAA,KAAA,EAQA,kBARA,EAAA,GAAA,IAAA;EAEC;EAED,YAAA,CAAA,EAAA,CAAA,KAAA,EAMC,mBAND,EAAA,GAAA,IAAA;EAEF;EAEE,WAAA,CAAA,EAAA,CAAA,KAAA,EAIA,kBAJA,EAAA,GAAA,IAAA;;;;AA8CxB;;;;AClFA;AAcA;AAaA;AAaA;AAcA;AAeA;AAeA;;;;;;;;;AAsDA;;;;AC3IA;AAOA;;;;;AAIA;;;;;;AAiCA;;iBFuCgB,aAAA,UAAuB;;;;;;UClFtB,uBAAA;;;;;;;;EHFD,CAAA;AAwBhB;;;;ACEgB,UEVC,mBAAA,CFUkB;;;;ICRlB,MAAA,EAAA,MAAA;IAEM,KAAA,EAAA,MAAA;EAEF,CAAA;;;;;AAUI,UCHR,qBAAA,CDGQ;EAED,EAAA,EAAA,MAAA;EAEF,KAAA,EAAA,MAAA;EAEE,IAAA,CAAA,EAAA;IAEC,MAAA,EAAA,MAAA;IAED,MAAA,EAAA,MAAA;IAAkB,KAAA,EAAA,MAAA;EA0C1B,CAAA;;;;AClFhB;AAciB,UA0BA,gCAAA,CA1BmB;EAanB,EAAA,EAAA,MAAA;EAaA,cAAA,EAAA,UAAA,GAAA,UAAgC;EAchC,SAAA,CAAA,EAAA,MAAA;EAeA,IAAA,CAAA,EAAA;IAeA,MAAA,EAAA,MAAA;IAEU,MAAA,EAAA,MAAA;IAEC,KAAA,EAAA,MAAA;EAEA,CAAA;;;;;AAQyC,UA5CpD,+BAAA,CA4CoD;EAwCrD,EAAA,EAAA,MAAA;;;;EC3IC,IAAA,CAAA,EAAA;IAOJ,MAAA,EAAA,MAAA;IACO,MAAA,EAAA,MAAA;IAAlB,KAAA,EAAA,MAAA;EADkC,CAAA;;AAIpC;;;AACE,UD0De,gCAAA,CC1Df;EAD6C,EAAA,EAAA,MAAA;EAAY,OAAA,EAAA,MAAA;EAiC3C,IAAA,CAAA,EAAA;;;;EClDC,CAAA;AA0CjB;AAmGA;;;;;AAgI6B,UFlLZ,sBAAA,CEkLY;EAUC;EAYL,eAAA,CAAA,EAAA,CAAA,IAAA,EFtME,mBEsMF,EAAA,GAAA,IAAA;EAgBO;EAAK,gBAAA,CAAA,EAAA,CAAA,IAAA,EFpNT,uBEoNS,EAAA,GAAA,IAAA;EA1FN;EAAI,gBAAA,CAAA,EAAA,CAAA,IAAA,EFxHP,mBEwHO,EAAA,GAAA,IAAA;;0BFtHT;;EG3ET,yBAAiB,CAAA,EAAA,CAAA,IAAA,EH6EG,gCG7EH,EAAA,GAAA,IAAA;EA+BjB;EAIK,wBAAA,CAAA,EAAA,CAAA,IAAA,EH4Cc,+BG5Cd,EAAA,GAAA,IAAA;EAAJ;EAAT,yBAAA,CAAA,EAAA,CAAA,IAAA,EH8C4B,gCG9C5B,EAAA,GAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;AA4LT;;;;AC/LA;;;;;;;;;;;iBJyFgB,eAAA,UAAyB;;;UC3IxB,uBAAA,SAAgC;;;;YAIrC;;cAGC,uBAAuB,aAClC,kBAAkB;cAGP,kCAAkC,aAC7C,IAAI,YAAY;;AJblB;AAwBA;;;;ACEA;;;;ACRA;;;;;;;;;;;;;;AAkEA;;;;AClFA;AAciB,iBC6BD,sBAAA,CD7BoB,OAAA,EC6BY,uBD7BZ,CAAA,EAAA;EAanB,OAAA,CAAA,GAAA,ECkBA,GDlBA,CAAA,EAAA,IAAA;AAajB,CAAA;;;UE/CiB,eAAA;;;;;;;;;;;ALKjB;EAwBgB,WAAA,CAAA,EAAA,MAAa;;;;ECEb,QAAA,CAAA,EAAA,OAAA;;;;ECRC,SAAA,CAAA,EAAA,CAAA,KAAA,EGCK,IHDe,EAAA,EAAA,GAAA,MAAA,EAAA,GAAA,IAAA;EAEd;;;EAMD,eAAA,CAAA,EAAA,CAAA,KAAA,EGFM,IHEN,EAAA,EAAA,GAAA,IAAA;EAEE;;;EAMA,iBAAA,CAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,EAAA,GAAA,IAAA;EAEF;;;EAME,iBAAA,CAAA,EAAA,CAAA,UAAA,EAAA,OAAA,EAAA,GAAA,IAAA;;AA0CR,UG/CC,aAAA,CH+CY;;;;EClFZ,UAAA,EAAA,OAAA;EAcA;AAajB;AAaA;EAciB,MAAA,EAAA,OAAA;EAeA;AAejB;;EAI4B,OAAA,EAAA,OAAA;EAEA;;;EAMQ,MAAA,EAAA,MAAA,EAAA;;;AA0CpC;;;;AC3IA;AAOA;;;;;AAIA;;;;;;AAiCA;;;;AClDA;AA0CA;AAmGA;;;;;;;;;;;;;;;ACrHA;AA+BA;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgMA;;;;AC/LgB,iBFqFA,WAAA,CErFkB,OAAA,CAAA,EFqFG,eErFH,CAAA,EAAA;EACA,KAAA,UAAA,CFoFuB,IAAA,CAAA,GEpFvB,CAAA;IAAvB,SAAA,UAAA,EAAA,OAAA;;;;;;;;;;uBFwMmB;sBAYD;uBAUC;kBAYL;yBAgBO;cAAK,IAAA,CAAA;;;;;wBA1FN;;;;;;;;UCjMd,iBAAA;;;;ENnBD,QAAA,EAAA,MAAW;EAwBX;;;;ECEA;;;;ACRhB;;;;;;;;;;;;;;AAkEA;;;UIlCiB,aAAA;EHhDA;AAcjB;AAaA;EAaiB,KAAA,EGYR,QHZQ,CGYC,GHZD,CGYK,eHZ2B,CAAA,CAAA;EAchC;AAejB;AAeA;EAE2B,aAAA,EG7BV,QH6BU,CG7BD,GH6BC,CG7BG,iBH6BH,EAAA,GAAA,IAAA,CAAA,CAAA;EAEC;;;EAMS,WAAA,EGhCtB,QHgCsB,CGhCb,GHgCa,CGhCT,WHgCS,CAAA,MAAA,EGhCW,mBHgCX,CAAA,CAAA,CAAA;EAED;;;EA0CpB,MAAA,EGvEN,QHuEM,CGvEG,GHuEY,CGvER,MHuEQ,CAAA,MAAU,EAAA,OAAA,CAAA,CAAA,CAAA;;;;AC3IzC;AAOA;;;EAAoC,QAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,GAAA,IAAA;EAAY;AAIhD;;;;;EAA2D,OAAA,EAAA,GAAA,GE0E1C,OF1E0C,CAAA,IAAA,CAAA;EAiC3C;;;;AClDhB;AA0CA;EAmGgB,MAAA,EAAA,CAAA,IAAA,EC1CC,ID0CU,GC1CH,ID0CG,EAAA,GC1CM,OD0CN,CAAA,IAAA,CAAA;EAAU;;;EAoHP,KAAA,EAAA,GAAA,GAAA,IAAA;EAYD;;;EAsCG,KAAA,EAAA,GAAA,GAAA,IAAA;EAAK;;;;;;AC3RrC;EA+BiB,WAAA,EAgEF,QAhEe,CAgEN,GAhEM,CAAA,OAAA,CAAA,CAAA;EAIR;;;EAKQ,eAAA,EA4DX,QA5DW,CA4DF,GA5DE,CAAA,OAAA,CAAA,CAAA;EAAJ;;;EAKE,YAAA,EA4DZ,QA5DY,CA4DH,GA5DG,CAAA,OAAA,CAAA,CAAA;EAAJ;;;EAKL,mBAAA,EA4DI,QA5DJ,CA4Da,GA5Db,CAAA,OAAA,CAAA,CAAA;;;;;;;;;;;;;;;AA6KnB;;;;AC/LA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtCA;AAiDA;;;;;;;;;;;;;;;;;;AC9DA;AAMA;;;;;;AA8ByB,iBH8MT,OAAA,CG9MS,OAAA,EH8MQ,iBG9MR,CAAA,EH8M4B,aG9M5B;;;;;;;;;;;;;ATpCzB;AAwBA;;;;ACEA;;;;ACRA;;;;;;;;;;;;;;AAkEA;;;;AClFA;AAcA;AAaA;AAaA;AAcA;AAeA;AAeA;;;;;;AAYoC,iBI/CpB,kBAAA,CJ+CoB,OAAA,EI9CzB,sBJ8CyB,CI9CF,kBJ8CE,CAAA,CAAA,EAAA;EAEC,KAAA,UAAA,SAAA,CAAA;IAAgC,SAAA,KAAA,EAAA,SAAA;MAwCrD,SAAA,EAAe,EAAA,MAAA;;;;QC3Id,SAAA,WAAwB,EAAA,GAAA,UAI7B,YAAA,CAAA;QAGC,SAAA,KAEkB,EAAA,GAAA,UAAA,WAAA,YAAA,CAAA,CAAA;QADX,SAAA,KAAA,EAAA,CAAA,KAAA,CAAA,EAAA,MAAA,EAAA,GAAA,CAAA,EAAA,MAAA,EAAA,WAAA,CAAA,EAAA,MAAA,EAAA,OAAA;QAAlB,SAAA,MAAA,EAAA,GAAA,iBAAA,WAAA,YAAA,CAAA,CAAA;QADkC,SAAA,IAAA,EAAA,GAAA,UAAA,CAAA,MAAA,CAAA;MAAY,CAAA,GAAA;QAInC,SAAA,YAAA,EAE6B,MAAA;QADxB,SAAA,IAAA,EAAA,MAAA;QAAZ,SAAA,kBAAA,EAAA,MAAA;QAAJ,SAAA,IAAA,EAAA,MAAA;QAD6C,SAAA,IAAA,EAAA,MAAA;QAAY,SAAA,WAAA,EAAA,GAAA,UAAA,YAAA,CAAA;QAiC3C,SAAA,KAAsB,EAAA,GAAA,UAAU,WAAA,YAE/B,CAAA,CAAG;;;;MCpDH,CAAA;MA0CA,SAAa,MAAA,EAAA,SAAA,GAAA,WAAA,GAAA,SAAA,GAAA,OAAA,GAAA,SAAA;MAmGd,SAAW,QAAA,EAAA,MAAA;MAAU,SAAA,aAAA,EAAA,MAAA;MAAoB,SAAA,UAAA,EAAA,MAAA;;MAoH3B,SAAA,MAAA,EAAA;QAYD,SAAA,EAAA,EAAA,MAAA;QAUC,SAAA,MAAA,EAAA,MAAA;QAYL,SAAA,OAAA,EAAA;UAgBO,SAAA,EAAA,EAAA,MAAA;UAAK,SAAA,IAAA,EAAA,MAAA;UA1FN,SAAA,IAAA,CAAA,EAAA,MAAA,GAAA,SAAA,GAAA,SAAA;UAAI,SAAA,QAAA,CAAA,EAAA,MAAA,GAAA,SAAA,GAAA,SAAA;;;;YCjMD,SAAA,IAAA,EAAA,MAAA;YA+BJ,SAAA,IAAA,EAAA,MAAA;UAIR,CAAA,EAAA,GAAA,SAAA;QAAJ,CAAA;QAAT,SAAA,IAAA,CAAA,EAAA;UAKqB,SAAA,MAAA,EAAA,MAAA;UAAJ,SAAA,MAAA,EAAA,MAAA;UAAT,SAAA,KAAA,EAAA,MAAA;QAK+B,CAAA,GAAA,SAAA;QAApB,SAAA,IAAA,CAAA,EAAA,MAAA,GAAA,SAAA,GAAA,SAAA;QAAJ,SAAA,QAAA,CAAA,EAAA;UAAT,UAAA,CAAA,EAAA,MAAA,CAAA,EAAA,MAAA,GAAA,MAAA,GAAA,OAAA;QAKQ,CAAA,GAAA,SAAA;QAAJ,SAAA,YAAA,CAAA,EAAA,MAAA,GAAA,SAAA,GAAA,SAAA;QAAT,SAAA,GAAA,CAAA,EAAA,MAAA,GAAA,SAAA,GAAA,SAAA;QAiBO,SAAA,cAAA,CAAA,EAAA,OAAA,GAAA,SAAA,GAAA,SAAA;QAQA,SAAA,QAAA,CAAA,EAAA,MAAA,GAAA,SAAA,GAAA,SAAA;QAAO,SAAA,iBAAA,CAAA,EAAA,MAAA,GAAA,SAAA,GAAA,SAAA;QAAS,SAAA,YAAA,CAAA,EAAA;UAoBT,SAAA,OAAA,EAAA,MAAA;UAAT,SAAA,MAAA,EAAA,MAAA;UAKa,SAAA,UAAA,EAAA,MAAA;QAAT,CAAA,GAAA,SAAA;MAKM,CAAA,GAAA,IAAA;MAAT,SAAA,KAAA,EAAA,MAAA,GAAA,IAAA;IAKgB,CAAA,EAAA;IAAT,SAAA,aAAA,EAAA,MAAA;IAAQ,SAAA,aAAA,EAAA,MAAA;IAiHf,SAAO,gBAAU,EAAA,MAAA;;;;MC/LjB,SAAA,EAAA,EAAkB,MAAA;MACA,SAAA,IAAA,EAAA;QAAvB,SAAA,IAAA,EAAA,MAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAmJgB,SAAA,QAAA,CAAA,EAAA;UAAS,UAAA,CAAA,EAAA,MAAA,CAAA,EAAA,MAAA,GAAA,MAAA,GAAA,OAAA;QAAQ,CAAA,GAAA,SAAA;;;;;QC1LhC,SAAW,iBAAc,CAAA,EAAA,MAAA,GAAA,SAAA,GAAA,SAAA;QAiDZ,SAAA,YAAA,CAAA,EAAA;UAAU,SAAA,OAAA,EAAA,MAAA;;;;;;;;;IAiCX,SAAA,gBAAA,EAAA,MAAA;IAAW,SAAA,aAAA,EAAA,MAAA;;oBDwGR,SAAS;;;;;EEvMnB,KAAA,EAAA,GAAA,GAAU,IAAA;EAMV,WAAA,EAAA,CAAA,EAAA,EAAA,MACf,EAAA,GAAA,IAAA;EAAa,WAAA,EFgM6B,IAAA,CAAA,WEhM7B,CAAA,OAAA,CAAA;CASU;;;KDHb,WAAA,GAAc,OAAO;;;;;;ARbjC;AAwBA;;;;ACEA;;;;ACRA;;;;;;;;;;;;;;AAkEA;;;;AClFA;AAcA;AAaA;AAaA;AAcA;AAeiB,iBKTD,SAAA,CLSC,OAAgC,CAAA,EKTd,eLSc,CAAA,EAAA;EAehC,KAAA,UAAA,CAAsB;IAEZ,MAAA,cAAA;IAEC,QAAA,EAAA,MAAA;IAEA,aAAA,EAAA,MAAA;IAEF,UAAA,EAAA,MAAA,GAAA,IAAA;IAEW,KAAA,OAAA,GAAA,IAAA;IAED,MAAA,EAAA;MAEC,EAAA,EAAA,MAAA;MAAgC,MAAA,EAAA,MAAA;MAwCrD,OAAA,EAAA;;;;QC3IC,QAAA,CAAA,EAAA,MAAwB,GAAA,SAI7B,GAAA,SAAA;QAGC,MAAA,CAAA,EAAA,MAEkB,GAAA,SAAA,GAAA,SAAA;QADX,KAAA,CAAA,EAAA;UAAlB,UAAA,EAAA,MAAA;UADkC,IAAA,EAAA,MAAA;UAAY,IAAA,EAAA,MAAA;QAInC,CAAA,EAAA,GAAA,SAAA;MACK,CAAA;MAAZ,IAAA,CAAA,EAAA;QAAJ,MAAA,EAAA,MAAA;QAD6C,MAAA,EAAA,MAAA;QAAY,KAAA,EAAA,MAAA;MAiC3C,CAAA,GAAA,SAAA;;;;MClDC,GAAA,CAAA,EAAA,MAAe,GAAA,SAwBV,GAAA,SAKU;MAaf,cAAa,CAAA,EAAA,OAAA,GAAA,SAAA,GAAA,SAAA;MAmGd,QAAW,CAAA,EAAA,MAAA,GAAA,SAAA,GAAA,SAAA;MAAU,iBAAA,CAAA,EAAA,MAAA,GAAA,SAAA,GAAA,SAAA;MAAoB,YAAA,CAAA,EAAA;;QAoH3B,MAAA,EAAA,MAAA;QAYD,UAAA,EAAA,MAAA;MAUC,CAAA,GAAA,SAAA;IAYL,CAAA,GAAA,IAAA;EAgBO,CAAA,aAAA,GAAA;IAAK,MAAA,cAAA;IA1FN,QAAA,EAAA,MAAA;IAAI,aAAA,EAAA,MAAA;;;;MCjMlB,EAAA,EAAA,MAAA;MA+BA,MAAA,EAAa,MAAA;MAIR,OAAA,EAAA;QAAJ,EAAA,EAAA,MAAA;QAAT,IAAA,EAAA,MAAA;QAKqB,IAAA,CAAA,EAAA,MAAA,GAAA,SAAA,GAAA,SAAA;QAAJ,QAAA,CAAA,EAAA,MAAA,GAAA,SAAA,GAAA,SAAA;QAAT,MAAA,CAAA,EAAA,MAAA,GAAA,SAAA,GAAA,SAAA;QAK+B,KAAA,CAAA,EAAA;UAApB,UAAA,EAAA,MAAA;UAAJ,IAAA,EAAA,MAAA;UAAT,IAAA,EAAA,MAAA;QAKQ,CAAA,EAAA,GAAA,SAAA;MAAJ,CAAA;MAAT,IAAA,CAAA,EAAA;QAiBO,MAAA,EAAA,MAAA;QAQA,MAAA,EAAA,MAAA;QAAO,KAAA,EAAA,MAAA;MAAS,CAAA,GAAA,SAAA;MAoBT,IAAA,CAAA,EAAA,MAAA,GAAA,SAAA,GAAA,SAAA;MAAT,QAAA,CAAA,QAAA,CAAA,MAAA,EAAA,MAAA,GAAA,MAAA,GAAA,OAAA,CAAA,GAAA,SAAA;MAKa,YAAA,CAAA,EAAA,MAAA,GAAA,SAAA,GAAA,SAAA;MAAT,GAAA,CAAA,EAAA,MAAA,GAAA,SAAA,GAAA,SAAA;MAKM,cAAA,CAAA,EAAA,OAAA,GAAA,SAAA,GAAA,SAAA;MAAT,QAAA,CAAA,EAAA,MAAA,GAAA,SAAA,GAAA,SAAA;MAKgB,iBAAA,CAAA,EAAA,MAAA,GAAA,SAAA,GAAA,SAAA;MAAT,YAAA,CAAA,EAAA;QAAQ,OAAA,EAAA,MAAA;QAiHR,MAAA,EAAA,MAAU;;;;EC/LjB,CAAA,CAAA;EACkB,MAAA,EAAA,CAAA,IAAA,EC2CV,WD3CU,EAAA,GAAA,IAAA;EAAvB,KAAA,EAAA,GAAA,GAAA,IAAA;;;eC2CwB,IAAA,CAAA;;;;;;UC/FlB,UAAA;;QAET;SACC;;UAGQ,kBAAA,SACP,KAAK;;ATPf;AAwBA;;;;ACEA;yBQVyB;;;APEzB;EAEuB,gBAAA,CAAA,EAAA,CAAA,IAAA,EOEb,UPFa,EAAA,QAAA,EAAA,MAAA,EAAA,aAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,GAAA,IAAA,EAAA,GAAA,IAAA;EAEF;;;EAMG,eAAA,CAAA,EAAA,CAAA,IAAA,EOGG,UPHH,EAAA,MAAA,EOGuB,UPHvB,EAAA,GAAA,IAAA;EAEA;;;EAMF,aAAA,CAAA,EAAA,CAAA,IAAA,EOAG,UPAH,EAAA,KAAA,EOAsB,KPAtB,EAAA,GAAA,IAAA;EAEE;;;EAIkB,UAAA,CAAA,EAAA,CAAA,OAAA,EAAA;IA0C1B,UAAA,EO1CA,UP0Ca,EAAU;YOzC3B;;;ANzCZ;AAciB,UMgCA,gBAAA,CNhCmB;EAanB;AAajB;AAcA;EAeiB,KAAA,EAAA,MAAA;EAeA;;;EAMW,SAAA,EAAA,MAAA;EAEF;;;EAMW,UAAA,EAAA,MAAA;EAAgC;AAwCrE;;;;AC3IA;AAOA;EACoB,SAAA,EAAA,MAAA;EAAlB;;;EAGW,QAAA,EAAA,MAAA;EACK;;;EAD6B,kBAAA,EAAA,MAAA;EAAY;AAiC3D;;;;AClDA;AA0CA;EAmGgB,WAAA,EAAA,OAAW;EAAU;;;EAoHP,UAAA,EAAA,OAAA;;;;;;;;;;;ACzO9B;AA+BA;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgMA;;;;AC/LA;;;;;;;;;;;;;;;;;;;iBE6GgB,cAAA,WAAwB;kBAAuB,IAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;MFuCpC,SAAA,IAAA,EAAA,MAAA;MAAS,SAAA,WAAA,EAAA,GAAA,UAAA,YAAA,CAAA;MAAQ,SAAA,KAAA,EAAA,GAAA,UAAA,WAAA,YAAA,CAAA,CAAA;;;;;MC1LhC,SAAW,YAAG,EAAA,MAAW;MAiDrB,SAAS,IAAA,EAAA,MAAA;MAAU,SAAA,kBAAA,EAAA,MAAA;;;;;;;;;IAiCX,SAAA,KAAA,EAAA;MAAW,SAAA,MAAA,cAAA;;;;;;;QC/FlB,SAAU,MAEnB,EAAA,MAAA;QAIS,SACf,OAAA,EAAA;UAAa,SAAA,EAAA,EAAA,MAAA;UASU,SAAA,IAAA,EAAA,MAAA;UAMf,SAAA,IAAA,CAAA,EAAA,MAAA,GAAA,SAAA,GAAA,SAAA;UASiB,SAAA,QAAA,CAAA,EAAA,MAAA,GAAA,SAAA,GAAA,SAAA;UAAoB,SAAA,MAAA,CAAA,EAAA,MAAA,GAAA,SAAA,GAAA,SAAA;UAKtB,SAAA,KAAA,CAAA,EAAA,SAAA;YAAmB,SAAA,UAAA,EAAA,MAAA;YAM5B,SAAA,IAAA,EAAA,MAAA;YACJ,SAAA,IAAA,EAAA,MAAA;UApCF,CAAA,EAAA,GAAA,SAAA;QAAI,CAAA;QAyCG,SAAgB,IAAA,CAAA,EAAA;UAgHjB,SAAc,MAAA,EAAA,MAAA;UAAU,SAAA,MAAA,EAAA,MAAA;UAAuB,SAAA,KAAA,EAAA,MAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA6MpC,SAAA,MAAA,EAAA,MAAA;QA4IS,SAAA,OAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UC/dpB,SAAmB,UAAA,EAAA,MAAA;QAAA,CAAA,GAAA,SAAA;;;;oBDmVR;;;;0BC3S28F,EAAA,GAAA,IAAA;EAAA,QAAA,EAAA,GAAA,GAAA,IAAA;EAAA,WAAA,EAAA,CAAA,EAAA,EAAA,MAAA,EAAA,GAAA,IAAA;;;;6BDubl8F;;;;qBCvb6uG,MAAA;MAAA,WAAA,EAAA,GAAA,UAAA,YAAA,CAAA;;;MAAA,MAAA,EAAA,GAAA,iBAAA,WAAA,YAAA,CAAA,CAAA;;;;;;;;;;;kCAA2d,WAAA,YAAA,CAAA,CAAA;MAAA,IAAA,EAAA,GAAA,UAAA,CAAA,MAAA,CAAA;IAAsS,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AVlElhI;AAwBA;;;;ACEA;;;;ACRA;;;;;;;AAcyB,iBQNT,mBAAA,CAAA,CRMS,EAAA;EAED,MAAA,EAAA;IAEF,MAAA,EAAA,CAAA,IAAA,EQVa,2BAAA,CAAA,kBRUb,EAAA;MAAA,oBAAA;MAAA,UAAA;MAAA,UAAA;MAAA,eAAA;MAAA,SAAA;MAAA,aAAA;MAAA;IAAA,CAAA,CAAA,2BQ8Bg9F,uBR9Bh9F,EAAA,GQ8Bg9F,OR9Bh9F,CAAA;MAEE,KAAA,EAAA,GAAA,GAAA,IAAA;IAEC,CAAA,CAAA;IAED,cAAA,EAAA,CAAA,IAAA,EQwB88F,2BAAA,CAAA,kBRxB98F,EAAA,UAAA,2CAAA,EAAA;MAAA,UAAA;MAAA,eAAA;MAAA,SAAA;MAAA,aAAA;MAAA,UAAA;MAAA;IAAA,CAAA,CAAA,EQwByvG,IRxBzvG,0BQwByvG,uBAAA,ERxBzvG,sBAAA,GAAA,YAAA,GAAA,UAAA,CAAA,EAAA,GQwByvG,ORxBzvG,CAAA;MAAkB,KAAA,EAAA,GAAA,UAAA,CAAA,IAAA,CAAA;MA0C1B,KAAA,EAAA,GAAa,UAAU,CAAA,IAAA,CAAA;;;;;;;;;;;;IC1CtB,CAAA,GOwB2tH,8BAAA,uBAAA;MPhE3tH,eAAA,CAAA,EAAuB,CAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,aAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,GAAA,IAAA,EAAA,GAAA,IAAA;MAcvB,eAAmB,CAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,GAAA,IAAA;MAanB,YAAA,CAAA,EAAA,CAAqB,MAAA,EAAA,MAAA,EAAA,KAAA,EOqC4+H,KPrC5+H,EAAA,GAAA,IAAA;IAarB,CAAA,EAAA,UAAA,CAAA;MAcA,KAAA,EAAA,GAAA,UAAA,CAAA,IAAA,CAA+B;MAe/B,KAAA,EAAA,GAAA,UAAA,CAAA,IAAA,CAAA;MAeA,KAAA,EAAA,MAAA;IAEU,CAAA,CAAA;IAEC,KAAA,EAAA,CAAA,MAAA,YAAA,CAAA,CAAA;MAAA,QAAA;MAAA,kBAAA;MAAA,YAAA;MAAA,eAAA;MAAA,eAAA;MAAA,aAAA;MAAA,eAAA;MAAA,WAAA;MAAA;KAAA,EAAA;MAEA,QAAA,EAAA,MAAA;MAEF,kBAAA,EAAA,MAAA,GAAA,SAAA;MAEW,YAAA,qCAAA,IAAA;MAED,eAAA,EAAA,OAAA;MAEC,eAAA,8CAAA;MAAgC,aAAA,wCAAA;MAwCrD,eAAe,0CAAgC;;;;IC3I9C,OAAA,EAAA,CAAA,MAAA,EAAA,MAAwB,EAAA,UAI7B,CAAA;MAGC,MAAA,EAAA,MAAA;MACO,IAAA,4BAAA;IAAlB,CAAA,CAAA;IADkC,OAAA,EAAA,CAAA;MAAA,MAAA;MAAA,MAAA;MAAA,SAAA;IAK9B,CAL8B,EAAA;MAAY,MAAA,EAAA,MAAA;MAInC,MAAA,QAAA,CAAA,MAAA,EAAA,OAE6B,CAAA;MADxB,SAAA,CAAA,EAAA,MAAA;IAAZ,CAAA,EAAA,UAAA,CAAA;MAAJ,MAAA,EAAA,MAAA;MAD6C,GAAA,2BAAA;IAAY,CAAA,CAAA;IAiC3C,UAAA,EAAA,CAAA;MAAA,KAAA;MAAsB,MAAA;MAAA,OAAU;MAAA;ICR/B,CDQ+B,EAAA;;;;MClD/B,WAAe,CAAA,EAAA,kBA6BJ,GAAI,0BAAA;IAaf,CAAA,EAAA,UAAa,2BAAA;IAmGd,SAAA,EAAW,CAAA,KAAA,EAAA,MAAA,EAAA,UAAA,2BAAA;IAAU,UAAA,EAAA,CAAA,KAAA,EAAA,MAAA,EAAA,UAAA,2BAAA;IAAoB,aAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,UAAA,CAAA;;QAoH3B,EAAA,EAAA,MAAA;QAYD,IAAA,4BAAA;QAUC,IAAA,EAAA,MAAA;MAYL,CAAA,EAAA;MAgBO,MAAA,EAAA,OAAA;IAAK,CAAA,CAAA;IA1FN,qBAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,MAAA,QAAA,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA;MAAI,SAAA,CAAA,EAAA,MAAA;;;;MCjMlB,GAAA,2BAAiB;IA+BjB,CAAA,CAAA;IAIK,YAAA,EAAA,CAAA,KAAA,EAAA,MAAA,EAAA,UAAA,2BAAA;IAAJ,mBAAA,EAAA,CAAA,QAAA,EAAA,MAAA,EAAA,UAAA,wCAAA;IAAT,iBAAA,EAAA,CAAA,KAAA,EAAA,MAAA,EAAA,UAAA,wCAAA;IAKqB,aAAA,EAAA,CAAA,EAAA,EAAA,MAAA,EAAA,UAAA,wCAAA;IAAJ,cAAA,EAAA,CAAA,EAAA,EAAA,MAAA,EAAA,GAAA,IAAA;IAAT,kBAAA,EAAA,GAAA,GAAA,IAAA;IAK+B,QAAA,EAAA,CAAA,KAAA,EAAA,MAAA,EAAA,GAAA,OAAA;IAApB,oBAAA,EAAA,CAAA,EAAA,EAAA,MAAA,EAAA,GAAA,OAAA;IAAJ,2BAAA,EAAA,GAAA,GAAA,MAAA;IAAT,iCAAA,EAAA,GAAA,GAAA;MAKQ,MAAA,EAAA,MAAA;MAAJ,IAAA,EAAA,MAAA;MAAT,KAAA,EAAA,MAAA;IAiBO,CAAA;IAQA,iBAAA,EAAA,GAAA,0CAAA;IAAO,mBAAA,EAAA,GAAA,4CAAA;IAAS,mBAAA,EAAA,GAAA,+CAAA;IAoBT,aAAA,EAAA,GAAA,GAAA;MAAT,OAAA,SAAA,+CAAA;MAKa,MAAA,yCAAA;MAAT,QAAA,8CAAA;IAKM,CAAA;IAAT,oBAAA,EAAA,GAAA,6CAAA;IAKgB,4BAAA,EAAA,GAAA,qDAAA;IAAT,iBAAA,EAAA,CAAA,IAAA,EAAA,MAAA,EAAA,EAAA,UAAA,CAAA,IAAA,CAAA;IAAQ,4BAAA,EAAA,GAAA,UAAA,CAAA;MAiHf,WAAO,EAAA,OAAU;;;;IC/LjB,CAAA,CAAA;IACkB,YAAA,EAAA,GAAA,UAAA,CAAA,IAAA,CAAA;IAAvB,qBAAA,EAAA,CAAA,OAAA,kDAAA,gDAAA,EAAA,GAAA;;;;;;;;;;;;;uCGVmC;;KAuBlC,yBAAA,GAA4B,kBAAkB;;;UChEzC,eAAA;;;;;;;;;;AXDjB;AAwBA;;;;ACEA;;;;ACRA;EAEuB,sBAAA,EAAA,MAAA,GAAA,IAAA;EAEF;;;EAMG,UAAA,EAAA,MAAA;EAEA;;;EAMF,cAAA,EAAA,MAAA;EAEE;;;EAIkB,aAAA,EAAA,MAAA;EA0C1B;;;;EClFC;AAcjB;AAaA;EAaiB,SAAA,EAAA,MAAA;EAcA;AAejB;AAeA;EAE2B,SAAA,EAAA,MAAA,GAAA,IAAA;EAEC;;;EAMS,OAAA,EAAA,MAAA,GAAA,IAAA;EAED;;;EA0CpB,aAAA,EAAA,MAAe,GAAA,IAAA;;;;EC3Id,QAAA,EOqEL,mBPrE6B;EAO5B;;;EAAuB,cAAA,EOmElB,OPnEkB,COmEV,oBPnEU,CAAA,EAAA;EAAY;AAIhD;;EACM,YAAA,EOmEU,YPnEV,EAAA;;AADyC,UOuE9B,iBAAA,CPvE8B;EAAY,EAAA,EAAA,MAAA;EAiC3C,QAAA,EAAA,MAAA;;;;EClDC,KAAA,EAAA,MAAA;EA0CA,SAAA,EAAA,MAAa;EAmGd,OAAA,EAAA,MAAW,GAAA,IAAA;EAAU,QAAA,EAAA,MAAA,GAAA,IAAA;EAAoB,UAAA,EAAA,OAAA;;AAoH3B,UM5Jb,uBAAA,CN4Ja;EAYD;;;EAsCG,wBAAA,CAAA,EAAA,MAAA;EAAK;;;;;;AC3RrC;EA+BiB,eAAA,CAAa,EAAA,CAAA,OAAA,EK4DA,eL5DA,EAAA,GAAA,IAAA;EAIR;;;EAKQ,WAAA,CAAA,EAAA,CAAA,WAAA,EKwDA,iBLxDA,EAAA,GAAA,IAAA;EAAJ;;;EAKE,cAAA,CAAA,EAAA,CAAA,WAAA,EKwDK,iBLxDL,EAAA,GAAA,IAAA;EAAJ;;;EAKL,cAAA,CAAA,EAAA,CAAA,WAAA,EKwDc,iBLxDd,EAAA,GAAA,IAAA;;;;;;;;;;;;;;;AA6KnB;;;;AC/LA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBI2JgB,gBAAA,WAA0B;oBAA4B,IAAA,CAAA;;;;;;;;;;IJP3C,SAAA,SAAA,EAAA,MAAA;IAAS,SAAA,SAAA,EAAA,MAAA,GAAA,IAAA;IAAQ,SAAA,OAAA,EAAA,MAAA,GAAA,IAAA;;;;;MC1LhC,SAAW,gBAAU,EAAA,MAAI;MAiDrB,SAAS,eAAA,EAAA,SAAA,MAAA,EAAA;MAAU,SAAA,qBAAA,EAAA;;;;;;;;;MAiCX,SAAA,eAAA,CAAA,EAAA,MAAA,GAAA,SAAA;MAAW,SAAA,WAAA,CAAA,EAAA,MAAA,GAAA,SAAA;;;;;;;MC/FlB,SAAU,SAEnB,CAAA,EAAA,MAAA,GACC,SAAA;MAGQ,SAAA,OACf,CAAA,EAAA,MAAA,GAAA,SAAA;IAAa,CAAA,EAAA;IASU,SAAA,YAAA,EAAA,SAAA;MAMf,SAAA,UAAA,EAAA,MAAA;MASiB,SAAA,IAAA,EAAA,MAAA;MAAoB,SAAA,QAAA,EAAA,MAAA;MAKtB,SAAA,KAAA,EAAA,MAAA;MAAmB,SAAA,OAAA,EAAA,OAAA;MAM5B,SAAA,UAAA,EAAA,MAAA;MACJ,SAAA,SAAA,EAAA,MAAA;MApCF,SAAA,gBAAA,CAAA,EAAA,MAAA,GAAA,SAAA;MAAI,SAAA,gBAAA,CAAA,EAAA,MAAA,GAAA,SAAA;IAyCG,CAAA,EAAA;EAgHD,CAAA,EAAA;IAAwB,SAAA,kBAAA,EAAA,MAAA;IAAuB,SAAA,UAAA,EAAA,MAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6MpC,CAAA,CAAA,CAAA;EA4IS,WAAA,UAAA,SAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IC/dpB,EAAA,EAAA,MAAA;IAAmB,QAAA,EAAA,MAAA;;;;;;;;uBAwCm8F;EAAA,CAAA,GAAA,SAAA;EAAA,aAAA,EAAA,GAAA,GAAA;;;;;;;;oBAA2S,EAAA,MAAA;MAAA,aAAA,EAAA,MAAA;;;MAAA,SAAA,EAAA,MAAA,GAAA,IAAA;;;;;;;;;;;;MAA2d,CAAA;MAAsS,cAAA,EAAA"}
@@ -1,2 +0,0 @@
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.uploadId,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((e,t,n)=>r.uploadWithFlow(e,t,n),t,n,(e,t,n)=>r.multiInputFlowUpload(e,t,n));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-DL9Qq-3z.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"providers-DL9Qq-3z.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 { 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 as {\n type: UploadEventType;\n uploadId: string;\n data: { progress: number; total: number | null };\n };\n\n for (const entry of managers.values()) {\n entry.manager.handleUploadProgress(\n uploadEvent.uploadId,\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 flowUploadFn = (\n input: unknown,\n flowConfig: FlowUploadOptions[\"flowConfig\"],\n internalOptions: unknown,\n ) => {\n return client.uploadWithFlow(input, flowConfig, internalOptions);\n };\n\n const multiInputUploadFn = (\n inputs: Record<string, unknown>,\n flowConfig: FlowUploadOptions[\"flowConfig\"],\n internalOptions: unknown,\n ) => {\n return client.multiInputFlowUpload(inputs, flowConfig, internalOptions);\n };\n\n const manager = new FlowManager<unknown>(flowUploadFn, callbacks, options, multiInputUploadFn);\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,EAMpB,IAAA,IAAW,KAAS,EAAS,QAAO,CAClC,EAAM,QAAQ,qBACZ,EAAY,SACZ,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,CA8DD,EAAQ,qBAL4C,CAClD,YAvDA,EACA,EACA,IACyB,CACzB,IAAM,EAAW,EAAS,IAAI,EAAM,CAEpC,GAAI,EAGF,MADA,GAAS,WACF,EAAS,QAoBlB,IAAM,EAAU,IAAI,GAflB,EACA,EACA,IAEO,EAAO,eAAe,EAAO,EAAY,EAAe,CAWV,EAAW,GAPhE,EACA,EACA,IAEO,EAAO,qBAAqB,EAAQ,EAAY,EAAe,CAGqB,CAQ7F,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,QAhK9C,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"}