Open source126 componentsMIT

Enterprise UI that moves like it means it.

126 components — data grids to gauges, schedulers to signature pads — shipped as native Web Components with GSAP motion built in. React, Vue, Svelte, or plain HTML. No wrappers. No config.

$ npm install @lasitospt/aurora

01 · Philosophy

No wrappers.

No lock-in.

Just the platform, in motion.

Framework UI kits chain your interface to their runtime. aurora ships native custom elements instead — animated by GSAP, themed by CSS custom properties, accessible by default, and at home in any stack you'll use next.

Components
kB Core, gzipped
fps GSAP motion
Import

02 · Features

Polish, without the platform tax.

01

Write once, render anywhere.

One custom element works identically in React, Vue, Svelte and plain HTML. No wrappers, no adapters, no rewrites when you switch stacks.

<aurora-button>Works everywhere</aurora-button>
02

Industrial-grade motion.

Every interaction runs on GSAP — interruptible, springy, 60 fps.

03

3D on your terms.

Three.js lives behind a separate entry. Skip it, and it never ships.

import '@lasitospt/aurora/three'
04

Real form controls.

ElementInternals under the hood — aurora inputs submit with a plain <form> exactly like natives. These two are live:

05

Theme with one variable.

CSS custom properties pierce the shadow boundary. Pick an accent — the button re-themes instantly:

Instantly themed
06

Accessible by default.

Focus traps, roving tabindex, ARIA roles and prefers-reduced-motion — wired in, not bolted on.

03 · In practice

One import. A whole product.

Everything below is aurora — the tiles, the grid, the chart, the gauges, the badges. Drag a tile by its header. Sort the grid. It's all live.

Open Resolved

05 · Install

Up and running in two lines.

Install & import

Components register themselves on import.

npm install @lasitospt/aurora
// registers the core components
import '@lasitospt/aurora'

// registers <aurora-scene> (pulls in Three.js only here)
import '@lasitospt/aurora/three'

Use anywhere

Standard custom elements — the markup is identical across frameworks.

// React — no wrapper needed
export function Hero() {
  return (
    <aurora-text stagger="0.06">
      <h1>Motion, built in.</h1>
    </aurora-text>
  )
}

06 · Theming

One accent, everywhere.

Set your tokens

CSS custom properties cross the shadow boundary. Sensible fallbacks mean you only override what you need.

:root {
  --aurora-accent: #6d5cff;
  --aurora-accent-hover: #5a49e0;
  --aurora-surface: #16161f;
  --aurora-fg: #ececf2;
  --aurora-border: rgba(255, 255, 255, 0.14);
}

Common variables

A few of the tokens the components read.

Variable Purpose
--aurora-accent Primary accent
--aurora-surface Modal / panel background
--aurora-border Dividers & outlines
--aurora-muted Secondary text