ngx-router-outlet-class
Version:
A directive to add CSS class(es) to the activated/attached component's host element (hereinafter, the `route element`) of a router-outlet.
53 lines (52 loc) • 2.25 kB
TypeScript
import { OnChanges, OnDestroy, SimpleChanges } from '@angular/core';
import { RouterOutlet } from '@angular/router';
import * as i0 from "@angular/core";
export declare class NgxRouterOutletClassDirective implements OnChanges, OnDestroy {
private routerOutlet;
constructor(routerOutlet: RouterOutlet);
/**
* The class(es) to add to the router-outlet's every component's host element.
* Multiple classes can be separated by spaces.
* It will be applied to the component's host element every time its value changes
* or the component changes.
* We recommend using this input for static classes for better performance.
* @type {string}
* @memberof NgxRouterOutletClassDirective
*/
componentClass?: string;
/**
* A function to get the class(es) for a specific router-outlet's component's host element.
* The function is called with the component instance as the only argument every time
* the component changes.
* The function should return a string with the class(es) to add.
* Multiple classes can be separated by spaces.
* @type {function}
* @memberof NgxRouterOutletClassDirective
*/
dynamicClassGetter: (component: any) => string;
private componentClassList;
private classArray;
private subscription;
/**
* Split a string of classes into an array of classes.
* @param classes A string of classes separated by spaces.
* @private
*/
private splitClasses;
/**
* Set the component class(es) to the component's host element.
* @param classes
* @private
*/
private setComponentClass;
/**
* Unset the component class(es) from the component's host element.
* @param classes
* @private
*/
private unsetComponentClass;
ngOnChanges(changes: SimpleChanges): void;
ngOnDestroy(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<NgxRouterOutletClassDirective, [{ self: true; }]>;
static ɵdir: i0.ɵɵDirectiveDeclaration<NgxRouterOutletClassDirective, "router-outlet[componentClass], router-outlet[dynamicClassGetter]", never, { "componentClass": "componentClass"; "dynamicClassGetter": "dynamicClassGetter"; }, {}, never, never, false, never>;
}