@stencil/react-output-target
Version:
React output target for @stencil/core components.
16 lines (14 loc) • 820 B
TypeScript
import { EventName, Options } from '@lit/react';
type EventNames = Record<string, EventName | string>;
type StencilProps<I extends HTMLElement, E extends EventNames> = Omit<React.HTMLAttributes<I>, keyof E> & Partial<{
[K in keyof E]: E[K] extends EventName<infer T> ? (event: T) => void : (event: any) => void;
}> & Partial<Omit<I, keyof HTMLElement>> & React.RefAttributes<I>;
export type StencilReactComponent<I extends HTMLElement, E extends EventNames = {}> = React.FunctionComponent<StencilProps<I, E>>;
/**
* Defines a custom element and creates a React component.
* @public
*/
export declare const createComponent: <I extends HTMLElement, E extends EventNames = {}>({ defineCustomElement, ...options }: Options<I, E> & {
defineCustomElement: () => void;
}) => StencilReactComponent<I, E>;
export {};