import { HTMLMotionProps } from 'motion/react'; import { M as MD3ColorStyle, b as MD3Size, a as MD3Shape } from './md3-BQhRygSi.js'; import * as React$1 from 'react'; import * as react_jsx_runtime from 'react/jsx-runtime'; type MotionButtonProps$3 = Omit, "children" | "color">; interface BaseButtonProps extends MotionButtonProps$3 { /** * The visual style of the button. * Maps to MD3 emphasis levels. * @default "filled" */ colorStyle?: MD3ColorStyle; /** * @deprecated `selectedColorStyle` is no longer used. Color styles are now automatically * resolved based on the `colorStyle` and `selected` state per MD3 specs. * If provided, it will be ignored. */ selectedColorStyle?: MD3ColorStyle; /** * The size variant of the button. * @default "sm" */ size?: MD3Size; /** * Shape of the button container. * MD3 Expressive morphs the shape slightly on press based on the chosen shape variant. * @default "round" */ shape?: MD3Shape; /** * Override the default border width for outlined buttons. * By default, this is derived from the size token (e.g., 1dp for sm, 3dp for xl). */ outlineWidth?: number; /** * An optional icon to display alongside the label. */ icon?: React.ReactNode; /** * An optional icon to display when the button is in a selected toggle state (`variant="toggle"` and `selected={true}`). */ selectedIcon?: React.ReactNode; /** * Position of the icon relative to the label. * @default "leading" */ iconPosition?: "leading" | "trailing"; /** * The loading state of the button. Replaces the icon (or is prepended) with a spinner. * Disables the button visually and functionally. * @default false */ loading?: boolean; /** * The visual variant of the loading spinner. * @default "loading-indicator" */ loadingVariant?: "loading-indicator" | "circular"; /** * Replaces the wrapping `