# Motion Toggle Spring Draggable

A notification settings list where each switch saves optimistically and a server rejection springs the switch back and shows the reason.

- id: `motion-toggle-spring-draggable`
- Page: https://agentic-ui-kit.com/components/motion-toggle-spring-draggable
- Live preview: https://agentic-ui-kit.com/live/component/motion-toggle-spring-draggable

## Install

```bash
agentic-ui add motion-toggle-spring-draggable
npx shadcn@4.17.0 add @agentic-ui/motion-toggle-spring-draggable
```

## Metadata

- **Level:** block
- **Category:** motion
- **Installable in:** Radix UI (registry variant new-york), Base UI (registry variant base-vega)
- **Capabilities:** spring-knob-travel, drag-to-toggle, flick-velocity, personality-spring-physics, optimistic-save-with-revert, switch-state, reduced-motion-fallback, click-variant
- **Intents:** configure
- **Suits domains:** settings, saas, operations, personal-productivity, billing
- **Interaction:** click, drag, keyboard-navigation
- **Screen role:** management
- **Density:** medium
- **Dark mode:** yes
- **Use it for:** A notification settings list where each switch saves optimistically and a server rejection springs the switch back and shows the reason., Mobile preferences screen where users drag or flick the knob with a thumb and the switch settles with the product personality's spring., Admin feature flags under an enterprise personality with no bounce, an instant fallback under reduced motion and a persistent saved/not-saved status.
- **Avoid when:** Choices that only apply after a Save or Submit button; use a checkbox (motion-checkbox-draw) instead of an immediate-effect switch., More than two states or a mixed state; use a segmented control or motion-checkbox-draw-tristate., Dense toolbars without room for the status line; the plain motion-toggle-spring is enough there.
- **Preserve when adapting:** personality-spring-overshoot-policy, optimistic-save-with-visible-revert, static-on-off-and-status-text, keyboard-and-drag-parity
- **Replace when adapting:** setting-copy, save-adapter, accent-colour
- **Adaptation effort:** low
- **Coupling:** low
- **Quality score:** 8.55/10
- **Quality breakdown:** visual 8/10, responsive 8/10, accessibility 9/10, code 8/10
- **npm dependencies:** @agentic-ui/motion, @agentic-ui/tokens, react
- **Motion:** profile subtle, library css, reduced-motion fallback yes, target 30 fps
- **Registry dependencies:** lib-motion
