import { LitElement, CSSResultGroup } from 'lit'; export interface ButtonToggleEventDetail { pressed: boolean; } export type ButtonToggleEvent = CustomEvent; export interface ButtonProps { variant?: 'success' | 'primary' | 'secondary' | 'warning' | 'danger' | 'monochrome' | ''; size?: 'x-sm' | 'sm' | 'md' | 'lg' | 'xl'; shape?: 'capsule' | 'rounded' | 'circle' | 'square' | 'rounded-square' | ''; bordered?: boolean; ghost?: boolean; link?: boolean; grouped?: boolean; fullWidth?: boolean; type?: 'button' | 'submit' | 'reset'; disabled?: boolean; loading?: boolean; toggle?: boolean; pressed?: boolean; ariaLabel?: string; onClick?: (event: MouseEvent) => void; onFocus?: (event: FocusEvent) => void; onBlur?: (event: FocusEvent) => void; onToggle?: (event: ButtonToggleEvent) => void; } /** * AgButton - Foundation button component with APG compliance * * A semantic button element that supports multiple types and follows * WAI-ARIA APG button patterns for full accessibility compliance. * * Features: * - Semantic