@bimeister/pupakit.kit
Version:
PupaKit is an open source collection of Angular components based on an atomic approach to building interfaces, which guarantees better performance and greater development flexibility.
39 lines (38 loc) • 2.1 kB
TypeScript
import { AfterViewInit, ElementRef, NgZone, OnDestroy } from '@angular/core';
import { BehaviorSubject } from 'rxjs';
import { DropdownDirectiveParams } from '../../../declarations/interfaces/dropdown-directive-params.interface';
import { DropdownHost } from '../../../declarations/interfaces/dropdown-host.interface';
import { ThemeService } from '@bimeister/pupakit.common';
import { DropdownsService } from '../../../services/dropdowns.service';
import { ThemeWrapperService } from '../../theme-wrapper/services/theme-wrapper.service';
import * as i0 from "@angular/core";
export declare class DropdownDirective implements AfterViewInit, OnDestroy, DropdownHost {
readonly triggerRef: ElementRef<HTMLElement>;
private readonly dropdownsService;
private readonly ngZone;
private readonly themeService;
private readonly document;
private readonly themeWrapperService?;
pupaDropdownDisabled: boolean;
pupaDropdownRealTriggerElement?: HTMLElement;
cursorStyle: string;
readonly opened$: BehaviorSubject<boolean>;
private readonly theme$;
private readonly subscription;
private readonly isTriggerTouched$;
private dropdown;
private outsideTouchEventSubscription;
private params;
constructor(triggerRef: ElementRef<HTMLElement>, dropdownsService: DropdownsService, ngZone: NgZone, themeService: ThemeService, document: Document, themeWrapperService?: ThemeWrapperService);
ngAfterViewInit(): void;
ngOnDestroy(): void;
setDropdownParams(params: DropdownDirectiveParams): void;
open(): void;
close(): void;
toggle(): void;
private handleTriggerClickEvents;
private handleTriggerTouchEvents;
private handleOutsideTriggerTouchEvents;
static ɵfac: i0.ɵɵFactoryDeclaration<DropdownDirective, [null, null, null, null, null, { optional: true; }]>;
static ɵdir: i0.ɵɵDirectiveDeclaration<DropdownDirective, "[pupaDropdown]", ["pupaDropdown"], { "pupaDropdownDisabled": "pupaDropdownDisabled"; "pupaDropdownRealTriggerElement": "pupaDropdownRealTriggerElement"; }, {}, never, never, false>;
}