extended-dynamic-forms
Version:
Extended React JSON Schema Form (RJSF) v6 with custom components, widgets, templates, layouts, and form events
33 lines (31 loc) • 1.19 kB
TypeScript
import { default as React } from 'react';
import { RJSFSchema, UiSchema } from '@rjsf/utils';
import { ConditionalRule, ConditionalConfig, ConditionalState } from '../types';
import { DynamicArrayConditionalEngine } from './DynamicArrayConditionalEngine';
interface ConditionalContextType {
state: ConditionalState;
processor: DynamicArrayConditionalEngine | null;
processConditionals: (formData: any) => Promise<void>;
updateRules: (rules: ConditionalRule[]) => void;
addAction: (actionType: string, actionFunction: any) => void;
removeAction: (actionType: string) => void;
getAvailableActions: () => string[];
}
export interface ConditionalProviderProps {
children: React.ReactNode;
schema: RJSFSchema;
uiSchema?: UiSchema;
config?: ConditionalConfig;
onSchemaChange?: (schemas: {
schema: RJSFSchema;
uiSchema: UiSchema;
}) => void;
}
export declare const ConditionalProvider: React.FC<ConditionalProviderProps>;
export declare const useConditionals: () => ConditionalContextType;
export declare const useConditionalSchema: () => {
schema: RJSFSchema;
uiSchema: UiSchema;
isProcessing: boolean;
};
export {};