Files
inq-roi-simulador-web/tailwind.config.js
Marcos Benítez a65bec45c3 feat(sprint-5/etapa-3): heatmap gradiente 4 stops + modo percentil + localStorage + fix zoom
- colors.ts: gradiente continuo verde→amarillo→naranja→rojo (interpolación N-stops genérica)
- Renombra modos: relative→percentile (rank-based), absolute→minmax
- Hook useHeatmapMode(): persiste selección en localStorage con clave inq-roi:heatmap-mode
- HeatmapLegend: barra de 4 stops, labels P0/P50/P100 en modo percentil
- HeatmapModeToggle: etiquetas "Percentil" / "Min-max"
- pdf-sections.ts: leyenda PDF con 4 stops interpolados
- BpmnCanvas: controles de zoom movidos a esquina inferior izquierda (evita logo bpmn.io)
- Tests: 528 unitarios pasan; E2E recalibrados con vecino más cercano (distancia euclidiana)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-19 18:28:10 -03:00

89 lines
2.9 KiB
JavaScript

/** @type {import('tailwindcss').Config} */
export default {
darkMode: ['class'],
content: [
'./index.html',
'./src/**/*.{ts,tsx}',
],
theme: {
extend: {
fontFamily: {
sans: ['Inter', 'system-ui', 'sans-serif'],
mono: ['JetBrains Mono', 'monospace'],
},
colors: {
border: 'hsl(var(--border))',
input: 'hsl(var(--input))',
ring: 'hsl(var(--ring))',
background: 'hsl(var(--background))',
foreground: 'hsl(var(--foreground))',
primary: {
DEFAULT: 'hsl(var(--primary))',
foreground: 'hsl(var(--primary-foreground))',
},
secondary: {
DEFAULT: 'hsl(var(--secondary))',
foreground: 'hsl(var(--secondary-foreground))',
},
destructive: {
DEFAULT: 'hsl(var(--destructive))',
foreground: 'hsl(var(--destructive-foreground))',
},
muted: {
DEFAULT: 'hsl(var(--muted))',
foreground: 'hsl(var(--muted-foreground))',
},
accent: {
DEFAULT: 'hsl(var(--accent))',
foreground: 'hsl(var(--accent-foreground))',
},
popover: {
DEFAULT: 'hsl(var(--popover))',
foreground: 'hsl(var(--popover-foreground))',
},
card: {
DEFAULT: 'hsl(var(--card))',
foreground: 'hsl(var(--card-foreground))',
},
// ── InQ ROI brand tokens ──────────────────────────────────────────
// Uso: bg-inq-orange, bg-inq-orange-dark, bg-inq-magenta, etc.
// El gradiente identidad (#F59845 → #ED3E8F) se usa SOLO en KPI Hero
// y banners principales. NUNCA en bordes ni fondos secundarios.
inq: {
orange: {
DEFAULT: '#F59845',
dark: '#B45309',
light: '#FEF3E2',
lighter: '#FFF8ED',
},
magenta: '#ED3E8F',
},
// ── Heatmap (saturado, calibrado para análisis de píxeles E2E) ──
// DEBE coincidir con HEATMAP_STOPS en src/lib/colors.ts (4 stops, Sprint 5 Etapa 3).
// Cambiar solo en conjunto con recalibración de tests E2E.
heatmap: {
low: '#10B981',
mid: '#F59E0B',
highMid: '#F97316',
high: '#EF4444',
},
// ── Semánticos ───────────────────────────────────────────────────
success: {
DEFAULT: '#16A34A',
light: '#F0FDF4',
},
warning: {
DEFAULT: '#F59E0B',
bg: '#FFFBEB',
},
},
borderRadius: {
lg: 'var(--radius)',
md: 'calc(var(--radius) - 2px)',
sm: 'calc(var(--radius) - 4px)',
},
},
},
plugins: [],
}