From 8ee5ebc745d8c54ecc05b648db436120c8821dde Mon Sep 17 00:00:00 2001 From: Jacksonmills Date: Thu, 2 Oct 2025 21:25:41 -0500 Subject: [PATCH 01/18] feat(textarea): 789012 - Add Textarea component Add a native, unstyled textarea component that integrates with the Field system to provide automatic state handling and validation. Enable content-aware auto-resizing via minRows/maxRows, support controlled and uncontrolled usage, and expose data attributes for styling based on control state. Add documentation, API reference, unit tests, and package export so the component is discoverable and consumable. --- docs/reference/generated/textarea.json | 58 +++++ .../react/components/textarea/page.mdx | 43 ++++ packages/react/package.json | 1 + packages/react/src/index.ts | 1 + packages/react/src/textarea/Textarea.test.tsx | 13 + packages/react/src/textarea/Textarea.tsx | 228 ++++++++++++++++++ .../src/textarea/TextareaDataAttributes.ts | 30 +++ packages/react/src/textarea/index.ts | 1 + 8 files changed, 375 insertions(+) create mode 100644 docs/reference/generated/textarea.json create mode 100644 docs/src/app/(public)/(content)/react/components/textarea/page.mdx create mode 100644 packages/react/src/textarea/Textarea.test.tsx create mode 100644 packages/react/src/textarea/Textarea.tsx create mode 100644 packages/react/src/textarea/TextareaDataAttributes.ts create mode 100644 packages/react/src/textarea/index.ts diff --git a/docs/reference/generated/textarea.json b/docs/reference/generated/textarea.json new file mode 100644 index 0000000000..f8e8ebc7d2 --- /dev/null +++ b/docs/reference/generated/textarea.json @@ -0,0 +1,58 @@ +{ + "name": "Textarea", + "description": "A native textarea element that automatically works with [Field](https://base-ui.com/react/components/field).\nRenders an `