aura-glass
Version:
A comprehensive glassmorphism design system for React applications with 142+ production-ready components
66 lines • 2.67 kB
TypeScript
import React from "react";
export interface GlassCheckboxOption {
value: string;
label: string;
description?: string;
disabled?: boolean;
icon?: React.ReactNode;
}
export interface GlassCheckboxGroupProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onChange" | "defaultValue"> {
/** Currently selected values */
value?: string[];
/** Default selected values (uncontrolled) */
defaultValue?: string[];
/** Callback when selection changes */
onChange?: (value: string[]) => void;
/** Checkbox options */
options?: GlassCheckboxOption[];
/** Whether the checkbox group is disabled */
disabled?: boolean;
/** Size of the checkboxes */
size?: "sm" | "md" | "lg";
/** Visual variant */
variant?: "default" | "success" | "warning" | "error" | "info";
/** Orientation of the checkbox group */
orientation?: "horizontal" | "vertical";
/** Label for the checkbox group */
label?: string;
/** Description text */
description?: string;
/** Error message */
error?: string;
/** Whether the checkbox group is required */
required?: boolean;
/** Minimum number of selections required */
minSelections?: number;
/** Maximum number of selections allowed */
maxSelections?: number;
/** Custom checkbox item component */
renderItem?: (option: GlassCheckboxOption, index: number, isSelected: boolean) => React.ReactNode;
/** Respect user's motion preferences */
respectMotionPreference?: boolean;
/** Accessible label for the checkbox group */
"aria-label"?: string;
/** ID of element that labels the checkbox group */
"aria-labelledby"?: string;
/** ID of element(s) that describe the checkbox group */
"aria-describedby"?: string;
}
export interface GlassCheckboxItemProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onChange"> {
/** Value of this checkbox item */
value: string;
/** Whether this item is checked */
checked?: boolean;
/** Whether this item is disabled */
disabled?: boolean;
/** Whether this item is indeterminate */
indeterminate?: boolean;
/** Child content */
children?: React.ReactNode;
/** Callback when checked state changes */
onChange?: (checked: boolean) => void;
}
export declare const GlassCheckboxItem: React.ForwardRefExoticComponent<GlassCheckboxItemProps & React.RefAttributes<HTMLDivElement>>;
export declare const GlassCheckboxGroup: React.ForwardRefExoticComponent<GlassCheckboxGroupProps & React.RefAttributes<HTMLDivElement>>;
export default GlassCheckboxGroup;
//# sourceMappingURL=GlassCheckboxGroup.d.ts.map