@ng-icons/core 13.1.0 → 13.2.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
@@ -1,97 +1,100 @@
1
- # Ng Icons
2
-
3
- The all-in-one icon library for Angular. This allows you to use icons from multiple icon sets with a single icon component.
4
- Containing over 17000+ icons for you to use in your projects.
5
-
6
- Currently, we support the following libraries:
7
-
8
- - [Bootstrap Icons](https://icons.getbootstrap.com/)
9
- - [Heroicons](https://heroicons.com/)
10
- - [Ionicons](https://ionic.io/ionicons)
11
- - [Material Icons](https://fonts.google.com/icons?selected=Material+Icons)
12
- - [CSS.gg](https://css.gg/)
13
- - [Feather Icons](https://feathericons.com/)
14
- - [Jam Icons](https://jam-icons.com/)
15
- - [Octicons](https://github.com/primer/octicons)
16
- - [Radix UI Icons](https://icons.modulz.app/)
17
- - [Tabler Icons](https://tabler-icons.io/)
18
- - [Akar Icons](https://akaricons.com/)
19
-
20
- Got suggestions for additional iconsets? Create an issue and we can consider adding them!
21
-
22
- ## Supported Versions
23
-
24
- | Angular Version | Ng Icon Version |
25
- | --------------- | ------------------ |
26
- | 11.x.x | 12.x.x |
27
- | 12.x.x | 13.x.x (or 12.x.x) |
28
- | 13.x.x | 13.x.x |
29
-
30
- > 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.
31
-
32
- ## Installation
33
-
34
- You must install the `@ng-icons/core` package, however you only need to install the iconset libraries you intend to use.
35
-
36
- E.g:
37
-
38
- ```bash
39
- npm i @ng-icons/core @ng-icons/heroicons ...
40
- ```
41
-
42
- or
43
-
44
- ```bash
45
- yarn add @ng-icons/core @ng-icons/heroicons ...
46
- ```
47
-
48
- ## Packages
49
-
50
- The following packages are available:
51
-
52
- | Package | License |
53
- | --------------------------- | ---------- |
54
- | `@ng-icons/core` | MIT |
55
- | `@ng-icons/bootstrap-icons` | MIT |
56
- | `@ng-icons/heroicons` | MIT |
57
- | `@ng-icons/ionicons` | MIT |
58
- | `@ng-icons/material-icons` | Apache 2.0 |
59
- | `@ng-icons/css.gg` | MIT |
60
- | `@ng-icons/feather-icons` | MIT |
61
- | `@ng-icons/jam-icons` | MIT |
62
- | `@ng-icons/octicons` | MIT |
63
- | `@ng-icons/radix-icons` | MIT |
64
- | `@ng-icons/tabler-icons` | MIT |
65
- | `@ng-icons/akar-icons` | MIT |
66
-
67
- ## Usage
68
-
69
- Import the `NgIconsModule` and register the icons you wish to use:
70
-
71
- ```ts
72
- import { NgIconsModule } from '@ng-icons/core';
73
- import { FeatherAirplay } from '@ng-icons/feather-icons';
74
- import { HeroUsers } from '@ng-icons/heroicons';
75
-
76
- @NgModule({
77
- imports: [
78
- BrowserModule,
79
- NgIconsModule.withIcons({ FeatherAirplay, HeroUsers }),
80
- ],
81
- })
82
- export class AppModule {}
83
- ```
84
-
85
- You can register icons in multiple modules, this allows icons to be lazy loaded in child modules.
86
-
87
- You can then use the icon in your templates:
88
-
89
- ```html
90
- <ng-icon name="feather-airplay"></ng-icon>
91
- ```
92
-
93
- | Name | Type | Description |
94
- | ----------- | -------------------- | ---------------------------------------------------------------------------------- |
95
- | size | `string` | Define the size of the icon. This defaults to the current font size. |
96
- | color | `string` | Define the color of the icon. This defaults to the current text color. |
97
- | strokeWidth | `string` \| `number` | Define the stroke-width of the icon. This only works on iconsets that use strokes. |
1
+
2
+ <img width="847" alt="logo" src="https://user-images.githubusercontent.com/20795331/142078474-da890691-b524-4144-9640-2f7f9da3a3a3.png">
3
+
4
+ # Ng Icons
5
+
6
+ The all-in-one icon library for Angular. This allows you to use icons from multiple icon sets with a single icon component.
7
+ Containing over 17000+ icons for you to use in your projects.
8
+
9
+ Currently, we support the following libraries:
10
+
11
+ - [Bootstrap Icons](https://icons.getbootstrap.com/)
12
+ - [Heroicons](https://heroicons.com/)
13
+ - [Ionicons](https://ionic.io/ionicons)
14
+ - [Material Icons](https://fonts.google.com/icons?selected=Material+Icons)
15
+ - [CSS.gg](https://css.gg/)
16
+ - [Feather Icons](https://feathericons.com/)
17
+ - [Jam Icons](https://jam-icons.com/)
18
+ - [Octicons](https://github.com/primer/octicons)
19
+ - [Radix UI Icons](https://icons.modulz.app/)
20
+ - [Tabler Icons](https://tabler-icons.io/)
21
+ - [Akar Icons](https://akaricons.com/)
22
+
23
+ Got suggestions for additional iconsets? Create an issue and we can consider adding them!
24
+
25
+ ## Supported Versions
26
+
27
+ | Angular Version | Ng Icon Version |
28
+ | --------------- | ------------------ |
29
+ | 11.x.x | 12.x.x |
30
+ | 12.x.x | 13.x.x (or 12.x.x) |
31
+ | 13.x.x | 13.x.x |
32
+
33
+ > 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.
34
+
35
+ ## Installation
36
+
37
+ You must install the `@ng-icons/core` package, however you only need to install the iconset libraries you intend to use.
38
+
39
+ E.g:
40
+
41
+ ```bash
42
+ npm i @ng-icons/core @ng-icons/heroicons ...
43
+ ```
44
+
45
+ or
46
+
47
+ ```bash
48
+ yarn add @ng-icons/core @ng-icons/heroicons ...
49
+ ```
50
+
51
+ ## Packages
52
+
53
+ The following packages are available:
54
+
55
+ | Package | License |
56
+ | --------------------------- | ---------- |
57
+ | `@ng-icons/core` | MIT |
58
+ | `@ng-icons/bootstrap-icons` | MIT |
59
+ | `@ng-icons/heroicons` | MIT |
60
+ | `@ng-icons/ionicons` | MIT |
61
+ | `@ng-icons/material-icons` | Apache 2.0 |
62
+ | `@ng-icons/css.gg` | MIT |
63
+ | `@ng-icons/feather-icons` | MIT |
64
+ | `@ng-icons/jam-icons` | MIT |
65
+ | `@ng-icons/octicons` | MIT |
66
+ | `@ng-icons/radix-icons` | MIT |
67
+ | `@ng-icons/tabler-icons` | MIT |
68
+ | `@ng-icons/akar-icons` | MIT |
69
+
70
+ ## Usage
71
+
72
+ Import the `NgIconsModule` and register the icons you wish to use:
73
+
74
+ ```ts
75
+ import { NgIconsModule } from '@ng-icons/core';
76
+ import { FeatherAirplay } from '@ng-icons/feather-icons';
77
+ import { HeroUsers } from '@ng-icons/heroicons';
78
+
79
+ @NgModule({
80
+ imports: [
81
+ BrowserModule,
82
+ NgIconsModule.withIcons({ FeatherAirplay, HeroUsers }),
83
+ ],
84
+ })
85
+ export class AppModule {}
86
+ ```
87
+
88
+ You can register icons in multiple modules, this allows icons to be lazy loaded in child modules.
89
+
90
+ You can then use the icon in your templates:
91
+
92
+ ```html
93
+ <ng-icon name="feather-airplay"></ng-icon>
94
+ ```
95
+
96
+ | Name | Type | Description |
97
+ | ----------- | -------------------- | ---------------------------------------------------------------------------------- |
98
+ | size | `string` | Define the size of the icon. This defaults to the current font size. |
99
+ | color | `string` | Define the color of the icon. This defaults to the current text color. |
100
+ | strokeWidth | `string` \| `number` | Define the stroke-width of the icon. This only works on iconsets that use strokes. |
package/esm2020/index.mjs CHANGED
@@ -1,4 +1,3 @@
1
- export * from './lib/icon.component';
2
- export * from './lib/icon.module';
3
- export * from './lib/icon.token';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2ljb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ljb24ubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ljb24udG9rZW4nO1xuIl19
1
+ export * from './lib/icon.component';
2
+ export * from './lib/icon.module';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9pY29uLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ljb24ubW9kdWxlJztcclxuIl19
@@ -1,56 +1,67 @@
1
- import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, Inject, Input, } from '@angular/core';
2
- import { IconsToken } from './icon.token';
3
- import { DomSanitizer } from '@angular/platform-browser';
4
- import { toUpperCamelCase } from './utils/format';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/platform-browser";
7
- export class IconComponent {
8
- constructor(elementRef, sanitizer, icons) {
9
- this.elementRef = elementRef;
10
- this.sanitizer = sanitizer;
11
- this.icons = icons;
12
- /** Define the size of the icon */
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.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.icons[name]);
25
- }
26
- }
27
- IconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: IconComponent, deps: [{ token: i0.ElementRef }, { token: i1.DomSanitizer }, { token: IconsToken }], target: i0.ɵɵFactoryTarget.Component });
28
- IconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", 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 });
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: IconComponent, decorators: [{
30
- type: Component,
31
- args: [{ selector: 'ng-icon', template: '', changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:inline-block;width:var(--ng-icon__size);height:var(--ng-icon__size)}\n"] }]
32
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.DomSanitizer }, { type: undefined, decorators: [{
33
- type: Inject,
34
- args: [IconsToken]
35
- }] }]; }, propDecorators: { name: [{
36
- type: Input
37
- }], template: [{
38
- type: HostBinding,
39
- args: ['innerHTML']
40
- }], size: [{
41
- type: HostBinding,
42
- args: ['style.--ng-icon__size']
43
- }, {
44
- type: Input
45
- }], strokeWidth: [{
46
- type: HostBinding,
47
- args: ['style.--ng-icon__stroke-width']
48
- }, {
49
- type: Input
50
- }], color: [{
51
- type: HostBinding,
52
- args: ['style.color']
53
- }, {
54
- type: Input
55
- }] } });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvaWNvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBWSxNQUFNLDJCQUEyQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFRbEQsTUFBTSxPQUFPLGFBQWE7SUFtQ3hCLFlBQ21CLFVBQW1DLEVBQ25DLFNBQXVCLEVBQ0gsS0FBNkI7UUFGakQsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDbkMsY0FBUyxHQUFULFNBQVMsQ0FBYztRQUNILFVBQUssR0FBTCxLQUFLLENBQXdCO1FBbEJwRSxrQ0FBa0M7UUFHbEMsU0FBSSxHQUFXLEtBQUssQ0FBQztJQWdCbEIsQ0FBQztJQXRDSiw2Q0FBNkM7SUFDN0MsSUFBYSxJQUFJLENBQUMsSUFBWTtRQUM1QixJQUFJLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFOUIsd0ZBQXdGO1FBQ3hGLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNwQyxPQUFPLENBQUMsSUFBSSxDQUNWLGlCQUFpQixJQUFJLHFFQUFxRSxDQUMzRixDQUFDO1lBQ0YsT0FBTztTQUNSO1FBRUQsbUNBQW1DO1FBQ25DLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDM0UsQ0FBQzs7MEdBZlUsYUFBYSx3RUFzQ2QsVUFBVTs4RkF0Q1QsYUFBYSxtVEFKZCxFQUFFOzJGQUlELGFBQWE7a0JBTnpCLFNBQVM7K0JBQ0UsU0FBUyxZQUNULEVBQUUsbUJBRUssdUJBQXVCLENBQUMsTUFBTTs7MEJBd0M1QyxNQUFNOzJCQUFDLFVBQVU7NENBcENQLElBQUk7c0JBQWhCLEtBQUs7Z0JBZ0JvQixRQUFRO3NCQUFqQyxXQUFXO3VCQUFDLFdBQVc7Z0JBS3hCLElBQUk7c0JBRkgsV0FBVzt1QkFBQyx1QkFBdUI7O3NCQUNuQyxLQUFLO2dCQU1OLFdBQVc7c0JBRlYsV0FBVzt1QkFBQywrQkFBK0I7O3NCQUMzQyxLQUFLO2dCQU1OLEtBQUs7c0JBRkosV0FBVzt1QkFBQyxhQUFhOztzQkFDekIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBJbmplY3QsXG4gIElucHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEljb25zVG9rZW4gfSBmcm9tICcuL2ljb24udG9rZW4nO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgdG9VcHBlckNhbWVsQ2FzZSB9IGZyb20gJy4vdXRpbHMvZm9ybWF0JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmctaWNvbicsXG4gIHRlbXBsYXRlOiAnJyxcbiAgc3R5bGVVcmxzOiBbJy4vaWNvbi5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgSWNvbkNvbXBvbmVudCB7XG4gIC8qKiBEZWZpbmUgdGhlIG5hbWUgb2YgdGhlIGljb24gdG8gZGlzcGxheSAqL1xuICBASW5wdXQoKSBzZXQgbmFtZShuYW1lOiBzdHJpbmcpIHtcbiAgICBuYW1lID0gdG9VcHBlckNhbWVsQ2FzZShuYW1lKTtcblxuICAgIC8vIGlmIHRoZXJlIGlzIG5vIGljb24gd2l0aCB0aGlzIG5hbWUgd2FybiB0aGUgdXNlciBhcyB0aGV5IHByb2JhYmx5IGZvcmdvdCB0byBpbXBvcnQgaXRcbiAgICBpZiAoIXRoaXMuaWNvbnMuaGFzT3duUHJvcGVydHkobmFtZSkpIHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgYE5vIGljb24gbmFtZWQgJHtuYW1lfSB3YXMgZm91bmQuIFlvdSBtYXkgbmVlZCB0byBpbXBvcnQgaXQgdXNpbmcgdGhlIHdpdGhJY29ucyBmdW5jdGlvbi5gLFxuICAgICAgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBpbnNlcnQgdGhlIFNWRyBpbnRvIHRoZSB0ZW1wbGF0ZVxuICAgIHRoaXMudGVtcGxhdGUgPSB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbCh0aGlzLmljb25zW25hbWVdKTtcbiAgfVxuXG4gIC8qKiBTdG9yZSB0aGUgZm9ybWF0dGVkIGljb24gbmFtZSAqL1xuICBASG9zdEJpbmRpbmcoJ2lubmVySFRNTCcpIHRlbXBsYXRlPzogU2FmZUh0bWw7XG5cbiAgLyoqIERlZmluZSB0aGUgc2l6ZSBvZiB0aGUgaWNvbiAqL1xuICBASG9zdEJpbmRpbmcoJ3N0eWxlLi0tbmctaWNvbl9fc2l6ZScpXG4gIEBJbnB1dCgpXG4gIHNpemU6IHN0cmluZyA9ICcxZW0nO1xuXG4gIC8qKiBEZWZpbmUgdGhlIHN0cm9rZS13aWR0aCBvZiB0aGUgaWNvbiAqL1xuICBASG9zdEJpbmRpbmcoJ3N0eWxlLi0tbmctaWNvbl9fc3Ryb2tlLXdpZHRoJylcbiAgQElucHV0KClcbiAgc3Ryb2tlV2lkdGg/OiBzdHJpbmcgfCBudW1iZXI7XG5cbiAgLyoqIERlZmluZSB0aGUgY29sb3Igb2YgdGhlIGljb24gKi9cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5jb2xvcicpXG4gIEBJbnB1dCgpXG4gIGNvbG9yPzogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJpdmF0ZSByZWFkb25seSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcixcbiAgICBASW5qZWN0KEljb25zVG9rZW4pIHByaXZhdGUgcmVhZG9ubHkgaWNvbnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4sXG4gICkge31cbn1cbiJdfQ==
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.1.1", 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.1.1", 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.1.1", 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,48 +1,33 @@
1
- import { Inject, NgModule, Optional, SkipSelf, } from '@angular/core';
2
- import { IconComponent } from './icon.component';
3
- import { IconsToken } from './icon.token';
4
- import * as i0 from "@angular/core";
5
- export class NgIconsModule {
6
- constructor(icons) {
7
- this.icons = icons;
8
- if (!this.icons) {
9
- throw new Error('No icons have been provided. Ensure to include some icons by importing them using NgIconsModule.withIcons({ ... }).');
10
- }
11
- }
12
- /**
13
- * Define the icons that will be included in the application. This allows unused icons to
14
- * be tree-shaken away to reduce bundle size
15
- * @param icons The object containing the required icons
16
- */
17
- static withIcons(icons) {
18
- return {
19
- ngModule: NgIconsModule,
20
- providers: [
21
- {
22
- provide: IconsToken,
23
- useFactory: (existingIcons = {}) => ({
24
- ...existingIcons,
25
- ...icons,
26
- }),
27
- deps: [[new Optional(), new SkipSelf(), new Inject(IconsToken)]],
28
- },
29
- ],
30
- };
31
- }
32
- }
33
- NgIconsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: NgIconsModule, deps: [{ token: IconsToken, optional: true }], target: i0.ɵɵFactoryTarget.NgModule });
34
- NgIconsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: NgIconsModule, declarations: [IconComponent], exports: [IconComponent] });
35
- NgIconsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: NgIconsModule });
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: NgIconsModule, decorators: [{
37
- type: NgModule,
38
- args: [{
39
- declarations: [IconComponent],
40
- exports: [IconComponent],
41
- }]
42
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
43
- type: Optional
44
- }, {
45
- type: Inject,
46
- args: [IconsToken]
47
- }] }]; } });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvaWNvbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLE1BQU0sRUFFTixRQUFRLEVBQ1IsUUFBUSxFQUNSLFFBQVEsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFNMUMsTUFBTSxPQUFPLGFBQWE7SUFDeEIsWUFHbUIsS0FBK0I7UUFBL0IsVUFBSyxHQUFMLEtBQUssQ0FBMEI7UUFFaEQsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZixNQUFNLElBQUksS0FBSyxDQUNiLHFIQUFxSCxDQUN0SCxDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxTQUFTLENBQ2QsS0FBNkI7UUFFN0IsT0FBTztZQUNMLFFBQVEsRUFBRSxhQUFhO1lBQ3ZCLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsVUFBVTtvQkFDbkIsVUFBVSxFQUFFLENBQUMsZ0JBQXdDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQzt3QkFDM0QsR0FBRyxhQUFhO3dCQUNoQixHQUFHLEtBQUs7cUJBQ1QsQ0FBQztvQkFDRixJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksUUFBUSxFQUFFLEVBQUUsSUFBSSxRQUFRLEVBQUUsRUFBRSxJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO2lCQUNqRTthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7OzBHQWxDVSxhQUFhLGtCQUdkLFVBQVU7MkdBSFQsYUFBYSxpQkFIVCxhQUFhLGFBQ2xCLGFBQWE7MkdBRVosYUFBYTsyRkFBYixhQUFhO2tCQUp6QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLGFBQWEsQ0FBQztvQkFDN0IsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDO2lCQUN6Qjs7MEJBR0ksUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSW5qZWN0LFxuICBNb2R1bGVXaXRoUHJvdmlkZXJzLFxuICBOZ01vZHVsZSxcbiAgT3B0aW9uYWwsXG4gIFNraXBTZWxmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuL2ljb24uY29tcG9uZW50JztcbmltcG9ydCB7IEljb25zVG9rZW4gfSBmcm9tICcuL2ljb24udG9rZW4nO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtJY29uQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW0ljb25Db21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ0ljb25zTW9kdWxlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKClcbiAgICBASW5qZWN0KEljb25zVG9rZW4pXG4gICAgcHJpdmF0ZSByZWFkb25seSBpY29uczogUmVjb3JkPHN0cmluZywgc3RyaW5nPltdLFxuICApIHtcbiAgICBpZiAoIXRoaXMuaWNvbnMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ05vIGljb25zIGhhdmUgYmVlbiBwcm92aWRlZC4gRW5zdXJlIHRvIGluY2x1ZGUgc29tZSBpY29ucyBieSBpbXBvcnRpbmcgdGhlbSB1c2luZyBOZ0ljb25zTW9kdWxlLndpdGhJY29ucyh7IC4uLiB9KS4nLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRGVmaW5lIHRoZSBpY29ucyB0aGF0IHdpbGwgYmUgaW5jbHVkZWQgaW4gdGhlIGFwcGxpY2F0aW9uLiBUaGlzIGFsbG93cyB1bnVzZWQgaWNvbnMgdG9cbiAgICogYmUgdHJlZS1zaGFrZW4gYXdheSB0byByZWR1Y2UgYnVuZGxlIHNpemVcbiAgICogQHBhcmFtIGljb25zIFRoZSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVxdWlyZWQgaWNvbnNcbiAgICovXG4gIHN0YXRpYyB3aXRoSWNvbnMoXG4gICAgaWNvbnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4sXG4gICk6IE1vZHVsZVdpdGhQcm92aWRlcnM8TmdJY29uc01vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogTmdJY29uc01vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogSWNvbnNUb2tlbixcbiAgICAgICAgICB1c2VGYWN0b3J5OiAoZXhpc3RpbmdJY29uczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9KSA9PiAoe1xuICAgICAgICAgICAgLi4uZXhpc3RpbmdJY29ucyxcbiAgICAgICAgICAgIC4uLmljb25zLFxuICAgICAgICAgIH0pLFxuICAgICAgICAgIGRlcHM6IFtbbmV3IE9wdGlvbmFsKCksIG5ldyBTa2lwU2VsZigpLCBuZXcgSW5qZWN0KEljb25zVG9rZW4pXV0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
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.1.1", ngImport: i0, type: NgIconsModule, deps: [{ token: i1.IconService }], target: i0.ɵɵFactoryTarget.NgModule });
24
+ NgIconsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: NgIconsModule, declarations: [IconComponent], exports: [IconComponent] });
25
+ NgIconsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: NgIconsModule });
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", 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=
@@ -0,0 +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.1.1", ngImport: i0, type: IconService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
18
+ IconService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: IconService, providedIn: 'root' });
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: IconService, decorators: [{
20
+ type: Injectable,
21
+ args: [{
22
+ providedIn: 'root',
23
+ }]
24
+ }] });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL2ljb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sV0FBVztJQUl0QixxQ0FBcUM7SUFDckMsSUFBSSxLQUFLO1FBQ1AsT0FBTyxXQUFXLENBQUMsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBNkI7UUFDM0MsV0FBVyxDQUFDLEtBQUssR0FBRyxFQUFFLEdBQUcsV0FBVyxDQUFDLEtBQUssRUFBRSxHQUFHLEtBQUssRUFBRSxDQUFDO0lBQ3pELENBQUM7O0FBYkQsaUNBQWlDO0FBQ2xCLGlCQUFLLEdBQXFDLEVBQUcsQ0FBQTt3R0FGakQsV0FBVzs0R0FBWCxXQUFXLGNBRlYsTUFBTTsyRkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJY29uU2VydmljZSB7XHJcbiAgLyoqIFN0b3JlIHRoZSBhdmFpbGFibGUgaWNvbnMuICovXHJcbiAgcHJpdmF0ZSBzdGF0aWMgaWNvbnM6IFJlYWRvbmx5PFJlY29yZDxzdHJpbmcsIHN0cmluZz4+ID0ge307XHJcblxyXG4gIC8qKiBBY2Nlc3MgdGhlIGljb25zIGluIHRoZSBjbGFzcy4gKi9cclxuICBnZXQgaWNvbnMoKTogUmVhZG9ubHk8UmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xyXG4gICAgcmV0dXJuIEljb25TZXJ2aWNlLmljb25zO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSW5zZXJ0IGljb25zIGludG8gdGhlIGljb25zZXRcclxuICAgKi9cclxuICBzdGF0aWMgYWRkSWNvbnMoaWNvbnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pOiB2b2lkIHtcclxuICAgIEljb25TZXJ2aWNlLmljb25zID0geyAuLi5JY29uU2VydmljZS5pY29ucywgLi4uaWNvbnMgfTtcclxuICB9XHJcbn1cclxuIl19
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL3V0aWxzL2Zvcm1hdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxHQUFXO0lBQzFDLE9BQU8sYUFBYSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQzVDLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxjQUFjLENBQUMsR0FBVztJQUN4QyxPQUFPLEdBQUc7U0FDUCxPQUFPLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQzlDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQzdCO1NBQ0EsT0FBTyxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUM7U0FDM0IsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0FBQy9DLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxhQUFhLENBQUMsR0FBVztJQUN2QyxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBIeXBoZW5hdGVkIHRvIFVwcGVyQ2FtZWxDYXNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b1VwcGVyQ2FtZWxDYXNlKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHRvQ2FwaXRhbENhc2UodG9Qcm9wZXJ0eU5hbWUoc3RyKSk7XG59XG5cbi8qKlxuICogSHlwaGVuYXRlZCB0byBsb3dlckNhbWVsQ2FzZVxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9Qcm9wZXJ0eU5hbWUoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gc3RyXG4gICAgLnJlcGxhY2UoLyhbXmEtekEtWjAtOV0pKyguKT8vZywgKF8sIF9fLCBjaHIpID0+XG4gICAgICBjaHIgPyBjaHIudG9VcHBlckNhc2UoKSA6ICcnLFxuICAgIClcbiAgICAucmVwbGFjZSgvW15hLXpBLVpcXGRdL2csICcnKVxuICAgIC5yZXBsYWNlKC9eKFtBLVpdKS8sIG0gPT4gbS50b0xvd2VyQ2FzZSgpKTtcbn1cblxuLyoqXG4gKiBDYXBpdGFsaXplcyB0aGUgZmlyc3QgbGV0dGVyIG9mIGEgc3RyaW5nXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b0NhcGl0YWxDYXNlKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHN0ci5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHN0ci5zdWJzdHIoMSk7XG59XG4iXX0=
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,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=