UNPKG

@taiga-ui/kit

Version:
45 lines (44 loc) 2.21 kB
import { ChangeDetectorRef, ComponentFactoryResolver, ElementRef, Injector, NgZone, OnDestroy, Renderer2, ViewContainerRef } from '@angular/core'; import { TuiActiveZoneDirective, TuiBooleanHandler, TuiDestroyService, TuiParentsScrollService, TuiPortalService } from '@taiga-ui/cdk'; import { AbstractTuiDropdown, TuiDropdown } from '@taiga-ui/core'; import { TuiDropdownPosition } from '@taiga-ui/kit/enums'; export declare class TuiDropdownSelectionDirective extends AbstractTuiDropdown implements TuiDropdown, OnDestroy { readonly refresh$: TuiParentsScrollService; private readonly changeDetectorRef; private readonly ngZone; private readonly renderer; private readonly viewContainerRef; set tuiDropdownSelection(handler: TuiBooleanHandler<Range> | undefined); position: TuiDropdownPosition; private range; private visibilityHandler; private readonly documentRef; private ghost?; constructor(documentRef: Document, componentFactoryResolver: ComponentFactoryResolver, injector: Injector, portalService: TuiPortalService, elementRef: ElementRef<HTMLElement>, activeZone: TuiActiveZoneDirective | null, shadowRootRef: Document | null, customElementRef: ElementRef<HTMLElement> | null, destroy$: TuiDestroyService, refresh$: TuiParentsScrollService, changeDetectorRef: ChangeDetectorRef, ngZone: NgZone, renderer: Renderer2, viewContainerRef: ViewContainerRef); get clientRect(): ClientRect; ngOnDestroy(): void; /** * get ClientRect of current Range according to provided position */ private get rangeRect(); /** * Toggle dropdown visibility (has to be in ngZone.run because it could be initiated inside iframe in Editor) */ private toggleDropdownBox; /** * Check if Node is inside dropdown */ private boxContains; /** * Check if given range is at leaset partially inside dropdown */ private inDropdown; /** * Position invisible DIV and create Range similar to selected range inside input/textarea */ private veryVerySadInputFix; /** * Create an invisible DIV styled exactly like input/textarea element inside directive */ private initGhost; }