pyro
Version:
Pyro custom elements
44 lines (43 loc) • 1.13 kB
TypeScript
import { Color } from '../types';
import { DefineComponent } from 'vue';
import { HTMLAttributes } from 'svelte/elements';
export interface IconProps {
/** Icon source path */
src: string;
/** Icon color */
color?: Color;
/** Icon size */
size?: 's' | 'm' | 'l';
/** Accessible name. If not provided, icon is ignored by screen readers */
alt?: string;
children?: any;
}
declare module 'vue' {
interface GlobalComponents {
'pyro-icon': DefineComponent<IconProps>;
}
}
interface PyroIconPreact extends Omit<JSX.HTMLAttributes, keyof IconProps>, IconProps {
}
declare module 'preact/jsx-runtime' {
namespace JSX {
interface IntrinsicElements {
'pyro-icon': PyroIconPreact;
}
}
}
interface PyroIconSvelte extends Omit<HTMLAttributes<any>, keyof IconProps>, IconProps {
}
declare module 'svelte/elements' {
interface SvelteHTMLElements {
'pyro-icon': PyroIconSvelte;
}
}
declare module 'solid-js' {
namespace JSX {
interface IntrinsicElements {
'pyro-icon': PyroIconPreact;
}
}
}
export {};