import * as _angular_cdk_overlay from '@angular/cdk/overlay'; import { Overlay, OverlayRef, OverlayConfig } from '@angular/cdk/overlay'; import * as _angular_core from '@angular/core'; import { ViewContainerRef, ComponentRef, OnInit, OnDestroy, ElementRef, SimpleChanges } from '@angular/core'; import * as _ng_nest_ui_core from '@ng-nest/ui/core'; import { XDataArray, XTrigger, XPlacement, XBoolean, XNumber, XSize, XPositionTopBottom } from '@ng-nest/ui/core'; import { XListNode, XListComponent } from '@ng-nest/ui/list'; import { Subject } from 'rxjs'; import { XPortalOverlayRef, XPortalService } from '@ng-nest/ui/portal'; /** * Dropdown * @selector x-dropdown * @decorator component */ declare const XDropdownPrefix = "x-dropdown"; declare const XDropdownProperty_base: new () => { config: _ng_nest_ui_core.XDropdownConfig | undefined; }; /** * Dropdown Property */ declare class XDropdownProperty extends XDropdownProperty_base { /** * @zh_CN 节点数据 * @en_US Node data */ readonly data: _angular_core.InputSignalWithTransform>; /** * @zh_CN 触发方式 * @en_US Trigger method */ readonly trigger: _angular_core.InputSignal; /** * @zh_CN 展示位置 * @en_US Placement */ readonly placement: _angular_core.InputSignal; /** * @zh_CN 禁用 * @en_US Disabled */ readonly disabled: _angular_core.InputSignalWithTransform; /** * @zh_CN 节点中已经包含子节点数据 * @en_US The node already contains child node data */ readonly children: _angular_core.InputSignalWithTransform; /** * @zh_CN 弹框的最小宽度 * @en_US Portal min-width */ readonly portalMinWidth: _angular_core.InputSignalWithTransform; /** * @zh_CN 弹框的最大宽度 * @en_US Portal max-width */ readonly portalMaxWidth: _angular_core.InputSignalWithTransform; /** * @zh_CN 弹框的最小高度 * @en_US Portal min-height */ readonly portalMinHeight: _angular_core.InputSignalWithTransform; /** * @zh_CN 弹框的最大高度 * @en_US Portal max-height */ readonly portalMaxHeight: _angular_core.InputSignalWithTransform; /** * @zh_CN hover 延迟触发时间,只有 trigger 为 'hover' 生效 * @en_US Hover delay trigger time, only trigger is the 'hover' */ readonly hoverDelay: _angular_core.InputSignalWithTransform; /** * @zh_CN visible 参数控制显示/隐藏 * @en_US visible parameter controls display/hide */ readonly visible: _angular_core.ModelSignal; /** * @zh_CN 当前激活的菜单 * @en_US The currently activated menu */ readonly activatedId: _angular_core.ModelSignal; /** * @zh_CN 尺寸 * @en_US Size */ readonly size: _angular_core.InputSignal; /** * @zh_CN 节点点击事件 * @en_US Node click event */ readonly nodeClick: _angular_core.OutputEmitterRef; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } /** * @zh_CN Dropdown 数据对象 * @en_US Dropdown data object */ interface XDropdownNode extends XListNode { } /** * @zh_CN 显示方式 * @en_US Display method */ type XDropdownTrigger = XTrigger; /** * Dropdown Portal * @selector x-dropdown-portal * @decorator component */ declare const XDropdownPortalPrefix = "x-dropdown-portal"; declare class XDropdownPortalComponent { animateEnter: string; animateLeave: string; done(): void; start(): void; data: _angular_core.InputSignal; trigger: _angular_core.InputSignal<_ng_nest_ui_core.XTrigger>; placement: _angular_core.InputSignal; size: _angular_core.InputSignal; minWidth: _angular_core.InputSignal; maxWidth: _angular_core.InputSignal; minHeight: _angular_core.InputSignal; maxHeight: _angular_core.InputSignal; level: _angular_core.InputSignal; parentPortalComponent: _angular_core.InputSignal; isKeyboardControlled: _angular_core.ModelSignal; closed: _angular_core.OutputEmitterRef; animating: _angular_core.OutputEmitterRef; nodeClick: _angular_core.OutputEmitterRef; portalHover: _angular_core.OutputEmitterRef; portal: XPortalOverlayRef; node: _angular_core.WritableSignal; timeoutHide: any; list: _angular_core.Signal; portalPlacement: _angular_core.WritableSignal; childAnimating: _angular_core.WritableSignal; activatedId: _angular_core.ModelSignal; destroy: _angular_core.WritableSignal; closeSubject: Subject; keydownSubject: Subject; active: _angular_core.WritableSignal; private unSubject; private destroyRef; activatedIdComputed: _angular_core.Signal; mouseenter(): void; mouseleave(): void; portalService: XPortalService; overlay: Overlay; viewContainerRef: ViewContainerRef; portalComponent: _angular_core.WritableSignal | null>; portalOverlayRef: _angular_core.WritableSignal; constructor(); ngOnInit(): void; ngAfterViewInit(): void; onNodeClick(node: XDropdownNode): void; portalAttached(): boolean | undefined; closePortal(): boolean; createPortal(): void; setPosition(config: OverlayConfig): void; setInstance(): void; hover(hover: boolean): void; setPlacement(): _angular_cdk_overlay.PositionStrategy; showPortal(node: XDropdownNode): void; onEnter(node: XDropdownNode): void; onLeave(): void; onActive(num: number): void; onTabOut(): void; findPathById(nodes: XDropdownNode[], id: number, currentPath?: XDropdownNode[]): XDropdownNode[] | null; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare class XDropdownComponent extends XDropdownProperty implements OnInit, OnDestroy { private unSubject; private portalService; private viewContainerRef; private overlay; dropdown: _angular_core.Signal>; nodes: _angular_core.Signal; portal: XPortalOverlayRef; timeoutHide: any; animating: _angular_core.WritableSignal; visibleClass: _angular_core.WritableSignal; outsideClick: _angular_core.WritableSignal; isClickNodeLeaf: _angular_core.WritableSignal; minWidth: _angular_core.WritableSignal; hoverDelayUnsub: Subject; closeSubject: Subject; keydownSubject: Subject; isNullVisible: _angular_core.WritableSignal; private realPlacement; portalComponent: _angular_core.WritableSignal | null>; portalOverlayRef: _angular_core.WritableSignal; constructor(); ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; setVisible(): void; setSubject(): void; onEnter(): void; onLeave(): void; onClickShow(): void; portalAttached(): boolean | undefined; closePortal(): boolean; createPortal(): void; setPosition(config: OverlayConfig): void; setInstance(): void; portalHover(hover: boolean): void; onKeydown($event: KeyboardEvent): void; setPlacement(): _angular_cdk_overlay.PositionStrategy; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare class XDropdownModule { static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵmod: _angular_core.ɵɵNgModuleDeclaration; static ɵinj: _angular_core.ɵɵInjectorDeclaration; } export { XDropdownComponent, XDropdownModule, XDropdownPortalComponent, XDropdownPortalPrefix, XDropdownPrefix, XDropdownProperty }; export type { XDropdownNode, XDropdownTrigger };