@perspective-dev/viewer
    Preparing search index...

    Static, immutable configuration for a plugin.

    Returned once per plugin from get_static_config() at registration time and cached in [crate::renderer::PluginRecord]. Consumers (renderer, session, queries, components) read these fields off the renderer's active-plugin metadata rather than calling back into JS.

    <perspective-viewer> reads this exactly once per plugin (at registerPlugin time) and caches it for the lifetime of the application. The result must be stable; do not mutate any field after registration.

    type PluginStaticConfig = {
        can_render_column_styles?: boolean;
        category?: string | null;
        config_column_names?: string[];
        group_rollup_modes?: GroupRollupMode[] | null;
        max_cells?: number | null;
        max_columns?: number | null;
        min_config_columns?: number | null;
        name: string;
        priority?: number | null;
        select_mode?: ColumnSelectMode;
    }
    Index

    Properties

    can_render_column_styles?: boolean

    Whether this plugin opts into per-column style controls in the settings sidebar. When true, the StyleTab is shown for active columns and the plugin's column_config_schema is queried for the per-column field set. When false or omitted, no StyleTab is shown.

    category?: string | null

    Category in the plugin picker menu.

    config_column_names?: string[]

    Named column slots. Named columns have replace/swap behavior in drag/drop rather than insert. The length must be at least min_config_columns.

    group_rollup_modes?: GroupRollupMode[] | null

    Group-rollup modes the plugin accepts, in preference order. The first entry that matches a feature flag becomes the default.

    max_cells?: number | null

    Soft limit on the number of cells (rows × columns) the plugin will render. Triggers the "Rendering N of M" warning when the view exceeds this value (until dismissed).

    max_columns?: number | null

    Soft limit on the number of columns the plugin will render. Triggers the "Rendering N of M" warning when the view exceeds this value (until dismissed).

    min_config_columns?: number | null

    Minimum number of columns the plugin requires to render. Mostly affects drag/drop and column-remove button behavior. undefined is treated identically to 1.

    name: string

    The unique key for this plugin. Used as the plugin field in a ViewerConfig and as the display name key in the <perspective-viewer> UI.

    priority?: number | null

    Plugin load priority. Higher numbers win; ties resolve in registration order. The highest-priority plugin is loaded by default unless restore({ plugin }) overrides it.

    select_mode?: ColumnSelectMode

    Column add/remove behavior. "select" exclusively selects the added column, removing other columns. "toggle" toggles the column on or off based on its current state, leaving other columns alone.