Usage
| Need | Use |
|---|---|
| Drag, resize, scrub, reorder, or press-and-hold on a structural surface with a value along one axis | ManipulationSurface |
A native control (button, link) with click, hover, and InteractableProps | Button or Link (a future ui-core-style Interactable wrapper is reserved for polymorphic hosts, not manipulation) |
| File drop onto a target | DropTarget when it ships; not ManipulationSurface |
ManipulationSurface is not a button and not the parent of Button or Link.
Absolute tracking the host is the track and the value is the pointer's position, including the press.
A block-axis slider per row with pixelsPerStep set to the row height. Keep the dragged row where it is in the DOM during the drag and commit the new order on onDraggingChange(false, ...); moving the host releases pointer capture.
onHold fires after holdDelay for a held pointer, or for Enter or Space held.
Two-dimensional drag, drop targets, drag previews, and auto-scroll. A Panel, Slider, RangeSlider, or sortable list builds on this boundary as its own component.