zod-form-kit
Version:
UI-agnostic form generation library based on Zod schemas with extensible adapter pattern
20 lines (19 loc) • 1.21 kB
TypeScript
import { FieldType, FieldRendererComponent, UIAdapter, SchemaPatternMatcher, SchemaPatternRenderer } from '../types/plugin-system';
import { z } from 'zod';
/**
* React hook for accessing the plugin system functionality
*/
export declare function usePluginSystem(): {
registerFieldRenderer: (fieldType: FieldType, component: FieldRendererComponent) => void;
registerUIAdapter: (adapter: UIAdapter) => void;
getRegisteredRenderer: (fieldType: FieldType) => FieldRendererComponent | undefined;
getUIAdapter: (adapterName: string) => UIAdapter | undefined;
getDefaultAdapter: () => UIAdapter | undefined;
setDefaultAdapter: (adapterName: string) => void;
registerSchemaPatternRenderer: (id: string, matcher: SchemaPatternMatcher | z.ZodTypeAny, component: SchemaPatternRenderer, priority?: number) => void;
getMatchingPatternRenderer: (zodSchema: z.ZodTypeAny, parsedField: any, formValue?: any) => SchemaPatternRenderer | undefined;
removeSchemaPatternRenderer: (id: string) => boolean;
getAllPatternRenderers: () => import("..").PatternRegistryEntry[];
clearPatternRenderers: () => void;
registry: import("../utils/plugin-registry").PluginRegistryManager;
};