@ng-doc/app
Version:
<!-- PROJECT LOGO --> <br /> <div align="center"> <a href="https://github.com/ng-doc/ng-doc"> <img src="https://ng-doc.com/assets/images/ng-doc.svg?raw=true" alt="Logo" height="150px"> </a>
1 lines • 4.68 kB
Source Map (JSON)
{"version":3,"file":"ng-doc-app-components-page-link.mjs","sources":["../../../../libs/app/components/page-link/page-link.component.ts","../../../../libs/app/components/page-link/page-link.component.html","../../../../libs/app/components/page-link/ng-doc-app-components-page-link.ts"],"sourcesContent":["import { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n inject,\n Input,\n OnChanges,\n OnInit,\n} from '@angular/core';\nimport { Params, RouterLink } from '@angular/router';\nimport { NgDocDecodeUriComponentPipe } from '@ng-doc/app/pipes';\nimport { NgDocIconComponent } from '@ng-doc/ui-kit';\nimport { WA_LOCATION } from '@ng-web-apis/common';\n\n@Component({\n selector: 'ng-doc-page-link',\n templateUrl: './page-link.component.html',\n styleUrls: ['./page-link.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [RouterLink, NgTemplateOutlet, NgDocIconComponent, NgDocDecodeUriComponentPipe],\n})\nexport class NgDocPageLinkComponent implements OnInit, OnChanges {\n @Input({ required: true })\n href: string = '';\n\n @Input()\n classes: string = '';\n\n protected isInCode: boolean = false;\n\n private link: URL | undefined;\n\n private readonly location = inject(WA_LOCATION);\n private readonly elementRef: ElementRef<HTMLElement> = inject(ElementRef);\n\n ngOnInit(): void {\n this.isInCode = this.elementRef.nativeElement.closest('code') !== null;\n }\n\n ngOnChanges(): void {\n this.link = new URL(this.href, this.location.origin);\n }\n\n get isExternalLink(): boolean {\n return this.link?.origin !== this.location.origin;\n }\n\n get path(): string {\n return (!this.isExternalLink ? this.link?.pathname : this.href) ?? '';\n }\n\n get fragment(): string | undefined {\n return this.link?.hash.replace(/^#/, '') || undefined;\n }\n\n get queryParams(): Params {\n return Object.fromEntries(this.link?.searchParams.entries() ?? []);\n }\n}\n","@if (!isExternalLink) {\n <a\n [class]=\"classes\"\n [routerLink]=\"path\"\n [fragment]=\"fragment ? (fragment | decodeUriComponent) : undefined\"\n [queryParams]=\"queryParams\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </a>\n}\n\n@if (isExternalLink) {\n <a [class]=\"classes\" [href]=\"path\" target=\"_blank\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n @if (!isInCode) {\n <ng-doc-icon icon=\"external-link\"></ng-doc-icon>\n }\n </a>\n}\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;MAsBa,sBAAsB,CAAA;AAPnC,IAAA,WAAA,GAAA;QASE,IAAA,CAAA,IAAI,GAAW,EAAE;QAGjB,IAAA,CAAA,OAAO,GAAW,EAAE;QAEV,IAAA,CAAA,QAAQ,GAAY,KAAK;AAIlB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC;AAC9B,QAAA,IAAA,CAAA,UAAU,GAA4B,MAAM,CAAC,UAAU,CAAC;AAyB1E,IAAA;IAvBC,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI;IACxE;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;IACtD;AAEA,IAAA,IAAI,cAAc,GAAA;QAChB,OAAO,IAAI,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM;IACnD;AAEA,IAAA,IAAI,IAAI,GAAA;QACN,OAAO,CAAC,CAAC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC,IAAI,KAAK,EAAE;IACvE;AAEA,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,SAAS;IACvD;AAEA,IAAA,IAAI,WAAW,GAAA;AACb,QAAA,OAAO,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;IACpE;8GApCW,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECtBnC,klBAsBA,EAAA,MAAA,EAAA,CAAA,iIAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDFY,UAAU,oOAAE,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,kBAAkB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,YAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAE,2BAA2B,EAAA,IAAA,EAAA,oBAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAE5E,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAPlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAAA,eAAA,EAGX,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC,CAAC,UAAU,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,2BAA2B,CAAC,EAAA,QAAA,EAAA,klBAAA,EAAA,MAAA,EAAA,CAAA,iIAAA,CAAA,EAAA;;sBAGvF,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;;sBAGxB;;;AE1BH;;AAEG;;;;"}