@ng-icons/core 18.0.1 → 18.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -112,16 +112,16 @@ You can then use the icon in your templates:
112
112
  As of version 18.0.0 Ng Icons nows supports standalone components. You can import icons using the `provideIcons` function which can be placed anywhere you can register providers. The optimal location
113
113
  would be in the `@Component` providers array.
114
114
 
115
- You can also import the component directly by importing `IconComponent` or the by importing `NG_ICON_DIRECTIVES`.
115
+ You can also import the component directly by importing `NgIconComponent`.
116
116
 
117
117
  ```ts
118
- import { NG_ICON_DIRECTIVES, provideIcons } from '@ng-icons/core';
118
+ import { NgIconComponent, provideIcons } from '@ng-icons/core';
119
119
  import { FeatherAirplay } from '@ng-icons/feather-icons';
120
120
  import { HeroUsers } from '@ng-icons/heroicons/outline';
121
121
 
122
122
  @Component({
123
123
  standalone: true,
124
- imports: [NG_ICON_DIRECTIVES],
124
+ imports: [NgIconComponent],
125
125
  providers: [provideIcons({ FeatherAirplay, HeroUsers })],
126
126
  })
127
127
  export class AppComponent {}
@@ -5,7 +5,7 @@ import { toUpperCamelCase } from './utils/format';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "@angular/platform-browser";
7
7
  import * as i2 from "./icon.service";
8
- export class IconComponent {
8
+ export class NgIconComponent {
9
9
  constructor(elementRef, sanitizer, iconService) {
10
10
  this.elementRef = elementRef;
11
11
  this.sanitizer = sanitizer;
@@ -32,9 +32,9 @@ export class IconComponent {
32
32
  return this._size;
33
33
  }
34
34
  }
35
- IconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: IconComponent, deps: [{ token: i0.ElementRef }, { token: i1.DomSanitizer }, { token: i2.IconService }], target: i0.ɵɵFactoryTarget.Component });
36
- IconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0", type: IconComponent, isStandalone: true, selector: "ng-icon", inputs: { name: "name", size: "size", strokeWidth: "strokeWidth", color: "color" }, host: { properties: { "innerHTML": "this.template", "style.--ng-icon__size": "this.size", "style.--ng-icon__stroke-width": "this.strokeWidth", "style.color": "this.color" } }, ngImport: i0, template: '', isInline: true, styles: [":host{display:inline-block;width:var(--ng-icon__size);height:var(--ng-icon__size)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: IconComponent, decorators: [{
35
+ NgIconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: NgIconComponent, deps: [{ token: i0.ElementRef }, { token: i1.DomSanitizer }, { token: i2.IconService }], target: i0.ɵɵFactoryTarget.Component });
36
+ NgIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0", type: NgIconComponent, isStandalone: true, selector: "ng-icon", inputs: { name: "name", size: "size", strokeWidth: "strokeWidth", color: "color" }, host: { properties: { "innerHTML": "this.template", "style.--ng-icon__size": "this.size", "style.--ng-icon__stroke-width": "this.strokeWidth", "style.color": "this.color" } }, ngImport: i0, template: '', isInline: true, styles: [":host{display:inline-block;width:var(--ng-icon__size);height:var(--ng-icon__size)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: NgIconComponent, decorators: [{
38
38
  type: Component,
39
39
  args: [{ selector: 'ng-icon', template: '', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:inline-block;width:var(--ng-icon__size);height:var(--ng-icon__size)}\n"] }]
40
40
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.DomSanitizer }, { type: i2.IconService }]; }, propDecorators: { name: [{
@@ -64,4 +64,4 @@ function coerceCssPixelValue(value) {
64
64
  }
65
65
  return /^\d+$/.test(value) ? `${value}px` : value;
66
66
  }
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvaWNvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxLQUFLLEdBQ04sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBWSxNQUFNLDJCQUEyQixDQUFDO0FBRW5FLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQVNsRCxNQUFNLE9BQU8sYUFBYTtJQThDeEIsWUFDbUIsVUFBbUMsRUFDbkMsU0FBdUIsRUFDdkIsV0FBd0I7UUFGeEIsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDbkMsY0FBUyxHQUFULFNBQVMsQ0FBYztRQUN2QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQWZuQyxVQUFLLEdBQVcsS0FBSyxDQUFDO0lBZ0IzQixDQUFDO0lBakRKLDZDQUE2QztJQUM3QyxJQUFhLElBQUksQ0FBQyxJQUF1QjtRQUN2QyxJQUFJLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFOUIsd0ZBQXdGO1FBQ3hGLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDaEQsT0FBTyxDQUFDLElBQUksQ0FDVixpQkFBaUIsSUFBSSxxRUFBcUUsQ0FDM0YsQ0FBQztZQUNGLE9BQU87U0FDUjtRQUVELG1DQUFtQztRQUNuQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQ3BELElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUM3QixDQUFDO0lBQ0osQ0FBQztJQUtELGtDQUFrQztJQUNsQyxJQUVJLElBQUksQ0FBQyxJQUFZO1FBQ25CLDREQUE0RDtRQUM1RCxJQUFJLENBQUMsS0FBSyxHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQzs7MEdBaENVLGFBQWE7OEZBQWIsYUFBYSx1VUFMZCxFQUFFOzJGQUtELGFBQWE7a0JBUHpCLFNBQVM7K0JBQ0UsU0FBUyxZQUNULEVBQUUsY0FDQSxJQUFJLG1CQUVDLHVCQUF1QixDQUFDLE1BQU07c0pBSWxDLElBQUk7c0JBQWhCLEtBQUs7Z0JBa0JvQixRQUFRO3NCQUFqQyxXQUFXO3VCQUFDLFdBQVc7Z0JBS3BCLElBQUk7c0JBRlAsV0FBVzt1QkFBQyx1QkFBdUI7O3NCQUNuQyxLQUFLO2dCQWVOLFdBQVc7c0JBRlYsV0FBVzt1QkFBQywrQkFBK0I7O3NCQUMzQyxLQUFLO2dCQU1OLEtBQUs7c0JBRkosV0FBVzt1QkFBQyxhQUFhOztzQkFDekIsS0FBSzs7QUFVUixTQUFTLG1CQUFtQixDQUFDLEtBQWE7SUFDeEMsSUFBSSxLQUFLLElBQUksSUFBSSxFQUFFO1FBQ2pCLE9BQU8sRUFBRSxDQUFDO0tBQ1g7SUFFRCxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUNwRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IEljb25OYW1lIH0gZnJvbSAnLi9pY29uLW5hbWUnO1xuaW1wb3J0IHsgSWNvblNlcnZpY2UgfSBmcm9tICcuL2ljb24uc2VydmljZSc7XG5pbXBvcnQgeyB0b1VwcGVyQ2FtZWxDYXNlIH0gZnJvbSAnLi91dGlscy9mb3JtYXQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZy1pY29uJyxcbiAgdGVtcGxhdGU6ICcnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzdHlsZVVybHM6IFsnLi9pY29uLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBJY29uQ29tcG9uZW50IHtcbiAgLyoqIERlZmluZSB0aGUgbmFtZSBvZiB0aGUgaWNvbiB0byBkaXNwbGF5ICovXG4gIEBJbnB1dCgpIHNldCBuYW1lKG5hbWU6IEljb25OYW1lIHwgc3RyaW5nKSB7XG4gICAgbmFtZSA9IHRvVXBwZXJDYW1lbENhc2UobmFtZSk7XG5cbiAgICAvLyBpZiB0aGVyZSBpcyBubyBpY29uIHdpdGggdGhpcyBuYW1lIHdhcm4gdGhlIHVzZXIgYXMgdGhleSBwcm9iYWJseSBmb3Jnb3QgdG8gaW1wb3J0IGl0XG4gICAgaWYgKCF0aGlzLmljb25TZXJ2aWNlLmljb25zLmhhc093blByb3BlcnR5KG5hbWUpKSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgIGBObyBpY29uIG5hbWVkICR7bmFtZX0gd2FzIGZvdW5kLiBZb3UgbWF5IG5lZWQgdG8gaW1wb3J0IGl0IHVzaW5nIHRoZSB3aXRoSWNvbnMgZnVuY3Rpb24uYCxcbiAgICAgICk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gaW5zZXJ0IHRoZSBTVkcgaW50byB0aGUgdGVtcGxhdGVcbiAgICB0aGlzLnRlbXBsYXRlID0gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoXG4gICAgICB0aGlzLmljb25TZXJ2aWNlLmljb25zW25hbWVdLFxuICAgICk7XG4gIH1cblxuICAvKiogU3RvcmUgdGhlIGZvcm1hdHRlZCBpY29uIG5hbWUgKi9cbiAgQEhvc3RCaW5kaW5nKCdpbm5lckhUTUwnKSB0ZW1wbGF0ZT86IFNhZmVIdG1sO1xuXG4gIC8qKiBEZWZpbmUgdGhlIHNpemUgb2YgdGhlIGljb24gKi9cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS4tLW5nLWljb25fX3NpemUnKVxuICBASW5wdXQoKVxuICBzZXQgc2l6ZShzaXplOiBzdHJpbmcpIHtcbiAgICAvLyBpZiB0aGUgc2l6ZSBvbmx5IGNvbnRhaW5zIG51bWJlcnMsIGFzc3VtZSBpdCBpcyBpbiBwaXhlbHNcbiAgICB0aGlzLl9zaXplID0gY29lcmNlQ3NzUGl4ZWxWYWx1ZShzaXplKTtcbiAgfVxuXG4gIGdldCBzaXplKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3NpemU7XG4gIH1cblxuICBwcml2YXRlIF9zaXplOiBzdHJpbmcgPSAnMWVtJztcblxuICAvKiogRGVmaW5lIHRoZSBzdHJva2Utd2lkdGggb2YgdGhlIGljb24gKi9cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS4tLW5nLWljb25fX3N0cm9rZS13aWR0aCcpXG4gIEBJbnB1dCgpXG4gIHN0cm9rZVdpZHRoPzogc3RyaW5nIHwgbnVtYmVyO1xuXG4gIC8qKiBEZWZpbmUgdGhlIGNvbG9yIG9mIHRoZSBpY29uICovXG4gIEBIb3N0QmluZGluZygnc3R5bGUuY29sb3InKVxuICBASW5wdXQoKVxuICBjb2xvcj86IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBpY29uU2VydmljZTogSWNvblNlcnZpY2UsXG4gICkge31cbn1cblxuZnVuY3Rpb24gY29lcmNlQ3NzUGl4ZWxWYWx1ZSh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICByZXR1cm4gL15cXGQrJC8udGVzdCh2YWx1ZSkgPyBgJHt2YWx1ZX1weGAgOiB2YWx1ZTtcbn1cbiJdfQ==
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvaWNvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxLQUFLLEdBQ04sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBWSxNQUFNLDJCQUEyQixDQUFDO0FBRW5FLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQVNsRCxNQUFNLE9BQU8sZUFBZTtJQThDMUIsWUFDbUIsVUFBbUMsRUFDbkMsU0FBdUIsRUFDdkIsV0FBd0I7UUFGeEIsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDbkMsY0FBUyxHQUFULFNBQVMsQ0FBYztRQUN2QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQWZuQyxVQUFLLEdBQVcsS0FBSyxDQUFDO0lBZ0IzQixDQUFDO0lBakRKLDZDQUE2QztJQUM3QyxJQUFhLElBQUksQ0FBQyxJQUF1QjtRQUN2QyxJQUFJLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFOUIsd0ZBQXdGO1FBQ3hGLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDaEQsT0FBTyxDQUFDLElBQUksQ0FDVixpQkFBaUIsSUFBSSxxRUFBcUUsQ0FDM0YsQ0FBQztZQUNGLE9BQU87U0FDUjtRQUVELG1DQUFtQztRQUNuQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQ3BELElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUM3QixDQUFDO0lBQ0osQ0FBQztJQUtELGtDQUFrQztJQUNsQyxJQUVJLElBQUksQ0FBQyxJQUFZO1FBQ25CLDREQUE0RDtRQUM1RCxJQUFJLENBQUMsS0FBSyxHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQzs7NEdBaENVLGVBQWU7Z0dBQWYsZUFBZSx1VUFMaEIsRUFBRTsyRkFLRCxlQUFlO2tCQVAzQixTQUFTOytCQUNFLFNBQVMsWUFDVCxFQUFFLGNBQ0EsSUFBSSxtQkFFQyx1QkFBdUIsQ0FBQyxNQUFNO3NKQUlsQyxJQUFJO3NCQUFoQixLQUFLO2dCQWtCb0IsUUFBUTtzQkFBakMsV0FBVzt1QkFBQyxXQUFXO2dCQUtwQixJQUFJO3NCQUZQLFdBQVc7dUJBQUMsdUJBQXVCOztzQkFDbkMsS0FBSztnQkFlTixXQUFXO3NCQUZWLFdBQVc7dUJBQUMsK0JBQStCOztzQkFDM0MsS0FBSztnQkFNTixLQUFLO3NCQUZKLFdBQVc7dUJBQUMsYUFBYTs7c0JBQ3pCLEtBQUs7O0FBVVIsU0FBUyxtQkFBbUIsQ0FBQyxLQUFhO0lBQ3hDLElBQUksS0FBSyxJQUFJLElBQUksRUFBRTtRQUNqQixPQUFPLEVBQUUsQ0FBQztLQUNYO0lBRUQsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7QUFDcEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBJY29uTmFtZSB9IGZyb20gJy4vaWNvbi1uYW1lJztcbmltcG9ydCB7IEljb25TZXJ2aWNlIH0gZnJvbSAnLi9pY29uLnNlcnZpY2UnO1xuaW1wb3J0IHsgdG9VcHBlckNhbWVsQ2FzZSB9IGZyb20gJy4vdXRpbHMvZm9ybWF0JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmctaWNvbicsXG4gIHRlbXBsYXRlOiAnJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc3R5bGVVcmxzOiBbJy4vaWNvbi5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTmdJY29uQ29tcG9uZW50IHtcbiAgLyoqIERlZmluZSB0aGUgbmFtZSBvZiB0aGUgaWNvbiB0byBkaXNwbGF5ICovXG4gIEBJbnB1dCgpIHNldCBuYW1lKG5hbWU6IEljb25OYW1lIHwgc3RyaW5nKSB7XG4gICAgbmFtZSA9IHRvVXBwZXJDYW1lbENhc2UobmFtZSk7XG5cbiAgICAvLyBpZiB0aGVyZSBpcyBubyBpY29uIHdpdGggdGhpcyBuYW1lIHdhcm4gdGhlIHVzZXIgYXMgdGhleSBwcm9iYWJseSBmb3Jnb3QgdG8gaW1wb3J0IGl0XG4gICAgaWYgKCF0aGlzLmljb25TZXJ2aWNlLmljb25zLmhhc093blByb3BlcnR5KG5hbWUpKSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgIGBObyBpY29uIG5hbWVkICR7bmFtZX0gd2FzIGZvdW5kLiBZb3UgbWF5IG5lZWQgdG8gaW1wb3J0IGl0IHVzaW5nIHRoZSB3aXRoSWNvbnMgZnVuY3Rpb24uYCxcbiAgICAgICk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gaW5zZXJ0IHRoZSBTVkcgaW50byB0aGUgdGVtcGxhdGVcbiAgICB0aGlzLnRlbXBsYXRlID0gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoXG4gICAgICB0aGlzLmljb25TZXJ2aWNlLmljb25zW25hbWVdLFxuICAgICk7XG4gIH1cblxuICAvKiogU3RvcmUgdGhlIGZvcm1hdHRlZCBpY29uIG5hbWUgKi9cbiAgQEhvc3RCaW5kaW5nKCdpbm5lckhUTUwnKSB0ZW1wbGF0ZT86IFNhZmVIdG1sO1xuXG4gIC8qKiBEZWZpbmUgdGhlIHNpemUgb2YgdGhlIGljb24gKi9cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS4tLW5nLWljb25fX3NpemUnKVxuICBASW5wdXQoKVxuICBzZXQgc2l6ZShzaXplOiBzdHJpbmcpIHtcbiAgICAvLyBpZiB0aGUgc2l6ZSBvbmx5IGNvbnRhaW5zIG51bWJlcnMsIGFzc3VtZSBpdCBpcyBpbiBwaXhlbHNcbiAgICB0aGlzLl9zaXplID0gY29lcmNlQ3NzUGl4ZWxWYWx1ZShzaXplKTtcbiAgfVxuXG4gIGdldCBzaXplKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3NpemU7XG4gIH1cblxuICBwcml2YXRlIF9zaXplOiBzdHJpbmcgPSAnMWVtJztcblxuICAvKiogRGVmaW5lIHRoZSBzdHJva2Utd2lkdGggb2YgdGhlIGljb24gKi9cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS4tLW5nLWljb25fX3N0cm9rZS13aWR0aCcpXG4gIEBJbnB1dCgpXG4gIHN0cm9rZVdpZHRoPzogc3RyaW5nIHwgbnVtYmVyO1xuXG4gIC8qKiBEZWZpbmUgdGhlIGNvbG9yIG9mIHRoZSBpY29uICovXG4gIEBIb3N0QmluZGluZygnc3R5bGUuY29sb3InKVxuICBASW5wdXQoKVxuICBjb2xvcj86IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBpY29uU2VydmljZTogSWNvblNlcnZpY2UsXG4gICkge31cbn1cblxuZnVuY3Rpb24gY29lcmNlQ3NzUGl4ZWxWYWx1ZSh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICByZXR1cm4gL15cXGQrJC8udGVzdCh2YWx1ZSkgPyBgJHt2YWx1ZX1weGAgOiB2YWx1ZTtcbn1cbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import { NgModule } from '@angular/core';
2
- import { IconComponent } from './icon.component';
2
+ import { NgIconComponent } from './icon.component';
3
3
  import { IconService } from './icon.service';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "./icon.service";
@@ -21,17 +21,13 @@ export class NgIconsModule {
21
21
  }
22
22
  }
23
23
  NgIconsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: NgIconsModule, deps: [{ token: i1.IconService }], target: i0.ɵɵFactoryTarget.NgModule });
24
- NgIconsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.0", ngImport: i0, type: NgIconsModule, imports: [IconComponent], exports: [IconComponent] });
25
- NgIconsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: NgIconsModule, imports: [IconComponent] });
24
+ NgIconsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.0", ngImport: i0, type: NgIconsModule, imports: [NgIconComponent], exports: [NgIconComponent] });
25
+ NgIconsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: NgIconsModule, imports: [NgIconComponent] });
26
26
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: NgIconsModule, decorators: [{
27
27
  type: NgModule,
28
28
  args: [{
29
- imports: [IconComponent],
30
- exports: [IconComponent],
29
+ imports: [NgIconComponent],
30
+ exports: [NgIconComponent],
31
31
  }]
32
32
  }], ctorParameters: function () { return [{ type: i1.IconService }]; } });
33
- /**
34
- * Exporting component array for support with standalone components
35
- */
36
- export const NG_ICON_DIRECTIVES = IconComponent;
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvaWNvbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBTTdDLE1BQU0sT0FBTyxhQUFhO0lBQ3hCLFlBQTZCLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ25ELElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDcEQsTUFBTSxJQUFJLEtBQUssQ0FDYixxSEFBcUgsQ0FDdEgsQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsU0FBUyxDQUNkLEtBQTZCO1FBRTdCLFdBQVcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFNUIsT0FBTyxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsQ0FBQztJQUNyQyxDQUFDOzswR0FwQlUsYUFBYTsyR0FBYixhQUFhLFlBSGQsYUFBYSxhQUNiLGFBQWE7MkdBRVosYUFBYSxZQUhkLGFBQWE7MkZBR1osYUFBYTtrQkFKekIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxhQUFhLENBQUM7b0JBQ3hCLE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQztpQkFDekI7O0FBd0JEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuL2ljb24uY29tcG9uZW50JztcbmltcG9ydCB7IEljb25TZXJ2aWNlIH0gZnJvbSAnLi9pY29uLnNlcnZpY2UnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbSWNvbkNvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtJY29uQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgTmdJY29uc01vZHVsZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgaWNvblNlcnZpY2U6IEljb25TZXJ2aWNlKSB7XG4gICAgaWYgKE9iamVjdC5rZXlzKHRoaXMuaWNvblNlcnZpY2UuaWNvbnMpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnTm8gaWNvbnMgaGF2ZSBiZWVuIHByb3ZpZGVkLiBFbnN1cmUgdG8gaW5jbHVkZSBzb21lIGljb25zIGJ5IGltcG9ydGluZyB0aGVtIHVzaW5nIE5nSWNvbnNNb2R1bGUud2l0aEljb25zKHsgLi4uIH0pLicsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZpbmUgdGhlIGljb25zIHRoYXQgd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgYXBwbGljYXRpb24uIFRoaXMgYWxsb3dzIHVudXNlZCBpY29ucyB0b1xuICAgKiBiZSB0cmVlLXNoYWtlbiBhd2F5IHRvIHJlZHVjZSBidW5kbGUgc2l6ZVxuICAgKiBAcGFyYW0gaWNvbnMgVGhlIG9iamVjdCBjb250YWluaW5nIHRoZSByZXF1aXJlZCBpY29uc1xuICAgKi9cbiAgc3RhdGljIHdpdGhJY29ucyhcbiAgICBpY29uczogUmVjb3JkPHN0cmluZywgc3RyaW5nPixcbiAgKTogTW9kdWxlV2l0aFByb3ZpZGVyczxOZ0ljb25zTW9kdWxlPiB7XG4gICAgSWNvblNlcnZpY2UuYWRkSWNvbnMoaWNvbnMpO1xuXG4gICAgcmV0dXJuIHsgbmdNb2R1bGU6IE5nSWNvbnNNb2R1bGUgfTtcbiAgfVxufVxuXG4vKipcbiAqIEV4cG9ydGluZyBjb21wb25lbnQgYXJyYXkgZm9yIHN1cHBvcnQgd2l0aCBzdGFuZGFsb25lIGNvbXBvbmVudHNcbiAqL1xuZXhwb3J0IGNvbnN0IE5HX0lDT05fRElSRUNUSVZFUyA9IEljb25Db21wb25lbnQ7XG4iXX0=
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvaWNvbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBTTdDLE1BQU0sT0FBTyxhQUFhO0lBQ3hCLFlBQTZCLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ25ELElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDcEQsTUFBTSxJQUFJLEtBQUssQ0FDYixxSEFBcUgsQ0FDdEgsQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsU0FBUyxDQUNkLEtBQTZCO1FBRTdCLFdBQVcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFNUIsT0FBTyxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsQ0FBQztJQUNyQyxDQUFDOzswR0FwQlUsYUFBYTsyR0FBYixhQUFhLFlBSGQsZUFBZSxhQUNmLGVBQWU7MkdBRWQsYUFBYSxZQUhkLGVBQWU7MkZBR2QsYUFBYTtrQkFKekIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUM7b0JBQzFCLE9BQU8sRUFBRSxDQUFDLGVBQWUsQ0FBQztpQkFDM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdJY29uQ29tcG9uZW50IH0gZnJvbSAnLi9pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJY29uU2VydmljZSB9IGZyb20gJy4vaWNvbi5zZXJ2aWNlJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW05nSWNvbkNvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtOZ0ljb25Db21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ0ljb25zTW9kdWxlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBpY29uU2VydmljZTogSWNvblNlcnZpY2UpIHtcbiAgICBpZiAoT2JqZWN0LmtleXModGhpcy5pY29uU2VydmljZS5pY29ucykubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdObyBpY29ucyBoYXZlIGJlZW4gcHJvdmlkZWQuIEVuc3VyZSB0byBpbmNsdWRlIHNvbWUgaWNvbnMgYnkgaW1wb3J0aW5nIHRoZW0gdXNpbmcgTmdJY29uc01vZHVsZS53aXRoSWNvbnMoeyAuLi4gfSkuJyxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIERlZmluZSB0aGUgaWNvbnMgdGhhdCB3aWxsIGJlIGluY2x1ZGVkIGluIHRoZSBhcHBsaWNhdGlvbi4gVGhpcyBhbGxvd3MgdW51c2VkIGljb25zIHRvXG4gICAqIGJlIHRyZWUtc2hha2VuIGF3YXkgdG8gcmVkdWNlIGJ1bmRsZSBzaXplXG4gICAqIEBwYXJhbSBpY29ucyBUaGUgb2JqZWN0IGNvbnRhaW5pbmcgdGhlIHJlcXVpcmVkIGljb25zXG4gICAqL1xuICBzdGF0aWMgd2l0aEljb25zKFxuICAgIGljb25zOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+LFxuICApOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE5nSWNvbnNNb2R1bGU+IHtcbiAgICBJY29uU2VydmljZS5hZGRJY29ucyhpY29ucyk7XG5cbiAgICByZXR1cm4geyBuZ01vZHVsZTogTmdJY29uc01vZHVsZSB9O1xuICB9XG59XG4iXX0=
@@ -47,7 +47,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImpor
47
47
  }]
48
48
  }] });
49
49
 
50
- class IconComponent {
50
+ class NgIconComponent {
51
51
  constructor(elementRef, sanitizer, iconService) {
52
52
  this.elementRef = elementRef;
53
53
  this.sanitizer = sanitizer;
@@ -74,9 +74,9 @@ class IconComponent {
74
74
  return this._size;
75
75
  }
76
76
  }
77
- IconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: IconComponent, deps: [{ token: i0.ElementRef }, { token: i1.DomSanitizer }, { token: IconService }], target: i0.ɵɵFactoryTarget.Component });
78
- IconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0", type: IconComponent, isStandalone: true, selector: "ng-icon", inputs: { name: "name", size: "size", strokeWidth: "strokeWidth", color: "color" }, host: { properties: { "innerHTML": "this.template", "style.--ng-icon__size": "this.size", "style.--ng-icon__stroke-width": "this.strokeWidth", "style.color": "this.color" } }, ngImport: i0, template: '', isInline: true, styles: [":host{display:inline-block;width:var(--ng-icon__size);height:var(--ng-icon__size)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
79
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: IconComponent, decorators: [{
77
+ NgIconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: NgIconComponent, deps: [{ token: i0.ElementRef }, { token: i1.DomSanitizer }, { token: IconService }], target: i0.ɵɵFactoryTarget.Component });
78
+ NgIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0", type: NgIconComponent, isStandalone: true, selector: "ng-icon", inputs: { name: "name", size: "size", strokeWidth: "strokeWidth", color: "color" }, host: { properties: { "innerHTML": "this.template", "style.--ng-icon__size": "this.size", "style.--ng-icon__stroke-width": "this.strokeWidth", "style.color": "this.color" } }, ngImport: i0, template: '', isInline: true, styles: [":host{display:inline-block;width:var(--ng-icon__size);height:var(--ng-icon__size)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: NgIconComponent, decorators: [{
80
80
  type: Component,
81
81
  args: [{ selector: 'ng-icon', template: '', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:inline-block;width:var(--ng-icon__size);height:var(--ng-icon__size)}\n"] }]
82
82
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.DomSanitizer }, { type: IconService }]; }, propDecorators: { name: [{
@@ -125,19 +125,15 @@ class NgIconsModule {
125
125
  }
126
126
  }
127
127
  NgIconsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: NgIconsModule, deps: [{ token: IconService }], target: i0.ɵɵFactoryTarget.NgModule });
128
- NgIconsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.0", ngImport: i0, type: NgIconsModule, imports: [IconComponent], exports: [IconComponent] });
129
- NgIconsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: NgIconsModule, imports: [IconComponent] });
128
+ NgIconsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.0", ngImport: i0, type: NgIconsModule, imports: [NgIconComponent], exports: [NgIconComponent] });
129
+ NgIconsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: NgIconsModule, imports: [NgIconComponent] });
130
130
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: NgIconsModule, decorators: [{
131
131
  type: NgModule,
132
132
  args: [{
133
- imports: [IconComponent],
134
- exports: [IconComponent],
133
+ imports: [NgIconComponent],
134
+ exports: [NgIconComponent],
135
135
  }]
136
136
  }], ctorParameters: function () { return [{ type: IconService }]; } });
137
- /**
138
- * Exporting component array for support with standalone components
139
- */
140
- const NG_ICON_DIRECTIVES = IconComponent;
141
137
 
142
138
  function provideIcons(icons) {
143
139
  return [
@@ -153,5 +149,5 @@ const ICONS_TOKEN = new InjectionToken('noop icons token');
153
149
  * Generated bundle index. Do not edit.
154
150
  */
155
151
 
156
- export { IconComponent, NG_ICON_DIRECTIVES, NgIconsModule, provideIcons };
152
+ export { NgIconComponent, NgIconsModule, provideIcons };
157
153
  //# sourceMappingURL=ng-icons-core.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ng-icons-core.mjs","sources":["../../../../packages/core/src/lib/utils/format.ts","../../../../packages/core/src/lib/icon.service.ts","../../../../packages/core/src/lib/icon.component.ts","../../../../packages/core/src/lib/icon.module.ts","../../../../packages/core/src/lib/icon.provider.ts","../../../../packages/core/src/ng-icons-core.ts"],"sourcesContent":["/**\n * Hyphenated to UpperCamelCase\n */\nexport function toUpperCamelCase(str: string): string {\n return toCapitalCase(toPropertyName(str));\n}\n\n/**\n * Hyphenated to lowerCamelCase\n */\nexport function toPropertyName(str: string): string {\n return str\n .replace(/([^a-zA-Z0-9])+(.)?/g, (_, __, chr) =>\n chr ? chr.toUpperCase() : '',\n )\n .replace(/[^a-zA-Z\\d]/g, '')\n .replace(/^([A-Z])/, m => m.toLowerCase());\n}\n\n/**\n * Capitalizes the first letter of a string\n */\nexport function toCapitalCase(str: string): string {\n return str.charAt(0).toUpperCase() + str.substr(1);\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class IconService {\n /** Store the available icons. */\n private static icons: Readonly<Record<string, string>> = {};\n\n /** Access the icons in the class. */\n get icons(): Readonly<Record<string, string>> {\n return IconService.icons;\n }\n\n /**\n * Insert icons into the iconset\n */\n static addIcons(icons: Record<string, string>): void {\n IconService.icons = { ...IconService.icons, ...icons };\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Input,\n} from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { IconName } from './icon-name';\nimport { IconService } from './icon.service';\nimport { toUpperCamelCase } from './utils/format';\n\n@Component({\n selector: 'ng-icon',\n template: '',\n standalone: true,\n styleUrls: ['./icon.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IconComponent {\n /** Define the name of the icon to display */\n @Input() set name(name: IconName | string) {\n name = toUpperCamelCase(name);\n\n // if there is no icon with this name warn the user as they probably forgot to import it\n if (!this.iconService.icons.hasOwnProperty(name)) {\n console.warn(\n `No icon named ${name} was found. You may need to import it using the withIcons function.`,\n );\n return;\n }\n\n // insert the SVG into the template\n this.template = this.sanitizer.bypassSecurityTrustHtml(\n this.iconService.icons[name],\n );\n }\n\n /** Store the formatted icon name */\n @HostBinding('innerHTML') template?: SafeHtml;\n\n /** Define the size of the icon */\n @HostBinding('style.--ng-icon__size')\n @Input()\n set size(size: string) {\n // if the size only contains numbers, assume it is in pixels\n this._size = coerceCssPixelValue(size);\n }\n\n get size(): string {\n return this._size;\n }\n\n private _size: string = '1em';\n\n /** Define the stroke-width of the icon */\n @HostBinding('style.--ng-icon__stroke-width')\n @Input()\n strokeWidth?: string | number;\n\n /** Define the color of the icon */\n @HostBinding('style.color')\n @Input()\n color?: string;\n\n constructor(\n private readonly elementRef: ElementRef<HTMLElement>,\n private readonly sanitizer: DomSanitizer,\n private readonly iconService: IconService,\n ) {}\n}\n\nfunction coerceCssPixelValue(value: string): string {\n if (value == null) {\n return '';\n }\n\n return /^\\d+$/.test(value) ? `${value}px` : value;\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { IconComponent } from './icon.component';\nimport { IconService } from './icon.service';\n\n@NgModule({\n imports: [IconComponent],\n exports: [IconComponent],\n})\nexport class NgIconsModule {\n constructor(private readonly iconService: IconService) {\n if (Object.keys(this.iconService.icons).length === 0) {\n throw new Error(\n 'No icons have been provided. Ensure to include some icons by importing them using NgIconsModule.withIcons({ ... }).',\n );\n }\n }\n\n /**\n * Define the icons that will be included in the application. This allows unused icons to\n * be tree-shaken away to reduce bundle size\n * @param icons The object containing the required icons\n */\n static withIcons(\n icons: Record<string, string>,\n ): ModuleWithProviders<NgIconsModule> {\n IconService.addIcons(icons);\n\n return { ngModule: NgIconsModule };\n }\n}\n\n/**\n * Exporting component array for support with standalone components\n */\nexport const NG_ICON_DIRECTIVES = IconComponent;\n","import { InjectionToken, Provider } from '@angular/core';\nimport { IconService } from './icon.service';\n\nexport function provideIcons(icons: Record<string, string>): Provider[] {\n return [\n {\n provide: ICONS_TOKEN,\n useFactory: () => IconService.addIcons(icons),\n },\n ];\n}\n\nconst ICONS_TOKEN = new InjectionToken('noop icons token');\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.IconService","i1.IconService"],"mappings":"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"}
1
+ {"version":3,"file":"ng-icons-core.mjs","sources":["../../../../packages/core/src/lib/utils/format.ts","../../../../packages/core/src/lib/icon.service.ts","../../../../packages/core/src/lib/icon.component.ts","../../../../packages/core/src/lib/icon.module.ts","../../../../packages/core/src/lib/icon.provider.ts","../../../../packages/core/src/ng-icons-core.ts"],"sourcesContent":["/**\n * Hyphenated to UpperCamelCase\n */\nexport function toUpperCamelCase(str: string): string {\n return toCapitalCase(toPropertyName(str));\n}\n\n/**\n * Hyphenated to lowerCamelCase\n */\nexport function toPropertyName(str: string): string {\n return str\n .replace(/([^a-zA-Z0-9])+(.)?/g, (_, __, chr) =>\n chr ? chr.toUpperCase() : '',\n )\n .replace(/[^a-zA-Z\\d]/g, '')\n .replace(/^([A-Z])/, m => m.toLowerCase());\n}\n\n/**\n * Capitalizes the first letter of a string\n */\nexport function toCapitalCase(str: string): string {\n return str.charAt(0).toUpperCase() + str.substr(1);\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class IconService {\n /** Store the available icons. */\n private static icons: Readonly<Record<string, string>> = {};\n\n /** Access the icons in the class. */\n get icons(): Readonly<Record<string, string>> {\n return IconService.icons;\n }\n\n /**\n * Insert icons into the iconset\n */\n static addIcons(icons: Record<string, string>): void {\n IconService.icons = { ...IconService.icons, ...icons };\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Input,\n} from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { IconName } from './icon-name';\nimport { IconService } from './icon.service';\nimport { toUpperCamelCase } from './utils/format';\n\n@Component({\n selector: 'ng-icon',\n template: '',\n standalone: true,\n styleUrls: ['./icon.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgIconComponent {\n /** Define the name of the icon to display */\n @Input() set name(name: IconName | string) {\n name = toUpperCamelCase(name);\n\n // if there is no icon with this name warn the user as they probably forgot to import it\n if (!this.iconService.icons.hasOwnProperty(name)) {\n console.warn(\n `No icon named ${name} was found. You may need to import it using the withIcons function.`,\n );\n return;\n }\n\n // insert the SVG into the template\n this.template = this.sanitizer.bypassSecurityTrustHtml(\n this.iconService.icons[name],\n );\n }\n\n /** Store the formatted icon name */\n @HostBinding('innerHTML') template?: SafeHtml;\n\n /** Define the size of the icon */\n @HostBinding('style.--ng-icon__size')\n @Input()\n set size(size: string) {\n // if the size only contains numbers, assume it is in pixels\n this._size = coerceCssPixelValue(size);\n }\n\n get size(): string {\n return this._size;\n }\n\n private _size: string = '1em';\n\n /** Define the stroke-width of the icon */\n @HostBinding('style.--ng-icon__stroke-width')\n @Input()\n strokeWidth?: string | number;\n\n /** Define the color of the icon */\n @HostBinding('style.color')\n @Input()\n color?: string;\n\n constructor(\n private readonly elementRef: ElementRef<HTMLElement>,\n private readonly sanitizer: DomSanitizer,\n private readonly iconService: IconService,\n ) {}\n}\n\nfunction coerceCssPixelValue(value: string): string {\n if (value == null) {\n return '';\n }\n\n return /^\\d+$/.test(value) ? `${value}px` : value;\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { NgIconComponent } from './icon.component';\nimport { IconService } from './icon.service';\n\n@NgModule({\n imports: [NgIconComponent],\n exports: [NgIconComponent],\n})\nexport class NgIconsModule {\n constructor(private readonly iconService: IconService) {\n if (Object.keys(this.iconService.icons).length === 0) {\n throw new Error(\n 'No icons have been provided. Ensure to include some icons by importing them using NgIconsModule.withIcons({ ... }).',\n );\n }\n }\n\n /**\n * Define the icons that will be included in the application. This allows unused icons to\n * be tree-shaken away to reduce bundle size\n * @param icons The object containing the required icons\n */\n static withIcons(\n icons: Record<string, string>,\n ): ModuleWithProviders<NgIconsModule> {\n IconService.addIcons(icons);\n\n return { ngModule: NgIconsModule };\n }\n}\n","import { InjectionToken, Provider } from '@angular/core';\nimport { IconService } from './icon.service';\n\nexport function provideIcons(icons: Record<string, string>): Provider[] {\n return [\n {\n provide: ICONS_TOKEN,\n useFactory: () => IconService.addIcons(icons),\n },\n ];\n}\n\nconst ICONS_TOKEN = new InjectionToken('noop icons token');\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.IconService","i1.IconService"],"mappings":"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"}
@@ -47,7 +47,7 @@ function toCapitalCase(str) {
47
47
  return str.charAt(0).toUpperCase() + str.substr(1);
48
48
  }
49
49
 
50
- class IconComponent {
50
+ class NgIconComponent {
51
51
  constructor(elementRef, sanitizer, iconService) {
52
52
  this.elementRef = elementRef;
53
53
  this.sanitizer = sanitizer;
@@ -74,9 +74,9 @@ class IconComponent {
74
74
  return this._size;
75
75
  }
76
76
  }
77
- IconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: IconComponent, deps: [{ token: i0.ElementRef }, { token: i1.DomSanitizer }, { token: IconService }], target: i0.ɵɵFactoryTarget.Component });
78
- IconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0", type: IconComponent, isStandalone: true, selector: "ng-icon", inputs: { name: "name", size: "size", strokeWidth: "strokeWidth", color: "color" }, host: { properties: { "innerHTML": "this.template", "style.--ng-icon__size": "this.size", "style.--ng-icon__stroke-width": "this.strokeWidth", "style.color": "this.color" } }, ngImport: i0, template: '', isInline: true, styles: [":host{display:inline-block;width:var(--ng-icon__size);height:var(--ng-icon__size)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
79
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: IconComponent, decorators: [{
77
+ NgIconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: NgIconComponent, deps: [{ token: i0.ElementRef }, { token: i1.DomSanitizer }, { token: IconService }], target: i0.ɵɵFactoryTarget.Component });
78
+ NgIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0", type: NgIconComponent, isStandalone: true, selector: "ng-icon", inputs: { name: "name", size: "size", strokeWidth: "strokeWidth", color: "color" }, host: { properties: { "innerHTML": "this.template", "style.--ng-icon__size": "this.size", "style.--ng-icon__stroke-width": "this.strokeWidth", "style.color": "this.color" } }, ngImport: i0, template: '', isInline: true, styles: [":host{display:inline-block;width:var(--ng-icon__size);height:var(--ng-icon__size)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: NgIconComponent, decorators: [{
80
80
  type: Component,
81
81
  args: [{ selector: 'ng-icon', template: '', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:inline-block;width:var(--ng-icon__size);height:var(--ng-icon__size)}\n"] }]
82
82
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.DomSanitizer }, { type: IconService }]; }, propDecorators: { name: [{
@@ -125,19 +125,15 @@ class NgIconsModule {
125
125
  }
126
126
  }
127
127
  NgIconsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: NgIconsModule, deps: [{ token: IconService }], target: i0.ɵɵFactoryTarget.NgModule });
128
- NgIconsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.0", ngImport: i0, type: NgIconsModule, imports: [IconComponent], exports: [IconComponent] });
129
- NgIconsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: NgIconsModule, imports: [IconComponent] });
128
+ NgIconsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.0", ngImport: i0, type: NgIconsModule, imports: [NgIconComponent], exports: [NgIconComponent] });
129
+ NgIconsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: NgIconsModule, imports: [NgIconComponent] });
130
130
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: NgIconsModule, decorators: [{
131
131
  type: NgModule,
132
132
  args: [{
133
- imports: [IconComponent],
134
- exports: [IconComponent],
133
+ imports: [NgIconComponent],
134
+ exports: [NgIconComponent],
135
135
  }]
136
136
  }], ctorParameters: function () { return [{ type: IconService }]; } });
137
- /**
138
- * Exporting component array for support with standalone components
139
- */
140
- const NG_ICON_DIRECTIVES = IconComponent;
141
137
 
142
138
  function provideIcons(icons) {
143
139
  return [
@@ -153,5 +149,5 @@ const ICONS_TOKEN = new InjectionToken('noop icons token');
153
149
  * Generated bundle index. Do not edit.
154
150
  */
155
151
 
156
- export { IconComponent, NG_ICON_DIRECTIVES, NgIconsModule, provideIcons };
152
+ export { NgIconComponent, NgIconsModule, provideIcons };
157
153
  //# sourceMappingURL=ng-icons-core.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ng-icons-core.mjs","sources":["../../../../packages/core/src/lib/icon.service.ts","../../../../packages/core/src/lib/utils/format.ts","../../../../packages/core/src/lib/icon.component.ts","../../../../packages/core/src/lib/icon.module.ts","../../../../packages/core/src/lib/icon.provider.ts","../../../../packages/core/src/ng-icons-core.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class IconService {\n /** Store the available icons. */\n private static icons: Readonly<Record<string, string>> = {};\n\n /** Access the icons in the class. */\n get icons(): Readonly<Record<string, string>> {\n return IconService.icons;\n }\n\n /**\n * Insert icons into the iconset\n */\n static addIcons(icons: Record<string, string>): void {\n IconService.icons = { ...IconService.icons, ...icons };\n }\n}\n","/**\n * Hyphenated to UpperCamelCase\n */\nexport function toUpperCamelCase(str: string): string {\n return toCapitalCase(toPropertyName(str));\n}\n\n/**\n * Hyphenated to lowerCamelCase\n */\nexport function toPropertyName(str: string): string {\n return str\n .replace(/([^a-zA-Z0-9])+(.)?/g, (_, __, chr) =>\n chr ? chr.toUpperCase() : '',\n )\n .replace(/[^a-zA-Z\\d]/g, '')\n .replace(/^([A-Z])/, m => m.toLowerCase());\n}\n\n/**\n * Capitalizes the first letter of a string\n */\nexport function toCapitalCase(str: string): string {\n return str.charAt(0).toUpperCase() + str.substr(1);\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Input,\n} from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { IconName } from './icon-name';\nimport { IconService } from './icon.service';\nimport { toUpperCamelCase } from './utils/format';\n\n@Component({\n selector: 'ng-icon',\n template: '',\n standalone: true,\n styleUrls: ['./icon.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IconComponent {\n /** Define the name of the icon to display */\n @Input() set name(name: IconName | string) {\n name = toUpperCamelCase(name);\n\n // if there is no icon with this name warn the user as they probably forgot to import it\n if (!this.iconService.icons.hasOwnProperty(name)) {\n console.warn(\n `No icon named ${name} was found. You may need to import it using the withIcons function.`,\n );\n return;\n }\n\n // insert the SVG into the template\n this.template = this.sanitizer.bypassSecurityTrustHtml(\n this.iconService.icons[name],\n );\n }\n\n /** Store the formatted icon name */\n @HostBinding('innerHTML') template?: SafeHtml;\n\n /** Define the size of the icon */\n @HostBinding('style.--ng-icon__size')\n @Input()\n set size(size: string) {\n // if the size only contains numbers, assume it is in pixels\n this._size = coerceCssPixelValue(size);\n }\n\n get size(): string {\n return this._size;\n }\n\n private _size: string = '1em';\n\n /** Define the stroke-width of the icon */\n @HostBinding('style.--ng-icon__stroke-width')\n @Input()\n strokeWidth?: string | number;\n\n /** Define the color of the icon */\n @HostBinding('style.color')\n @Input()\n color?: string;\n\n constructor(\n private readonly elementRef: ElementRef<HTMLElement>,\n private readonly sanitizer: DomSanitizer,\n private readonly iconService: IconService,\n ) {}\n}\n\nfunction coerceCssPixelValue(value: string): string {\n if (value == null) {\n return '';\n }\n\n return /^\\d+$/.test(value) ? `${value}px` : value;\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { IconComponent } from './icon.component';\nimport { IconService } from './icon.service';\n\n@NgModule({\n imports: [IconComponent],\n exports: [IconComponent],\n})\nexport class NgIconsModule {\n constructor(private readonly iconService: IconService) {\n if (Object.keys(this.iconService.icons).length === 0) {\n throw new Error(\n 'No icons have been provided. Ensure to include some icons by importing them using NgIconsModule.withIcons({ ... }).',\n );\n }\n }\n\n /**\n * Define the icons that will be included in the application. This allows unused icons to\n * be tree-shaken away to reduce bundle size\n * @param icons The object containing the required icons\n */\n static withIcons(\n icons: Record<string, string>,\n ): ModuleWithProviders<NgIconsModule> {\n IconService.addIcons(icons);\n\n return { ngModule: NgIconsModule };\n }\n}\n\n/**\n * Exporting component array for support with standalone components\n */\nexport const NG_ICON_DIRECTIVES = IconComponent;\n","import { InjectionToken, Provider } from '@angular/core';\nimport { IconService } from './icon.service';\n\nexport function provideIcons(icons: Record<string, string>): Provider[] {\n return [\n {\n provide: ICONS_TOKEN,\n useFactory: () => IconService.addIcons(icons),\n },\n ];\n}\n\nconst ICONS_TOKEN = new InjectionToken('noop icons token');\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.IconService","i1.IconService"],"mappings":"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"}
1
+ {"version":3,"file":"ng-icons-core.mjs","sources":["../../../../packages/core/src/lib/icon.service.ts","../../../../packages/core/src/lib/utils/format.ts","../../../../packages/core/src/lib/icon.component.ts","../../../../packages/core/src/lib/icon.module.ts","../../../../packages/core/src/lib/icon.provider.ts","../../../../packages/core/src/ng-icons-core.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class IconService {\n /** Store the available icons. */\n private static icons: Readonly<Record<string, string>> = {};\n\n /** Access the icons in the class. */\n get icons(): Readonly<Record<string, string>> {\n return IconService.icons;\n }\n\n /**\n * Insert icons into the iconset\n */\n static addIcons(icons: Record<string, string>): void {\n IconService.icons = { ...IconService.icons, ...icons };\n }\n}\n","/**\n * Hyphenated to UpperCamelCase\n */\nexport function toUpperCamelCase(str: string): string {\n return toCapitalCase(toPropertyName(str));\n}\n\n/**\n * Hyphenated to lowerCamelCase\n */\nexport function toPropertyName(str: string): string {\n return str\n .replace(/([^a-zA-Z0-9])+(.)?/g, (_, __, chr) =>\n chr ? chr.toUpperCase() : '',\n )\n .replace(/[^a-zA-Z\\d]/g, '')\n .replace(/^([A-Z])/, m => m.toLowerCase());\n}\n\n/**\n * Capitalizes the first letter of a string\n */\nexport function toCapitalCase(str: string): string {\n return str.charAt(0).toUpperCase() + str.substr(1);\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Input,\n} from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { IconName } from './icon-name';\nimport { IconService } from './icon.service';\nimport { toUpperCamelCase } from './utils/format';\n\n@Component({\n selector: 'ng-icon',\n template: '',\n standalone: true,\n styleUrls: ['./icon.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgIconComponent {\n /** Define the name of the icon to display */\n @Input() set name(name: IconName | string) {\n name = toUpperCamelCase(name);\n\n // if there is no icon with this name warn the user as they probably forgot to import it\n if (!this.iconService.icons.hasOwnProperty(name)) {\n console.warn(\n `No icon named ${name} was found. You may need to import it using the withIcons function.`,\n );\n return;\n }\n\n // insert the SVG into the template\n this.template = this.sanitizer.bypassSecurityTrustHtml(\n this.iconService.icons[name],\n );\n }\n\n /** Store the formatted icon name */\n @HostBinding('innerHTML') template?: SafeHtml;\n\n /** Define the size of the icon */\n @HostBinding('style.--ng-icon__size')\n @Input()\n set size(size: string) {\n // if the size only contains numbers, assume it is in pixels\n this._size = coerceCssPixelValue(size);\n }\n\n get size(): string {\n return this._size;\n }\n\n private _size: string = '1em';\n\n /** Define the stroke-width of the icon */\n @HostBinding('style.--ng-icon__stroke-width')\n @Input()\n strokeWidth?: string | number;\n\n /** Define the color of the icon */\n @HostBinding('style.color')\n @Input()\n color?: string;\n\n constructor(\n private readonly elementRef: ElementRef<HTMLElement>,\n private readonly sanitizer: DomSanitizer,\n private readonly iconService: IconService,\n ) {}\n}\n\nfunction coerceCssPixelValue(value: string): string {\n if (value == null) {\n return '';\n }\n\n return /^\\d+$/.test(value) ? `${value}px` : value;\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { NgIconComponent } from './icon.component';\nimport { IconService } from './icon.service';\n\n@NgModule({\n imports: [NgIconComponent],\n exports: [NgIconComponent],\n})\nexport class NgIconsModule {\n constructor(private readonly iconService: IconService) {\n if (Object.keys(this.iconService.icons).length === 0) {\n throw new Error(\n 'No icons have been provided. Ensure to include some icons by importing them using NgIconsModule.withIcons({ ... }).',\n );\n }\n }\n\n /**\n * Define the icons that will be included in the application. This allows unused icons to\n * be tree-shaken away to reduce bundle size\n * @param icons The object containing the required icons\n */\n static withIcons(\n icons: Record<string, string>,\n ): ModuleWithProviders<NgIconsModule> {\n IconService.addIcons(icons);\n\n return { ngModule: NgIconsModule };\n }\n}\n","import { InjectionToken, Provider } from '@angular/core';\nimport { IconService } from './icon.service';\n\nexport function provideIcons(icons: Record<string, string>): Provider[] {\n return [\n {\n provide: ICONS_TOKEN,\n useFactory: () => IconService.addIcons(icons),\n },\n ];\n}\n\nconst ICONS_TOKEN = new InjectionToken('noop icons token');\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.IconService","i1.IconService"],"mappings":"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"}
@@ -3,7 +3,7 @@ import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
3
3
  import { IconName } from './icon-name';
4
4
  import { IconService } from './icon.service';
5
5
  import * as i0 from "@angular/core";
6
- export declare class IconComponent {
6
+ export declare class NgIconComponent {
7
7
  private readonly elementRef;
8
8
  private readonly sanitizer;
9
9
  private readonly iconService;
@@ -20,6 +20,6 @@ export declare class IconComponent {
20
20
  /** Define the color of the icon */
21
21
  color?: string;
22
22
  constructor(elementRef: ElementRef<HTMLElement>, sanitizer: DomSanitizer, iconService: IconService);
23
- static ɵfac: i0.ɵɵFactoryDeclaration<IconComponent, never>;
24
- static ɵcmp: i0.ɵɵComponentDeclaration<IconComponent, "ng-icon", never, { "name": "name"; "size": "size"; "strokeWidth": "strokeWidth"; "color": "color"; }, {}, never, never, true>;
23
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgIconComponent, never>;
24
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgIconComponent, "ng-icon", never, { "name": "name"; "size": "size"; "strokeWidth": "strokeWidth"; "color": "color"; }, {}, never, never, true>;
25
25
  }
@@ -1,5 +1,4 @@
1
1
  import { ModuleWithProviders } from '@angular/core';
2
- import { IconComponent } from './icon.component';
3
2
  import { IconService } from './icon.service';
4
3
  import * as i0 from "@angular/core";
5
4
  import * as i1 from "./icon.component";
@@ -13,10 +12,6 @@ export declare class NgIconsModule {
13
12
  */
14
13
  static withIcons(icons: Record<string, string>): ModuleWithProviders<NgIconsModule>;
15
14
  static ɵfac: i0.ɵɵFactoryDeclaration<NgIconsModule, never>;
16
- static ɵmod: i0.ɵɵNgModuleDeclaration<NgIconsModule, never, [typeof i1.IconComponent], [typeof i1.IconComponent]>;
15
+ static ɵmod: i0.ɵɵNgModuleDeclaration<NgIconsModule, never, [typeof i1.NgIconComponent], [typeof i1.NgIconComponent]>;
17
16
  static ɵinj: i0.ɵɵInjectorDeclaration<NgIconsModule>;
18
17
  }
19
- /**
20
- * Exporting component array for support with standalone components
21
- */
22
- export declare const NG_ICON_DIRECTIVES: typeof IconComponent;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ng-icons/core",
3
- "version": "18.0.1",
3
+ "version": "18.0.2",
4
4
  "license": "MIT",
5
5
  "keywords": [
6
6
  "angular",