Measured entry
tripled-drag-to-confirm-slider-shadcnui
buttonminimal-flatmotion on file
A client-side React drag-to-confirm control distributed as a shadcn registry component. It uses Framer Motion for drag state and animation, a Lucide check icon, Tailwind utility classes, and shadcn color tokens. It exposes confirmation copy and a callback, then replaces the slider with a confirmed state.



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.
| Build | OK |
|---|---|
| Mount | OK |
| Console errors | 0 |
| Uncaught page errors | 0 |
| Horizontal overflow | clean at 375, 768, 1440 |
| Axe critical | 0 |
| Axe serious | 1 |
| Axe moderate | 0 |
| Axe minor | 0 |
| Gzip marginal | 62.2 KB (127.6 KB build, 65.4 KB baseline) |
| Bare mode | FAIL |
| Provider required | NO |
| Demo used | written from the component source API |
What the harness recorded
BARE BUILD
✗ Build failed in 993ms error during build: [vite]: Rollup failed to resolve import "lucide-react" from "<sandbox>re-787f0760787b/src/cut/components/uitripled/drag-to-confirm-slider-shadcnui.tsx".
Verdict
It builds, mounts, and fits the tested layouts, but it is a starting point rather than a production-ready confirmation control. The verified label contrast failure and missing keyboard semantics need correction. Best for teams already comfortable with Framer Motion and shadcn styling.
Use it if
- You need deliberate pointer confirmation for a consequential action where an ordinary click is too easy to trigger.
- Your interface already uses Tailwind and shadcn theme tokens, and Framer Motion is an acceptable dependency.
- You can add keyboard semantics, focus behavior, and accessible instructions before shipping.
Skip it if
- The action must work accessibly out of the box for keyboard and assistive technology users; the draggable div is not a semantic button or slider.
- You need a lightweight confirmation control without an animation library.
- Your design system cannot absorb a contrast correction for the default label styling.
- You need a resettable or controlled confirmation state, since the confirmed state is internal and permanent for the mounted instance.
Install
| Declared dependencies | framer-motion, react, radix-ui |
|---|---|
| Missing on install | none |
| Bare install | fails once the shadcn-style helpers are removed, so it needs that setup |
| Provider | no provider required in the harness |
In a non-shadcn project, add React, Framer Motion, and lucide-react, configure Tailwind, and define equivalents for the shadcn primary, muted, border, and foreground color tokens. Preserve the client-component boundary where the framework requires it. No context provider is needed.
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.
Author repository
github.com/moumen-soliman/uitripledAlternatives
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.
- neu-buttonneumorphism
- Renders
- YES
- A11y
- 0
- Gzip
- 17.8KB
- Bare
- pass
- Prov
- NO
- clay-buttonclaymorphism
- Renders
- YES
- A11y
- 0
- Gzip
- 18.2KB
- Bare
- pass
- Prov
- NO
- tripled-animated-radio-shadcnuiminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 58.2KB
- Bare
- pass
- Prov
- NO
- ruixen-glow-link-buttonliquid-glass
- Renders
- YES
- A11y
- 0
- Gzip
- 58.9KB
- Bare
- pass
- Prov
- NO
- tripled-mood-gradient-button-shadcnuigradient-glow
- Renders
- YES
- A11y
- 0
- Gzip
- 59.2KB
- Bare
- pass
- Prov
- NO
- ruixen-glass-ai-cardliquid-glass
- Renders
- YES
- A11y
- 0
- Gzip
- 59.5KB
- Bare
- pass
- Prov
- NO