import type { PrimitivePropsWithRef } from '../utils/primitive.js'; /** Props for the {@link Toggle} button. */ export interface ToggleProps extends PrimitivePropsWithRef<'button'> { /** * Pressed state for controlled usage. Pair with `onPressedChange`. * @default undefined */ pressed?: boolean | undefined; /** * Initial pressed state, for uncontrolled usage. * @default false */ defaultPressed?: boolean | undefined; /** * Fires with the new pressed state whenever it changes. * @default undefined */ onPressedChange?: ((pressed: boolean) => void) | undefined; /** * Disables the toggle and excludes it from the tab order. * @default false */ disabled?: boolean | undefined; /** * Size rung the skin scales the button by, mirrored to `data-size` on the root. * @default undefined — the skin's own default size. */ size?: 'sm' | 'lg' | (string & {}) | undefined; }