Docs: Actualizar documentación completa del sistema de temas v2.1
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 50s

- Actualizado THEME_SYSTEM.md con nuevas variables --brand-cosecha-2/3/4
- Documentadas implementaciones CSS con color-mix() en todas las clases
- Agregada sección 'Mejoras Recientes (v2.1)' en THEME_SYSTEM.md
- Actualizada descripción de Surface en settings.vue (cards grandes, tooltips)
- Mejorada sección 'Alcance del Sistema de Temas' con ejemplos de clases CSS
- Agregado tip sobre cards grandes usando color-mix()
- Versión actualizada a 2.1 | Fecha: 2025-10-31

Todos los componentes ahora responden completamente a cambios de tema
This commit is contained in:
2025-10-31 11:14:20 -06:00
parent c1d4e5ef57
commit ed08fa8957
2 changed files with 117 additions and 12 deletions

View File

@@ -777,7 +777,7 @@ watch(() => theme.value, (newTheme) => {
<div class="w-6 h-6 rounded border-2 border-[var(--brand-border)] mt-0.5" :style="{ backgroundColor: theme.surface }"></div> <div class="w-6 h-6 rounded border-2 border-[var(--brand-border)] mt-0.5" :style="{ backgroundColor: theme.surface }"></div>
<div class="flex-1"> <div class="flex-1">
<p class="text-sm font-medium text-[var(--brand-text)]">Fondo Secundario (Surface)</p> <p class="text-sm font-medium text-[var(--brand-text)]">Fondo Secundario (Surface)</p>
<p class="text-xs text-[var(--brand-text-muted)]">Usado en cards, modales y elementos elevados</p> <p class="text-xs text-[var(--brand-text-muted)]">Usado en cards grandes, modales, tooltips y elementos elevados</p>
</div> </div>
</div> </div>
@@ -904,6 +904,12 @@ watch(() => theme.value, (newTheme) => {
<strong class="text-[var(--brand-text)]">Resetear:</strong> Si no te gusta el resultado, usa "Restaurar por defecto" para volver al tema Café original <strong class="text-[var(--brand-text)]">Resetear:</strong> Si no te gusta el resultado, usa "Restaurar por defecto" para volver al tema Café original
</p> </p>
</div> </div>
<div class="flex items-start gap-2">
<UIcon name="i-lucide-lightbulb" class="size-4 text-[var(--brand-accent)] mt-0.5" />
<p class="text-sm text-[var(--brand-text-muted)]">
<strong class="text-[var(--brand-text)]">Cards grandes:</strong> Las cards de "Filtros", "Panorama" y otras ahora responden completamente al tema gracias a color-mix() con variables CSS
</p>
</div>
</div> </div>
</div> </div>
@@ -917,11 +923,22 @@ watch(() => theme.value, (newTheme) => {
<p class="text-sm font-medium text-[var(--brand-text)] mb-1"> <p class="text-sm font-medium text-[var(--brand-text)] mb-1">
Alcance del Sistema de Temas Alcance del Sistema de Temas
</p> </p>
<p class="text-xs text-[var(--brand-text-muted)] leading-relaxed"> <p class="text-xs text-[var(--brand-text-muted)] leading-relaxed mb-2">
El tema se aplica a <strong class="text-[var(--brand-text)]">toda la aplicación</strong>: sidebar, El tema se aplica a <strong class="text-[var(--brand-text)]">toda la aplicación</strong>: sidebar,
menús, tablas, cards, gráficas, botones, inputs y más. Los únicos colores que NO cambian son menús, tablas, cards grandes (Filtros, Panorama, etc.), gráficas de comparativa de cosechas,
los semánticos (estados de éxito/error/advertencia) y los identificadores de tipos de café botones, inputs, tooltips y más.
(Uva/Oreado/Mojado/Verde) que mantienen sus colores específicos para mejor identificación. </p>
<p class="text-xs text-[var(--brand-text-muted)] leading-relaxed mb-2">
<strong class="text-[var(--brand-text)]">Clases CSS que responden:</strong>
<code class="text-[var(--brand-accent)] bg-[var(--brand-accent)]/10 px-1 rounded">.brand-card</code>,
<code class="text-[var(--brand-accent)] bg-[var(--brand-accent)]/10 px-1 rounded">.brand-shell</code>,
<code class="text-[var(--brand-accent)] bg-[var(--brand-accent)]/10 px-1 rounded">.brand-table</code>,
<code class="text-[var(--brand-accent)] bg-[var(--brand-accent)]/10 px-1 rounded">.brand-chip</code> y más.
</p>
<p class="text-xs text-[var(--brand-text-muted)] leading-relaxed">
Los únicos colores que NO cambian son los semánticos (estados de éxito/error/advertencia) y
los identificadores de tipos de café (Uva/Oreado/Mojado/Verde) que mantienen sus colores
específicos para mejor identificación visual.
</p> </p>
</div> </div>
</div> </div>

View File

@@ -1,7 +1,7 @@
# Sistema de Temas - Analítica Núcleo # Sistema de Temas - Analítica Núcleo
> **Documentación definitiva del sistema de temas personalizable** > **Documentación definitiva del sistema de temas personalizable**
> Versión: 2.0 | Última actualización: 2025-10-30 > Versión: 2.1 | Última actualización: 2025-10-31
## Índice ## Índice
@@ -75,6 +75,18 @@ Estas variables controlan la apariencia general de la aplicación:
| `--brand-text` | Texto principal (alta legibilidad) | `#fef9f0` | | `--brand-text` | Texto principal (alta legibilidad) | `#fef9f0` |
| `--brand-text-muted` | Texto secundario, descripciones | `#d8c7a6` | | `--brand-text-muted` | Texto secundario, descripciones | `#d8c7a6` |
### Variables Intermedias para Gráficas (`--brand-cosecha-*`)
Estas variables se usan en las gráficas de comparativa de cosechas para diferenciar visualmente múltiples series:
| Variable | Uso | Ejemplo de valor |
|----------|-----|------------------|
| `--brand-cosecha-2` | Tono intermedio 1 para gráficas de cosechas | `#8b6f47` |
| `--brand-cosecha-3` | Tono intermedio 2 para gráficas de cosechas | `#a0826e` |
| `--brand-cosecha-4` | Tono intermedio 3 para gráficas de cosechas | `#b89968` |
> **Nota:** Estas variables se ajustan automáticamente cuando cambias el tema, manteniendo la armonía visual con los colores primarios.
### Variables de Tipos de Café (`--coffee-*`) ### Variables de Tipos de Café (`--coffee-*`)
Estas variables se usan para identificar visualmente los tipos de café en gráficas y tablas: Estas variables se usan para identificar visualmente los tipos de café en gráficas y tablas:
@@ -179,8 +191,10 @@ Estas variables se usan para indicar estados de pago en tablas y badges:
## Clases Utilitarias ## Clases Utilitarias
⚠️ **IMPORTANTE:** Todas las clases utilitarias ahora usan `color-mix()` y variables CSS dinámicas. Esto significa que **todas** responden automáticamente a los cambios de tema.
### `.brand-shell` ### `.brand-shell`
Contenedor principal con gradiente radial. Contenedor principal con gradiente radial dinámico.
```vue ```vue
<div class="brand-shell"> <div class="brand-shell">
@@ -188,8 +202,19 @@ Contenedor principal con gradiente radial.
</div> </div>
``` ```
**Implementación CSS:**
```css
.brand-shell {
background: radial-gradient(circle at 20% 20%,
color-mix(in srgb, var(--brand-accent) 8%, transparent), transparent 55%),
radial-gradient(circle at 80% 10%,
color-mix(in srgb, var(--brand-primary-strong) 8%, transparent), transparent 45%),
var(--brand-bg);
}
```
### `.brand-card` ### `.brand-card`
Tarjetas con estilos consistentes (gradiente, borde, sombra). Tarjetas con estilos consistentes (gradiente, borde, sombra). **Ahora completamente dinámicas.**
```vue ```vue
<div class="brand-card"> <div class="brand-card">
@@ -198,6 +223,17 @@ Tarjetas con estilos consistentes (gradiente, borde, sombra).
</div> </div>
``` ```
**Implementación CSS:**
```css
.brand-card {
background: linear-gradient(145deg,
color-mix(in srgb, var(--brand-bg) 95%, transparent),
color-mix(in srgb, var(--brand-surface) 85%, transparent));
border: 1px solid color-mix(in srgb, var(--brand-primary) 12%, transparent);
box-shadow: 0 12px 40px color-mix(in srgb, var(--brand-bg) 55%, transparent);
}
```
### `.brand-divider` ### `.brand-divider`
Divisor horizontal decorativo. Divisor horizontal decorativo.
@@ -205,6 +241,13 @@ Divisor horizontal decorativo.
<div class="brand-divider"></div> <div class="brand-divider"></div>
``` ```
**Implementación CSS:**
```css
.brand-divider {
border-top: 1px solid color-mix(in srgb, var(--brand-primary) 16%, transparent);
}
```
### `.brand-section-title` ### `.brand-section-title`
Títulos de sección con color primario. Títulos de sección con color primario.
@@ -213,13 +256,28 @@ Títulos de sección con color primario.
``` ```
### `.brand-chip` / `.brand-pill` ### `.brand-chip` / `.brand-pill`
Tags o badges pequeños. Tags o badges pequeños con estilos dinámicos.
```vue ```vue
<span class="brand-chip">Estado</span> <span class="brand-chip">Estado</span>
<span class="brand-pill">Badge</span> <span class="brand-pill">Badge</span>
``` ```
**Implementación CSS:**
```css
.brand-chip {
background: color-mix(in srgb, var(--brand-accent) 8%, transparent);
border: 1px solid color-mix(in srgb, var(--brand-accent) 18%, transparent);
color: var(--brand-accent);
}
.brand-pill {
background: color-mix(in srgb, var(--brand-primary) 14%, transparent);
border: 1px solid color-mix(in srgb, var(--brand-primary) 28%, transparent);
color: var(--brand-primary);
}
```
### `.brand-badge` ### `.brand-badge`
Badge con fondo primario sólido. Badge con fondo primario sólido.
@@ -228,7 +286,7 @@ Badge con fondo primario sólido.
``` ```
### `.brand-table` ### `.brand-table`
Estilos para tablas. Estilos para tablas con hover dinámico.
```vue ```vue
<table class="brand-table"> <table class="brand-table">
@@ -237,6 +295,19 @@ Estilos para tablas.
</table> </table>
``` ```
**Implementación CSS:**
```css
.brand-table thead {
background: linear-gradient(90deg,
color-mix(in srgb, var(--brand-surface) 95%, transparent),
color-mix(in srgb, var(--brand-bg) 95%, transparent));
}
.brand-table tbody tr:hover {
background: color-mix(in srgb, var(--brand-accent) 6%, transparent);
}
```
--- ---
## Composable useTheme() ## Composable useTheme()
@@ -778,8 +849,25 @@ text-[var(--status-anulado)] <!-- Gray - Anulado -->
- **Usa el composable** `useTheme()` para manipulación programática - **Usa el composable** `useTheme()` para manipulación programática
- **Consulta este documento** ante cualquier duda sobre colores - **Consulta este documento** ante cualquier duda sobre colores
## Mejoras Recientes (v2.1)
✅ **Todas las clases CSS ahora son completamente dinámicas**
- Las cards grandes (`.brand-card`) responden a cambios de tema
- Los gradientes de fondo (`.brand-shell`) se ajustan automáticamente
- Todas las clases utilitarias usan `color-mix()` con variables CSS
✅ **Nuevas variables para gráficas**
- `--brand-cosecha-2`, `--brand-cosecha-3`, `--brand-cosecha-4`
- Colores intermedios que mantienen armonía con el tema activo
- Usadas en gráficas de comparativa de cosechas
✅ **Eliminación de colores hardcodeados**
- Ya no existe `--brand-bg-secondary` (ahora usa `--brand-surface`)
- Todos los colores RGB/hex hardcodeados fueron reemplazados
- El background de `html/body` ahora usa `var(--brand-bg)`
--- ---
**Mantenido por:** Claude Code para Núcleo Río Frío **Mantenido por:** Claude Code para Núcleo Río Frío
**Versión del sistema:** 2.0 **Versión del sistema:** 2.1
**Última revisión:** 2025-10-30 **Última revisión:** 2025-10-31