import * as _angular_core from '@angular/core'; import { TemplateRef, ModelSignal, ElementRef, Signal, InputSignal } from '@angular/core'; import * as i4 from 'tableau-ui-angular/dialog'; import { DialogRef } from 'tableau-ui-angular/dialog'; declare class MenuDirective { private readonly dialogService; readonly template: TemplateRef; /** * The parent control to which the menu is attached to * // nullable Signal type needs to be set explicitly -> ng-packagr strips nullability */ readonly $parentControl: ModelSignal | undefined>; /** * The CSS text to apply to the dropdown container * @remarks * Use this to apply height, maxHeight, etc. to the dropdown container * @default '{}' */ readonly $menuContainerCss: ModelSignal>; private readonly defaultContainerCss; /** * The CSS text to apply to the backdrop container * @remarks * Use this to apply user-select: none, etc. to the backdrop container * @default '{}' */ readonly $backdropCss: ModelSignal>; /** * The minimum of the container * @remarks * Use 'parentWidth' to maintain the same width as the parent control * Use any CSS width value (1rem, 12px, auto etc) to explicitly set width * @default 'fit-content' */ readonly $minWidth: _angular_core.InputSignal; /** * The width of the container * @remarks * Use 'parentWidth' to maintain the same width as the parent control * Use 'fit-content' to auto size the dropdown for the content * Use any CSS width value (1rem, 12px, etc) to explicitly set width * @default 'fit-content' */ readonly $width: _angular_core.InputSignal; /** * The max width of the container * @remarks * Keep it undefined for default behavior * Use any CSS width value (1rem, 12px, etc) to explicitly set maximum width * @default 'undefined' */ readonly $maxWidth: _angular_core.InputSignal; /** * The minimum height of the container * @remarks * Use 'fit-content' to auto size the dropdown for the content * Use any CSS height value (1rem, 12px, etc) to explicitly set height * @default 'fit-content' */ readonly $minHeight: _angular_core.InputSignal; /** * The height of the container * @remarks * Use 'fit-content' to auto size the dropdown for the content * Use any CSS height value (1rem, 12px, etc) to explicitly set height * @default 'fit-content' */ readonly $height: _angular_core.InputSignal; /** * The max height of the container * @remarks * Keep it undefined for default behavior * Use any CSS height value (1rem, 12px, etc) to explicitly set maximum height * @default 'undefined' */ readonly $maxHeight: _angular_core.InputSignal; /** * Close on backdrop click * @remarks * When true, the menu will close when the backdrop is clicked * @default 'true' */ readonly $closeOnBackdropClick: _angular_core.InputSignal; /** * Close on escape key press * @remarks * When true, the menu will close when the escape key is pressed * @default 'true' */ readonly $closeOnEscape: _angular_core.InputSignal; /** * Trap focus within the menu * @remarks * When true, the focus will be trapped within the menu until it is closed * @default 'true' */ readonly $trapFocus: _angular_core.InputSignal; /** * The location of the menu relative to the parent control * @remarks * The menu may be repositioned if page bounds are hit to the opposite side * @default 'bottom' */ readonly $menuLocation: _angular_core.InputSignal<"bottom" | "left" | "right" | "top">; private readonly $_openDialog; get $openDialog(): Signal; readonly opened: _angular_core.OutputEmitterRef>; readonly closed: _angular_core.OutputEmitterRef; open(forceReOpen?: boolean): DialogRef; close(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵdir: _angular_core.ɵɵDirectiveDeclaration; } declare class AttachedMenuDirective { private readonly el; /** * The menu that is attached to this directive. */ readonly $menu: _angular_core.InputSignal; readonly $autoOpenClose: _angular_core.InputSignal; private readonly menuChanged; private readonly autoOpenCloseChanged; private clickAction; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵdir: _angular_core.ɵɵDirectiveDeclaration; } declare class ButtonMenuDirective extends MenuDirective { readonly $menuContainerCss: ModelSignal>; readonly $closeOnBackdropClick: InputSignal; readonly $minWidth: ModelSignal; readonly $width: ModelSignal; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵdir: _angular_core.ɵɵDirectiveDeclaration; } declare class TableauUiMenuModule { static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵmod: _angular_core.ɵɵNgModuleDeclaration; static ɵinj: _angular_core.ɵɵInjectorDeclaration; } export { AttachedMenuDirective, ButtonMenuDirective, MenuDirective, TableauUiMenuModule };