Twitter2.2k

Dropdown

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

About

Dropdown Menu is built with the help of Menu from Material CDK .

Installation

ng g @spartan-ng/cli:ui dropdown-menu

Usage

import { HlmDropdownMenuImports } from '@spartan-ng/helm/dropdown-menu';
<button [hlmDropdownMenuTrigger]="menu">Open</button>

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

      <hlm-dropdown-menu-separator />

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

Examples

Checkboxes

Radio Group

Stateful

Passing context to menu

Helm API

HlmDropdownMenuCheckboxIndicator

Selector: hlm-dropdown-menu-checkbox-indicator

Inputs

PropTypeDefaultDescription
class ClassValue --

HlmDropdownMenuCheckbox

Selector: [hlmDropdownMenuCheckbox]

Inputs

PropTypeDefaultDescription
class ClassValue --
checked boolean this._cdkMenuItem.checked -
disabled boolean this._cdkMenuItem.disabled -

HlmDropdownMenuGroup

Selector: [hlmDropdownMenuGroup],hlm-dropdown-menu-group

Inputs

PropTypeDefaultDescription
class ClassValue --

HlmDropdownMenuItemSubIndicator

Selector: hlm-dropdown-menu-item-sub-indicator

Inputs

PropTypeDefaultDescription
class ClassValue --

HlmDropdownMenuItem

Selector: button[hlmDropdownMenuItem]

Inputs

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

HlmDropdownMenuLabel

Selector: [hlmDropdownMenuLabel],hlm-dropdown-menu-label

Inputs

PropTypeDefaultDescription
class ClassValue --
inset boolean false -

HlmDropdownMenuRadioIndicator

Selector: hlm-dropdown-menu-radio-indicator

Inputs

PropTypeDefaultDescription
class ClassValue --

HlmDropdownMenuRadio

Selector: [hlmDropdownMenuRadio]

Inputs

PropTypeDefaultDescription
class ClassValue --
checked boolean this._cdkMenuItem.checked -
disabled boolean this._cdkMenuItem.disabled -

HlmDropdownMenuSeparator

Selector: [hlmDropdownMenuSeparator],hlm-dropdown-menu-separator

Inputs

PropTypeDefaultDescription
class ClassValue --

HlmDropdownMenuShortcut

Selector: [hlmDropdownMenuShortcut],hlm-dropdown-menu-shortcut

Inputs

PropTypeDefaultDescription
class ClassValue --

HlmDropdownMenuSub

Selector: [hlmDropdownMenuSub],hlm-dropdown-menu-sub

Inputs

PropTypeDefaultDescription
class ClassValue --

HlmDropdownMenuTrigger

Selector: [hlmDropdownMenuTrigger]

Inputs

PropTypeDefaultDescription
align MenuAlign this._config.align -
side MenuSide this._config.side -

HlmDropdownMenu

Selector: [hlmDropdownMenu],hlm-dropdown-menu

Inputs

PropTypeDefaultDescription
class ClassValue --
sideOffset number 1 -
Empty Dialog