Prodular UI

AI mark

AI

The sparkle that marks content a model produced, as an icon, a small badge or inline with text, with the model name on hover.

npx prodular-ui add ai-mark

Variants

Icon next to an author name, badge on a row or card, inline at the start of generated text.

icon
AIbadge
AI summaryinline
INV-20931 · Northbeam LogisticsAuto coded

SummaryFreight charges are 12% above the contract rate for the Rotterdam lane. Two line items are billed twice.

Animated and with model

Animate only while the model is producing. Pass model so people can see what wrote it.

Drafting the variance commentary

Hover or focus the mark to see the model.

Anatomy

<AiMark variant="badge" label="Auto coded" model="Coded by Claude Haiku 5" />

Guidance

Use it when

  • Wherever generated content sits next to human content: summaries, auto coded fields, drafted replies, suggested values.
  • Icon in a message header or avatar, badge on table rows and cards, inline at the start of a generated paragraph.

Avoid

  • Marking buttons that only start a model. Use the ai Button variant for actions.
  • Several marks on the same block of content. One mark per generated unit.
  • Decorating marketing copy or empty states with it. It means a model produced this.

Rules for AI agents

Published in llms-full.txt, the registry and the MCP server, so coding agents follow them when they build with this component.

  • Import it as import { AiMark } from "@/components/ui/ai-mark". Do not draw your own sparkle icon or use SparklesIcon to mark generated content.
  • Mark every piece of model output that is not already inside a Message with from="assistant".
  • Pass model when the model is known, written as "Generated by <model name>".
  • Set animated only while the model is still producing, and turn it off when it finishes.
  • Pick the variant by context: icon next to a name, badge on rows and cards, inline inside text. Keep label short (AI, Summary, Auto coded).

API

AiMark

PropTypeDefaultDescription
variant"icon" | "badge" | "inline""icon"Glyph alone, a small pill with the label, or glyph and label inside text.
labelstring"AI"Visible in badge and inline. Always the accessible name.
modelstringTooltip text, for example "Generated by Claude Opus 5.5". Makes the mark focusable.
animatedbooleanfalseMoves the gradient while the model is working. Respects reduced motion.

Installation

The Prodular UI CLI adds the source to components/ui with everything it depends on. In a project that already uses shadcn/ui, the shadcn CLI installs it from the Prodular registry too. See Installation for the first setup.

npx prodular-ui add ai-mark# or, with the registry in components.jsonnpx shadcn@latest add @prodular/ai-mark