Placement API

React Placement controller binding, preview renderer, and cancellation props.

Pass a core PlacementController<T> to Placement. Supply children as a render function (snapshot: PlacementSnapshot<T>) => ReactNode that returns the preview content. The adapter mounts an absolute wrapper and the controller updates its transform, size, visibility, and data-allowed imperatively, so pointer movement does not render React.

The component forwards pointer movement, primary commit, secondary-button cancel, outside cancel, and Escape cancel according to its boolean props. Application state should create the actual node from the controller’s onCommit event.