@hashicorp/design-system-components
Version:
Helios Design System Components
37 lines (36 loc) • 1.03 kB
TypeScript
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
import Component from '@glimmer/component';
import type Owner from '@ember/owner';
export interface MenuPrimitiveSignature {
Args: {
onClose?: (...args: any[]) => void;
};
Blocks: {
toggle?: [
{
onClickToggle: (event: MouseEvent, ...args: any[]) => void;
isOpen?: boolean;
}
];
content?: [
{
close: (...args: any[]) => void;
}
];
};
Element: HTMLDivElement;
}
export default class MenuPrimitive extends Component<MenuPrimitiveSignature> {
isOpen: boolean | undefined;
toggleRef: HTMLElement | undefined;
_element: HTMLElement;
constructor(owner: Owner, args: MenuPrimitiveSignature['Args']);
didInsert(element: HTMLElement): void;
onClickToggle(event: MouseEvent): void;
onFocusOut(event: FocusEvent): void;
onKeyUp(event: KeyboardEvent): void;
close(): void;
}