@ng-icons/core 14.0.0 → 14.1.0

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
@@ -69,6 +69,7 @@ The following packages are available:
69
69
  | `@ng-icons/akar-icons` | MIT |
70
70
  | `@ng-icons/iconoir` | MIT |
71
71
  | `@ng-icons/cryptocurrency-icons` | CC0-1.0 |
72
+ | `@ng-icons/simple-icons` | CC0-1.0 |
72
73
 
73
74
  ## Usage
74
75
 
package/esm2020/index.mjs CHANGED
@@ -1,3 +1,3 @@
1
- export * from './lib/icon.component';
2
- export * from './lib/icon.module';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9pY29uLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ljb24ubW9kdWxlJztcclxuIl19
1
+ export * from './lib/icon.component';
2
+ export * from './lib/icon.module';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9pY29uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pY29uLm1vZHVsZSc7XG4iXX0=
@@ -1,67 +1,67 @@
1
- import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, Input, } from '@angular/core';
2
- import { DomSanitizer } from '@angular/platform-browser';
3
- import { toUpperCamelCase } from './utils/format';
4
- import { IconService } from './icon.service';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/platform-browser";
7
- import * as i2 from "./icon.service";
8
- export class IconComponent {
9
- constructor(elementRef, sanitizer, iconService) {
10
- this.elementRef = elementRef;
11
- this.sanitizer = sanitizer;
12
- this.iconService = iconService;
13
- this._size = '1em';
14
- }
15
- /** Define the name of the icon to display */
16
- set name(name) {
17
- name = toUpperCamelCase(name);
18
- // if there is no icon with this name warn the user as they probably forgot to import it
19
- if (!this.iconService.icons.hasOwnProperty(name)) {
20
- console.warn(`No icon named ${name} was found. You may need to import it using the withIcons function.`);
21
- return;
22
- }
23
- // insert the SVG into the template
24
- this.template = this.sanitizer.bypassSecurityTrustHtml(this.iconService.icons[name]);
25
- }
26
- /** Define the size of the icon */
27
- set size(size) {
28
- // if the size only contains numbers, assume it is in pixels
29
- this._size = coerceCssPixelValue(size);
30
- }
31
- get size() {
32
- return this._size;
33
- }
34
- }
35
- IconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: IconComponent, deps: [{ token: i0.ElementRef }, { token: i1.DomSanitizer }, { token: i2.IconService }], target: i0.ɵɵFactoryTarget.Component });
36
- IconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.6", type: IconComponent, 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: "13.2.6", ngImport: i0, type: IconComponent, decorators: [{
38
- type: Component,
39
- args: [{ selector: 'ng-icon', template: '', changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:inline-block;width:var(--ng-icon__size);height:var(--ng-icon__size)}\n"] }]
40
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.DomSanitizer }, { type: i2.IconService }]; }, propDecorators: { name: [{
41
- type: Input
42
- }], template: [{
43
- type: HostBinding,
44
- args: ['innerHTML']
45
- }], size: [{
46
- type: HostBinding,
47
- args: ['style.--ng-icon__size']
48
- }, {
49
- type: Input
50
- }], strokeWidth: [{
51
- type: HostBinding,
52
- args: ['style.--ng-icon__stroke-width']
53
- }, {
54
- type: Input
55
- }], color: [{
56
- type: HostBinding,
57
- args: ['style.color']
58
- }, {
59
- type: Input
60
- }] } });
61
- function coerceCssPixelValue(value) {
62
- if (value == null) {
63
- return '';
64
- }
65
- return /^\d+$/.test(value) ? `${value}px` : value;
66
- }
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvaWNvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxLQUFLLEdBQ04sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBWSxNQUFNLDJCQUEyQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQVE3QyxNQUFNLE9BQU8sYUFBYTtJQThDeEIsWUFDbUIsVUFBbUMsRUFDbkMsU0FBdUIsRUFDdkIsV0FBd0I7UUFGeEIsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDbkMsY0FBUyxHQUFULFNBQVMsQ0FBYztRQUN2QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQWZuQyxVQUFLLEdBQVcsS0FBSyxDQUFDO0lBZ0IzQixDQUFDO0lBakRKLDZDQUE2QztJQUM3QyxJQUFhLElBQUksQ0FBQyxJQUFZO1FBQzVCLElBQUksR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU5Qix3RkFBd0Y7UUFDeEYsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNoRCxPQUFPLENBQUMsSUFBSSxDQUNWLGlCQUFpQixJQUFJLHFFQUFxRSxDQUMzRixDQUFDO1lBQ0YsT0FBTztTQUNSO1FBRUQsbUNBQW1DO1FBQ25DLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FDcEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQzdCLENBQUM7SUFDSixDQUFDO0lBS0Qsa0NBQWtDO0lBQ2xDLElBRUksSUFBSSxDQUFDLElBQVk7UUFDbkIsNERBQTREO1FBQzVELElBQUksQ0FBQyxLQUFLLEdBQUksbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDOzswR0FoQ1UsYUFBYTs4RkFBYixhQUFhLG1UQUpkLEVBQUU7MkZBSUQsYUFBYTtrQkFOekIsU0FBUzsrQkFDRSxTQUFTLFlBQ1QsRUFBRSxtQkFFSyx1QkFBdUIsQ0FBQyxNQUFNO3NKQUlsQyxJQUFJO3NCQUFoQixLQUFLO2dCQWtCb0IsUUFBUTtzQkFBakMsV0FBVzt1QkFBQyxXQUFXO2dCQUtwQixJQUFJO3NCQUZQLFdBQVc7dUJBQUMsdUJBQXVCOztzQkFDbkMsS0FBSztnQkFlTixXQUFXO3NCQUZWLFdBQVc7dUJBQUMsK0JBQStCOztzQkFDM0MsS0FBSztnQkFNTixLQUFLO3NCQUZKLFdBQVc7dUJBQUMsYUFBYTs7c0JBQ3pCLEtBQUs7O0FBVVIsU0FBUyxtQkFBbUIsQ0FBQyxLQUFhO0lBQ3hDLElBQUksS0FBSyxJQUFJLElBQUksRUFBRTtRQUNqQixPQUFPLEVBQUUsQ0FBQztLQUNYO0lBRUQsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7QUFDcEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSW5wdXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgdG9VcHBlckNhbWVsQ2FzZSB9IGZyb20gJy4vdXRpbHMvZm9ybWF0JztcclxuaW1wb3J0IHsgSWNvblNlcnZpY2UgfSBmcm9tICcuL2ljb24uc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ25nLWljb24nLFxyXG4gIHRlbXBsYXRlOiAnJyxcclxuICBzdHlsZVVybHM6IFsnLi9pY29uLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJY29uQ29tcG9uZW50IHtcclxuICAvKiogRGVmaW5lIHRoZSBuYW1lIG9mIHRoZSBpY29uIHRvIGRpc3BsYXkgKi9cclxuICBASW5wdXQoKSBzZXQgbmFtZShuYW1lOiBzdHJpbmcpIHtcclxuICAgIG5hbWUgPSB0b1VwcGVyQ2FtZWxDYXNlKG5hbWUpO1xyXG5cclxuICAgIC8vIGlmIHRoZXJlIGlzIG5vIGljb24gd2l0aCB0aGlzIG5hbWUgd2FybiB0aGUgdXNlciBhcyB0aGV5IHByb2JhYmx5IGZvcmdvdCB0byBpbXBvcnQgaXRcclxuICAgIGlmICghdGhpcy5pY29uU2VydmljZS5pY29ucy5oYXNPd25Qcm9wZXJ0eShuYW1lKSkge1xyXG4gICAgICBjb25zb2xlLndhcm4oXHJcbiAgICAgICAgYE5vIGljb24gbmFtZWQgJHtuYW1lfSB3YXMgZm91bmQuIFlvdSBtYXkgbmVlZCB0byBpbXBvcnQgaXQgdXNpbmcgdGhlIHdpdGhJY29ucyBmdW5jdGlvbi5gLFxyXG4gICAgICApO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgLy8gaW5zZXJ0IHRoZSBTVkcgaW50byB0aGUgdGVtcGxhdGVcclxuICAgIHRoaXMudGVtcGxhdGUgPSB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChcclxuICAgICAgdGhpcy5pY29uU2VydmljZS5pY29uc1tuYW1lXSxcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKiogU3RvcmUgdGhlIGZvcm1hdHRlZCBpY29uIG5hbWUgKi9cclxuICBASG9zdEJpbmRpbmcoJ2lubmVySFRNTCcpIHRlbXBsYXRlPzogU2FmZUh0bWw7XHJcblxyXG4gIC8qKiBEZWZpbmUgdGhlIHNpemUgb2YgdGhlIGljb24gKi9cclxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLi0tbmctaWNvbl9fc2l6ZScpXHJcbiAgQElucHV0KClcclxuICBzZXQgc2l6ZShzaXplOiBzdHJpbmcpIHtcclxuICAgIC8vIGlmIHRoZSBzaXplIG9ubHkgY29udGFpbnMgbnVtYmVycywgYXNzdW1lIGl0IGlzIGluIHBpeGVsc1xyXG4gICAgdGhpcy5fc2l6ZSA9ICBjb2VyY2VDc3NQaXhlbFZhbHVlKHNpemUpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHNpemUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9zaXplO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2l6ZTogc3RyaW5nID0gJzFlbSc7XHJcblxyXG4gIC8qKiBEZWZpbmUgdGhlIHN0cm9rZS13aWR0aCBvZiB0aGUgaWNvbiAqL1xyXG4gIEBIb3N0QmluZGluZygnc3R5bGUuLS1uZy1pY29uX19zdHJva2Utd2lkdGgnKVxyXG4gIEBJbnB1dCgpXHJcbiAgc3Ryb2tlV2lkdGg/OiBzdHJpbmcgfCBudW1iZXI7XHJcblxyXG4gIC8qKiBEZWZpbmUgdGhlIGNvbG9yIG9mIHRoZSBpY29uICovXHJcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5jb2xvcicpXHJcbiAgQElucHV0KClcclxuICBjb2xvcj86IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcixcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgaWNvblNlcnZpY2U6IEljb25TZXJ2aWNlLFxyXG4gICkge31cclxufVxyXG5cclxuZnVuY3Rpb24gY29lcmNlQ3NzUGl4ZWxWYWx1ZSh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICBpZiAodmFsdWUgPT0gbnVsbCkge1xyXG4gICAgcmV0dXJuICcnO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIC9eXFxkKyQvLnRlc3QodmFsdWUpID8gYCR7dmFsdWV9cHhgIDogdmFsdWU7XHJcbn1cclxuIl19
1
+ import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, Input, } from '@angular/core';
2
+ import { DomSanitizer } from '@angular/platform-browser';
3
+ import { toUpperCamelCase } from './utils/format';
4
+ import { IconService } from './icon.service';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/platform-browser";
7
+ import * as i2 from "./icon.service";
8
+ export class IconComponent {
9
+ constructor(elementRef, sanitizer, iconService) {
10
+ this.elementRef = elementRef;
11
+ this.sanitizer = sanitizer;
12
+ this.iconService = iconService;
13
+ this._size = '1em';
14
+ }
15
+ /** Define the name of the icon to display */
16
+ set name(name) {
17
+ name = toUpperCamelCase(name);
18
+ // if there is no icon with this name warn the user as they probably forgot to import it
19
+ if (!this.iconService.icons.hasOwnProperty(name)) {
20
+ console.warn(`No icon named ${name} was found. You may need to import it using the withIcons function.`);
21
+ return;
22
+ }
23
+ // insert the SVG into the template
24
+ this.template = this.sanitizer.bypassSecurityTrustHtml(this.iconService.icons[name]);
25
+ }
26
+ /** Define the size of the icon */
27
+ set size(size) {
28
+ // if the size only contains numbers, assume it is in pixels
29
+ this._size = coerceCssPixelValue(size);
30
+ }
31
+ get size() {
32
+ return this._size;
33
+ }
34
+ }
35
+ IconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: IconComponent, deps: [{ token: i0.ElementRef }, { token: i1.DomSanitizer }, { token: i2.IconService }], target: i0.ɵɵFactoryTarget.Component });
36
+ IconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.6", type: IconComponent, 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: "13.2.6", ngImport: i0, type: IconComponent, decorators: [{
38
+ type: Component,
39
+ args: [{ selector: 'ng-icon', template: '', changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:inline-block;width:var(--ng-icon__size);height:var(--ng-icon__size)}\n"] }]
40
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.DomSanitizer }, { type: i2.IconService }]; }, propDecorators: { name: [{
41
+ type: Input
42
+ }], template: [{
43
+ type: HostBinding,
44
+ args: ['innerHTML']
45
+ }], size: [{
46
+ type: HostBinding,
47
+ args: ['style.--ng-icon__size']
48
+ }, {
49
+ type: Input
50
+ }], strokeWidth: [{
51
+ type: HostBinding,
52
+ args: ['style.--ng-icon__stroke-width']
53
+ }, {
54
+ type: Input
55
+ }], color: [{
56
+ type: HostBinding,
57
+ args: ['style.color']
58
+ }, {
59
+ type: Input
60
+ }] } });
61
+ function coerceCssPixelValue(value) {
62
+ if (value == null) {
63
+ return '';
64
+ }
65
+ return /^\d+$/.test(value) ? `${value}px` : value;
66
+ }
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvaWNvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxLQUFLLEdBQ04sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBWSxNQUFNLDJCQUEyQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQVE3QyxNQUFNLE9BQU8sYUFBYTtJQThDeEIsWUFDbUIsVUFBbUMsRUFDbkMsU0FBdUIsRUFDdkIsV0FBd0I7UUFGeEIsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDbkMsY0FBUyxHQUFULFNBQVMsQ0FBYztRQUN2QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQWZuQyxVQUFLLEdBQVcsS0FBSyxDQUFDO0lBZ0IzQixDQUFDO0lBakRKLDZDQUE2QztJQUM3QyxJQUFhLElBQUksQ0FBQyxJQUFZO1FBQzVCLElBQUksR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU5Qix3RkFBd0Y7UUFDeEYsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNoRCxPQUFPLENBQUMsSUFBSSxDQUNWLGlCQUFpQixJQUFJLHFFQUFxRSxDQUMzRixDQUFDO1lBQ0YsT0FBTztTQUNSO1FBRUQsbUNBQW1DO1FBQ25DLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FDcEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQzdCLENBQUM7SUFDSixDQUFDO0lBS0Qsa0NBQWtDO0lBQ2xDLElBRUksSUFBSSxDQUFDLElBQVk7UUFDbkIsNERBQTREO1FBQzVELElBQUksQ0FBQyxLQUFLLEdBQUksbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDOzswR0FoQ1UsYUFBYTs4RkFBYixhQUFhLG1UQUpkLEVBQUU7MkZBSUQsYUFBYTtrQkFOekIsU0FBUzsrQkFDRSxTQUFTLFlBQ1QsRUFBRSxtQkFFSyx1QkFBdUIsQ0FBQyxNQUFNO3NKQUlsQyxJQUFJO3NCQUFoQixLQUFLO2dCQWtCb0IsUUFBUTtzQkFBakMsV0FBVzt1QkFBQyxXQUFXO2dCQUtwQixJQUFJO3NCQUZQLFdBQVc7dUJBQUMsdUJBQXVCOztzQkFDbkMsS0FBSztnQkFlTixXQUFXO3NCQUZWLFdBQVc7dUJBQUMsK0JBQStCOztzQkFDM0MsS0FBSztnQkFNTixLQUFLO3NCQUZKLFdBQVc7dUJBQUMsYUFBYTs7c0JBQ3pCLEtBQUs7O0FBVVIsU0FBUyxtQkFBbUIsQ0FBQyxLQUFhO0lBQ3hDLElBQUksS0FBSyxJQUFJLElBQUksRUFBRTtRQUNqQixPQUFPLEVBQUUsQ0FBQztLQUNYO0lBRUQsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7QUFDcEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyB0b1VwcGVyQ2FtZWxDYXNlIH0gZnJvbSAnLi91dGlscy9mb3JtYXQnO1xuaW1wb3J0IHsgSWNvblNlcnZpY2UgfSBmcm9tICcuL2ljb24uc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nLWljb24nLFxuICB0ZW1wbGF0ZTogJycsXG4gIHN0eWxlVXJsczogWycuL2ljb24uY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEljb25Db21wb25lbnQge1xuICAvKiogRGVmaW5lIHRoZSBuYW1lIG9mIHRoZSBpY29uIHRvIGRpc3BsYXkgKi9cbiAgQElucHV0KCkgc2V0IG5hbWUobmFtZTogc3RyaW5nKSB7XG4gICAgbmFtZSA9IHRvVXBwZXJDYW1lbENhc2UobmFtZSk7XG5cbiAgICAvLyBpZiB0aGVyZSBpcyBubyBpY29uIHdpdGggdGhpcyBuYW1lIHdhcm4gdGhlIHVzZXIgYXMgdGhleSBwcm9iYWJseSBmb3Jnb3QgdG8gaW1wb3J0IGl0XG4gICAgaWYgKCF0aGlzLmljb25TZXJ2aWNlLmljb25zLmhhc093blByb3BlcnR5KG5hbWUpKSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgIGBObyBpY29uIG5hbWVkICR7bmFtZX0gd2FzIGZvdW5kLiBZb3UgbWF5IG5lZWQgdG8gaW1wb3J0IGl0IHVzaW5nIHRoZSB3aXRoSWNvbnMgZnVuY3Rpb24uYCxcbiAgICAgICk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gaW5zZXJ0IHRoZSBTVkcgaW50byB0aGUgdGVtcGxhdGVcbiAgICB0aGlzLnRlbXBsYXRlID0gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoXG4gICAgICB0aGlzLmljb25TZXJ2aWNlLmljb25zW25hbWVdLFxuICAgICk7XG4gIH1cblxuICAvKiogU3RvcmUgdGhlIGZvcm1hdHRlZCBpY29uIG5hbWUgKi9cbiAgQEhvc3RCaW5kaW5nKCdpbm5lckhUTUwnKSB0ZW1wbGF0ZT86IFNhZmVIdG1sO1xuXG4gIC8qKiBEZWZpbmUgdGhlIHNpemUgb2YgdGhlIGljb24gKi9cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS4tLW5nLWljb25fX3NpemUnKVxuICBASW5wdXQoKVxuICBzZXQgc2l6ZShzaXplOiBzdHJpbmcpIHtcbiAgICAvLyBpZiB0aGUgc2l6ZSBvbmx5IGNvbnRhaW5zIG51bWJlcnMsIGFzc3VtZSBpdCBpcyBpbiBwaXhlbHNcbiAgICB0aGlzLl9zaXplID0gIGNvZXJjZUNzc1BpeGVsVmFsdWUoc2l6ZSk7XG4gIH1cblxuICBnZXQgc2l6ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9zaXplO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2l6ZTogc3RyaW5nID0gJzFlbSc7XG5cbiAgLyoqIERlZmluZSB0aGUgc3Ryb2tlLXdpZHRoIG9mIHRoZSBpY29uICovXG4gIEBIb3N0QmluZGluZygnc3R5bGUuLS1uZy1pY29uX19zdHJva2Utd2lkdGgnKVxuICBASW5wdXQoKVxuICBzdHJva2VXaWR0aD86IHN0cmluZyB8IG51bWJlcjtcblxuICAvKiogRGVmaW5lIHRoZSBjb2xvciBvZiB0aGUgaWNvbiAqL1xuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmNvbG9yJylcbiAgQElucHV0KClcbiAgY29sb3I/OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaWNvblNlcnZpY2U6IEljb25TZXJ2aWNlLFxuICApIHt9XG59XG5cbmZ1bmN0aW9uIGNvZXJjZUNzc1BpeGVsVmFsdWUodmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgcmV0dXJuIC9eXFxkKyQvLnRlc3QodmFsdWUpID8gYCR7dmFsdWV9cHhgIDogdmFsdWU7XG59XG4iXX0=
@@ -1,33 +1,33 @@
1
- import { NgModule } from '@angular/core';
2
- import { IconComponent } from './icon.component';
3
- import { IconService } from './icon.service';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "./icon.service";
6
- export class NgIconsModule {
7
- constructor(iconService) {
8
- this.iconService = iconService;
9
- if (Object.keys(this.iconService.icons).length === 0) {
10
- throw new Error('No icons have been provided. Ensure to include some icons by importing them using NgIconsModule.withIcons({ ... }).');
11
- }
12
- }
13
- /**
14
- * Define the icons that will be included in the application. This allows unused icons to
15
- * be tree-shaken away to reduce bundle size
16
- * @param icons The object containing the required icons
17
- */
18
- static withIcons(icons) {
19
- IconService.addIcons(icons);
20
- return { ngModule: NgIconsModule };
21
- }
22
- }
23
- NgIconsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: NgIconsModule, deps: [{ token: i1.IconService }], target: i0.ɵɵFactoryTarget.NgModule });
24
- NgIconsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: NgIconsModule, declarations: [IconComponent], exports: [IconComponent] });
25
- NgIconsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: NgIconsModule });
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: NgIconsModule, decorators: [{
27
- type: NgModule,
28
- args: [{
29
- declarations: [IconComponent],
30
- exports: [IconComponent],
31
- }]
32
- }], ctorParameters: function () { return [{ type: i1.IconService }]; } });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvaWNvbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBTTdDLE1BQU0sT0FBTyxhQUFhO0lBQ3hCLFlBQTZCLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ25ELElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDcEQsTUFBTSxJQUFJLEtBQUssQ0FDYixxSEFBcUgsQ0FDdEgsQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsU0FBUyxDQUNkLEtBQTZCO1FBRTdCLFdBQVcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFNUIsT0FBTyxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsQ0FBQztJQUNyQyxDQUFDOzswR0FwQlUsYUFBYTsyR0FBYixhQUFhLGlCQUhULGFBQWEsYUFDbEIsYUFBYTsyR0FFWixhQUFhOzJGQUFiLGFBQWE7a0JBSnpCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsYUFBYSxDQUFDO29CQUM3QixPQUFPLEVBQUUsQ0FBQyxhQUFhLENBQUM7aUJBQ3pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJy4vaWNvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJY29uU2VydmljZSB9IGZyb20gJy4vaWNvbi5zZXJ2aWNlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbSWNvbkNvbXBvbmVudF0sXHJcbiAgZXhwb3J0czogW0ljb25Db21wb25lbnRdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmdJY29uc01vZHVsZSB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBpY29uU2VydmljZTogSWNvblNlcnZpY2UpIHtcclxuICAgIGlmIChPYmplY3Qua2V5cyh0aGlzLmljb25TZXJ2aWNlLmljb25zKS5sZW5ndGggPT09IDApIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKFxyXG4gICAgICAgICdObyBpY29ucyBoYXZlIGJlZW4gcHJvdmlkZWQuIEVuc3VyZSB0byBpbmNsdWRlIHNvbWUgaWNvbnMgYnkgaW1wb3J0aW5nIHRoZW0gdXNpbmcgTmdJY29uc01vZHVsZS53aXRoSWNvbnMoeyAuLi4gfSkuJyxcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERlZmluZSB0aGUgaWNvbnMgdGhhdCB3aWxsIGJlIGluY2x1ZGVkIGluIHRoZSBhcHBsaWNhdGlvbi4gVGhpcyBhbGxvd3MgdW51c2VkIGljb25zIHRvXHJcbiAgICogYmUgdHJlZS1zaGFrZW4gYXdheSB0byByZWR1Y2UgYnVuZGxlIHNpemVcclxuICAgKiBAcGFyYW0gaWNvbnMgVGhlIG9iamVjdCBjb250YWluaW5nIHRoZSByZXF1aXJlZCBpY29uc1xyXG4gICAqL1xyXG4gIHN0YXRpYyB3aXRoSWNvbnMoXHJcbiAgICBpY29uczogUmVjb3JkPHN0cmluZywgc3RyaW5nPixcclxuICApOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE5nSWNvbnNNb2R1bGU+IHtcclxuICAgIEljb25TZXJ2aWNlLmFkZEljb25zKGljb25zKTtcclxuXHJcbiAgICByZXR1cm4geyBuZ01vZHVsZTogTmdJY29uc01vZHVsZSB9O1xyXG4gIH1cclxufVxyXG4iXX0=
1
+ import { NgModule } from '@angular/core';
2
+ import { IconComponent } from './icon.component';
3
+ import { IconService } from './icon.service';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "./icon.service";
6
+ export class NgIconsModule {
7
+ constructor(iconService) {
8
+ this.iconService = iconService;
9
+ if (Object.keys(this.iconService.icons).length === 0) {
10
+ throw new Error('No icons have been provided. Ensure to include some icons by importing them using NgIconsModule.withIcons({ ... }).');
11
+ }
12
+ }
13
+ /**
14
+ * Define the icons that will be included in the application. This allows unused icons to
15
+ * be tree-shaken away to reduce bundle size
16
+ * @param icons The object containing the required icons
17
+ */
18
+ static withIcons(icons) {
19
+ IconService.addIcons(icons);
20
+ return { ngModule: NgIconsModule };
21
+ }
22
+ }
23
+ NgIconsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: NgIconsModule, deps: [{ token: i1.IconService }], target: i0.ɵɵFactoryTarget.NgModule });
24
+ NgIconsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: NgIconsModule, declarations: [IconComponent], exports: [IconComponent] });
25
+ NgIconsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: NgIconsModule });
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: NgIconsModule, decorators: [{
27
+ type: NgModule,
28
+ args: [{
29
+ declarations: [IconComponent],
30
+ exports: [IconComponent],
31
+ }]
32
+ }], ctorParameters: function () { return [{ type: i1.IconService }]; } });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvaWNvbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBTTdDLE1BQU0sT0FBTyxhQUFhO0lBQ3hCLFlBQTZCLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ25ELElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDcEQsTUFBTSxJQUFJLEtBQUssQ0FDYixxSEFBcUgsQ0FDdEgsQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsU0FBUyxDQUNkLEtBQTZCO1FBRTdCLFdBQVcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFNUIsT0FBTyxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsQ0FBQztJQUNyQyxDQUFDOzswR0FwQlUsYUFBYTsyR0FBYixhQUFhLGlCQUhULGFBQWEsYUFDbEIsYUFBYTsyR0FFWixhQUFhOzJGQUFiLGFBQWE7a0JBSnpCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsYUFBYSxDQUFDO29CQUM3QixPQUFPLEVBQUUsQ0FBQyxhQUFhLENBQUM7aUJBQ3pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuL2ljb24uY29tcG9uZW50JztcbmltcG9ydCB7IEljb25TZXJ2aWNlIH0gZnJvbSAnLi9pY29uLnNlcnZpY2UnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtJY29uQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW0ljb25Db21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ0ljb25zTW9kdWxlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBpY29uU2VydmljZTogSWNvblNlcnZpY2UpIHtcbiAgICBpZiAoT2JqZWN0LmtleXModGhpcy5pY29uU2VydmljZS5pY29ucykubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdObyBpY29ucyBoYXZlIGJlZW4gcHJvdmlkZWQuIEVuc3VyZSB0byBpbmNsdWRlIHNvbWUgaWNvbnMgYnkgaW1wb3J0aW5nIHRoZW0gdXNpbmcgTmdJY29uc01vZHVsZS53aXRoSWNvbnMoeyAuLi4gfSkuJyxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIERlZmluZSB0aGUgaWNvbnMgdGhhdCB3aWxsIGJlIGluY2x1ZGVkIGluIHRoZSBhcHBsaWNhdGlvbi4gVGhpcyBhbGxvd3MgdW51c2VkIGljb25zIHRvXG4gICAqIGJlIHRyZWUtc2hha2VuIGF3YXkgdG8gcmVkdWNlIGJ1bmRsZSBzaXplXG4gICAqIEBwYXJhbSBpY29ucyBUaGUgb2JqZWN0IGNvbnRhaW5pbmcgdGhlIHJlcXVpcmVkIGljb25zXG4gICAqL1xuICBzdGF0aWMgd2l0aEljb25zKFxuICAgIGljb25zOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+LFxuICApOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE5nSWNvbnNNb2R1bGU+IHtcbiAgICBJY29uU2VydmljZS5hZGRJY29ucyhpY29ucyk7XG5cbiAgICByZXR1cm4geyBuZ01vZHVsZTogTmdJY29uc01vZHVsZSB9O1xuICB9XG59XG4iXX0=
@@ -1,25 +1,25 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class IconService {
4
- /** Access the icons in the class. */
5
- get icons() {
6
- return IconService.icons;
7
- }
8
- /**
9
- * Insert icons into the iconset
10
- */
11
- static addIcons(icons) {
12
- IconService.icons = { ...IconService.icons, ...icons };
13
- }
14
- }
15
- /** Store the available icons. */
16
- IconService.icons = {};
17
- IconService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: IconService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
18
- IconService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: IconService, providedIn: 'root' });
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: IconService, decorators: [{
20
- type: Injectable,
21
- args: [{
22
- providedIn: 'root',
23
- }]
24
- }] });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL2ljb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sV0FBVztJQUl0QixxQ0FBcUM7SUFDckMsSUFBSSxLQUFLO1FBQ1AsT0FBTyxXQUFXLENBQUMsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBNkI7UUFDM0MsV0FBVyxDQUFDLEtBQUssR0FBRyxFQUFFLEdBQUcsV0FBVyxDQUFDLEtBQUssRUFBRSxHQUFHLEtBQUssRUFBRSxDQUFDO0lBQ3pELENBQUM7O0FBYkQsaUNBQWlDO0FBQ2xCLGlCQUFLLEdBQXFDLEVBQUcsQ0FBQTt3R0FGakQsV0FBVzs0R0FBWCxXQUFXLGNBRlYsTUFBTTsyRkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJY29uU2VydmljZSB7XHJcbiAgLyoqIFN0b3JlIHRoZSBhdmFpbGFibGUgaWNvbnMuICovXHJcbiAgcHJpdmF0ZSBzdGF0aWMgaWNvbnM6IFJlYWRvbmx5PFJlY29yZDxzdHJpbmcsIHN0cmluZz4+ID0ge307XHJcblxyXG4gIC8qKiBBY2Nlc3MgdGhlIGljb25zIGluIHRoZSBjbGFzcy4gKi9cclxuICBnZXQgaWNvbnMoKTogUmVhZG9ubHk8UmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xyXG4gICAgcmV0dXJuIEljb25TZXJ2aWNlLmljb25zO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSW5zZXJ0IGljb25zIGludG8gdGhlIGljb25zZXRcclxuICAgKi9cclxuICBzdGF0aWMgYWRkSWNvbnMoaWNvbnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pOiB2b2lkIHtcclxuICAgIEljb25TZXJ2aWNlLmljb25zID0geyAuLi5JY29uU2VydmljZS5pY29ucywgLi4uaWNvbnMgfTtcclxuICB9XHJcbn1cclxuIl19
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class IconService {
4
+ /** Access the icons in the class. */
5
+ get icons() {
6
+ return IconService.icons;
7
+ }
8
+ /**
9
+ * Insert icons into the iconset
10
+ */
11
+ static addIcons(icons) {
12
+ IconService.icons = { ...IconService.icons, ...icons };
13
+ }
14
+ }
15
+ /** Store the available icons. */
16
+ IconService.icons = {};
17
+ IconService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: IconService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
18
+ IconService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: IconService, providedIn: 'root' });
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: IconService, decorators: [{
20
+ type: Injectable,
21
+ args: [{
22
+ providedIn: 'root',
23
+ }]
24
+ }] });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL2ljb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sV0FBVztJQUl0QixxQ0FBcUM7SUFDckMsSUFBSSxLQUFLO1FBQ1AsT0FBTyxXQUFXLENBQUMsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBNkI7UUFDM0MsV0FBVyxDQUFDLEtBQUssR0FBRyxFQUFFLEdBQUcsV0FBVyxDQUFDLEtBQUssRUFBRSxHQUFHLEtBQUssRUFBRSxDQUFDO0lBQ3pELENBQUM7O0FBYkQsaUNBQWlDO0FBQ2xCLGlCQUFLLEdBQXFDLEVBQUcsQ0FBQTt3R0FGakQsV0FBVzs0R0FBWCxXQUFXLGNBRlYsTUFBTTsyRkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEljb25TZXJ2aWNlIHtcbiAgLyoqIFN0b3JlIHRoZSBhdmFpbGFibGUgaWNvbnMuICovXG4gIHByaXZhdGUgc3RhdGljIGljb25zOiBSZWFkb25seTxSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiA9IHt9O1xuXG4gIC8qKiBBY2Nlc3MgdGhlIGljb25zIGluIHRoZSBjbGFzcy4gKi9cbiAgZ2V0IGljb25zKCk6IFJlYWRvbmx5PFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcbiAgICByZXR1cm4gSWNvblNlcnZpY2UuaWNvbnM7XG4gIH1cblxuICAvKipcbiAgICogSW5zZXJ0IGljb25zIGludG8gdGhlIGljb25zZXRcbiAgICovXG4gIHN0YXRpYyBhZGRJY29ucyhpY29uczogUmVjb3JkPHN0cmluZywgc3RyaW5nPik6IHZvaWQge1xuICAgIEljb25TZXJ2aWNlLmljb25zID0geyAuLi5JY29uU2VydmljZS5pY29ucywgLi4uaWNvbnMgfTtcbiAgfVxufVxuIl19
@@ -1,22 +1,22 @@
1
- /**
2
- * Hyphenated to UpperCamelCase
3
- */
4
- export function toUpperCamelCase(str) {
5
- return toCapitalCase(toPropertyName(str));
6
- }
7
- /**
8
- * Hyphenated to lowerCamelCase
9
- */
10
- export function toPropertyName(str) {
11
- return str
12
- .replace(/([^a-zA-Z0-9])+(.)?/g, (_, __, chr) => chr ? chr.toUpperCase() : '')
13
- .replace(/[^a-zA-Z\d]/g, '')
14
- .replace(/^([A-Z])/, m => m.toLowerCase());
15
- }
16
- /**
17
- * Capitalizes the first letter of a string
18
- */
19
- export function toCapitalCase(str) {
20
- return str.charAt(0).toUpperCase() + str.substr(1);
21
- }
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL3V0aWxzL2Zvcm1hdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxHQUFXO0lBQzFDLE9BQU8sYUFBYSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQzVDLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxjQUFjLENBQUMsR0FBVztJQUN4QyxPQUFPLEdBQUc7U0FDUCxPQUFPLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQzlDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQzdCO1NBQ0EsT0FBTyxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUM7U0FDM0IsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0FBQy9DLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxhQUFhLENBQUMsR0FBVztJQUN2QyxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEh5cGhlbmF0ZWQgdG8gVXBwZXJDYW1lbENhc2VcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiB0b1VwcGVyQ2FtZWxDYXNlKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcclxuICByZXR1cm4gdG9DYXBpdGFsQ2FzZSh0b1Byb3BlcnR5TmFtZShzdHIpKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEh5cGhlbmF0ZWQgdG8gbG93ZXJDYW1lbENhc2VcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiB0b1Byb3BlcnR5TmFtZShzdHI6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgcmV0dXJuIHN0clxyXG4gICAgLnJlcGxhY2UoLyhbXmEtekEtWjAtOV0pKyguKT8vZywgKF8sIF9fLCBjaHIpID0+XHJcbiAgICAgIGNociA/IGNoci50b1VwcGVyQ2FzZSgpIDogJycsXHJcbiAgICApXHJcbiAgICAucmVwbGFjZSgvW15hLXpBLVpcXGRdL2csICcnKVxyXG4gICAgLnJlcGxhY2UoL14oW0EtWl0pLywgbSA9PiBtLnRvTG93ZXJDYXNlKCkpO1xyXG59XHJcblxyXG4vKipcclxuICogQ2FwaXRhbGl6ZXMgdGhlIGZpcnN0IGxldHRlciBvZiBhIHN0cmluZ1xyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHRvQ2FwaXRhbENhc2Uoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gIHJldHVybiBzdHIuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBzdHIuc3Vic3RyKDEpO1xyXG59XHJcbiJdfQ==
1
+ /**
2
+ * Hyphenated to UpperCamelCase
3
+ */
4
+ export function toUpperCamelCase(str) {
5
+ return toCapitalCase(toPropertyName(str));
6
+ }
7
+ /**
8
+ * Hyphenated to lowerCamelCase
9
+ */
10
+ export function toPropertyName(str) {
11
+ return str
12
+ .replace(/([^a-zA-Z0-9])+(.)?/g, (_, __, chr) => chr ? chr.toUpperCase() : '')
13
+ .replace(/[^a-zA-Z\d]/g, '')
14
+ .replace(/^([A-Z])/, m => m.toLowerCase());
15
+ }
16
+ /**
17
+ * Capitalizes the first letter of a string
18
+ */
19
+ export function toCapitalCase(str) {
20
+ return str.charAt(0).toUpperCase() + str.substr(1);
21
+ }
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL3V0aWxzL2Zvcm1hdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxHQUFXO0lBQzFDLE9BQU8sYUFBYSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQzVDLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxjQUFjLENBQUMsR0FBVztJQUN4QyxPQUFPLEdBQUc7U0FDUCxPQUFPLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQzlDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQzdCO1NBQ0EsT0FBTyxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUM7U0FDM0IsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0FBQy9DLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxhQUFhLENBQUMsR0FBVztJQUN2QyxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBIeXBoZW5hdGVkIHRvIFVwcGVyQ2FtZWxDYXNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b1VwcGVyQ2FtZWxDYXNlKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHRvQ2FwaXRhbENhc2UodG9Qcm9wZXJ0eU5hbWUoc3RyKSk7XG59XG5cbi8qKlxuICogSHlwaGVuYXRlZCB0byBsb3dlckNhbWVsQ2FzZVxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9Qcm9wZXJ0eU5hbWUoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gc3RyXG4gICAgLnJlcGxhY2UoLyhbXmEtekEtWjAtOV0pKyguKT8vZywgKF8sIF9fLCBjaHIpID0+XG4gICAgICBjaHIgPyBjaHIudG9VcHBlckNhc2UoKSA6ICcnLFxuICAgIClcbiAgICAucmVwbGFjZSgvW15hLXpBLVpcXGRdL2csICcnKVxuICAgIC5yZXBsYWNlKC9eKFtBLVpdKS8sIG0gPT4gbS50b0xvd2VyQ2FzZSgpKTtcbn1cblxuLyoqXG4gKiBDYXBpdGFsaXplcyB0aGUgZmlyc3QgbGV0dGVyIG9mIGEgc3RyaW5nXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b0NhcGl0YWxDYXNlKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHN0ci5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHN0ci5zdWJzdHIoMSk7XG59XG4iXX0=
@@ -1,5 +1,5 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
5
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctaWNvbnMtY29yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL25nLWljb25zLWNvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
@@ -2,141 +2,141 @@ import * as i0 from '@angular/core';
2
2
  import { Injectable, Component, ChangeDetectionStrategy, Input, HostBinding, NgModule } from '@angular/core';
3
3
  import * as i1 from '@angular/platform-browser';
4
4
 
5
- /**
6
- * Hyphenated to UpperCamelCase
7
- */
8
- function toUpperCamelCase(str) {
9
- return toCapitalCase(toPropertyName(str));
10
- }
11
- /**
12
- * Hyphenated to lowerCamelCase
13
- */
14
- function toPropertyName(str) {
15
- return str
16
- .replace(/([^a-zA-Z0-9])+(.)?/g, (_, __, chr) => chr ? chr.toUpperCase() : '')
17
- .replace(/[^a-zA-Z\d]/g, '')
18
- .replace(/^([A-Z])/, m => m.toLowerCase());
19
- }
20
- /**
21
- * Capitalizes the first letter of a string
22
- */
23
- function toCapitalCase(str) {
24
- return str.charAt(0).toUpperCase() + str.substr(1);
5
+ /**
6
+ * Hyphenated to UpperCamelCase
7
+ */
8
+ function toUpperCamelCase(str) {
9
+ return toCapitalCase(toPropertyName(str));
10
+ }
11
+ /**
12
+ * Hyphenated to lowerCamelCase
13
+ */
14
+ function toPropertyName(str) {
15
+ return str
16
+ .replace(/([^a-zA-Z0-9])+(.)?/g, (_, __, chr) => chr ? chr.toUpperCase() : '')
17
+ .replace(/[^a-zA-Z\d]/g, '')
18
+ .replace(/^([A-Z])/, m => m.toLowerCase());
19
+ }
20
+ /**
21
+ * Capitalizes the first letter of a string
22
+ */
23
+ function toCapitalCase(str) {
24
+ return str.charAt(0).toUpperCase() + str.substr(1);
25
25
  }
26
26
 
27
- class IconService {
28
- /** Access the icons in the class. */
29
- get icons() {
30
- return IconService.icons;
31
- }
32
- /**
33
- * Insert icons into the iconset
34
- */
35
- static addIcons(icons) {
36
- IconService.icons = Object.assign(Object.assign({}, IconService.icons), icons);
37
- }
38
- }
39
- /** Store the available icons. */
40
- IconService.icons = {};
41
- IconService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: IconService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
42
- IconService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: IconService, providedIn: 'root' });
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: IconService, decorators: [{
44
- type: Injectable,
45
- args: [{
46
- providedIn: 'root',
47
- }]
27
+ class IconService {
28
+ /** Access the icons in the class. */
29
+ get icons() {
30
+ return IconService.icons;
31
+ }
32
+ /**
33
+ * Insert icons into the iconset
34
+ */
35
+ static addIcons(icons) {
36
+ IconService.icons = Object.assign(Object.assign({}, IconService.icons), icons);
37
+ }
38
+ }
39
+ /** Store the available icons. */
40
+ IconService.icons = {};
41
+ IconService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: IconService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
42
+ IconService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: IconService, providedIn: 'root' });
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: IconService, decorators: [{
44
+ type: Injectable,
45
+ args: [{
46
+ providedIn: 'root',
47
+ }]
48
48
  }] });
49
49
 
50
- class IconComponent {
51
- constructor(elementRef, sanitizer, iconService) {
52
- this.elementRef = elementRef;
53
- this.sanitizer = sanitizer;
54
- this.iconService = iconService;
55
- this._size = '1em';
56
- }
57
- /** Define the name of the icon to display */
58
- set name(name) {
59
- name = toUpperCamelCase(name);
60
- // if there is no icon with this name warn the user as they probably forgot to import it
61
- if (!this.iconService.icons.hasOwnProperty(name)) {
62
- console.warn(`No icon named ${name} was found. You may need to import it using the withIcons function.`);
63
- return;
64
- }
65
- // insert the SVG into the template
66
- this.template = this.sanitizer.bypassSecurityTrustHtml(this.iconService.icons[name]);
67
- }
68
- /** Define the size of the icon */
69
- set size(size) {
70
- // if the size only contains numbers, assume it is in pixels
71
- this._size = coerceCssPixelValue(size);
72
- }
73
- get size() {
74
- return this._size;
75
- }
76
- }
77
- IconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: IconComponent, deps: [{ token: i0.ElementRef }, { token: i1.DomSanitizer }, { token: IconService }], target: i0.ɵɵFactoryTarget.Component });
78
- IconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.6", type: IconComponent, 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: "13.2.6", ngImport: i0, type: IconComponent, decorators: [{
80
- type: Component,
81
- args: [{ selector: 'ng-icon', template: '', changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:inline-block;width:var(--ng-icon__size);height:var(--ng-icon__size)}\n"] }]
82
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.DomSanitizer }, { type: IconService }]; }, propDecorators: { name: [{
83
- type: Input
84
- }], template: [{
85
- type: HostBinding,
86
- args: ['innerHTML']
87
- }], size: [{
88
- type: HostBinding,
89
- args: ['style.--ng-icon__size']
90
- }, {
91
- type: Input
92
- }], strokeWidth: [{
93
- type: HostBinding,
94
- args: ['style.--ng-icon__stroke-width']
95
- }, {
96
- type: Input
97
- }], color: [{
98
- type: HostBinding,
99
- args: ['style.color']
100
- }, {
101
- type: Input
102
- }] } });
103
- function coerceCssPixelValue(value) {
104
- if (value == null) {
105
- return '';
106
- }
107
- return /^\d+$/.test(value) ? `${value}px` : value;
50
+ class IconComponent {
51
+ constructor(elementRef, sanitizer, iconService) {
52
+ this.elementRef = elementRef;
53
+ this.sanitizer = sanitizer;
54
+ this.iconService = iconService;
55
+ this._size = '1em';
56
+ }
57
+ /** Define the name of the icon to display */
58
+ set name(name) {
59
+ name = toUpperCamelCase(name);
60
+ // if there is no icon with this name warn the user as they probably forgot to import it
61
+ if (!this.iconService.icons.hasOwnProperty(name)) {
62
+ console.warn(`No icon named ${name} was found. You may need to import it using the withIcons function.`);
63
+ return;
64
+ }
65
+ // insert the SVG into the template
66
+ this.template = this.sanitizer.bypassSecurityTrustHtml(this.iconService.icons[name]);
67
+ }
68
+ /** Define the size of the icon */
69
+ set size(size) {
70
+ // if the size only contains numbers, assume it is in pixels
71
+ this._size = coerceCssPixelValue(size);
72
+ }
73
+ get size() {
74
+ return this._size;
75
+ }
76
+ }
77
+ IconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: IconComponent, deps: [{ token: i0.ElementRef }, { token: i1.DomSanitizer }, { token: IconService }], target: i0.ɵɵFactoryTarget.Component });
78
+ IconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.6", type: IconComponent, 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: "13.2.6", ngImport: i0, type: IconComponent, decorators: [{
80
+ type: Component,
81
+ args: [{ selector: 'ng-icon', template: '', changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:inline-block;width:var(--ng-icon__size);height:var(--ng-icon__size)}\n"] }]
82
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.DomSanitizer }, { type: IconService }]; }, propDecorators: { name: [{
83
+ type: Input
84
+ }], template: [{
85
+ type: HostBinding,
86
+ args: ['innerHTML']
87
+ }], size: [{
88
+ type: HostBinding,
89
+ args: ['style.--ng-icon__size']
90
+ }, {
91
+ type: Input
92
+ }], strokeWidth: [{
93
+ type: HostBinding,
94
+ args: ['style.--ng-icon__stroke-width']
95
+ }, {
96
+ type: Input
97
+ }], color: [{
98
+ type: HostBinding,
99
+ args: ['style.color']
100
+ }, {
101
+ type: Input
102
+ }] } });
103
+ function coerceCssPixelValue(value) {
104
+ if (value == null) {
105
+ return '';
106
+ }
107
+ return /^\d+$/.test(value) ? `${value}px` : value;
108
108
  }
109
109
 
110
- class NgIconsModule {
111
- constructor(iconService) {
112
- this.iconService = iconService;
113
- if (Object.keys(this.iconService.icons).length === 0) {
114
- throw new Error('No icons have been provided. Ensure to include some icons by importing them using NgIconsModule.withIcons({ ... }).');
115
- }
116
- }
117
- /**
118
- * Define the icons that will be included in the application. This allows unused icons to
119
- * be tree-shaken away to reduce bundle size
120
- * @param icons The object containing the required icons
121
- */
122
- static withIcons(icons) {
123
- IconService.addIcons(icons);
124
- return { ngModule: NgIconsModule };
125
- }
126
- }
127
- NgIconsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: NgIconsModule, deps: [{ token: IconService }], target: i0.ɵɵFactoryTarget.NgModule });
128
- NgIconsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: NgIconsModule, declarations: [IconComponent], exports: [IconComponent] });
129
- NgIconsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: NgIconsModule });
130
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: NgIconsModule, decorators: [{
131
- type: NgModule,
132
- args: [{
133
- declarations: [IconComponent],
134
- exports: [IconComponent],
135
- }]
110
+ class NgIconsModule {
111
+ constructor(iconService) {
112
+ this.iconService = iconService;
113
+ if (Object.keys(this.iconService.icons).length === 0) {
114
+ throw new Error('No icons have been provided. Ensure to include some icons by importing them using NgIconsModule.withIcons({ ... }).');
115
+ }
116
+ }
117
+ /**
118
+ * Define the icons that will be included in the application. This allows unused icons to
119
+ * be tree-shaken away to reduce bundle size
120
+ * @param icons The object containing the required icons
121
+ */
122
+ static withIcons(icons) {
123
+ IconService.addIcons(icons);
124
+ return { ngModule: NgIconsModule };
125
+ }
126
+ }
127
+ NgIconsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: NgIconsModule, deps: [{ token: IconService }], target: i0.ɵɵFactoryTarget.NgModule });
128
+ NgIconsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: NgIconsModule, declarations: [IconComponent], exports: [IconComponent] });
129
+ NgIconsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: NgIconsModule });
130
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: NgIconsModule, decorators: [{
131
+ type: NgModule,
132
+ args: [{
133
+ declarations: [IconComponent],
134
+ exports: [IconComponent],
135
+ }]
136
136
  }], ctorParameters: function () { return [{ type: IconService }]; } });
137
137
 
138
- /**
139
- * Generated bundle index. Do not edit.
138
+ /**
139
+ * Generated bundle index. Do not edit.
140
140
  */
141
141
 
142
142
  export { IconComponent, NgIconsModule };
@@ -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/ng-icons-core.ts"],"sourcesContent":["/**\r\n * Hyphenated to UpperCamelCase\r\n */\r\nexport function toUpperCamelCase(str: string): string {\r\n return toCapitalCase(toPropertyName(str));\r\n}\r\n\r\n/**\r\n * Hyphenated to lowerCamelCase\r\n */\r\nexport function toPropertyName(str: string): string {\r\n return str\r\n .replace(/([^a-zA-Z0-9])+(.)?/g, (_, __, chr) =>\r\n chr ? chr.toUpperCase() : '',\r\n )\r\n .replace(/[^a-zA-Z\\d]/g, '')\r\n .replace(/^([A-Z])/, m => m.toLowerCase());\r\n}\r\n\r\n/**\r\n * Capitalizes the first letter of a string\r\n */\r\nexport function toCapitalCase(str: string): string {\r\n return str.charAt(0).toUpperCase() + str.substr(1);\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class IconService {\r\n /** Store the available icons. */\r\n private static icons: Readonly<Record<string, string>> = {};\r\n\r\n /** Access the icons in the class. */\r\n get icons(): Readonly<Record<string, string>> {\r\n return IconService.icons;\r\n }\r\n\r\n /**\r\n * Insert icons into the iconset\r\n */\r\n static addIcons(icons: Record<string, string>): void {\r\n IconService.icons = { ...IconService.icons, ...icons };\r\n }\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n HostBinding,\r\n Input,\r\n} from '@angular/core';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\nimport { toUpperCamelCase } from './utils/format';\r\nimport { IconService } from './icon.service';\r\n\r\n@Component({\r\n selector: 'ng-icon',\r\n template: '',\r\n styleUrls: ['./icon.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class IconComponent {\r\n /** Define the name of the icon to display */\r\n @Input() set name(name: string) {\r\n name = toUpperCamelCase(name);\r\n\r\n // if there is no icon with this name warn the user as they probably forgot to import it\r\n if (!this.iconService.icons.hasOwnProperty(name)) {\r\n console.warn(\r\n `No icon named ${name} was found. You may need to import it using the withIcons function.`,\r\n );\r\n return;\r\n }\r\n\r\n // insert the SVG into the template\r\n this.template = this.sanitizer.bypassSecurityTrustHtml(\r\n this.iconService.icons[name],\r\n );\r\n }\r\n\r\n /** Store the formatted icon name */\r\n @HostBinding('innerHTML') template?: SafeHtml;\r\n\r\n /** Define the size of the icon */\r\n @HostBinding('style.--ng-icon__size')\r\n @Input()\r\n set size(size: string) {\r\n // if the size only contains numbers, assume it is in pixels\r\n this._size = coerceCssPixelValue(size);\r\n }\r\n\r\n get size(): string {\r\n return this._size;\r\n }\r\n\r\n private _size: string = '1em';\r\n\r\n /** Define the stroke-width of the icon */\r\n @HostBinding('style.--ng-icon__stroke-width')\r\n @Input()\r\n strokeWidth?: string | number;\r\n\r\n /** Define the color of the icon */\r\n @HostBinding('style.color')\r\n @Input()\r\n color?: string;\r\n\r\n constructor(\r\n private readonly elementRef: ElementRef<HTMLElement>,\r\n private readonly sanitizer: DomSanitizer,\r\n private readonly iconService: IconService,\r\n ) {}\r\n}\r\n\r\nfunction coerceCssPixelValue(value: string): string {\r\n if (value == null) {\r\n return '';\r\n }\r\n\r\n return /^\\d+$/.test(value) ? `${value}px` : value;\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { IconComponent } from './icon.component';\r\nimport { IconService } from './icon.service';\r\n\r\n@NgModule({\r\n declarations: [IconComponent],\r\n exports: [IconComponent],\r\n})\r\nexport class NgIconsModule {\r\n constructor(private readonly iconService: IconService) {\r\n if (Object.keys(this.iconService.icons).length === 0) {\r\n throw new Error(\r\n 'No icons have been provided. Ensure to include some icons by importing them using NgIconsModule.withIcons({ ... }).',\r\n );\r\n }\r\n }\r\n\r\n /**\r\n * Define the icons that will be included in the application. This allows unused icons to\r\n * be tree-shaken away to reduce bundle size\r\n * @param icons The object containing the required icons\r\n */\r\n static withIcons(\r\n icons: Record<string, string>,\r\n ): ModuleWithProviders<NgIconsModule> {\r\n IconService.addIcons(icons);\r\n\r\n return { ngModule: NgIconsModule };\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"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/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 { toUpperCamelCase } from './utils/format';\nimport { IconService } from './icon.service';\n\n@Component({\n selector: 'ng-icon',\n template: '',\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: 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 declarations: [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 * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -2,141 +2,141 @@ import * as i0 from '@angular/core';
2
2
  import { Injectable, Component, ChangeDetectionStrategy, Input, HostBinding, NgModule } from '@angular/core';
3
3
  import * as i1 from '@angular/platform-browser';
4
4
 
5
- /**
6
- * Hyphenated to UpperCamelCase
7
- */
8
- function toUpperCamelCase(str) {
9
- return toCapitalCase(toPropertyName(str));
10
- }
11
- /**
12
- * Hyphenated to lowerCamelCase
13
- */
14
- function toPropertyName(str) {
15
- return str
16
- .replace(/([^a-zA-Z0-9])+(.)?/g, (_, __, chr) => chr ? chr.toUpperCase() : '')
17
- .replace(/[^a-zA-Z\d]/g, '')
18
- .replace(/^([A-Z])/, m => m.toLowerCase());
19
- }
20
- /**
21
- * Capitalizes the first letter of a string
22
- */
23
- function toCapitalCase(str) {
24
- return str.charAt(0).toUpperCase() + str.substr(1);
5
+ /**
6
+ * Hyphenated to UpperCamelCase
7
+ */
8
+ function toUpperCamelCase(str) {
9
+ return toCapitalCase(toPropertyName(str));
10
+ }
11
+ /**
12
+ * Hyphenated to lowerCamelCase
13
+ */
14
+ function toPropertyName(str) {
15
+ return str
16
+ .replace(/([^a-zA-Z0-9])+(.)?/g, (_, __, chr) => chr ? chr.toUpperCase() : '')
17
+ .replace(/[^a-zA-Z\d]/g, '')
18
+ .replace(/^([A-Z])/, m => m.toLowerCase());
19
+ }
20
+ /**
21
+ * Capitalizes the first letter of a string
22
+ */
23
+ function toCapitalCase(str) {
24
+ return str.charAt(0).toUpperCase() + str.substr(1);
25
25
  }
26
26
 
27
- class IconService {
28
- /** Access the icons in the class. */
29
- get icons() {
30
- return IconService.icons;
31
- }
32
- /**
33
- * Insert icons into the iconset
34
- */
35
- static addIcons(icons) {
36
- IconService.icons = { ...IconService.icons, ...icons };
37
- }
38
- }
39
- /** Store the available icons. */
40
- IconService.icons = {};
41
- IconService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: IconService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
42
- IconService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: IconService, providedIn: 'root' });
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: IconService, decorators: [{
44
- type: Injectable,
45
- args: [{
46
- providedIn: 'root',
47
- }]
27
+ class IconService {
28
+ /** Access the icons in the class. */
29
+ get icons() {
30
+ return IconService.icons;
31
+ }
32
+ /**
33
+ * Insert icons into the iconset
34
+ */
35
+ static addIcons(icons) {
36
+ IconService.icons = { ...IconService.icons, ...icons };
37
+ }
38
+ }
39
+ /** Store the available icons. */
40
+ IconService.icons = {};
41
+ IconService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: IconService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
42
+ IconService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: IconService, providedIn: 'root' });
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: IconService, decorators: [{
44
+ type: Injectable,
45
+ args: [{
46
+ providedIn: 'root',
47
+ }]
48
48
  }] });
49
49
 
50
- class IconComponent {
51
- constructor(elementRef, sanitizer, iconService) {
52
- this.elementRef = elementRef;
53
- this.sanitizer = sanitizer;
54
- this.iconService = iconService;
55
- this._size = '1em';
56
- }
57
- /** Define the name of the icon to display */
58
- set name(name) {
59
- name = toUpperCamelCase(name);
60
- // if there is no icon with this name warn the user as they probably forgot to import it
61
- if (!this.iconService.icons.hasOwnProperty(name)) {
62
- console.warn(`No icon named ${name} was found. You may need to import it using the withIcons function.`);
63
- return;
64
- }
65
- // insert the SVG into the template
66
- this.template = this.sanitizer.bypassSecurityTrustHtml(this.iconService.icons[name]);
67
- }
68
- /** Define the size of the icon */
69
- set size(size) {
70
- // if the size only contains numbers, assume it is in pixels
71
- this._size = coerceCssPixelValue(size);
72
- }
73
- get size() {
74
- return this._size;
75
- }
76
- }
77
- IconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: IconComponent, deps: [{ token: i0.ElementRef }, { token: i1.DomSanitizer }, { token: IconService }], target: i0.ɵɵFactoryTarget.Component });
78
- IconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.6", type: IconComponent, 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: "13.2.6", ngImport: i0, type: IconComponent, decorators: [{
80
- type: Component,
81
- args: [{ selector: 'ng-icon', template: '', changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:inline-block;width:var(--ng-icon__size);height:var(--ng-icon__size)}\n"] }]
82
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.DomSanitizer }, { type: IconService }]; }, propDecorators: { name: [{
83
- type: Input
84
- }], template: [{
85
- type: HostBinding,
86
- args: ['innerHTML']
87
- }], size: [{
88
- type: HostBinding,
89
- args: ['style.--ng-icon__size']
90
- }, {
91
- type: Input
92
- }], strokeWidth: [{
93
- type: HostBinding,
94
- args: ['style.--ng-icon__stroke-width']
95
- }, {
96
- type: Input
97
- }], color: [{
98
- type: HostBinding,
99
- args: ['style.color']
100
- }, {
101
- type: Input
102
- }] } });
103
- function coerceCssPixelValue(value) {
104
- if (value == null) {
105
- return '';
106
- }
107
- return /^\d+$/.test(value) ? `${value}px` : value;
50
+ class IconComponent {
51
+ constructor(elementRef, sanitizer, iconService) {
52
+ this.elementRef = elementRef;
53
+ this.sanitizer = sanitizer;
54
+ this.iconService = iconService;
55
+ this._size = '1em';
56
+ }
57
+ /** Define the name of the icon to display */
58
+ set name(name) {
59
+ name = toUpperCamelCase(name);
60
+ // if there is no icon with this name warn the user as they probably forgot to import it
61
+ if (!this.iconService.icons.hasOwnProperty(name)) {
62
+ console.warn(`No icon named ${name} was found. You may need to import it using the withIcons function.`);
63
+ return;
64
+ }
65
+ // insert the SVG into the template
66
+ this.template = this.sanitizer.bypassSecurityTrustHtml(this.iconService.icons[name]);
67
+ }
68
+ /** Define the size of the icon */
69
+ set size(size) {
70
+ // if the size only contains numbers, assume it is in pixels
71
+ this._size = coerceCssPixelValue(size);
72
+ }
73
+ get size() {
74
+ return this._size;
75
+ }
76
+ }
77
+ IconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: IconComponent, deps: [{ token: i0.ElementRef }, { token: i1.DomSanitizer }, { token: IconService }], target: i0.ɵɵFactoryTarget.Component });
78
+ IconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.6", type: IconComponent, 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: "13.2.6", ngImport: i0, type: IconComponent, decorators: [{
80
+ type: Component,
81
+ args: [{ selector: 'ng-icon', template: '', changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:inline-block;width:var(--ng-icon__size);height:var(--ng-icon__size)}\n"] }]
82
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.DomSanitizer }, { type: IconService }]; }, propDecorators: { name: [{
83
+ type: Input
84
+ }], template: [{
85
+ type: HostBinding,
86
+ args: ['innerHTML']
87
+ }], size: [{
88
+ type: HostBinding,
89
+ args: ['style.--ng-icon__size']
90
+ }, {
91
+ type: Input
92
+ }], strokeWidth: [{
93
+ type: HostBinding,
94
+ args: ['style.--ng-icon__stroke-width']
95
+ }, {
96
+ type: Input
97
+ }], color: [{
98
+ type: HostBinding,
99
+ args: ['style.color']
100
+ }, {
101
+ type: Input
102
+ }] } });
103
+ function coerceCssPixelValue(value) {
104
+ if (value == null) {
105
+ return '';
106
+ }
107
+ return /^\d+$/.test(value) ? `${value}px` : value;
108
108
  }
109
109
 
110
- class NgIconsModule {
111
- constructor(iconService) {
112
- this.iconService = iconService;
113
- if (Object.keys(this.iconService.icons).length === 0) {
114
- throw new Error('No icons have been provided. Ensure to include some icons by importing them using NgIconsModule.withIcons({ ... }).');
115
- }
116
- }
117
- /**
118
- * Define the icons that will be included in the application. This allows unused icons to
119
- * be tree-shaken away to reduce bundle size
120
- * @param icons The object containing the required icons
121
- */
122
- static withIcons(icons) {
123
- IconService.addIcons(icons);
124
- return { ngModule: NgIconsModule };
125
- }
126
- }
127
- NgIconsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: NgIconsModule, deps: [{ token: IconService }], target: i0.ɵɵFactoryTarget.NgModule });
128
- NgIconsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: NgIconsModule, declarations: [IconComponent], exports: [IconComponent] });
129
- NgIconsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: NgIconsModule });
130
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: NgIconsModule, decorators: [{
131
- type: NgModule,
132
- args: [{
133
- declarations: [IconComponent],
134
- exports: [IconComponent],
135
- }]
110
+ class NgIconsModule {
111
+ constructor(iconService) {
112
+ this.iconService = iconService;
113
+ if (Object.keys(this.iconService.icons).length === 0) {
114
+ throw new Error('No icons have been provided. Ensure to include some icons by importing them using NgIconsModule.withIcons({ ... }).');
115
+ }
116
+ }
117
+ /**
118
+ * Define the icons that will be included in the application. This allows unused icons to
119
+ * be tree-shaken away to reduce bundle size
120
+ * @param icons The object containing the required icons
121
+ */
122
+ static withIcons(icons) {
123
+ IconService.addIcons(icons);
124
+ return { ngModule: NgIconsModule };
125
+ }
126
+ }
127
+ NgIconsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: NgIconsModule, deps: [{ token: IconService }], target: i0.ɵɵFactoryTarget.NgModule });
128
+ NgIconsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: NgIconsModule, declarations: [IconComponent], exports: [IconComponent] });
129
+ NgIconsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: NgIconsModule });
130
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: NgIconsModule, decorators: [{
131
+ type: NgModule,
132
+ args: [{
133
+ declarations: [IconComponent],
134
+ exports: [IconComponent],
135
+ }]
136
136
  }], ctorParameters: function () { return [{ type: IconService }]; } });
137
137
 
138
- /**
139
- * Generated bundle index. Do not edit.
138
+ /**
139
+ * Generated bundle index. Do not edit.
140
140
  */
141
141
 
142
142
  export { IconComponent, NgIconsModule };
@@ -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/ng-icons-core.ts"],"sourcesContent":["/**\r\n * Hyphenated to UpperCamelCase\r\n */\r\nexport function toUpperCamelCase(str: string): string {\r\n return toCapitalCase(toPropertyName(str));\r\n}\r\n\r\n/**\r\n * Hyphenated to lowerCamelCase\r\n */\r\nexport function toPropertyName(str: string): string {\r\n return str\r\n .replace(/([^a-zA-Z0-9])+(.)?/g, (_, __, chr) =>\r\n chr ? chr.toUpperCase() : '',\r\n )\r\n .replace(/[^a-zA-Z\\d]/g, '')\r\n .replace(/^([A-Z])/, m => m.toLowerCase());\r\n}\r\n\r\n/**\r\n * Capitalizes the first letter of a string\r\n */\r\nexport function toCapitalCase(str: string): string {\r\n return str.charAt(0).toUpperCase() + str.substr(1);\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class IconService {\r\n /** Store the available icons. */\r\n private static icons: Readonly<Record<string, string>> = {};\r\n\r\n /** Access the icons in the class. */\r\n get icons(): Readonly<Record<string, string>> {\r\n return IconService.icons;\r\n }\r\n\r\n /**\r\n * Insert icons into the iconset\r\n */\r\n static addIcons(icons: Record<string, string>): void {\r\n IconService.icons = { ...IconService.icons, ...icons };\r\n }\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n HostBinding,\r\n Input,\r\n} from '@angular/core';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\nimport { toUpperCamelCase } from './utils/format';\r\nimport { IconService } from './icon.service';\r\n\r\n@Component({\r\n selector: 'ng-icon',\r\n template: '',\r\n styleUrls: ['./icon.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class IconComponent {\r\n /** Define the name of the icon to display */\r\n @Input() set name(name: string) {\r\n name = toUpperCamelCase(name);\r\n\r\n // if there is no icon with this name warn the user as they probably forgot to import it\r\n if (!this.iconService.icons.hasOwnProperty(name)) {\r\n console.warn(\r\n `No icon named ${name} was found. You may need to import it using the withIcons function.`,\r\n );\r\n return;\r\n }\r\n\r\n // insert the SVG into the template\r\n this.template = this.sanitizer.bypassSecurityTrustHtml(\r\n this.iconService.icons[name],\r\n );\r\n }\r\n\r\n /** Store the formatted icon name */\r\n @HostBinding('innerHTML') template?: SafeHtml;\r\n\r\n /** Define the size of the icon */\r\n @HostBinding('style.--ng-icon__size')\r\n @Input()\r\n set size(size: string) {\r\n // if the size only contains numbers, assume it is in pixels\r\n this._size = coerceCssPixelValue(size);\r\n }\r\n\r\n get size(): string {\r\n return this._size;\r\n }\r\n\r\n private _size: string = '1em';\r\n\r\n /** Define the stroke-width of the icon */\r\n @HostBinding('style.--ng-icon__stroke-width')\r\n @Input()\r\n strokeWidth?: string | number;\r\n\r\n /** Define the color of the icon */\r\n @HostBinding('style.color')\r\n @Input()\r\n color?: string;\r\n\r\n constructor(\r\n private readonly elementRef: ElementRef<HTMLElement>,\r\n private readonly sanitizer: DomSanitizer,\r\n private readonly iconService: IconService,\r\n ) {}\r\n}\r\n\r\nfunction coerceCssPixelValue(value: string): string {\r\n if (value == null) {\r\n return '';\r\n }\r\n\r\n return /^\\d+$/.test(value) ? `${value}px` : value;\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { IconComponent } from './icon.component';\r\nimport { IconService } from './icon.service';\r\n\r\n@NgModule({\r\n declarations: [IconComponent],\r\n exports: [IconComponent],\r\n})\r\nexport class NgIconsModule {\r\n constructor(private readonly iconService: IconService) {\r\n if (Object.keys(this.iconService.icons).length === 0) {\r\n throw new Error(\r\n 'No icons have been provided. Ensure to include some icons by importing them using NgIconsModule.withIcons({ ... }).',\r\n );\r\n }\r\n }\r\n\r\n /**\r\n * Define the icons that will be included in the application. This allows unused icons to\r\n * be tree-shaken away to reduce bundle size\r\n * @param icons The object containing the required icons\r\n */\r\n static withIcons(\r\n icons: Record<string, string>,\r\n ): ModuleWithProviders<NgIconsModule> {\r\n IconService.addIcons(icons);\r\n\r\n return { ngModule: NgIconsModule };\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"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/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 { toUpperCamelCase } from './utils/format';\nimport { IconService } from './icon.service';\n\n@Component({\n selector: 'ng-icon',\n template: '',\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: 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 declarations: [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 * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export * from './lib/icon.component';
2
- export * from './lib/icon.module';
1
+ export * from './lib/icon.component';
2
+ export * from './lib/icon.module';
@@ -1,24 +1,24 @@
1
- import { ElementRef } from '@angular/core';
2
- import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
3
- import { IconService } from './icon.service';
4
- import * as i0 from "@angular/core";
5
- export declare class IconComponent {
6
- private readonly elementRef;
7
- private readonly sanitizer;
8
- private readonly iconService;
9
- /** Define the name of the icon to display */
10
- set name(name: string);
11
- /** Store the formatted icon name */
12
- template?: SafeHtml;
13
- /** Define the size of the icon */
14
- set size(size: string);
15
- get size(): string;
16
- private _size;
17
- /** Define the stroke-width of the icon */
18
- strokeWidth?: string | number;
19
- /** Define the color of the icon */
20
- color?: string;
21
- constructor(elementRef: ElementRef<HTMLElement>, sanitizer: DomSanitizer, iconService: IconService);
22
- static ɵfac: i0.ɵɵFactoryDeclaration<IconComponent, never>;
23
- static ɵcmp: i0.ɵɵComponentDeclaration<IconComponent, "ng-icon", never, { "name": "name"; "size": "size"; "strokeWidth": "strokeWidth"; "color": "color"; }, {}, never, never>;
24
- }
1
+ import { ElementRef } from '@angular/core';
2
+ import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
3
+ import { IconService } from './icon.service';
4
+ import * as i0 from "@angular/core";
5
+ export declare class IconComponent {
6
+ private readonly elementRef;
7
+ private readonly sanitizer;
8
+ private readonly iconService;
9
+ /** Define the name of the icon to display */
10
+ set name(name: string);
11
+ /** Store the formatted icon name */
12
+ template?: SafeHtml;
13
+ /** Define the size of the icon */
14
+ set size(size: string);
15
+ get size(): string;
16
+ private _size;
17
+ /** Define the stroke-width of the icon */
18
+ strokeWidth?: string | number;
19
+ /** Define the color of the icon */
20
+ color?: string;
21
+ constructor(elementRef: ElementRef<HTMLElement>, sanitizer: DomSanitizer, iconService: IconService);
22
+ static ɵfac: i0.ɵɵFactoryDeclaration<IconComponent, never>;
23
+ static ɵcmp: i0.ɵɵComponentDeclaration<IconComponent, "ng-icon", never, { "name": "name"; "size": "size"; "strokeWidth": "strokeWidth"; "color": "color"; }, {}, never, never>;
24
+ }
@@ -1,17 +1,17 @@
1
- import { ModuleWithProviders } from '@angular/core';
2
- import { IconService } from './icon.service';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "./icon.component";
5
- export declare class NgIconsModule {
6
- private readonly iconService;
7
- constructor(iconService: IconService);
8
- /**
9
- * Define the icons that will be included in the application. This allows unused icons to
10
- * be tree-shaken away to reduce bundle size
11
- * @param icons The object containing the required icons
12
- */
13
- static withIcons(icons: Record<string, string>): ModuleWithProviders<NgIconsModule>;
14
- static ɵfac: i0.ɵɵFactoryDeclaration<NgIconsModule, never>;
15
- static ɵmod: i0.ɵɵNgModuleDeclaration<NgIconsModule, [typeof i1.IconComponent], never, [typeof i1.IconComponent]>;
16
- static ɵinj: i0.ɵɵInjectorDeclaration<NgIconsModule>;
17
- }
1
+ import { ModuleWithProviders } from '@angular/core';
2
+ import { IconService } from './icon.service';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "./icon.component";
5
+ export declare class NgIconsModule {
6
+ private readonly iconService;
7
+ constructor(iconService: IconService);
8
+ /**
9
+ * Define the icons that will be included in the application. This allows unused icons to
10
+ * be tree-shaken away to reduce bundle size
11
+ * @param icons The object containing the required icons
12
+ */
13
+ static withIcons(icons: Record<string, string>): ModuleWithProviders<NgIconsModule>;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgIconsModule, never>;
15
+ static ɵmod: i0.ɵɵNgModuleDeclaration<NgIconsModule, [typeof i1.IconComponent], never, [typeof i1.IconComponent]>;
16
+ static ɵinj: i0.ɵɵInjectorDeclaration<NgIconsModule>;
17
+ }
@@ -1,13 +1,13 @@
1
- import * as i0 from "@angular/core";
2
- export declare class IconService {
3
- /** Store the available icons. */
4
- private static icons;
5
- /** Access the icons in the class. */
6
- get icons(): Readonly<Record<string, string>>;
7
- /**
8
- * Insert icons into the iconset
9
- */
10
- static addIcons(icons: Record<string, string>): void;
11
- static ɵfac: i0.ɵɵFactoryDeclaration<IconService, never>;
12
- static ɵprov: i0.ɵɵInjectableDeclaration<IconService>;
13
- }
1
+ import * as i0 from "@angular/core";
2
+ export declare class IconService {
3
+ /** Store the available icons. */
4
+ private static icons;
5
+ /** Access the icons in the class. */
6
+ get icons(): Readonly<Record<string, string>>;
7
+ /**
8
+ * Insert icons into the iconset
9
+ */
10
+ static addIcons(icons: Record<string, string>): void;
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<IconService, never>;
12
+ static ɵprov: i0.ɵɵInjectableDeclaration<IconService>;
13
+ }
@@ -1,12 +1,12 @@
1
- /**
2
- * Hyphenated to UpperCamelCase
3
- */
4
- export declare function toUpperCamelCase(str: string): string;
5
- /**
6
- * Hyphenated to lowerCamelCase
7
- */
8
- export declare function toPropertyName(str: string): string;
9
- /**
10
- * Capitalizes the first letter of a string
11
- */
12
- export declare function toCapitalCase(str: string): string;
1
+ /**
2
+ * Hyphenated to UpperCamelCase
3
+ */
4
+ export declare function toUpperCamelCase(str: string): string;
5
+ /**
6
+ * Hyphenated to lowerCamelCase
7
+ */
8
+ export declare function toPropertyName(str: string): string;
9
+ /**
10
+ * Capitalizes the first letter of a string
11
+ */
12
+ export declare function toCapitalCase(str: string): string;
@@ -1,5 +1,5 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- /// <amd-module name="@ng-icons/core" />
5
- export * from './index';
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="@ng-icons/core" />
5
+ export * from './index';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ng-icons/core",
3
- "version": "14.0.0",
3
+ "version": "14.1.0",
4
4
  "license": "MIT",
5
5
  "keywords": [
6
6
  "angular",