Browse components

Stack

import Stack from "@shpaw415/mui-lite/Stack";

Why use it

Stack lays out children in a row or column with consistent spacing. Use it whenever you would otherwise repeat margin utilities between siblings — toolbars, form field groups, button rows, vertical page sections.

divider inserts a separator between items; spacing uses an 8px scale when given a number.

Demo

Row
Column + divider

Example

import Stack from "@shpaw415/mui-lite/Stack";
import Button from "@shpaw415/mui-lite/Button";
import Divider from "@shpaw415/mui-lite/Divider";
 
export function Toolbar() {
  return (
    <Stack direction="row" spacing={2} alignItems="center">
      <Button variant="contained">Save</Button>
      <Button variant="outlined">Cancel</Button>
    </Stack>
  );
}
 
export function MenuList() {
  return (
    <Stack spacing={1} divider={<Divider />}>
      <div>Profile</div>
      <div>Settings</div>
      <div>Logout</div>
    </Stack>
  );
}

Props

PropTypeDefault
directionrow | column | row-reverse | column-reversecolumn
spacingnumber | string0 (number × 8px)
dividerReactNode
useFlexGapbooleantrue
componentelement typediv
sxSxProps