Gooey
shadcn/ui, melted.
22 components. One command.
$ npx shadcn@latest add https://gooey-shyt.vercel.app/r/all.jsonToggles
Flip it and it pours. Knobs stretch across their track, dots drip to their new home, and pressed toggles fuse into one shape.
Switch. The knob pulls away from where it was and the trailing drop is absorbed on arrival.
switchRadio group. The selected dot travels to the next option as a single droplet.
radio-groupToggle group. One pill pours between items. In multiple mode, pressed neighbours melt together.
toggle-groupValues
Numbers that move with weight. The thumb springs ahead of its fill, progress sheds a droplet, and the spinner never stops merging.
Slider. Click the track: the thumb leaps and the fill catches up. Dragging stays 1:1.
sliderProgress. A droplet at the leading edge pinches off and re-merges.
progressSpinner. Three dots fusing in turn, on CSS so it keeps going while the page is busy.
spinnerInput OTP. The focus halo hops from slot to slot as you type.
input-otpOverlays
Bubbles that bud. Tooltips, popovers and hover cards grow out of a droplet on the trigger side, then let go when they close.
Tooltip. Hover a trigger. Fast enough to use all day.
tooltipPopover. The card absorbs the droplet as it opens.
popoverHover card. The same bud, on hover.
hover-cardDisplay
Dates and dots that flow. Selections pour from day to day, a range becomes one capsule, and carousel dots stretch as slides change.
Recipe
Two ingredients. A blur that fuses shapes that come close, and springs that pull them apart at different speeds.
Blur radius
σ 2px
Alpha threshold
19 · −9
Leader spring
266 / 15
Text in the filter
0
Install
Take it home. Each one replaces its shadcn counterpart in place, with the same props and exports.
$ npx shadcn@latest add https://gooey-shyt.vercel.app/r/all.json/r/switch.json/r/radio-group.json/r/toggle-group.json/r/tabs.json/r/pagination.json/r/dropdown-menu.json/r/context-menu.json/r/select.json/r/combobox.json/r/menubar.json/r/slider.json/r/progress.json/r/spinner.json/r/input-otp.json/r/tooltip.json/r/popover.json/r/hover-card.json/r/calendar.json/r/carousel.json/r/button-group.json/r/bubble.json