aura-glass
Version:
A comprehensive glassmorphism design system for React applications with 142+ production-ready components
111 lines • 2.61 kB
TypeScript
import React from "react";
export interface SearchFilter {
id: string;
label: string;
type: "text" | "select" | "multiselect" | "date" | "range" | "boolean";
value?: any;
options?: Array<{
label: string;
value: any;
}>;
placeholder?: string;
}
export interface SearchSuggestion {
id: string;
text: string;
category?: string;
icon?: React.ReactNode;
count?: number;
}
export interface SearchResult {
id: string;
title: string;
description?: string;
type: "document" | "image" | "video" | "audio" | "user" | "location" | "tag";
thumbnail?: string;
metadata: Record<string, any>;
relevance: number;
createdAt: Date;
updatedAt: Date;
}
export interface GlassAdvancedSearchProps {
/**
* Search placeholder text
*/
placeholder?: string;
/**
* Available search filters
*/
filters?: SearchFilter[];
/**
* Search suggestions
*/
suggestions?: SearchSuggestion[];
/**
* Search results
*/
results?: SearchResult[];
/**
* Loading state
*/
loading?: boolean;
/**
* Enable search history
*/
enableHistory?: boolean;
/**
* Enable saved searches
*/
enableSavedSearches?: boolean;
/**
* Enable advanced filters
*/
enableAdvancedFilters?: boolean;
/**
* Show result statistics
*/
showStats?: boolean;
/**
* Search input handler
*/
onSearch?: (query: string, filters: Record<string, any>) => void;
/**
* Filter change handler
*/
onFilterChange?: (filters: Record<string, any>) => void;
/**
* Result click handler
*/
onResultClick?: (result: SearchResult) => void;
/**
* Save search handler
*/
onSaveSearch?: (name: string, query: string, filters: Record<string, any>) => void;
/**
* Custom className
*/
className?: string;
/**
* Respect user's motion preferences
*/
respectMotionPreference?: boolean;
/**
* Custom ID
*/
id?: string;
/**
* Custom data-testid for testing
*/
"data-testid"?: string;
/**
* ARIA label for accessibility
*/
"aria-label"?: string;
}
/**
* GlassAdvancedSearch component
* A comprehensive search interface with filters, suggestions, and advanced features
*/
export declare const GlassAdvancedSearch: React.ForwardRefExoticComponent<GlassAdvancedSearchProps & React.RefAttributes<HTMLDivElement>>;
export default GlassAdvancedSearch;
//# sourceMappingURL=GlassAdvancedSearch.d.ts.map