Skip to content

Relements

A design system built on native HTML — styled with classes and tokens, enhanced only where the platform falls short. The same API in React, Vue, Svelte, Angular, and plain HTML.

HTML-first

Native elements styled with .re-* classes and data-* attributes. Base functionality works with zero JavaScript — behaviors are opt-in.

Framework-agnostic

One class/attribute/event API for React, Vue, Svelte, Angular, and plain HTML. No wrappers, no per-framework packages.

Accessible by default

Keyboard, focus, and ARIA come from the platform. Automatic dark mode and Windows High Contrast support, tested with axe on every change.

Themeable

Re-theme globally or any subtree by redeclaring --re-* tokens. Cascade layers keep your own overrides winning automatically.

Terminal window
npm install @relements/core

Import the stylesheet once at your app entry — that single import gives you light and dark, following the OS automatically:

import "@relements/core/index.css";

No components to import and no JavaScript to run — style native elements with the .re-* classes:

Live example
<div class="row">
  <button type="button" class="re-button">Primary</button>
  <button type="button" class="re-button" data-variant="secondary">Secondary</button>
  <button type="button" class="re-button" data-variant="ghost">Ghost</button>
  <button type="button" class="re-button" data-variant="danger">Danger</button>
</div>
<button class="re-button" data-variant="primary">Save</button>

The Quickstart walks through adding a field and an optional behavior; the framework guides show the one-line setup for React, Vue, Svelte, and Angular.