- Prop
code- Type
string- Default
- —
- Requirement
- required
- Description
- Source to render and copy.
Docs Components Advanced
CodeBlock
React example follows below.
Vue example follows below.
Angular example follows below.
Svelte example follows below.
Solid example follows below.
- parts
- —
- nodes
- —
- size
- —
- part
- —
ts
const codeBlockFixture = { id: "code-block", code: "#!/usr/bin/env bash\nset -euo pipefail\nkubectl rollout status deploy/ledger-api --timeout=90s", filename: "deploy.sh", lang: "bash" as const, lineNumbers: true,}; import { CodeBlock } from "@grassroot/ui-react/advanced"; export default function CodeBlockDemo() { const { id: _id, ...props } = codeBlockFixture; return ( <div> <CodeBlock {...props} /> </div> );}- parts
- —
- nodes
- —
- size
- —
- part
- —
ts
<script setup lang="ts">const codeBlockFixture = { id: "code-block", code: "#!/usr/bin/env bash\nset -euo pipefail\nkubectl rollout status deploy/ledger-api --timeout=90s", filename: "deploy.sh", lang: "bash" as const, lineNumbers: true,}; import { CodeBlock } from "@grassroot/ui-vue";</script> <template> <div> <CodeBlock :code="codeBlockFixture.code" :filename="codeBlockFixture.filename" :lang="codeBlockFixture.lang" :line-numbers="codeBlockFixture.lineNumbers" /> </div></template>- parts
- —
- nodes
- —
- size
- —
- part
- —
ts
import { Component } from "@angular/core";const codeBlockFixture = { id: "code-block", code: "#!/usr/bin/env bash\nset -euo pipefail\nkubectl rollout status deploy/ledger-api --timeout=90s", filename: "deploy.sh", lang: "bash" as const, lineNumbers: true,}; import { GrassrootCodeBlock } from "@grassroot/ui-angular"; @Component({ selector: "app-code-block-demo", standalone: true, imports: [GrassrootCodeBlock], template: ` <div> <grassroot-code-block [code]="fixture.code" [filename]="fixture.filename" [lang]="fixture.lang" [lineNumbers]="fixture.lineNumbers" /> </div> `,})export class CodeBlockDemoComponent { protected readonly fixture = codeBlockFixture;} export default CodeBlockDemoComponent;- parts
- —
- nodes
- —
- size
- —
- part
- —
ts
<script lang="ts"> const codeBlockFixture = { id: "code-block", code: "#!/usr/bin/env bash\nset -euo pipefail\nkubectl rollout status deploy/ledger-api --timeout=90s", filename: "deploy.sh", lang: "bash" as const, lineNumbers: true, }; import { CodeBlock } from "@grassroot/ui-svelte";</script> <div> <CodeBlock code={codeBlockFixture.code} filename={codeBlockFixture.filename} lang={codeBlockFixture.lang} lineNumbers={codeBlockFixture.lineNumbers} /></div>- parts
- —
- nodes
- —
- size
- —
- part
- —
ts
/** @jsxImportSource solid-js */const codeBlockFixture = { id: "code-block", code: "#!/usr/bin/env bash\nset -euo pipefail\nkubectl rollout status deploy/ledger-api --timeout=90s", filename: "deploy.sh", lang: "bash" as const, lineNumbers: true,}; import { CodeBlock } from "@grassroot/ui-solid"; export default function CodeBlockDemo() { return ( <div> <CodeBlock code={codeBlockFixture.code} filename={codeBlockFixture.filename} lang={codeBlockFixture.lang} lineNumbers={codeBlockFixture.lineNumbers} /> </div> );}Installation
API Reference
Import
import { CodeBlock } from "@grassroot/ui-react/advanced";
Props
Prop
Type
Default
Requirement
Description
codestring—
required
Source to render and copy.
filenamestring | undefined—
optional
Filename shown in the bar tab (e.g.
langCodeBlockLang | undefined"bash"optional
Language label + token ruleset.
lineNumbersboolean | undefinedtrueoptional
Show the gutter line numbers.
tokensreadonly (readonly CodeBlockToken[])[] | undefined—
optional
Optional pre-tokenized lines supplied by Markdown/highlighter adapters.
classNamestring | undefined—
optional
—
- Prop
filename- Type
string | undefined- Default
- —
- Requirement
- optional
- Description
- Filename shown in the bar tab (e.g.
- Prop
lang- Type
CodeBlockLang | undefined- Default
"bash"- Requirement
- optional
- Description
- Language label + token ruleset.
- Prop
lineNumbers- Type
boolean | undefined- Default
true- Requirement
- optional
- Description
- Show the gutter line numbers.
- Prop
tokens- Type
readonly (readonly CodeBlockToken[])[] | undefined- Default
- —
- Requirement
- optional
- Description
- Optional pre-tokenized lines supplied by Markdown/highlighter adapters.
- Prop
className- Type
string | undefined- Default
- —
- Requirement
- optional
- Description
- —
Import
import { CodeBlock } from "@grassroot/ui-vue";
Props
Prop
Type
Default
Requirement
codestring—
required
filenamestring | undefined—
optional
langCodeBlockLang | undefinedcodeBlockDefaultLangoptional
lineNumbersboolean | undefinedcodeBlockDefaultLineNumbersoptional
tokensreadonly (readonly CodeBlockToken[])[] | undefined—
optional
classNamestring | undefined—
optional
- Prop
code- Type
string- Default
- —
- Requirement
- required
- Prop
filename- Type
string | undefined- Default
- —
- Requirement
- optional
- Prop
lang- Type
CodeBlockLang | undefined- Default
codeBlockDefaultLang- Requirement
- optional
- Prop
lineNumbers- Type
boolean | undefined- Default
codeBlockDefaultLineNumbers- Requirement
- optional
- Prop
tokens- Type
readonly (readonly CodeBlockToken[])[] | undefined- Default
- —
- Requirement
- optional
- Prop
className- Type
string | undefined- Default
- —
- Requirement
- optional
Import
import { Component } from "@angular/core";
import { GrassrootCodeBlock } from "@grassroot/ui-angular";
Props
Prop
Type
Default
Requirement
codestring—
required
filenamestring—
optional
langCodeBlockLangcodeBlockDefaultLangoptional
lineNumbersbooleancodeBlockDefaultLineNumbersoptional
tokensreadonly (readonly CodeBlockToken[])[]—
optional
classNamestring—
optional
- Prop
code- Type
string- Default
- —
- Requirement
- required
- Prop
filename- Type
string- Default
- —
- Requirement
- optional
- Prop
lang- Type
CodeBlockLang- Default
codeBlockDefaultLang- Requirement
- optional
- Prop
lineNumbers- Type
boolean- Default
codeBlockDefaultLineNumbers- Requirement
- optional
- Prop
tokens- Type
readonly (readonly CodeBlockToken[])[]- Default
- —
- Requirement
- optional
- Prop
className- Type
string- Default
- —
- Requirement
- optional
Import
import { CodeBlock } from "@grassroot/ui-svelte";
Props
Prop
Type
Default
Requirement
codestring—
required
filenamestring—
optional
langCodeBlockLang—
optional
lineNumbersboolean—
optional
tokensreadonly (readonly CodeBlockToken[])[]—
optional
classNamestring—
optional
- Prop
code- Type
string- Default
- —
- Requirement
- required
- Prop
filename- Type
string- Default
- —
- Requirement
- optional
- Prop
lang- Type
CodeBlockLang- Default
- —
- Requirement
- optional
- Prop
lineNumbers- Type
boolean- Default
- —
- Requirement
- optional
- Prop
tokens- Type
readonly (readonly CodeBlockToken[])[]- Default
- —
- Requirement
- optional
- Prop
className- Type
string- Default
- —
- Requirement
- optional
Import
import { CodeBlock } from "@grassroot/ui-solid";
Props
Prop
Type
Default
Requirement
codestring—
required
filenamestring—
optional
langCodeBlockLang"bash"optional
lineNumbersbooleantrueoptional
tokensreadonly (readonly CodeBlockToken[])[]—
optional
classNamestring—
optional
- Prop
code- Type
string- Default
- —
- Requirement
- required
- Prop
filename- Type
string- Default
- —
- Requirement
- optional
- Prop
lang- Type
CodeBlockLang- Default
"bash"- Requirement
- optional
- Prop
lineNumbers- Type
boolean- Default
true- Requirement
- optional
- Prop
tokens- Type
readonly (readonly CodeBlockToken[])[]- Default
- —
- Requirement
- optional
- Prop
className- Type
string- Default
- —
- Requirement
- optional