Saltar al contenido principal
Neural UIv2.0.0Documentación
Ver v1 GitHub

Tag

Categoriza contenido con etiquetas semánticas e iconos opcionales personalizados.

Categoría
Estados y avisos
Import
@neural-ui/core/tag
Selector
neu-tag
import { NeuTagComponent } from '@neural-ui/core/tag';

Uso

Tag es una etiqueta no interactiva. value muestra texto o un número, incluidos 0 y una cadena vacía intencional. Solo null o undefined activa el contenido proyectado. tone y variant son independientes. El Input icon resuelve un icono registrado por la aplicación; neuTagIcon aporta tu propio template y tiene prioridad cuando existe value. Si no hay value, proyecta conjuntamente el icono y la etiqueta.

Ejemplos

Prueba el ejemplo y abre Código para ver la implementación completa. Reiniciar restablece el estado inicial del ejemplo.

Ejemplos
BorradorAprobadoEn revisiónPendienteRechazado
BorradorAprobadoEn revisiónPendienteRechazado
0Contenido proyectado

Prueba y configura

Cambia las opciones y revisa la vista previa. El template generado permanece junto a los controles; Código contiene el ejemplo ejecutable completo.

Prueba y configura

Vista previa

Borrador

Template generado: refleja las opciones anteriores. Abre Código para ver los imports y el estado completos.

template.html
<neu-tag
  value="Borrador"
  tone="neutral"
  variant="soft"
  [rounded]="false"
/>

Datos y contenido

La aplicación proporciona los Inputs y controla la interacción del entorno. Este componente no tiene modelos ni Outputs. La proyección de contenido y los templates de iconos se documentan por separado cuando existen.

Accesibilidad y teclado

Conserva una etiqueta visible y no comuniques la categoría o el estado solo por color. Marca los SVG decorativos con aria-hidden. Tag no añade semántica de botón, eliminación ni foco con teclado; compón un botón accesible independiente si la interfaz necesita una acción.

Tecla
Acción
— Sin interacción de teclado propia; los botones y enlaces proyectados conservan su comportamiento de teclado.

API

Todos los Inputs públicos se extraen del paquete Core fijado. Los tipos con nombre enlazan con sus definiciones. Solo se enumeran las zonas de proyección y los templates públicos reales.

Inputs

Configura el componente con [propiedad]="valor". Tu aplicación proporciona estos valores; el componente no debe reemplazar el estado que le pasas.

Nombre
Tipo
Por defecto
Uso en el template
Descripción
ariaLabelstring''[ariaLabel]Etiqueta accesible opcional; es preferible texto visible significativo.
iconstring | nullnull[icon]Clave de un icono de aplicación resuelta mediante provideNeuIconResolver; solo se utiliza con value no nulo y sin template de icono personalizado.
roundedbooleanfalse[rounded]Esquinas completamente redondeadas.
toneNeuTagTone'neutral'[tone]Intención semántica de la etiqueta.
valuestring | number | null | undefinednull[value]Texto o número. 0 y las cadenas vacías siguen siendo valores; null/undefined activa la proyección.
variantNeuTagVariant'soft'[variant]Tratamiento soft o solid, independiente del tono.

Templates

ng-content proyecta contenido dentro del componente. Los inputs TemplateRef reciben un template; las directivas ng-template identifican templates con un contexto tipado. Una directiva compartida en el entrypoint no es necesariamente un slot de este componente.

Nombre
Mecanismo
Contrato
*

Etiqueta de categoría

Ver ejemplo
Proyección de contenido

Proyecta el icono y la etiqueta cuando no existe value.

<ng-content />

Contexto utilizado: —

NeuTagIconDirectiveVer ejemplo Directiva pública de templateng-template[neuTagIcon]

Cada ejemplo muestra un template diferente. Alterna entre Demo y Código para consultar su implementación, imports y estado.

Icono y texto proyectados

*

Icono y texto proyectados
Correo0

Icono registrado y template de icono personalizado

NeuTagIconDirective

Icono registrado y template de icono personalizado
AprobadoDestacado

Public Types

Abre un tipo para consultar su definición y los campos de sus interfaces.

Estilos y tokens

Utiliza tone para la intención semántica, variant para el tratamiento de la superficie y rounded para las esquinas redondeadas. Los tokens semánticos de texto y superficie de Core definen la paleta. El template de icono personalizado hereda currentColor; la aplicación proporciona sus dimensiones.

Tokens específicos

Este componente utiliza tokens compartidos del tema en lugar de tokens específicos.

Tokens compartidos utilizados

Sobrescríbelos en un contenedor local para afectar a este ejemplo. Una modificación en :root afecta a los demás componentes que utilizan el mismo token.

Token
Efecto aquí
Otros efectos
Valor / alternativa
--neu-border Bordes normales de controles y celdas Compartido con otros consumidores de Core; limita el cambio a un ámbito. rgba(15, 23, 42, 0.08)
--neu-error-bg Fondo de estados de error o peligro Compartido con otros consumidores de Core; limita el cambio a un ámbito. #fee2e2
--neu-error-text Texto de error y de Button danger outline/ghost en ambos temas Compartido con otros consumidores de Core; limita el cambio a un ámbito. #991b1b
--neu-surface Superficie principal del campo, cabecera o control Compartido con otros consumidores de Core; limita el cambio a un ámbito. #ffffff
--neu-surface-2 Superficies secundarias y filas alternas Compartido con otros consumidores de Core; limita el cambio a un ámbito. #f1f5f9
--neu-text Color del texto principal y de los iconos que lo heredan Compartido con otros consumidores de Core; limita el cambio a un ámbito. #0f172a
--neu-text-muted Etiquetas secundarias y contenido de ayuda Compartido con otros consumidores de Core; limita el cambio a un ámbito. #475569
--neu-font-sans Tipografía del texto Compartido con otros consumidores de Core; limita el cambio a un ámbito. 'Inter', system-ui, -apple-system, BlinkMacSystemFont, sans-serif