import * as i0 from '@angular/core'; import { OnDestroy, EventEmitter, ElementRef, AfterViewInit, TemplateRef, QueryList, ViewContainerRef } from '@angular/core'; import { Overlay } from '@angular/cdk/overlay'; import { ILuPopoverPanel, ALuPopoverPanel, ALuPopoverTrigger, ILuPopoverTarget, ILuPopoverTrigger, LuPopoverPosition, LuPopoverAlignment } from '@lucca-front/ng/popover'; import { Observable } from 'rxjs'; type ILuDropdownPanel = ILuPopoverPanel; interface ILuDropdownItem { onSelect: Observable; focus(): void; } declare abstract class ALuDropdownItem implements ILuDropdownItem { abstract onSelect: Observable; abstract focus(): void; } declare class LuDropdownItemDirective extends ALuDropdownItem implements OnDestroy { private _eltRef; onSelect: EventEmitter; constructor(_eltRef: ElementRef); onClick(): void; onEnter(): void; focus(): void; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } /** * @deprecated use `LuDropdownItemDirective` instead */ declare class LuDropdownItemModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } declare class LuDropdownPanelComponent extends ALuPopoverPanel implements ILuPopoverPanel, OnDestroy, AfterViewInit { /** * This method takes classes set on the host lu-popover element and applies them on the * popover template that displays in the overlay container. Otherwise, it's difficult * to style the containing popover from outside the component. * @param classes list of class names */ set inputPanelClasses(classes: string); /** * This method takes classes set on the host lu-popover element and applies them on the * popover template that displays in the overlay container. Otherwise, it's difficult * to style the containing popover from outside the component. * @param classes list of class names */ set inputContentClasses(classes: string); /** Event emitted when the popover is closed. */ close: EventEmitter; open: EventEmitter; hovered: EventEmitter; set vcTemplateRef(tr: TemplateRef); protected _items: ILuDropdownItem[]; protected _itemsQL: QueryList; set optionsQL(ql: QueryList); private _subs; constructor(); protected initItems(): void; ngAfterViewInit(): void; ngOnDestroy(): void; _emitCloseEvent(): void; _emitOpenEvent(): void; _emitHoveredEvent(hovered: boolean): void; onOpen(): void; private focusFirstItem; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } /** * @deprecated use `LuDropdownPanelComponent` instead */ declare class LuDropdownPanelModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } /** * This directive is intended to be used in conjunction with an lu-dropdown tag. It is * responsible for toggling the display of the provided dropdown instance. */ declare class LuDropdownTriggerDirective extends ALuPopoverTrigger implements ILuPopoverTrigger, AfterViewInit, OnDestroy { protected _overlay: Overlay; protected _elementRef: ElementRef; protected _viewContainerRef: ViewContainerRef; /** References the popover instance that the trigger is associated with. */ set inputPanel(p: TPanel); /** how you want to position the panel relative to the target, allowed values: above, below, before, after */ set inputPosition(pos: LuPopoverPosition); /** how the panel will be align with the target, allowed values: top, bottom, left, right */ set inputAlignment(al: LuPopoverAlignment); /** disable popover apparition */ set inputDisabled(d: boolean); /** set to true if you want the panel to appear on top of the target */ set inputOverlap(ov: boolean); /** Event emitted when the associated popover is opened. */ onOpen: EventEmitter; /** Event emitted when the associated popover is closed. */ onClose: EventEmitter; /** accessibility attribute - dont override */ get _attrAriaExpanded(): boolean; /** accessibility attribute - dont override */ get _attrId(): string; /** accessibility attribute - dont override */ get _attrAriaControls(): string; constructor(_overlay: Overlay, _elementRef: ElementRef, _viewContainerRef: ViewContainerRef); onClick(): void; ngAfterViewInit(): void; ngOnDestroy(): void; protected _emitOpen(): void; protected _emitClose(): void; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵdir: i0.ɵɵDirectiveDeclaration, "[luDropdown]", ["LuDropdownTrigger"], { "inputPanel": { "alias": "luDropdown"; "required": false; }; "inputPosition": { "alias": "luDropdownPosition"; "required": false; }; "inputAlignment": { "alias": "luDropdownAlignment"; "required": false; }; "inputDisabled": { "alias": "luDropdownDisabled"; "required": false; }; "inputOverlap": { "alias": "luDropdownOverlap"; "required": false; }; }, { "onOpen": "luDropdownOnOpen"; "onClose": "luDropdownOnClose"; }, never, never, true, never>; } /** * @deprecated use `LuDropdownTriggerDirective` instead */ declare class LuDropdownTriggerModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } declare class LuDropdownModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } export { ALuDropdownItem, LuDropdownItemDirective, LuDropdownItemModule, LuDropdownModule, LuDropdownPanelComponent, LuDropdownPanelModule, LuDropdownTriggerDirective, LuDropdownTriggerModule }; export type { ILuDropdownItem, ILuDropdownPanel };