Search the docs

Search Keyframery's docs

Keyframery

Compatibility

How each of shadcn/ui's 63 components works with Keyframery, and the shadcn CLI, React, Next.js, Tailwind and browser versions it is tested with.

Every shadcn component works with <Cuts /> mounted: no errors, and focus and accessibility intact. The components where a screen changes get a cut. The rest are left alone on purpose, because motion there would be noise.

ComponentWith KeyframeryWhy
dialogcut: rack focusopens on top of the page
alert-dialogcut: rack focusopens on top of the page
commandcut: rack focusits dialog opens on top
sheetcut: slide-sinkopens on top of the page
drawercut: slide-sinkopens on top of the page
tabscut: J-cutswitches to a neighbour
sonnercut: cut on actiona result of what you pressed
toastcut: cut on actiona result of what you pressed
popovertunedalready opens from its trigger
dropdown-menutunedalready opens from its trigger
context-menutunedalready opens from the pointer
menubartunedalready opens from its trigger
selecttunedalready opens from its trigger
comboboxtunedalready opens from its trigger
hover-cardtunedalready opens from its trigger
tooltiptunedalready opens from its trigger
navigation-menutunedalready opens from its trigger
accordiontunedalready expands in place
collapsibletunedalready expands in place
cardhelper: MatchCutopens into its detail
tablehelper: ListCutrows are added, removed and moved
itemhelper: ListCutrows are added, removed and moved
messagehelper: ListCutmessages arrive
bubblehelper: ListCutmessages arrive
message-scrollerhelper: ListCutmessages arrive
badgehelper: ValueCutits count changes
skeletonhelper: LoadCutbecomes content
calendarplannedmonths switch like tabs
carouselplannedslides switch like tabs
questionnaireplannedsteps switch like tabs
paginationplannedpages switch like tabs
attachmentplannedfiles are added and removed
alertplanneddismissing it should fold it away
fieldplannederrors should arrive with a cut
emptyplannedthe empty state arrives
sidebarplannedlabels collapse and expand
aspect-rationo cutstatic
avatarno cutstatic
breadcrumbno cutstatic
buttonno cutthe press is the action, not a change of picture
button-groupno cutstatic
checkboxno cutits own check is enough
directionno cutnot visual
formno cutnot visual
inputno cuttyping isn't a change of picture
input-groupno cutstatic
input-otpno cuttyping isn't a change of picture
kbdno cutstatic
labelno cutstatic
markerno cutstatic
native-selectno cutthe browser draws it
progressno cutit already animates its value
radio-groupno cutits own dot is enough
resizableno cutfollows your pointer
scroll-areano cutfollows your scroll
separatorno cutstatic
sliderno cutfollows your pointer
spinnerno cutalready animates
switchno cutits own thumb is enough
textareano cuttyping isn't a change of picture
toggleno cutits own state is enough
toggle-groupno cutits own state is enough
chartno cutRecharts animates itself

Tested versions

PackageVersions
shadcn CLI4.21.3
@base-ui/react1.8
radix-ui1.7
sonner2.0.8
vaul1.1.2
cmdk1.1.1
Next.js16.3
React19.3
Tailwind CSS4
BrowsersChromium, WebKit (Safari) and Firefox, current stable

On this page