@ng-icons/core 25.3.0 → 25.4.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
|
@@ -13,6 +13,8 @@ export class NgIcon {
|
|
|
13
13
|
/** Access the icons */
|
|
14
14
|
this.icons = injectNgIcons();
|
|
15
15
|
this._size = this.config.size;
|
|
16
|
+
/** Define the color of the icon */
|
|
17
|
+
this.color = this.config.color;
|
|
16
18
|
}
|
|
17
19
|
/** Define the name of the icon to display */
|
|
18
20
|
set name(name) {
|
|
@@ -65,4 +67,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImpor
|
|
|
65
67
|
function coerceCssPixelValue(value) {
|
|
66
68
|
return value == null ? '' : /^\d+$/.test(value) ? `${value}px` : value;
|
|
67
69
|
}
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvaWNvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEdBQ04sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBWSxNQUFNLDJCQUEyQixDQUFDO0FBRW5FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBYWhELE1BQU0sT0FBTyxNQUFNO0lBUG5CO1FBUUUsb0NBQW9DO1FBQ25CLFdBQU0sR0FBRyxrQkFBa0IsRUFBRSxDQUFDO1FBRS9DLDJCQUEyQjtRQUNWLGNBQVMsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFbEQsdUJBQXVCO1FBQ04sVUFBSyxHQUFHLGFBQWEsRUFBRSxDQUFDO1FBbUNqQyxVQUFLLEdBQVcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFPekMsbUNBQW1DO1FBR25DLFVBQUssR0FBWSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztLQUNwQztJQTVDQyw2Q0FBNkM7SUFDN0MsSUFBYSxJQUFJLENBQUMsSUFBYztRQUM5QixJQUFJLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTVCLEtBQUssTUFBTSxLQUFLLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUM3QyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDZixtQ0FBbUM7Z0JBQ25DLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDcEUsT0FBTzthQUNSO1NBQ0Y7UUFFRCx3RkFBd0Y7UUFDeEYsT0FBTyxDQUFDLElBQUksQ0FDVixpQkFBaUIsSUFBSSxxRUFBcUUsQ0FDM0YsQ0FBQztJQUNKLENBQUM7SUFLRCxrQ0FBa0M7SUFDbEMsSUFFSSxJQUFJLENBQUMsSUFBWTtRQUNuQiw0REFBNEQ7UUFDNUQsSUFBSSxDQUFDLEtBQUssR0FBRyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7OEdBekNVLE1BQU07a0dBQU4sTUFBTSx1VUFMUCxFQUFFOzsyRkFLRCxNQUFNO2tCQVBsQixTQUFTOytCQUNFLFNBQVMsWUFDVCxFQUFFLGNBQ0EsSUFBSSxtQkFFQyx1QkFBdUIsQ0FBQyxNQUFNOzhCQWFsQyxJQUFJO3NCQUFoQixLQUFLO2dCQWtCb0IsUUFBUTtzQkFBakMsV0FBVzt1QkFBQyxXQUFXO2dCQUtwQixJQUFJO3NCQUZQLFdBQVc7dUJBQUMsdUJBQXVCOztzQkFDbkMsS0FBSztnQkFlTixXQUFXO3NCQUZWLFdBQVc7dUJBQUMsK0JBQStCOztzQkFDM0MsS0FBSztnQkFNTixLQUFLO3NCQUZKLFdBQVc7dUJBQUMsYUFBYTs7c0JBQ3pCLEtBQUs7O0FBSVIsU0FBUyxtQkFBbUIsQ0FBQyxLQUFhO0lBQ3hDLE9BQU8sS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7QUFDekUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEhvc3RCaW5kaW5nLFxuICBpbmplY3QsXG4gIElucHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB0eXBlIHsgSWNvbk5hbWUgfSBmcm9tICcuL2ljb24tbmFtZSc7XG5pbXBvcnQgeyBpbmplY3ROZ0ljb25Db25maWcgfSBmcm9tICcuL3Byb3ZpZGVycy9pY29uLWNvbmZpZy5wcm92aWRlcic7XG5pbXBvcnQgeyBpbmplY3ROZ0ljb25zIH0gZnJvbSAnLi9wcm92aWRlcnMvaWNvbi5wcm92aWRlcic7XG5pbXBvcnQgeyB0b1Byb3BlcnR5TmFtZSB9IGZyb20gJy4vdXRpbHMvZm9ybWF0JztcblxuLy8gVGhpcyBpcyBhIHR5cGVzY3JpcHQgdHlwZSB0byBwcmV2ZW50IGluZmVyZW5jZSBmcm9tIGNvbGxhcHNpbmcgdGhlIHVuaW9uIHR5cGUgdG8gYSBzdHJpbmcgdG8gaW1wcm92ZSB0eXBlIHNhZmV0eVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHlwZXNcbmV4cG9ydCB0eXBlIEljb25UeXBlID0gSWNvbk5hbWUgfCAoc3RyaW5nICYge30pO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZy1pY29uJyxcbiAgdGVtcGxhdGU6ICcnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzdHlsZVVybHM6IFsnLi9pY29uLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBOZ0ljb24ge1xuICAvKiogQWNjZXNzIHRoZSBnbG9iYWwgaWNvbiBjb25maWcgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBjb25maWcgPSBpbmplY3ROZ0ljb25Db25maWcoKTtcblxuICAvKiogQWNjZXNzIHRoZSBzYW5pdGl6ZXIgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBzYW5pdGl6ZXIgPSBpbmplY3QoRG9tU2FuaXRpemVyKTtcblxuICAvKiogQWNjZXNzIHRoZSBpY29ucyAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGljb25zID0gaW5qZWN0TmdJY29ucygpO1xuXG4gIC8qKiBEZWZpbmUgdGhlIG5hbWUgb2YgdGhlIGljb24gdG8gZGlzcGxheSAqL1xuICBASW5wdXQoKSBzZXQgbmFtZShuYW1lOiBJY29uVHlwZSkge1xuICAgIG5hbWUgPSB0b1Byb3BlcnR5TmFtZShuYW1lKTtcblxuICAgIGZvciAoY29uc3QgaWNvbnMgb2YgWy4uLnRoaXMuaWNvbnNdLnJldmVyc2UoKSkge1xuICAgICAgaWYgKGljb25zW25hbWVdKSB7XG4gICAgICAgIC8vIGluc2VydCB0aGUgU1ZHIGludG8gdGhlIHRlbXBsYXRlXG4gICAgICAgIHRoaXMudGVtcGxhdGUgPSB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChpY29uc1tuYW1lXSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBpZiB0aGVyZSBpcyBubyBpY29uIHdpdGggdGhpcyBuYW1lIHdhcm4gdGhlIHVzZXIgYXMgdGhleSBwcm9iYWJseSBmb3Jnb3QgdG8gaW1wb3J0IGl0XG4gICAgY29uc29sZS53YXJuKFxuICAgICAgYE5vIGljb24gbmFtZWQgJHtuYW1lfSB3YXMgZm91bmQuIFlvdSBtYXkgbmVlZCB0byBpbXBvcnQgaXQgdXNpbmcgdGhlIHdpdGhJY29ucyBmdW5jdGlvbi5gLFxuICAgICk7XG4gIH1cblxuICAvKiogU3RvcmUgdGhlIGZvcm1hdHRlZCBpY29uIG5hbWUgKi9cbiAgQEhvc3RCaW5kaW5nKCdpbm5lckhUTUwnKSB0ZW1wbGF0ZT86IFNhZmVIdG1sO1xuXG4gIC8qKiBEZWZpbmUgdGhlIHNpemUgb2YgdGhlIGljb24gKi9cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS4tLW5nLWljb25fX3NpemUnKVxuICBASW5wdXQoKVxuICBzZXQgc2l6ZShzaXplOiBzdHJpbmcpIHtcbiAgICAvLyBpZiB0aGUgc2l6ZSBvbmx5IGNvbnRhaW5zIG51bWJlcnMsIGFzc3VtZSBpdCBpcyBpbiBwaXhlbHNcbiAgICB0aGlzLl9zaXplID0gY29lcmNlQ3NzUGl4ZWxWYWx1ZShzaXplKTtcbiAgfVxuXG4gIGdldCBzaXplKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3NpemU7XG4gIH1cblxuICBwcml2YXRlIF9zaXplOiBzdHJpbmcgPSB0aGlzLmNvbmZpZy5zaXplO1xuXG4gIC8qKiBEZWZpbmUgdGhlIHN0cm9rZS13aWR0aCBvZiB0aGUgaWNvbiAqL1xuICBASG9zdEJpbmRpbmcoJ3N0eWxlLi0tbmctaWNvbl9fc3Ryb2tlLXdpZHRoJylcbiAgQElucHV0KClcbiAgc3Ryb2tlV2lkdGg/OiBzdHJpbmcgfCBudW1iZXI7XG5cbiAgLyoqIERlZmluZSB0aGUgY29sb3Igb2YgdGhlIGljb24gKi9cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5jb2xvcicpXG4gIEBJbnB1dCgpXG4gIGNvbG9yPzogc3RyaW5nID0gdGhpcy5jb25maWcuY29sb3I7XG59XG5cbmZ1bmN0aW9uIGNvZXJjZUNzc1BpeGVsVmFsdWUodmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiB2YWx1ZSA9PSBudWxsID8gJycgOiAvXlxcZCskLy50ZXN0KHZhbHVlKSA/IGAke3ZhbHVlfXB4YCA6IHZhbHVlO1xufVxuIl19
|
|
@@ -8,7 +8,10 @@ const defaultConfig = {
|
|
|
8
8
|
* @param config The configuration to use
|
|
9
9
|
*/
|
|
10
10
|
export function provideNgIconsConfig(config) {
|
|
11
|
-
return {
|
|
11
|
+
return {
|
|
12
|
+
provide: NgIconConfigToken,
|
|
13
|
+
useValue: { ...defaultConfig, ...config },
|
|
14
|
+
};
|
|
12
15
|
}
|
|
13
16
|
/**
|
|
14
17
|
* Inject the configuration for the icons
|
|
@@ -18,4 +21,4 @@ export function provideNgIconsConfig(config) {
|
|
|
18
21
|
export function injectNgIconConfig() {
|
|
19
22
|
return inject(NgIconConfigToken, { optional: true }) ?? defaultConfig;
|
|
20
23
|
}
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1jb25maWcucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvcHJvdmlkZXJzL2ljb24tY29uZmlnLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQVksTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBU2pFLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLElBQUksY0FBYyxDQUNqRCxnQkFBZ0IsQ0FDakIsQ0FBQztBQUVGLE1BQU0sYUFBYSxHQUFpQjtJQUNsQyxJQUFJLEVBQUUsS0FBSztDQUNaLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsTUFBNkI7SUFDaEUsT0FBTztRQUNMLE9BQU8sRUFBRSxpQkFBaUI7UUFDMUIsUUFBUSxFQUFFLEVBQUUsR0FBRyxhQUFhLEVBQUUsR0FBRyxNQUFNLEVBQUU7S0FDMUMsQ0FBQztBQUNKLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQjtJQUNoQyxPQUFPLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxJQUFJLGFBQWEsQ0FBQztBQUN4RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIFByb3ZpZGVyLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBOZ0ljb25Db25maWcge1xuICAvKiogRGVmaW5lIHRoZSBkZWZhdWx0IHNpemUgb2YgaWNvbnMgKi9cbiAgc2l6ZTogc3RyaW5nO1xuICAvKiogRGVmaW5lIHRoZSBkZWZhdWx0IGNvbG9yIG9mIGljb25zICovXG4gIGNvbG9yPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY29uc3QgTmdJY29uQ29uZmlnVG9rZW4gPSBuZXcgSW5qZWN0aW9uVG9rZW48TmdJY29uQ29uZmlnPihcbiAgJ05nIEljb24gQ29uZmlnJyxcbik7XG5cbmNvbnN0IGRlZmF1bHRDb25maWc6IE5nSWNvbkNvbmZpZyA9IHtcbiAgc2l6ZTogJzFlbScsXG59O1xuXG4vKipcbiAqIFByb3ZpZGUgdGhlIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBpY29uc1xuICogQHBhcmFtIGNvbmZpZyBUaGUgY29uZmlndXJhdGlvbiB0byB1c2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVOZ0ljb25zQ29uZmlnKGNvbmZpZzogUGFydGlhbDxOZ0ljb25Db25maWc+KTogUHJvdmlkZXIge1xuICByZXR1cm4ge1xuICAgIHByb3ZpZGU6IE5nSWNvbkNvbmZpZ1Rva2VuLFxuICAgIHVzZVZhbHVlOiB7IC4uLmRlZmF1bHRDb25maWcsIC4uLmNvbmZpZyB9LFxuICB9O1xufVxuXG4vKipcbiAqIEluamVjdCB0aGUgY29uZmlndXJhdGlvbiBmb3IgdGhlIGljb25zXG4gKiBAcmV0dXJucyBUaGUgY29uZmlndXJhdGlvbiB0byB1c2VcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0TmdJY29uQ29uZmlnKCk6IE5nSWNvbkNvbmZpZyB7XG4gIHJldHVybiBpbmplY3QoTmdJY29uQ29uZmlnVG9rZW4sIHsgb3B0aW9uYWw6IHRydWUgfSkgPz8gZGVmYXVsdENvbmZpZztcbn1cbiJdfQ==
|
|
@@ -11,7 +11,10 @@ const defaultConfig = {
|
|
|
11
11
|
* @param config The configuration to use
|
|
12
12
|
*/
|
|
13
13
|
function provideNgIconsConfig(config) {
|
|
14
|
-
return {
|
|
14
|
+
return {
|
|
15
|
+
provide: NgIconConfigToken,
|
|
16
|
+
useValue: { ...defaultConfig, ...config },
|
|
17
|
+
};
|
|
15
18
|
}
|
|
16
19
|
/**
|
|
17
20
|
* Inject the configuration for the icons
|
|
@@ -68,6 +71,8 @@ class NgIcon {
|
|
|
68
71
|
/** Access the icons */
|
|
69
72
|
this.icons = injectNgIcons();
|
|
70
73
|
this._size = this.config.size;
|
|
74
|
+
/** Define the color of the icon */
|
|
75
|
+
this.color = this.config.color;
|
|
71
76
|
}
|
|
72
77
|
/** Define the name of the icon to display */
|
|
73
78
|
set name(name) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-icons-core.mjs","sources":["../../../../packages/core/src/lib/providers/icon-config.provider.ts","../../../../packages/core/src/lib/providers/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, inject } from '@angular/core';\n\nexport interface NgIconConfig {\n /** Define the default size of icons */\n size: string;\n}\n\nexport const NgIconConfigToken = new InjectionToken<NgIconConfig>(\n 'Ng Icon Config',\n);\n\nconst defaultConfig: NgIconConfig = {\n size: '1em',\n};\n\n/**\n * Provide the configuration for the icons\n * @param config The configuration to use\n */\nexport function provideNgIconsConfig(\n config: Partial<NgIconConfig>,\n): NgIconConfig {\n return { ...defaultConfig, ...config };\n}\n\n/**\n * Inject the configuration for the icons\n * @returns The configuration to use\n * @internal\n */\nexport function injectNgIconConfig(): NgIconConfig {\n return inject(NgIconConfigToken, { optional: true }) ?? defaultConfig;\n}\n","import {\n InjectionToken,\n Optional,\n Provider,\n SkipSelf,\n inject,\n} from '@angular/core';\n\n/**\n * Define the icons to use\n * @param icons The icons to provide\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/**\n * Inject the icons to use\n * @returns The icons to use\n * @internal\n */\nexport function injectNgIcons(): Record<string, string>[] {\n return inject(NgIconsToken);\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 type { IconName } from './icon-name';\nimport { injectNgIconConfig } from './providers/icon-config.provider';\nimport { injectNgIcons } from './providers/icon.provider';\nimport { toPropertyName } from './utils/format';\n\n// This is a typescript type to prevent inference from collapsing the union type to a string to improve type safety\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport type IconType = IconName | (string & {});\n\n@Component({\n selector: 'ng-icon',\n template: '',\n standalone: true,\n styleUrls: ['./icon.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgIcon {\n /** Access the global icon config */\n private readonly config = injectNgIconConfig();\n\n /** Access the sanitizer */\n private readonly sanitizer = inject(DomSanitizer);\n\n /** Access the icons */\n private readonly icons = injectNgIcons();\n\n /** Define the name of the icon to display */\n @Input() set name(name: IconType) {\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 = this.config.size;\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\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 { NgIcon } from './icon.component';\nimport { NgIconsToken, provideIcons } from './providers/icon.provider';\n\n@NgModule({\n imports: [NgIcon],\n exports: [NgIcon],\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\nexport const NG_ICON_DIRECTIVES = [NgIcon] as const;\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/providers/icon-config.provider.ts","../../../../packages/core/src/lib/providers/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, Provider, inject } from '@angular/core';\n\nexport interface NgIconConfig {\n /** Define the default size of icons */\n size: string;\n /** Define the default color of icons */\n color?: string;\n}\n\nexport const NgIconConfigToken = new InjectionToken<NgIconConfig>(\n 'Ng Icon Config',\n);\n\nconst defaultConfig: NgIconConfig = {\n size: '1em',\n};\n\n/**\n * Provide the configuration for the icons\n * @param config The configuration to use\n */\nexport function provideNgIconsConfig(config: Partial<NgIconConfig>): Provider {\n return {\n provide: NgIconConfigToken,\n useValue: { ...defaultConfig, ...config },\n };\n}\n\n/**\n * Inject the configuration for the icons\n * @returns The configuration to use\n * @internal\n */\nexport function injectNgIconConfig(): NgIconConfig {\n return inject(NgIconConfigToken, { optional: true }) ?? defaultConfig;\n}\n","import {\n InjectionToken,\n Optional,\n Provider,\n SkipSelf,\n inject,\n} from '@angular/core';\n\n/**\n * Define the icons to use\n * @param icons The icons to provide\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/**\n * Inject the icons to use\n * @returns The icons to use\n * @internal\n */\nexport function injectNgIcons(): Record<string, string>[] {\n return inject(NgIconsToken);\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 type { IconName } from './icon-name';\nimport { injectNgIconConfig } from './providers/icon-config.provider';\nimport { injectNgIcons } from './providers/icon.provider';\nimport { toPropertyName } from './utils/format';\n\n// This is a typescript type to prevent inference from collapsing the union type to a string to improve type safety\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport type IconType = IconName | (string & {});\n\n@Component({\n selector: 'ng-icon',\n template: '',\n standalone: true,\n styleUrls: ['./icon.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgIcon {\n /** Access the global icon config */\n private readonly config = injectNgIconConfig();\n\n /** Access the sanitizer */\n private readonly sanitizer = inject(DomSanitizer);\n\n /** Access the icons */\n private readonly icons = injectNgIcons();\n\n /** Define the name of the icon to display */\n @Input() set name(name: IconType) {\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 = this.config.size;\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 = this.config.color;\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 { NgIcon } from './icon.component';\nimport { NgIconsToken, provideIcons } from './providers/icon.provider';\n\n@NgModule({\n imports: [NgIcon],\n exports: [NgIcon],\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\nexport const NG_ICON_DIRECTIVES = [NgIcon] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MASa,iBAAiB,GAAG,IAAI,cAAc,CACjD,gBAAgB,EAChB;AAEF,MAAM,aAAa,GAAiB;AAClC,IAAA,IAAI,EAAE,KAAK;CACZ,CAAC;AAEF;;;AAGG;AACG,SAAU,oBAAoB,CAAC,MAA6B,EAAA;IAChE,OAAO;AACL,QAAA,OAAO,EAAE,iBAAiB;AAC1B,QAAA,QAAQ,EAAE,EAAE,GAAG,aAAa,EAAE,GAAG,MAAM,EAAE;KAC1C,CAAC;AACJ,CAAC;AAED;;;;AAIG;SACa,kBAAkB,GAAA;AAChC,IAAA,OAAO,MAAM,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,IAAI,aAAa,CAAC;AACxE;;AC3BA;;;AAGG;AACG,SAAU,YAAY,CAAC,KAA6B,EAAA;IACxD,OAAO;AACL,QAAA;AACE,YAAA,OAAO,EAAE,YAAY;AACrB,YAAA,UAAU,EAAE,CAAC,WAAsC,MAAM;gBACvD,GAAG,WAAW,EAAE,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,MAAM,EAAE,GAAG,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;AAClE,gBAAA,GAAG,KAAK;aACT,CAAC;AACF,YAAA,IAAI,EAAE,CAAC,CAAC,YAAY,EAAE,IAAI,QAAQ,EAAE,EAAE,IAAI,QAAQ,EAAE,CAAC,CAAC;AACtD,YAAA,KAAK,EAAE,IAAI;AACZ,SAAA;KACF,CAAC;AACJ,CAAC;MAEY,YAAY,GAAG,IAAI,cAAc,CAC5C,aAAa,EACb;AAEF;;;;AAIG;SACa,aAAa,GAAA;AAC3B,IAAA,OAAO,MAAM,CAAC,YAAY,CAAC,CAAC;AAC9B;;ACrCA;;AAEG;AACG,SAAU,cAAc,CAAC,GAAW,EAAA;AACxC,IAAA,OAAO,GAAG;SACP,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,KAC1C,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,GAAG,EAAE,CAC7B;AACA,SAAA,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;AAC3B,SAAA,OAAO,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AAC/C;;MCca,MAAM,CAAA;AAPnB,IAAA,WAAA,GAAA;;QASmB,IAAM,CAAA,MAAA,GAAG,kBAAkB,EAAE,CAAC;;AAG9B,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;;QAGjC,IAAK,CAAA,KAAA,GAAG,aAAa,EAAE,CAAC;AAmCjC,QAAA,IAAA,CAAA,KAAK,GAAW,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;;AAUzC,QAAA,IAAA,CAAA,KAAK,GAAY,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;AACpC,KAAA;;IA3CC,IAAa,IAAI,CAAC,IAAc,EAAA;AAC9B,QAAA,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;AAE5B,QAAA,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE;AAC7C,YAAA,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE;;AAEf,gBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;gBACpE,OAAO;AACR,aAAA;AACF,SAAA;;AAGD,QAAA,OAAO,CAAC,IAAI,CACV,iBAAiB,IAAI,CAAA,mEAAA,CAAqE,CAC3F,CAAC;KACH;;IAMD,IAEI,IAAI,CAAC,IAAY,EAAA;;AAEnB,QAAA,IAAI,CAAC,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;KACxC;AAED,IAAA,IAAI,IAAI,GAAA;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;KACnB;8GAzCU,MAAM,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAN,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAM,uUALP,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,sFAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAKD,MAAM,EAAA,UAAA,EAAA,CAAA;kBAPlB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,SAAS,YACT,EAAE,EAAA,UAAA,EACA,IAAI,EAEC,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,MAAA,EAAA,CAAA,sFAAA,CAAA,EAAA,CAAA;8BAalC,IAAI,EAAA,CAAA;sBAAhB,KAAK;gBAkBoB,QAAQ,EAAA,CAAA;sBAAjC,WAAW;uBAAC,WAAW,CAAA;gBAKpB,IAAI,EAAA,CAAA;sBAFP,WAAW;uBAAC,uBAAuB,CAAA;;sBACnC,KAAK;gBAeN,WAAW,EAAA,CAAA;sBAFV,WAAW;uBAAC,+BAA+B,CAAA;;sBAC3C,KAAK;gBAMN,KAAK,EAAA,CAAA;sBAFJ,WAAW;uBAAC,aAAa,CAAA;;sBACzB,KAAK;;AAIR,SAAS,mBAAmB,CAAC,KAAa,EAAA;IACxC,OAAO,KAAK,IAAI,IAAI,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAA,EAAG,KAAK,CAAA,EAAA,CAAI,GAAG,KAAK,CAAC;AACzE;;MC1Ea,aAAa,CAAA;AACxB,IAAA,WAAA,CAAkC,KAA6B,EAAA;QAC7D,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;AACnC,YAAA,MAAM,IAAI,KAAK,CACb,qHAAqH,CACtH,CAAC;AACH,SAAA;KACF;AAED;;;;AAIG;IACH,OAAO,SAAS,CACd,KAA6B,EAAA;AAE7B,QAAA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;KACpE;AAlBU,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,kBACJ,YAAY,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;+GADrB,aAAa,EAAA,OAAA,EAAA,CAHd,MAAM,CAAA,EAAA,OAAA,EAAA,CACN,MAAM,CAAA,EAAA,CAAA,CAAA,EAAA;+GAEL,aAAa,EAAA,CAAA,CAAA,EAAA;;2FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBAJzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,MAAM,CAAC;oBACjB,OAAO,EAAE,CAAC,MAAM,CAAC;AAClB,iBAAA,CAAA;;0BAEc,MAAM;2BAAC,YAAY,CAAA;;AAoBrB,MAAA,kBAAkB,GAAG,CAAC,MAAM;;AC7BzC;;AAEG;;;;"}
|
|
@@ -1,14 +1,16 @@
|
|
|
1
|
-
import { InjectionToken } from '@angular/core';
|
|
1
|
+
import { InjectionToken, Provider } from '@angular/core';
|
|
2
2
|
export interface NgIconConfig {
|
|
3
3
|
/** Define the default size of icons */
|
|
4
4
|
size: string;
|
|
5
|
+
/** Define the default color of icons */
|
|
6
|
+
color?: string;
|
|
5
7
|
}
|
|
6
8
|
export declare const NgIconConfigToken: InjectionToken<NgIconConfig>;
|
|
7
9
|
/**
|
|
8
10
|
* Provide the configuration for the icons
|
|
9
11
|
* @param config The configuration to use
|
|
10
12
|
*/
|
|
11
|
-
export declare function provideNgIconsConfig(config: Partial<NgIconConfig>):
|
|
13
|
+
export declare function provideNgIconsConfig(config: Partial<NgIconConfig>): Provider;
|
|
12
14
|
/**
|
|
13
15
|
* Inject the configuration for the icons
|
|
14
16
|
* @returns The configuration to use
|