const { useState, useEffect, useRef } = React;
// T and S are provided by ark-context.jsx as window globals
const Badge = ({ children, variant = 'default' }) => {
const vs = {
default: { bg: T.surfaceRaised, color: T.muted, border: T.border },
accent: { bg: T.accentSubtle, color: T.accent, border: T.accentDim },
green: { bg: T.greenSubtle, color: T.green, border: 'oklch(28% 0.07 145)' },
warn: { bg: T.warningSubtle, color: T.warning, border: 'oklch(28% 0.07 75)' },
};
const v = vs[variant] || vs.default;
return (
{children}
);
};
const Btn = ({ children, variant = 'primary', size = 'md', onClick, style: xs = {}, disabled = false, type = 'button' }) => {
const [hov, setHov] = useState(false);
const sz = { sm: { padding: '6px 14px', fontSize: 13 }, md: { padding: '9px 18px', fontSize: 14 }, lg: { padding: '12px 26px', fontSize: 15 } }[size] || {};
const vr = {
primary: { background: disabled ? T.dim : hov ? T.accentHover : T.accent, color: 'oklch(98% 0.005 240)', border: 'none' },
secondary: { background: hov ? T.surfaceRaised : 'transparent', color: T.text, border: `1px solid ${hov ? T.borderStrong : T.border}` },
ghost: { background: 'transparent', color: hov ? T.text : T.muted, border: 'none' },
outline: { background: 'transparent', color: hov ? T.accent : T.muted, border: `1px solid ${hov ? T.accentDim : T.border}` },
danger: { background: hov ? 'oklch(50% 0.18 25)' : 'transparent', color: T.red, border: `1px solid ${T.red}` },
}[variant] || {};
return (
);
};
const MonoTag = ({ children, dim = false, color }) => (
{children}
);
const Sec = ({ children, style: s = {}, tight = false, id }) => (