Measured entry

tripled-heart-favorite-shadcnui

buttonminimal-flatmotion on file

A client-side React favorite toggle shipped as a shadcn registry component. It keeps liked state locally, animates the tap and heart fill with Framer Motion, renders a Lucide heart, and relies on Tailwind utility classes for spacing, color, hover states, and dark mode.

Specimen
Motion capture of the mounted demo, recorded by the harness. No audio track.
Harness screenshot of tripled-heart-favorite-shadcnui at 375 pixels wide
Harness screenshot at 375 pixels wide. This viewport scrolled sideways.
Harness screenshot of tripled-heart-favorite-shadcnui at 768 pixels wide
Harness screenshot at 768 pixels wide. No horizontal overflow recorded.
Harness screenshot of tripled-heart-favorite-shadcnui at 1440 pixels wide
Harness screenshot at 1440 pixels wide. No horizontal overflow recorded.

Measured

Every value below was written by the harness on the run that produced the frames above. None of it is derived from the prose.

Harness measurements recorded for tripled-heart-favorite-shadcnui
BuildOK
MountOK
Console errors0
Uncaught page errors0
Horizontal overflowflagged at 375
Axe critical1
Axe serious1
Axe moderate0
Axe minor0
Gzip marginal61.8 KB (127.3 KB build, 65.5 KB baseline)
Bare modeOK
Provider requiredNO
Demo usedwritten from the component source API

Verdict

A pleasant, focused micro-interaction with clean local behavior, but it is not production-ready unchanged. Add an accessible button name, address contrast, reduce or adapt the generous wrapper spacing for narrow layouts, and wire the state to real data.

Use it if

  • You need a self-contained favorite control whose state does not need to be shared or persisted.
  • Your app already uses Framer Motion, Lucide React, and Tailwind utilities.
  • You are prepared to add an accessible name and connect the toggle to application state.

Skip it if

  • You need an accessible control without modification, since the icon-only button has no discernible name and the demo also has a contrast failure.
  • You need a controlled favorite state, persistence, or a server mutation built into the component.
  • You are avoiding Framer Motion for a small interaction or need the supplied multi-item demo to fit narrow screens without layout changes.

Install

Installation record for tripled-heart-favorite-shadcnui
Declared dependenciesframer-motion, lucide-react, react
Missing on installnone
Bare installbuilds and mounts without the shadcn-style helpers
Providerno provider required in the harness

In a non-shadcn React project, add Framer Motion and Lucide React, copy the client component, and provide Tailwind or equivalent styles for its utility classes. Add an accessible label, then replace or synchronize the local liked state if the value must persist.

Source and credit

This page is a review, not a copy. The component source lives with its author and this site does not republish it. Read the license before you use anything.

Alternatives

Other published entries for the button pattern, ordered by what they measured: mounts first, then clean axe scans, then bare-mode passes, then the smaller bundle.