@buddhacognitivelab/theme-glassmorphic
Version:
Enhanced glassmorphic theme package with dual-mode support, advanced glass effects, interactive UI components, and gesture-based interactions
46 lines (45 loc) • 1.47 kB
TypeScript
/**
* @fileoverview Accordion component with glassmorphic styling
*/
import React from 'react';
export interface AccordionItem {
id: string;
title: string;
content: React.ReactNode;
icon?: React.ReactNode;
disabled?: boolean;
badge?: string | number;
}
export interface AccordionProps {
/** Accordion items */
items: AccordionItem[];
/** Currently expanded item IDs */
expandedItems?: string[];
/** Default expanded item IDs */
defaultExpandedItems?: string[];
/** Whether multiple items can be expanded */
allowMultiple?: boolean;
/** Whether all items can be collapsed */
allowToggle?: boolean;
/** Glass effect intensity */
glassIntensity?: 'light' | 'medium' | 'heavy';
/** Size variant */
size?: 'sm' | 'md' | 'lg';
/** Accordion variant */
variant?: 'default' | 'bordered' | 'separated' | 'minimal';
/** Whether to show expand/collapse icons */
showIcons?: boolean;
/** Custom expand icon */
expandIcon?: React.ReactNode;
/** Custom collapse icon */
collapseIcon?: React.ReactNode;
/** Whether to animate expand/collapse */
animated?: boolean;
/** Item expand/collapse handler */
onItemToggle?: (itemId: string, isExpanded: boolean) => void;
/** Custom className */
className?: string;
/** Whether accordion fills available width */
fullWidth?: boolean;
}
export declare const Accordion: React.FC<AccordionProps>;