claritykit-svelte
Version:
A comprehensive Svelte component library focused on accessibility, ADHD-optimized design, developer experience, and full SSR compatibility
48 lines • 1.47 kB
TypeScript
import { Node } from '@tiptap/core';
export interface VideoEmbedOptions {
HTMLAttributes: Record<string, any>;
allowedDomains: string[];
autoplay: boolean;
controls: boolean;
width: number;
height: number;
responsive: boolean;
onVideoLoad?: (src: string, metadata: VideoMetadata) => void;
onVideoError?: (src: string, error: Error) => void;
}
export interface VideoMetadata {
title?: string;
duration?: number;
thumbnail?: string;
provider?: 'youtube' | 'vimeo' | 'direct' | 'other';
embedUrl?: string;
}
declare module '@tiptap/core' {
interface Commands<ReturnType> {
videoEmbed: {
/**
* Insert a video embed
*/
insertVideoEmbed: (options: {
src: string;
title?: string;
width?: number;
height?: number;
autoplay?: boolean;
controls?: boolean;
}) => ReturnType;
/**
* Update video settings
*/
updateVideoSettings: (src: string, settings: Partial<{
width: number;
height: number;
autoplay: boolean;
controls: boolean;
}>) => ReturnType;
};
}
}
export declare const VideoEmbedExtension: Node<VideoEmbedOptions, any>;
export default VideoEmbedExtension;
//# sourceMappingURL=VideoEmbedExtension.d.ts.map