Sistema de diseño
Tailwind CSS (en inglés)
Tailwind CSS utiliza una configuración CSS primero, lo que le permite definir sus tokens de diseño con la directiva @theme directamente en su CSS.
@import "tailwindcss";
@import "@nuxt/ui";
@theme {
/* Your custom design tokens go here */
}
cursor: default en lugar de cursor: pointer para que coincidan con los valores predeterminados del navegador.@layer base {
button:not(:disabled),
[role="button"]:not(:disabled) {
cursor: pointer;
}
}
Fuentes (Edición española)
Utilice las variables de tema --font-* para personalizar las utilidades de la familia de fuentes ](https://tailwindcss.com/docs/font-family#customizing-your-theme) en su proyecto.
@import "tailwindcss";
@import "@nuxt/ui";
@theme {
--font-sans: 'Public Sans', system-ui, sans-serif;
--font-mono: 'JetBrains Mono', monospace;
}
colores
Utilice las variables de tema --color-* para personalizar sus colores](https://tailwindcss.com/docs/colors#customizing-your-colors) o override los colores predeterminados .
@import "tailwindcss";
@import "@nuxt/ui";
@theme static {
/* Override default green color */
--color-green-50: #EFFDF5;
--color-green-100: #D9FBE8;
--color-green-200: #B3F5D1;
--color-green-300: #75EDAE;
--color-green-400: #00DC82;
--color-green-500: #00C16A;
--color-green-600: #00A155;
--color-green-700: #007F45;
--color-green-800: #016538;
--color-green-900: #0A5331;
--color-green-950: #052E16;
/* Define new custom color */
--color-brand-50: #fef2f2;
--color-brand-100: #fee2e2;
--color-brand-200: #fecaca;
--color-brand-300: #fca5a5;
--color-brand-400: #f87171;
--color-brand-500: #ef4444;
--color-brand-600: #dc2626;
--color-brand-700: #b91c1c;
--color-brand-800: #991b1b;
--color-brand-900: #7f1d1d;
--color-brand-950: #450a0a;
}
50 a 950 para cada color.Puntos de ruptura
Utilice las variables de tema --breakpoint-* para personalizar sus puntos de interrupción ](https://tailwindcss.com/docs/responsive-design#customizing-your-theme).
@import "tailwindcss";
@import "@nuxt/ui";
@theme {
--breakpoint-3xl: 1920px;
--breakpoint-4xl: 2560px;
--breakpoint-5xl: 3840px;
}
motion
Utilice las variables de tema --ease-* para personalizar la facilidad ](https://tailwindcss.com/docs/transition-timing-function#customizing-your-theme) de las animaciones y transiciones de movimiento en su proyecto.
@import "tailwindcss";
@import "@nuxt/ui";
@theme {
--ease-out: cubic-bezier(0.16, 1, 0.3, 1);
}
Las animaciones de entrada y salida se ejecutan en --ease-out, las animaciones de carga indeterminadas en --ease-in-out, por lo que anulan estos dos tiempos de la biblioteca.
prefers-reduced-motion is set, overlays fade in place instead of scaling or sliding and motion transitions are disabled.Sistema de color ## Color
El sistema de color de la interfaz de usuario de Nuxt está diseñado en torno a naming semántico en lugar de valores de color específicos. Este enfoque hace que su interfaz de usuario sea más fácil de mantener y facilita el cambio de tema.
Colores semánticos
Cada alias se define en función de un color de su configuración @theme, que puede ser cualquier color que defina además de la paleta CSS por defecto de Tailwind .
| El color | por defecto | Descripción |
|---|---|---|
primaryx{color="primary"} (Edición española) | green | CTA principales, navegación activa, elementos de marca, enlaces importantes |
secondaryx{color="secondary"} | blue también | Botones secundarios, acciones alternativas, elementos de interfaz de usuario complementarios |
successx{color="success"} (Edición española) | green | Mensajes de éxito, estados completados, confirmaciones positivas |
infox{color="info"} (Edición española) | blue | Alertas de información, tooltips, texto de ayuda, notificaciones neutrales |
warningx{color="warning"} (Edición española) | yellow | Mensajes de advertencia, estados pendientes, elementos que requieren atención |
errorx{color="error"} (Edición española) | red también | Mensajes de error, errores de validación, acciones destructivas |
| Xph150x también | slate | Texto, fronteras, fondos, estados discapacitados |
Estos colores semánticos están disponibles en el prop color de los componentes de la interfaz de usuario de Nuxt:
<template>
<UButton color="primary">Save Changes</UButton>
</template>Runtime Configuración
Puede configurar estos colores en tiempo de ejecución en su archivo app.config.ts bajo la tecla ui.colors, lo que permite la personalización dinámica del tema sin reiniciar el servidor:
export default defineAppConfig({
ui: {
colors: {
primary: 'blue',
secondary: 'purple',
neutral: 'zinc'
}
}
})
Puede configurar estos colores en tiempo de ejecución en su archivo vite.config.ts bajo la tecla ui.colors, lo que permite la personalización dinámica del tema:
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import ui from '@nuxt/ui/vite'
export default defineConfig({
plugins: [
vue(),
ui({
ui: {
colors: {
primary: 'blue',
secondary: 'purple',
neutral: 'zinc'
}
}
})
]
})
- Use los colores predeterminados de Tailwind ](https://tailwindcss.com/docs/colors) (como
blue,green,zinc) - Defina colores personalizados primero usando la directiva
@theme(comobranden nuestro ejemplo anterior)
Extend colores
Es posible que desee definir colores semánticos adicionales más allá de los valores predeterminados, como la adición de un color tertiary:
En primer lugar, registre el nuevo color en su nuxt.config.ts bajo la tecla ui.theme.colors:
export default defineNuxtConfig({
ui: {
theme: {
colors: [
'primary',
'secondary',
'tertiary',
'info',
'success',
'warning',
'error'
]
}
}
})
Luego, asígnalo en tu app.config.ts bajo la clave ui.colors:
export default defineAppConfig({
ui: {
colors: {
primary: 'blue',
secondary: 'purple',
tertiary: 'indigo'
}
}
})
Registre y asigne el nuevo color en su archivo vite.config.ts:
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import ui from '@nuxt/ui/vite'
export default defineConfig({
plugins: [
vue(),
ui({
theme: {
colors: [
'primary',
'secondary',
'tertiary',
'info',
'success',
'warning',
'error'
]
},
ui: {
colors: {
primary: 'blue',
secondary: 'purple',
tertiary: 'indigo'
}
}
})
]
})
Por último, utilice este nuevo color en los componentes que admiten el accesorio color o as una class:
<UButton color="tertiary">
Special Action
</UButton>