@kolkrabbi/kol-component 0.317.1 → 0.317.2
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-component",
|
|
3
|
-
"version": "0.317.
|
|
3
|
+
"version": "0.317.2",
|
|
4
4
|
"description": "The core component library",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"react-dom": "^18.3.0 || ^19.0.0"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
|
-
"@kolkrabbi/kol-icons": "^0.53.
|
|
41
|
+
"@kolkrabbi/kol-icons": "^0.53.2"
|
|
42
42
|
},
|
|
43
43
|
"files": [
|
|
44
44
|
"src",
|
|
@@ -266,7 +266,8 @@ function StackedTabs({ tabs, value, onChange, placement, shape = 'bar', collapse
|
|
|
266
266
|
}
|
|
267
267
|
|
|
268
268
|
function UnderlineTabs({ tabs, value, onChange, onClose, onMinimise, wrap, size }) {
|
|
269
|
-
/* `size="md"` (2026-10-29, the user's ref — Adobe's tab strip): the sans body face
|
|
269
|
+
/* `size="md"` (2026-10-29, the user's ref — Adobe's tab strip): the sans body face at medium weight, a 20px glyph at a
|
|
270
|
+
* 2 stroke (`.kol-tab-md`, the theme), a 48px row, 24 between tabs — review 8: *"the problem … was thickness and stroke"* */
|
|
270
271
|
const md = size === 'md'
|
|
271
272
|
const listRef = useRef(null)
|
|
272
273
|
const activeIdx = tabs.findIndex((t) => t.id === value)
|
|
@@ -301,7 +302,7 @@ function UnderlineTabs({ tabs, value, onChange, onClose, onMinimise, wrap, size
|
|
|
301
302
|
tabIndex={isActive || (activeIdx === -1 && i === 0) ? 0 : -1}
|
|
302
303
|
onClick={() => onChange?.(t.id)}
|
|
303
304
|
className={[
|
|
304
|
-
`group ${md ? 'kol-sans-body-02 gap-2.5' : 'kol-mono-12 gap-2'} flex items-center cursor-pointer border-b-2`,
|
|
305
|
+
`group ${md ? 'kol-tab-md kol-sans-body-02 font-medium gap-2.5' : 'kol-mono-12 gap-2'} flex items-center cursor-pointer border-b-2`,
|
|
305
306
|
isActive
|
|
306
307
|
? 'text-emphasis border-fg'
|
|
307
308
|
: 'text-meta hover:text-emphasis border-transparent',
|
|
@@ -74,9 +74,8 @@ function ChannelStrip({ ch, hex, hsva, onHsva }) {
|
|
|
74
74
|
onKeyDown={(e) => { const d = { ArrowRight: 1, ArrowUp: 1, ArrowLeft: -1, ArrowDown: -1 }[e.key]; if (d) { e.preventDefault(); set(value + d * (e.shiftKey ? 10 : 1)) } }}>
|
|
75
75
|
<span className="absolute top-1/2 size-4 -translate-x-1/2 -translate-y-1/2 rounded-full" style={{ left: `${pct}%`, boxShadow: '0 0 0 2px #fff, 0 0 0 3px rgba(0,0,0,0.35)', background: hex.slice(0, 7) }} />
|
|
76
76
|
</div>
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
</div>
|
|
77
|
+
{/* the box hugs three characters by the Input's own `chars` — a utility width is not guaranteed in every consumer (review 8, ref 81) */}
|
|
78
|
+
<Input size="sm" type="number" chars={3} value={Math.round(value)} aria-label={`${ch.label ?? ch.key} value`} onChange={(e) => { const v = Number(e.target.value); if (!Number.isNaN(v)) set(v) }} />
|
|
80
79
|
</div>
|
|
81
80
|
)
|
|
82
81
|
}
|
|
@@ -212,7 +211,7 @@ export default function ColorPickerPopover({ color, onChange, defaultValue, size
|
|
|
212
211
|
return hsva && (
|
|
213
212
|
<div className={`flex w-full flex-col gap-3 ${className}`.trim()}>
|
|
214
213
|
<div className="flex items-center justify-between gap-3">
|
|
215
|
-
<span className="kol-
|
|
214
|
+
<span className="kol-eyebrow text-fg-80">{title ?? label}</span>
|
|
216
215
|
{modes && <Dropdown variant="nav" size="sm" value={mode} onChange={setMode} options={PICKER_MODES} ariaLabel={`${label} mode`} />}
|
|
217
216
|
</div>
|
|
218
217
|
{hexField}
|