shadcn.io is an independent project built on shadcn/ui
UI library: Ark UI
The header holds the Title label and, at the end, the text 0/60. The count does not change as someone types. The input stops at 60 characters. Clicking Title focuses the field.
Use it for a headline with the cap shown next to the name. If the count should sit under a long note, use a Textarea. In Vue, Ark UI does not update 0/60 while someone types.
Installation
Anatomy

Usage
<InputGroup class="w-full max-w-sm bg-background">
<InputGroupInput
id="input-group-counter-title"
:maxLength="60"
placeholder="Enter title"
type="text"
/>
<InputGroupAddon align="block-start">
<Label class="text-foreground" htmlFor="input-group-counter-title">Title</Label>
<InputGroupText class="ms-auto">0/60</InputGroupText>
</InputGroupAddon>
</InputGroup>FAQ
How do the label and the count share the header?
Both sit in one block-start InputGroupAddon; ms-auto on the count pushes it to the end.
API Reference
Input Group
Sets id="input-group-counter-title", maxLength="60", placeholder="Enter title", type="text" and align="block-start". The rest is on the Input Group page.
Label
Sets htmlFor="input-group-counter-title". The rest is on the Label page.





