@digitalmeadow/control-panel 1.0.19 → 1.0.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +40 -71
- package/dist/ControlPanel.d.ts +1 -1
- package/dist/ControlPanel.d.ts.map +1 -1
- package/dist/{stats.d.ts → Stats.d.ts} +1 -1
- package/dist/Stats.d.ts.map +1 -0
- package/dist/index.js +185 -163
- package/dist/index.umd.cjs +33 -14
- package/dist/styles.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/stats.d.ts.map +0 -1
package/README.md
CHANGED
|
@@ -1,100 +1,69 @@
|
|
|
1
1
|
# @digitalmeadow/control-panel
|
|
2
2
|
|
|
3
|
-
GUI control panel for creative coding.
|
|
3
|
+
Minimal GUI control panel for creative coding.
|
|
4
4
|
|
|
5
5
|
## Installation
|
|
6
|
+
|
|
6
7
|
```bash
|
|
7
8
|
npm install @digitalmeadow/control-panel
|
|
8
9
|
```
|
|
9
10
|
|
|
10
11
|
## Features
|
|
11
12
|
|
|
12
|
-
- Dependency
|
|
13
|
+
- Dependency-free
|
|
13
14
|
- Minimal API
|
|
14
15
|
- Audio and MIDI input signals
|
|
15
16
|
|
|
16
|
-
## Controllers
|
|
17
|
-
|
|
18
|
-
- Number
|
|
19
|
-
- Range
|
|
20
|
-
- Select
|
|
21
|
-
- Boolean
|
|
22
|
-
- Button
|
|
23
|
-
- Radio
|
|
24
|
-
- Color
|
|
25
|
-
- Gradient
|
|
26
|
-
- Array
|
|
27
|
-
|
|
28
17
|
## Usage
|
|
29
18
|
|
|
30
19
|
```typescript
|
|
31
20
|
import { ControlPanel } from "@digitalmeadow/control-panel";
|
|
32
21
|
|
|
33
|
-
const state = {
|
|
34
|
-
|
|
22
|
+
const state = {
|
|
23
|
+
number: 50,
|
|
24
|
+
range: 0.5,
|
|
25
|
+
select: "option-a",
|
|
26
|
+
enabled: true,
|
|
27
|
+
color: "#3498db",
|
|
28
|
+
gradient: [
|
|
29
|
+
{ color: "#ff0000", position: 0 },
|
|
30
|
+
{ color: "#0000ff", position: 1 },
|
|
31
|
+
],
|
|
32
|
+
array: ["item-1", "item-2"],
|
|
33
|
+
radio: "option-a",
|
|
34
|
+
};
|
|
35
35
|
|
|
36
|
-
|
|
37
|
-
controlPanel.addColor(state, "color");
|
|
38
|
-
controlPanel.addBoolean(state, "enabled");
|
|
39
|
-
controlPanel.addButton("Reset", () => controlPanel.reset());
|
|
36
|
+
const panel = new ControlPanel();
|
|
40
37
|
|
|
41
|
-
|
|
42
|
-
|
|
38
|
+
panel
|
|
39
|
+
.addNumber(state, "number", { min: 0, max: 100, step: 1, label: "Number" })
|
|
40
|
+
.onChange((value) => console.log("number changed:", value));
|
|
43
41
|
|
|
44
|
-
|
|
42
|
+
panel.addRange(state, "range", { min: 0, max: 1, step: 0.01 });
|
|
45
43
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
44
|
+
panel.addSelect(state, "select", {
|
|
45
|
+
label: "Dropdown",
|
|
46
|
+
options: ["option-a", "option-b", "option-c"],
|
|
47
|
+
});
|
|
49
48
|
|
|
50
|
-
|
|
51
|
-
nested.addNumber(state, "other", { min: 0, max: 100 });
|
|
52
|
-
```
|
|
49
|
+
panel.addBoolean(state, "enabled", { label: "Enabled" });
|
|
53
50
|
|
|
54
|
-
|
|
51
|
+
panel.addRadio(state, "radio", {
|
|
52
|
+
label: "Radio",
|
|
53
|
+
options: ["option-a", "option-b"],
|
|
54
|
+
});
|
|
55
55
|
|
|
56
|
-
|
|
57
|
-
pnpm dev
|
|
58
|
-
pnpm build
|
|
59
|
-
```
|
|
56
|
+
panel.addColor(state, "color", { label: "Color" });
|
|
60
57
|
|
|
61
|
-
|
|
58
|
+
panel.addGradient(state, "gradient", { label: "Gradient" });
|
|
62
59
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
controlPanel.addBoolean(object, property, options?)
|
|
68
|
-
controlPanel.addButton(label, fn, options?)
|
|
69
|
-
controlPanel.addRadio(object, property, options?)
|
|
70
|
-
controlPanel.addColor(object, property, options?)
|
|
71
|
-
controlPanel.addGradient(object, property, options?)
|
|
72
|
-
controlPanel.addArray(object, property, options?)
|
|
73
|
-
controlPanel.addFolder(title)
|
|
74
|
-
|
|
75
|
-
controlPanel.save()
|
|
76
|
-
controlPanel.load(state)
|
|
77
|
-
controlPanel.reset()
|
|
78
|
-
controlPanel.saveDefaultPreset()
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
## Options
|
|
82
|
-
|
|
83
|
-
All controllers:
|
|
84
|
-
- `label?: string`
|
|
85
|
-
- `disabled?: boolean`
|
|
86
|
-
- `id?: string`
|
|
60
|
+
panel.addArray(state, "array", {
|
|
61
|
+
label: "Array",
|
|
62
|
+
itemType: "string",
|
|
63
|
+
});
|
|
87
64
|
|
|
88
|
-
|
|
89
|
-
- `min?: number`
|
|
90
|
-
- `max?: number`
|
|
91
|
-
- `step?: number`
|
|
65
|
+
panel.addButton("Reset", () => panel.reset());
|
|
92
66
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
Gradient:
|
|
97
|
-
- `stops?: ColorStop[]`
|
|
98
|
-
|
|
99
|
-
Array:
|
|
100
|
-
- `itemType?: "color" | "number" | "string"`
|
|
67
|
+
const folder = panel.addFolder("Settings");
|
|
68
|
+
folder.addNumber(state, "number", { min: 0, max: 100 });
|
|
69
|
+
```
|
package/dist/ControlPanel.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ import { RadioController, type RadioControllerOptions } from "./controllers/Radi
|
|
|
8
8
|
import { ColorController, type ColorControllerOptions } from "./controllers/ColorController";
|
|
9
9
|
import { GradientController, type GradientControllerOptions } from "./controllers/GradientController";
|
|
10
10
|
import { ArrayController, type ArrayControllerOptions } from "./controllers/ArrayController";
|
|
11
|
-
import { Stats } from "./
|
|
11
|
+
import { Stats } from "./Stats";
|
|
12
12
|
export interface ControlPanelOptions {
|
|
13
13
|
title?: string;
|
|
14
14
|
presetsPrefix?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ControlPanel.d.ts","sourceRoot":"","sources":["../src/ControlPanel.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ControlPanel.d.ts","sourceRoot":"","sources":["../src/ControlPanel.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Stats.d.ts","sourceRoot":"","sources":["../src/Stats.ts"],"names":[],"mappings":"AAEA,qBAAa,KAAK;IAChB,UAAU,EAAE,WAAW,CAAC;IACxB,MAAM,SAAK;IACX,eAAe,SAAQ;IACvB,QAAQ,SAAqB;IAC7B,KAAK,EAAE,MAAM,CAAC;;IAOd,MAAM,aAoBJ;IAEF,OAAO;CAGR"}
|