/** * Supera Glia - Componente de Ícones (Lucide) * @module core/icons */ (function() { 'use strict'; SuperaGlia.initIcons = function() { const { useEffect, useRef } = SuperaGlia.hooks; /** * Componente Icon - Renderiza ícones do Lucide * @param {object} props - { name, className } */ SuperaGlia.Icon = ({ name, className = '' }) => { const ref = useRef(null); useEffect(() => { if (ref.current && lucide[name]) { ref.current.innerHTML = ''; const svg = lucide.createElement(lucide[name]); ref.current.appendChild(svg); } }, [name]); return React.createElement('span', { ref, className: `inline-flex ${className}` }); }; }; })();