Hold to confirm
A button that fills while held (pointer or Space/Enter), confirms at 100%, then offers a timed Undo before finalising.
What it is for
Destructive or irreversible actions: delete a project, revoke a key, unpublish a page.
Use it
1 · site.json
"effects": { "components": ["hold-to-confirm"] }or on the command line
node ~/.claude/skills/sitewright/scripts/scaffold.mjs --config site.json --out ./my-site --components hold-to-confirm2 · import it
import { HoldToConfirm } from '@/components/fx/ui';Files
components/fx/ui/HoldToConfirm.tsxui-hold-to-confirm.cssstyles
Source
Idea from Kitchen; the code is written for this kit.
Credits and licences: third-party notices.
Accessibility
- Keyboard. Components in the kit are written to be reached and used with the keyboard. Try it: press Tab inside the preview.
- Reduced motion. With
prefers-reduced-motionon, animation settles to its finished state at once. - Touch. Pointer-follow effects are skipped on touch screens; controls stay finger-sized.