import { ReactNode, Ref, ElementType, ComponentPropsWithoutRef } from 'react'; import { Color } from '../types.js'; import { SurfaceVariant } from './Surface.js'; export type ChipSize = '2xs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl'; interface ChipOwnProps { /** Chip content - typically a short label, optionally with an icon. */ children?: ReactNode; /** Currently unused in styling - reserved for future "disabled chip" state. */ disabled?: boolean; /** Extra classes for the chip surface root. */ className?: string; /** Extra classes for the inner content row. */ contentClassName?: string; /** Apply `rounded-full` (pill) corners. When `false` (default), uses size-specific corner radii. */ rounded?: boolean; /** Chip size token. Drives height, padding, and font size. Default `'md'`. */ size?: ChipSize; /** * Polymorphic root element. Defaults to `'span'`. When set to `'a'` or `'button'`, the chip becomes interactive automatically (see `clickable`). */ as?: C; /** Render an outline ring around the chip. Forwarded to the underlying `Surface`. Default `true`. */ outline?: boolean; /** Surface variant. Forwarded to the underlying `Surface`. Default `'gradient'`. */ variant?: SurfaceVariant; /** Show hover affordance. Implicitly enabled when the chip is clickable. */ hoverable?: boolean; /** * Make the chip react to pointer activity (active/pressed state, hover overlay). * * Auto-computed when omitted: `true` if `as === 'a'` or `'button'`, otherwise `false`. * * Set explicitly to override (e.g. force a `` to be clickable, or suppress the default for an `` used purely as a navigation anchor). */ clickable?: boolean; /** Accent color token. Sets the chip's `cladd-color-{name}` class - drives text and ring colors. */ color?: Color; /** Icon component rendered before `children`. Receives `iconProps`. */ icon?: ElementType; /** Props forwarded to the `icon` component. */ iconProps?: Record; /** Forwarded to the underlying `Surface` as `level` - see `SurfaceProps.level` for the relative-offset (`"+1"`/`"-1"`) syntax. */ surfaceLevel?: string | number; /** Forwarded to the polymorphic root element. */ ref?: Ref; } export type ChipProps = ChipOwnProps & Omit, keyof ChipOwnProps>; /** Shape of `Chip` defaults that can be supplied via `CladdProvider`'s `defaults` prop. */ export type ChipDefaultProps = Partial>; export declare const Chip: (props: ChipProps) => import("react/jsx-runtime").JSX.Element; export {}; //# sourceMappingURL=Chip.d.ts.map