About
Here is Menu component
Built with React and Tailwind. Copy the prompt and paste it into Claude Code, Cursor or Lovable: your agent adds Menu to your project and fits it to your theme.
Code
How Menu is used: the demo's code. The component's own source comes with a free account.
Usage.tsx
import { Button } from "@/components/ui/button-1"
import {
Menu,
MenuItem,
MenuPopover,
MenuSubTrigger,
MenuTrigger,
} from "@/components/ui/menu-1"
export default function MenuSubMenuDynamic() {
let items = [
{ id: "cut", name: "Cut" },
{ id: "copy", name: "Copy" },
{ id: "delete", name: "Delete" },
{
id: "share",
name: "Share",
children: [
{ id: "sms", name: "SMS" },
{ id: "twitter", name: "Twitter" },
{
id: "email",
name: "Email",
children: [
{ id: "work", name: "Work" },
{ id: "personal", name: "Personal" },
],
},
],
},
]
return (
<MenuTrigger>
<Button variant="outline">Actions</Button>
<MenuPopover>
<Menu items={items}>
{function renderSubmenu(item) {
if (item.children) {
return (
<MenuSubTrigger>
<MenuItem key={item.name}>{item.name}</MenuItem>
<MenuPopover>
<Menu items={item.children}>
{(item) => renderSubmenu(item)}
</Menu>
</MenuPopover>
</MenuSubTrigger>
)
} else {
return <MenuItem key={item.name}>{item.name}</MenuItem>
}
}}
</Menu>
</MenuPopover>
</MenuTrigger>
)
}

![Tag Group [react-aria-components]](https://cdn.21st.dev/cdn-cgi/image/fit=scale-down,width=640,quality=75,format=webp/https://cdn.21st.dev/user_jolbol1/tag-group/891/preview.png)
![Date Range Picker [react-aria-components]](https://cdn.21st.dev/cdn-cgi/image/fit=scale-down,width=640,quality=75,format=webp/https://cdn.21st.dev/user_jolbol1/date-range-picker/default/preview.png)
![Grid List [react-aria-components]](https://cdn.21st.dev/cdn-cgi/image/fit=scale-down,width=640,quality=75,format=webp/https://cdn.21st.dev/user_jolbol1/grid-list/default/preview.png)
![Switch [react-aria-components]](https://cdn.21st.dev/cdn-cgi/image/fit=scale-down,width=640,quality=75,format=webp/https://cdn.21st.dev/user_jolbol1/switch/1023/preview.png)
![Select [react-aria-components]](https://cdn.21st.dev/cdn-cgi/image/fit=scale-down,width=640,quality=75,format=webp/https://cdn.21st.dev/user_jolbol1/select/864/preview.png)
![Range Calendar [react-aria-components]](https://cdn.21st.dev/cdn-cgi/image/fit=scale-down,width=640,quality=75,format=webp/https://cdn.21st.dev/user_jolbol1/range-calendar/default/preview.png)

![Slider [react-aria-components]](https://cdn.21st.dev/cdn-cgi/image/fit=scale-down,width=640,quality=75,format=webp/https://cdn.21st.dev/user_jolbol1/slider/827/preview.png)







