@gechiui/components
Version:
UI components for GeChiUI.
21 lines • 927 B
TypeScript
import type { As } from 'reakit-utils/types';
import type { GeChiUIComponentProps, GeChiUIComponentFromProps } from '../context';
interface Options<A extends As, P extends GeChiUIComponentProps<{}, A, any>> {
as: A;
name: string;
useHook: (props: P) => any;
memo?: boolean;
}
/**
* Factory that creates a React component from a hook
*
* @param options
* @param options.as The element to render for the component.
* @param options.name The name of the component.
* @param options.useHook The hook to use for the component
* @param options.memo Whether to memo the component.
* @return A polymorphic component that uses the hook to process props.
*/
export declare const createComponent: <A extends As<any>, P extends GeChiUIComponentProps<{}, A, any>>({ as, name, useHook, memo, }: Options<A, P>) => GeChiUIComponentFromProps<P>;
export {};
//# sourceMappingURL=create-component.d.ts.map