vuestic-ui
Version:
Vue 3 UI Framework
28 lines (27 loc) • 1.17 kB
TypeScript
export interface IconProps {
attrs?: Record<string, string | ((...args: any[]) => unknown)>;
/** Vue component */
component?: any;
/** Content that will be passed as text inside icon tag or as slot in component */
content?: string;
class?: string;
tag?: string;
color?: string;
rotation?: number | string;
spin?: 'clockwise' | 'counter-clockwise' | boolean;
to?: string;
}
export interface IconConfigurationString<Name extends string = string> extends IconProps {
name: Name;
resolve?: ((dynamicSegments: {
[dynamicSegment: string]: string;
}) => IconProps);
}
export interface IconConfigurationRegex extends IconProps {
name: RegExp;
resolveFromRegex?: ((...regexGroupValues: string[]) => IconProps);
}
export type IconConfiguration<Name extends string = string> = IconConfigurationString<Name> | IconConfigurationRegex;
export type IconConfig = IconConfiguration[];
export declare const isIconConfigurationString: (config: IconConfiguration) => config is IconConfigurationString<string>;
export declare const isIconConfigurationRegex: (config: IconConfiguration) => config is IconConfigurationRegex;