Initial release: dreamknob library + showcase

React + TypeScript knob/fader library with a headless interaction core
(rotary, relative-drag and track modes, wheel, keyboard, a11y), SVG
primitives, nine prebuilt skins, seven-segment display engine, and a
Vite showcase with gallery, live playground and API docs.
This commit is contained in:
Dreamodus 2026-07-12 14:26:52 -07:00
commit 60a02cb1db
46 changed files with 6186 additions and 0 deletions

42
apps/docs/src/App.tsx Normal file
View file

@ -0,0 +1,42 @@
import React from 'react';
import { ApiDocs } from './sections/ApiDocs';
import { Console } from './sections/Console';
import { Gallery } from './sections/Gallery';
import { Hero } from './sections/Hero';
import { Playground } from './sections/Playground';
const Logo: React.FC = () => (
<svg width="22" height="22" viewBox="0 0 100 100">
<circle cx="50" cy="50" r="42" fill="#18191f" stroke="#4cc2ff" strokeWidth="7" />
<line x1="50" y1="50" x2="50" y2="15" stroke="#4cc2ff" strokeWidth="9" strokeLinecap="round" />
</svg>
);
export const App: React.FC = () => (
<>
<nav className="nav">
<div className="container nav-inner">
<a className="nav-logo" href="#">
<Logo />
dreamknob
</a>
<div className="nav-links">
<a href="#gallery">Gallery</a>
<a href="#console">Demo</a>
<a href="#playground">Playground</a>
<a href="#docs">Docs</a>
</div>
</div>
</nav>
<Hero />
<Gallery />
<Console />
<Playground />
<ApiDocs />
<footer className="footer">
<div className="container">
dreamknob · MIT · built with a headless core, SVG and zero runtime dependencies
</div>
</footer>
</>
);