Dropdown

Displays a menu to the user — such as a set of actions or functions — triggered by a button.

Installation

npx nx g @spartan-ng/cli:ui menu

Usage

import { BrnMenuTriggerDirective } from '@spartan-ng/brain/menu';
import {
  HlmMenu
  HlmMenuGroup
  HlmMenuItem
  HlmMenuItemIcon
  HlmMenuItemSubIndicator
  HlmMenuLabel
  HlmMenuSeparator
  HlmMenuShortcut
  HlmSubMenu
} from '@spartan-ng/helm/menu';
<button [brnMenuTriggerFor]="menu">Open</button>

<ng-template #menu>
  <hlm-menu>
    <hlm-menu-label>My Account</hlm-menu-label>
    <hlm-menu-separator />
    <hlm-menu-group>
      <button hlmMenuItem>
        Profile
        <hlm-menu-shortcut>⇧⌘P</hlm-menu-shortcut>
      </button>

      <hlm-menu-separator />

      <button hlmMenuItem [brnMenuTriggerFor]="invite">
        Invite Users
        <hlm-menu-item-sub-indicator />
      </button>
    </hlm-menu-group>
  </hlm-menu>
</ng-template>

Brain API

BrnContextMenuTrigger

Selector: [brnCtxMenuTriggerFor]

Inputs

PropTypeDefaultDescription
brnCtxMenuTriggerFor TemplateRef<unknown> | null null -
brnCtxMenuTriggerData unknown undefined -
align BrnMenuAlign undefined -

BrnMenuBar

Selector: [brnMenuBar]

BrnMenuGroup

Selector: [brnMenuGroup]

BrnMenuItemCheckbox

Selector: [brnMenuItemCheckbox]

Inputs

PropTypeDefaultDescription
checked unknown this._cdkMenuItem.checked -
disabled unknown this._cdkMenuItem.disabled -

BrnMenuItemRadio

Selector: [brnMenuItemRadio]

Inputs

PropTypeDefaultDescription
checked unknown this._cdkMenuItem.checked -
disabled unknown this._cdkMenuItem.disabled -

BrnMenuItem

Selector: [brnMenuItem]

Inputs

PropTypeDefaultDescription
disabled unknown this._cdkMenuItem.disabled -

BrnMenuTrigger

Selector: [brnMenuTriggerFor]

Inputs

PropTypeDefaultDescription
align BrnMenuAlign undefined -

BrnMenu

Selector: [brnMenu],[brnSubMenu]

Helm API

HlmMenuBarItem

Selector: [hlmMenuBarItem]

Inputs

PropTypeDefaultDescription
class ClassValue --

HlmMenuBar

Selector: hlm-menu-bar

Inputs

PropTypeDefaultDescription
class ClassValue --

HlmMenuGroup

Selector: hlm-menu-group

HlmMenuItemCheck

Selector: hlm-menu-item-check

Inputs

PropTypeDefaultDescription
class ClassValue --

HlmMenuItemCheckbox

Selector: [hlmMenuItemCheckbox]

Inputs

PropTypeDefaultDescription
class ClassValue --

HlmMenuItemIcon

Selector: [hlmMenuIcon]

Inputs

PropTypeDefaultDescription
class ClassValue --

HlmMenuItemRadioIndicator

Selector: hlm-menu-item-radio

Inputs

PropTypeDefaultDescription
class ClassValue --

HlmMenuItemRadio

Selector: [hlmMenuItemRadio]

Inputs

PropTypeDefaultDescription
class ClassValue --

HlmMenuItemSubIndicator

Selector: hlm-menu-item-sub-indicator

Inputs

PropTypeDefaultDescription
class ClassValue --

HlmMenuItem

Selector: [hlmMenuItem]

Inputs

PropTypeDefaultDescription
variant 'default' | 'destructive' default -
inset boolean false -
class ClassValue --

HlmMenuLabel

Selector: hlm-menu-label

Inputs

PropTypeDefaultDescription
inset boolean false -
class ClassValue --

HlmMenuSeparator

Selector: hlm-menu-separator

Inputs

PropTypeDefaultDescription
class ClassValue --

HlmMenuShortcut

Selector: hlm-menu-shortcut

Inputs

PropTypeDefaultDescription
class ClassValue --

HlmMenu

Selector: hlm-menu

Inputs

PropTypeDefaultDescription
class ClassValue --
variant MenuVariants['variant'] default -

HlmSubMenu

Selector: hlm-sub-menu

Inputs

PropTypeDefaultDescription
class ClassValue --

Examples

Stateful

Passing context to menu

Hover Card Dialog