/* ===================================================================
KabelFlux v5 — SVG icon set
Clean 16/20px stroke icons (no emoji clutter — emoji is unreliable
across OS, and the original design uses inline emoji which fights
the engineering aesthetic).
=================================================================== */
const Icon = ({ name, size = 16, stroke = 'currentColor', fill = 'none', strokeWidth = 1.6, style }) => {
const p = { width: size, height: size, viewBox: '0 0 24 24', fill, stroke, strokeWidth, strokeLinecap: 'round', strokeLinejoin: 'round', style, 'aria-hidden': true };
const paths = {
/* navigation */
layout: <>>,
diagram: <>>,
wires: <>>,
connector: <>>,
nodes: <>>,
bom: <>>,
notes: <>>,
title: <>>,
library: <>>,
settings: <>>,
/* topbar */
search: <>>,
bell: <>>,
backup: <>>,
share: <>>,
user: <>>,
plus: <>>,
import_: <>>,
export_: <>>,
download: <>>,
chevD: <>>,
chevR: <>>,
chevL: <>>,
check: <>>,
x: <>>,
edit: <>>,
trash: <>>,
copy: <>>,
refresh: <>>,
play: <>>,
pause: <>>,
/* statuses */
warn: <>>,
info: <>>,
ok: <>>,
err: <>>,
bolt: <>>,
sliders: <>>,
tune: <>>,
image: <>>,
/* layout-specific */
grid: <>>,
eye: <>>,
eyeOff: <>>,
move: <>>,
zoomIn: <>>,
zoomOut: <>>,
cmd: <>>,
pin: <>>,
bundle: <>>,
ruler: <>>,
flask: <>>,
file: <>>,
folder: <>>,
history: <>>,
star: <>>,
filter: <>>,
sort: <>>,
keyboard: <>>,
};
if (!paths[name]) return null;
return ;
};
window.Icon = Icon;