import type { AccordionItemContextType, IAccordionProps, IAccordionItemProps, IAccordionHeaderProps, IAccordionTriggerProps, IAccordionPanelProps } from './Accordion.types'; declare const useAccordionItem: () => AccordionItemContextType; /** * Root Accordion container. Manages which items are expanded and * provides context to child components. * * Supports both controlled (`value` + `onValueChange`) and uncontrolled * (`defaultValue`) usage patterns. * * @param props - {@link IAccordionProps} * @returns The rendered accordion container * * @example * ```tsx * // Uncontrolled with default expansion * * ... * ... * * * // Controlled * const [value, setValue] = useState(['item-1']); * * ... * * ``` */ declare function Accordion({ variant, className, slots, config: _config, ...props }: IAccordionProps): import("react/jsx-runtime").JSX.Element; /** * Individual collapsible section within an Accordion. * Tracks its own open/closed state derived from the parent context. * * @param props - {@link IAccordionItemProps} * @returns The rendered accordion item * * @example * ```tsx * * * Section Title * * Section content * * ``` */ declare function AccordionItem({ slots, className, ...props }: IAccordionItemProps): import("react/jsx-runtime").JSX.Element; /** * Header wrapper for an accordion trigger. Provides semantic structure * and consistent spacing around the trigger element. * * @param props - {@link IAccordionHeaderProps} * @returns The rendered accordion header * * @example * ```tsx * * Section Title * * ``` */ declare function AccordionHeader({ slots, className, ...props }: IAccordionHeaderProps): import("react/jsx-runtime").JSX.Element; /** * Clickable trigger that toggles the associated AccordionPanel. * Rendered as a button for accessibility. * * @param props - {@link IAccordionTriggerProps} * @returns The rendered accordion trigger * * @example * ```tsx * * Click to expand * * ``` */ declare function AccordionTrigger({ slots, className, ...props }: IAccordionTriggerProps): import("react/jsx-runtime").JSX.Element; /** * Animated collapsible panel that shows/hides content with a smooth * height transition powered by Motion (Framer Motion). * * Uses a mask-image technique for a polished reveal/hide effect. * When `keepRendered` is `true`, the panel stays in the DOM even when * collapsed (useful for preserving form state). * * @param props - {@link IAccordionPanelProps} * @returns The rendered animated accordion panel * * @example * ```tsx * // Standard panel (unmounts on collapse) * * Content revealed on expand * * * // Persistent panel (stays mounted) * * ... * * ``` */ declare function AccordionPanel({ transition, hiddenUntilFound, keepRendered, slots, className, ...props }: IAccordionPanelProps): import("react/jsx-runtime").JSX.Element; export { Accordion, AccordionItem, AccordionHeader, AccordionTrigger, AccordionPanel, useAccordionItem, }; export type { IAccordionProps, IAccordionItemProps, IAccordionHeaderProps, IAccordionTriggerProps, IAccordionPanelProps, IAccordionConfig, AccordionSlot, AccordionContextType, AccordionItemContextType, } from './Accordion.types'; export { AccordionStyles, accordionVariants, type AccordionVariantProps, } from './Accordion.styles'; //# sourceMappingURL=index.d.ts.map
Content revealed on expand