loading code fetching the highlighted snippet
A shared layoutId on the active indicator slides it between tab triggers with spring physics. State management stays on bits-ui; animation stays on svelte-motion.
layoutId across all triggers —
when the active tab changes, motion animates the indicator from the old position to the
new one.AnimatePresence so switching panels reads as a
state change, not a hard cut.Tabs.Root — bits-ui owns the state machine
+ keyboard accessibility, svelte-motion owns the animation. Add animated=false on the root to fall back to vanilla shadcn behaviour.Make changes to your account here. Click save when you're done.