Introduction

Themeable React components and an SDK for building epilot portal experiences.

Spark is the design system behind epilot portals: the components that power HEMS dashboards, portal blocks, and end-customer experiences. It ships as two packages: a React component library and an SDK for embedding blocks into live portals.

Principles

Themeable by contract. Every component reads one CSS-first theming contract: --spark-* variables plus data-* preset attributes. Flip an accent, neutral, radius, spacing, or emphasis knob and the whole tree re-themes, no rebuild. Try it in the Theme Playground.

Portal-native. Live portals inject the same --spark-* tokens over postMessage, so a block embedded in a customer portal automatically wears the operator's brand. The SDK handles the bridge: session, entities, theming, localization.

Built on solid primitives. Components compose Base UI behavior with Tailwind styling, tree-shakeable to the single component you import.

Packages

Installation

Install the component library:

npm install @epilot/spark-ui

Embedding a block into a live portal? Add the SDK:

npm install @epilot/spark-sdk

FAQ

On this page