import type { ElementType } from 'react'; import type { AriaLabelingProps } from '../../../core/types/a11y-props.js'; import type { BehaviorTrackingProps } from '../../../core/types/behavior-tracking-props.js'; import type { DataTestId } from '../../../core/types/data-props.js'; import type { DOMProps } from '../../../core/types/dom.js'; import type { MaskingProps } from '../../../core/types/masking-props.js'; import type { PolymorphicComponentProps } from '../../../core/types/polymorph.js'; import type { StylingProps } from '../../../core/types/styling-props.js'; import type { WithChildren } from '../../../core/types/with-children.js'; /** * @public */ export type ChipProps = PolymorphicComponentProps; /** * @public */ export interface ChipOwnProps extends DOMProps, AriaLabelingProps, WithChildren, StylingProps, DataTestId, MaskingProps, BehaviorTrackingProps { /** * The color of the component. This should be chosen based on the context * it's used in. * @defaultValue 'neutral' */ color?: 'neutral' | 'primary' | 'success' | 'warning' | 'critical'; /** * Variant defining the visual representation of the component. * @defaultValue 'emphasized' */ variant?: 'accent' | 'emphasized'; /** * Whether the component is disabled. If true, it cannot be interacted with. * @defaultValue false */ disabled?: boolean; /** * The size of the component. * @defaultValue 'default' */ size?: 'default' | 'condensed'; }