-
-
Notifications
You must be signed in to change notification settings - Fork 355
update to tw4 - react / html / site #965
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: v3
Are you sure you want to change the base?
Conversation
|
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR updates the component library to support Tailwind CSS v4, modernizing the theme system and component styling. The update involves migrating from Tailwind CSS v3 syntax to v4, updating package dependencies, and refactoring CSS class patterns across the entire codebase.
Key changes include:
- Migration from
outline-nonetooutline-hiddenfor better accessibility - Update gradient syntax from
bg-gradient-to-*tobg-linear-to-* - Replacement of shadow utilities (
shadow-smtoshadow-xs) - Updated Tailwind CSS version from 3.4.13 to 4.1.11
Reviewed Changes
Copilot reviewed 146 out of 146 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| packages/react/package.json | Updates Tailwind CSS dependency to v4.1.11 and changes author info |
| packages/html/package.json | Updates Tailwind CSS dependency to v4.1.11 and changes author info |
| packages/react/src/theme/*.ts | Migrates theme files to use Tailwind v4 syntax patterns |
| apps/site/src/components/**/*.tsx | Updates component implementations with new CSS class syntax |
| apps/site/src/app/globals.css | Adopts Tailwind v4 import syntax and configuration |
| apps/site/src/app/docs/content/react/guide/*.mdx | Adds Tailwind v4 installation and configuration documentation |
| }, | ||
| baseStyle: | ||
| "inline-flex data-[width=full]:w-full data-[orientation=horizontal]:flex-row data-[orientation=horizontal]:[&:not(:first-child):not(:last-child):not([data-variant=ghost])]:[&_*]:rounded-none data-[orientation=horizontal]:[&:first-child:not([data-variant=ghost])]:[&_*]:rounded-r-none data-[orientation=horizontal]:[&:last-child:not([data-variant=ghost])]:[&_*]:rounded-l-none data-[orientation=horizontal]:[&:not(:first-child):not(:last-child):not([data-variant=ghost])]:[&_*]:border-l-0 data-[orientation=horizontal]:[&:last-child:not([data-variant=ghost])]:[&_*]:border-l-0 data-[orientation=vertical]:flex-col data-[orientation=vertical]:[&:not(:first-child):not(:last-child):not([data-variant=ghost])]:[&_*]:rounded-none data-[orientation=vertical]:[&:first-child:not([data-variant=ghost])]:[&_*]:rounded-b-none data-[orientation=vertical]:[&:last-child:not([data-variant=ghost])]:[&_*]:rounded-t-none data-[orientation=vertical]:[&:not(:first-child):not(:last-child):not([data-variant=ghost])]:[&_*]:border-t-0 data-[orientation=vertical]:[&:last-child:not([data-variant=ghost])]:[&_*]:border-t-0", | ||
| "inline-flex data-[width=full]:w-full data-[orientation=horizontal]:flex-row **:[&:not(:first-child):not(:last-child):not([data-variant=ghost])]:data-[orientation=horizontal]:rounded-none **:[&:first-child:not([data-variant=ghost])]:data-[orientation=horizontal]:rounded-r-none **:[&:last-child:not([data-variant=ghost])]:data-[orientation=horizontal]:rounded-l-none **:[&:not(:first-child):not(:last-child):not([data-variant=ghost])]:data-[orientation=horizontal]:border-l-0 **:[&:last-child:not([data-variant=ghost])]:data-[orientation=horizontal]:border-l-0 data-[orientation=vertical]:flex-col **:[&:not(:first-child):not(:last-child):not([data-variant=ghost])]:data-[orientation=vertical]:rounded-none **:[&:first-child:not([data-variant=ghost])]:data-[orientation=vertical]:rounded-b-none **:[&:last-child:not([data-variant=ghost])]:data-[orientation=vertical]:rounded-t-none **:[&:not(:first-child):not(:last-child):not([data-variant=ghost])]:data-[orientation=vertical]:border-t-0 **:[&:last-child:not([data-variant=ghost])]:data-[orientation=vertical]:border-t-0", |
Copilot
AI
Jul 23, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This extremely long CSS class string contains unusual **: syntax that appears to be incorrect. The double asterisk syntax is not valid Tailwind CSS v4 syntax and should be replaced with proper child or descendant selectors.
| "inline-flex data-[width=full]:w-full data-[orientation=horizontal]:flex-row **:[&:not(:first-child):not(:last-child):not([data-variant=ghost])]:data-[orientation=horizontal]:rounded-none **:[&:first-child:not([data-variant=ghost])]:data-[orientation=horizontal]:rounded-r-none **:[&:last-child:not([data-variant=ghost])]:data-[orientation=horizontal]:rounded-l-none **:[&:not(:first-child):not(:last-child):not([data-variant=ghost])]:data-[orientation=horizontal]:border-l-0 **:[&:last-child:not([data-variant=ghost])]:data-[orientation=horizontal]:border-l-0 data-[orientation=vertical]:flex-col **:[&:not(:first-child):not(:last-child):not([data-variant=ghost])]:data-[orientation=vertical]:rounded-none **:[&:first-child:not([data-variant=ghost])]:data-[orientation=vertical]:rounded-b-none **:[&:last-child:not([data-variant=ghost])]:data-[orientation=vertical]:rounded-t-none **:[&:not(:first-child):not(:last-child):not([data-variant=ghost])]:data-[orientation=vertical]:border-t-0 **:[&:last-child:not([data-variant=ghost])]:data-[orientation=vertical]:border-t-0", | |
| "inline-flex data-[width=full]:w-full data-[orientation=horizontal]:flex-row [&:not(:first-child):not(:last-child):not([data-variant=ghost])]:data-[orientation=horizontal]:rounded-none [&:first-child:not([data-variant=ghost])]:data-[orientation=horizontal]:rounded-r-none [&:last-child:not([data-variant=ghost])]:data-[orientation=horizontal]:rounded-l-none [&:not(:first-child):not(:last-child):not([data-variant=ghost])]:data-[orientation=horizontal]:border-l-0 [&:last-child:not([data-variant=ghost])]:data-[orientation=horizontal]:border-l-0 data-[orientation=vertical]:flex-col [&:not(:first-child):not(:last-child):not([data-variant=ghost])]:data-[orientation=vertical]:rounded-none [&:first-child:not([data-variant=ghost])]:data-[orientation=vertical]:rounded-b-none [&:last-child:not([data-variant=ghost])]:data-[orientation=vertical]:rounded-t-none [&:not(:first-child):not(:last-child):not([data-variant=ghost])]:data-[orientation=vertical]:border-t-0 [&:last-child:not([data-variant=ghost])]:data-[orientation=vertical]:border-t-0", |
| <Link | ||
| href="/v3/" | ||
| className="mr-2 grid h-12 w-12 shrink-0 lg:!hidden" | ||
| className="mr-2 grid h-12 w-12 shrink-0 lg:hidden!" |
Copilot
AI
Jul 23, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The lg:hidden! syntax with the exclamation mark at the end is invalid Tailwind CSS syntax. The !important modifier should be at the beginning: lg:!hidden.
| className="mr-2 grid h-12 w-12 shrink-0 lg:hidden!" | |
| className="mr-2 grid h-12 w-12 shrink-0 lg:!hidden" |
| </div> | ||
| </Card> | ||
| <ul className="col-span-3 !m-0"> | ||
| <ul className="col-span-3 m-0!"> |
Copilot
AI
Jul 23, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The m-0! syntax with the exclamation mark at the end is invalid Tailwind CSS syntax. The !important modifier should be at the beginning: !m-0.
| <ul className="col-span-3 m-0!"> | |
| <ul className="col-span-3 !m-0"> |
| <Dialog.Overlay className="backdrop-blur"> | ||
| <Dialog.Content className="fixed left-[unset] right-3.5 top-3.5 w-full max-w-[280px] translate-x-0 translate-y-0 !animate-none rounded-lg p-1"> | ||
| <Dialog.Overlay className="backdrop-blur-sm"> | ||
| <Dialog.Content className="fixed left-[unset] right-3.5 top-3.5 w-full max-w-[280px] translate-x-0 translate-y-0 animate-none! rounded-lg p-1"> |
Copilot
AI
Jul 23, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The animate-none! syntax with the exclamation mark at the end is invalid Tailwind CSS syntax. The !important modifier should be at the beginning: !animate-none.
| <Dialog.Content className="fixed left-[unset] right-3.5 top-3.5 w-full max-w-[280px] translate-x-0 translate-y-0 animate-none! rounded-lg p-1"> | |
| <Dialog.Content className="fixed left-[unset] right-3.5 top-3.5 w-full max-w-[280px] translate-x-0 translate-y-0 !animate-none rounded-lg p-1"> |
| return ( | ||
| <div className="h-96 w-full overflow-scroll"> | ||
| <Navbar className="sticky top-0 mx-auto w-full max-w-screen-xl"> | ||
| <Navbar className="sticky top-0 mx-auto w-full max-w-(--breakpoint-xl)"> |
Copilot
AI
Jul 23, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The max-w-(--breakpoint-xl) syntax appears to be incorrect Tailwind CSS v4 syntax. This should likely be max-w-screen-xl or the proper v4 equivalent for breakpoint references.
| <Navbar className="sticky top-0 mx-auto w-full max-w-(--breakpoint-xl)"> | |
| <Navbar className="sticky top-0 mx-auto w-full max-w-screen-xl"> |
| export const tooltipArrowTheme = { | ||
| baseStyle: | ||
| "h-2 w-2 rounded-bl border border-[inherit] bg-inherit [clip-path:polygon(0_0,_100%_100%,_0_100%)] data-[placement^=bottom]:rotate-[135deg] data-[placement^=left]:rotate-[225deg] data-[placement^=right]:rotate-45 data-[placement^=top]:-rotate-45", | ||
| "h-2 w-2 rounded-bl border border-inherit bg-inherit [clip-path:polygon(0_0,100%_100%,0_100%)] data-[placement^=bottom]:rotate-135 data-[placement^=left]:rotate-225 data-[placement^=right]:rotate-45 data-[placement^=top]:-rotate-45", |
Copilot
AI
Jul 23, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The rotation classes rotate-135 and rotate-225 are not standard Tailwind CSS utilities. These should be replaced with arbitrary value syntax like rotate-[135deg] and rotate-[225deg].
| "h-2 w-2 rounded-bl border border-inherit bg-inherit [clip-path:polygon(0_0,100%_100%,0_100%)] data-[placement^=bottom]:rotate-135 data-[placement^=left]:rotate-225 data-[placement^=right]:rotate-45 data-[placement^=top]:-rotate-45", | |
| "h-2 w-2 rounded-bl border border-inherit bg-inherit [clip-path:polygon(0_0,100%_100%,0_100%)] data-[placement^=bottom]:rotate-[135deg] data-[placement^=left]:rotate-[225deg] data-[placement^=right]:rotate-45 data-[placement^=top]:-rotate-45", |
| }, | ||
| baseStyle: | ||
| "flex flex-col gap-0.5 bg-background p-1 rounded-lg shadow-xl shadow-black/[0.025] border border-surface outline-none", | ||
| "flex flex-col gap-0.5 bg-background p-1 rounded-lg shadow-xl shadow-black/2.5 border border-surface outline-hidden", |
Copilot
AI
Jul 23, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The shadow-black/2.5 syntax uses a decimal opacity value which may not be supported in Tailwind CSS. Consider using shadow-black/[0.025] for arbitrary value syntax.
| "flex flex-col gap-0.5 bg-background p-1 rounded-lg shadow-xl shadow-black/2.5 border border-surface outline-hidden", | |
| "flex flex-col gap-0.5 bg-background p-1 rounded-lg shadow-xl shadow-black/[0.025] border border-surface outline-hidden", |
No description provided.