AI Notice: Most documentation right now was auto-generated by an LLM. Handwritten documentation will be implemented over time on the road to 1.0
PreviewProvider
Preview provider - renders file previews, thumbnails, and fullscreen views
Signature
interface PreviewProvider {
type: "preview";
id: string;
name: string;
priority?: number;
extensions?: string[];
mimeTypes?: string[];
categories?: FileCategory[];
canHandle?: (file: FileEntry, api: FileMatchAPI) => boolean;
thumbnail?: import("svelte").Component<ThumbnailProviderProps>;
preview?: import("svelte").Component<PreviewProviderProps>;
fullscreen?: import("svelte").Component<FullscreenProviderProps>;
previewPaneSection?: PreviewPaneSectionConfig;
detailsViewThumbnails?: ViewItemSizePreset[];
overridesDoubleClick?: boolean;
isEditable?: (file: FileEntry, metadata?: FileMetadata) => boolean;
}Members
| Name | Type | Required | Description |
|---|---|---|---|
type | "preview" | yes | — |
id | string | yes | — |
name | string | yes | — |
priority | number | no | — |
extensions | string[] | no | File matching criteria |
mimeTypes | string[] | no | — |
categories | FileCategory[] | no | — |
canHandle | (file: FileEntry, api: FileMatchAPI) => boolean | no | — |
thumbnail | import("svelte").Component<ThumbnailProviderProps> | no | Components |
preview | import("svelte").Component<PreviewProviderProps> | no | — |
fullscreen | import("svelte").Component<FullscreenProviderProps> | no | — |
previewPaneSection | PreviewPaneSectionConfig | no | Preview-sidebar collapsible header override (label required when set). |
detailsViewThumbnails | ViewItemSizePreset[] | no | Details view row-height presets (xs–lg, details slider ticks) at which the leading column mounts . Omitted or empty = icon only. |
overridesDoubleClick | boolean | no | Behavior |
isEditable | (file: FileEntry, metadata?: FileMetadata) => boolean | no | Preview can modify file contents (future host behavior; see Preview editor toolbar in docs/context/preview/toolbar.md). |