import { LitElement } from 'lit'; export interface IconButtonClickEventDetail { originalEvent: MouseEvent; label: string; pressed: boolean; } export interface IconButtonActivateEventDetail { originalEvent: KeyboardEvent; label: string; pressed: boolean; } export type IconButtonClickEvent = CustomEvent; export type IconButtonActivateEvent = CustomEvent; export interface IconButtonProps { label?: string; icon?: string; unicode?: string; size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl'; variant?: 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'ghost' | 'monochrome'; type?: 'button' | 'submit' | 'reset'; disabled?: boolean; pressed?: boolean; loading?: boolean; onIconButtonClick?: (event: IconButtonClickEvent) => void; onIconButtonActivate?: (event: IconButtonActivateEvent) => void; } /** * AgIconButton - Accessible icon-only button component * * A semantic button element that displays only an icon with proper * accessibility labeling following Sara Soueidan's guidelines and * WAI-ARIA APG button patterns. * * Features: * - Semantic