@triangular/rpg-awesome-icons
Version:
Use the cool icons from RPGAwesome in your app, fully tree-shaked and only loaded when necessary. Injected into the dom, and therefore IE compatible.
1 lines • 6.86 kB
Source Map (JSON)
{"version":3,"file":"triangular-rpg-awesome-icons.mjs","sources":["../../../projects/rpg-awesome-icons-lib/src/lib/icons.registry.ts","../../../projects/rpg-awesome-icons-lib/src/lib/icon.component.ts","../../../projects/rpg-awesome-icons-lib/src/lib/icons.module.ts","../../../projects/rpg-awesome-icons-lib/src/public_api.ts","../../../projects/rpg-awesome-icons-lib/src/triangular-rpg-awesome-icons.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { RpgAwesomeIcon } from '../icons';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RpgAwesomeIconsRegistry {\n\n private registry = new Map<string, string>();\n\n public registerIcons(icons: RpgAwesomeIcon[]): void {\n icons.forEach((icon: RpgAwesomeIcon) => this.registry.set(icon.name, icon.data));\n }\n\n public getIcon(iconName: string): string | undefined {\n if (!this.registry.has(iconName)) {\n console.warn(`We could not find the dinosaur Icon with the name ${iconName}, did you add it to the Icon registry?`);\n }\n return this.registry.get(iconName);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Inject,\n Input,\n Optional,\n ViewEncapsulation,\n} from '@angular/core';\nimport { RpgAwesomeIconsRegistry } from './icons.registry';\nimport { DOCUMENT } from '@angular/common';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'rpg-awesome-icon',\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class RpgAwesomeIconComponent {\n private svgIcon: SVGElement;\n\n @Input()\n set name(iconName: string) {\n if (this.svgIcon) {\n this.element.nativeElement.removeChild(this.svgIcon);\n }\n const svgData = this.iconsRegistry.getIcon(iconName);\n\n if (svgData) {\n this.svgIcon = this.svgElementFromString(svgData);\n this.element.nativeElement.appendChild(this.svgIcon);\n }\n }\n\n constructor(\n private element: ElementRef,\n private iconsRegistry: RpgAwesomeIconsRegistry,\n @Optional() @Inject(DOCUMENT) private document: Document,\n ) {\n }\n\n private svgElementFromString(svgContent: string): SVGElement {\n const div = this.document.createElement('DIV');\n if (div instanceof HTMLElement) {\n div.innerHTML = svgContent;\n return div.querySelector('svg') || this.document.createElementNS('http://www.w3.org/2000/svg', 'path');\n }\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { RpgAwesomeIconComponent } from './icon.component';\nimport { RpgAwesomeIconsRegistry } from './icons.registry';\n\n@NgModule({\n declarations: [],\n imports: [RpgAwesomeIconComponent],\n exports: [RpgAwesomeIconComponent]\n})\nexport class RpgAwesomeIconsModule {\n static forRoot(): ModuleWithProviders<RpgAwesomeIconsModule> {\n return {\n ngModule: RpgAwesomeIconsModule,\n providers: [\n RpgAwesomeIconsRegistry,\n ],\n };\n }\n}\n","/*\n * Public API Surface of the icons lib\n */\n\n// export * from './lib/icons'; // exported separately through the build process.\n// Otherwise tree-shaking doesn't fully work (as they would be included in the lib's fesm module\n// Which is usually what we want, see:\n// https://docs.google.com/document/d/1CZC2rcpxffTDfRDs6p1cfbmKNLA6x5O-NtkJglDaBVs/preview#heading=h.ve6e6mrugckx\nexport * from './lib/icon.component';\nexport * from './lib/icons.registry';\nexport * from './lib/icons.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}