feat(web-shared): extend cn with custom tailwind-merge class groups#2619
Merged
Conversation
Move cn to its own lib/cn module that teaches tailwind-merge about the design-system text-heading/text-label/text-copy/text-button/material utilities, and import it directly from lib/cn.
Contributor
🦋 Changeset detectedLatest commit: 8754769 The changes in this PR will be included in the next version bump. This PR includes changesets to release 16 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
karthikscale3
approved these changes
Jun 24, 2026
github-actions Bot
added a commit
that referenced
this pull request
Jun 25, 2026
…2619) Move cn to its own lib/cn module that teaches tailwind-merge about the design-system text-heading/text-label/text-copy/text-button/material utilities, and import it directly from lib/cn. Co-authored-by: Cursor Agent <cursoragent@cursor.com> Signed-off-by: Mitul Shah <mitulxshah@gmail.com>
Contributor
|
Backport PR opened against |
This was referenced Jun 25, 2026
karthikscale3
pushed a commit
that referenced
this pull request
Jun 25, 2026
…2619) (#2623) Move cn to its own lib/cn module that teaches tailwind-merge about the design-system text-heading/text-label/text-copy/text-button/material utilities, and import it directly from lib/cn. Signed-off-by: Mitul Shah <mitulxshah@gmail.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Cursor Agent <cursoragent@cursor.com>
pranaygp
added a commit
that referenced
this pull request
Jun 26, 2026
* origin/main: (46 commits) [web] Fix HTTP/2 in bundled server build so observability reads work (#2632) [core] Fix turbo-mode step-body writes racing run_started (#2629) fix(world-postgres): rename setup command (#2644) chore: ignore workflow swc caches (#2640) fix(ai): ignore intentional stream aborts (#2635) fix(nitro): reload steps during Vite HMR (#2572) [world] Make @workflow/world own its Zod dependency (#2622) feat(web-shared): extend cn with custom tailwind-merge class groups (#2619) [world-vercel] Enable HTTP/2 for the events API and stream writes (#2573) Remove shadow from off-screen marker indicator button (#2614) Fix discovery of dotted JS workflow imports (#2594) Version Packages (beta) (#2597) Thread occurredAt into web-shared entities (#2608) Propagate trace context to vercel-workflow.com in workbench instrumentation (#2601) Reduce workflow build log noise (#2565) Version Packages (beta) (#2596) Use text-gray-900 for trace shortcut helper text (#2595) Trace /flow route initialization (#2592) Version Packages (beta) (#2591) feat(web): add trace step shortcut helper (#2582) ... # Conflicts: # workbench/nextjs-turbopack/instrumentation.ts # workbench/nextjs-webpack/instrumentation.ts
pranaygp
added a commit
that referenced
this pull request
Jun 26, 2026
…edrive * origin/main: (90 commits) [ai] Fix "missing text part" stream crash by repairing UI message framing (#2537) [ci] Fix release "Premature close" by bounding changelog GraphQL batch size (#2669) [ai] Drop orphan UI chunks after negative-index reconnect (#2082) Fix trace detail panel Input/Output flicker (selection-driven state machine) (#2637) [world-local] Scope untagged startup recovery to untagged runs (#2667) fix(world-postgres): defer loopback worker startup (#2657) docs: deprecate DurableAgent and WorkflowChatTransport, point to AI SDK WorkflowAgent (#2616) [web] Fix HTTP/2 in bundled server build so observability reads work (#2632) [core] Fix turbo-mode step-body writes racing run_started (#2629) fix(world-postgres): rename setup command (#2644) chore: ignore workflow swc caches (#2640) fix(ai): ignore intentional stream aborts (#2635) fix(nitro): reload steps during Vite HMR (#2572) [world] Make @workflow/world own its Zod dependency (#2622) feat(web-shared): extend cn with custom tailwind-merge class groups (#2619) [world-vercel] Enable HTTP/2 for the events API and stream writes (#2573) Remove shadow from off-screen marker indicator button (#2614) Fix discovery of dotted JS workflow imports (#2594) Version Packages (beta) (#2597) Thread occurredAt into web-shared entities (#2608) ... # Conflicts: # packages/core/src/runtime/step-executor.ts # packages/world-vercel/src/http-client.ts
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Teaches
tailwind-mergeabout the design-system typography/material utilities (text-heading-*,text-label-*,text-copy-*,text-button-*,material-*) so that conflicting classes within those groups resolve correctly when merged viacn.Changes
packages/web-shared/src/lib/cn.tswith anextendTailwindMergeconfig covering the custom class groupscnout oflib/utils.tsinto its ownlib/cnmodule and import it directly from there (no re-export indirection)cnimports to../lib/cnNotes
Verification
pnpm --filter @workflow/web-shared typecheckpassescnimport line