DDS/Components/CodeBlock

CodeBlock

Display

Code block with syntax highlighting, line numbers, and a copy button.

Props

PropTypeDefaultDescription
codestring""Code to display.
languagestring"plaintext"Language for syntax highlighting (e.g. typescript, vue, bash).
filenamestringundefinedFilename displayed in the header.
showLineNumbersbooleanfalseShow line numbers.
copyablebooleantrueShow the Copy button.

Examples

TypeScript snippet
utils/add.ts
const greeting = class="ds-token-string">'Hello, World!'
console.log(greeting)
 
function add(a: number, b: number): number {
return a + b
}
 
export default { add }
vue
<DsCodeBlock
  code="const greeting = 'Hello, World!'
console.log(greeting)"
  language="typescript"
  filename="hello.ts"
  :show-line-numbers="true"
  :copyable="true"
/>

Skeleton

Use DsCodeBlockSkeleton as a loading placeholder while content is being fetched.

Default (6 lines)
vue
<DsCodeBlockSkeleton />
Short (3 lines)
vue
<DsCodeBlockSkeleton :lines="3" />

Accessibility

  • The Copy button has a visible label "Copy" / "Copied".