/* 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;