import { SlotClassNames, SlotStyles, HtmlProps } from '../types/slots.types.js';
import { ReactNode } from 'react';
import { IconContent } from '../types/icon.types.js';
export type FabSize = 'default' | 'mini';
export interface FabMenuEntry {
id: string;
icon: IconContent;
label?: string;
}
export type FabSlots = 'root' | 'backdrop' | 'button' | 'icon' | 'menu' | 'menuEntry' | 'menuEntryLabel';
export interface FabProps extends HtmlProps {
children?: ReactNode;
size?: FabSize;
menuEntries?: FabMenuEntry[];
onMenuEntryClicked?: (id: string) => void;
onClick?: () => void;
closeMenuOnEntryClicked?: boolean;
/** Classes for the inner elements. See `FabSlots`. */
classNames?: SlotClassNames;
/** Inline styles for the inner elements. See `FabSlots`. */
styles?: SlotStyles;
}