Buscar en la documentación

Sistema de diseño

Colores, tipografía, espacios, íconos y componentes de Trazo, leídos de frontend/src/design al construir este portal. Si cambia un token, esta página cambia sola.

¿Qué quieres cambiar?

El cambio más común y el archivo que hay que tocar. Todo lo visual sale de tokens: nada va escrito a mano en un componente.

Colores

Cada muestra dice su token, para qué se usa y el contraste del texto que lleva encima: negro o blanco, el que dé más contraste (regla de Trazo, mínimo AA 4,5:1).

Base

  • Aa6,5:1 · AAAcento, gráficos e íconos$color-blue-base#03a8d5
  • Aa7,9:1 · AAAcento, gráficos e íconos$color-green-base#86bb24
  • Aa8,4:1 · AAAcento, gráficos e íconos$color-orange-base#ff9829

Tonos oscuros

  • Aa5,2:1 · AABotones, enlaces y foco$color-blue-strong#027695
  • Aa5,7:1 · AAÉxito$color-green-strong#507016
  • Aa5,4:1 · AAAtención$color-orange-strong#995b19

Rojo armonizado

  • Aa5,1:1 · AAErrores, Crítica y Vencido$color-red#c93a3a

Neutros fríos, sin blanco puro

  • Aa16,2:1 · AAFondo de página$color-page#eef3f6
  • Aa17,3:1 · AATarjetas y tablas$color-surface#f7fafb
  • Aa14,2:1 · AABordes$color-border#dde5ea
  • Aa11,4:1 · AABordes marcados$color-border-strong#c9ced4
  • Aa5,7:1 · AATexto apagado$color-muted#8a929c
  • Aa5,8:1 · AATexto secundario$color-text-secondary#5f6670
  • Aa10,0:1 · AATono oscuro$color-neutral-dark#3d434a
  • Aa18,1:1 · AATexto$color-text#161616
  • Aa18,1:1 · AATexto sobre fondo oscuro$color-on-dark#ffffff

Tipografía

Una sola familia, Inter, autoalojada (sin servicios externos). Tres pesos: 400, 500 y 600.

  • $font-size-xstexto auxiliar12 px
  • $font-size-smetiquetas y botones13 px
  • $font-size-mdtexto base14 px
  • $font-size-lgsubtítulos16 px
  • $font-size-xltítulos de sección20 px
  • $font-size-2xltítulo de página28 px
  • $font-size-brandlogo de las pantallas sin sesión40 px

Espacios y radios

Escala de 4 px. Stylelint rechaza cualquier medida que no sea un token.

  • $space-14 px
  • $space-28 px
  • $space-312 px
  • $space-416 px
  • $space-524 px
  • $space-632 px
  • $space-748 px
  • $radius-control8 px · botones y campos (Quasar opera los radios en px)
  • $radius-card10 px · tarjetas y diálogos
  • $radius-pillredondo · chips y barras
  • $radius-badge4 px · etiquetas de estado
  • $radius-menu4 px · paneles desplegables (menús y opciones de los selectores)
  • $radius-dock16 px

Íconos

Los 39 íconos propios de Trazo, guardados como figuras en design/icons/icons.ts: grilla de 24, trazo de 1,5 px, puntas redondeadas y sin relleno. Se usan con <AppIcon name="…" />.

  • home
  • incidents
  • dashboard
  • audit
  • users
  • user
  • shield
  • server
  • search
  • filter
  • sort
  • plus
  • edit
  • trash
  • refresh
  • download
  • calendar
  • board
  • clock
  • info
  • alert
  • check
  • close
  • chat
  • send
  • bell
  • menu
  • more
  • copy
  • circle
  • grip
  • chevron-down
  • chevron-up
  • chevron-left
  • chevron-right
  • eye
  • eye-off
  • lock
  • logout

Componentes

Los 41 componentes compartidos de shared/ui, con la descripción de su propio encabezado. El detalle de cada uno está en Componentes base.

Base

  • AppActionMenuMenú de opciones que se abre desde el botón que lo contiene.
  • AppAvatarCírculo con las iniciales de una persona, en tres tamaños: sm en las filas del listado, md en el historial y el chat, lg en la ficha.
  • AppBackLinkEnlace para volver al listado de una sección ("‹ Usuarios" en la ficha de una persona).
  • AppBadgeEtiqueta sólida (p.
  • AppButtonBotón base.
  • AppCardTarjeta: superficie casi blanca con borde suave, título opcional y zona de acciones.
  • AppCopyBlockTexto para copiar (una clave, un código): se muestra legible y con el botón "Copiar", que avisa al terminar.
  • AppDataTableTabla de datos de los listados (portátil y monitor): encabezados que ordenan, filas que se abren con clic o Enter y una fila elegida resaltada.
  • AppDotPunto de color con texto (p.
  • AppFilterSheetPanel de filtros de celular y tablet: sube desde abajo, con los campos en el slot y un pie fijo con "Limpiar" y el botón de aplicar.
  • AppIconÍcono propio de Trazo.
  • AppInfoTipÍcono de información: guarda una ayuda que aparece al pasar el cursor, al enfocarlo o al tocarlo.
  • AppMenuMenú que se abre desde el elemento que lo contiene (envuelve QMenu).
  • AppPaginationPaginación: "1–20 de 534", páginas con saltos (…) y tamaño de página.
  • AppQrCodeCódigo QR dibujado como SVG a partir de la matriz que calcula la librería qrcode: sin v-html y con los colores de los tokens.
  • AppSheetPanel que se abre sobre la página: desde la derecha en portátil y monitor, desde abajo en celular y tablet (o siempre desde abajo con side="bottom").

Formularios

  • AppCheckboxCasilla de verificación con el estilo de Trazo (envuelve la de Quasar).
  • AppChoiceChipsOpciones en forma de chips que se activan y desactivan (selección múltiple).
  • AppCodeFieldCampo para un código numérico de un solo uso (p.
  • AppDateRangeFieldRango de fechas (sin hora), para filtros: "1 oct – 22 oct".
  • AppDateTimeFieldCampo de fecha y hora con el diseño de Trazo (no el del navegador).
  • AppFieldEnvoltura común de todo campo: etiqueta arriba (o al lado, con "inline", para barras de una fila), ayuda en el ícono de información y error siempre visible.
  • AppPopupFieldCampo que se ve como un selector y abre un panel: menú junto al campo en portátil y monitor (donde quepa entero, AppMenu), panel inferior de borde a borde en celular y tablet.
  • AppRadioListLista de opciones de una sola elección, con nombre en negrita y una línea de descripción debajo (p.
  • AppSegmentedSelector de una opción entre pocas, en forma de botones unidos (p.
  • AppSelectSelector de una o varias opciones, con la misma envoltura que el resto de campos.
  • AppTextFieldCampo de texto.

Avisos y diálogos

  • AppAlertAviso dentro de la página, siempre visible: errores de un formulario o información imprescindible.
  • AppCodeDialogDiálogo que pide el código actual de la aplicación antes de una acción sensible (regenerar códigos, desactivar el MFA o confirmar un cambio de administración), sobre AppFormDialog.
  • AppConfirmDialogDiálogo de confirmación: explica la consecuencia antes de una acción importante.
  • AppFormDialogDiálogo con un formulario corto: título, error general visible, los campos en el slot y los botones Cancelar y de guardar.

Estados

  • AppEmptyStateEstado vacío: dice qué pasa y ofrece una acción, nunca deja la pantalla en blanco.
  • AppErrorStateEstado de error: muestra el mensaje claro del catálogo y permite reintentar.
  • AppSkeletonEsqueleto de carga: anticipa la forma del contenido en lugar de un spinner vacío.

Gráficos

  • AppAreaChartLínea con área debajo para una sola serie en el tiempo (p.
  • AppBarListBarras horizontales: nombre, barra proporcional y valor en texto.
  • AppColumnChartColumnas agrupadas por punto (p.
  • AppDonutChartDona con el total en el centro y una leyenda con nombre, cantidad y porcentaje (cada fila puede llevar a su detalle).
  • AppRingAnillo de avance con el porcentaje en el centro (p.

Marca

  • AppLogoLogo completo: "Traz" en Inter y el aro como la "o".
  • AppLogoMarkAro de Trazo: tres trazos (azul, verde y naranja) que representan el ciclo de vida de un incidente.