Terminal es una interfaz de comandos, no una consola del sistema operativo. Define welcomeMessage y prompt, procesa commandSubmit y añade las respuestas a output. Cada línea admite output, info o error. response añade una cadena cuando cambia; output es la opción más clara para respuestas repetidas y registros gestionados por la aplicación. readonly mantiene la entrada visible, pero impide editar comandos; disabled la mantiene visible pero no disponible.
Cambia las opciones, prueba el resultado y consulta el template actualizado. Código contiene el ejemplo ejecutable completo.
Prueba y configura
Escribe help o status y pulsa Intro. Usa ↑ / ↓ para recuperar comandos. Se procesan localmente; no se ejecuta código de sistema.
Sesión local
Bienvenido. Escribe help para empezar.
$
commandSubmit: —
Template generado con tus opciones actuales. Abre Código para consultar el ejemplo completo.
Los datos estructurados, callbacks y templates se muestran en los ejemplos y en la API.
El código añade las opciones avanzadas cuando difieren del valor predeterminado. Los datos y valores de esta configuración aparecen en el estado del template.
template.html
<neu-terminal
prompt="$"
[output]="output()"
[response]="undefined"
[readonly]="false"
[disabled]="false"
(commandSubmit)="handleCommand($event)"
[ariaLabel]="'Terminal de ejemplo'"
[inputAriaLabel]="'Comando del terminal'"
[welcomeMessage]="'Bienvenido. Escribe help para empezar.'"
/>
Estos valores corresponden a la vista previa actual. Los handlers, imports de Core y templates completos están en Código.
configured-state.ts
import { signal } from '@angular/core';
export const output = signal([]);
Estos inputs requieren un modelo o función, no un checkbox. Modifica el campo del mismo nombre en el componente de Código y enlázalo al template; los datos que ya usa esta vista previa se muestran en el estado anterior.
commandSubmit comunica el comando enviado. La aplicación decide su significado y proporciona output; Core nunca lo evalúa ni ejecuta. El ejemplo procesa help y status de forma síncrona. Arriba/abajo recuperan comandos anteriores. Reiniciar crea una nueva sesión del ejemplo. No hay Templates disponibles.
Asigna nombres accesibles distintos al terminal y a su entrada. Tab accede al campo, Intro envía el comando y arriba/abajo recorren el historial. La salida se anuncia como un registro no intrusivo. No uses este procesador de ejemplo para ejecutar entradas no confiables.
Tecla
Acción
Tab
Accede al campo de comandos y a las acciones disponibles.
Inputs y Outputs corresponden al paquete instalado. Los tipos con nombre enlazan a sus definiciones. Cada Template disponible tiene un ejemplo con Demo y Código.
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
ariaLabel
string
'Terminal'
[ariaLabel]
Etiqueta de región del componente. Tradúcela para tu aplicación.
disabled
boolean
false
[disabled]
Deshabilita la entrada de comandos visible.
inputAriaLabel
string
'Terminal command'
[inputAriaLabel]
Etiqueta de entrada de comandos. Tradúcela para tu aplicación.
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.
Este componente no expone proyección de contenido ni templates públicos de personalización.
Public Types
Abre un tipo para consultar su definición y los campos de sus interfaces.
NeuTerminalCommand.d.ts
import type { NeuTerminalCommand } from '@neural-ui/core/terminal';
// Declaración pública (solo referencia)
export interface NeuTerminalCommand {
command: string;
}
Valor del tema heredado que utiliza este componente
Superficie del campo
#94a3b8Declaración raíz
Sin alias de token
--neu-terminal-prompt
Valor del tema heredado que utiliza este componente
Superficie del campo
#38bdf8Declaración raíz
Sin alias de token
--neu-terminal-text
Valor del tema heredado que utiliza este componente
Superficie del campo
#e2e8f0Declaración raíz
Sin alias de token
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-focus-ring
Anillo normal del foco de teclado
Compartido con otros consumidores de Core; limita el cambio a un ámbito.