Getting StartedOwnable model, workflow, and first local install 2
FormInstallable form components 12
LayoutInstallable layout wrappers with local source ownership 6
NavigationInstallable navigation components 6
OverlayInstallable overlay wrappers with local source ownership 3
FeedbackInstallable feedback wrappers with local source ownership 6
UtilityInstallable utility wrappers with local source ownership 6
ToolingCLI and registry contracts 2
ReleasePublishing and workflow structure for the ownable surface 1

Code Editor

The ownable Code Editor install gives your app local control over the native textarea, synchronized highlighting overlay, and adapter configuration.

Why own Code Editor locally

  • Choose languages and themes without bundling a highlighter into the component.
  • Add product-specific commands while preserving the native editing surface.
  • Adjust editor dimensions and tokens alongside application layouts.

What the install includes

The registry writes the component, overlay template, styles, local highlighting contract, and export barrel. It does not install Shiki or another highlighting engine.

Ownable Install

Install Code Editor from the TailNG registry with the shadcn-like flow. This copies source files into your app so your team can own and evolve the implementation locally.

Install from registry

Run from your Angular workspace root.

pnpm

bash
pnpm dlx tailng add code-editor

Generated files

The command scaffolds local files under src/app/tailng-ui/code-editor.

  • src/app/tailng-ui/code-editor/tng-code-highlighting.ts
  • src/app/tailng-ui/code-editor/tng-code-editor.ts
  • src/app/tailng-ui/code-editor/tng-code-editor.html
  • src/app/tailng-ui/code-editor/tng-code-editor.css
  • src/app/tailng-ui/code-editor/index.ts

Import in your feature module/component

Imports

ts
import { TngCodeEditor, provideTngCodeHighlighting } from './tailng-ui/code-editor';

Usage

Template usage

html
<tng-code-editor
  language="python"
  adapter="shiki"
  ariaLabel="Python source"
  [value]="source"
  (valueChange)="source = $event"
></tng-code-editor>