GitHub

Menu

A menu is a floating panel that displays a list of actions or navigational items.

Components

DaffMenuComponent

import { DaffMenuComponent } from '@daffodil/design/menu'

The floating panel that contains menu items.

@Component()
class DaffMenuComponent implements AfterContentInit, AfterViewInit {}

DaffMenuItemComponent

import { DaffMenuItemComponent } from '@daffodil/design/menu'

Individual clickable items within the menu. Applied to <button> or <a> elements.

@Component()
class DaffMenuItemComponent implements FocusableOption {
  focus(): void
}

() Methods

focus
void

Focus the menu item.


Directives

DaffMenuActivatorDirective

import { DaffMenuActivatorDirective } from '@daffodil/design/menu'

Directive that triggers the menu to open/close. Applied to the button that activates the menu. The selector doubles as an input for the menu content to display.

@Directive()
class DaffMenuActivatorDirective implements OnDestroy {
  readonly isOpen: WritableSignal<boolean> = signal(false)

  @Input() daffMenuActivator: TemplateRef<unknown> | Type<unknown>
}

Inputs

daffMenuActivator
TemplateRef | Type
Default
Description

The menu content to display when activated.


Services

DaffMenuService

import { DaffMenuService } from '@daffodil/design/menu'

@Injectable()
class DaffMenuService {
  open$: Observable<boolean> = this.$_open.asObservable()

  close(): void
  open(
    activator: ViewContainerRef
    component: DaffMenuSlot
  ): void
}

() Methods

close
void
open
void
Parameters
Parameteractivator: ViewContainerRef
Description
Parametercomponent: DaffMenuSlot
Description

Modules

DaffMenuModule

import { DaffMenuModule } from '@daffodil/design/menu'

@NgModule()
class DaffMenuModule {}