import { IconContent } from '../types/icon.types.js'; import { SlotClassNames, SlotStyles } from '../types/slots.types.js'; import { ButtonElementProps, ButtonLinkProps } from '../button/button.types.js'; export type ActionIconSlots = 'root' | 'icon'; type LabelAndSizeProps = 'icon' | 'size' | 'children' | 'isLoading' | 'shortcut' | 'classNames' | 'styles'; interface ActionIconOwnProps { icon: IconContent; classNames?: SlotClassNames; styles?: SlotStyles; } /** * A Button with only an icon, sized by that icon, so every Button prop applies except the ones * that describe a label or a size. With `href` it is a link, as a Button is. Two branches rather * than one `Omit`, which would merge them and lose `target` and the typed `onClick`. */ export type ActionIconProps = (Omit & ActionIconOwnProps) | (Omit & ActionIconOwnProps); export {};