@progress/kendo-angular-icons 25.0.0-develop.3 → 25.0.0-develop.31
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.
|
@@ -13,6 +13,7 @@ exports.writeInstructionMarker = writeInstructionMarker;
|
|
|
13
13
|
exports.isApiChangeTarget = isApiChangeTarget;
|
|
14
14
|
exports.isRenderingChangeTarget = isRenderingChangeTarget;
|
|
15
15
|
exports.executeCodemodTest = executeCodemodTest;
|
|
16
|
+
exports.removeAttributeFromDirectiveHost = removeAttributeFromDirectiveHost;
|
|
16
17
|
const tslib_1 = require("tslib");
|
|
17
18
|
/// <reference types="node" />
|
|
18
19
|
const fs = tslib_1.__importStar(require("fs"));
|
|
@@ -1486,3 +1487,17 @@ function executeCodemodTest(codemod, testDir, exampleFileName = 'example.ts', ex
|
|
|
1486
1487
|
catch { }
|
|
1487
1488
|
}
|
|
1488
1489
|
}
|
|
1490
|
+
function removeAttributeFromDirectiveHost(templateContent, directiveAttr, attrToRemove) {
|
|
1491
|
+
const escapedDirective = directiveAttr.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
1492
|
+
const escapedAttr = attrToRemove.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
1493
|
+
const boundPattern = new RegExp(`(<[a-zA-Z][a-zA-Z0-9-]*[^>]*${escapedDirective}[^>]*?)\\s+\\[${escapedAttr}\\]\\s*=\\s*("(?:[^"\\\\]|\\\\.)*?"|'(?:[^'\\\\]|\\\\.)*?'|[^\\s>]+)([^>]*?>)`, 'gi');
|
|
1494
|
+
const staticPattern = new RegExp(`(<[a-zA-Z][a-zA-Z0-9-]*[^>]*${escapedDirective}[^>]*?)\\s+${escapedAttr}\\s*=\\s*("(?:[^"\\\\]|\\\\.)*?"|'(?:[^'\\\\]|\\\\.)*?'|[^\\s>]+)([^>]*?>)`, 'gi');
|
|
1495
|
+
// Also match when the attribute appears before the directive
|
|
1496
|
+
const boundPatternBefore = new RegExp(`(<[a-zA-Z][a-zA-Z0-9-]*[^>]*?)\\s+\\[${escapedAttr}\\]\\s*=\\s*("(?:[^"\\\\]|\\\\.)*?"|'(?:[^'\\\\]|\\\\.)*?'|[^\\s>]+)([^>]*${escapedDirective}[^>]*?>)`, 'gi');
|
|
1497
|
+
const staticPatternBefore = new RegExp(`(<[a-zA-Z][a-zA-Z0-9-]*[^>]*?)\\s+${escapedAttr}\\s*=\\s*("(?:[^"\\\\]|\\\\.)*?"|'(?:[^'\\\\]|\\\\.)*?'|[^\\s>]+)([^>]*${escapedDirective}[^>]*?>)`, 'gi');
|
|
1498
|
+
let result = templateContent.replace(boundPattern, '$1$3');
|
|
1499
|
+
result = result.replace(staticPattern, '$1$3');
|
|
1500
|
+
result = result.replace(boundPatternBefore, '$1$3');
|
|
1501
|
+
result = result.replace(staticPatternBefore, '$1$3');
|
|
1502
|
+
return result;
|
|
1503
|
+
}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import * as i0 from '@angular/core';
|
|
6
6
|
import { Input, HostBinding, Directive, signal, ChangeDetectionStrategy, Component, computed, isDevMode, Injectable, InjectionToken, Optional, Inject, NgModule } from '@angular/core';
|
|
7
|
-
import { isDocumentAvailable, areObjectsEqual } from '@progress/kendo-angular-common';
|
|
7
|
+
import { isDocumentAvailable, areObjectsEqual, KENDO_COMPONENT_NAME } from '@progress/kendo-angular-common';
|
|
8
8
|
import { validatePackage } from '@progress/kendo-licensing';
|
|
9
9
|
import * as i1_1 from '@angular/platform-browser';
|
|
10
10
|
import { Subject, BehaviorSubject, Subscription } from 'rxjs';
|
|
@@ -19,8 +19,8 @@ const packageMetadata = {
|
|
|
19
19
|
productName: 'Kendo UI for Angular',
|
|
20
20
|
productCode: 'KENDOUIANGULAR',
|
|
21
21
|
productCodes: ['KENDOUIANGULAR'],
|
|
22
|
-
publishDate:
|
|
23
|
-
version: '25.0.0-develop.
|
|
22
|
+
publishDate: 1786459506,
|
|
23
|
+
version: '25.0.0-develop.31',
|
|
24
24
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
25
25
|
};
|
|
26
26
|
|
|
@@ -91,10 +91,10 @@ class IconBaseDirective {
|
|
|
91
91
|
this.renderer = renderer;
|
|
92
92
|
validatePackage(packageMetadata);
|
|
93
93
|
}
|
|
94
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
95
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.
|
|
94
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: IconBaseDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
|
|
95
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.27", type: IconBaseDirective, isStandalone: true, selector: "[kendoIconBase]", inputs: { flip: "flip", themeColor: "themeColor", size: "size" }, host: { properties: { "class.k-flip-h": "this.horizontalFlip", "class.k-flip-v": "this.verticalFlip" } }, ngImport: i0 });
|
|
96
96
|
}
|
|
97
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
97
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: IconBaseDirective, decorators: [{
|
|
98
98
|
type: Directive,
|
|
99
99
|
args: [{
|
|
100
100
|
selector: '[kendoIconBase]'
|
|
@@ -150,10 +150,10 @@ class IconComponent extends IconBaseDirective {
|
|
|
150
150
|
this.element = element;
|
|
151
151
|
this.renderer = renderer;
|
|
152
152
|
}
|
|
153
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
154
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
153
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: IconComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
154
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.27", type: IconComponent, isStandalone: true, selector: "kendo-icon", inputs: { name: "name" }, host: { properties: { "class.k-icon": "this.hostClass", "class.k-font-icon": "this.hostClass", "attr.aria-hidden": "this.hostAriaHidden" } }, exportAs: ["kendoIcon"], usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
155
155
|
}
|
|
156
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
156
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: IconComponent, decorators: [{
|
|
157
157
|
type: Component,
|
|
158
158
|
args: [{
|
|
159
159
|
selector: 'kendo-icon',
|
|
@@ -275,15 +275,15 @@ class SVGIconComponent extends IconBaseDirective {
|
|
|
275
275
|
`);
|
|
276
276
|
}
|
|
277
277
|
}
|
|
278
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
279
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.
|
|
278
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: SVGIconComponent, deps: [{ token: i1_1.DomSanitizer }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
279
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.27", type: SVGIconComponent, isStandalone: true, selector: "kendo-svg-icon, kendo-svgicon", inputs: { icon: "icon", variant: "variant" }, host: { properties: { "class.k-svg-icon": "this.hostClass", "class.k-icon": "this.hostClass", "attr.aria-hidden": "this.hostAriaHidden" } }, exportAs: ["kendoSVGIcon"], usesInheritance: true, ngImport: i0, template: `
|
|
280
280
|
@if (visible) {
|
|
281
281
|
<svg [style.pointerEvents]="'none'" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
282
282
|
[attr.viewBox]="icon.viewBox" [innerHTML]="content" aria-hidden="true">
|
|
283
283
|
</svg>
|
|
284
284
|
}`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
285
285
|
}
|
|
286
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
286
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: SVGIconComponent, decorators: [{
|
|
287
287
|
type: Component,
|
|
288
288
|
args: [{
|
|
289
289
|
exportAs: 'kendoSVGIcon',
|
|
@@ -349,25 +349,27 @@ class IconSettingsService {
|
|
|
349
349
|
/**
|
|
350
350
|
* Returns the [`SVGIcon`](https://www.telerik.com/kendo-angular-ui/components/icons/api/svgicon) object for the provided key.
|
|
351
351
|
* Override in a custom service to provide custom SVG icons.
|
|
352
|
+
* The optional `_component` parameter carries the host component identity (e.g. `'dateinput'`, `'grid'`)
|
|
353
|
+
* so subclasses can return different icons for the same name depending on the requesting component.
|
|
352
354
|
*
|
|
353
|
-
* @hidden
|
|
354
355
|
*/
|
|
355
|
-
getSvgIcon(_name) {
|
|
356
|
+
getSvgIcon(_name, _component) {
|
|
356
357
|
return null;
|
|
357
358
|
}
|
|
358
359
|
/**
|
|
359
360
|
* Returns the list of classes to be rendered on the host `SPAN` element of custom font icons.
|
|
360
361
|
* Override in a custom service to provide classes for custom font icons.
|
|
362
|
+
* The optional `_component` parameter carries the host component identity so subclasses can
|
|
363
|
+
* return different classes for the same key depending on the requesting component.
|
|
361
364
|
*
|
|
362
|
-
* @hidden
|
|
363
365
|
*/
|
|
364
|
-
getCustomFontIconClass(_key) {
|
|
366
|
+
getCustomFontIconClass(_key, _component) {
|
|
365
367
|
return null;
|
|
366
368
|
}
|
|
367
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
368
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
369
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: IconSettingsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
370
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: IconSettingsService });
|
|
369
371
|
}
|
|
370
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
372
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: IconSettingsService, decorators: [{
|
|
371
373
|
type: Injectable
|
|
372
374
|
}] });
|
|
373
375
|
|
|
@@ -439,25 +441,45 @@ class IconsService {
|
|
|
439
441
|
/**
|
|
440
442
|
* Returns the [`SVGIcon`](https://www.telerik.com/kendo-angular-ui/components/icons/api/svgicon) object for the provided key.
|
|
441
443
|
* Override in a custom service to provide custom SVG icons.
|
|
444
|
+
* Walks the `componentChain` outermost-first so the closest explicitly configured ancestor wins,
|
|
445
|
+
* falling back to a global (no component) lookup when no level in the chain matches.
|
|
442
446
|
* @hidden
|
|
443
447
|
*/
|
|
444
|
-
getSvgIcon(name) {
|
|
445
|
-
|
|
446
|
-
|
|
448
|
+
getSvgIcon(name, componentChain) {
|
|
449
|
+
if (!this.iconSettingsService) {
|
|
450
|
+
return null;
|
|
451
|
+
}
|
|
452
|
+
for (const component of componentChain ?? []) {
|
|
453
|
+
const scoped = this.iconSettingsService.getSvgIcon(name, component.toLowerCase());
|
|
454
|
+
if (scoped) {
|
|
455
|
+
return scoped;
|
|
456
|
+
}
|
|
457
|
+
}
|
|
458
|
+
return this.iconSettingsService.getSvgIcon(name);
|
|
447
459
|
}
|
|
448
460
|
/**
|
|
449
461
|
* Returns the list of classes to be rendered on the host `SPAN` element of custom font icons.
|
|
450
462
|
* Override in a custom service to provide classes for custom font icons.
|
|
463
|
+
* Walks the `componentChain` outermost-first so the closest explicitly configured ancestor wins,
|
|
464
|
+
* falling back to a global (no component) lookup when no level in the chain matches.
|
|
451
465
|
* @hidden
|
|
452
466
|
*/
|
|
453
|
-
getCustomFontIconClass(key) {
|
|
454
|
-
|
|
455
|
-
|
|
467
|
+
getCustomFontIconClass(key, componentChain) {
|
|
468
|
+
if (!this.iconSettingsService) {
|
|
469
|
+
return null;
|
|
470
|
+
}
|
|
471
|
+
for (const component of componentChain ?? []) {
|
|
472
|
+
const scoped = this.iconSettingsService.getCustomFontIconClass(key, component.toLowerCase());
|
|
473
|
+
if (scoped) {
|
|
474
|
+
return scoped;
|
|
475
|
+
}
|
|
476
|
+
}
|
|
477
|
+
return this.iconSettingsService.getCustomFontIconClass(key);
|
|
456
478
|
}
|
|
457
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
458
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
479
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: IconsService, deps: [{ token: ICON_SETTINGS, optional: true }, { token: IconSettingsService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
480
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: IconsService, providedIn: 'root' });
|
|
459
481
|
}
|
|
460
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
482
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: IconsService, decorators: [{
|
|
461
483
|
type: Injectable,
|
|
462
484
|
args: [{
|
|
463
485
|
providedIn: 'root'
|
|
@@ -477,6 +499,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
477
499
|
class IconWrapperComponent {
|
|
478
500
|
iconsService;
|
|
479
501
|
element;
|
|
502
|
+
componentChain;
|
|
480
503
|
hostClass = true;
|
|
481
504
|
/**
|
|
482
505
|
* Sets the name for an existing font icon in a Kendo UI theme to render.
|
|
@@ -518,7 +541,7 @@ class IconWrapperComponent {
|
|
|
518
541
|
get iconSettings() { return this._iconSettings(); }
|
|
519
542
|
// Resolves the effective SVG icon: prefer service-provided icon, then fall back to the svgIcon input.
|
|
520
543
|
// Extracted from hasSvgIcon getter to avoid writing to a signal inside a reactive context.
|
|
521
|
-
_resolvedSvgIcon = computed(() => this.iconsService.getSvgIcon(this._name()) || this._svgIcon(), ...(ngDevMode ? [{ debugName: "_resolvedSvgIcon" }] : []));
|
|
544
|
+
_resolvedSvgIcon = computed(() => this.iconsService.getSvgIcon(this._name(), this.componentChain) || this._svgIcon(), ...(ngDevMode ? [{ debugName: "_resolvedSvgIcon" }] : []));
|
|
522
545
|
get resolvedSvgIcon() { return this._resolvedSvgIcon(); }
|
|
523
546
|
get hasSvgIcon() {
|
|
524
547
|
if (this._resolvedSvgIcon()) {
|
|
@@ -545,12 +568,13 @@ https://www.telerik.com/design-system/docs/foundation/iconography/icon-list/
|
|
|
545
568
|
return false;
|
|
546
569
|
}
|
|
547
570
|
get customFontIconClass() {
|
|
548
|
-
return this.iconsService.getCustomFontIconClass(this.name) || this.customFontClass;
|
|
571
|
+
return this.iconsService.getCustomFontIconClass(this.name, this.componentChain) || this.customFontClass;
|
|
549
572
|
}
|
|
550
573
|
subs = new Subscription();
|
|
551
|
-
constructor(iconsService, element) {
|
|
574
|
+
constructor(iconsService, element, componentChain) {
|
|
552
575
|
this.iconsService = iconsService;
|
|
553
576
|
this.element = element;
|
|
577
|
+
this.componentChain = componentChain;
|
|
554
578
|
this.subs = iconsService.changes.subscribe(iconSettings => {
|
|
555
579
|
this._iconSettings.set(iconSettings);
|
|
556
580
|
});
|
|
@@ -558,14 +582,15 @@ https://www.telerik.com/design-system/docs/foundation/iconography/icon-list/
|
|
|
558
582
|
ngOnDestroy() {
|
|
559
583
|
this.subs.unsubscribe();
|
|
560
584
|
}
|
|
561
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
562
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.
|
|
585
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: IconWrapperComponent, deps: [{ token: IconsService }, { token: i0.ElementRef }, { token: KENDO_COMPONENT_NAME, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
586
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.27", type: IconWrapperComponent, isStandalone: true, selector: "kendo-icon-wrapper", inputs: { name: "name", svgIcon: "svgIcon", innerCssClass: "innerCssClass", customFontClass: "customFontClass", size: "size" }, host: { properties: { "class.k-icon-wrapper-host": "this.hostClass" } }, exportAs: ["kendoIconWrapper"], ngImport: i0, template: `
|
|
563
587
|
@if (iconSettings?.type === 'svg' && hasSvgIcon) {
|
|
564
588
|
<kendo-svgicon
|
|
565
589
|
[ngClass]="innerCssClass"
|
|
566
590
|
[icon]="resolvedSvgIcon"
|
|
567
591
|
[size]="size || iconSettings?.size"
|
|
568
592
|
[themeColor]="iconSettings?.themeColor"
|
|
593
|
+
[variant]="iconSettings?.variant"
|
|
569
594
|
[flip]="iconSettings?.flip"></kendo-svgicon>
|
|
570
595
|
} @else {
|
|
571
596
|
@if (!customFontIconClass) {
|
|
@@ -581,7 +606,7 @@ https://www.telerik.com/design-system/docs/foundation/iconography/icon-list/
|
|
|
581
606
|
}
|
|
582
607
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: IconComponent, selector: "kendo-icon", inputs: ["name"], exportAs: ["kendoIcon"] }, { kind: "component", type: SVGIconComponent, selector: "kendo-svg-icon, kendo-svgicon", inputs: ["icon", "variant"], exportAs: ["kendoSVGIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
583
608
|
}
|
|
584
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
609
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: IconWrapperComponent, decorators: [{
|
|
585
610
|
type: Component,
|
|
586
611
|
args: [{
|
|
587
612
|
selector: 'kendo-icon-wrapper',
|
|
@@ -593,6 +618,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
593
618
|
[icon]="resolvedSvgIcon"
|
|
594
619
|
[size]="size || iconSettings?.size"
|
|
595
620
|
[themeColor]="iconSettings?.themeColor"
|
|
621
|
+
[variant]="iconSettings?.variant"
|
|
596
622
|
[flip]="iconSettings?.flip"></kendo-svgicon>
|
|
597
623
|
} @else {
|
|
598
624
|
@if (!customFontIconClass) {
|
|
@@ -611,7 +637,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
611
637
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
612
638
|
imports: [NgClass, IconComponent, SVGIconComponent]
|
|
613
639
|
}]
|
|
614
|
-
}], ctorParameters: () => [{ type: IconsService }, { type: i0.ElementRef }
|
|
640
|
+
}], ctorParameters: () => [{ type: IconsService }, { type: i0.ElementRef }, { type: undefined, decorators: [{
|
|
641
|
+
type: Optional
|
|
642
|
+
}, {
|
|
643
|
+
type: Inject,
|
|
644
|
+
args: [KENDO_COMPONENT_NAME]
|
|
645
|
+
}] }], propDecorators: { hostClass: [{
|
|
615
646
|
type: HostBinding,
|
|
616
647
|
args: ['class.k-icon-wrapper-host']
|
|
617
648
|
}], name: [{
|
|
@@ -646,11 +677,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
646
677
|
* ```
|
|
647
678
|
*/
|
|
648
679
|
class IconModule {
|
|
649
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
650
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.
|
|
651
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.
|
|
680
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: IconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
681
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.27", ngImport: i0, type: IconModule, imports: [IconComponent], exports: [IconComponent] });
|
|
682
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: IconModule });
|
|
652
683
|
}
|
|
653
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
684
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: IconModule, decorators: [{
|
|
654
685
|
type: NgModule,
|
|
655
686
|
args: [{
|
|
656
687
|
exports: [IconComponent],
|
|
@@ -678,11 +709,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
678
709
|
* ```
|
|
679
710
|
*/
|
|
680
711
|
class SVGIconModule {
|
|
681
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
682
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.
|
|
683
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.
|
|
712
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: SVGIconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
713
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.27", ngImport: i0, type: SVGIconModule, imports: [SVGIconComponent], exports: [SVGIconComponent] });
|
|
714
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: SVGIconModule });
|
|
684
715
|
}
|
|
685
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
716
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: SVGIconModule, decorators: [{
|
|
686
717
|
type: NgModule,
|
|
687
718
|
args: [{
|
|
688
719
|
exports: [SVGIconComponent],
|
|
@@ -772,11 +803,11 @@ const KENDO_ICONS = [
|
|
|
772
803
|
* ```
|
|
773
804
|
*/
|
|
774
805
|
class IconsModule {
|
|
775
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
776
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.
|
|
777
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.
|
|
806
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: IconsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
807
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.27", ngImport: i0, type: IconsModule, imports: [IconComponent, SVGIconComponent], exports: [IconComponent, SVGIconComponent] });
|
|
808
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: IconsModule, providers: [IconsService] });
|
|
778
809
|
}
|
|
779
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
810
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: IconsModule, decorators: [{
|
|
780
811
|
type: NgModule,
|
|
781
812
|
args: [{
|
|
782
813
|
imports: [
|
package/index.d.ts
CHANGED
|
@@ -183,7 +183,8 @@ type IconType = 'font' | 'svg';
|
|
|
183
183
|
* type: 'svg',
|
|
184
184
|
* themeColor: 'primary',
|
|
185
185
|
* size: 'large',
|
|
186
|
-
* flip: 'horizontal'
|
|
186
|
+
* flip: 'horizontal',
|
|
187
|
+
* variant: 'outline'
|
|
187
188
|
* };
|
|
188
189
|
* ```
|
|
189
190
|
*/
|
|
@@ -204,6 +205,11 @@ interface IconSettings {
|
|
|
204
205
|
* Sets the `flip` direction of the icon.
|
|
205
206
|
*/
|
|
206
207
|
flip?: IconFlip;
|
|
208
|
+
/**
|
|
209
|
+
* Sets the `variant` of the SVG icon.
|
|
210
|
+
* Requires `@progress/kendo-svg-icons` version `5.0.0` or later.
|
|
211
|
+
*/
|
|
212
|
+
variant?: IconVariant;
|
|
207
213
|
}
|
|
208
214
|
|
|
209
215
|
/**
|
|
@@ -235,17 +241,19 @@ declare class IconSettingsService {
|
|
|
235
241
|
/**
|
|
236
242
|
* Returns the [`SVGIcon`](https://www.telerik.com/kendo-angular-ui/components/icons/api/svgicon) object for the provided key.
|
|
237
243
|
* Override in a custom service to provide custom SVG icons.
|
|
244
|
+
* The optional `_component` parameter carries the host component identity (e.g. `'dateinput'`, `'grid'`)
|
|
245
|
+
* so subclasses can return different icons for the same name depending on the requesting component.
|
|
238
246
|
*
|
|
239
|
-
* @hidden
|
|
240
247
|
*/
|
|
241
|
-
getSvgIcon(_name: string): SVGIcon;
|
|
248
|
+
getSvgIcon(_name: string, _component?: string): SVGIcon;
|
|
242
249
|
/**
|
|
243
250
|
* Returns the list of classes to be rendered on the host `SPAN` element of custom font icons.
|
|
244
251
|
* Override in a custom service to provide classes for custom font icons.
|
|
252
|
+
* The optional `_component` parameter carries the host component identity so subclasses can
|
|
253
|
+
* return different classes for the same key depending on the requesting component.
|
|
245
254
|
*
|
|
246
|
-
* @hidden
|
|
247
255
|
*/
|
|
248
|
-
getCustomFontIconClass(_key: string): string;
|
|
256
|
+
getCustomFontIconClass(_key: string, _component?: string): string;
|
|
249
257
|
static ɵfac: i0.ɵɵFactoryDeclaration<IconSettingsService, never>;
|
|
250
258
|
static ɵprov: i0.ɵɵInjectableDeclaration<IconSettingsService>;
|
|
251
259
|
}
|
|
@@ -286,15 +294,19 @@ declare class IconsService implements OnDestroy {
|
|
|
286
294
|
/**
|
|
287
295
|
* Returns the [`SVGIcon`](https://www.telerik.com/kendo-angular-ui/components/icons/api/svgicon) object for the provided key.
|
|
288
296
|
* Override in a custom service to provide custom SVG icons.
|
|
297
|
+
* Walks the `componentChain` outermost-first so the closest explicitly configured ancestor wins,
|
|
298
|
+
* falling back to a global (no component) lookup when no level in the chain matches.
|
|
289
299
|
* @hidden
|
|
290
300
|
*/
|
|
291
|
-
getSvgIcon(name: string): SVGIcon;
|
|
301
|
+
getSvgIcon(name: string, componentChain?: string[]): SVGIcon;
|
|
292
302
|
/**
|
|
293
303
|
* Returns the list of classes to be rendered on the host `SPAN` element of custom font icons.
|
|
294
304
|
* Override in a custom service to provide classes for custom font icons.
|
|
305
|
+
* Walks the `componentChain` outermost-first so the closest explicitly configured ancestor wins,
|
|
306
|
+
* falling back to a global (no component) lookup when no level in the chain matches.
|
|
295
307
|
* @hidden
|
|
296
308
|
*/
|
|
297
|
-
getCustomFontIconClass(key: string): string;
|
|
309
|
+
getCustomFontIconClass(key: string, componentChain?: string[]): string;
|
|
298
310
|
static ɵfac: i0.ɵɵFactoryDeclaration<IconsService, [{ optional: true; }, { optional: true; }]>;
|
|
299
311
|
static ɵprov: i0.ɵɵInjectableDeclaration<IconsService>;
|
|
300
312
|
}
|
|
@@ -305,6 +317,7 @@ declare class IconsService implements OnDestroy {
|
|
|
305
317
|
declare class IconWrapperComponent implements OnDestroy {
|
|
306
318
|
private iconsService;
|
|
307
319
|
element: ElementRef;
|
|
320
|
+
private componentChain;
|
|
308
321
|
hostClass: boolean;
|
|
309
322
|
/**
|
|
310
323
|
* Sets the name for an existing font icon in a Kendo UI theme to render.
|
|
@@ -345,9 +358,9 @@ declare class IconWrapperComponent implements OnDestroy {
|
|
|
345
358
|
get hasSvgIcon(): boolean;
|
|
346
359
|
get customFontIconClass(): string;
|
|
347
360
|
private subs;
|
|
348
|
-
constructor(iconsService: IconsService, element: ElementRef);
|
|
361
|
+
constructor(iconsService: IconsService, element: ElementRef, componentChain: string[]);
|
|
349
362
|
ngOnDestroy(): void;
|
|
350
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<IconWrapperComponent,
|
|
363
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<IconWrapperComponent, [null, null, { optional: true; }]>;
|
|
351
364
|
static ɵcmp: i0.ɵɵComponentDeclaration<IconWrapperComponent, "kendo-icon-wrapper", ["kendoIconWrapper"], { "name": { "alias": "name"; "required": false; }; "svgIcon": { "alias": "svgIcon"; "required": false; }; "innerCssClass": { "alias": "innerCssClass"; "required": false; }; "customFontClass": { "alias": "customFontClass"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, {}, never, never, true, never>;
|
|
352
365
|
}
|
|
353
366
|
|
package/package-metadata.mjs
CHANGED
|
@@ -7,7 +7,7 @@ export const packageMetadata = {
|
|
|
7
7
|
"productCodes": [
|
|
8
8
|
"KENDOUIANGULAR"
|
|
9
9
|
],
|
|
10
|
-
"publishDate":
|
|
11
|
-
"version": "25.0.0-develop.
|
|
10
|
+
"publishDate": 1786459506,
|
|
11
|
+
"version": "25.0.0-develop.31",
|
|
12
12
|
"licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
|
|
13
13
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@progress/kendo-angular-icons",
|
|
3
|
-
"version": "25.0.0-develop.
|
|
3
|
+
"version": "25.0.0-develop.31",
|
|
4
4
|
"description": "Kendo UI Angular component starter template",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"author": "Progress",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"package": {
|
|
32
32
|
"productName": "Kendo UI for Angular",
|
|
33
33
|
"productCode": "KENDOUIANGULAR",
|
|
34
|
-
"publishDate":
|
|
34
|
+
"publishDate": 1786459506,
|
|
35
35
|
"licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
|
|
36
36
|
}
|
|
37
37
|
},
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"@angular/platform-browser": "20 - 22",
|
|
43
43
|
"@progress/kendo-licensing": "^1.11.0",
|
|
44
44
|
"@progress/kendo-svg-icons": "^4.9.0 || ^5.0.0",
|
|
45
|
-
"@progress/kendo-angular-common": "25.0.0-develop.
|
|
45
|
+
"@progress/kendo-angular-common": "25.0.0-develop.31",
|
|
46
46
|
"rxjs": "^6.5.3 || ^7.0.0"
|
|
47
47
|
},
|
|
48
48
|
"peerDependenciesMeta": {
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
},
|
|
53
53
|
"dependencies": {
|
|
54
54
|
"tslib": "^2.3.1",
|
|
55
|
-
"@progress/kendo-angular-schematics": "25.0.0-develop.
|
|
55
|
+
"@progress/kendo-angular-schematics": "25.0.0-develop.31"
|
|
56
56
|
},
|
|
57
57
|
"schematics": "./schematics/collection.json",
|
|
58
58
|
"module": "fesm2022/progress-kendo-angular-icons.mjs",
|