Files
shadcn-ui/apps/v4/examples/base/dropdown-menu-with-checkboxes.tsx
2026-01-14 09:25:14 +04:00

59 lines
1.7 KiB
TypeScript

"use client"
import * as React from "react"
import { Button } from "@/examples/base/ui/button"
import {
DropdownMenu,
DropdownMenuCheckboxItem,
DropdownMenuContent,
DropdownMenuGroup,
DropdownMenuLabel,
DropdownMenuTrigger,
} from "@/examples/base/ui/dropdown-menu"
import { ActivityIcon, LayoutIcon, PanelLeftIcon } from "lucide-react"
export function DropdownMenuWithCheckboxes() {
const [showStatusBar, setShowStatusBar] = React.useState(true)
const [showActivityBar, setShowActivityBar] = React.useState(false)
const [showPanel, setShowPanel] = React.useState(false)
return (
<>
<DropdownMenu>
<DropdownMenuTrigger
render={<Button variant="outline" className="w-fit" />}
>
Checkboxes
</DropdownMenuTrigger>
<DropdownMenuContent className="min-w-40">
<DropdownMenuGroup>
<DropdownMenuLabel>Appearance</DropdownMenuLabel>
<DropdownMenuCheckboxItem
checked={showStatusBar}
onCheckedChange={setShowStatusBar}
>
<LayoutIcon />
Status Bar
</DropdownMenuCheckboxItem>
<DropdownMenuCheckboxItem
checked={showActivityBar}
onCheckedChange={setShowActivityBar}
disabled
>
<ActivityIcon />
Activity Bar
</DropdownMenuCheckboxItem>
<DropdownMenuCheckboxItem
checked={showPanel}
onCheckedChange={setShowPanel}
>
<PanelLeftIcon />
Panel
</DropdownMenuCheckboxItem>
</DropdownMenuGroup>
</DropdownMenuContent>
</DropdownMenu>
</>
)
}