/* ============================================================ ui-kit.jsx Composants haute-fid Gruvbox Seventies. Tout est purement décoratif/interactif côté composant. Effets : transparence (glass), hover glow, click 3D, tooltips. ============================================================ */ const { useState, useRef, useEffect } = React; /* ============================================================ Icônes — Font Awesome 6 Free. Mapping nom logique → classe FA. Le CSS de FA est chargé en CDN dans le . Le composant garde la MÊME API qu'avant (name, size, style) pour ne rien casser ailleurs. ============================================================ */ const ICON_MAP = { cpu: 'microchip', memory: 'memory', disk: 'hard-drive', network: 'network-wired', clock: 'clock', grid: 'table-cells', list: 'list', cog: 'gear', alert: 'triangle-exclamation', bell: 'bell', server: 'server', chart: 'chart-line', bars: 'chart-simple', terminal: 'terminal', refresh: 'arrows-rotate', play: 'play', pause: 'pause', power: 'power-off', sun: 'sun', moon: 'moon', search: 'magnifying-glass', close: 'xmark', chevR: 'chevron-right', chevL: 'chevron-left', chevD: 'chevron-down', chevU: 'chevron-up', plus: 'plus', filter: 'filter', download: 'download', folder: 'folder', node: 'circle-nodes', user: 'user', }; const Icon = ({ name, size = 16, style }) => { const fa = ICON_MAP[name] || 'circle-question'; return (