Vending
Markup where the component goes, CSS in your stylesheet. No JavaScript.
Paste into Claude, ChatGPT or Cursor after filling in {{USER_STACK}}, {{USER_STYLING}} and {{USER_CONSTRAINTS}}. Neutral keeps the greys you see here; Match my project asks the model to map them onto your own colour tokens.
Install with shadcn
Needs a free account token. Get a token
npx shadcn@latest add @movin/checkbox-vendingAbout this component
A vending machine as the checkbox: ticking turns the coil, the snack tips off the shelf and drops into the tray, and the little display lights a tick. Clearing takes the snack and the shelf restocks.
- Dependencies
- None
- Difficulty
- Intermediate
- Reduced motion
- Respected
- Theme
- Light and dark
- Follows page color-scheme
Triggers3
- Click
- State change
- Keyframe
Techniques4
- Keyframes
- CSS transition
- Gradient
- Transform only
Accessibility
Keyboard and screen readers
A native checkbox inside a <label>, so Space toggles it and the visible label names it; :focus-visible on the input outlines the machine.
Reduced motion
The snack is in the tray at once, with no fall.
Use it in anything you build, commercial and client work included. Licence