Ownable Install
Install Empty 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
pnpm dlx tailng add emptynpx
npx tailng add emptyGenerated files
The command scaffolds local files under src/app/tailng-ui/empty.
src/app/tailng-ui/empty/tng-empty-primitive.tssrc/app/tailng-ui/empty/tng-empty.tssrc/app/tailng-ui/empty/tng-empty.htmlsrc/app/tailng-ui/empty/tng-empty-icon.htmlsrc/app/tailng-ui/empty/tng-empty-title.htmlsrc/app/tailng-ui/empty/tng-empty-description.htmlsrc/app/tailng-ui/empty/tng-empty-actions.htmlsrc/app/tailng-ui/empty/tng-empty.csssrc/app/tailng-ui/empty/index.ts
Import in your feature module/component
Imports
import { TngEmpty, TngEmptyIcon, TngEmptyTitle, TngEmptyDescription, TngEmptyActions, TngEmptyPrimitive, TngEmptyIconPrimitive, TngEmptyTitlePrimitive, TngEmptyDescriptionPrimitive, TngEmptyActionsPrimitive } from './tailng-ui/empty';
Usage
Template usage
<tng-empty align="start">
<tng-empty-icon>📭</tng-empty-icon>
<tng-empty-title>No messages yet</tng-empty-title>
<tng-empty-description>
Invite your team or start a new conversation to populate this workspace.
</tng-empty-description>
<tng-empty-actions>
<button type="button">Invite team</button>
</tng-empty-actions>
</tng-empty>