The controls whose chrome was hardcoded dark now adapt to a light base —
previously they rendered as dark chips/holes on light themes. (Flat knobs and
faders already adapted: their face is the `face` token.)
- `ledWell` theme token — the recessed screen behind LED segments (LEDKnob,
LEDFader, Meter) and the default well of SegmentDisplay / AlphaDisplay now
comes from the theme. Dark base keeps #0b0d0e; light base is `transparent`,
so LED controls and readouts render as clean flat rings / bars / digits on
the light panel. faceColor / background props still override.
- `scheme` theme token ('dark' | 'light', set by base) + a shared
panelButtonChrome() helper drive the raised gradient/border/shadow of
PushButton (and Button), TransportButton and SegmentSwitch — light raised
buttons on light themes instead of dark chips; unlit LED pips flip to a
faint dark so they still read.
- Docs: a "Light theme" gallery card showing the panel family under
base="light"; ledWell/scheme documented; install URLs bumped to v1.1.4.
Library + docs typecheck and build; 46 tests pass.
55 lines
1.2 KiB
JSON
55 lines
1.2 KiB
JSON
{
|
|
"name": "dreamknob",
|
|
"version": "1.1.4",
|
|
"description": "A feature-full, studio-grade React knob & fader library. Rotary, linear, 2D, 3D, digital and analog styles with a headless core.",
|
|
"license": "MIT",
|
|
"author": "Dreamodus Software Inc.",
|
|
"type": "module",
|
|
"sideEffects": false,
|
|
"main": "./dist/index.cjs",
|
|
"module": "./dist/index.js",
|
|
"types": "./dist/index.d.ts",
|
|
"exports": {
|
|
".": {
|
|
"types": "./dist/index.d.ts",
|
|
"import": "./dist/index.js",
|
|
"require": "./dist/index.cjs"
|
|
}
|
|
},
|
|
"files": [
|
|
"dist",
|
|
"LICENSE",
|
|
"README.md",
|
|
"CHANGELOG.md"
|
|
],
|
|
"scripts": {
|
|
"build": "tsup src/index.ts --format esm,cjs --dts --sourcemap --clean",
|
|
"dev": "tsup src/index.ts --format esm --dts --watch",
|
|
"test": "vitest run",
|
|
"typecheck": "tsc --noEmit"
|
|
},
|
|
"keywords": [
|
|
"react",
|
|
"knob",
|
|
"fader",
|
|
"slider",
|
|
"rotary",
|
|
"audio",
|
|
"synth",
|
|
"dial",
|
|
"typescript"
|
|
],
|
|
"peerDependencies": {
|
|
"react": ">=18",
|
|
"react-dom": ">=18"
|
|
},
|
|
"devDependencies": {
|
|
"@types/react": "^18.3.3",
|
|
"@types/react-dom": "^18.3.0",
|
|
"react": "^18.3.1",
|
|
"react-dom": "^18.3.1",
|
|
"tsup": "^8.1.0",
|
|
"typescript": "^5.5.3",
|
|
"vitest": "^2.0.3"
|
|
}
|
|
}
|