import * as i0 from '@angular/core'; import { TemplateRef, OnInit, AfterContentInit, OnDestroy, OnChanges, Renderer2, EventEmitter, SimpleChange } from '@angular/core'; import { IToggleView, HammerGesturesManager, IgxNavigationService } from 'igniteui-angular/core'; declare class IgxNavDrawerItemDirective { /** * Styles a navigation drawer item as selected. * If not set, `active` will have default value `false`. * * @example * ```html * Active Item * ``` */ active: boolean; /** * Disables a navigation drawer item. * If not set, `disabled` will have default value `false`. * * @example * ```html * Disabled Item * ``` */ disabled: boolean; /** * Styles a navigation drawer item as a group header. * If not set, `isHeader` will have default value `false`. * * @example * ```html * Header * ``` */ isHeader: boolean; /** * @hidden */ readonly activeClass = "igx-nav-drawer__item--active"; /** * @hidden */ readonly disabledClass = "igx-nav-drawer__item--disabled"; /** * @hidden */ get defaultCSS(): boolean; /** * @hidden */ get currentCSS(): boolean; /** * @hidden */ get headerCSS(): boolean; /** * @hidden */ get disabledCSS(): boolean; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; static ngAcceptInputType_active: unknown; static ngAcceptInputType_disabled: unknown; static ngAcceptInputType_isHeader: unknown; } declare class IgxNavDrawerTemplateDirective { template: TemplateRef; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } declare class IgxNavDrawerMiniTemplateDirective { template: TemplateRef; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } /** * **Ignite UI for Angular Navigation Drawer** - * [Documentation](https://www.infragistics.com/products/ignite-ui-angular/angular/components/navdrawer) * * The Ignite UI Navigation Drawer is a collapsible side navigation container commonly used in combination with the Navbar. * * Example: * ```html * * * * * * ``` */ declare class IgxNavigationDrawerComponent implements IToggleView, OnInit, AfterContentInit, OnDestroy, OnChanges { private elementRef; private _state; protected renderer: Renderer2; private _touchManager; private platformUtil; /** @hidden @internal */ cssClass: boolean; /** * ID of the component * * ```typescript * // get * let myNavDrawerId = this.navdrawer.id; * ``` * * ```html * * * ``` */ id: string; /** * Position of the Navigation Drawer. Can be "left"(default) or "right". * * ```typescript * // get * let myNavDrawerPosition = this.navdrawer.position; * ``` * * ```html * * * ``` */ position: string; /** * Enables the use of touch gestures to manipulate the drawer: * - swipe/pan from edge to open, swipe-toggle and pan-drag. * * ```typescript * // get * let gesturesEnabled = this.navdrawer.enableGestures; * ``` * * ```html * * * ``` */ enableGestures: boolean; /** * @hidden */ isOpenChange: EventEmitter; /** * Minimum device width required for automatic pin to be toggled. * Default is 1024, can be set to a falsy value to disable this behavior. * * ```typescript * // get * let navDrawerPinThreshold = this.navdrawer.pinThreshold; * ``` * * ```html * * * ``` */ pinThreshold: number; /** * When pinned the drawer is relatively positioned instead of sitting above content. * May require additional layout styling. * * ```typescript * // get * let navDrawerIsPinned = this.navdrawer.pin; * ``` * * ```html * * * ``` */ pin: boolean; /** * Width of the drawer in its open state. * * ```typescript * // get * let navDrawerWidth = this.navdrawer.width; * ``` * * ```html * * * ``` */ private _width; get width(): string; set width(value: string); /** * Enables/disables the animation, when toggling the drawer. Set to `false` by default. * ````html * * ```` */ disableAnimation: boolean; /** * Width of the drawer in its mini state. * * ```typescript * // get * let navDrawerMiniWidth = this.navdrawer.miniWidth; * ``` * * ```html * * * ``` */ miniWidth: string; /** * Pinned state change output for two-way binding. * * ```html * * ``` */ pinChange: EventEmitter; /** * Event fired as the Navigation Drawer is about to open. * * ```html * * ``` */ opening: EventEmitter; /** * Event fired when the Navigation Drawer has opened. * * ```html * * ``` */ opened: EventEmitter; /** * Event fired as the Navigation Drawer is about to close. * * ```html * * ``` */ closing: EventEmitter; /** * Event fired when the Navigation Drawer has closed. * * ```html * * ``` */ closed: EventEmitter; /** * @hidden */ protected contentTemplate: IgxNavDrawerTemplateDirective; private _drawer; private _overlay; private _styleDummy; private _isOpen; /** * State of the drawer. * * ```typescript * // get * let navDrawerIsOpen = this.navdrawer.isOpen; * ``` * * ```html * * * ``` * * Two-way data binding. * ```html * * * ``` */ get isOpen(): boolean; set isOpen(value: boolean); /** * Returns nativeElement of the component. * * @hidden */ get element(): any; /** * @hidden */ get template(): i0.TemplateRef; private _miniTemplate; /** * @hidden */ get miniTemplate(): IgxNavDrawerMiniTemplateDirective; /** * @hidden */ set miniTemplate(v: IgxNavDrawerMiniTemplateDirective); /** @hidden @internal */ get isMini(): boolean; /** @hidden @internal */ get pinned(): boolean; /** * @hidden */ get normalSize(): string; /** * @hidden */ get miniSize(): string; /** @hidden */ get isPinnedRight(): "1" | "0"; private _gesturesAttached; private _widthCache; private _resizeObserver; private css; /** * @hidden */ get drawer(): any; /** * @hidden */ get overlay(): any; /** * @hidden */ get styleDummy(): any; /** Pan animation properties */ private _panning; private _panStartWidth; private _panLimit; /** * Property to decide whether to change width or translate the drawer from pan gesture. * * @hidden */ get hasAnimateWidth(): boolean; private _maxEdgeZone; /** * Used for touch gestures (swipe and pan). * Defaults to 50 (in px) and is extended to at least 110% of the mini template width if available. * * @hidden */ get maxEdgeZone(): number; /** * Gets the Drawer width for specific state. * Will attempt to evaluate requested state and cache. * * * @hidden */ get expectedWidth(): number; /** * Get the Drawer mini width for specific state. * Will attempt to evaluate requested state and cache. * * @hidden */ get expectedMiniWidth(): number; /** * @hidden */ get touchManager(): HammerGesturesManager; /** * Exposes optional navigation service * * @hidden */ get state(): IgxNavigationService; /** * @hidden */ ngOnInit(): void; /** * @hidden */ ngAfterContentInit(): void; /** * @hidden */ ngOnDestroy(): void; /** * @hidden */ ngOnChanges(changes: { [propName: string]: SimpleChange; }): void; /** * Toggle the open state of the Navigation Drawer. * * ```typescript * this.navdrawer.toggle(); * ``` */ toggle(): void; /** * Open the Navigation Drawer. Has no effect if already opened. * * ```typescript * this.navdrawer.open(); * ``` */ open(): void; /** * Close the Navigation Drawer. Has no effect if already closed. * * ```typescript * this.navdrawer.close(); * ``` */ close(): void; /** * @hidden */ protected set_maxEdgeZone(value: number): void; /** * Get the Drawer width for specific state. Will attempt to evaluate requested state and cache. * * @hidden * @param [mini] - Request mini width instead */ protected getExpectedWidth(mini?: boolean): number; private getWindowWidth; /** * Get current Drawer width. */ private getDrawerWidth; private ensureEvents; private updateEdgeZone; private checkPinThreshold; private swipe; private panstart; private pan; private panEnd; private resetPan; /** * Sets the absolute position or width in case the drawer doesn't change position. * * @param x the number pixels to translate on the X axis or the width to set. 0 width will clear the style instead. * @param opacity optional value to apply to the overlay */ private setXSize; private toggleOpenedEvent; private toggleClosedEvent; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; static ngAcceptInputType_enableGestures: unknown; static ngAcceptInputType_pin: unknown; static ngAcceptInputType_disableAnimation: unknown; static ngAcceptInputType_isOpen: unknown; } declare const IGX_NAVIGATION_DRAWER_DIRECTIVES: readonly [typeof IgxNavigationDrawerComponent, typeof IgxNavDrawerItemDirective, typeof IgxNavDrawerMiniTemplateDirective, typeof IgxNavDrawerTemplateDirective]; /** * @hidden */ declare class IgxNavigationDrawerModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } export { IGX_NAVIGATION_DRAWER_DIRECTIVES, IgxNavDrawerItemDirective, IgxNavDrawerMiniTemplateDirective, IgxNavDrawerTemplateDirective, IgxNavigationDrawerComponent, IgxNavigationDrawerModule };