import React from "react"; export interface CommandItem { /** * Unique identifier */ id: string; /** * Display label */ label: string; /** * Search keywords */ keywords?: string[]; /** * Item description */ description?: string; /** * Category/group */ category?: string; /** * Icon component */ icon?: React.ReactNode; /** * Keyboard shortcut */ shortcut?: string; /** * Action to execute */ action?: () => void; /** * Whether item is disabled */ disabled?: boolean; /** * Custom component to render */ component?: React.ComponentType<{ item: CommandItem; isSelected: boolean; }>; } export interface CommandGroup { /** * Group identifier */ id: string; /** * Group label */ label: string; /** * Items in group */ items: CommandItem[]; /** * Group priority for sorting */ priority?: number; } export interface GlassCommandPaletteProps extends Omit, "onSelect"> { /** * Command items (flat list or grouped) */ items?: CommandItem[]; /** * Grouped command items */ groups?: CommandGroup[]; /** * Whether the palette is open */ open?: boolean; /** * Callback when open state changes */ onOpenChange?: (open: boolean) => void; /** * Callback when command is selected */ onSelect?: (item: CommandItem) => void; /** * Search placeholder text */ placeholder?: string; /** * Empty state message */ emptyMessage?: string; /** * Maximum number of results to show */ maxResults?: number; /** * Enable recent commands tracking */ enableRecents?: boolean; /** * Recent commands storage key */ recentsKey?: string; /** * Maximum number of recent items */ maxRecents?: number; /** * Custom filter function */ filter?: (item: CommandItem, search: string) => boolean; /** * Custom sort function */ sort?: (a: CommandItem, b: CommandItem) => number; /** * Enable fuzzy search */ fuzzySearch?: boolean; /** * Show categories */ showCategories?: boolean; /** * Show shortcuts */ showShortcuts?: boolean; /** * Modal backdrop blur */ backdropBlur?: boolean; /** * Close on escape key */ closeOnEscape?: boolean; /** * Close on select */ closeOnSelect?: boolean; /** * Custom loading state */ loading?: boolean; /** * Loading message */ loadingMessage?: string; /** * Compact rendering for constrained cards and preview surfaces. */ compact?: boolean; /** * Keep the palette bounded inside its parent instead of using a viewport overlay. */ contained?: boolean; /** * Positioning strategy for the palette shell. */ positionStrategy?: "fixed" | "absolute" | "inline"; /** * Render the footer keyboard hints. */ showFooter?: boolean; /** * Explicit palette width. */ width?: React.CSSProperties["width"]; /** * Explicit maximum palette height. */ maxHeight?: React.CSSProperties["maxHeight"]; className?: string; "data-testid"?: string; "aria-label"?: string; } /** * GlassCommandPalette component * Modal command palette with search, keyboard navigation, and glassmorphism styling */ export declare const GlassCommandPalette: React.ForwardRefExoticComponent>; export type { CommandGroup as GlassCommandGroup, CommandItem as GlassCommandItem, }; //# sourceMappingURL=GlassCommandPalette.d.ts.map