Uses @koobiq/icons CSS font. No providers needed — works out of the box after adding the stylesheet.

Install the dependency and configure angular.json:

npm install @koobiq/icons
"styles": [
  "node_modules/@koobiq/icons/fonts/kbq-icons.css"
]
import { KbqIconModule } from '@koobiq/components/icon';

@Component({
    imports: [KbqIconModule],
    template: `
        <i kbq-icon="kbq-plus_16"></i>
    `
})
export class AppComponent {}

Available icons: Icons


SVG icons render inline and support CSS color theming via currentColor. Choose one of the approaches below depending on your needs.

Best when you have a pre-built SVG sprite and want all icons in a single HTTP request.

import { provideHttpClient } from '@angular/common/http';
import { kbqIconsProvider } from '@koobiq/components/icon';

bootstrapApplication(AppComponent, {
    providers: [
        kbqIconsProvider(
            { spriteUrl: '/assets/icons/sprite.symbol.svg' },
            { spriteUrl: '/assets/brand/sprite.symbol.svg', namespace: 'brand' }
        )
    ]
});

@Component({
    imports: [KbqIconModule],
    template: `
        <i kbq-icon="plus_16"></i>
        <i kbq-icon="brand:logo_24"></i>
    `
})
export class AppComponent {}

Best when icons live at predictable URLs and you want them fetched on demand (no sprite required).

import { provideHttpClient } from '@angular/common/http';
import { kbqIconsResolverProvider } from '@koobiq/components/icon';

bootstrapApplication(AppComponent, {
    providers: [
        provideHttpClient(),
        kbqIconsResolverProvider((name) => `/assets/icons/${name}.svg`)
    ]
});

@Component({
    imports: [KbqIconModule],
    template: `
        <i kbq-icon="plus_16"></i>
    `
})
export class AppComponent {}
Docs Feedback
If you have any questions or would like to contribute to writing the documentation, please create an issue in our GitHub repository.