UNPKG

@deepkit/desktop-ui

Version:

Library for desktop UI widgets in Angular 10+

161 lines (160 loc) 8.11 kB
import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, Injector, OnChanges, OnDestroy, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core'; import { ConnectedPosition, Overlay, OverlayRef } from '@angular/cdk/overlay'; import { Subscription } from 'rxjs'; import { WindowRegistry } from '../window/window-state'; import { OverlayStack, OverlayStackItem } from '../app'; import { ButtonComponent } from './button.component'; import * as i0 from "@angular/core"; export declare class DropdownComponent implements OnChanges, OnDestroy, AfterViewInit { protected overlayService: Overlay; protected injector: Injector; protected overlayStack: OverlayStack; protected viewContainerRef: ViewContainerRef; protected cd: ChangeDetectorRef; protected cdParent: ChangeDetectorRef; protected registry?: WindowRegistry | undefined; isOpen: boolean; overlayRef?: OverlayRef; protected lastFocusWatcher?: Subscription; host?: HTMLElement | ElementRef; allowedFocus: (HTMLElement | ElementRef)[] | (HTMLElement | ElementRef); /** * For debugging purposes. */ keepOpen?: true; height?: number | string; width?: number | string; minWidth?: number | string; minHeight?: number | string; maxWidth?: number | string; maxHeight?: number | string; scrollbars: boolean; /** * Whether the dropdown aligns to the horizontal center. */ center: boolean; /** * Whether is styled as overlay */ overlay: boolean | ''; show?: boolean; connectedPositions: ConnectedPosition[]; showChange: EventEmitter<boolean>; shown: EventEmitter<any>; hidden: EventEmitter<any>; dropdownTemplate: TemplateRef<any>; dropdown: ElementRef<HTMLElement>; container?: TemplateRef<any> | undefined; relativeToInitiator?: HTMLElement; protected lastOverlayStackItem?: OverlayStackItem; constructor(overlayService: Overlay, injector: Injector, overlayStack: OverlayStack, viewContainerRef: ViewContainerRef, cd: ChangeDetectorRef, cdParent: ChangeDetectorRef, registry?: WindowRegistry | undefined); ngOnChanges(changes: SimpleChanges): void; ngAfterViewInit(): void; ngOnDestroy(): void; key(event: KeyboardEvent): void; toggle(target?: HTMLElement | ElementRef | MouseEvent): void; setContainer(container: TemplateRef<any> | undefined): void; open(target?: HTMLElement | ElementRef | MouseEvent | 'center', initiator?: HTMLElement | ElementRef | { x: number; y: number; width: number; height: number; }): void; setInitiator(initiator?: HTMLElement | ElementRef | { x: number; y: number; width: number; height: number; }): void; protected getInitiatorRelativeRect(): { x: number; y: number; width: number; height: number; }; focus(): void; close(): void; static ɵfac: i0.ɵɵFactoryDeclaration<DropdownComponent, [null, null, null, null, null, { skipSelf: true; }, { optional: true; }]>; static ɵcmp: i0.ɵɵComponentDeclaration<DropdownComponent, "dui-dropdown", never, { "host": { "alias": "host"; "required": false; }; "allowedFocus": { "alias": "allowedFocus"; "required": false; }; "keepOpen": { "alias": "keepOpen"; "required": false; }; "height": { "alias": "height"; "required": false; }; "width": { "alias": "width"; "required": false; }; "minWidth": { "alias": "minWidth"; "required": false; }; "minHeight": { "alias": "minHeight"; "required": false; }; "maxWidth": { "alias": "maxWidth"; "required": false; }; "maxHeight": { "alias": "maxHeight"; "required": false; }; "scrollbars": { "alias": "scrollbars"; "required": false; }; "center": { "alias": "center"; "required": false; }; "overlay": { "alias": "overlay"; "required": false; }; "show": { "alias": "show"; "required": false; }; "connectedPositions": { "alias": "connectedPositions"; "required": false; }; }, { "showChange": "showChange"; "shown": "shown"; "hidden": "hidden"; }, never, ["*"], false, never>; } /** * A directive to open the given dropdown on regular left click. */ export declare class OpenDropdownDirective implements AfterViewInit, OnDestroy { protected elementRef: ElementRef; protected button?: ButtonComponent | undefined; openDropdown?: DropdownComponent; openSub?: Subscription; hiddenSub?: Subscription; constructor(elementRef: ElementRef, button?: ButtonComponent | undefined); ngOnDestroy(): void; ngAfterViewInit(): void; onClick(): void; static ɵfac: i0.ɵɵFactoryDeclaration<OpenDropdownDirective, [null, { optional: true; }]>; static ɵdir: i0.ɵɵDirectiveDeclaration<OpenDropdownDirective, "[openDropdown]", never, { "openDropdown": { "alias": "openDropdown"; "required": false; }; }, {}, never, never, false, never>; } /** * A directive to open the given dropdown on mouseenter, and closes automatically on mouseleave. * Dropdown keeps open when mouse enters the dropdown */ export declare class OpenDropdownHoverDirective implements OnDestroy { protected elementRef: ElementRef; openDropdownHover?: DropdownComponent; /** * In milliseconds. */ openDropdownHoverCloseTimeout: number; openSub?: Subscription; hiddenSub?: Subscription; lastHide?: any; constructor(elementRef: ElementRef); ngOnDestroy(): void; onHover(): void; onLeave(): void; static ɵfac: i0.ɵɵFactoryDeclaration<OpenDropdownHoverDirective, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<OpenDropdownHoverDirective, "[openDropdownHover]", never, { "openDropdownHover": { "alias": "openDropdownHover"; "required": false; }; "openDropdownHoverCloseTimeout": { "alias": "openDropdownHoverCloseTimeout"; "required": false; }; }, {}, never, never, false, never>; } /** * A directive to open the given dropdown upon right click / context menu. */ export declare class ContextDropdownDirective { contextDropdown?: DropdownComponent; onClick($event: MouseEvent): void; static ɵfac: i0.ɵɵFactoryDeclaration<ContextDropdownDirective, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<ContextDropdownDirective, "[contextDropdown]", never, { "contextDropdown": { "alias": "contextDropdown"; "required": false; }; }, {}, never, never, false, never>; } export declare class DropdownSplitterComponent { static ɵfac: i0.ɵɵFactoryDeclaration<DropdownSplitterComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<DropdownSplitterComponent, "dui-dropdown-splitter,dui-dropdown-separator", never, {}, {}, never, never, false, never>; } /** * This directive is necessary if you want to load and render the dialog content * only when opening the dialog. Without it, it is immediately rendered, which can cause * performance and injection issues. * * ```typescript * <dui-dropdown> * <ng-container *dropdownContainer> * Dynamically created upon dropdown instantiation. * </ng-container> * </dui-dropdown> * * ``` */ export declare class DropdownContainerDirective { protected dropdown: DropdownComponent; template: TemplateRef<any>; constructor(dropdown: DropdownComponent, template: TemplateRef<any>); static ɵfac: i0.ɵɵFactoryDeclaration<DropdownContainerDirective, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<DropdownContainerDirective, "[dropdownContainer]", never, {}, {}, never, never, false, never>; } export declare class DropdownItemComponent { protected dropdown: DropdownComponent; selected: boolean; disabled: boolean | ''; closeOnClick: boolean; constructor(dropdown: DropdownComponent); onClick(): void; static ɵfac: i0.ɵɵFactoryDeclaration<DropdownItemComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<DropdownItemComponent, "dui-dropdown-item", never, { "selected": { "alias": "selected"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "closeOnClick": { "alias": "closeOnClick"; "required": false; }; }, {}, never, ["*"], false, never>; }