Forms
Textarea with Character Counter
Textarea with a live N/max counter that shifts to warning and error colour near the limit.
$ velocityx add textarea-character-counter Built for astro.
Full docs for Textarea with Character Counter →
Needs a licence key —
subscribe here, then
velocityx loginonce.
Props
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| name | string | No | 'bio' | |
| label | string | No | 'Short bio' | |
| placeholder | string | No | 'Tell people a little about yourself…' | |
| maxLength | number | No | 240 | |
| rows | number | No | 4 | |
| defaultValue | string | No | '' | |
| helpText | string | No | ||
| className | string | No | '' |
File this creates
The CLI writes this path into your project, relative to its root — nothing else moves.
components/velocity/textarea-character-counter/TextareaCharacterCounter.astro Using the Textarea with Character Counter component
Install it with velocityx add textarea-character-counter.
The CLI writes the source straight into your project — no runtime dependency, no registry
lock-in, and it themes itself from the same primary-*/accent-* scale as the rest of the library.
Related components
More from Forms.
Multi-select add-on cards with the radio-card visual language but native checkbox semantics, zero JS.
astroSingle-column name/email/subject/message contact form with a honeypot field, Netlify Forms opt-in, and a presentational action prop.
astroTwo-column contact layout with a named aside slot for a map or office photo, stacking to one column on mobile.
astroVertical catalog filter stack with collapsible checkbox groups and a price range, built on native details elements.
astro