igniteui-webcomponents
Version:
Ignite UI for Web Components is a complete library of UI components, giving you the ability to build modern web applications using encapsulation and the concept of reusable components in a dependency-free approach.
36 lines (35 loc) • 976 B
TypeScript
import type { Theme } from '../../../theming/types.js';
import type { DefaultMap } from './default-map.js';
export type IconsCollection<T> = DefaultMap<string, Map<string, T>>;
export type IconCallback = (name: string, collection: string) => void;
export type IconThemeKey = Theme | 'default';
export type SvgIcon = {
svg: string;
title?: string;
};
export type IconReference = {
alias: IconMeta;
target: Map<IconThemeKey, IconMeta>;
};
export type IconReferencePair = {
alias: IconMeta;
target: IconMeta;
overwrite: boolean;
};
export declare enum ActionType {
SyncState = 0,
RegisterIcon = 1,
UpdateIconReference = 2
}
/** @ignore */
export interface BroadcastIconsChangeMessage {
actionType: ActionType;
collections?: Map<string, Map<string, SvgIcon>>;
references?: Map<string, Map<string, IconMeta>>;
origin?: string;
}
export interface IconMeta {
name: string;
collection: string;
external?: boolean;
}