@cossistant/next
Version:
Next.js-ready SDK for building AI-powered support/chat widgets. Hooks + primitives, WS-driven, TypeScript-first. Next.js-ready, Tailwind optional.
25 lines (24 loc) • 1.04 kB
TypeScript
import * as React$1 from "react";
import { JSX } from "react";
//#region ../react/src/utils/use-render-element.d.ts
type IntrinsicTag = keyof JSX.IntrinsicElements;
type ClassName<State> = string | ((state: State) => string);
type RenderFn<Props, State> = (props: Props, state: State) => React$1.ReactElement;
type RenderProps<State, Tag extends IntrinsicTag> = {
render?: React$1.ReactElement | RenderFn<JSX.IntrinsicElements[Tag], State>;
className?: ClassName<State>;
asChild?: boolean;
};
type RenderParams<State, Tag extends IntrinsicTag> = {
state?: State;
ref?: React$1.Ref<any>;
props?: Partial<JSX.IntrinsicElements[Tag]>;
enabled?: boolean;
};
/**
* Utility hook to support slot-style component overrides.
*/
declare function useRenderElement<State extends Record<string, any>, Tag extends IntrinsicTag>(tag: Tag, componentProps: RenderProps<State, Tag>, params?: RenderParams<State, Tag>): React$1.ReactElement | null;
//#endregion
export { useRenderElement };
//# sourceMappingURL=use-render-element.d.ts.map