@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.4.1",
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.238.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.238.0",
24
- "@kolkrabbi/kol-icons": "^0.33.0",
25
- "@kolkrabbi/kol-theme": "^0.164.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
- title={title}
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
  }