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

Textarea

The ownable Textarea install gives your app a local wrapper and editable source surface for multiline input flows while keeping the TailNG interaction contract intact.

Why own Textarea locally

Textarea often diverges quickly once teams add autosave messaging, helper text, length feedback, or product-specific content formatting. Local ownership makes those changes easy to ship without waiting for a package release.

  • Adjust wrapper structure and helper regions for your product’s writing workflows.
  • Keep multiline input defaults, labels, and validation messaging in the app repo.
  • Iterate on textarea-specific UX without forking the shared package surface.

What the install includes

The registry-backed textarea install writes the local component wrapper, template, styles, and export barrel under your app so the generated files can evolve alongside the product.

Ownable Install

Install Textarea 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 textarea

Generated files

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

  • src/app/tailng-ui/textarea/tng-textarea-primitive.ts
  • src/app/tailng-ui/textarea/tng-textarea.ts
  • src/app/tailng-ui/textarea/tng-textarea.html
  • src/app/tailng-ui/textarea/tng-textarea.css
  • src/app/tailng-ui/textarea/index.ts

Import in your feature module/component

Imports

ts
import { TngTextarea, TngTextareaPrimitive } from './tailng-ui/textarea';

Usage

Template usage

html
<tng-textarea
  [rows]="5"
  [placeholder]="'Add release notes'"
  [value]="notes"
  (valueChange)="notes = $event"
></tng-textarea>