@coreui/icons-angular 5.7.20 → 5.7.23

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.
@@ -24,10 +24,10 @@ class IconSetService {
24
24
  }
25
25
  return this.icons[name];
26
26
  }
27
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: IconSetService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
28
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: IconSetService, providedIn: 'root' });
27
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: IconSetService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
28
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: IconSetService, providedIn: 'root' });
29
29
  }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: IconSetService, decorators: [{
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: IconSetService, decorators: [{
31
31
  type: Injectable,
32
32
  args: [{
33
33
  providedIn: 'root'
@@ -49,11 +49,11 @@ class IconSetModule {
49
49
  ]
50
50
  };
51
51
  }
52
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: IconSetModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
53
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.3", ngImport: i0, type: IconSetModule });
54
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: IconSetModule, providers: [IconSetService] });
52
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: IconSetModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
53
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.4", ngImport: i0, type: IconSetModule });
54
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: IconSetModule, providers: [IconSetService] });
55
55
  }
56
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: IconSetModule, decorators: [{
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: IconSetModule, decorators: [{
57
57
  type: NgModule,
58
58
  args: [{
59
59
  providers: [IconSetService]
@@ -166,13 +166,7 @@ class IconDirective {
166
166
  return content;
167
167
  }
168
168
  const name = this.name();
169
- if (this.#iconSet && name) {
170
- return this.#iconSet.getIcon(name);
171
- }
172
- if (name && !this.#iconSet?.icons[name]) {
173
- console.warn(`cIcon directive: The '${name}' icon not found. Add it to the IconSet service for use with the 'name' property. \n`, name);
174
- }
175
- return '';
169
+ return name ? this.#iconSet.getIcon(name) : '';
176
170
  }, /* @ts-ignore */
177
171
  ...(ngDevMode ? [{ debugName: "code" }] : /* istanbul ignore next */ []));
178
172
  scale = computed(() => {
@@ -184,10 +178,10 @@ class IconDirective {
184
178
  return this.size() === 'custom' || addCustom ? 'custom-size' : this.size();
185
179
  }, /* @ts-ignore */
186
180
  ...(ngDevMode ? [{ debugName: "computedSize" }] : /* istanbul ignore next */ []));
187
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: IconDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
188
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.3", type: IconDirective, isStandalone: true, selector: "svg[cIcon]", inputs: { content: { classPropertyName: "content", publicName: "cIcon", isSignal: true, isRequired: false, transformFunction: null }, customClasses: { classPropertyName: "customClasses", publicName: "customClasses", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, viewBoxInput: { classPropertyName: "viewBoxInput", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, xmlns: { classPropertyName: "xmlns", publicName: "xmlns", isSignal: true, isRequired: false, transformFunction: null }, pointerEvents: { classPropertyName: "pointerEvents", publicName: "pointer-events", isSignal: true, isRequired: false, transformFunction: null }, role: { classPropertyName: "role", publicName: "role", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "innerHtml": "innerHtml()", "class": "hostClasses()", "attr.viewBox": "viewBox()", "attr.xmlns": "xmlns()", "attr.pointer-events": "pointerEvents()", "attr.role": "role()", "attr.aria-hidden": "true" } }, exportAs: ["cIcon"], ngImport: i0 });
181
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: IconDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
182
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.4", type: IconDirective, isStandalone: true, selector: "svg[cIcon]", inputs: { content: { classPropertyName: "content", publicName: "cIcon", isSignal: true, isRequired: false, transformFunction: null }, customClasses: { classPropertyName: "customClasses", publicName: "customClasses", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, viewBoxInput: { classPropertyName: "viewBoxInput", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, xmlns: { classPropertyName: "xmlns", publicName: "xmlns", isSignal: true, isRequired: false, transformFunction: null }, pointerEvents: { classPropertyName: "pointerEvents", publicName: "pointer-events", isSignal: true, isRequired: false, transformFunction: null }, role: { classPropertyName: "role", publicName: "role", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "innerHtml": "innerHtml()", "class": "hostClasses()", "attr.viewBox": "viewBox()", "attr.xmlns": "xmlns()", "attr.pointer-events": "pointerEvents()", "attr.role": "role()", "attr.aria-hidden": "true" } }, exportAs: ["cIcon"], ngImport: i0 });
189
183
  }
190
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: IconDirective, decorators: [{
184
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: IconDirective, decorators: [{
191
185
  type: Directive,
192
186
  args: [{
193
187
  exportAs: 'cIcon',
@@ -205,25 +199,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImpor
205
199
  }], propDecorators: { content: [{ type: i0.Input, args: [{ isSignal: true, alias: "cIcon", required: false }] }], customClasses: [{ type: i0.Input, args: [{ isSignal: true, alias: "customClasses", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], height: [{ type: i0.Input, args: [{ isSignal: true, alias: "height", required: false }] }], width: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: false }] }], name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], viewBoxInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewBox", required: false }] }], xmlns: [{ type: i0.Input, args: [{ isSignal: true, alias: "xmlns", required: false }] }], pointerEvents: [{ type: i0.Input, args: [{ isSignal: true, alias: "pointer-events", required: false }] }], role: [{ type: i0.Input, args: [{ isSignal: true, alias: "role", required: false }] }] } });
206
200
 
207
201
  class HtmlAttributesDirective {
202
+ /**
203
+ * A map of HTML attributes (including `class` and `style`) to set on the host element.
204
+ * @returns Record<string, any>
205
+ */
208
206
  cHtmlAttr = input(/* @ts-ignore */
209
207
  ...(ngDevMode ? [undefined, { debugName: "cHtmlAttr" }] : /* istanbul ignore next */ []));
210
208
  #renderer = inject(Renderer2);
211
209
  #elementRef = inject(ElementRef);
212
- attrEffect = effect(() => {
213
- const attribs = this.cHtmlAttr();
214
- for (const attr in attribs) {
215
- if (attr === 'style' && typeof attribs[attr] === 'object') {
216
- this.setStyle(attribs[attr]);
217
- }
218
- else if (attr === 'class') {
219
- this.addClass(attribs[attr]);
220
- }
221
- else {
222
- this.setAttrib(attr, attribs[attr]);
210
+ constructor() {
211
+ effect(() => {
212
+ const attribs = this.cHtmlAttr();
213
+ for (const attr in attribs) {
214
+ if (attr === 'style' && typeof attribs[attr] === 'object') {
215
+ this.setStyle(attribs[attr]);
216
+ }
217
+ else if (attr === 'class') {
218
+ this.addClass(attribs[attr]);
219
+ }
220
+ else {
221
+ this.setAttrib(attr, attribs[attr]);
222
+ }
223
223
  }
224
- }
225
- }, /* @ts-ignore */
226
- ...(ngDevMode ? [{ debugName: "attrEffect" }] : /* istanbul ignore next */ []));
224
+ });
225
+ }
227
226
  setStyle(styles) {
228
227
  for (const style in styles) {
229
228
  if (style) {
@@ -244,16 +243,16 @@ class HtmlAttributesDirective {
244
243
  ? this.#renderer.setAttribute(this.#elementRef.nativeElement, key, value)
245
244
  : this.#renderer.removeAttribute(this.#elementRef.nativeElement, key);
246
245
  }
247
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HtmlAttributesDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
248
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.3", type: HtmlAttributesDirective, isStandalone: true, selector: "[cHtmlAttr]", inputs: { cHtmlAttr: { classPropertyName: "cHtmlAttr", publicName: "cHtmlAttr", isSignal: true, isRequired: false, transformFunction: null } }, exportAs: ["cHtmlAttr"], ngImport: i0 });
246
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: HtmlAttributesDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
247
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.4", type: HtmlAttributesDirective, isStandalone: true, selector: "[cHtmlAttr]", inputs: { cHtmlAttr: { classPropertyName: "cHtmlAttr", publicName: "cHtmlAttr", isSignal: true, isRequired: false, transformFunction: null } }, exportAs: ["cHtmlAttr"], ngImport: i0 });
249
248
  }
250
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HtmlAttributesDirective, decorators: [{
249
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: HtmlAttributesDirective, decorators: [{
251
250
  type: Directive,
252
251
  args: [{
253
252
  selector: '[cHtmlAttr]',
254
253
  exportAs: 'cHtmlAttr'
255
254
  }]
256
- }], propDecorators: { cHtmlAttr: [{ type: i0.Input, args: [{ isSignal: true, alias: "cHtmlAttr", required: false }] }] } });
255
+ }], ctorParameters: () => [], propDecorators: { cHtmlAttr: [{ type: i0.Input, args: [{ isSignal: true, alias: "cHtmlAttr", required: false }] }] } });
257
256
 
258
257
  class IconComponent {
259
258
  #renderer = inject(Renderer2);
@@ -280,20 +279,21 @@ class IconComponent {
280
279
  viewBoxInput = input(undefined, { ...(ngDevMode ? { debugName: "viewBoxInput" } : /* istanbul ignore next */ {}), alias: 'viewBox' });
281
280
  svgElementRef = viewChild('svgElement', /* @ts-ignore */
282
281
  ...(ngDevMode ? [{ debugName: "svgElementRef" }] : /* istanbul ignore next */ []));
283
- #svgElementEffect = effect(() => {
284
- const svgElementRef = this.svgElementRef();
285
- const hostElement = this.#elementRef.nativeElement;
286
- if (svgElementRef && hostElement) {
287
- const svgElement = svgElementRef.nativeElement;
288
- hostElement.classList?.forEach((item) => {
289
- this.#renderer.addClass(svgElement, item);
290
- });
291
- const parentElement = this.#renderer.parentNode(hostElement);
292
- this.#renderer.insertBefore(parentElement, svgElement, hostElement);
293
- this.#renderer.removeChild(parentElement, hostElement);
294
- }
295
- }, /* @ts-ignore */
296
- ...(ngDevMode ? [{ debugName: "#svgElementEffect" }] : /* istanbul ignore next */ []));
282
+ constructor() {
283
+ effect(() => {
284
+ const svgElementRef = this.svgElementRef();
285
+ const hostElement = this.#elementRef.nativeElement;
286
+ if (svgElementRef && hostElement) {
287
+ const svgElement = svgElementRef.nativeElement;
288
+ hostElement.classList?.forEach((item) => {
289
+ this.#renderer.addClass(svgElement, item);
290
+ });
291
+ const parentElement = this.#renderer.parentNode(hostElement);
292
+ this.#renderer.insertBefore(parentElement, svgElement, hostElement);
293
+ this.#renderer.removeChild(parentElement, hostElement);
294
+ }
295
+ });
296
+ }
297
297
  viewBox = computed(() => {
298
298
  return this.viewBoxInput() ?? this.scale();
299
299
  }, /* @ts-ignore */
@@ -317,13 +317,7 @@ class IconComponent {
317
317
  return content;
318
318
  }
319
319
  const name = this.name();
320
- if (this.#iconSet && name) {
321
- return this.#iconSet.getIcon(name);
322
- }
323
- if (name && !this.#iconSet?.icons[name]) {
324
- console.warn(`c-icon component: The '${name}' icon not found. Add it to the IconSet service for use with the 'name' property. \n`, name);
325
- }
326
- return '';
320
+ return name ? this.#iconSet.getIcon(name) : '';
327
321
  }, /* @ts-ignore */
328
322
  ...(ngDevMode ? [{ debugName: "code" }] : /* istanbul ignore next */ []));
329
323
  scale = computed(() => {
@@ -343,22 +337,22 @@ class IconComponent {
343
337
  return this.customClasses() ?? classes;
344
338
  }, /* @ts-ignore */
345
339
  ...(ngDevMode ? [{ debugName: "computedClasses" }] : /* istanbul ignore next */ []));
346
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: IconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
347
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.3", type: IconComponent, isStandalone: true, selector: "c-icon", inputs: { content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: false, transformFunction: null }, attributes: { classPropertyName: "attributes", publicName: "attributes", isSignal: true, isRequired: false, transformFunction: null }, customClasses: { classPropertyName: "customClasses", publicName: "customClasses", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, use: { classPropertyName: "use", publicName: "use", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, viewBoxInput: { classPropertyName: "viewBoxInput", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "ngSkipHydration": "true" }, styleAttribute: "display: none" }, viewQueries: [{ propertyName: "svgElementRef", first: true, predicate: ["svgElement"], descendants: true, isSignal: true }], exportAs: ["cIconComponent"], ngImport: i0, template: "@if (!use() && !!code()) {\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n [attr.width]=\"width()\"\n [attr.height]=\"height() || width()\"\n [attr.viewBox]=\"viewBox() || scale()\"\n [innerHtml]=\"innerHtml()\"\n [class]=\"computedClasses()\"\n [cHtmlAttr]=\"attributes()\"\n aria-hidden=\"true\"\n pointer-events=\"none\"\n role=\"img\"\n #svgElement\n >\n </svg>\n} @else if (use()) {\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n [attr.width]=\"width()\"\n [attr.height]=\"height() || width()\"\n [class]=\"computedClasses()\"\n [cHtmlAttr]=\"attributes()\"\n aria-hidden=\"true\"\n pointer-events=\"none\"\n role=\"img\"\n #svgElement\n >\n <use [attr.href]=\"use()\"></use>\n </svg>\n}\n", styles: [".icon{display:inline-block;color:inherit;text-align:center;vertical-align:-.125rem;fill:currentColor}.icon:not(.icon-c-s):not(.icon-custom-size){width:1rem;height:1rem;font-size:1rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-xxl{width:2rem;height:2rem;font-size:2rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-xl{width:1.5rem;height:1.5rem;font-size:1.5rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-lg{width:1.25rem;height:1.25rem;font-size:1.25rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-sm{width:.875rem;height:.875rem;font-size:.875rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-3xl{width:3rem;height:3rem;font-size:3rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-4xl{width:4rem;height:4rem;font-size:4rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-5xl{width:5rem;height:5rem;font-size:5rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-6xl{width:6rem;height:6rem;font-size:6rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-7xl{width:7rem;height:7rem;font-size:7rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-8xl{width:8rem;height:8rem;font-size:8rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-9xl{width:9rem;height:9rem;font-size:9rem}\n"], dependencies: [{ kind: "directive", type: HtmlAttributesDirective, selector: "[cHtmlAttr]", inputs: ["cHtmlAttr"], exportAs: ["cHtmlAttr"] }] });
340
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: IconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
341
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: IconComponent, isStandalone: true, selector: "c-icon", inputs: { content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: false, transformFunction: null }, attributes: { classPropertyName: "attributes", publicName: "attributes", isSignal: true, isRequired: false, transformFunction: null }, customClasses: { classPropertyName: "customClasses", publicName: "customClasses", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, use: { classPropertyName: "use", publicName: "use", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, viewBoxInput: { classPropertyName: "viewBoxInput", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "ngSkipHydration": "true" }, styleAttribute: "display: none" }, viewQueries: [{ propertyName: "svgElementRef", first: true, predicate: ["svgElement"], descendants: true, isSignal: true }], exportAs: ["cIconComponent"], ngImport: i0, template: "@if (!use() && !!code()) {\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n [attr.width]=\"width()\"\n [attr.height]=\"height() || width()\"\n [attr.viewBox]=\"viewBox() || scale()\"\n [innerHtml]=\"innerHtml()\"\n [class]=\"computedClasses()\"\n [cHtmlAttr]=\"attributes()\"\n aria-hidden=\"true\"\n pointer-events=\"none\"\n role=\"img\"\n #svgElement\n >\n </svg>\n} @else if (use()) {\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n [attr.width]=\"width()\"\n [attr.height]=\"height() || width()\"\n [class]=\"computedClasses()\"\n [cHtmlAttr]=\"attributes()\"\n aria-hidden=\"true\"\n pointer-events=\"none\"\n role=\"img\"\n #svgElement\n >\n <use [attr.href]=\"use()\"></use>\n </svg>\n}\n", styles: [".icon{display:inline-block;color:inherit;text-align:center;vertical-align:-.125rem;fill:currentColor}.icon:not(.icon-c-s):not(.icon-custom-size){width:1rem;height:1rem;font-size:1rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-xxl{width:2rem;height:2rem;font-size:2rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-xl{width:1.5rem;height:1.5rem;font-size:1.5rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-lg{width:1.25rem;height:1.25rem;font-size:1.25rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-sm{width:.875rem;height:.875rem;font-size:.875rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-3xl{width:3rem;height:3rem;font-size:3rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-4xl{width:4rem;height:4rem;font-size:4rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-5xl{width:5rem;height:5rem;font-size:5rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-6xl{width:6rem;height:6rem;font-size:6rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-7xl{width:7rem;height:7rem;font-size:7rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-8xl{width:8rem;height:8rem;font-size:8rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-9xl{width:9rem;height:9rem;font-size:9rem}\n"], dependencies: [{ kind: "directive", type: HtmlAttributesDirective, selector: "[cHtmlAttr]", inputs: ["cHtmlAttr"], exportAs: ["cHtmlAttr"] }] });
348
342
  }
349
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: IconComponent, decorators: [{
343
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: IconComponent, decorators: [{
350
344
  type: Component,
351
345
  args: [{ exportAs: 'cIconComponent', imports: [HtmlAttributesDirective], selector: 'c-icon', host: { ngSkipHydration: 'true', style: 'display: none' }, template: "@if (!use() && !!code()) {\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n [attr.width]=\"width()\"\n [attr.height]=\"height() || width()\"\n [attr.viewBox]=\"viewBox() || scale()\"\n [innerHtml]=\"innerHtml()\"\n [class]=\"computedClasses()\"\n [cHtmlAttr]=\"attributes()\"\n aria-hidden=\"true\"\n pointer-events=\"none\"\n role=\"img\"\n #svgElement\n >\n </svg>\n} @else if (use()) {\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n [attr.width]=\"width()\"\n [attr.height]=\"height() || width()\"\n [class]=\"computedClasses()\"\n [cHtmlAttr]=\"attributes()\"\n aria-hidden=\"true\"\n pointer-events=\"none\"\n role=\"img\"\n #svgElement\n >\n <use [attr.href]=\"use()\"></use>\n </svg>\n}\n", styles: [".icon{display:inline-block;color:inherit;text-align:center;vertical-align:-.125rem;fill:currentColor}.icon:not(.icon-c-s):not(.icon-custom-size){width:1rem;height:1rem;font-size:1rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-xxl{width:2rem;height:2rem;font-size:2rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-xl{width:1.5rem;height:1.5rem;font-size:1.5rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-lg{width:1.25rem;height:1.25rem;font-size:1.25rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-sm{width:.875rem;height:.875rem;font-size:.875rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-3xl{width:3rem;height:3rem;font-size:3rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-4xl{width:4rem;height:4rem;font-size:4rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-5xl{width:5rem;height:5rem;font-size:5rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-6xl{width:6rem;height:6rem;font-size:6rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-7xl{width:7rem;height:7rem;font-size:7rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-8xl{width:8rem;height:8rem;font-size:8rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-9xl{width:9rem;height:9rem;font-size:9rem}\n"] }]
352
- }], propDecorators: { content: [{ type: i0.Input, args: [{ isSignal: true, alias: "content", required: false }] }], attributes: [{ type: i0.Input, args: [{ isSignal: true, alias: "attributes", required: false }] }], customClasses: [{ type: i0.Input, args: [{ isSignal: true, alias: "customClasses", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], use: [{ type: i0.Input, args: [{ isSignal: true, alias: "use", required: false }] }], height: [{ type: i0.Input, args: [{ isSignal: true, alias: "height", required: false }] }], width: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: false }] }], name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], viewBoxInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewBox", required: false }] }], svgElementRef: [{ type: i0.ViewChild, args: ['svgElement', { isSignal: true }] }] } });
346
+ }], ctorParameters: () => [], propDecorators: { content: [{ type: i0.Input, args: [{ isSignal: true, alias: "content", required: false }] }], attributes: [{ type: i0.Input, args: [{ isSignal: true, alias: "attributes", required: false }] }], customClasses: [{ type: i0.Input, args: [{ isSignal: true, alias: "customClasses", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], use: [{ type: i0.Input, args: [{ isSignal: true, alias: "use", required: false }] }], height: [{ type: i0.Input, args: [{ isSignal: true, alias: "height", required: false }] }], width: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: false }] }], name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], viewBoxInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewBox", required: false }] }], svgElementRef: [{ type: i0.ViewChild, args: ['svgElement', { isSignal: true }] }] } });
353
347
 
354
348
  class IconModule {
355
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: IconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
356
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.3", ngImport: i0, type: IconModule, imports: [IconComponent,
349
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: IconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
350
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.4", ngImport: i0, type: IconModule, imports: [IconComponent,
357
351
  IconDirective], exports: [IconComponent,
358
352
  IconDirective] });
359
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: IconModule });
353
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: IconModule });
360
354
  }
361
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: IconModule, decorators: [{
355
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: IconModule, decorators: [{
362
356
  type: NgModule,
363
357
  args: [{
364
358
  imports: [
@@ -1 +1 @@
1
- {"version":3,"file":"coreui-icons-angular.mjs","sources":["../../../projects/coreui-icons-angular/src/lib/icon-set/icon-set.service.ts","../../../projects/coreui-icons-angular/src/lib/icon-set/icon-set.module.ts","../../../projects/coreui-icons-angular/src/lib/icon/icon.utils.ts","../../../projects/coreui-icons-angular/src/lib/icon/icon.directive.ts","../../../projects/coreui-icons-angular/src/lib/shared/html-attr.directive.ts","../../../projects/coreui-icons-angular/src/lib/icon/icon.component.ts","../../../projects/coreui-icons-angular/src/lib/icon/icon.component.svg","../../../projects/coreui-icons-angular/src/lib/icon/icon.module.ts","../../../projects/coreui-icons-angular/src/public-api.ts","../../../projects/coreui-icons-angular/src/coreui-icons-angular.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\nexport interface IIconSet {\n [iconName: string]: string[];\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class IconSetService {\n public get iconNames() {\n return this.#iconNames;\n }\n\n #iconNames: Record<string, string> = {};\n\n get icons(): IIconSet {\n return this.#icons;\n }\n\n set icons(iconSet) {\n for (const iconsKey in iconSet) {\n this.#iconNames[iconsKey] = iconsKey;\n }\n this.#icons = iconSet;\n }\n\n #icons: IIconSet = {};\n\n public getIcon(name: string): string[] {\n const icon = this.icons[name];\n if (!icon) {\n console.warn(`CoreUI WARN: Icon ${name} is not registered in IconService`);\n }\n return this.icons[name];\n }\n}\n","import { ModuleWithProviders, NgModule, inject } from '@angular/core';\n\nimport { IconSetService } from './icon-set.service';\n\n@NgModule({\n providers: [IconSetService]\n})\nexport class IconSetModule {\n constructor() {\n const parentModule = inject(IconSetModule, { optional: true, skipSelf: true });\n\n if (parentModule) {\n throw new Error(\n 'CoreUI IconSetModule is already loaded. Import it in the AppModule only');\n }\n }\n\n static forRoot(): ModuleWithProviders<IconSetModule> {\n return {\n ngModule: IconSetModule,\n providers: [\n { provide: IconSetService }\n ]\n };\n }\n}\n","export function toCamelCase(value: string) {\n return value.replace(/([-_][a-z0-9])/ig, ($1: string) => {\n return $1.toUpperCase().replace('-', '');\n });\n}\n\nexport function transformName(value: string) {\n return value && value.includes('-') ? toCamelCase(value) : value;\n}\n\nconst ESCAPE_HTML_MAP: Record<string, string> = {\n '&': '&amp;',\n '<': '&lt;',\n '>': '&gt;',\n '\"': '&quot;',\n \"'\": '&#x27;'\n};\n\nexport function escapeHtml(value: string): string {\n return String(value).replace(/[&<>\"']/g, (character) => ESCAPE_HTML_MAP[character]);\n}\n","import { computed, Directive, inject, input } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\nimport { IconSetService } from '../icon-set';\nimport { IconSize, IIcon, IPointerEvents, NgCssClass } from './icon.interface';\nimport { escapeHtml, transformName } from './icon.utils';\n\n@Directive({\n exportAs: 'cIcon',\n selector: 'svg[cIcon]',\n host: {\n '[innerHtml]': 'innerHtml()',\n '[class]': 'hostClasses()',\n '[attr.viewBox]': 'viewBox()',\n '[attr.xmlns]': 'xmlns()',\n '[attr.pointer-events]': 'pointerEvents()',\n '[attr.role]': 'role()',\n '[attr.aria-hidden]': 'true'\n }\n})\nexport class IconDirective implements IIcon {\n readonly #sanitizer = inject(DomSanitizer);\n readonly #iconSet = inject(IconSetService);\n\n /**\n * The icon itself: either its SVG content or a `[viewBox, content]` pair. Use this or\n * `name`, as it decides how the icon is imported.\n */\n readonly content = input<string | string[] | any[] | undefined>(undefined, { alias: 'cIcon' });\n\n /**\n * Overwrites the default `.icon` classes.\n */\n readonly customClasses = input<NgCssClass>();\n\n /**\n * Size of the icon.\n */\n readonly size = input<IconSize>('');\n\n /**\n * Sets the SVG `title` tag.\n */\n readonly title = input<string>();\n\n /**\n * Sets the SVG `height` attribute.\n */\n readonly height = input<string>();\n\n /**\n * Sets the SVG `width` attribute.\n */\n readonly width = input<string>();\n\n /**\n * Name of an SVG icon stored in `IconSetService`.\n */\n readonly name = input('', { transform: transformName });\n\n /**\n * Sets the SVG `viewBox` attribute.\n */\n readonly viewBoxInput = input<string | undefined>(undefined, { alias: 'viewBox' });\n\n /**\n * Sets the SVG `xmlns` attribute.\n */\n readonly xmlns = input('http://www.w3.org/2000/svg');\n\n /**\n * Sets the CSS `pointer-events` property of the icon.\n */\n readonly pointerEvents = input<IPointerEvents>('none', { alias: 'pointer-events' });\n\n /**\n * Sets the ARIA role of the icon.\n */\n readonly role = input('img');\n\n readonly hostClasses = computed<NgCssClass>(() => {\n const computedSize = this.computedSize();\n const classes = {\n icon: true,\n [`icon-${computedSize}`]: !!computedSize\n };\n return this.customClasses() ?? classes;\n });\n\n readonly viewBox = computed(() => {\n return this.viewBoxInput() ?? this.scale();\n });\n\n readonly innerHtml = computed(() => {\n const codeVal = this.code();\n const code = Array.isArray(codeVal) ? (codeVal?.[1] ?? codeVal?.[0] ?? '') : codeVal || '';\n // todo proper sanitize\n // const sanitized = this.sanitizer.sanitize(SecurityContext.HTML, code);\n return this.#sanitizer.bypassSecurityTrustHtml(this.#titleCode() + code || '');\n });\n\n readonly #titleCode = computed(() => {\n const title = this.title();\n return title ? `<title>${escapeHtml(title)}</title>` : '';\n });\n\n readonly code = computed(() => {\n const content = this.content();\n if (content) {\n return content;\n }\n const name = this.name();\n if (this.#iconSet && name) {\n return this.#iconSet.getIcon(name);\n }\n if (name && !this.#iconSet?.icons[name]) {\n console.warn(\n `cIcon directive: The '${name}' icon not found. Add it to the IconSet service for use with the 'name' property. \\n`,\n name\n );\n }\n return '';\n });\n\n readonly scale = computed(() => {\n return Array.isArray(this.code()) && (this.code()?.length ?? 0) > 1 ? `0 0 ${this.code()?.[0]}` : '0 0 64 64';\n });\n\n readonly computedSize = computed(() => {\n const addCustom = !this.size() && (this.width() || this.height());\n return this.size() === 'custom' || addCustom ? 'custom-size' : this.size();\n });\n}\n","import { Directive, effect, ElementRef, inject, input, Renderer2 } from '@angular/core';\n\n@Directive({\n selector: '[cHtmlAttr]',\n exportAs: 'cHtmlAttr'\n})\nexport class HtmlAttributesDirective {\n readonly cHtmlAttr = input<Record<string, any>>();\n\n readonly #renderer = inject(Renderer2);\n readonly #elementRef = inject(ElementRef);\n\n readonly attrEffect = effect(() => {\n const attribs = this.cHtmlAttr();\n for (const attr in attribs) {\n if (attr === 'style' && typeof attribs[attr] === 'object') {\n this.setStyle(attribs[attr]);\n } else if (attr === 'class') {\n this.addClass(attribs[attr]);\n } else {\n this.setAttrib(attr, attribs[attr]);\n }\n }\n });\n\n private setStyle(styles: Record<string, any>): void {\n for (const style in styles) {\n if (style) {\n this.#renderer.setStyle(this.#elementRef.nativeElement, style, styles[style]);\n }\n }\n }\n\n private addClass(classes: string | string[]): void {\n const classArray = Array.isArray(classes) ? classes : classes.split(' ');\n classArray\n .filter((element) => element.length > 0)\n .forEach((element) => {\n this.#renderer.addClass(this.#elementRef.nativeElement, element);\n });\n }\n\n private setAttrib(key: string, value: string | null): void {\n value !== null\n ? this.#renderer.setAttribute(this.#elementRef.nativeElement, key, value)\n : this.#renderer.removeAttribute(this.#elementRef.nativeElement, key);\n }\n}\n","import { Component, computed, effect, ElementRef, inject, input, Renderer2, viewChild } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\nimport { HtmlAttributesDirective } from '../shared/html-attr.directive';\nimport { IconSetService } from '../icon-set';\nimport { IconSize, IIcon, NgCssClass } from './icon.interface';\nimport { escapeHtml, transformName } from './icon.utils';\n\n@Component({\n exportAs: 'cIconComponent',\n imports: [HtmlAttributesDirective],\n selector: 'c-icon',\n styleUrls: ['./icon.component.scss'],\n templateUrl: './icon.component.svg',\n host: { ngSkipHydration: 'true', style: 'display: none' }\n})\nexport class IconComponent implements IIcon {\n readonly #renderer = inject(Renderer2);\n readonly #elementRef = inject(ElementRef);\n readonly #sanitizer = inject(DomSanitizer);\n readonly #iconSet = inject(IconSetService);\n\n readonly content = input<string | string[] | any[]>();\n\n readonly attributes = input<Record<string, any>>({ role: 'img' });\n readonly customClasses = input<NgCssClass>();\n readonly size = input<IconSize>('');\n readonly title = input<string>();\n readonly use = input<string>('');\n readonly height = input<string>();\n readonly width = input<string>();\n readonly name = input('', { transform: transformName });\n readonly viewBoxInput = input<string | undefined>(undefined, { alias: 'viewBox' });\n\n readonly svgElementRef = viewChild<ElementRef>('svgElement');\n\n readonly #svgElementEffect = effect(() => {\n const svgElementRef = this.svgElementRef();\n const hostElement: Element = this.#elementRef.nativeElement;\n if (svgElementRef && hostElement) {\n const svgElement = svgElementRef.nativeElement;\n hostElement.classList?.forEach((item: string) => {\n this.#renderer.addClass(svgElement, item);\n });\n const parentElement = this.#renderer.parentNode(hostElement);\n this.#renderer.insertBefore(parentElement, svgElement, hostElement);\n this.#renderer.removeChild(parentElement, hostElement);\n }\n });\n\n readonly viewBox = computed(() => {\n return this.viewBoxInput() ?? this.scale();\n });\n\n readonly innerHtml = computed(() => {\n const codeVal = this.code();\n const code = Array.isArray(codeVal) ? (codeVal?.[1] ?? codeVal?.[0] ?? '') : codeVal || '';\n // todo proper sanitize\n // const sanitized = this.sanitizer.sanitize(SecurityContext.HTML, code);\n return this.#sanitizer.bypassSecurityTrustHtml(this.#titleCode() + code || '');\n });\n\n readonly #titleCode = computed(() => {\n const title = this.title();\n return title ? `<title>${escapeHtml(title)}</title>` : '';\n });\n\n readonly code = computed(() => {\n const content = this.content();\n if (content) {\n return content;\n }\n const name = this.name();\n if (this.#iconSet && name) {\n return this.#iconSet.getIcon(name);\n }\n if (name && !this.#iconSet?.icons[name]) {\n console.warn(\n `c-icon component: The '${name}' icon not found. Add it to the IconSet service for use with the 'name' property. \\n`,\n name\n );\n }\n return '';\n });\n\n readonly scale = computed(() => {\n return Array.isArray(this.code()) && (this.code()?.length ?? 0) > 1 ? `0 0 ${this.code()?.[0]}` : '0 0 64 64';\n });\n\n readonly computedSize = computed(() => {\n const addCustom = !this.size() && (this.width() || this.height());\n return this.size() === 'custom' || addCustom ? 'custom-size' : this.size();\n });\n\n readonly computedClasses = computed(() => {\n const classes = {\n icon: true,\n [`icon-${this.computedSize()}`]: !!this.computedSize()\n };\n return this.customClasses() ?? classes;\n });\n}\n","@if (!use() && !!code()) {\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n [attr.width]=\"width()\"\n [attr.height]=\"height() || width()\"\n [attr.viewBox]=\"viewBox() || scale()\"\n [innerHtml]=\"innerHtml()\"\n [class]=\"computedClasses()\"\n [cHtmlAttr]=\"attributes()\"\n aria-hidden=\"true\"\n pointer-events=\"none\"\n role=\"img\"\n #svgElement\n >\n </svg>\n} @else if (use()) {\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n [attr.width]=\"width()\"\n [attr.height]=\"height() || width()\"\n [class]=\"computedClasses()\"\n [cHtmlAttr]=\"attributes()\"\n aria-hidden=\"true\"\n pointer-events=\"none\"\n role=\"img\"\n #svgElement\n >\n <use [attr.href]=\"use()\"></use>\n </svg>\n}\n","import { NgModule } from '@angular/core';\nimport { IconComponent } from './icon.component';\nimport { IconDirective } from './icon.directive';\n\n@NgModule({\n imports: [\n IconComponent,\n IconDirective\n ],\n exports: [\n IconComponent,\n IconDirective\n ]\n})\nexport class IconModule {}\n","/*\n * Public API Surface of @coreui/icons-angular\n */\nexport { IconDirective } from './lib/icon/icon.directive';\nexport { IconComponent } from './lib/icon/icon.component';\nexport { IconModule } from './lib/icon/icon.module';\nexport { IconSetService, type IIconSet } from './lib/icon-set/icon-set.service';\nexport { IconSetModule } from './lib/icon-set/icon-set.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coreui-icons-angular.mjs","sources":["../../../projects/coreui-icons-angular/src/lib/icon-set/icon-set.service.ts","../../../projects/coreui-icons-angular/src/lib/icon-set/icon-set.module.ts","../../../projects/coreui-icons-angular/src/lib/icon/icon.utils.ts","../../../projects/coreui-icons-angular/src/lib/icon/icon.directive.ts","../../../projects/coreui-icons-angular/src/lib/shared/html-attr.directive.ts","../../../projects/coreui-icons-angular/src/lib/icon/icon.component.ts","../../../projects/coreui-icons-angular/src/lib/icon/icon.component.svg","../../../projects/coreui-icons-angular/src/lib/icon/icon.module.ts","../../../projects/coreui-icons-angular/src/public-api.ts","../../../projects/coreui-icons-angular/src/coreui-icons-angular.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\nexport interface IIconSet {\n [iconName: string]: string[];\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class IconSetService {\n public get iconNames() {\n return this.#iconNames;\n }\n\n #iconNames: Record<string, string> = {};\n\n get icons(): IIconSet {\n return this.#icons;\n }\n\n set icons(iconSet) {\n for (const iconsKey in iconSet) {\n this.#iconNames[iconsKey] = iconsKey;\n }\n this.#icons = iconSet;\n }\n\n #icons: IIconSet = {};\n\n public getIcon(name: string): string[] {\n const icon = this.icons[name];\n if (!icon) {\n console.warn(`CoreUI WARN: Icon ${name} is not registered in IconService`);\n }\n return this.icons[name];\n }\n}\n","import { ModuleWithProviders, NgModule, inject } from '@angular/core';\n\nimport { IconSetService } from './icon-set.service';\n\n@NgModule({\n providers: [IconSetService]\n})\nexport class IconSetModule {\n constructor() {\n const parentModule = inject(IconSetModule, { optional: true, skipSelf: true });\n\n if (parentModule) {\n throw new Error(\n 'CoreUI IconSetModule is already loaded. Import it in the AppModule only');\n }\n }\n\n static forRoot(): ModuleWithProviders<IconSetModule> {\n return {\n ngModule: IconSetModule,\n providers: [\n { provide: IconSetService }\n ]\n };\n }\n}\n","export function toCamelCase(value: string) {\n return value.replace(/([-_][a-z0-9])/ig, ($1: string) => {\n return $1.toUpperCase().replace('-', '');\n });\n}\n\nexport function transformName(value: string) {\n return value && value.includes('-') ? toCamelCase(value) : value;\n}\n\nconst ESCAPE_HTML_MAP: Record<string, string> = {\n '&': '&amp;',\n '<': '&lt;',\n '>': '&gt;',\n '\"': '&quot;',\n \"'\": '&#x27;'\n};\n\nexport function escapeHtml(value: string): string {\n return String(value).replace(/[&<>\"']/g, (character) => ESCAPE_HTML_MAP[character]);\n}\n","import { computed, Directive, inject, input } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\nimport { IconSetService } from '../icon-set';\nimport { IconSize, IIcon, IPointerEvents, NgCssClass } from './icon.interface';\nimport { escapeHtml, transformName } from './icon.utils';\n\n@Directive({\n exportAs: 'cIcon',\n selector: 'svg[cIcon]',\n host: {\n '[innerHtml]': 'innerHtml()',\n '[class]': 'hostClasses()',\n '[attr.viewBox]': 'viewBox()',\n '[attr.xmlns]': 'xmlns()',\n '[attr.pointer-events]': 'pointerEvents()',\n '[attr.role]': 'role()',\n '[attr.aria-hidden]': 'true'\n }\n})\nexport class IconDirective implements IIcon {\n readonly #sanitizer = inject(DomSanitizer);\n readonly #iconSet = inject(IconSetService);\n\n /**\n * The icon itself: either its SVG content or a `[viewBox, content]` pair. Use this or\n * `name`, as it decides how the icon is imported.\n */\n readonly content = input<string | string[] | any[] | undefined>(undefined, { alias: 'cIcon' });\n\n /**\n * Overwrites the default `.icon` classes.\n */\n readonly customClasses = input<NgCssClass>();\n\n /**\n * Size of the icon.\n */\n readonly size = input<IconSize>('');\n\n /**\n * Sets the SVG `title` tag.\n */\n readonly title = input<string>();\n\n /**\n * Sets the SVG `height` attribute.\n */\n readonly height = input<string>();\n\n /**\n * Sets the SVG `width` attribute.\n */\n readonly width = input<string>();\n\n /**\n * Name of an SVG icon stored in `IconSetService`.\n */\n readonly name = input('', { transform: transformName });\n\n /**\n * Sets the SVG `viewBox` attribute.\n */\n readonly viewBoxInput = input<string | undefined>(undefined, { alias: 'viewBox' });\n\n /**\n * Sets the SVG `xmlns` attribute.\n */\n readonly xmlns = input('http://www.w3.org/2000/svg');\n\n /**\n * Sets the CSS `pointer-events` property of the icon.\n */\n readonly pointerEvents = input<IPointerEvents>('none', { alias: 'pointer-events' });\n\n /**\n * Sets the ARIA role of the icon.\n */\n readonly role = input('img');\n\n readonly hostClasses = computed<NgCssClass>(() => {\n const computedSize = this.computedSize();\n const classes = {\n icon: true,\n [`icon-${computedSize}`]: !!computedSize\n };\n return this.customClasses() ?? classes;\n });\n\n readonly viewBox = computed(() => {\n return this.viewBoxInput() ?? this.scale();\n });\n\n readonly innerHtml = computed(() => {\n const codeVal = this.code();\n const code = Array.isArray(codeVal) ? (codeVal?.[1] ?? codeVal?.[0] ?? '') : codeVal || '';\n // todo proper sanitize\n // const sanitized = this.sanitizer.sanitize(SecurityContext.HTML, code);\n return this.#sanitizer.bypassSecurityTrustHtml(this.#titleCode() + code || '');\n });\n\n readonly #titleCode = computed(() => {\n const title = this.title();\n return title ? `<title>${escapeHtml(title)}</title>` : '';\n });\n\n readonly code = computed(() => {\n const content = this.content();\n if (content) {\n return content;\n }\n const name = this.name();\n return name ? this.#iconSet.getIcon(name) : '';\n });\n\n readonly scale = computed(() => {\n return Array.isArray(this.code()) && (this.code()?.length ?? 0) > 1 ? `0 0 ${this.code()?.[0]}` : '0 0 64 64';\n });\n\n readonly computedSize = computed(() => {\n const addCustom = !this.size() && (this.width() || this.height());\n return this.size() === 'custom' || addCustom ? 'custom-size' : this.size();\n });\n}\n","import { Directive, effect, ElementRef, inject, input, Renderer2 } from '@angular/core';\n\n@Directive({\n selector: '[cHtmlAttr]',\n exportAs: 'cHtmlAttr'\n})\nexport class HtmlAttributesDirective {\n /**\n * A map of HTML attributes (including `class` and `style`) to set on the host element.\n * @returns Record<string, any>\n */\n readonly cHtmlAttr = input<Record<string, any>>();\n\n readonly #renderer = inject(Renderer2);\n readonly #elementRef = inject(ElementRef);\n\n constructor() {\n effect(() => {\n const attribs = this.cHtmlAttr();\n for (const attr in attribs) {\n if (attr === 'style' && typeof attribs[attr] === 'object') {\n this.setStyle(attribs[attr]);\n } else if (attr === 'class') {\n this.addClass(attribs[attr]);\n } else {\n this.setAttrib(attr, attribs[attr]);\n }\n }\n });\n }\n\n private setStyle(styles: Record<string, any>): void {\n for (const style in styles) {\n if (style) {\n this.#renderer.setStyle(this.#elementRef.nativeElement, style, styles[style]);\n }\n }\n }\n\n private addClass(classes: string | string[]): void {\n const classArray = Array.isArray(classes) ? classes : classes.split(' ');\n classArray\n .filter((element) => element.length > 0)\n .forEach((element) => {\n this.#renderer.addClass(this.#elementRef.nativeElement, element);\n });\n }\n\n private setAttrib(key: string, value: string | null): void {\n value !== null\n ? this.#renderer.setAttribute(this.#elementRef.nativeElement, key, value)\n : this.#renderer.removeAttribute(this.#elementRef.nativeElement, key);\n }\n}\n","import { Component, computed, effect, ElementRef, inject, input, Renderer2, viewChild } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\nimport { HtmlAttributesDirective } from '../shared/html-attr.directive';\nimport { IconSetService } from '../icon-set';\nimport { IconSize, IIcon, NgCssClass } from './icon.interface';\nimport { escapeHtml, transformName } from './icon.utils';\n\n@Component({\n exportAs: 'cIconComponent',\n imports: [HtmlAttributesDirective],\n selector: 'c-icon',\n styleUrls: ['./icon.component.scss'],\n templateUrl: './icon.component.svg',\n host: { ngSkipHydration: 'true', style: 'display: none' }\n})\nexport class IconComponent implements IIcon {\n readonly #renderer = inject(Renderer2);\n readonly #elementRef = inject(ElementRef);\n readonly #sanitizer = inject(DomSanitizer);\n readonly #iconSet = inject(IconSetService);\n\n readonly content = input<string | string[] | any[]>();\n\n readonly attributes = input<Record<string, any>>({ role: 'img' });\n readonly customClasses = input<NgCssClass>();\n readonly size = input<IconSize>('');\n readonly title = input<string>();\n readonly use = input<string>('');\n readonly height = input<string>();\n readonly width = input<string>();\n readonly name = input('', { transform: transformName });\n readonly viewBoxInput = input<string | undefined>(undefined, { alias: 'viewBox' });\n\n readonly svgElementRef = viewChild<ElementRef>('svgElement');\n\n constructor() {\n effect(() => {\n const svgElementRef = this.svgElementRef();\n const hostElement: Element = this.#elementRef.nativeElement;\n if (svgElementRef && hostElement) {\n const svgElement = svgElementRef.nativeElement;\n hostElement.classList?.forEach((item: string) => {\n this.#renderer.addClass(svgElement, item);\n });\n const parentElement = this.#renderer.parentNode(hostElement);\n this.#renderer.insertBefore(parentElement, svgElement, hostElement);\n this.#renderer.removeChild(parentElement, hostElement);\n }\n });\n }\n\n readonly viewBox = computed(() => {\n return this.viewBoxInput() ?? this.scale();\n });\n\n readonly innerHtml = computed(() => {\n const codeVal = this.code();\n const code = Array.isArray(codeVal) ? (codeVal?.[1] ?? codeVal?.[0] ?? '') : codeVal || '';\n // todo proper sanitize\n // const sanitized = this.sanitizer.sanitize(SecurityContext.HTML, code);\n return this.#sanitizer.bypassSecurityTrustHtml(this.#titleCode() + code || '');\n });\n\n readonly #titleCode = computed(() => {\n const title = this.title();\n return title ? `<title>${escapeHtml(title)}</title>` : '';\n });\n\n readonly code = computed(() => {\n const content = this.content();\n if (content) {\n return content;\n }\n const name = this.name();\n return name ? this.#iconSet.getIcon(name) : '';\n });\n\n readonly scale = computed(() => {\n return Array.isArray(this.code()) && (this.code()?.length ?? 0) > 1 ? `0 0 ${this.code()?.[0]}` : '0 0 64 64';\n });\n\n readonly computedSize = computed(() => {\n const addCustom = !this.size() && (this.width() || this.height());\n return this.size() === 'custom' || addCustom ? 'custom-size' : this.size();\n });\n\n readonly computedClasses = computed(() => {\n const classes = {\n icon: true,\n [`icon-${this.computedSize()}`]: !!this.computedSize()\n };\n return this.customClasses() ?? classes;\n });\n}\n","@if (!use() && !!code()) {\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n [attr.width]=\"width()\"\n [attr.height]=\"height() || width()\"\n [attr.viewBox]=\"viewBox() || scale()\"\n [innerHtml]=\"innerHtml()\"\n [class]=\"computedClasses()\"\n [cHtmlAttr]=\"attributes()\"\n aria-hidden=\"true\"\n pointer-events=\"none\"\n role=\"img\"\n #svgElement\n >\n </svg>\n} @else if (use()) {\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n [attr.width]=\"width()\"\n [attr.height]=\"height() || width()\"\n [class]=\"computedClasses()\"\n [cHtmlAttr]=\"attributes()\"\n aria-hidden=\"true\"\n pointer-events=\"none\"\n role=\"img\"\n #svgElement\n >\n <use [attr.href]=\"use()\"></use>\n </svg>\n}\n","import { NgModule } from '@angular/core';\nimport { IconComponent } from './icon.component';\nimport { IconDirective } from './icon.directive';\n\n@NgModule({\n imports: [\n IconComponent,\n IconDirective\n ],\n exports: [\n IconComponent,\n IconDirective\n ]\n})\nexport class IconModule {}\n","/*\n * Public API Surface of @coreui/icons-angular\n */\nexport { IconDirective } from './lib/icon/icon.directive';\nexport { IconComponent } from './lib/icon/icon.component';\nexport { IconModule } from './lib/icon/icon.module';\nexport { IconSetService, type IIconSet } from './lib/icon-set/icon-set.service';\nexport { IconSetModule } from './lib/icon-set/icon-set.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coreui/icons-angular",
3
- "version": "5.7.20",
3
+ "version": "5.7.23",
4
4
  "description": "CoreUI Icons Angular component and service",
5
5
  "copyright": "Copyright 2026 creativeLabs Łukasz Holeczek",
6
6
  "license": "MIT",
@@ -90,6 +90,7 @@ declare class IconComponent implements IIcon {
90
90
  readonly name: _angular_core.InputSignalWithTransform<string, string>;
91
91
  readonly viewBoxInput: _angular_core.InputSignal<string | undefined>;
92
92
  readonly svgElementRef: _angular_core.Signal<ElementRef<any> | undefined>;
93
+ constructor();
93
94
  readonly viewBox: _angular_core.Signal<string>;
94
95
  readonly innerHtml: _angular_core.Signal<_angular_platform_browser.SafeHtml>;
95
96
  readonly code: _angular_core.Signal<string | any[]>;