{"version":3,"file":"ng-doc-app-directives-route-active.mjs","sources":["../../../../libs/app/directives/route-active/route-active.directive.ts","../../../../libs/app/directives/route-active/ng-doc-app-directives-route-active.ts"],"sourcesContent":["import { Directive, ElementRef, Input, Renderer2 } from '@angular/core';\nimport { Event, IsActiveMatchOptions, NavigationEnd, Router } from '@angular/router';\nimport { asArray } from '@ng-doc/core/helpers/as-array';\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\nimport { distinctUntilChanged, filter, map } from 'rxjs/operators';\n\n@Directive({\n\tselector: '[ngDocRouteActive]',\n\tstandalone: true,\n})\n@UntilDestroy()\nexport class NgDocRouteActiveDirective {\n\t@Input('ngDocRouteActive')\n\tlink: string = '';\n\n\t@Input()\n\tactiveClass: string | string[] = [];\n\n\t@Input()\n\tmatchOptions: IsActiveMatchOptions = {\n\t\tfragment: 'exact',\n\t\tpaths: 'subset',\n\t\tqueryParams: 'exact',\n\t\tmatrixParams: 'exact',\n\t};\n\n\tconstructor(\n\t\tprivate readonly elementRef: ElementRef<HTMLElement>,\n\t\tprivate readonly router: Router,\n\t\tprivate readonly renderer: Renderer2,\n\t) {\n\t\tthis.router.events\n\t\t\t.pipe(\n\t\t\t\tfilter((event: Event) => event instanceof NavigationEnd),\n\t\t\t\tmap(() => this.router.isActive(this.link, this.matchOptions)),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\tuntilDestroyed(this),\n\t\t\t)\n\t\t\t.subscribe((isActive: boolean) => {\n\t\t\t\tisActive\n\t\t\t\t\t? asArray(this.activeClass).forEach((cls: string) =>\n\t\t\t\t\t\t\tthis.renderer.addClass(this.elementRef.nativeElement, cls),\n\t\t\t\t\t  )\n\t\t\t\t\t: asArray(this.activeClass).forEach((cls: string) =>\n\t\t\t\t\t\t\tthis.renderer.removeClass(this.elementRef.nativeElement, cls),\n\t\t\t\t\t  );\n\t\t\t});\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;AAWa,IAAA,yBAAyB,GAA/B,MAAM,yBAAyB,CAAA;AAerC,IAAA,WAAA,CACkB,UAAmC,EACnC,MAAc,EACd,QAAmB,EAAA;QAFnB,IAAU,CAAA,UAAA,GAAV,UAAU;QACV,IAAM,CAAA,MAAA,GAAN,MAAM;QACN,IAAQ,CAAA,QAAA,GAAR,QAAQ;QAhB1B,IAAI,CAAA,IAAA,GAAW,EAAE;QAGjB,IAAW,CAAA,WAAA,GAAsB,EAAE;AAGnC,QAAA,IAAA,CAAA,YAAY,GAAyB;AACpC,YAAA,QAAQ,EAAE,OAAO;AACjB,YAAA,KAAK,EAAE,QAAQ;AACf,YAAA,WAAW,EAAE,OAAO;AACpB,YAAA,YAAY,EAAE,OAAO;SACrB;QAOA,IAAI,CAAC,MAAM,CAAC;AACV,aAAA,IAAI,CACJ,MAAM,CAAC,CAAC,KAAY,KAAK,KAAK,YAAY,aAAa,CAAC,EACxD,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,EAC7D,oBAAoB,EAAE,EACtB,cAAc,CAAC,IAAI,CAAC;AAEpB,aAAA,SAAS,CAAC,CAAC,QAAiB,KAAI;YAChC;AACC,kBAAE,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,GAAW,KAC9C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,GAAG,CAAC;AAE5D,kBAAE,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,GAAW,KAC9C,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,GAAG,CAAC,CAC5D;AACL,SAAC,CAAC;;8GAnCQ,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,CAAA,kBAAA,EAAA,MAAA,CAAA,EAAA,WAAA,EAAA,aAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;AAAzB,yBAAyB,GAAA,UAAA,CAAA;AADrC,IAAA,YAAY,EAAE;qCAiBgB,UAAU;QACd,MAAM;QACJ,SAAS,CAAA;AAlBzB,CAAA,EAAA,yBAAyB,CAqCrC;2FArCY,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBALrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,UAAU,EAAE,IAAI;AAChB,iBAAA;4HAIA,IAAI,EAAA,CAAA;sBADH,KAAK;uBAAC,kBAAkB;gBAIzB,WAAW,EAAA,CAAA;sBADV;gBAID,YAAY,EAAA,CAAA;sBADX;;;AClBF;;AAEG;;;;"}