angular-svg-icon
Version:
Angular 19 component and service for inlining SVGs allowing them to be easily styled with CSS.
28 lines (27 loc) • 1.36 kB
TypeScript
import { InjectionToken, Optional } from '@angular/core';
import { Observable } from 'rxjs';
import * as i0 from "@angular/core";
export declare const SERVER_URL: InjectionToken<string>;
export declare class SvgIconRegistryService {
private loader;
protected serverUrl: string | null | undefined;
private document;
private iconsByUrl;
private iconsLoadingByUrl;
/** Add a SVG to the registry by passing a name and the SVG. */
addSvg(name: string, data: string): void;
/** Load a SVG to the registry from a URL. */
loadSvg(url: string, name?: string): Observable<SVGElement | undefined> | undefined;
/** Get loaded SVG from registry by name. (also works by url because of blended map) */
getSvgByName(name: string): Observable<SVGElement | undefined> | undefined;
/** Remove a SVG from the registry by URL (or name). */
unloadSvg(url: string): void;
static ɵfac: i0.ɵɵFactoryDeclaration<SvgIconRegistryService, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<SvgIconRegistryService>;
}
export declare function SVG_ICON_REGISTRY_PROVIDER_FACTORY(parentRegistry: SvgIconRegistryService): SvgIconRegistryService;
export declare const SVG_ICON_REGISTRY_PROVIDER: {
provide: typeof SvgIconRegistryService;
deps: Optional[][];
useFactory: typeof SVG_ICON_REGISTRY_PROVIDER_FACTORY;
};