From 9508b4a94d56d5960c55ace61bf160d33abf57bc Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 12 Aug 2026 12:52:09 +0000 Subject: [PATCH 1/3] Add Textarea field sizing option Co-authored-by: HiroAgustin <1458873+HiroAgustin@users.noreply.github.com> --- .changeset/textarea-field-sizing.md | 5 +++++ packages/react/src/Textarea/TextArea.module.css | 5 +++++ packages/react/src/Textarea/Textarea.docs.json | 8 +++++++- .../react/src/Textarea/Textarea.features.stories.tsx | 9 +++++++++ packages/react/src/Textarea/Textarea.stories.tsx | 4 ++++ packages/react/src/Textarea/Textarea.test.tsx | 11 +++++++++++ packages/react/src/Textarea/Textarea.tsx | 6 ++++++ 7 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 .changeset/textarea-field-sizing.md diff --git a/.changeset/textarea-field-sizing.md b/.changeset/textarea-field-sizing.md new file mode 100644 index 00000000000..f4a5d6c3bd1 --- /dev/null +++ b/.changeset/textarea-field-sizing.md @@ -0,0 +1,5 @@ +--- +'@primer/react': minor +--- + +Textarea: Add a `fieldSizing` option that allows the field to grow with its content diff --git a/packages/react/src/Textarea/TextArea.module.css b/packages/react/src/Textarea/TextArea.module.css index 9397b4f8b3d..f152902ca93 100644 --- a/packages/react/src/Textarea/TextArea.module.css +++ b/packages/react/src/Textarea/TextArea.module.css @@ -29,6 +29,11 @@ resize: vertical; } +.TextArea[data-field-sizing='true'] { + min-height: 1lh; + field-sizing: content; +} + .TextArea:disabled { resize: none; } diff --git a/packages/react/src/Textarea/Textarea.docs.json b/packages/react/src/Textarea/Textarea.docs.json index d657b622f17..23a16a99245 100644 --- a/packages/react/src/Textarea/Textarea.docs.json +++ b/packages/react/src/Textarea/Textarea.docs.json @@ -67,6 +67,12 @@ "defaultValue": "'both'", "description": "Changes the resize behavior" }, + { + "name": "fieldSizing", + "type": "boolean", + "defaultValue": "false", + "description": "Allows the textarea to grow to fit its content" + }, { "name": "characterLimit", "type": "number", @@ -110,4 +116,4 @@ } ], "subcomponents": [] -} \ No newline at end of file +} diff --git a/packages/react/src/Textarea/Textarea.features.stories.tsx b/packages/react/src/Textarea/Textarea.features.stories.tsx index ccce128c3c0..0a79f15f167 100644 --- a/packages/react/src/Textarea/Textarea.features.stories.tsx +++ b/packages/react/src/Textarea/Textarea.features.stories.tsx @@ -108,6 +108,15 @@ export const CustomResizeBehavior = () => ( ) +export const FieldSizing = () => ( +
+ + Automatically growing textarea +