/** * ConsentDialogTrigger compound component. * * A draggable floating button that opens the consent dialog. * Supports drag-to-corner positioning and configurable icons. * * @packageDocumentation */ import type { FC } from 'react'; import { TriggerButton, type TriggerButtonProps } from './atoms/button'; import { TriggerIcon, type TriggerIconProps } from './atoms/icon'; import { TriggerRoot, type TriggerRootProps, useTriggerContext } from './atoms/root'; import { TriggerText, type TriggerTextProps } from './atoms/text'; import type { ConsentDialogTriggerProps } from './types'; /** * Compound component interface for ConsentDialogTrigger. */ export interface ConsentDialogTriggerCompound extends FC { /** Root component - provides context and handles portal rendering */ Root: typeof TriggerRoot; /** Button component - the clickable element */ Button: typeof TriggerButton; /** Icon component - renders branding or custom icons */ Icon: typeof TriggerIcon; /** Text component - for adding labels */ Text: typeof TriggerText; } /** * ConsentDialogTrigger with compound components attached. * * Can be used as a simple component or composed with sub-components: * * @example * Simple: * ```tsx * * ``` * * @example * Compound: * ```tsx * * * * Privacy * * * ``` */ export declare const ConsentDialogTrigger: ConsentDialogTriggerCompound; export type { TriggerButtonProps, TriggerIconProps, TriggerRootProps, TriggerTextProps, }; export { TriggerButton, TriggerIcon, TriggerRoot, TriggerText, useTriggerContext, };