# Text Button
A minimal, text-only button without background or border. Supports multiple color variants, sizes, and optional leading or trailing icons. Ideal for inline actions and links.
```tsx demo
import { TextButton } from "@tenstorrent/vesper/text-button";
export default function TextButtonDemo() {
return Learn more;
}
```
## Options
| Prop | Type | Description | Default |
| ----------- | ---------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------ | ---------- |
| `size` | `"sm" \| "md" \| "lg"` | The size of the text button. Affects font size. | `"md"` |
| `variant` | `"subtle" \| "contrast" \| "accent" \| "success" \| "warning" \| "danger" \| "info" \| "purple" \| "pink"` | The color variant of the text button. | `"accent"` |
| `disabled` | `boolean` | When `true`, renders in a disabled state and prevents interaction. | `false` |
| `iconLeft` | `ReactNode` | An optional icon element rendered to the left of the content. | — |
| `iconRight` | `ReactNode` | An optional icon element rendered to the right of the content. | — |
| `as` | `ElementType` | The root element type for polymorphic rendering. | `"button"` |
| `children` | `ReactNode` | The text content of the button. | — |
All other props are forwarded to the underlying `