/** * Types for the GooeyButton component — a clickable pill that reveals a * card via a gooey SVG-filter morph. * * @module @mks2508/mks-ui/react/ui/GooeyButton */ import type { ReactNode } from 'react'; import type { IGooeyMorphConfig, IGooeyMorphSlots } from '../../../react-ui/primitives/GooeyMorphingSurface'; export interface IGooeyButtonProps { /** Controlled open state. */ open?: boolean; /** Default open state for uncontrolled usage. */ defaultOpen?: boolean; /** Change callback for the open state. */ onOpenChange?: (open: boolean) => void; /** Content rendered inside the pill. */ pill: ReactNode; /** Content rendered inside the card body (revealed when open). */ card: ReactNode; /** Partial override of the morph config. */ config?: Partial; /** Close when Escape is pressed. Default: true. */ closeOnEscape?: boolean; /** Close when clicking outside the host element. Default: true. */ closeOnOutside?: boolean; /** Disable the trigger. */ disabled?: boolean; /** Extra className for the host. */ className?: string; /** Per-slot className overrides (forwarded to primitive). */ slots?: IGooeyMorphSlots; /** aria-label for the trigger button (defaults to "Toggle"). */ 'aria-label'?: string; } //# sourceMappingURL=GooeyButton.types.d.ts.map