Remarkable UI is a library of beautiful analytics components—charts, controls, tables, and more—designed to be styled through granular CSS variables.
Every aspect of a Remarkable UI component can be customized using granular CSS variables.
There are three layers of variables in our system:
-
Core variables
-
Raw CSS primitives (colors, spacing, type scale)
-
Do not override — they serve as the foundation.
-
-
Semantic variables
-
Meaningful tokens built from core variables (e.g.
--em-sem-background,--em-sem-chart-color--1,--em-sem-text) -
Control the global look and feel: palettes, brand colors, default typography.
-
-
Component variables
-
Component-specific tokens (e.g.
--em-card-border-radius,--em-card-subtitle-color) -
Fine-tune individual components without affecting global semantics.
-
npm install @embeddable.com/remarkable-uiThe library includes fallback values for all CSS variables, so you don't need to override anything unless you want to customize the theme.
To override styles, define the variables you want in your own CSS file:
:root {
...
--em-card-background: "grey",
...
}Then import your CSS file at the root of your project:
import 'your-file-here.css';import { Button, Card } from '@embeddable.com/remarkable-ui';scripts/ # Automation scripts
src/
components/ # Chart, editor and shared components
hooks/ # Reusable hooks used by the components
styles/ # Global css and types for the exising css variables
types/ # Shared TypeScript types
utils.ts/ # Utility functions
We welcome feedback and contributions!
- Fork the repository
- Create a feature branch
- Commit your changes
- Open a pull request
Please follow our code style and include tests for any new features.
MIT — see the LICENSE file for details.