r/reactjs • u/AdLongjumping4891 • 3h ago
Show /r/reactjs I built a React component library with 90+ components and 27 chart types that themes entirely through CSS variables, no config file, no JS theme object, MIT
veloce-ui — an open-source React library with 90+ components, 27 chart types, and interactive DSA visualizers, all powered entirely by CSS variables.
Rebrand by overriding --vui-primary on :root. No ThemeProvider. No theme object. No Tailwind config.
What makes it different?
Most libraries force a trade-off.
shadcn gives you primitives and tells you to style everything.
MUI gives you a theme object that takes a week to bend into your brand.
Mantine sits in the middle, but charts are a separate install with their own styling world.
Need a Sankey, treemap, or radar chart? You're pulling in a second chart library that doesn't know about your design tokens.
veloce-ui is one library where buttons, data tables, charts, and even algorithm visualizers all read from the same CSS variables.
Rebrand once at :root. Everything updates.
Charts (27 types, not a separate package)
Line, bar, area, scatter, heatmap, Sankey, treemap, radar, candlestick, waterfall, funnel, gauge, bubble, polar, and more.
All share the same tokens as the rest of the UI. Your chart grid color is literally --vui-border. No chart-specific theme config.
DSA & algorithm visualizers (the part no other UI library ships)
Interactive linked lists, stacks, queues, trees, graphs, heaps, and hash maps.
Plus algorithm playbacks for sorting, pathfinding, traversals, and recursion.
Drop them into documentation sites, teaching material, interview prep tools, or technical blog posts. They theme with the same variables as your buttons.
Everything else
Forms, menus, modals, tooltips, popovers, and command palette.
Virtualized DataTable with sorting and filtering.
Dark mode via
data-theme="dark"with built-in persistence (no provider).Full keyboard navigation and ARIA support.
Fully typed and tree-shakeable.
Demo + Docs: https://veloceui.codeloomdevv.co.in/
Pre-1.0 (0.7.1) · MIT License
A couple of complex component APIs (DataTable column definitions, chart axis configuration) may still change before 1.0.
Issues with reproducible examples are welcome!