+
setOpen({ ...open, [g.id]: !open[g.id] })}
+ style={{
+ display: 'flex', alignItems: 'center', gap: 8,
+ padding: '7px 8px', borderRadius: 6,
+ color: 'var(--ink-2)',
+ background: 'transparent',
+ border: '1px solid transparent',
+ cursor: 'pointer',
+ }}>
+
+
+ {g.label}
+ {g.count != null && (
+
+ {g.count}
+
+ )}
+
+ {open[g.id] && (
+
+ {g.children.map(c => {
+ const active = c.id === activeId;
+ return (
+
onSelect && onSelect(c.id)}
+ style={{
+ display: 'flex', alignItems: 'center', gap: 8,
+ padding: '6px 10px', borderRadius: 6,
+ background: active ? 'var(--accent-tint)' : 'transparent',
+ color: active ? 'var(--ink-1)' : 'var(--ink-2)',
+ borderLeft: active ? '2px solid var(--accent)' : '2px solid transparent',
+ marginLeft: active ? 0 : 2,
+ fontSize: 12.5,
+ }}>
+
+ {c.label}
+ {c.meta && {c.meta}}
+
+ );
+ })}
+
+ )}
+