Shower head
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/radio-showerAbout this component
A shower spray picker: rain falls in a wide fan of fine streaks that splash on the tray, jet pounds a few thick streams into the middle, and mist drifts down as slow droplets.
- Dependencies
- None
- Difficulty
- Intermediate
- Reduced motion
- Respected
- Theme
- Light and dark
- Follows page color-scheme
Triggers4
- Click
- State change
- Continuous
- Loop
Techniques4
- SVG
- Keyframes
- stroke-dashoffset
- CSS transition
Accessibility
Keyboard and screen readers
A role="radiogroup" with an aria-label around native radio inputs sharing one name, so the arrow keys move the choice and Tab enters the group once; :focus-visible on the input outlines its option.
Reduced motion
The spray is still and shown as a light pattern of drops.
Use it in anything you build, commercial and client work included. Licence