Skip to content

Installation

GolemUI is a blazing fast JavaScript library for building dynamic forms from JSON files or other data sources. It provides a free set of UI widgets with support for React, Angular, and Lit.

This guide walks you from an empty directory to a rendered form in five steps.

  1. Use Vite (or your favourite scaffolder) to create a fresh project for your framework. For example, with Vite:

    Terminal window
    npm create vite@latest my-form -- --template react-ts
    cd my-form && npm install
  2. Pick the adapter package for the framework you’re using.

    Terminal window
    npm i @golemui/core @golemui/react @golemui/gui-react --save
  3. Load the CSS file directly in your HTML or import it in your Sass/CSS file.

    @import '@golemui/core/styles/index.css';
  4. The easiest way to define a form is the Programmatic API, an array of gui.* shortcuts. The same form can also be defined as JSON if you prefer.

    import { gui } from '@golemui/gui-shared';
    import * as React from '@golemui/gui-react';
    const formDef = [gui.inputs.textInput('username')];
    const formData = { username: 'golemui' };
    const formConfig = { widgetLoaders: React.widgetLoaders };
    export function FormPage() {
    return (
    <div>
    <React.FormComponent
    formDef={formDef}
    data={formData}
    formConfig={formConfig}
    />
    </div>
    );
    }
  5. Run your dev server and you’ll see your form rendered in the browser.

Ready for something more substantial? Walk through the Rent a Car form tutorial, where you’ll build a real, multi-field form with conditional logic, custom item renderers, async data loading, and form submission.

For framework-specific configuration (React, Angular, Lit), see the Integration section.