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
JavaScript
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