Resizer
The interactive drag handle between two split siblings.
Resizer is the built-in drag handle between two adjacent panels in a split. It handles pointer events (mouse, touch, pen), keyboard resizing, min/max constraints, and a touch-friendly expanded hit area.
You rarely need to import Resizer directly — LayoutRoot renders it automatically when you omit renderResizer. Import it when you want custom styling on the built-in behaviour:
Props
splitId (required)
ID of the parent SplitNode this resizer belongs to.
index (required)
Position of the resizer within the split. 0 = between child 0 and child 1, 1 = between child 1 and child 2, and so on.
touchHitAreaPx
The visible resizer is 4 px wide. touchHitAreaPx sets the total width of the invisible touch target centered around it, making it easy to grab on small screens without changing the visual size.
Set to 4 to disable the expanded hit area entirely.
className / style
Applied to the resizer element. The structural styles (flex sizing, cursor, position) are set internally. Use className or style for visual overrides only:
Keyboard resizing
The resizer is focusable (tabIndex={0}) and supports two keyboard modes:
Direct shortcuts (work at any time):
| Keys | Action |
|---|---|
Alt + ← / Alt + ↑ | Shrink by 5% |
Alt + → / Alt + ↓ | Grow by 5% |
Shift + Alt + ←/↑ | Shrink by 10% |
Shift + Alt + →/↓ | Grow by 10% |
Resize mode (Enter to activate):
| Keys | Action |
|---|---|
Enter | Toggle resize mode |
← / ↑ / → / ↓ | Resize by 5% (while in mode) |
Escape or blur | Exit resize mode |
ARIA
The resizer exposes the full set of ARIA attributes for role="separator":