@ng-doc/ui-kit
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 • 5 kB
Source Map (JSON)
{"version":3,"file":"ng-doc-ui-kit-components-icon.mjs","sources":["../../../../libs/ui-kit/components/icon/icon.component.ts","../../../../libs/ui-kit/components/icon/ng-doc-ui-kit-components-icon.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n inject,\n Input,\n numberAttribute,\n OnChanges,\n OnInit,\n} from '@angular/core';\nimport { NgDocCacheInterceptor } from '@ng-doc/ui-kit/interceptors';\nimport { NG_DOC_ASSETS_PATH, NG_DOC_CUSTOM_ICONS_PATH } from '@ng-doc/ui-kit/tokens';\nimport { NgDocIconSize } from '@ng-doc/ui-kit/types';\nimport { of, Subject } from 'rxjs';\nimport { catchError, startWith, switchMap } from 'rxjs/operators';\n\n@Component({\n selector: 'ng-doc-icon',\n template: '',\n styleUrls: ['./icon.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n})\nexport class NgDocIconComponent implements OnChanges, OnInit {\n /** Icon name */\n @Input()\n @HostBinding('attr.data-ng-doc-icon')\n icon: string = '';\n\n /** Custom icon name, if not set, `icon` will be used */\n @Input()\n @HostBinding('attr.data-ng-doc-custom-icon')\n customIcon: string = '';\n\n /** Icon size */\n @Input({ transform: numberAttribute })\n @HostBinding('attr.data-ng-doc-size')\n size: NgDocIconSize = 16;\n\n private readonly reload$: Subject<void> = new Subject<void>();\n private readonly assetsPath: string = inject(NG_DOC_ASSETS_PATH, { optional: true }) ?? '';\n private readonly customIconsPath: string =\n inject(NG_DOC_CUSTOM_ICONS_PATH, { optional: true }) ?? '';\n\n constructor(\n private readonly elementRef: ElementRef<HTMLElement>,\n private readonly httpClient: HttpClient,\n ) {}\n\n ngOnChanges(): void {\n this.reload$.next();\n }\n\n ngOnInit(): void {\n this.reload$\n .pipe(\n startWith(null),\n switchMap(() =>\n this.httpClient\n .get(this.href, {\n responseType: 'text',\n params: { [NgDocCacheInterceptor.TOKEN]: 'true' },\n })\n .pipe(\n catchError((e: Error) => {\n console.error(e);\n\n return of('');\n }),\n ),\n ),\n )\n .subscribe((svg: string) => (this.elementRef.nativeElement.innerHTML = svg));\n }\n\n get href(): string {\n return this.customIcon\n ? `${this.customIconsPath}/${this.customIcon}.svg#${this.customIcon}`\n : `${this.assetsPath}/icons/${this.size}/${this.icon}.svg#${this.icon}`;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}