claritykit-svelte
Version:
A comprehensive Svelte component library focused on accessibility, ADHD-optimized design, developer experience, and full SSR compatibility
44 lines • 1.32 kB
TypeScript
import { Extension } from '@tiptap/core';
export interface MediaUploadOptions {
acceptedTypes: string[];
maxFileSize: number;
maxFiles: number;
uploadHandler: (files: File[]) => Promise<MediaUploadResult[]>;
onUploadStart?: (files: File[]) => void;
onUploadProgress?: (progress: number, file: File) => void;
onUploadComplete?: (results: MediaUploadResult[]) => void;
onUploadError?: (error: Error, file: File) => void;
enableDragDrop: boolean;
enablePasteUpload: boolean;
}
export interface MediaUploadResult {
id: string;
url: string;
filename: string;
size: number;
type: string;
thumbnail?: string;
metadata?: {
width?: number;
height?: number;
duration?: number;
alt?: string;
};
}
declare module '@tiptap/core' {
interface Commands<ReturnType> {
mediaUpload: {
/**
* Upload files
*/
uploadFiles: (files: File[]) => ReturnType;
/**
* Insert uploaded media
*/
insertMedia: (media: MediaUploadResult) => ReturnType;
};
}
}
export declare const MediaUploadExtension: Extension<MediaUploadOptions, any>;
export default MediaUploadExtension;
//# sourceMappingURL=MediaUploadExtension.d.ts.map