import type { PolymorphicTag, PrimitivePropsWithRef } from '../utils/primitive.cjs'; /** Props for {@link Text}, the typographic primitive. */ export interface TextProps extends PrimitivePropsWithRef<'span'> { /** * Element name to render, from the library's tag allowlist; the tag alone supplies the semantics. * @default 'span' */ as?: PolymorphicTag | undefined; /** * Size rung the skin scales the text by, mirrored to `data-size`. * @default undefined — the skin's own default size. */ size?: 'sm' | 'md' | 'lg' | (string & {}) | undefined; /** * Colour role the skin gives the text, mirrored to `data-tone`. * @default undefined — the skin's own default colour. */ tone?: 'default' | 'muted' | 'accent' | 'danger' | 'success' | 'warning' | 'info' | (string & {}) | undefined; /** * Visual weight rung the skin gives the text, mirrored to `data-variant`. * @default undefined — the skin's own default weight. */ variant?: 'body' | 'numeric' | 'mono' | (string & {}) | undefined; }