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.
en-US | es-ES | de-DE | |
|---|---|---|---|
| Date | 10/6/2026 | 6/10/2026 | 6.10.2026 |
| Month | October | octubre | Oktober |
| Week starts | Sun Mon Tue | lun mar mié | Mo Di Mi |
| Time | 2:30 PM | 14:30 | 14:30 |
| Amount | €12,345.67 | 12.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.
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.