Menubar

A visually persistent menu common in desktop applications that provides quick access to a consistent set of commands.

Installation

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

Usage

import { BrnMenuTriggerDirective } from '@spartan-ng/brain/menu';
import {
  HlmMenuBar
  HlmMenuBarItem
  HlmMenu
  HlmMenuGroup
  HlmMenuItemCheckbox
  HlmMenuItemCheck
  HlmMenuItem
  HlmMenuItemIcon
  HlmMenuItemRadio
  HlmMenuItemRadio
  HlmMenuItemSubIndicator
  HlmMenuLabel
  HlmMenuSeparator
  HlmMenuShortcut
  HlmSubMenu
} from '@spartan-ng/helm/menu';
<hlm-menu-bar class='w-fit'>
    <button hlmMenuBarItem brnMenuItem [brnMenuTriggerFor]='file'>File</button>
</div>

<ng-template #file>
  <hlm-menu variant='menubar' class='w-48'>
    <div brnMenuGroup>
      <button hlmMenuItem>
        New Tab
        <hlm-menu-shortcut>T</hlm-menu-shortcut>
      </button>
    </div>

    <hlm-menu-separator />

    <button hlmMenuItem [brnMenuTriggerFor]='share'>
      Share
      <hlm-menu-item-sub-indicator />
    </button>
  </hlm-menu>
</ng-template>
<ng-template #share>
  <hlm-sub-menu>
    <button hlmMenuItem>Email link</button>
  </hlm-sub-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 --
Pagination Label