Stylish Splitter
A draggable split panel — the web "Splitter/Resizable" pattern from Ant Design and Radix UI.
Lays first and second out side by side (or stacked) with a drag handle between them. Dragging the handle resizes the panels within minRatio..maxRatio of the total size. The split ratio is managed internally; hoist it via ratio/onRatioChange to control it from the caller.
Parameters
Content of the first panel.
Content of the second panel.
Modifier applied to the root container.
Whether the panels split horizontally or vertically.
Current split ratio (0..1) of the first panel. Defaults to 0.5. When onRatioChange is null, this is the initial value and the component manages the ratio internally.
Optional callback invoked while dragging. When null, the component manages the ratio internally.
Minimum fraction of the first panel. Defaults to 0.1.
Maximum fraction of the first panel. Defaults to 0.9.
Thickness of the drag handle. Defaults to 8 dp.
Color of the handle at rest. Defaults to MaterialTheme.colorScheme.outlineVariant.
Color of the handle while dragging. Defaults to MaterialTheme.colorScheme.primary.