@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 +100 -97
- package/esm2020/index.mjs +3 -4
- package/esm2020/lib/icon.component.mjs +67 -56
- package/esm2020/lib/icon.module.mjs +33 -48
- package/esm2020/lib/icon.service.mjs +25 -0
- package/esm2020/lib/utils/format.mjs +22 -22
- package/esm2020/ng-icons-core.mjs +4 -4
- package/fesm2015/ng-icons-core.mjs +133 -118
- package/fesm2015/ng-icons-core.mjs.map +1 -1
- package/fesm2020/ng-icons-core.mjs +133 -117
- package/fesm2020/ng-icons-core.mjs.map +1 -1
- package/index.d.ts +2 -3
- package/lib/icon.component.d.ts +24 -21
- package/lib/icon.module.d.ts +17 -16
- package/lib/icon.service.d.ts +13 -0
- package/lib/utils/format.d.ts +12 -12
- package/ng-icons-core.d.ts +5 -5
- package/package.json +3 -5
- package/esm2020/lib/icon.token.mjs +0 -3
- package/lib/icon.token.d.ts +0 -2
package/README.md
CHANGED
|
@@ -1,97 +1,100 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
- [
|
|
12
|
-
- [
|
|
13
|
-
- [
|
|
14
|
-
- [
|
|
15
|
-
- [
|
|
16
|
-
- [
|
|
17
|
-
- [
|
|
18
|
-
- [
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
|
28
|
-
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
|
56
|
-
|
|
|
57
|
-
| `@ng-icons/
|
|
58
|
-
| `@ng-icons/
|
|
59
|
-
| `@ng-icons/
|
|
60
|
-
| `@ng-icons/
|
|
61
|
-
| `@ng-icons/
|
|
62
|
-
| `@ng-icons/
|
|
63
|
-
| `@ng-icons/
|
|
64
|
-
| `@ng-icons/
|
|
65
|
-
| `@ng-icons/
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
@
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
|
97
|
-
|
|
|
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
|
-
|
|
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,
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/platform-browser";
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
this.
|
|
11
|
-
this.
|
|
12
|
-
|
|
13
|
-
this.
|
|
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
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
type:
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
}],
|
|
46
|
-
type: HostBinding,
|
|
47
|
-
args: ['style.--ng-
|
|
48
|
-
}, {
|
|
49
|
-
type: Input
|
|
50
|
-
}],
|
|
51
|
-
type: HostBinding,
|
|
52
|
-
args: ['style
|
|
53
|
-
}, {
|
|
54
|
-
type: Input
|
|
55
|
-
}]
|
|
56
|
-
|
|
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 {
|
|
2
|
-
import { IconComponent } from './icon.component';
|
|
3
|
-
import {
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
* be
|
|
15
|
-
*
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
}
|
|
33
|
-
|
|
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,
|
|
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=
|