Integrate Third-Party Icons
After configuring icon overrides, you can use any third-party icon library with Kendo UI for Angular by mapping its icons to Kendo icon names.
This article demonstrates the process using Lucide for SVG icons and Bootstrap Icons for font icons. The same approach applies to other icon libraries. Browse the SVGIcon List or Font Icon List to find the Kendo icon names you want to override.
Override SVG Icons with Third-Party Libraries
The following demo showcases how to override the SVG icons of the Grid using a third-party library such as Lucide and Tabler.
Implementation
To use Lucide icons in Kendo UI for Angular, you need to install the lucide-static package and import the icons you want to use. Create a custom service that extends the IconSettingsService and overrides the getSvgIcon method to return the Lucide icon content for the requested Kendo icon name.
-
Kendo UI and Lucide use different icon names, so create a lookup table that maps Kendo icon names to their Lucide equivalents.
tsimport {FunnelPlus, ChevronDown, ArrowDownAZ} from 'lucide-static'; const ICON_MAP: Record<string, string> = { 'filter': FunnelPlus, 'chevron-down': ChevronDown, 'sort-asc-small': ArrowDownAZ, // ... }; -
Override the
getSvgIconmethod ofIconSettingsServiceto return the Lucide icon content for the requested Kendo icon name.ts@Injectable() export class MyLucideIconService extends IconSettingsService { public override getSvgIcon(iconName: string): SVGIcon { const lucideName = ICON_MAP[iconName]; return { name: iconName, content: lucideName, viewBox: '0 0 24 24', }; } } -
Register the custom service as described in Customize Default Icons.
Override Font Icons with Third-Party Libraries
The following demo showcases how to override the font icons of the Grid and TreeList using Bootstrap Icons. Use the segmented control to switch between the default Kendo font icons and Bootstrap Icons.
Implementation
To use Bootstrap Icons, load the stylesheet or install the bootstrap-icons package.
-
Create a lookup table that maps Kendo icon names to Bootstrap icon class strings.
tsconst BOOTSTRAP_ICON_CLASSES: { [key: string]: string } = { 'filter': 'bi bi-funnel-fill', 'filter-clear': 'bi bi-x-circle', 'sort-asc-small': 'bi bi-sort-alpha-down', 'sort-desc-small': 'bi bi-sort-alpha-up', // ... }; -
Override the
getCustomFontIconClassmethod ofIconSettingsServiceto return the Bootstrap icon class for the requested Kendo icon name. Use a signal to switch between libraries at runtime and callnotify()to propagate the change.ts@Injectable() export class MyBootstrapIconService extends IconSettingsService { public override getCustomFontIconClass(iconName: string): string { return BOOTSTRAP_ICON_CLASSES[iconName] ?? super.getCustomFontIconClass(iconName); } } -
Register the custom service as described in Customize Default Icons.