);
}
/* ---------- Drawer (right) ----------------------------------------- */
function Drawer({ open, onClose, children, width=480, title, footer }){
if (!open) return null;
return (
{title && (
)}
{children}
{footer &&
{footer}
}
);
}
/* ---------- Platform chip ------------------------------------------ */
function PlatformChip({ p, size=18 }){
const plat = PLATFORMS.find(x=>x.id===p) || PLATFORMS[0];
if (plat.icon){
return (
);
}
return (
{plat.glyph}
);
}
/* ---------- Export -------------------------------------------------- */
Object.assign(window, {
Icon, LiveDot, Card, Pill, Toggle, IconButton, Btn,
Dropdown, useOutsideClick, Sparkline, Ticker, Tabs, Modal, Drawer,
PlatformChip,
});
/* v2 — refresh icon added 2026-07-02 */