A compact animated button where a dot expands into a fill state for card actions, graphic CTAs, and branded interfaces.

Dot Fill Button gives a button or link a small, useful moment of feedback: a dot expands into feedback.
Use it where a CTA needs to feel responsive and intentional, not theatrical. A button should confirm action, state, or direction; it should not become a tiny stage play that delays the click.
In production, the risk is not letting motion stand in for the control. Real buttons and anchors, visible focus, instant response, and clear loading and disabled states come first; the effect is a layer on top of a control that already works.
You can preview it now. Upgrade to Pro for instant install access.
You can preview it now. Upgrade to Pro for instant install access.
You can preview it now. Upgrade to Pro for instant install access.
Use this as button-interaction implementation guidance. Verify the shipped element semantics, anchor/button mode, disabled and loading states, focus-visible behavior, keyboard activation, and reduced-motion handling before relying on exact props, defaults, imports, or installation steps.
Not for destructive actions, unclear states, or places where animation hides the label or delays activation.
Keep feedback fast, avoid layout-triggering letter movement, and preserve instant activation.
Use real buttons or anchors, visible focus-visible styles, and clear loading/disabled states. Touch targets should stay large enough on mobile.
| Prop | Type | Default | Description |
|---|---|---|---|
btnText | string | Try demo | Button label text. |
bgColor | color | #ff6b00 | Resting button background color. |
textColor | color | #ffffff | Resting label color. |
hoverTextColor | color | #ff6b00 | Label color while filled. |
dotColor | color | #ffffff | Dot color. |
Use it when a compact CTA or card action needs a dot expanding into feedback without delaying the action.
Yes. Use `<button>` for actions and `<a>` for navigation.
Use visible focus-visible styles and support keyboard activation.
Loading should be visually clear and programmatically communicated without hiding the label.
Remove long staggers, scrambles, and looping emphasis while keeping instant state feedback.
Need a custom effect? Tell us what to create.