# Character budget counter

https://fieldbook.lizardi.mx/components/character-budget-counter

Category: Inputs
![Still of the Character budget counter component, a Fieldbook UI component in Inputs.](https://fieldbook.lizardi.mx/thumbs/character-budget-counter.webp)
Preview video: https://ejpqcxcjbiyabxkx.public.blob.vercel-storage.com/previews/character-budget-counter-4ab6945141.mp4 (5 s, silent)

Character budget counter: A compose field with a remaining-characters readout that punches on a spring and warms in color as the budget runs out.

## Frameworks

react, vue, svelte, astro, html

## Preview controls

These controls are passed to the demo. Defaults and limits describe the preview; consult the implementation for its full prop API.

| Name | Type | Default | Options or constraints |
| --- | --- | --- | --- |
| maxLength | number | 140 | From 20 to 400; step 10 |
| warnAt | number | 20 | From 0 to 60; step 1 |
| accent | color | #FF4D8D | No additional limit in the metadata. |
| placeholder | text | Share an update with your team | Up to 60 characters |
| punch | number | 1 | From 0 to 2; step 0.1 |

## Usage notes

Character budget counter uses the card preview frame with a light/dark theme setting.

### Which frameworks are available for Character budget counter?

Character budget counter is available for React, Vue, Svelte, Astro, HTML. The live preview uses React; the source observations below apply to index.tsx. Check the selected port before relying on the same interactions.

### What does Character budget counter depend on?

The React metadata lists these npm dependencies beyond React: motion.

### What accessibility details are visible in Character budget counter?

The React source for Character budget counter includes: native elements (input, label); attributes and handlers (aria-hidden, aria-live). These are source observations. Verify accessible names, focus order and keyboard behavior in the composed page.

### How does Character budget counter handle reduced motion?

Character budget counter reads the motion preference in its React source through useReducedMotion(). Check the full implementation, shared styles and selected port with reduced motion enabled; these observations do not establish that every animation stops.

## Install through MCP

Connect your client, call get_component to retrieve the implementation, then get_install_command for installation instructions. Choose a listed framework, integrate the returned source and verify it in your application.

```json
{
  "tool": "get_component",
  "arguments": {
    "slug": "character-budget-counter",
    "framework": "react"
  }
}
```

[For agents](https://fieldbook.lizardi.mx/docs/agents)
[MCP](https://fieldbook.lizardi.mx/api/mcp)

## Related open components

- [Auto Grow Textarea](https://fieldbook.lizardi.mx/components/auto-grow-textarea)
- [Elastic tug slider](https://fieldbook.lizardi.mx/components/elastic-tug-slider)
- [Focus ring text input](https://fieldbook.lizardi.mx/components/focus-ring-text-input)
- [Natural Language Date Field](https://fieldbook.lizardi.mx/components/natural-language-date-field)
- [Single value slider](https://fieldbook.lizardi.mx/components/single-value-slider)
- [Spring layout toggle](https://fieldbook.lizardi.mx/components/spring-layout-toggle)
