` | Table row with hover and selected states |
+| `TableCell` | `| ` | Body cell |
+| `TableCaption` | `` | Table caption |
+
+All sub-components accept their native HTML element props plus an optional `className` for custom styling.
diff --git a/apps/docs/content/docs/components/base/tabs.mdx b/apps/docs/content/docs/components/base/tabs.mdx
new file mode 100644
index 00000000..858fabe5
--- /dev/null
+++ b/apps/docs/content/docs/components/base/tabs.mdx
@@ -0,0 +1,111 @@
+---
+title: Tabs
+description: Organize content into switchable panels with a tabbed navigation bar.
+---
+
+import { Tabs, TabsList, TabsTrigger, TabsContent } from '@/components/ui'
+
+## Overview
+
+Tabs let users switch between related groups of content without leaving the page. The datum-ui Tabs component wraps Radix UI Tabs with Datum design tokens and is composed of `Tabs` (root), `TabsList`, `TabsTrigger`, and `TabsContent`.
+
+## Dependencies
+
+This component requires the following packages:
+
+```package-install
+@radix-ui/react-tabs
+```
+
+## Usage
+
+
+
+
+ Overview
+ Deployments
+ Logs
+
+
+ Your service is running 3 replicas with 99.98% uptime.
+
+
+ Last deployment: v2.4.1, 2 hours ago.
+
+
+ 2026-02-27T10:14:02Z INFO Service started
+
+
+
+
+```tsx
+import { Tabs, TabsList, TabsTrigger, TabsContent } from '@datum-cloud/datum-ui'
+
+
+
+ Overview
+ Deployments
+ Logs
+
+ Overview content
+ Deployments content
+ Logs content
+
+```
+
+## Examples
+
+### Disabled Tab
+
+
+
+
+ Account
+ Security
+ Billing
+
+
+ Manage your account settings.
+
+
+ Update your password.
+
+
+
+
+```tsx
+
+
+ Account
+ Security
+ Billing
+
+ Account settings
+ Security settings
+
+```
+
+## Props
+
+### Tabs
+
+| Prop | Type | Default | Description |
+|------|------|---------|-------------|
+| `defaultValue` | `string` | -- | Initially active tab value (uncontrolled) |
+| `value` | `string` | -- | Active tab value (controlled) |
+| `onValueChange` | `(value: string) => void` | -- | Callback when the active tab changes |
+
+### TabsTrigger
+
+| Prop | Type | Default | Description |
+|------|------|---------|-------------|
+| `value` | `string` | -- | Unique tab identifier |
+| `disabled` | `boolean` | `false` | Prevent selection |
+| `className` | `string` | -- | Additional CSS classes |
+
+### TabsContent
+
+| Prop | Type | Default | Description |
+|------|------|---------|-------------|
+| `value` | `string` | -- | Tab value this content belongs to |
+| `className` | `string` | -- | Additional CSS classes |
diff --git a/apps/docs/content/docs/components/base/textarea.mdx b/apps/docs/content/docs/components/base/textarea.mdx
new file mode 100644
index 00000000..7ebe4e9f
--- /dev/null
+++ b/apps/docs/content/docs/components/base/textarea.mdx
@@ -0,0 +1,65 @@
+---
+title: Textarea
+description: A multi-line text input with auto-sizing and Datum design tokens.
+---
+
+import { Textarea } from '@/components/ui'
+
+## Overview
+
+The `Textarea` component wraps a native ` |