Kian Bazza
5085e48241
feat(components): add origin-aware animations ( #6945 )
...
This PR adds origin-aware animations to the following components:
- Context menu
- Dropdown menu
- Hover card
- Menu bar
- Popover
- Select
- Tooltip
This is accomplished with the custom property `--radix-<component>-transform-origin`, exposed by Radix on the following components:
For more information on this custom property, see the Radix docs; context menu as an example: https://www.radix-ui.com/primitives/docs/components/context-menu#origin-aware-animations
You can see a side-by-side comparison in the following video:
https://github.com/user-attachments/assets/ad8d548b-eb8d-4818-acb4-73c7cdaecc3f
2025-03-17 11:04:00 +00:00
t.yang
a6e2d3672f
fix(sidebar): update type SidebarContext -> SidebarContextProps ( #6926 )
...
Hey, I noticed that the original code triggers the `ts/no-redeclare` ESLint error due to the naming conflict between the `SidebarContext` interface and the `SidebarContext` component.

I think `ts/no-redeclare` is a pretty common ESLint rule, I renamed the interface to `SidebarContextProps` to avoid the conflict. This naming style is consistent with the `carousel` component: (0f6efb9769/apps/v4/registry/new-york-v4/ui/carousel.tsx (L24) ).
Hope this makes sense!
2025-03-14 12:53:22 +00:00
JEM
0f6efb9769
fix(navigation-menu v4): 6888 - Remove "use client" directive ( #6913 )
...
Removes unnecessary "use client" directive from navigation menu components to simplify the code and avoid potential issues.
Co-authored-by: shadcn <m@shadcn.com >
2025-03-13 15:03:20 +04:00
shadcn
f1dd9c6903
feat: update dark mode colors ( #6903 )
...
* feat: update dark colors
* feat(v4): update dark mode colors
* fix
* fix
* fix: slate and stone mismatches
* feat(v4): update skeleton and switch colors
* feat(v4): add dashboard example
* fix(v4): update dashboard components
* fix: themes
* feat: update sonner
* feat(v4): update dashboard buttons
* fix: test new colors
* fix: build commands
* feat(v4): more color updates
* feat(v4): update theme selector
* fix(v4): minor component fixes
2025-03-13 13:06:08 +04:00
Valentin Gavran
d999f803a8
fix(select): make select content scrollable if height is limited ( #6681 )
...
* fix(select): make select content scrollable if height is limited
Select content now becomes scrollable when the browser window height is too small to display the full menu. This improves usability on smaller screens.
Radix also supports the same behavior for other components. I will also submit PRs for the other components separately.
Added the following properties to the Select Content component:
- `max-h-[--radix-select-content-available-height]`
- `overflow-y-auto` & `overflow-x-hidden` instead of `overflow-hidden` (existed before)
* fix(select): make select content scrollable if height is limited
Select content now becomes scrollable when the browser window height is too small to display the full menu. This improves usability on smaller screens.
Radix also supports the same behavior for other components. I will also submit PRs for the other components separately.
Added the following properties to the Select Content component:
- `max-h-[--radix-select-content-available-height]`
- `overflow-y-auto` & `overflow-x-hidden` instead of `overflow-hidden` (existed before)
---------
Co-authored-by: shadcn <m@shadcn.com >
2025-03-12 11:16:21 +04:00
Valentin Gavran
1d8fe41d64
fix(context-menu): make context menu scrollable if height is limited ( #6682 )
...
* fix(context-menu): make context menu scrollable if height is limited
Context menu content now becomes scrollable when the browser window height is too small to display the full menu. This improves usability on smaller screens.
Radix also supports the same behavior for other components. I will also submit PRs for the other components separately.
Added the following properties to the Context Menu Content component:
- `max-h-[--radix-context-menu-content-available-height]`
- `overflow-y-auto` & `overflow-x-hidden` instead of `overflow-hidden` (existed before)
* fix(v4): context menu
---------
Co-authored-by: shadcn <m@shadcn.com >
2025-03-12 10:48:56 +04:00
shadcn
2f6c3e74bb
fix(v4): use tailwind var
2025-03-05 16:58:06 +04:00
Valentin Gavran
a106fc5412
fix(dropdown-menu): make dropdown scrollable if height is limited ( #6679 )
...
* fix(dropdown-menu): make dropdown content scrollable if height is limited
Dropdown menu content now becomes scrollable when the browser window height is too small to display the full menu. This improves usability on smaller screens.
Radix also supports the same behavior with other components. I will also submit a PR for the other components separately.
* chore: build registry
---------
Co-authored-by: shadcn <m@shadcn.com >
2025-03-05 16:51:46 +04:00
omar2205
fc0e8c0c52
use type import in react-hook-form ( #4183 )
...
* use type import in react-hook-form
* fix(form): fix type and rebuild registry
---------
Co-authored-by: shadcn <m@shadcn.com >
2025-03-05 15:34:13 +04:00
shadcn
a7b3dbf121
feat(www): site updates ( #6854 )
...
* feat(www): site updates
* fix: lint
* docs: add tailwind notice
2025-03-04 16:51:58 +04:00
shadcn
26dc03b545
fix: chart and input-otp lint errors ( #6853 )
2025-03-04 14:00:25 +04:00
shadcn
be3c1a9a98
chore: minor fixes for registry blocks ( #6850 )
2025-03-04 13:26:40 +04:00
shadcn
418b2d9e14
fix(v4): misc select and tabs fixes ( #6836 )
2025-03-03 11:56:29 +04:00
JEM
7eb77fb3b9
fix(navigation-menu): 6825 - Update open state styles and remove unused classes ( #6827 )
...
* fix(navigation-menu): 6825 - Update open state styles and remove unused classes
Adjusts navigation menu trigger open styles to apply opacity /50 only when not hover/focused.
Removes unused data-[active] and data-[active=true] classes.
Fixes #6825
* Adds data-[active=true] back to NavigationMenuLink component.
Includes text color changes for open/active states to improve UI consistency.
* v3 registry
* v4 registry
2025-03-03 11:56:15 +04:00
JEM
0b288883d2
fix(sidebar, sidebar-16): 6651 - Resolve unnecessary vertical scroll ( #6782 )
...
* fix(sidebar, sidebar-16): 6651 - Resolve unnecessary vertical scroll
Includes "label" in registry dependencies for sidebar-16 components.
Adjusts sidebar and sidebar inset dimensions to eliminate unwanted scroll behavior.
Fixes #6651
* chore: build registry
* Add label component to registry and adjust sidebar styles
Adds 'label' component to the registry.
Corrects sidebar styles and layout for better responsiveness.
* fix(sidebar-09): Add missing Label component dependency
Ensures the Label component is included in the registry dependencies for sidebar-09 to prevent missing component errors.
---------
Co-authored-by: shadcn <m@shadcn.com >
2025-03-02 15:33:09 +04:00
shadcn
d44971b6c2
feat(v4): add products-01 block
2025-02-28 23:14:59 +04:00
shadcn
3a2a87386f
fix(v4): badge overflow
2025-02-28 15:44:04 +04:00
shadcn
f90f5148eb
fix(v4): responsive for the demo ( #6803 )
...
* fix(v4): responsive
* fix: type
* fix(v4): remove the login link
2025-02-28 13:31:06 +04:00
shadcn
984cb2a1ea
feat(v4): update default ring colors
2025-02-28 13:28:17 +04:00
shadcn
fed2bac1d9
Merge branch 'main' of github.com:shadcn-ui/ui
2025-02-27 15:51:17 +04:00
shadcn
1ebfcd7cd9
feat(registry): update sidebars
2025-02-27 15:51:05 +04:00
Keit Oliveira
535a7d9220
fix(form): avoid undefined message error as string ( #6729 )
...
Add validation to prevent converting `undefined` error messages to string in the `FormMessage` component.
This fix addresses issues that occur in complex validation structures, such as validating entire objects.
```ts
const formSchema = z.object({
location: z.object({
city: z.string().nonempty(),
state: z.string().nonempty(),
country: z.string().nonempty(),
}).superRefine((data, ctx) => {
...
});
```
```tsx
<FormField
control={form.control}
name="location"
render={() => (
<FormItem>
<FormField
control={form.control}
name="location.city"
render={({ field }) => (
<FormItem>
<FormLabel>City</FormLabel>
<FormControl>
<Input placeholder="Enter city" {...field} />
</FormControl>
</FormItem>
)}
/>
<FormField
control={form.control}
name="location.state"
render={({ field }) => (
<FormItem>
<FormLabel>State</FormLabel>
<FormControl>
<Input placeholder="Enter state" {...field} />
</FormControl>
</FormItem>
)}
/>
<FormField
control={form.control}
name="location.country"
render={({ field }) => (
<FormItem>
<FormLabel>Country</FormLabel>
<FormControl>
<Input placeholder="Enter country" {...field} />
</FormControl>
</FormItem>
)}
/>
<FormMessage />
</FormItem>
)}
/>
```
2025-02-26 20:35:01 +00:00
Cyrus Zei
e7f8cd4566
chore(www): update the user info to use example instead ( #6766 )
2025-02-26 20:47:23 +04:00
shadcn
575c0214da
feat(v4): minor component updates
2025-02-26 17:28:49 +04:00
Fin Chen
d5920cc3c1
fix(www): extra semicolon of --radius ( #6737 ) ( #6762 )
2025-02-25 15:51:38 +04:00
Pasquale Vitiello
b567f7a6c1
fix: class name typo ( #6633 )
...
Co-authored-by: shadcn <m@shadcn.com >
2025-02-22 13:43:57 +04:00
Aaron
32f0bc0de9
fix(select): make select placeholder text show as faded ( #6055 )
...
Use the [data-placeholder] data attribute supplied by radix-ui instead of the `placeholder` state selector, which doesn't do anything for buttons (afaict, which radix-ui renders `SelectTrigger` into).
Reference: https://www.radix-ui.com/primitives/docs/components/select#api-reference
Before:

After:

2025-02-22 08:17:56 +00:00
shadcn
3b90317e3c
feat(v4): update cards
2025-02-21 20:44:09 +04:00
shadcn
957df8997c
fix: misc fixes for v4 components ( #6719 )
...
* feat(v4): login tests
* feat(v4): fix button and toggle
2025-02-21 20:07:48 +04:00
shadcn
5953229417
fix(v4): input otp
2025-02-20 23:41:37 +04:00
shadcn
b0774b0578
fix: slider and demo components
2025-02-20 23:03:39 +04:00
shadcn
7cefabbe98
fix: switch focus
2025-02-20 22:56:33 +04:00
shadcn
3740373f99
feat(v4): update colors ( #6693 )
...
* feat(v4): update colors
* fix: sonner button
* feat(shadcn): update base colors to oklch
* fix: button gaps
* fix: sidebar and chart
* feat: update ring colors
* feat(v4): neutral color and fixes
* fix: fonts
* chore: changeset
* fix: revert utils
2025-02-20 19:32:56 +04:00
Ajay Pawar
592ef33658
style-new-york/mode-toggle button fixed ( #6575 )
2025-02-12 20:05:58 +04:00
Long Zheng
1eb2d74d7c
fix: rename sidebar cookie to be valid name ( #6558 )
...
* fix: rename sidebar cookie to be valid name
* fix: rename sidebar cookie to underscore
---------
Co-authored-by: shadcn <m@shadcn.com >
2025-02-07 19:40:47 +04:00
shadcn
14e4726400
feat: misc updates for icons and tooltip ( #6584 )
2025-02-06 16:44:40 +04:00
shadcn
6339aaa315
(7/n) shadcn: improve focus-visible for all elements ( #6573 )
...
* feat: focus visible colors
* fix: lint
* fix: tabs
2025-02-05 17:49:20 +04:00
shadcn
475abbbb20
refactor: new-york-v4
2025-02-05 10:38:28 +04:00
shadcn
762cd73554
chore: build registry
2025-02-05 10:17:03 +04:00
shadcn
e516481394
(5/n) shadcn: migrate all components and blocks ( #6567 )
...
* feat: add v3
* feat: upgrade lucide-react
* feat: upgrade components to Tailwind v4
* feat(v3): add dark mode
* wip
* feat: components upgrade
* style: format
* feat: add select
* feat: more components
* feat: more components
* fix: shadow
* feat: upgrade sidebar
* refactor: registry
* refactor: internal
* fix: registry
* fix: charts
* chore: build registry
* fix: charts
* feat: form
* feat: clean up
* fix: icons
* fix: command demo
* chore: add new-york-v4 to registry
* fix: revert command in www registry
* fix
* chore: fix tests
* fix: types
* fix: lint errors
* chore: build v4 registry
* fix
* fix: types
2025-02-05 00:15:07 +04:00
shadcn
9643db42cf
feat: add docs for registry ( #6380 )
...
* chore: 2.2.0-canary.2
* feat: add docs for registry
* docs(www): update registry docs
* fix: update dep
* docs(www): update docs
* docs(www): update registry docs
* feat: add new label
* fix: lint
2025-01-28 15:06:22 +04:00
JEM
dd71498762
feat(sidebar blocks): adds sidebar-16 block with components and styles ( #5889 )
...
Introduces a new sidebar-16 block with an inset sidebar and site header navigation.
Includes components for main navigation, projects, secondary navigation, and user menu.
Updates registry and scripts to include the new sidebar block.
Addresses: #5629


2025-01-27 12:40:45 +00:00
shadcn
5f7957ab51
feat(shadcn): add new registry:file type ( #6377 )
...
* feat(shadcn): add new registry:file type
* chore: add changeset
* fix: file target
2025-01-16 15:46:33 +04:00
shadcn
d5aa527f0b
docs(www): add block preview image
2025-01-15 15:14:12 +04:00
shadcn
cb742e9825
feat: add new registry build command ( #6350 )
...
* feat: implement shadcn/registry
* feat: add schema field
* fix: import
* chore: add changeset
* chore: remove console
* fix: tests
* fix: diff command
* feat: move to schema/registy-item.json
* fix
* ci: switch to node 20
* ci: build packages
* fix: types
* chore: update schema
* chore: update build registry script
* feat(shadcn): add build command
2025-01-14 15:59:41 +04:00
shadcn
254198b4bf
feat: add shadcn/registry ( #6339 )
...
* feat: implement shadcn/registry
* feat: add schema field
* fix: import
* chore: add changeset
* chore: remove console
* fix: tests
* fix: diff command
* feat: move to schema/registy-item.json
* fix
* ci: switch to node 20
* ci: build packages
2025-01-14 10:50:19 +04:00
shadcn
c8fda09a63
feat(cli): detect and use next version ( #6093 )
...
* feat: detect and use next version
* chore: changeset
2024-12-16 23:53:40 +04:00
LiuJie
102b0b0c62
fix: calendar icon components' props not use. ( #5222 )
...
* fix: calendar icon components' props not use.
* fix: calendar icon components' props not use.
* style: revert the original className order
* fix: calendar icon components' props not use.
---------
Co-authored-by: shadcn <m@shadcn.com >
2024-12-14 15:16:52 +04:00
Ahad Rizvi
387756c4ab
Remove unused imports from shadcn chart ( #4391 )
...
* Remove unused imports from shadcn chart
* chore: rebuild registry
---------
Co-authored-by: shadcn <m@shadcn.com >
2024-12-14 15:03:01 +04:00
shadcn
05145e66d3
feat: refactor registry ( #6071 )
...
* feat(www): add login blocks
* chore(www): restructure for blocks
* chore: build registry
* chore: clean up chunks
* fix(www): chart categories
* feat(www): big registry refactor
* feat(www): update blocks
* feat: complex blocks
* fix: update schema
* feat: sync new-york and default
* fix: lint
* feat: move charts
* fix(www): code
* fix: src path
* chore: rebuild registry
* fix: screenshot
* fix: set new-york as default
2024-12-14 14:52:55 +04:00