Renderer
Schema-driven React form renderer with multi-page support and validation
Introduction
The Figma Forms Renderer is a set of React components designed to render forms based on a predefined schema. It supports multi-page forms, validation, and customization options to fit various use cases.
Installation
npx @uj-vilag/figma-forms-renderer addRun the command, and it will guide you through installing dependencies and scaffolding the required components and hooks, which you can customize as needed.
Usage
Wrap your form component with <FormProvider> and use the <FormRenderer> to display the form.
import { FormProvider } from "@/components/formProvider";
import { FormRenderer } from "@/components/formRenderer";
import type { JsonForm } from "@uj-vilag/figma-forms-types";
export function MyForm({ form }: { form: JsonForm }) {
return (
<FormProvider form={form}>
<FormRenderer />
<NavigationButtons />
</FormProvider>
);
}Use the useFormNavigation hook to navigate between form pages.
import { useFormNavigation } from "@/components/formProvider";
export function NavigationButtons() {
const { nextPage, prevPage } = useFormNavigation();
return (
<div>
<button onClick={prevPage}>Previous</button>
<button onClick={nextPage}>Next</button>
</div>
);
}