/* ===================================================================== ed-ui.jsx — primitivas visuales compartidas. ===================================================================== */ const { useState: useS, useEffect: useE, useRef: useR } = React; /* Icono Lucide */ function Icon({ name, size = 20, color = "currentColor", strokeWidth = 1.75, style }) { const ref = useR(null); useE(() => { if (ref.current && window.lucide) { ref.current.innerHTML = ""; const i = document.createElement("i"); i.setAttribute("data-lucide", name); ref.current.appendChild(i); try { window.lucide.createIcons({ attrs: { width: size, height: size, "stroke-width": strokeWidth, stroke: color }, nameAttr: "data-lucide" }); } catch (e) {} } }, [name, size, color, strokeWidth]); return