CLI previewInstall commands shown on this site are not released yet.

DocsComponentsNavigation

DropdownMenu

React example follows below.
ts
import { DropdownMenu, type MenuItem } from "@grassroot/ui-react";
const items: MenuItem[] = [
{ label: "View logs", shortcut: "⌘L" },
{ divider: true },
{ label: "Tear down", shortcut: "⌘⌫", danger: true },
];
<DropdownMenu header="ledger-api" items={items}>Actions</DropdownMenu>
ts
<script setup lang="ts">
import { DropdownMenu } from "@grassroot/ui-vue";
const items: MenuItem[] = [
{ label: "View logs", shortcut: "⌘L" },
{ divider: true },
{ label: "Tear down", shortcut: "⌘⌫", danger: true },
];
</script>
<template>
<DropdownMenu
header="ledger-api"
:items="items"
>Actions</DropdownMenu>
</template>
ts
import { Component } from "@angular/core";
import { GrassrootDropdownMenu } from "@grassroot/ui-angular";
@Component({
selector: "app-example",
standalone: true,
imports: [GrassrootDropdownMenu],
template: `
<grassroot-dropdown-menu
header="ledger-api"
[items]="items"
>Actions</grassroot-dropdown-menu>
`,
})
export class ExampleComponent {
readonly items: MenuItem[] = [
{ label: "View logs", shortcut: "⌘L" },
{ divider: true },
{ label: "Tear down", shortcut: "⌘⌫", danger: true },
];
}
ts
<script lang="ts">
import { DropdownMenu } from "@grassroot/ui-svelte";
const items: MenuItem[] = [
{ label: "View logs", shortcut: "⌘L" },
{ divider: true },
{ label: "Tear down", shortcut: "⌘⌫", danger: true },
];
</script>
<DropdownMenu header="ledger-api" items={items}>Actions</DropdownMenu>
ts
import { DropdownMenu } from "@grassroot/ui-solid";
const items: MenuItem[] = [
{ label: "View logs", shortcut: "⌘L" },
{ divider: true },
{ label: "Tear down", shortcut: "⌘⌫", danger: true },
];
export function Example() {
return (
<>
<DropdownMenu header="ledger-api" items={items}>Actions</DropdownMenu>
</>
);
}

Installation

bash
pnpm dlx grassroot add ui/dropdown-menu
bash
npx grassroot@latest add ui/dropdown-menu
bash
yarn dlx grassroot add ui/dropdown-menu
bash
bunx grassroot add ui/dropdown-menu

API Reference

DropdownMenuProps
PropTypeDefault
childrenrequiredTrigger content, rendered inside menu button.React.ReactNode
itemsrequiredMenuItem[]
headerMono uppercase section header at top of menu.string | undefined
defaultOpenRender initially open — handy for layout/stories.boolean | undefinedfalse
classNamestring | undefined
alignHorizontal edge menu anchors to."start" | "end" | undefined"start" (left)
triggerClassNameOverride trigger button styling (e.g. borderless avatar button). Replaces default chip.string | undefined