ngx-aside-ease
Version:
ngx-aside-ease is an Angular library that offers a lightweight, performant, and responsive aside panel. This library has multiple options and offers a good user experience.
114 lines (113 loc) • 5.16 kB
TypeScript
import { AfterViewInit, ChangeDetectorRef, ElementRef, OnDestroy, OnInit, QueryList } from '@angular/core';
import { InternalAsideService } from '../internal-aside.service';
import { Subject } from 'rxjs';
import { AsideItemDirective } from './item.directive';
import { ActivatedRoute, Router } from '@angular/router';
import { AsideService } from '../aside.service';
import * as i0 from "@angular/core";
export declare class AsideComponent implements OnInit, AfterViewInit, OnDestroy {
private element;
private internalAsideService;
private asideService;
private router;
private route;
private cd;
minVisible: number;
minWidth: number;
width: number;
maxWidth: string;
responsiveBreakpoint: number;
displayCollapsableIcon: boolean;
asideAnimationTiming: string;
markerAnimationTiming: string;
enableResize: boolean;
resizerColor: string;
enableMarker: boolean;
storePreference: boolean;
updateUrl: boolean;
paramUrlName: string;
userWidth: number;
showCollapsableIcon: boolean;
asideIsOpen: boolean;
responsiveMode: boolean;
asideContentTop: number;
destroy$: Subject<void>;
asideFullWidthResponsive: boolean;
keepUserNavigationChoice: boolean;
reverse: boolean;
timeoutID: number;
asideWrapper: ElementRef<HTMLDivElement>;
asideContent: ElementRef<HTMLDivElement>;
resizer: ElementRef<HTMLSpanElement>;
asideMarker: ElementRef<HTMLSpanElement>;
items: QueryList<AsideItemDirective>;
constructor(element: ElementRef<HTMLDivElement>, internalAsideService: InternalAsideService, asideService: AsideService, router: Router, route: ActivatedRoute, cd: ChangeDetectorRef);
get native(): HTMLDivElement;
get asideNative(): HTMLDivElement;
get resizerNative(): HTMLSpanElement;
get isResponsiveMode(): boolean;
ngOnInit(): void;
/**
* Retrieve the previous stored preference or take the defined width.
* Initialise CSS variables.
*/
ngAfterViewInit(): void;
/**
* Navigation by URL.
* Not through the Angular API for synchronous reason. Give priority to the user choice over the default active item.
* Apply 100 ms delay, a custom font can be not fully loaded.
*/
activateParamsUrl(): void;
/**
* Navigation by URL.
* Find the corresponding item and activate it.
*/
findTabToActivate(name: string): HTMLElement | null | undefined;
updateUrlTabs(text: string): void;
/**
* Set the default selected item.
* Apply an delay of 100 ms in case of loading a custom font.
* Give priority to user choice (URL) over the default item.
*/
selectDefaultItem(): void;
/**
* Compute the min width in percent based in the provided value for the panel visibility reduction (non responsive mode).
*/
updateMinWidthPercentDiff(): void;
/**
* Responsive mode triggered on basis on the breakpoint set.
*/
applyResponsive(animate?: boolean): void;
applyAnimations(animate?: boolean): void;
/**
* Position the left marker correctly.
* Inverse it in reverse mode.
*/
positionMarker(element: HTMLElement, animated?: boolean): void;
resize(): void;
/**
* Triggered on Mouse and Touch event.
* Prevent text selection, set the CSS variable for width adaptation, add other event listeners.
*/
onPointerDown(e: PointerEvent): void;
/**
* In responsive mode, display/hide panel totally.
*/
setAsideFullWidth(): void;
onCollapseBtnClick(): void;
/**
* Reverse the panel position.
* An overflow hidden has to be applied in reversed mode.
*/
reverseDisplay(): void;
onMouseEnter(): void;
onMouseLeave(): void;
/**
* Add active class to the element so the user can overload it with custom styles.
*/
addClassActiveToElement(element: HTMLElement): void;
get notOpened(): boolean;
ngOnDestroy(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<AsideComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<AsideComponent, "ngx-aside", never, { "minVisible": { "alias": "minVisible"; "required": false; }; "minWidth": { "alias": "minWidth"; "required": false; }; "width": { "alias": "width"; "required": false; }; "maxWidth": { "alias": "maxWidth"; "required": false; }; "responsiveBreakpoint": { "alias": "responsiveBreakpoint"; "required": false; }; "displayCollapsableIcon": { "alias": "displayCollapsableIcon"; "required": false; }; "asideAnimationTiming": { "alias": "asideAnimationTiming"; "required": false; }; "markerAnimationTiming": { "alias": "markerAnimationTiming"; "required": false; }; "enableResize": { "alias": "enableResize"; "required": false; }; "resizerColor": { "alias": "resizerColor"; "required": false; }; "enableMarker": { "alias": "enableMarker"; "required": false; }; "storePreference": { "alias": "storePreference"; "required": false; }; "updateUrl": { "alias": "updateUrl"; "required": false; }; "paramUrlName": { "alias": "paramUrlName"; "required": false; }; }, {}, ["items"], ["[ngxTitle]", "[ngxItem]", "*"], true, never>;
}