@lion/ui
Version:
A package of extendable web components
41 lines • 1.64 kB
TypeScript
/**
* @typedef {import('lit-html').nothing} nothing
* @typedef {import('lit').TemplateResult} TemplateResult
*/
export class IconManager {
/** @private */
private __iconResolvers;
/**
* Adds an icon resolver for the given namespace. An icon resolver is a
* function which takes an icon set and an icon name and returns an svg
* icon as a TemplateResult. This function can be sync or async.
*
* @param {string} namespace
* @param {(iconset: string, icon: string) => TemplateResult | Promise<TemplateResult> | nothing | Promise<nothing> } iconResolver
*/
addIconResolver(namespace: string, iconResolver: (iconset: string, icon: string) => TemplateResult | Promise<TemplateResult> | nothing | Promise<nothing>): void;
/**
* Removes an icon resolver for a namespace.
* @param {string} namespace
*/
removeIconResolver(namespace: string): void;
/**
* Resolves icon for the given parameters. Returns the icon as a svg string.
*
* @param {string} namespace
* @param {string} iconset
* @param {string} icon
* @returns {Promise<TemplateResult>}
*/
resolveIcon(namespace: string, iconset: string, icon: string): Promise<TemplateResult>;
/**
* Resolves icon for the given icon id. Returns the icon as a svg string.
*
* @param {string} iconId
* @returns {Promise<TemplateResult>}
*/
resolveIconForId(iconId: string): Promise<TemplateResult>;
}
export type nothing = typeof import("lit-html").nothing;
export type TemplateResult = import('lit').TemplateResult;
//# sourceMappingURL=IconManager.d.ts.map