/* ===================================================================== ui.jsx — primitivas visuales del Cotizador (Sell-U Design System). OptionCard (single), CheckCard (multi), CompactChoice, Tooltip, Modal, Icon, Eyebrow. Todas atan a window al final. ===================================================================== */ const { useState: useStateUI, useEffect: useEffectUI, useRef: useRefUI, useCallback: useCbUI } = React; /* Icono Lucide por nombre — usa la fuente UMD cargada en la página. */ function Icon({ name, size = 20, color = "currentColor", strokeWidth = 1.5, style }) { const ref = useRefUI(null); useEffectUI(() => { if (ref.current && window.lucide) { ref.current.innerHTML = ""; const el = document.createElement("i"); el.setAttribute("data-lucide", name); ref.current.appendChild(el); try { window.lucide.createIcons({ attrs: { width: size, height: size, "stroke-width": strokeWidth, stroke: color }, nameAttr: "data-lucide", }); } catch (e) {} } }, [name, size, color, strokeWidth]); return