import type React from 'react'; import type { ClickDetail } from './types.js'; /** * @csspart base */ export interface FabOwnProps { /** * Icon name to display. * @example 'example' */ icon?: string; /** * Visible label text. * @example 'Example label' */ label?: string; /** * Accessible label for screen readers when no visible label is present. * @example 'example' */ ariaLabel?: string; /** * Visual style variant. Allowed values: `filled`, `outline`, `ghost`. * @example 'filled' */ variant?: 'filled' | 'outline' | 'ghost'; /** * Semantic color intent (e.g. primary, success, danger). Allowed values: `neutral`, `primary`, `info`, `success`, `warning`, `danger`. * @example 'neutral' */ intent?: 'neutral' | 'primary' | 'info' | 'success' | 'warning' | 'danger'; /** * Corner radius style. Allowed values: `rounded`, `pill`. * @example 'rounded' */ shape?: 'rounded' | 'pill'; /** * Component size. Allowed values: `sm`, `md`, `lg`. * @example 'sm' */ size?: 'sm' | 'md' | 'lg'; /** * Disables the component, preventing interaction. * @defaultValue false * @example true */ disabled?: boolean; /** * ARIA attribute indicating the FAB triggers a popup (e.g. menu or dialog). * @defaultValue false * @example true */ hasPopup?: boolean; /** * Whether the component is in an expanded state. * @defaultValue false * @example true */ expanded?: boolean; /** * ID of the element this FAB controls (aria-controls). * @example 'example' */ controls?: string; /** * Fires when the user activates the component. Detail: `ClickDetail`. * @example (event) => console.log(event.detail) */ onClick?: (event: CustomEvent) => void; /** CSS class applied to the Custom Element host. * @example 'my-component' */ className?: string; /** Inline styles applied to the Custom Element host. * @example { marginTop: 8 } */ style?: React.CSSProperties; } /** * Props for ``: the component's own API plus every standard DOM * attribute and native React event handler, forwarded verbatim to the * `` host — `id`, `data-*`, `aria-*`, `title`, `tabIndex`, * `slot`, `onMouseEnter`, and the rest. Own props always win over a * same-named DOM attribute. */ export type FabProps = FabOwnProps & Omit, keyof FabOwnProps | 'children' | 'dangerouslySetInnerHTML'>; export declare const Fab: React.ForwardRefExoticComponent, "children" | "dangerouslySetInnerHTML" | keyof FabOwnProps> & React.RefAttributes>;