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.
42 lines
1.2 KiB
TypeScript
42 lines
1.2 KiB
TypeScript
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>
|
|
</>
|
|
);
|