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 hlmBtn variant="outline" [hlmDropdownMenuTrigger]="menu">Open</button>

<ng-template #menu>
  <hlm-dropdown-menu>
    <hlm-dropdown-menu-group>
      <hlm-dropdown-menu-label>My Account</hlm-dropdown-menu-label>
      <button hlmDropdownMenuItem>Profile</button>
      <button hlmDropdownMenuItem>Billing</button>
    </hlm-dropdown-menu-group>
    <hlm-dropdown-menu-separator />
    <hlm-dropdown-menu-group>
      <button hlmDropdownMenuItem>Team</button>
      <button hlmDropdownMenuItem>Subscription</button>
    </hlm-dropdown-menu-group>
  </hlm-dropdown-menu>
</ng-template>

Examples

Basic

Shortcuts

Icons

Checkboxes

Checkboxes Icons

Radio Group

Radio Group Icons

Destructive

Stateful

Passing context to menu

RTL

To enable RTL support in spartan-ng, see the RTL configuration guide.

Helm API

HlmDropdownMenuCheckboxIndicator

Selector: hlm-dropdown-menu-checkbox-indicator

HlmDropdownMenuCheckboxCdk

Selector: [hlmDropdownMenuCheckboxCdk]

Inputs

PropTypeDefaultDescription
keepOpen boolean true -

HlmDropdownMenuCheckbox

Selector: [hlmDropdownMenuCheckbox],[hlmDropdownMenuCheckboxItem]

Inputs

PropTypeDefaultDescription
inset boolean false -

HlmDropdownMenuGroup

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

HlmDropdownMenuItemSubIndicator

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

HlmDropdownMenuItem

Selector: [hlmDropdownMenuItem],hlm-dropdown-menu-item

Inputs

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

HlmDropdownMenuLabel

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

Inputs

PropTypeDefaultDescription
inset boolean false -

HlmDropdownMenuRadioIndicator

Selector: hlm-dropdown-menu-radio-indicator

HlmDropdownMenuRadioCdk

Selector: [hlmDropdownMenuRadioCdk]

Inputs

PropTypeDefaultDescription
keepOpen boolean true -

HlmDropdownMenuRadio

Selector: [hlmDropdownMenuRadio]

HlmDropdownMenuSeparator

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

HlmDropdownMenuShortcut

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

HlmDropdownMenuSubTrigger

Selector: [hlmDropdownMenuSubTrigger]

Inputs

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

HlmDropdownMenuSub

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

HlmDropdownMenuTrigger

Selector: [hlmDropdownMenuTrigger]

Inputs

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

HlmDropdownMenu

Selector: [hlmDropdownMenu],hlm-dropdown-menu

Inputs

PropTypeDefaultDescription
sideOffset number 1 -
Empty Dialog