diff --git a/apps/landing/src/app/(detail)/components/[component]/textarea/Api.mdx b/apps/landing/src/app/(detail)/components/[component]/textarea/Api.mdx
index 8940dd93..e78cfd90 100644
--- a/apps/landing/src/app/(detail)/components/[component]/textarea/Api.mdx
+++ b/apps/landing/src/app/(detail)/components/[component]/textarea/Api.mdx
@@ -1,3 +1,47 @@
-import { ComingSoon } from '@/components/ComingSoon'
+import { PropsTable } from '@/components/PropsTable'
-
+###### API
+
+`Textarea` props extends the textarea HTML attributes.
+
+ container?: string
textarea?: string
errorMessage?: string
}```',
+ default: '`undefined`',
+ },
+ {
+ property: 'colors',
+ description: 'Custom color variables for the textarea',
+ type: '```{
primary?: string
error?: string
text?: string
border?: string
background?: string
placeholder?: string
focusRing?: string
}```',
+ default: '`undefined`',
+ },
+ ]}
+/>
diff --git a/apps/landing/src/app/(detail)/components/[component]/textarea/demo/1_Default.tsx b/apps/landing/src/app/(detail)/components/[component]/textarea/demo/1_Default.tsx
new file mode 100644
index 00000000..df331ca6
--- /dev/null
+++ b/apps/landing/src/app/(detail)/components/[component]/textarea/demo/1_Default.tsx
@@ -0,0 +1,9 @@
+import { Textarea } from '@devup-ui/components'
+
+/**
+ * **Default**
+ * Basic textarea for multi-line user input.
+ */
+export default function Default() {
+ return
+}
diff --git a/apps/landing/src/app/(detail)/components/[component]/textarea/demo/2_Error.tsx b/apps/landing/src/app/(detail)/components/[component]/textarea/demo/2_Error.tsx
new file mode 100644
index 00000000..0c233d43
--- /dev/null
+++ b/apps/landing/src/app/(detail)/components/[component]/textarea/demo/2_Error.tsx
@@ -0,0 +1,15 @@
+import { Textarea } from '@devup-ui/components'
+
+/**
+ * **Error**
+ * Use `error` and `errorMessage` to show validation feedback.
+ */
+export default function Error() {
+ return (
+
+ )
+}
diff --git a/apps/landing/src/app/(detail)/components/[component]/textarea/demo/3_Disabled.tsx b/apps/landing/src/app/(detail)/components/[component]/textarea/demo/3_Disabled.tsx
new file mode 100644
index 00000000..beb004b0
--- /dev/null
+++ b/apps/landing/src/app/(detail)/components/[component]/textarea/demo/3_Disabled.tsx
@@ -0,0 +1,15 @@
+import { Textarea } from '@devup-ui/components'
+
+/**
+ * **Disabled**
+ * Disabled textareas keep the value visible while preventing edits.
+ */
+export default function Disabled() {
+ return (
+
+ )
+}
diff --git a/apps/landing/src/app/(detail)/components/[component]/textarea/demo/4_Colors.tsx b/apps/landing/src/app/(detail)/components/[component]/textarea/demo/4_Colors.tsx
new file mode 100644
index 00000000..5acb50c4
--- /dev/null
+++ b/apps/landing/src/app/(detail)/components/[component]/textarea/demo/4_Colors.tsx
@@ -0,0 +1,21 @@
+import { Textarea } from '@devup-ui/components'
+
+/**
+ * **Colors**
+ * Override the component color variables to match a custom theme.
+ */
+export default function Colors() {
+ return (
+
+ )
+}
diff --git a/apps/landing/src/app/(detail)/components/[component]/textarea/index.mdx b/apps/landing/src/app/(detail)/components/[component]/textarea/index.mdx
index 7b361fec..cd88d8a1 100644
--- a/apps/landing/src/app/(detail)/components/[component]/textarea/index.mdx
+++ b/apps/landing/src/app/(detail)/components/[component]/textarea/index.mdx
@@ -1 +1 @@
-`Textarea` component is used for multi-line text input.
+`Textarea` component is used for multi-line text input, such as messages, comments, and descriptions.