CLI previewInstall commands shown on this site are not released yet.

DocsComponentsAdvanced

CodeBlock

React example follows below.
ts
import { CodeBlock } from "@grassroot/ui-react/advanced";
const code = `#!/usr/bin/env bash
set -euo pipefail
kubectl rollout status deploy/ledger-api --timeout=90s`;
<CodeBlock code={code} filename="deploy.sh" lang="bash" />
ts
<script setup lang="ts">
import { CodeBlock } from "@grassroot/ui-vue";
const code = `#!/usr/bin/env bash
set -euo pipefail
kubectl rollout status deploy/ledger-api --timeout=90s`;
</script>
<template>
<CodeBlock :code="code" filename="deploy.sh" lang="bash" />
</template>
ts
import { Component } from "@angular/core";
import { GrassrootCodeBlock } from "@grassroot/ui-angular";
@Component({
selector: "app-example",
standalone: true,
imports: [GrassrootCodeBlock],
template: `
<grassroot-code-block [code]="code" filename="deploy.sh" lang="bash" />
`,
})
export class ExampleComponent {
readonly code = `#!/usr/bin/env bash
set -euo pipefail
kubectl rollout status deploy/ledger-api --timeout=90s`;
}
ts
<script lang="ts">
import { CodeBlock } from "@grassroot/ui-svelte";
const code = `#!/usr/bin/env bash
set -euo pipefail
kubectl rollout status deploy/ledger-api --timeout=90s`;
</script>
<CodeBlock code={code} filename="deploy.sh" lang="bash" />
ts
import { CodeBlock } from "@grassroot/ui-solid";
const code = `#!/usr/bin/env bash
set -euo pipefail
kubectl rollout status deploy/ledger-api --timeout=90s`;
export function Example() {
return (
<>
<CodeBlock code={code} filename="deploy.sh" lang="bash" />
</>
);
}

Installation

bash
pnpm dlx grassroot add ui/code-block
bash
npx grassroot@latest add ui/code-block
bash
yarn dlx grassroot add ui/code-block
bash
bunx grassroot add ui/code-block

API Reference

CodeBlockProps
PropTypeDefault
coderequiredSource to render and copy. Leading/trailing blank lines are preserved.string
filenameFilename shown in the bar tab (e.g. "deploy.sh").string | undefined
langLanguage label + token ruleset.CodeBlockLang | undefined"bash"
lineNumbersShow the gutter line numbers.boolean | undefinedtrue
classNamestring | undefined