From fabd3ae412e7874d86035e3d95b1b9057793c744 Mon Sep 17 00:00:00 2001 From: myelinated-wackerow <263208946+myelinated-wackerow@users.noreply.github.com> Date: Mon, 4 May 2026 20:13:51 -0700 Subject: [PATCH 1/7] feat(storybook): add Textarea story Cover Default, Sizes (`md|sm`), HasError (`true|false`), WithoutPlaceholder, WithHelperText, and Disabled. Title hierarchy `UI / Primitives / Textarea` per #18121. Helper text is rendered as a sibling element with neutral or error tone since `Textarea` does not bundle it natively. Refs: #18121 Co-Authored-By: Claude Opus 4.7 Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com> --- .../ui/__stories__/Textarea.stories.tsx | 100 ++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 src/components/ui/__stories__/Textarea.stories.tsx diff --git a/src/components/ui/__stories__/Textarea.stories.tsx b/src/components/ui/__stories__/Textarea.stories.tsx new file mode 100644 index 00000000000..6d16be31cdf --- /dev/null +++ b/src/components/ui/__stories__/Textarea.stories.tsx @@ -0,0 +1,100 @@ +import type { Meta, StoryObj } from "@storybook/nextjs" + +import { VStack } from "../flex" +import { Textarea } from "../textarea" + +const meta = { + title: "UI / Primitives / Textarea", + component: Textarea, + parameters: { + docs: { + description: { + component: + "Multi-line text input. Mirrors `Input` variants: `size: md|sm` and `hasError: true|false`. Pair with a sibling helper text element to communicate validation or guidance.", + }, + }, + }, +} satisfies Meta + +export default meta + +type Story = StoryObj + +export const Default: Story = { + args: { + placeholder: "Tell us what you think", + }, + render: (args) => ( +
+