ngx-fluent-ui-icons
Version:
Fluent UI icons library for angular
1 lines • 5.91 kB
Source Map (JSON)
{"version":3,"file":"ngx-fluent-ui-icons.mjs","sources":["../../../projects/fluent-ui-icons/src/lib/fluent-ui-icons.service.ts","../../../projects/fluent-ui-icons/src/lib/fluent-ui-icons.provider.ts","../../../projects/fluent-ui-icons/src/lib/fluent-ui-icons.component.ts","../../../projects/fluent-ui-icons/src/lib/fluent-ui-icons.module.ts","../../../projects/fluent-ui-icons/src/public-api.ts","../../../projects/fluent-ui-icons/src/ngx-fluent-ui-icons.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FluentUiIconsService {\n\n constructor() { }\n}\n","export class Icons {\r\n constructor(private icons: Object) {}\r\n}\r\n","import { Component, ElementRef, Input, Inject, ChangeDetectorRef, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { Icons } from \"./fluent-ui-icons.provider\";\r\n\r\n@Component({\r\n selector: 'fluent-ui-icon, fui',\r\n template: `<ng-content></ng-content>`,\r\n styles: [\r\n `:host {\r\n display: inline-block;\r\n width: 24px;\r\n height: 24px;\r\n fill: none;\r\n stroke-linecap: round;\r\n stroke-linejoin: round;\r\n\r\n svg {\r\n width: 100% !important;\r\n height: 100% !important;\r\n }\r\n }`\r\n ]\r\n})\r\nexport class FluentUiIconsComponent implements OnChanges {\r\n @Input() name!: string;\r\n\r\n constructor(\r\n private element: ElementRef,\r\n private changeDetector: ChangeDetectorRef,\r\n @Inject(Icons) private icons: Icons\r\n ) {}\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n // icons are provided as an array of objects because of \"multi: true\"\r\n const icons = Object.assign({}, ...(this.icons as any as object[]));\r\n const svg = icons[changes.name.currentValue] || '';\r\n\r\n if (!svg) {\r\n console.warn(`Icon not found: ${changes.name.currentValue}\\n`);\r\n }\r\n\r\n this.element.nativeElement.innerHTML = svg;\r\n this.changeDetector.markForCheck();\r\n }\r\n}\r\n","import { NgModule, ModuleWithProviders, Optional } from \"@angular/core\";\r\nimport { FluentUiIconsComponent } from './fluent-ui-icons.component';\r\nimport { Icons } from \"./fluent-ui-icons.provider\";\r\n\r\n@NgModule({\r\n declarations: [FluentUiIconsComponent],\r\n imports: [],\r\n exports: [FluentUiIconsComponent],\r\n})\r\nexport class FluentUiIconsModule {\r\n constructor(@Optional() private icons: Icons) {\r\n if (!this.icons) {\r\n throw new Error(\r\n `No icon provided. Make sure to use 'FluentUiIconsModule.pick({ ... })' when importing the module\\n`\r\n );\r\n }\r\n }\r\n\r\n static pick(icons: { [key: string]: string; }): ModuleWithProviders<FluentUiIconsModule> {\r\n return {\r\n ngModule: FluentUiIconsModule,\r\n providers: [{ provide: Icons, multi: true, useValue: icons }],\r\n };\r\n }\r\n}","/*\n * Public API Surface of fluent-ui-icons\n */\n\nexport * from './lib/fluent-ui-icons.service';\nexport * from './lib/fluent-ui-icons.component';\nexport * from './lib/fluent-ui-icons.module';\n// export * from './lib/fluent-ui-icons.library';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.Icons"],"mappings":"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"}