@kolkrabbi/kol-hardware 0.4.1 → 0.5.0
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kolkrabbi/kol-hardware",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Panel controls for instruments",
|
|
6
6
|
"license": "MIT",
|
|
@@ -13,16 +13,16 @@
|
|
|
13
13
|
"./*": "./src/*"
|
|
14
14
|
},
|
|
15
15
|
"peerDependencies": {
|
|
16
|
-
"@kolkrabbi/kol-component": ">=0.
|
|
16
|
+
"@kolkrabbi/kol-component": ">=0.262.0",
|
|
17
17
|
"@kolkrabbi/kol-icons": ">=0.25.0",
|
|
18
18
|
"@kolkrabbi/kol-theme": ">=0.164.0",
|
|
19
19
|
"react": "^18.3.0 || ^19.0.0",
|
|
20
20
|
"react-dom": "^18.3.0 || ^19.0.0"
|
|
21
21
|
},
|
|
22
22
|
"devDependencies": {
|
|
23
|
-
"@kolkrabbi/kol-component": "^0.
|
|
24
|
-
"@kolkrabbi/kol-icons": "^0.
|
|
25
|
-
"@kolkrabbi/kol-theme": "^0.
|
|
23
|
+
"@kolkrabbi/kol-component": "^0.262.0",
|
|
24
|
+
"@kolkrabbi/kol-icons": "^0.38.0",
|
|
25
|
+
"@kolkrabbi/kol-theme": "^0.174.0"
|
|
26
26
|
},
|
|
27
27
|
"files": [
|
|
28
28
|
"src",
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { useRef, useEffect } from 'react'
|
|
2
|
+
import { Tooltip } from '@kolkrabbi/kol-component'
|
|
2
3
|
|
|
3
4
|
/* Read a color binding once, lazily — the roles live in kol-theme's
|
|
4
5
|
* kol-components-controls.css. HEX is required here: the ring appends a hex
|
|
@@ -49,7 +50,8 @@ function stopJackLoop() {
|
|
|
49
50
|
* @param {object} signalRef `{ current }` — the live signal for the glow
|
|
50
51
|
* @param {boolean} bg the fg-04 plate behind the ring (default: outputs only)
|
|
51
52
|
* @param {Function} onPointerDown the consumer's routing gesture
|
|
52
|
-
* @param {string} title
|
|
53
|
+
* @param {string} title the DS `Tooltip` (default `label`), on the jack itself; silent while a
|
|
54
|
+
* cable is pending anywhere, so a drag never flashes tooltips (HardwareNativeTitle)
|
|
53
55
|
* @param {object|Function} ringRef the RING element (ControlsJackSeams, kol-monitor 2026-09-01) — the
|
|
54
56
|
* consumer's drag-to-patch registers it for hit-testing (pointerup finds
|
|
55
57
|
* the nearest input ring centre); a ref object or a callback
|
|
@@ -113,11 +115,11 @@ export default function JackSocket({
|
|
|
113
115
|
const hole = size === 'sm' ? 4 : 6
|
|
114
116
|
|
|
115
117
|
return (
|
|
118
|
+
<Tooltip label={title ?? label} asChild disabled={pending || dimPending}>
|
|
116
119
|
<div
|
|
117
120
|
className="inline-flex flex-col items-center gap-0.5 select-none"
|
|
118
121
|
style={{ cursor: type === 'out' ? 'grab' : (dimPending ? 'pointer' : 'default'), touchAction: 'none' }}
|
|
119
122
|
onPointerDown={onPointerDown}
|
|
120
|
-
title={title ?? label}
|
|
121
123
|
>
|
|
122
124
|
<div
|
|
123
125
|
className={(bg ?? type === 'out') ? 'bg-fg-04' : ''}
|
|
@@ -158,5 +160,6 @@ export default function JackSocket({
|
|
|
158
160
|
</span>
|
|
159
161
|
)}
|
|
160
162
|
</div>
|
|
163
|
+
</Tooltip>
|
|
161
164
|
)
|
|
162
165
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Tooltip } from '@kolkrabbi/kol-component'
|
|
1
2
|
import Toggle from '../switches/Toggle.jsx'
|
|
2
3
|
|
|
3
4
|
/**
|
|
@@ -22,17 +23,19 @@ export default function ModuleHeader({ label, enabled, onToggle, powered = true,
|
|
|
22
23
|
{label}
|
|
23
24
|
</span>
|
|
24
25
|
{editMode && onRemove ? (
|
|
26
|
+
<Tooltip label="Send module to workbench" asChild>
|
|
25
27
|
<div
|
|
26
28
|
onClick={(e) => { e.stopPropagation(); onRemove() }}
|
|
27
|
-
title="Send module to workbench"
|
|
28
29
|
style={{ width: 8, height: 8, borderRadius: '50%', backgroundColor: 'var(--kol-ctl-led-yellow)', cursor: 'pointer', flexShrink: 0 }}
|
|
29
30
|
/>
|
|
31
|
+
</Tooltip>
|
|
30
32
|
) : onBypass ? (
|
|
33
|
+
<Tooltip label={bypass ? 'Bypassed — click to re-engage' : 'Bypass'} asChild>
|
|
31
34
|
<div
|
|
32
35
|
onClick={(e) => { e.stopPropagation(); onBypass() }}
|
|
33
|
-
title={bypass ? 'Bypassed — click to re-engage' : 'Bypass'}
|
|
34
36
|
style={{ width: 8, height: 8, borderRadius: '50%', backgroundColor: 'var(--kol-ctl-cv-attenuate)', opacity: bypass ? 0.25 : 1, cursor: 'pointer', flexShrink: 0 }}
|
|
35
37
|
/>
|
|
38
|
+
</Tooltip>
|
|
36
39
|
) : null}
|
|
37
40
|
</div>
|
|
38
41
|
)
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { useState, useRef } from 'react'
|
|
2
2
|
import { Icon } from '@kolkrabbi/kol-icons'
|
|
3
|
+
import { Tooltip } from '@kolkrabbi/kol-component'
|
|
3
4
|
|
|
4
5
|
const PULSE_MS = 100
|
|
5
6
|
|
|
@@ -12,7 +13,8 @@ const PULSE_MS = 100
|
|
|
12
13
|
* @param {string} icon icon name
|
|
13
14
|
* @param {boolean} active · disabled · momentary
|
|
14
15
|
* @param {Function} onClick
|
|
15
|
-
* @param {string} title
|
|
16
|
+
* @param {string} title the DS `Tooltip`, attached to the key itself (HardwareNativeTitle,
|
|
17
|
+
* kol-monitor 2026-10-15 — no native `title`, no wrapper in a grid)
|
|
16
18
|
* @param {number} iconSize (default 10)
|
|
17
19
|
* @param {ElementType} iconComponent icon renderer seam (default kol-icons `Icon`)
|
|
18
20
|
*/
|
|
@@ -32,9 +34,10 @@ export default function IconButton({ icon, active, onClick, title, momentary, di
|
|
|
32
34
|
}
|
|
33
35
|
|
|
34
36
|
return (
|
|
37
|
+
<Tooltip label={title} asChild>
|
|
35
38
|
<button
|
|
36
39
|
type="button"
|
|
37
|
-
|
|
40
|
+
aria-label={title}
|
|
38
41
|
onClick={handleClick}
|
|
39
42
|
disabled={disabled}
|
|
40
43
|
style={{
|
|
@@ -54,5 +57,6 @@ export default function IconButton({ icon, active, onClick, title, momentary, di
|
|
|
54
57
|
>
|
|
55
58
|
<IconCmp name={icon} size={iconSize} />
|
|
56
59
|
</button>
|
|
60
|
+
</Tooltip>
|
|
57
61
|
)
|
|
58
62
|
}
|