@ng-icons/core 24.0.0 → 25.0.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
@@ -37,7 +37,8 @@ Got suggestions for additional iconsets? Create an issue and we can consider add
37
37
  | 12.x.x | 12.x.x - 13.x.x |
38
38
  | 13.x.x | 13.x.x - 17.x.x |
39
39
  | 14.x.x | 17.x.x - 22.x.x |
40
- | 15.x.x | 23.x.x |
40
+ | 15.x.x | 23.x.x - 24.x.x |
41
+ | 16.x.x | 25.x.x |
41
42
 
42
43
  > **Note**: Ng Icons relies on modern browser features and is designed to work on evergreen browsers. We do not support older browsers such as IE11.
43
44
 
@@ -0,0 +1,64 @@
1
+ import { ChangeDetectionStrategy, Component, HostBinding, inject, Input, } from '@angular/core';
2
+ import { DomSanitizer } from '@angular/platform-browser';
3
+ import { NgIconsToken } from './icon.provider';
4
+ import { toPropertyName } from './utils/format';
5
+ import * as i0 from "@angular/core";
6
+ class NgIconComponent {
7
+ constructor() {
8
+ this._size = '1em';
9
+ this.sanitizer = inject(DomSanitizer);
10
+ this.icons = inject(NgIconsToken);
11
+ }
12
+ /** Define the name of the icon to display */
13
+ set name(name) {
14
+ name = toPropertyName(name);
15
+ for (const icons of [...this.icons].reverse()) {
16
+ if (icons[name]) {
17
+ // insert the SVG into the template
18
+ this.template = this.sanitizer.bypassSecurityTrustHtml(icons[name]);
19
+ return;
20
+ }
21
+ }
22
+ // if there is no icon with this name warn the user as they probably forgot to import it
23
+ console.warn(`No icon named ${name} was found. You may need to import it using the withIcons function.`);
24
+ }
25
+ /** Define the size of the icon */
26
+ set size(size) {
27
+ // if the size only contains numbers, assume it is in pixels
28
+ this._size = coerceCssPixelValue(size);
29
+ }
30
+ get size() {
31
+ return this._size;
32
+ }
33
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
34
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.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 }); }
35
+ }
36
+ export { NgIconComponent };
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgIconComponent, decorators: [{
38
+ type: Component,
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
+ }], 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
+ return value == null ? '' : /^\d+$/.test(value) ? `${value}px` : value;
63
+ }
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvaWNvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEdBQ04sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBWSxNQUFNLDJCQUEyQixDQUFDO0FBRW5FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBRWhELE1BT2EsZUFBZTtJQVA1QjtRQXlDVSxVQUFLLEdBQVcsS0FBSyxDQUFDO1FBWWIsY0FBUyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVqQyxVQUFLLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO0tBQy9DO0lBaERDLDZDQUE2QztJQUM3QyxJQUFhLElBQUksQ0FBQyxJQUF1QjtRQUN2QyxJQUFJLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTVCLEtBQUssTUFBTSxLQUFLLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUM3QyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDZixtQ0FBbUM7Z0JBQ25DLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDcEUsT0FBTzthQUNSO1NBQ0Y7UUFFRCx3RkFBd0Y7UUFDeEYsT0FBTyxDQUFDLElBQUksQ0FDVixpQkFBaUIsSUFBSSxxRUFBcUUsQ0FDM0YsQ0FBQztJQUNKLENBQUM7SUFLRCxrQ0FBa0M7SUFDbEMsSUFFSSxJQUFJLENBQUMsSUFBWTtRQUNuQiw0REFBNEQ7UUFDNUQsSUFBSSxDQUFDLEtBQUssR0FBRyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7OEdBaENVLGVBQWU7a0dBQWYsZUFBZSx1VUFMaEIsRUFBRTs7U0FLRCxlQUFlOzJGQUFmLGVBQWU7a0JBUDNCLFNBQVM7K0JBQ0UsU0FBUyxZQUNULEVBQUUsY0FDQSxJQUFJLG1CQUVDLHVCQUF1QixDQUFDLE1BQU07OEJBSWxDLElBQUk7c0JBQWhCLEtBQUs7Z0JBa0JvQixRQUFRO3NCQUFqQyxXQUFXO3VCQUFDLFdBQVc7Z0JBS3BCLElBQUk7c0JBRlAsV0FBVzt1QkFBQyx1QkFBdUI7O3NCQUNuQyxLQUFLO2dCQWVOLFdBQVc7c0JBRlYsV0FBVzt1QkFBQywrQkFBK0I7O3NCQUMzQyxLQUFLO2dCQU1OLEtBQUs7c0JBRkosV0FBVzt1QkFBQyxhQUFhOztzQkFDekIsS0FBSzs7QUFRUixTQUFTLG1CQUFtQixDQUFDLEtBQWE7SUFDeEMsT0FBTyxLQUFLLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUN6RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSG9zdEJpbmRpbmcsXG4gIGluamVjdCxcbiAgSW5wdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgSWNvbk5hbWUgfSBmcm9tICcuL2ljb24tbmFtZSc7XG5pbXBvcnQgeyBOZ0ljb25zVG9rZW4gfSBmcm9tICcuL2ljb24ucHJvdmlkZXInO1xuaW1wb3J0IHsgdG9Qcm9wZXJ0eU5hbWUgfSBmcm9tICcuL3V0aWxzL2Zvcm1hdCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nLWljb24nLFxuICB0ZW1wbGF0ZTogJycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHN0eWxlVXJsczogWycuL2ljb24uY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE5nSWNvbkNvbXBvbmVudCB7XG4gIC8qKiBEZWZpbmUgdGhlIG5hbWUgb2YgdGhlIGljb24gdG8gZGlzcGxheSAqL1xuICBASW5wdXQoKSBzZXQgbmFtZShuYW1lOiBJY29uTmFtZSB8IHN0cmluZykge1xuICAgIG5hbWUgPSB0b1Byb3BlcnR5TmFtZShuYW1lKTtcblxuICAgIGZvciAoY29uc3QgaWNvbnMgb2YgWy4uLnRoaXMuaWNvbnNdLnJldmVyc2UoKSkge1xuICAgICAgaWYgKGljb25zW25hbWVdKSB7XG4gICAgICAgIC8vIGluc2VydCB0aGUgU1ZHIGludG8gdGhlIHRlbXBsYXRlXG4gICAgICAgIHRoaXMudGVtcGxhdGUgPSB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChpY29uc1tuYW1lXSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBpZiB0aGVyZSBpcyBubyBpY29uIHdpdGggdGhpcyBuYW1lIHdhcm4gdGhlIHVzZXIgYXMgdGhleSBwcm9iYWJseSBmb3Jnb3QgdG8gaW1wb3J0IGl0XG4gICAgY29uc29sZS53YXJuKFxuICAgICAgYE5vIGljb24gbmFtZWQgJHtuYW1lfSB3YXMgZm91bmQuIFlvdSBtYXkgbmVlZCB0byBpbXBvcnQgaXQgdXNpbmcgdGhlIHdpdGhJY29ucyBmdW5jdGlvbi5gLFxuICAgICk7XG4gIH1cblxuICAvKiogU3RvcmUgdGhlIGZvcm1hdHRlZCBpY29uIG5hbWUgKi9cbiAgQEhvc3RCaW5kaW5nKCdpbm5lckhUTUwnKSB0ZW1wbGF0ZT86IFNhZmVIdG1sO1xuXG4gIC8qKiBEZWZpbmUgdGhlIHNpemUgb2YgdGhlIGljb24gKi9cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS4tLW5nLWljb25fX3NpemUnKVxuICBASW5wdXQoKVxuICBzZXQgc2l6ZShzaXplOiBzdHJpbmcpIHtcbiAgICAvLyBpZiB0aGUgc2l6ZSBvbmx5IGNvbnRhaW5zIG51bWJlcnMsIGFzc3VtZSBpdCBpcyBpbiBwaXhlbHNcbiAgICB0aGlzLl9zaXplID0gY29lcmNlQ3NzUGl4ZWxWYWx1ZShzaXplKTtcbiAgfVxuXG4gIGdldCBzaXplKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3NpemU7XG4gIH1cblxuICBwcml2YXRlIF9zaXplOiBzdHJpbmcgPSAnMWVtJztcblxuICAvKiogRGVmaW5lIHRoZSBzdHJva2Utd2lkdGggb2YgdGhlIGljb24gKi9cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS4tLW5nLWljb25fX3N0cm9rZS13aWR0aCcpXG4gIEBJbnB1dCgpXG4gIHN0cm9rZVdpZHRoPzogc3RyaW5nIHwgbnVtYmVyO1xuXG4gIC8qKiBEZWZpbmUgdGhlIGNvbG9yIG9mIHRoZSBpY29uICovXG4gIEBIb3N0QmluZGluZygnc3R5bGUuY29sb3InKVxuICBASW5wdXQoKVxuICBjb2xvcj86IHN0cmluZztcblxuICBwcml2YXRlIHJlYWRvbmx5IHNhbml0aXplciA9IGluamVjdChEb21TYW5pdGl6ZXIpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgaWNvbnMgPSBpbmplY3QoTmdJY29uc1Rva2VuKTtcbn1cblxuZnVuY3Rpb24gY29lcmNlQ3NzUGl4ZWxWYWx1ZSh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHZhbHVlID09IG51bGwgPyAnJyA6IC9eXFxkKyQvLnRlc3QodmFsdWUpID8gYCR7dmFsdWV9cHhgIDogdmFsdWU7XG59XG4iXX0=
@@ -0,0 +1,48 @@
1
+ import { Inject, NgModule } from '@angular/core';
2
+ import { NgIconComponent } from './icon.component';
3
+ import { NgIconsToken, provideIcons } from './icon.provider';
4
+ import * as i0 from "@angular/core";
5
+ class NgIconsModule {
6
+ constructor(icons) {
7
+ if (Object.keys(icons).length === 0) {
8
+ throw new Error('No icons have been provided. Ensure to include some icons by importing them using NgIconsModule.withIcons({ ... }).');
9
+ }
10
+ }
11
+ /**
12
+ * Define the icons that will be included in the application. This allows unused icons to
13
+ * be tree-shaken away to reduce bundle size
14
+ * @param icons The object containing the required icons
15
+ */
16
+ static withIcons(icons) {
17
+ return { ngModule: NgIconsModule, providers: provideIcons(icons) };
18
+ }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgIconsModule, deps: [{ token: NgIconsToken }], target: i0.ɵɵFactoryTarget.NgModule }); }
20
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0", ngImport: i0, type: NgIconsModule, imports: [NgIconComponent], exports: [NgIconComponent] }); }
21
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgIconsModule }); }
22
+ }
23
+ export { NgIconsModule };
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgIconsModule, decorators: [{
25
+ type: NgModule,
26
+ args: [{
27
+ imports: [NgIconComponent],
28
+ exports: [NgIconComponent],
29
+ }]
30
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
31
+ type: Inject,
32
+ args: [NgIconsToken]
33
+ }] }]; } });
34
+ // This is a temporary workaround for ng-packagr issue #2398
35
+ class NG_ICON_DIRECTIVES {
36
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NG_ICON_DIRECTIVES, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
37
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0", ngImport: i0, type: NG_ICON_DIRECTIVES, imports: [NgIconComponent], exports: [NgIconComponent] }); }
38
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NG_ICON_DIRECTIVES }); }
39
+ }
40
+ export { NG_ICON_DIRECTIVES };
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NG_ICON_DIRECTIVES, decorators: [{
42
+ type: NgModule,
43
+ args: [{
44
+ imports: [NgIconComponent],
45
+ exports: [NgIconComponent],
46
+ }]
47
+ }] });
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvaWNvbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUU3RCxNQUlhLGFBQWE7SUFDeEIsWUFBa0MsS0FBNkI7UUFDN0QsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FDYixxSEFBcUgsQ0FDdEgsQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsU0FBUyxDQUNkLEtBQTZCO1FBRTdCLE9BQU8sRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztJQUNyRSxDQUFDOzhHQWxCVSxhQUFhLGtCQUNKLFlBQVk7K0dBRHJCLGFBQWEsWUFIZCxlQUFlLGFBQ2YsZUFBZTsrR0FFZCxhQUFhOztTQUFiLGFBQWE7MkZBQWIsYUFBYTtrQkFKekIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUM7b0JBQzFCLE9BQU8sRUFBRSxDQUFDLGVBQWUsQ0FBQztpQkFDM0I7OzBCQUVjLE1BQU07MkJBQUMsWUFBWTs7QUFvQmxDLDREQUE0RDtBQUM1RCxNQUlhLGtCQUFrQjs4R0FBbEIsa0JBQWtCOytHQUFsQixrQkFBa0IsWUFIbkIsZUFBZSxhQUNmLGVBQWU7K0dBRWQsa0JBQWtCOztTQUFsQixrQkFBa0I7MkZBQWxCLGtCQUFrQjtrQkFKOUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUM7b0JBQzFCLE9BQU8sRUFBRSxDQUFDLGVBQWUsQ0FBQztpQkFDM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ0ljb25Db21wb25lbnQgfSBmcm9tICcuL2ljb24uY29tcG9uZW50JztcbmltcG9ydCB7IE5nSWNvbnNUb2tlbiwgcHJvdmlkZUljb25zIH0gZnJvbSAnLi9pY29uLnByb3ZpZGVyJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW05nSWNvbkNvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtOZ0ljb25Db21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ0ljb25zTW9kdWxlIHtcbiAgY29uc3RydWN0b3IoQEluamVjdChOZ0ljb25zVG9rZW4pIGljb25zOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KSB7XG4gICAgaWYgKE9iamVjdC5rZXlzKGljb25zKS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ05vIGljb25zIGhhdmUgYmVlbiBwcm92aWRlZC4gRW5zdXJlIHRvIGluY2x1ZGUgc29tZSBpY29ucyBieSBpbXBvcnRpbmcgdGhlbSB1c2luZyBOZ0ljb25zTW9kdWxlLndpdGhJY29ucyh7IC4uLiB9KS4nLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRGVmaW5lIHRoZSBpY29ucyB0aGF0IHdpbGwgYmUgaW5jbHVkZWQgaW4gdGhlIGFwcGxpY2F0aW9uLiBUaGlzIGFsbG93cyB1bnVzZWQgaWNvbnMgdG9cbiAgICogYmUgdHJlZS1zaGFrZW4gYXdheSB0byByZWR1Y2UgYnVuZGxlIHNpemVcbiAgICogQHBhcmFtIGljb25zIFRoZSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVxdWlyZWQgaWNvbnNcbiAgICovXG4gIHN0YXRpYyB3aXRoSWNvbnMoXG4gICAgaWNvbnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4sXG4gICk6IE1vZHVsZVdpdGhQcm92aWRlcnM8TmdJY29uc01vZHVsZT4ge1xuICAgIHJldHVybiB7IG5nTW9kdWxlOiBOZ0ljb25zTW9kdWxlLCBwcm92aWRlcnM6IHByb3ZpZGVJY29ucyhpY29ucykgfTtcbiAgfVxufVxuXG4vLyBUaGlzIGlzIGEgdGVtcG9yYXJ5IHdvcmthcm91bmQgZm9yIG5nLXBhY2thZ3IgaXNzdWUgIzIzOThcbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtOZ0ljb25Db21wb25lbnRdLFxuICBleHBvcnRzOiBbTmdJY29uQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgTkdfSUNPTl9ESVJFQ1RJVkVTIHt9XG4iXX0=
@@ -54,10 +54,10 @@ class NgIconComponent {
54
54
  get size() {
55
55
  return this._size;
56
56
  }
57
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
58
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.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 }); }
57
59
  }
58
- NgIconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: NgIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
59
- NgIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.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 });
60
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: NgIconComponent, decorators: [{
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgIconComponent, decorators: [{
61
61
  type: Component,
62
62
  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"] }]
63
63
  }], propDecorators: { name: [{
@@ -99,11 +99,11 @@ class NgIconsModule {
99
99
  static withIcons(icons) {
100
100
  return { ngModule: NgIconsModule, providers: provideIcons(icons) };
101
101
  }
102
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgIconsModule, deps: [{ token: NgIconsToken }], target: i0.ɵɵFactoryTarget.NgModule }); }
103
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0", ngImport: i0, type: NgIconsModule, imports: [NgIconComponent], exports: [NgIconComponent] }); }
104
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgIconsModule }); }
102
105
  }
103
- NgIconsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: NgIconsModule, deps: [{ token: NgIconsToken }], target: i0.ɵɵFactoryTarget.NgModule });
104
- NgIconsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.0", ngImport: i0, type: NgIconsModule, imports: [NgIconComponent], exports: [NgIconComponent] });
105
- NgIconsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: NgIconsModule, imports: [NgIconComponent] });
106
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: NgIconsModule, decorators: [{
106
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgIconsModule, decorators: [{
107
107
  type: NgModule,
108
108
  args: [{
109
109
  imports: [NgIconComponent],
@@ -115,11 +115,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
115
115
  }] }]; } });
116
116
  // This is a temporary workaround for ng-packagr issue #2398
117
117
  class NG_ICON_DIRECTIVES {
118
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NG_ICON_DIRECTIVES, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
119
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0", ngImport: i0, type: NG_ICON_DIRECTIVES, imports: [NgIconComponent], exports: [NgIconComponent] }); }
120
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NG_ICON_DIRECTIVES }); }
118
121
  }
119
- NG_ICON_DIRECTIVES.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: NG_ICON_DIRECTIVES, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
120
- NG_ICON_DIRECTIVES.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.0", ngImport: i0, type: NG_ICON_DIRECTIVES, imports: [NgIconComponent], exports: [NgIconComponent] });
121
- NG_ICON_DIRECTIVES.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: NG_ICON_DIRECTIVES, imports: [NgIconComponent] });
122
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: NG_ICON_DIRECTIVES, decorators: [{
122
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NG_ICON_DIRECTIVES, decorators: [{
123
123
  type: NgModule,
124
124
  args: [{
125
125
  imports: [NgIconComponent],
@@ -1 +1 @@
1
- {"version":3,"file":"ng-icons-core.mjs","sources":["../../../../packages/core/src/lib/icon.provider.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/ng-icons-core.ts"],"sourcesContent":["import { InjectionToken, Optional, Provider, SkipSelf } from '@angular/core';\n\nexport function provideIcons(icons: Record<string, string>): Provider[] {\n return [\n {\n provide: NgIconsToken,\n useFactory: (parentIcons?: Record<string, string>[]) => ({\n ...parentIcons?.reduce((acc, icons) => ({ ...acc, ...icons }), {}),\n ...icons,\n }),\n deps: [[NgIconsToken, new Optional(), new SkipSelf()]],\n multi: true,\n },\n ];\n}\n\nexport const NgIconsToken = new InjectionToken<Record<string, string>[]>(\n 'Icons Token',\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","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n inject,\n Input,\n} from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { IconName } from './icon-name';\nimport { NgIconsToken } from './icon.provider';\nimport { toPropertyName } 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 = toPropertyName(name);\n\n for (const icons of [...this.icons].reverse()) {\n if (icons[name]) {\n // insert the SVG into the template\n this.template = this.sanitizer.bypassSecurityTrustHtml(icons[name]);\n return;\n }\n }\n\n // if there is no icon with this name warn the user as they probably forgot to import it\n console.warn(\n `No icon named ${name} was found. You may need to import it using the withIcons function.`,\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 private readonly sanitizer = inject(DomSanitizer);\n\n private readonly icons = inject(NgIconsToken);\n}\n\nfunction coerceCssPixelValue(value: string): string {\n return value == null ? '' : /^\\d+$/.test(value) ? `${value}px` : value;\n}\n","import { Inject, ModuleWithProviders, NgModule } from '@angular/core';\nimport { NgIconComponent } from './icon.component';\nimport { NgIconsToken, provideIcons } from './icon.provider';\n\n@NgModule({\n imports: [NgIconComponent],\n exports: [NgIconComponent],\n})\nexport class NgIconsModule {\n constructor(@Inject(NgIconsToken) icons: Record<string, string>) {\n if (Object.keys(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 return { ngModule: NgIconsModule, providers: provideIcons(icons) };\n }\n}\n\n// This is a temporary workaround for ng-packagr issue #2398\n@NgModule({\n imports: [NgIconComponent],\n exports: [NgIconComponent],\n})\nexport class NG_ICON_DIRECTIVES {}\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/icon.provider.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/ng-icons-core.ts"],"sourcesContent":["import { InjectionToken, Optional, Provider, SkipSelf } from '@angular/core';\n\nexport function provideIcons(icons: Record<string, string>): Provider[] {\n return [\n {\n provide: NgIconsToken,\n useFactory: (parentIcons?: Record<string, string>[]) => ({\n ...parentIcons?.reduce((acc, icons) => ({ ...acc, ...icons }), {}),\n ...icons,\n }),\n deps: [[NgIconsToken, new Optional(), new SkipSelf()]],\n multi: true,\n },\n ];\n}\n\nexport const NgIconsToken = new InjectionToken<Record<string, string>[]>(\n 'Icons Token',\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","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n inject,\n Input,\n} from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { IconName } from './icon-name';\nimport { NgIconsToken } from './icon.provider';\nimport { toPropertyName } 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 = toPropertyName(name);\n\n for (const icons of [...this.icons].reverse()) {\n if (icons[name]) {\n // insert the SVG into the template\n this.template = this.sanitizer.bypassSecurityTrustHtml(icons[name]);\n return;\n }\n }\n\n // if there is no icon with this name warn the user as they probably forgot to import it\n console.warn(\n `No icon named ${name} was found. You may need to import it using the withIcons function.`,\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 private readonly sanitizer = inject(DomSanitizer);\n\n private readonly icons = inject(NgIconsToken);\n}\n\nfunction coerceCssPixelValue(value: string): string {\n return value == null ? '' : /^\\d+$/.test(value) ? `${value}px` : value;\n}\n","import { Inject, ModuleWithProviders, NgModule } from '@angular/core';\nimport { NgIconComponent } from './icon.component';\nimport { NgIconsToken, provideIcons } from './icon.provider';\n\n@NgModule({\n imports: [NgIconComponent],\n exports: [NgIconComponent],\n})\nexport class NgIconsModule {\n constructor(@Inject(NgIconsToken) icons: Record<string, string>) {\n if (Object.keys(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 return { ngModule: NgIconsModule, providers: provideIcons(icons) };\n }\n}\n\n// This is a temporary workaround for ng-packagr issue #2398\n@NgModule({\n imports: [NgIconComponent],\n exports: [NgIconComponent],\n})\nexport class NG_ICON_DIRECTIVES {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -17,5 +17,5 @@ export declare class NgIconComponent {
17
17
  private readonly sanitizer;
18
18
  private readonly icons;
19
19
  static ɵfac: i0.ɵɵFactoryDeclaration<NgIconComponent, never>;
20
- static ɵcmp: i0.ɵɵComponentDeclaration<NgIconComponent, "ng-icon", never, { "name": "name"; "size": "size"; "strokeWidth": "strokeWidth"; "color": "color"; }, {}, never, never, true, never>;
20
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgIconComponent, "ng-icon", never, { "name": { "alias": "name"; "required": false; }; "size": { "alias": "size"; "required": false; }; "strokeWidth": { "alias": "strokeWidth"; "required": false; }; "color": { "alias": "color"; "required": false; }; }, {}, never, never, true, never>;
21
21
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ng-icons/core",
3
- "version": "24.0.0",
3
+ "version": "25.0.0",
4
4
  "license": "MIT",
5
5
  "keywords": [
6
6
  "angular",
@@ -18,11 +18,7 @@
18
18
  "dependencies": {
19
19
  "tslib": "^2.2.0"
20
20
  },
21
- "module": "fesm2015/ng-icons-core.mjs",
22
- "es2020": "fesm2020/ng-icons-core.mjs",
23
- "esm2020": "esm2020/ng-icons-core.mjs",
24
- "fesm2020": "fesm2020/ng-icons-core.mjs",
25
- "fesm2015": "fesm2015/ng-icons-core.mjs",
21
+ "module": "fesm2022/ng-icons-core.mjs",
26
22
  "typings": "index.d.ts",
27
23
  "exports": {
28
24
  "./package.json": {
@@ -30,11 +26,9 @@
30
26
  },
31
27
  ".": {
32
28
  "types": "./index.d.ts",
33
- "esm2020": "./esm2020/ng-icons-core.mjs",
34
- "es2020": "./fesm2020/ng-icons-core.mjs",
35
- "es2015": "./fesm2015/ng-icons-core.mjs",
36
- "node": "./fesm2015/ng-icons-core.mjs",
37
- "default": "./fesm2020/ng-icons-core.mjs"
29
+ "esm2022": "./esm2022/ng-icons-core.mjs",
30
+ "esm": "./esm2022/ng-icons-core.mjs",
31
+ "default": "./fesm2022/ng-icons-core.mjs"
38
32
  }
39
33
  },
40
34
  "sideEffects": false
@@ -1,63 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, HostBinding, inject, Input, } from '@angular/core';
2
- import { DomSanitizer } from '@angular/platform-browser';
3
- import { NgIconsToken } from './icon.provider';
4
- import { toPropertyName } from './utils/format';
5
- import * as i0 from "@angular/core";
6
- export class NgIconComponent {
7
- constructor() {
8
- this._size = '1em';
9
- this.sanitizer = inject(DomSanitizer);
10
- this.icons = inject(NgIconsToken);
11
- }
12
- /** Define the name of the icon to display */
13
- set name(name) {
14
- name = toPropertyName(name);
15
- for (const icons of [...this.icons].reverse()) {
16
- if (icons[name]) {
17
- // insert the SVG into the template
18
- this.template = this.sanitizer.bypassSecurityTrustHtml(icons[name]);
19
- return;
20
- }
21
- }
22
- // if there is no icon with this name warn the user as they probably forgot to import it
23
- console.warn(`No icon named ${name} was found. You may need to import it using the withIcons function.`);
24
- }
25
- /** Define the size of the icon */
26
- set size(size) {
27
- // if the size only contains numbers, assume it is in pixels
28
- this._size = coerceCssPixelValue(size);
29
- }
30
- get size() {
31
- return this._size;
32
- }
33
- }
34
- NgIconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: NgIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
35
- NgIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.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 });
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: NgIconComponent, decorators: [{
37
- type: Component,
38
- 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"] }]
39
- }], propDecorators: { name: [{
40
- type: Input
41
- }], template: [{
42
- type: HostBinding,
43
- args: ['innerHTML']
44
- }], size: [{
45
- type: HostBinding,
46
- args: ['style.--ng-icon__size']
47
- }, {
48
- type: Input
49
- }], strokeWidth: [{
50
- type: HostBinding,
51
- args: ['style.--ng-icon__stroke-width']
52
- }, {
53
- type: Input
54
- }], color: [{
55
- type: HostBinding,
56
- args: ['style.color']
57
- }, {
58
- type: Input
59
- }] } });
60
- function coerceCssPixelValue(value) {
61
- return value == null ? '' : /^\d+$/.test(value) ? `${value}px` : value;
62
- }
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvaWNvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEdBQ04sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBWSxNQUFNLDJCQUEyQixDQUFDO0FBRW5FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBU2hELE1BQU0sT0FBTyxlQUFlO0lBUDVCO1FBeUNVLFVBQUssR0FBVyxLQUFLLENBQUM7UUFZYixjQUFTLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRWpDLFVBQUssR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7S0FDL0M7SUFoREMsNkNBQTZDO0lBQzdDLElBQWEsSUFBSSxDQUFDLElBQXVCO1FBQ3ZDLElBQUksR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFNUIsS0FBSyxNQUFNLEtBQUssSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQzdDLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNmLG1DQUFtQztnQkFDbkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUNwRSxPQUFPO2FBQ1I7U0FDRjtRQUVELHdGQUF3RjtRQUN4RixPQUFPLENBQUMsSUFBSSxDQUNWLGlCQUFpQixJQUFJLHFFQUFxRSxDQUMzRixDQUFDO0lBQ0osQ0FBQztJQUtELGtDQUFrQztJQUNsQyxJQUVJLElBQUksQ0FBQyxJQUFZO1FBQ25CLDREQUE0RDtRQUM1RCxJQUFJLENBQUMsS0FBSyxHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQzs7NEdBaENVLGVBQWU7Z0dBQWYsZUFBZSx1VUFMaEIsRUFBRTsyRkFLRCxlQUFlO2tCQVAzQixTQUFTOytCQUNFLFNBQVMsWUFDVCxFQUFFLGNBQ0EsSUFBSSxtQkFFQyx1QkFBdUIsQ0FBQyxNQUFNOzhCQUlsQyxJQUFJO3NCQUFoQixLQUFLO2dCQWtCb0IsUUFBUTtzQkFBakMsV0FBVzt1QkFBQyxXQUFXO2dCQUtwQixJQUFJO3NCQUZQLFdBQVc7dUJBQUMsdUJBQXVCOztzQkFDbkMsS0FBSztnQkFlTixXQUFXO3NCQUZWLFdBQVc7dUJBQUMsK0JBQStCOztzQkFDM0MsS0FBSztnQkFNTixLQUFLO3NCQUZKLFdBQVc7dUJBQUMsYUFBYTs7c0JBQ3pCLEtBQUs7O0FBUVIsU0FBUyxtQkFBbUIsQ0FBQyxLQUFhO0lBQ3hDLE9BQU8sS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7QUFDekUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEhvc3RCaW5kaW5nLFxuICBpbmplY3QsXG4gIElucHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IEljb25OYW1lIH0gZnJvbSAnLi9pY29uLW5hbWUnO1xuaW1wb3J0IHsgTmdJY29uc1Rva2VuIH0gZnJvbSAnLi9pY29uLnByb3ZpZGVyJztcbmltcG9ydCB7IHRvUHJvcGVydHlOYW1lIH0gZnJvbSAnLi91dGlscy9mb3JtYXQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZy1pY29uJyxcbiAgdGVtcGxhdGU6ICcnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzdHlsZVVybHM6IFsnLi9pY29uLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBOZ0ljb25Db21wb25lbnQge1xuICAvKiogRGVmaW5lIHRoZSBuYW1lIG9mIHRoZSBpY29uIHRvIGRpc3BsYXkgKi9cbiAgQElucHV0KCkgc2V0IG5hbWUobmFtZTogSWNvbk5hbWUgfCBzdHJpbmcpIHtcbiAgICBuYW1lID0gdG9Qcm9wZXJ0eU5hbWUobmFtZSk7XG5cbiAgICBmb3IgKGNvbnN0IGljb25zIG9mIFsuLi50aGlzLmljb25zXS5yZXZlcnNlKCkpIHtcbiAgICAgIGlmIChpY29uc1tuYW1lXSkge1xuICAgICAgICAvLyBpbnNlcnQgdGhlIFNWRyBpbnRvIHRoZSB0ZW1wbGF0ZVxuICAgICAgICB0aGlzLnRlbXBsYXRlID0gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoaWNvbnNbbmFtZV0pO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gaWYgdGhlcmUgaXMgbm8gaWNvbiB3aXRoIHRoaXMgbmFtZSB3YXJuIHRoZSB1c2VyIGFzIHRoZXkgcHJvYmFibHkgZm9yZ290IHRvIGltcG9ydCBpdFxuICAgIGNvbnNvbGUud2FybihcbiAgICAgIGBObyBpY29uIG5hbWVkICR7bmFtZX0gd2FzIGZvdW5kLiBZb3UgbWF5IG5lZWQgdG8gaW1wb3J0IGl0IHVzaW5nIHRoZSB3aXRoSWNvbnMgZnVuY3Rpb24uYCxcbiAgICApO1xuICB9XG5cbiAgLyoqIFN0b3JlIHRoZSBmb3JtYXR0ZWQgaWNvbiBuYW1lICovXG4gIEBIb3N0QmluZGluZygnaW5uZXJIVE1MJykgdGVtcGxhdGU/OiBTYWZlSHRtbDtcblxuICAvKiogRGVmaW5lIHRoZSBzaXplIG9mIHRoZSBpY29uICovXG4gIEBIb3N0QmluZGluZygnc3R5bGUuLS1uZy1pY29uX19zaXplJylcbiAgQElucHV0KClcbiAgc2V0IHNpemUoc2l6ZTogc3RyaW5nKSB7XG4gICAgLy8gaWYgdGhlIHNpemUgb25seSBjb250YWlucyBudW1iZXJzLCBhc3N1bWUgaXQgaXMgaW4gcGl4ZWxzXG4gICAgdGhpcy5fc2l6ZSA9IGNvZXJjZUNzc1BpeGVsVmFsdWUoc2l6ZSk7XG4gIH1cblxuICBnZXQgc2l6ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9zaXplO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2l6ZTogc3RyaW5nID0gJzFlbSc7XG5cbiAgLyoqIERlZmluZSB0aGUgc3Ryb2tlLXdpZHRoIG9mIHRoZSBpY29uICovXG4gIEBIb3N0QmluZGluZygnc3R5bGUuLS1uZy1pY29uX19zdHJva2Utd2lkdGgnKVxuICBASW5wdXQoKVxuICBzdHJva2VXaWR0aD86IHN0cmluZyB8IG51bWJlcjtcblxuICAvKiogRGVmaW5lIHRoZSBjb2xvciBvZiB0aGUgaWNvbiAqL1xuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmNvbG9yJylcbiAgQElucHV0KClcbiAgY29sb3I/OiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBzYW5pdGl6ZXIgPSBpbmplY3QoRG9tU2FuaXRpemVyKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGljb25zID0gaW5qZWN0KE5nSWNvbnNUb2tlbik7XG59XG5cbmZ1bmN0aW9uIGNvZXJjZUNzc1BpeGVsVmFsdWUodmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiB2YWx1ZSA9PSBudWxsID8gJycgOiAvXlxcZCskLy50ZXN0KHZhbHVlKSA/IGAke3ZhbHVlfXB4YCA6IHZhbHVlO1xufVxuIl19
@@ -1,46 +0,0 @@
1
- import { Inject, NgModule } from '@angular/core';
2
- import { NgIconComponent } from './icon.component';
3
- import { NgIconsToken, provideIcons } from './icon.provider';
4
- import * as i0 from "@angular/core";
5
- export class NgIconsModule {
6
- constructor(icons) {
7
- if (Object.keys(icons).length === 0) {
8
- throw new Error('No icons have been provided. Ensure to include some icons by importing them using NgIconsModule.withIcons({ ... }).');
9
- }
10
- }
11
- /**
12
- * Define the icons that will be included in the application. This allows unused icons to
13
- * be tree-shaken away to reduce bundle size
14
- * @param icons The object containing the required icons
15
- */
16
- static withIcons(icons) {
17
- return { ngModule: NgIconsModule, providers: provideIcons(icons) };
18
- }
19
- }
20
- NgIconsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: NgIconsModule, deps: [{ token: NgIconsToken }], target: i0.ɵɵFactoryTarget.NgModule });
21
- NgIconsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.0", ngImport: i0, type: NgIconsModule, imports: [NgIconComponent], exports: [NgIconComponent] });
22
- NgIconsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: NgIconsModule, imports: [NgIconComponent] });
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: NgIconsModule, decorators: [{
24
- type: NgModule,
25
- args: [{
26
- imports: [NgIconComponent],
27
- exports: [NgIconComponent],
28
- }]
29
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
30
- type: Inject,
31
- args: [NgIconsToken]
32
- }] }]; } });
33
- // This is a temporary workaround for ng-packagr issue #2398
34
- export class NG_ICON_DIRECTIVES {
35
- }
36
- NG_ICON_DIRECTIVES.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: NG_ICON_DIRECTIVES, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
37
- NG_ICON_DIRECTIVES.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.0", ngImport: i0, type: NG_ICON_DIRECTIVES, imports: [NgIconComponent], exports: [NgIconComponent] });
38
- NG_ICON_DIRECTIVES.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: NG_ICON_DIRECTIVES, imports: [NgIconComponent] });
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: NG_ICON_DIRECTIVES, decorators: [{
40
- type: NgModule,
41
- args: [{
42
- imports: [NgIconComponent],
43
- exports: [NgIconComponent],
44
- }]
45
- }] });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvaWNvbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQU03RCxNQUFNLE9BQU8sYUFBYTtJQUN4QixZQUFrQyxLQUE2QjtRQUM3RCxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUNuQyxNQUFNLElBQUksS0FBSyxDQUNiLHFIQUFxSCxDQUN0SCxDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxTQUFTLENBQ2QsS0FBNkI7UUFFN0IsT0FBTyxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO0lBQ3JFLENBQUM7OzBHQWxCVSxhQUFhLGtCQUNKLFlBQVk7MkdBRHJCLGFBQWEsWUFIZCxlQUFlLGFBQ2YsZUFBZTsyR0FFZCxhQUFhLFlBSGQsZUFBZTsyRkFHZCxhQUFhO2tCQUp6QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLGVBQWUsQ0FBQztvQkFDMUIsT0FBTyxFQUFFLENBQUMsZUFBZSxDQUFDO2lCQUMzQjs7MEJBRWMsTUFBTTsyQkFBQyxZQUFZOztBQW9CbEMsNERBQTREO0FBSzVELE1BQU0sT0FBTyxrQkFBa0I7OytHQUFsQixrQkFBa0I7Z0hBQWxCLGtCQUFrQixZQUhuQixlQUFlLGFBQ2YsZUFBZTtnSEFFZCxrQkFBa0IsWUFIbkIsZUFBZTsyRkFHZCxrQkFBa0I7a0JBSjlCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsZUFBZSxDQUFDO29CQUMxQixPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUM7aUJBQzNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdJY29uQ29tcG9uZW50IH0gZnJvbSAnLi9pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZ0ljb25zVG9rZW4sIHByb3ZpZGVJY29ucyB9IGZyb20gJy4vaWNvbi5wcm92aWRlcic7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtOZ0ljb25Db21wb25lbnRdLFxuICBleHBvcnRzOiBbTmdJY29uQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgTmdJY29uc01vZHVsZSB7XG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoTmdJY29uc1Rva2VuKSBpY29uczogUmVjb3JkPHN0cmluZywgc3RyaW5nPikge1xuICAgIGlmIChPYmplY3Qua2V5cyhpY29ucykubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdObyBpY29ucyBoYXZlIGJlZW4gcHJvdmlkZWQuIEVuc3VyZSB0byBpbmNsdWRlIHNvbWUgaWNvbnMgYnkgaW1wb3J0aW5nIHRoZW0gdXNpbmcgTmdJY29uc01vZHVsZS53aXRoSWNvbnMoeyAuLi4gfSkuJyxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIERlZmluZSB0aGUgaWNvbnMgdGhhdCB3aWxsIGJlIGluY2x1ZGVkIGluIHRoZSBhcHBsaWNhdGlvbi4gVGhpcyBhbGxvd3MgdW51c2VkIGljb25zIHRvXG4gICAqIGJlIHRyZWUtc2hha2VuIGF3YXkgdG8gcmVkdWNlIGJ1bmRsZSBzaXplXG4gICAqIEBwYXJhbSBpY29ucyBUaGUgb2JqZWN0IGNvbnRhaW5pbmcgdGhlIHJlcXVpcmVkIGljb25zXG4gICAqL1xuICBzdGF0aWMgd2l0aEljb25zKFxuICAgIGljb25zOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+LFxuICApOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE5nSWNvbnNNb2R1bGU+IHtcbiAgICByZXR1cm4geyBuZ01vZHVsZTogTmdJY29uc01vZHVsZSwgcHJvdmlkZXJzOiBwcm92aWRlSWNvbnMoaWNvbnMpIH07XG4gIH1cbn1cblxuLy8gVGhpcyBpcyBhIHRlbXBvcmFyeSB3b3JrYXJvdW5kIGZvciBuZy1wYWNrYWdyIGlzc3VlICMyMzk4XG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbTmdJY29uQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW05nSWNvbkNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIE5HX0lDT05fRElSRUNUSVZFUyB7fVxuIl19
@@ -1,134 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { Optional, SkipSelf, InjectionToken, inject, Component, ChangeDetectionStrategy, Input, HostBinding, NgModule, Inject } from '@angular/core';
3
- import { DomSanitizer } from '@angular/platform-browser';
4
-
5
- function provideIcons(icons) {
6
- return [
7
- {
8
- provide: NgIconsToken,
9
- useFactory: (parentIcons) => (Object.assign(Object.assign({}, parentIcons === null || parentIcons === void 0 ? void 0 : parentIcons.reduce((acc, icons) => (Object.assign(Object.assign({}, acc), icons)), {})), icons)),
10
- deps: [[NgIconsToken, new Optional(), new SkipSelf()]],
11
- multi: true,
12
- },
13
- ];
14
- }
15
- const NgIconsToken = new InjectionToken('Icons Token');
16
-
17
- /**
18
- * Hyphenated to lowerCamelCase
19
- */
20
- function toPropertyName(str) {
21
- return str
22
- .replace(/([^a-zA-Z0-9])+(.)?/g, (_, __, chr) => chr ? chr.toUpperCase() : '')
23
- .replace(/[^a-zA-Z\d]/g, '')
24
- .replace(/^([A-Z])/, m => m.toLowerCase());
25
- }
26
-
27
- class NgIconComponent {
28
- constructor() {
29
- this._size = '1em';
30
- this.sanitizer = inject(DomSanitizer);
31
- this.icons = inject(NgIconsToken);
32
- }
33
- /** Define the name of the icon to display */
34
- set name(name) {
35
- name = toPropertyName(name);
36
- for (const icons of [...this.icons].reverse()) {
37
- if (icons[name]) {
38
- // insert the SVG into the template
39
- this.template = this.sanitizer.bypassSecurityTrustHtml(icons[name]);
40
- return;
41
- }
42
- }
43
- // if there is no icon with this name warn the user as they probably forgot to import it
44
- console.warn(`No icon named ${name} was found. You may need to import it using the withIcons function.`);
45
- }
46
- /** Define the size of the icon */
47
- set size(size) {
48
- // if the size only contains numbers, assume it is in pixels
49
- this._size = coerceCssPixelValue(size);
50
- }
51
- get size() {
52
- return this._size;
53
- }
54
- }
55
- NgIconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: NgIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
56
- NgIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.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 });
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: NgIconComponent, decorators: [{
58
- type: Component,
59
- 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"] }]
60
- }], propDecorators: { name: [{
61
- type: Input
62
- }], template: [{
63
- type: HostBinding,
64
- args: ['innerHTML']
65
- }], size: [{
66
- type: HostBinding,
67
- args: ['style.--ng-icon__size']
68
- }, {
69
- type: Input
70
- }], strokeWidth: [{
71
- type: HostBinding,
72
- args: ['style.--ng-icon__stroke-width']
73
- }, {
74
- type: Input
75
- }], color: [{
76
- type: HostBinding,
77
- args: ['style.color']
78
- }, {
79
- type: Input
80
- }] } });
81
- function coerceCssPixelValue(value) {
82
- return value == null ? '' : /^\d+$/.test(value) ? `${value}px` : value;
83
- }
84
-
85
- class NgIconsModule {
86
- constructor(icons) {
87
- if (Object.keys(icons).length === 0) {
88
- throw new Error('No icons have been provided. Ensure to include some icons by importing them using NgIconsModule.withIcons({ ... }).');
89
- }
90
- }
91
- /**
92
- * Define the icons that will be included in the application. This allows unused icons to
93
- * be tree-shaken away to reduce bundle size
94
- * @param icons The object containing the required icons
95
- */
96
- static withIcons(icons) {
97
- return { ngModule: NgIconsModule, providers: provideIcons(icons) };
98
- }
99
- }
100
- NgIconsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: NgIconsModule, deps: [{ token: NgIconsToken }], target: i0.ɵɵFactoryTarget.NgModule });
101
- NgIconsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.0", ngImport: i0, type: NgIconsModule, imports: [NgIconComponent], exports: [NgIconComponent] });
102
- NgIconsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: NgIconsModule, imports: [NgIconComponent] });
103
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: NgIconsModule, decorators: [{
104
- type: NgModule,
105
- args: [{
106
- imports: [NgIconComponent],
107
- exports: [NgIconComponent],
108
- }]
109
- }], ctorParameters: function () {
110
- return [{ type: undefined, decorators: [{
111
- type: Inject,
112
- args: [NgIconsToken]
113
- }] }];
114
- } });
115
- // This is a temporary workaround for ng-packagr issue #2398
116
- class NG_ICON_DIRECTIVES {
117
- }
118
- NG_ICON_DIRECTIVES.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: NG_ICON_DIRECTIVES, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
119
- NG_ICON_DIRECTIVES.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.0", ngImport: i0, type: NG_ICON_DIRECTIVES, imports: [NgIconComponent], exports: [NgIconComponent] });
120
- NG_ICON_DIRECTIVES.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: NG_ICON_DIRECTIVES, imports: [NgIconComponent] });
121
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: NG_ICON_DIRECTIVES, decorators: [{
122
- type: NgModule,
123
- args: [{
124
- imports: [NgIconComponent],
125
- exports: [NgIconComponent],
126
- }]
127
- }] });
128
-
129
- /**
130
- * Generated bundle index. Do not edit.
131
- */
132
-
133
- export { NG_ICON_DIRECTIVES, NgIconComponent, NgIconsModule, NgIconsToken, provideIcons };
134
- //# sourceMappingURL=ng-icons-core.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ng-icons-core.mjs","sources":["../../../../packages/core/src/lib/icon.provider.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/ng-icons-core.ts"],"sourcesContent":["import { InjectionToken, Optional, Provider, SkipSelf } from '@angular/core';\n\nexport function provideIcons(icons: Record<string, string>): Provider[] {\n return [\n {\n provide: NgIconsToken,\n useFactory: (parentIcons?: Record<string, string>[]) => ({\n ...parentIcons?.reduce((acc, icons) => ({ ...acc, ...icons }), {}),\n ...icons,\n }),\n deps: [[NgIconsToken, new Optional(), new SkipSelf()]],\n multi: true,\n },\n ];\n}\n\nexport const NgIconsToken = new InjectionToken<Record<string, string>[]>(\n 'Icons Token',\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","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n inject,\n Input,\n} from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { IconName } from './icon-name';\nimport { NgIconsToken } from './icon.provider';\nimport { toPropertyName } 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 = toPropertyName(name);\n\n for (const icons of [...this.icons].reverse()) {\n if (icons[name]) {\n // insert the SVG into the template\n this.template = this.sanitizer.bypassSecurityTrustHtml(icons[name]);\n return;\n }\n }\n\n // if there is no icon with this name warn the user as they probably forgot to import it\n console.warn(\n `No icon named ${name} was found. You may need to import it using the withIcons function.`,\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 private readonly sanitizer = inject(DomSanitizer);\n\n private readonly icons = inject(NgIconsToken);\n}\n\nfunction coerceCssPixelValue(value: string): string {\n return value == null ? '' : /^\\d+$/.test(value) ? `${value}px` : value;\n}\n","import { Inject, ModuleWithProviders, NgModule } from '@angular/core';\nimport { NgIconComponent } from './icon.component';\nimport { NgIconsToken, provideIcons } from './icon.provider';\n\n@NgModule({\n imports: [NgIconComponent],\n exports: [NgIconComponent],\n})\nexport class NgIconsModule {\n constructor(@Inject(NgIconsToken) icons: Record<string, string>) {\n if (Object.keys(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 return { ngModule: NgIconsModule, providers: provideIcons(icons) };\n }\n}\n\n// This is a temporary workaround for ng-packagr issue #2398\n@NgModule({\n imports: [NgIconComponent],\n exports: [NgIconComponent],\n})\nexport class NG_ICON_DIRECTIVES {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
File without changes
File without changes
File without changes
File without changes
File without changes