Saltar al contenido
Logic2BUI

Buscar en la documentación

Busca componentes y documentación

Nuevo
Menú

Bloque de código

Contenedor de código con estilo y botón para copiar con un clic, sin dependencias.

bash
npx logic2b@next add code-block

Instalación

npx logic2b@next add code-block

Uso

import { CodeBlock } from "@/components/ui/code-block"

<CodeBlock language="tsx" code={`const respuesta = 42`} />

El botón de copia escribe code en el portapapeles y muestra una marca de confirmación durante dos segundos. Omite language para generar un bloque sencillo con un botón de copia flotante en la esquina.

Resaltado

CodeBlock no incluye dependencias ni un resaltador de sintaxis de forma deliberada. Para añadir resaltado, genera la salida de tu herramienta dentro de <pre> —por ejemplo, pasa HTML de Shiki o Prism— o envuelve el componente. Mantener la base sin resaltador hace que sea pequeña e independiente del framework.

Playground interactivo

Edita las propiedades del componente y revisa el JSX exacto antes de copiarlo. La vista previa se carga solo cuando esta sección entra en pantalla.

JSX generado
<CodeBlock
  code="const ready = true\nconsole.log(ready)"
  language="ts"
 />

Referencia de API

Generada a partir de las exportaciones públicas de TypeScript en src/ui/code-block.tsx. Las descripciones técnicas conservan el texto canónico del código fuente.

Ver JSON

CodeBlockProps

Tipo
interface CodeBlockProps extends Omit<React.ComponentProps<"div">, "children"> { /** The code to render and copy. */ code: string /** Optional language label shown in the header (display only — no highlighting). */ language?: string }

CodeBlock

Componente

A styled code container with a one-click copy button. Dependency-free (no syntax highlighter): renders the code verbatim in a `<pre>` and copies it via the Clipboard API, with a copied-state affordance.

Props: CodeBlockProps
PropiedadTipoObligatoriaValor predeterminadoDescripción
codestringSí—The code to render and copy.
languagestringNo—Optional language label shown in the header (display only — no highlighting).

Contrato de accesibilidad

Comportamiento legible por máquinas y responsabilidades de quien integra code-block. Los detalles normativos conservan el texto canónico del registro.

Ver JSON
Soporte
Semántica nativa
Patrón
code region with copy action
HTML pre/code/button
Interacciones de teclado para code-block
TeclasComportamiento
Enter SpaceActivate the focused control.

Semántica incorporada

  • Code uses pre/code semantics and the copy button updates its accessible label after success.

Responsabilidades de integración

  • Provide a language label when it helps comprehension and surface copy failures in application context if critical.