Skip to main content

DropdownMenu

Example

import {
Cloud,
CreditCard,
Github,
Keyboard,
LifeBuoy,
LogOut,
Mail,
MessageSquare,
Plus,
PlusCircle,
Settings,
User,
UserPlus,
Users,
} from "lucide-react"

import {
Button,
DropdownMenu,
DropdownMenuContent,
DropdownMenuGroup,
DropdownMenuItem,
DropdownMenuLabel,
DropdownMenuPortal,
DropdownMenuSeparator,
DropdownMenuShortcut,
DropdownMenuSub,
DropdownMenuSubContent,
DropdownMenuSubTrigger,
DropdownMenuTrigger,
} from "@databricks/appkit-ui/react"

export default function DropdownMenuExample() {
return (
<DropdownMenu>
<DropdownMenuTrigger asChild>
<Button variant="outline">Open</Button>
</DropdownMenuTrigger>
<DropdownMenuContent className="w-56">
<DropdownMenuLabel>My Account</DropdownMenuLabel>
<DropdownMenuSeparator />
<DropdownMenuGroup>
<DropdownMenuItem>
<User />
<span>Profile</span>
<DropdownMenuShortcut>⇧⌘P</DropdownMenuShortcut>
</DropdownMenuItem>
<DropdownMenuItem>
<CreditCard />
<span>Billing</span>
<DropdownMenuShortcut>⌘B</DropdownMenuShortcut>
</DropdownMenuItem>
<DropdownMenuItem>
<Settings />
<span>Settings</span>
<DropdownMenuShortcut>⌘S</DropdownMenuShortcut>
</DropdownMenuItem>
<DropdownMenuItem>
<Keyboard />
<span>Keyboard shortcuts</span>
<DropdownMenuShortcut>⌘K</DropdownMenuShortcut>
</DropdownMenuItem>
</DropdownMenuGroup>
<DropdownMenuSeparator />
<DropdownMenuGroup>
<DropdownMenuItem>
<Users />
<span>Team</span>
</DropdownMenuItem>
<DropdownMenuSub>
<DropdownMenuSubTrigger>
<UserPlus />
<span>Invite users</span>
</DropdownMenuSubTrigger>
<DropdownMenuPortal>
<DropdownMenuSubContent>
<DropdownMenuItem>
<Mail />
<span>Email</span>
</DropdownMenuItem>
<DropdownMenuItem>
<MessageSquare />
<span>Message</span>
</DropdownMenuItem>
<DropdownMenuSeparator />
<DropdownMenuItem>
<PlusCircle />
<span>More...</span>
</DropdownMenuItem>
</DropdownMenuSubContent>
</DropdownMenuPortal>
</DropdownMenuSub>
<DropdownMenuItem>
<Plus />
<span>New Team</span>
<DropdownMenuShortcut>⌘+T</DropdownMenuShortcut>
</DropdownMenuItem>
</DropdownMenuGroup>
<DropdownMenuSeparator />
<DropdownMenuItem>
<Github />
<span>GitHub</span>
</DropdownMenuItem>
<DropdownMenuItem>
<LifeBuoy />
<span>Support</span>
</DropdownMenuItem>
<DropdownMenuItem disabled>
<Cloud />
<span>API</span>
</DropdownMenuItem>
<DropdownMenuSeparator />
<DropdownMenuItem>
<LogOut />
<span>Log out</span>
<DropdownMenuShortcut>⇧⌘Q</DropdownMenuShortcut>
</DropdownMenuItem>
</DropdownMenuContent>
</DropdownMenu>
)
}

Source: packages/appkit-ui/src/react/ui/dropdown-menu.tsx

Props

PropTypeRequiredDefaultDescription
direnum--
openboolean--
defaultOpenboolean--
onOpenChange((open: boolean) => void)--
modalboolean--

Usage

import { DropdownMenu } from '@databricks/appkit-ui';

<DropdownMenu /* props */ />

Source: packages/appkit-ui/src/react/ui/dropdown-menu.tsx

Props

PropTypeRequiredDefaultDescription
onSelect((event: Event) => void)--
asChildboolean--
disabledboolean--
checkedCheckedState--
onCheckedChange((checked: boolean) => void)--
textValuestring--

Usage

import { DropdownMenuCheckboxItem } from '@databricks/appkit-ui';

<DropdownMenuCheckboxItem /* props */ />

Source: packages/appkit-ui/src/react/ui/dropdown-menu.tsx

Props

PropTypeRequiredDefaultDescription
asChildboolean--
forceMounttrue-Used to force mounting when more control is needed. Useful when controlling animation with React animation libraries.
onEscapeKeyDown((event: KeyboardEvent) => void)--
onPointerDownOutside((event: PointerDownOutsideEvent) => void)--
onFocusOutside((event: FocusOutsideEvent) => void)--
onInteractOutside((event: FocusOutsideEvent | PointerDownOutsideEvent) => void)--
onCloseAutoFocus((event: Event) => void)-Event handler called when auto-focusing on close. Can be prevented.
loopboolean-Whether keyboard navigation should loop around @defaultValue false
alignenum--
sideenum--
sideOffsetnumber--
alignOffsetnumber--
arrowPaddingnumber--
avoidCollisionsboolean--
collisionBoundaryBoundary | Boundary[]--
collisionPaddingnumber | Partial<Record<"left" | "right" | "top" | "bottom", number>>--
stickyenum--
hideWhenDetachedboolean--
updatePositionStrategyenum--

Usage

import { DropdownMenuContent } from '@databricks/appkit-ui';

<DropdownMenuContent /* props */ />

Source: packages/appkit-ui/src/react/ui/dropdown-menu.tsx

Props

PropTypeRequiredDefaultDescription
asChildboolean--

Usage

import { DropdownMenuGroup } from '@databricks/appkit-ui';

<DropdownMenuGroup /* props */ />

Source: packages/appkit-ui/src/react/ui/dropdown-menu.tsx

Props

PropTypeRequiredDefaultDescription
onSelect((event: Event) => void)--
asChildboolean--
disabledboolean--
textValuestring--
insetboolean--
variantenumdefault-

Usage

import { DropdownMenuItem } from '@databricks/appkit-ui';

<DropdownMenuItem /* props */ />

Source: packages/appkit-ui/src/react/ui/dropdown-menu.tsx

Props

PropTypeRequiredDefaultDescription
asChildboolean--
insetboolean--

Usage

import { DropdownMenuLabel } from '@databricks/appkit-ui';

<DropdownMenuLabel /* props */ />

Source: packages/appkit-ui/src/react/ui/dropdown-menu.tsx

Props

PropTypeRequiredDefaultDescription
containerElement | DocumentFragment | null-Specify a container element to portal the content into.
forceMounttrue-Used to force mounting when more control is needed. Useful when controlling animation with React animation libraries.

Usage

import { DropdownMenuPortal } from '@databricks/appkit-ui';

<DropdownMenuPortal /* props */ />

Source: packages/appkit-ui/src/react/ui/dropdown-menu.tsx

Props

PropTypeRequiredDefaultDescription
asChildboolean--
valuestring--
onValueChange((value: string) => void)--

Usage

import { DropdownMenuRadioGroup } from '@databricks/appkit-ui';

<DropdownMenuRadioGroup /* props */ />

Source: packages/appkit-ui/src/react/ui/dropdown-menu.tsx

Props

PropTypeRequiredDefaultDescription
onSelect((event: Event) => void)--
asChildboolean--
disabledboolean--
valuestring--
textValuestring--

Usage

import { DropdownMenuRadioItem } from '@databricks/appkit-ui';

<DropdownMenuRadioItem /* props */ />

Source: packages/appkit-ui/src/react/ui/dropdown-menu.tsx

Props

PropTypeRequiredDefaultDescription
asChildboolean--

Usage

import { DropdownMenuSeparator } from '@databricks/appkit-ui';

<DropdownMenuSeparator /* props */ />

Source: packages/appkit-ui/src/react/ui/dropdown-menu.tsx

Props

This component extends standard HTML element attributes.

Usage

import { DropdownMenuShortcut } from '@databricks/appkit-ui';

<DropdownMenuShortcut /* props */ />

Source: packages/appkit-ui/src/react/ui/dropdown-menu.tsx

Props

PropTypeRequiredDefaultDescription
openboolean--
defaultOpenboolean--
onOpenChange((open: boolean) => void)--

Usage

import { DropdownMenuSub } from '@databricks/appkit-ui';

<DropdownMenuSub /* props */ />

Source: packages/appkit-ui/src/react/ui/dropdown-menu.tsx

Props

PropTypeRequiredDefaultDescription
asChildboolean--
forceMounttrue-Used to force mounting when more control is needed. Useful when controlling animation with React animation libraries.
onEscapeKeyDown((event: KeyboardEvent) => void)--
onPointerDownOutside((event: PointerDownOutsideEvent) => void)--
onFocusOutside((event: FocusOutsideEvent) => void)--
onInteractOutside((event: FocusOutsideEvent | PointerDownOutsideEvent) => void)--
loopboolean-Whether keyboard navigation should loop around @defaultValue false
sideOffsetnumber--
alignOffsetnumber--
arrowPaddingnumber--
avoidCollisionsboolean--
collisionBoundaryBoundary | Boundary[]--
collisionPaddingnumber | Partial<Record<"left" | "right" | "top" | "bottom", number>>--
stickyenum--
hideWhenDetachedboolean--
updatePositionStrategyenum--

Usage

import { DropdownMenuSubContent } from '@databricks/appkit-ui';

<DropdownMenuSubContent /* props */ />

Source: packages/appkit-ui/src/react/ui/dropdown-menu.tsx

Props

PropTypeRequiredDefaultDescription
asChildboolean--
disabledboolean--
textValuestring--
insetboolean--

Usage

import { DropdownMenuSubTrigger } from '@databricks/appkit-ui';

<DropdownMenuSubTrigger /* props */ />

Source: packages/appkit-ui/src/react/ui/dropdown-menu.tsx

Props

PropTypeRequiredDefaultDescription
asChildboolean--

Usage

import { DropdownMenuTrigger } from '@databricks/appkit-ui';

<DropdownMenuTrigger /* props */ />