/* eslint-disable react/prop-types */ /** * Icon · librería unificada estilo Tabler outline. * * Reglas: * - viewBox 24×24 siempre * - stroke 1.5, currentColor, linecap/linejoin round * - sin fill (excepción: marcadores activos) * * Uso: */ const ICONS = { 'arrow-right': ( ), 'arrow-down': ( ), 'arrow-up-right': ( ), 'chevron-down': ( ), 'chevron-right': ( ), 'plus': ( ), 'minus': ( ), 'close': ( ), 'menu': ( ), 'search': ( ), 'building': ( ), 'compass': ( ), 'people': ( ), 'target': ( ), 'data': ( ), 'spark': ( ), 'mail': ( ), 'phone': ( ), 'pin': ( ), 'clock': ( ), 'globe': ( ), 'check': ( ), /* Social */ 'social-facebook': ( ), 'social-instagram': ( ), 'social-linkedin': ( ), 'social-spotify': ( ), }; function Icon({ name, size = 24, stroke = 1.5, style = {}, ...rest }) { const path = ICONS[name]; if (!path) { console.warn(`[Icon] missing: ${name}`); return null; } return ( ); } window.Icon = Icon;