aura-glass
Version:
A comprehensive glassmorphism design system for React applications with 142+ production-ready components
108 lines • 2.49 kB
TypeScript
import React from "react";
export interface SelectOption {
value: string | number;
label: string;
disabled?: boolean;
group?: string;
}
export interface GlassSelectProps extends Omit<React.SelectHTMLAttributes<HTMLSelectElement>, "size"> {
/**
* Select variant
*/
variant?: "default" | "filled" | "outlined" | "minimal";
/**
* Select size
*/
size?: "sm" | "md" | "lg";
/**
* Select state
*/
state?: "default" | "error" | "warning" | "success";
/**
* Whether select is full width
*/
fullWidth?: boolean;
/**
* Left icon
*/
leftIcon?: React.ReactNode;
/**
* Helper text
*/
helperText?: string;
/**
* Error text
*/
errorText?: string;
/**
* Loading state
*/
loading?: boolean;
/**
* Select options
*/
options?: SelectOption[];
/**
* Placeholder text
*/
placeholder?: string;
/**
* Whether select is searchable
*/
searchable?: boolean;
/**
* Custom search function
*/
onSearch?: (query: string) => void;
/**
* Multi-select mode
*/
multiple?: boolean;
/**
* Max items for multi-select
*/
maxItems?: number;
/**
* Custom option renderer
*/
renderOption?: (option: SelectOption) => React.ReactNode;
/**
* Custom value renderer
*/
renderValue?: (value: string | number | (string | number)[]) => React.ReactNode;
/**
* Value change callback (preferred over onChange)
*/
onValueChange?: (value: any) => void;
/**
* Accessible label for the select
*/
label?: string;
/**
* ID of element that labels the select
*/
"aria-labelledby"?: string;
/**
* ID of element(s) that describe the select
*/
"aria-describedby"?: string;
/**
* Whether the select is required
*/
"aria-required"?: boolean;
/**
* Whether the select value is invalid
*/
"aria-invalid"?: boolean;
/**
* ID of error message element
*/
"aria-errormessage"?: string;
}
/**
* GlassSelect component
* A glassmorphism select field with advanced features
* @deprecated Prefer the Radix-based compound Select exported from GlassSelectCompound
*/
export declare const GlassSelect: React.ForwardRefExoticComponent<GlassSelectProps & React.RefAttributes<HTMLSelectElement>>;
//# sourceMappingURL=GlassSelect.d.ts.map