# @fayegram-ai/faye-ui/core/text

Public exports and dependency-resolved component properties, with usage and rendering guidance.

## Import

```tsx
import { Text, Heading } from '@fayegram-ai/faye-ui/core/text';
```

[Usage and behavior guide](/docs/foundations/) · [API JSON](/api/packages/core/text.json)

This entry has no declared client boundary; individual exported behavior still follows its rendering contract.

## Public exports

| Name | Kind | Resolved declaration type |
|---|---|---|
| `Text` | value | `({ as, size, tone, weight, variant, profile, truncate, balance, className, ...props }: TextProps) => import("react").DetailedReactHTMLElement<{ className: string; "data-variant": string; "data-size": string \| undefined; "data-tone": string; "data-weight": string \| undefined; "data-truncate": true \| undefined; "data-balance": true \| undefined; ref?: Ref<HTMLElement>; defaultChecked?: boolean \| undefined; defaultValue?: string \| number \| readonly string[] \| undefined; suppressContentEditableWarning?: boolean \| undefined; suppressHydrationWarning?: boolean \| undefined; accessKey?: string \| undefined; autoCapitalize?: "off" \| "none" \| "on" \| "sentences" \| "words" \| "characters" \| undefined \| (string & {}); autoFocus?: boolean \| undefined; contentEditable?: (boolean \| "true" \| "false") \| "inher… (full type in API JSON)` |
| `Heading` | value | `({ level, size, variant, profile, className, ...props }: HeadingProps) => import("react").DetailedReactHTMLElement<{ className: string; "data-variant": string; "data-size": string \| undefined; ref?: Ref<HTMLHeadingElement>; defaultChecked?: boolean \| undefined; defaultValue?: string \| number \| readonly string[] \| undefined; suppressContentEditableWarning?: boolean \| undefined; suppressHydrationWarning?: boolean \| undefined; accessKey?: string \| undefined; autoCapitalize?: "off" \| "none" \| "on" \| "sentences" \| "words" \| "characters" \| undefined \| (string & {}); autoFocus?: boolean \| undefined; contentEditable?: (boolean \| "true" \| "false") \| "inherit" \| "plaintext-only" \| undefined; contextMenu?: string \| undefined; dir?: string \| undefined; draggable?: (boolean \| "true" \| "false") \| undefi… (full type in API JSON)` |
| `TextProps` | type | `TextProps` |
| `HeadingProps` | type | `HeadingProps` |
| `TextVariantOverrides` | type | `TextVariantOverrides` |
| `TextToneOverrides` | type | `TextToneOverrides` |
| `TextSizeOverrides` | type | `TextSizeOverrides` |
| `TextWeightOverrides` | type | `TextWeightOverrides` |

## Text

Public component; use the linked family guide for complete composition and behavior.

Dependency-resolved declaration properties. Common React/native HTML attributes are omitted from the table; use the full declaration and React/native references. Generic and union restrictions remain authoritative in TypeScript.

### Properties

| Property | Required | Type | Meaning |
|---|---|---|---|
| `as` | No | `"span" \| "code" \| "div" \| "label" \| "p" \| undefined` | See the usage contract and declaration. |
| `balance` | No | `boolean \| undefined` | See the usage contract and declaration. |
| `profile` | No | `ComponentProfile \| undefined` | See the usage contract and declaration. |
| `ref` | No | `Ref<HTMLElement> \| undefined` | See the usage contract and declaration. |
| `size` | No | `VisualVariant<"text", "size"> \| undefined` | See the usage contract and declaration. |
| `tone` | No | `VisualVariant<"text", "tone"> \| undefined` | See the usage contract and declaration. |
| `truncate` | No | `boolean \| undefined` | See the usage contract and declaration. |
| `variant` | No | `VisualVariant<"text", "variant"> \| undefined` | Visual typography only. Never changes semantic element or heading level. |
| `weight` | No | `VisualVariant<"text", "weight"> \| undefined` | See the usage contract and declaration. |



## Heading

Public component; use the linked family guide for complete composition and behavior.

Dependency-resolved declaration properties. Common React/native HTML attributes are omitted from the table; use the full declaration and React/native references. Generic and union restrictions remain authoritative in TypeScript.

### Properties

| Property | Required | Type | Meaning |
|---|---|---|---|
| `level` | No | `2 \| 3 \| 1 \| 5 \| 4 \| 6 \| undefined` | See the usage contract and declaration. |
| `profile` | No | `ComponentProfile \| undefined` | See the usage contract and declaration. |
| `ref` | No | `Ref<HTMLHeadingElement> \| undefined` | See the usage contract and declaration. |
| `size` | No | `VisualVariant<"heading", "size"> \| undefined` | See the usage contract and declaration. |
| `variant` | No | `VisualVariant<"heading", "variant"> \| undefined` | See the usage contract and declaration. |



## Defaults and customization

Descriptor defaults: `{"variant":"body","tone":"default"}`. Parts: `root`. Explicit instance props take precedence over configured defaults.

Use semantic tokens, public part hooks and customization sheets. Keep visual configuration separate from application state.

## State, events and accessibility

For interactive controls, pair a controlled value/open prop with its corresponding change callback; default props initialize uncontrolled state. Keep application validation and submission policy explicit. Name controls with visible labels, name icon-only actions on the button, and preserve focus and dismissal behavior when replacing parts. Use native form names and submit/reset types where supported. See the usage guide for component-specific behavior and live examples.

## Declaration authority

Generated from `packages/faye-ui/dist/core/text.d.ts` after the semantic package build. Common native/React attributes are intentionally omitted from property tables. Generic overloads, discriminated unions and complete inherited attributes remain authoritative in installed TypeScript declarations. [React DOM attributes](https://react.dev/reference/react-dom/components/common) and [Base UI component contracts](https://base-ui.com/react/overview/quick-start) describe the inherited foundations.
