aura-glass
Version:
A comprehensive glassmorphism design system for React applications with 142+ production-ready components
122 lines • 2.69 kB
TypeScript
import React from "react";
export interface SearchResult {
id: string;
title: string;
description?: string;
category?: string;
url?: string;
metadata?: Record<string, any>;
highlighted?: {
title?: string;
description?: string;
};
}
export interface SearchFilter {
id: string;
label: string;
value: string;
count?: number;
}
export interface SearchCategory {
id: string;
label: string;
icon?: React.ReactNode;
count?: number;
}
export interface GlassSearchInterfaceProps {
/**
* Search placeholder text
*/
placeholder?: string;
/**
* Search value
*/
value?: string;
/**
* Search change handler
*/
onChange?: (value: string) => void;
/**
* Search submit handler
*/
onSearch?: (query: string, filters: Record<string, string[]>) => void;
/**
* Search results
*/
results?: SearchResult[];
/**
* Search suggestions
*/
suggestions?: string[];
/**
* Recent searches
*/
recentSearches?: string[];
/**
* Available filters
*/
filters?: Record<string, SearchFilter[]>;
/**
* Selected filters
*/
selectedFilters?: Record<string, string[]>;
/**
* Filter change handler
*/
onFiltersChange?: (filters: Record<string, string[]>) => void;
/**
* Search categories
*/
categories?: SearchCategory[];
/**
* Active category
*/
activeCategory?: string;
/**
* Category change handler
*/
onCategoryChange?: (categoryId: string) => void;
/**
* Loading state
*/
loading?: boolean;
/**
* Empty state message
*/
emptyMessage?: string;
/**
* Result click handler
*/
onResultClick?: (result: SearchResult) => void;
/**
* Custom result renderer
*/
renderResult?: (result: SearchResult) => React.ReactNode;
/**
* Search interface variant
*/
variant?: "default" | "modal" | "inline" | "compact";
/**
* Whether to show filters
*/
showFilters?: boolean;
/**
* Whether to show categories
*/
showCategories?: boolean;
/**
* Maximum results to show
*/
maxResults?: number;
/**
* Debounce delay for search
*/
debounceDelay?: number;
className?: string;
}
/**
* GlassSearchInterface component
* Advanced search interface with filters, categories, and results
*/
export declare const GlassSearchInterface: React.ForwardRefExoticComponent<GlassSearchInterfaceProps & React.RefAttributes<HTMLDivElement>>;
//# sourceMappingURL=GlassSearchInterface.d.ts.map