Phials developer documentation
User guide
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

FileBrowserViewProvider

File browser view provider - provides custom view modes

Signature

interface FileBrowserViewProvider {
    type: "view";
    id: string;
    name: string;
    priority: number;
    icon: string;
    component: import("svelte").Component<FileBrowserViewProps>;
    columns?: ViewColumnDefinition[];
    collectionOnly?: boolean;
    defaultItemSizePreset?: ViewItemSizePreset;
    getStatusBarMenuItems?: (pane: PluginPaneContext, api: ViewAPI) => import("phoundry-ui").MenuItem[];
}

Members

NameTypeRequiredDescription
type"view"yes
idstringyes
namestringyes
prioritynumberyesSort order when listing views (lower appears first). Built-in views use 1–6; extension views should use higher numbers.
iconstringyesIcon for view switcher
componentimport("svelte").Component<FileBrowserViewProps>yesView component
columnsViewColumnDefinition[]noOptional: custom column configuration for this view
collectionOnlybooleannoIf true, this view is only available in collections (vials)
defaultItemSizePresetViewItemSizePresetnoDefault item size when a folder has no per-folder override (itemSize null). Details family uses row-height ticks; thumbnails / gallery use grid ticks; other modes use thumbnail tick mapping when a preset is set.
getStatusBarMenuItems(pane: PluginPaneContext, api: ViewAPI) => import("phoundry-ui").MenuItem[]noOptional view status bar menu items (phoundry-ui context menu rows). api is scoped to the plugin that registered this view.