UNPKG

flowbite-angular

Version:

<div align="center"> <h1>:construction: flowbite-angular (unreleased) :construction:</h1> <p> <a href="https://flowbite.com"> <img alt="Flowbite - Tailwind CSS components" width="350" src="https://flowbite.s3.amazonaws.com/github/logo-github

69 lines (65 loc) 2.96 kB
import * as i0 from '@angular/core'; import { inject, signal, Directive } from '@angular/core'; import * as i1 from '@angular/router'; import { RouterLinkActive } from '@angular/router'; /** * Wrapping directive over RouterLinkActive. * * @usageNotes * It provides a clean way to have 'isActive' data with signal base value. * * @see `RouterLinkActive` */ class FlowbiteRouterLinkActiveDirective { /** * Getter for _isActive */ get isActive() { return this._isActive.asReadonly(); } /** * Set the RouterLinkActive's ariaCurrentWhenActive to the value passed to the component (via this Directive). */ constructor() { this.ariaCurrentValue = true; /** * `RouterLinkActive` directive */ this.routerLinkActive = inject(RouterLinkActive); /** * Updated value when the user is on the same page as routerLinkActive value */ this._isActive = signal(this.routerLinkActive.isActive); this.routerLinkActive.ariaCurrentWhenActive = this.ariaCurrentValue; } /** * Update _isActive when `RouterLinkActive`'s isActive update */ onIsActiveChange() { this._isActive.set(this.routerLinkActive.isActive); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: FlowbiteRouterLinkActiveDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); } static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.4", type: FlowbiteRouterLinkActiveDirective, isStandalone: true, selector: "[flowbiteRouterLinkActive]", host: { attributes: { "isActiveChange": "onIsActiveChange" } }, hostDirectives: [{ directive: i1.RouterLinkActive, inputs: ["routerLinkActiveOptions", "routerLinkActiveOptions", "ariaCurrentWhenActive", "ariaCurrentWhenActive", "routerLinkActive", "routerLinkActive"], outputs: ["isActiveChange", "isActiveChange"] }], ngImport: i0 }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: FlowbiteRouterLinkActiveDirective, decorators: [{ type: Directive, args: [{ standalone: true, selector: '[flowbiteRouterLinkActive]', host: { isActiveChange: 'onIsActiveChange', }, hostDirectives: [ { directive: RouterLinkActive, inputs: ['routerLinkActiveOptions', 'ariaCurrentWhenActive', 'routerLinkActive'], outputs: ['isActiveChange'], }, ], }] }], ctorParameters: () => [] }); /** * Generated bundle index. Do not edit. */ export { FlowbiteRouterLinkActiveDirective }; //# sourceMappingURL=flowbite-angular-router-link-active.mjs.map