UNPKG

@ui-schema/react

Version:

Schema-driven UI generator for React using JSON Schema. Build powerful form and interface generators with headless components and hooks.

17 lines (16 loc) 1.31 kB
import type { UIMetaContextBase } from '@ui-schema/react/UIMeta'; import type { UIStoreActions } from '@ui-schema/react/UIStoreActions'; import type { WidgetPayload } from '@ui-schema/ui-schema/Widget'; import type { ComponentType, ReactNode } from 'react'; import type { WidgetEngineOverrideProps, WidgetPluginProps } from '@ui-schema/react/WidgetEngine'; import type { WithOnChange, WithValuePlain } from '@ui-schema/react/UIStore'; import { BindingTypeWidgets, NoWidgetProps, WidgetProps } from '@ui-schema/react/Widget'; export interface WidgetRendererProps extends Omit<WidgetPluginProps, 'binding' | 'Next'> { WidgetOverride?: WidgetEngineOverrideProps['WidgetOverride']; } export declare const WidgetRenderer: <A = UIStoreActions, B = {}, WP extends WidgetProps<B, A> = WidgetProps<B, A>>({ value, internalValue, WidgetOverride, errors, onErrors, Next, ...props }: WidgetRendererProps & Omit<NoInfer<WP>, 'binding' | keyof WidgetRendererProps> & { binding?: Omit<NoInfer<B>, 'VirtualRenderer' | 'NoWidget' | 'widgets' | 'matchWidget'> & { VirtualRenderer?: ComponentType<WidgetPayload & UIMetaContextBase & WithOnChange & WithValuePlain>; NoWidget?: ComponentType<NoWidgetProps>; } & Omit<BindingTypeWidgets<A, B, WP>, 'widgetPlugins' | 'WidgetRenderer'>; }) => ReactNode;