aura-glass
Version:
A comprehensive glassmorphism design system for React applications with 142+ production-ready components
133 lines • 3.18 kB
TypeScript
import React from "react";
export interface GlassToggleProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onClick"> {
/**
* Whether toggle is pressed/active
*/
pressed?: boolean;
/**
* Default pressed state
*/
defaultPressed?: boolean;
/**
* Callback when pressed state changes
*/
onPressedChange?: (pressed: boolean) => void;
/**
* Toggle size
*/
size?: "sm" | "md" | "lg";
/**
* Toggle variant
*/
variant?: "default" | "outline" | "ghost";
/**
* Whether toggle is disabled
*/
disabled?: boolean;
/**
* Toggle content
*/
children?: React.ReactNode;
/**
* Left icon
*/
leftIcon?: React.ReactNode;
/**
* Right icon
*/
rightIcon?: React.ReactNode;
/**
* Custom className
*/
className?: string;
/**
* Toggle shape
*/
shape?: "glass-radius-md" | "square" | "circle";
/**
* Animation type
*/
animation?: "none" | "scale" | "slide";
}
export interface GlassToggleGroupProps {
/**
* Selected toggle values
*/
value?: string[];
/**
* Default selected values
*/
defaultValue?: string[];
/**
* Callback when selection changes
*/
onValueChange?: (value: string[]) => void;
/**
* Toggle group type
*/
type?: "single" | "multiple";
/**
* Whether group is disabled
*/
disabled?: boolean;
/**
* Toggle group orientation
*/
orientation?: "horizontal" | "vertical";
/**
* Group size
*/
size?: "sm" | "md" | "lg";
/**
* Group variant
*/
variant?: "default" | "outline" | "ghost";
/**
* Children (GlassToggle components)
*/
children: React.ReactNode;
/**
* Custom className
*/
className?: string;
}
export interface GlassToggleGroupItemProps extends Omit<GlassToggleProps, "pressed" | "onPressedChange"> {
/**
* Toggle value
*/
value: string;
}
/**
* GlassToggle component
* A glassmorphism toggle button
*/
export declare const GlassToggle: React.ForwardRefExoticComponent<GlassToggleProps & React.RefAttributes<HTMLButtonElement>>;
/**
* GlassToggleGroup component
* A group of toggle buttons
*/
export declare const GlassToggleGroup: React.FC<GlassToggleGroupProps>;
/**
* GlassToggleGroupItem component
* Individual toggle item within a group
*/
export declare const GlassToggleGroupItem: React.FC<GlassToggleGroupItemProps>;
/**
* Hook for managing toggle state
*/
export declare const useToggle: (initialPressed?: boolean) => {
pressed: boolean;
setPressed: React.Dispatch<React.SetStateAction<boolean>>;
toggle: () => void;
onPressedChange: React.Dispatch<React.SetStateAction<boolean>>;
};
/**
* Hook for managing toggle group state
*/
export declare const useToggleGroup: (initialValue?: string[]) => {
value: string[];
setValue: React.Dispatch<React.SetStateAction<string[]>>;
onValueChange: React.Dispatch<React.SetStateAction<string[]>>;
toggle: (itemValue: string) => void;
};
//# sourceMappingURL=GlassToggle.d.ts.map