Row Drag-Reorder

Enable with rowReordering = { enabled: true }. By default each row shows a grip handle (the six dots on the left): press and drag it and the whole row lifts as a floating ghost that follows the cursor while the rows below shift to make room. Set handle: false to drag from anywhere on the row instead. Either way the keyboard path works: focus a row, press Space to grab, ↑ / ↓ to move, Space / Enter to drop, Esc to cancel. The grid holds a manual order (mutually exclusive with sorting) and emits rowMoved; the toolbar uses grid.moveRow(from, to).