From 0bab367219c80c127deca095832f178a6795212f Mon Sep 17 00:00:00 2001 From: abdelrhmanahmed Date: Sun, 27 Sep 2026 01:33:29 +0300 Subject: [PATCH 1/4] test(utilities): add test case for text-stable utility --- packages/tailwindcss/src/utilities.test.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/tailwindcss/src/utilities.test.ts b/packages/tailwindcss/src/utilities.test.ts index 66b051d57..f8ac1d4ad 100644 --- a/packages/tailwindcss/src/utilities.test.ts +++ b/packages/tailwindcss/src/utilities.test.ts @@ -11994,7 +11994,7 @@ test('tab', async () => { }) test('text-wrap', async () => { - expect(await run(['text-wrap', 'text-nowrap', 'text-balance', 'text-pretty'])) + expect(await run(['text-wrap', 'text-nowrap', 'text-balance', 'text-pretty', 'text-stable'])) .toMatchInlineSnapshot(` " .text-balance { @@ -12009,6 +12009,10 @@ test('text-wrap', async () => { text-wrap: pretty; } + .text-stable { + text-wrap: stable; + } + .text-wrap { text-wrap: wrap; } @@ -12020,10 +12024,12 @@ test('text-wrap', async () => { '-text-nowrap', '-text-balance', '-text-pretty', + '-text-stable', 'text-wrap/foo', 'text-nowrap/foo', 'text-balance/foo', 'text-pretty/foo', + 'text-stable/foo', ]), ).toEqual('') }) From 7656a15a40e1bb92e0042e5c31907ab7d861f578 Mon Sep 17 00:00:00 2001 From: abdelrhmanahmed Date: Sun, 27 Sep 2026 01:34:16 +0300 Subject: [PATCH 2/4] feat(utilities): implement text-stable utility for text-wrap property --- packages/tailwindcss/src/utilities.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/tailwindcss/src/utilities.ts b/packages/tailwindcss/src/utilities.ts index 477559d7e..e2a67b2bb 100644 --- a/packages/tailwindcss/src/utilities.ts +++ b/packages/tailwindcss/src/utilities.ts @@ -2359,6 +2359,7 @@ export function createUtilities(theme: Theme) { staticUtility('text-nowrap', [['text-wrap', 'nowrap']]) staticUtility('text-balance', [['text-wrap', 'balance']]) staticUtility('text-pretty', [['text-wrap', 'pretty']]) + staticUtility('text-stable', [['text-wrap', 'stable']]) staticUtility('break-normal', [ ['overflow-wrap', 'normal'], ['word-break', 'normal'], From 2da37abc9e94b3d950b282ae11d4f361baa033f0 Mon Sep 17 00:00:00 2001 From: abdelrhmanahmed Date: Sun, 27 Sep 2026 01:34:38 +0300 Subject: [PATCH 3/4] docs(utilities): document text-stable utility in changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e5e6f6f89..cddfcf350 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added - Add `@tailwindcss/turbopack` package to run Tailwind CSS with Next.js ([20367](https://github.com/tailwindlabs/tailwindcss/pull/20367)) +- Add `text-stable` utility for CSS `text-wrap: stable` to stabilize editable content line wrapping ### Fixed From 655308c8911b7e6b7fbcad40b42a8c1f1bf5b89b Mon Sep 17 00:00:00 2001 From: abdelrhmanahmed Date: Sun, 27 Sep 2026 02:29:13 +0300 Subject: [PATCH 4/4] docs(changelog): link PR #20519 in changelog entry --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cddfcf350..3371b8f58 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,7 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added - Add `@tailwindcss/turbopack` package to run Tailwind CSS with Next.js ([20367](https://github.com/tailwindlabs/tailwindcss/pull/20367)) -- Add `text-stable` utility for CSS `text-wrap: stable` to stabilize editable content line wrapping +- Add `text-stable` utility for CSS `text-wrap: stable` to stabilize editable content line wrapping ([#20519](https://github.com/tailwindlabs/tailwindcss/pull/20519)) ### Fixed