Proporciona texto de código a code. language genera una etiqueta reconocible; lang permite cambiar esa etiqueta, no el idioma del documento. wrap permite ajustar líneas largas; sin él, el cuerpo se desplaza horizontalmente. density cambia el espaciado. El código es texto escapado: este componente no lo ejecuta ni aplica resaltado de sintaxis.
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 generado con tus opciones actuales. Abre Código para consultar el ejemplo completo.
template.html
<neu-code-block
[code]="code()"
language="typescript"
density="normal"
[wrap]="true"
[copiedAriaLabel]="'Código del ejemplo copiado'"
[copiedLabel]="'Copiado'"
[copyAriaLabel]="'Copiar código del ejemplo'"
[copyLabel]="'Copiar código'"
/>
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 code = signal("const saludo = 'Hola, Neural UI';\nconsole.log(saludo);");
El botón copia la cadena code exacta al portapapeles y confirma solo las copias correctas. Las etiquetas se pueden traducir. CodeBlock no tiene Outputs ni Templates; proporciona code y utiliza sus tokens públicos para personalizarlo.
Accede al botón de copia con Tab y actívalo con Intro o Espacio. Define copyAriaLabel y copiedAriaLabel de forma clara, especialmente con etiquetas visibles breves. El ajuste de línea facilita la lectura en pantallas estrechas; el código sin ajuste conserva un desplazamiento horizontal local.
Tecla
Acción
Tab
Accede al botón habilitado de copiar.
Enter
Copia el código desde el botón enfocado de copiar.
Space
Copia el código desde el botón enfocado de copiar.
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
code
string
''
[code]
Texto de código exacto que se muestra y copia.
copiedAriaLabel
string | undefined
undefined
[copiedAriaLabel]
Etiqueta de confirmación de copia. Tradúcela para tu aplicación.
copiedLabel
string | undefined
undefined
[copiedLabel]
Etiqueta de copia correcta. Tradúcela para tu aplicación.
copyAriaLabel
string | undefined
undefined
[copyAriaLabel]
Etiqueta de botón de copia. Tradúcela para tu aplicación.
copyLabel
string | undefined
undefined
[copyLabel]
Etiqueta de acción de copiar. Tradúcela para tu aplicación.
Ajusta líneas largas en lugar de desplazamiento horizontal local.
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.
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.
NeuDensity.d.ts
import type { NeuDensity } from '@neural-ui/core';
// Declaración pública (solo referencia)
type NeuDensity = 'compact' | 'normal' | 'relaxed';
Personaliza los tokens públicos disponibles y comprueba ambos temas. Las ilustraciones y el estado de los ejemplos no son Inputs de Core.
Tokens específicos
Token
Efecto
Estado / variante
Valor / origen
Alternativa
--neu-code-block-accent
Valor del tema heredado que utiliza este componente
Superficie del campo
#9ab8ffDeclaración raíz
Sin alias de token
--neu-code-block-bar-bg
Valor del tema heredado que utiliza este componente
Superficie del campo
#16161eDeclaración raíz
Sin alias de token
--neu-code-block-bg
Valor del tema heredado que utiliza este componente
Superficie del campo
#1a1b26Declaración raíz
Sin alias de token
--neu-code-block-border
Valor del tema heredado que utiliza este componente
Superficie del campo
rgba(255, 255, 255, 0.14)Declaración raíz
Sin alias de token
--neu-code-block-copy-bg
Valor del tema heredado que utiliza este componente
Superficie del campo
rgba(255, 255, 255, 0.12)Declaración raíz
Sin alias de token
--neu-code-block-copy-border
Valor del tema heredado que utiliza este componente
Superficie del campo
rgba(255, 255, 255, 0.22)Declaración raíz
Sin alias de token
--neu-code-block-copy-hover-bg
Valor del tema heredado que utiliza este componente
Superficie del campo
rgba(255, 255, 255, 0.18)Declaración raíz
Sin alias de token
--neu-code-block-copy-hover-border
Valor del tema heredado que utiliza este componente
Superficie del campo
rgba(255, 255, 255, 0.34)Declaración raíz
Sin alias de token
--neu-code-block-copy-hover-text
Valor del tema heredado que utiliza este componente
Superficie del campo
#ffffffDeclaración raíz
Sin alias de token
--neu-code-block-copy-text
Valor del tema heredado que utiliza este componente
Superficie del campo
#d9e2ffDeclaración raíz
Sin alias de token
--neu-code-block-muted
Valor del tema heredado que utiliza este componente
Superficie del campo
#565f89Declaración raíz
Sin alias de token
--neu-code-block-text
Valor del tema heredado que utiliza este componente
Superficie del campo
#d9e2ffDeclaració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.