Components, switch product

Web components without the trade-offs.

Headless, server-rendered, secure, accessible, and ready for any i18n library.

Works in all frameworks.

Standard web components, typed for your framework of choice. Drop the same tag into React, Angular, Vue, Lit or a plain HTML page, and it looks and works the same everywhere.

Your design, all the way down.

Built light DOM first, so your CSS reaches every part of every component. Restyle one detail or the whole kit, with no shadow DOM in your way and no specificity fights.

  • Start from a theme

    Light, dark and the warm Clay theme are ready to use.

  • Tune it to your brand

    Change a color, a radius or a spacing once, and every component follows.

  • Or go headless

    Leave our styles out and design every component from scratch.

Rendered on the server.

Your pages arrive with every field already drawn and styled, before any JavaScript runs. Users see the real form from the very first paint.

  • Next.js
  • Nuxt
  • Analog
  • Astro
  • Angular
  • React
  • Vue
  • Lit
  • Node.js
  • Comes to life on its own

    Server-rendered fields turn interactive in the browser with no extra code.

  • A setup for your stack

    Step-by-step guides for Next.js, Nuxt, Angular, Analog, Astro and more.

Speaks your i18n library.

Plug in your favorite i18n library and every built-in message speaks your users' language. Set the language, and dates, times, weekdays and prices follow its conventions. Right-to-left languages included.

The same fields in three languages
en-USes-ESde-DE
Date 10/6/20266/10/20266.10.2026
Month OctoberoctubreOktober
Week starts Sun Mon Tuelun mar miéMo Di Mi
Time 2:30 PM14:3014:30
Amount €12,345.6712.345,67 €12.345,67 €

Secure by design.

GolemUI Components run under a strict Content Security Policy out of the box. Your security team keeps the policy it wants, with no exceptions to make for the UI kit.

  • No inline code

    Nothing in the kit asks you to allow inline styles or scripts.

  • No code generated at runtime

    Your policy can block eval everywhere, and the components never notice.

  • Trusted Types ready

    Works with the browser's built-in defense against DOM injection.

Built to stay out of your way.

Accessible by default

Labels, hints, errors and keyboard support are wired up for you.

Works with native forms

Form-associated through ElementInternals, so FormData, required and form.reset() work as they do on native inputs.

Your CSS wins

Every rule ships in a golemui.* cascade layer, so your styles override it without specificity fights.

47 elements, one import each

Import @golemui/gui-components/date-picker and you ship the date picker and what it needs, nothing else.

Typed everywhere

React components with typed props and onGui* events, Vue template typings, and TypeScript types for every element and event.

A manifest for your tools

custom-elements.json lists every attribute, property, event and CSS variable, for your editor, your docs tooling and your AI agents.

Need whole forms? Meet GolemUI Forms.

Describe a form in one JSON document, or in TypeScript, and the Forms engine renders it with these same components, in React, Angular, Vue and Lit: validation, dependencies, repeaters and translations included.

Go to Forms

Ready to start building?

One package, one tag per component, any framework or Vanilla JS. Install it and drop your first field into the page.

golem noun /ˈɡəʊləm/ a figure made of clay that comes to life.

GolemUI and its clay theme take their name and character from this figure.