/** * Configuration for a section in the WCC Tools sidebar */ export interface IWccSection { /** Display name for the section header */ name: string; /** How items in this section are rendered - 'elements' show demos, 'pages' render directly */ type: 'elements' | 'pages'; /** The items in this section - either element classes or page factory functions */ items: Record; /** Optional filter function to include/exclude items */ filter?: (name: string, item: any) => boolean; /** Optional sort function for ordering items */ sort?: (a: [string, any], b: [string, any]) => number; /** Optional Material icon name for the section header */ icon?: string; /** Whether this section should start collapsed (default: false) */ collapsed?: boolean; } /** * Configuration object for setupWccTools */ export interface IWccConfig { sections: IWccSection[]; } /** * Type for element selection types - now section-based */ export type TElementType = 'element' | 'page';