Skip to content

Regression in hstack flexbox behaviour #8327

@ms-pablo-ruiz

Description

@ms-pablo-ruiz

Describe the bug (Updated version after narrowing down the cause)

Seems that the update #8219 have changed the default behavior of boxes inside of stacks:

mo.hstack(
    [mo.stat(value=1, bordered=True), mo.stat(value=2, bordered=True), mo.stat(value=3, bordered=True)],
    #justify="space-between",
    widths="equal",
)

It used to be that providing widths="equal", would be equivalent to use flex-grow:1 in a flexbox, the elements inside would grow horizontally and take all the space in between, but not anymore. You can see it even the example in the docs, is basically broken:

https://docs.marimo.io/api/layouts/stacks/?h=vstack

Now there is no easy way of making the boxes to stretch taking all the horizontal space. The items inside the flexbox are made containers itself, which is not correct.

Will you submit a PR?

  • Yes

Environment

Details
{
  "marimo": "0.19.11",
  "editable": false,
  "location": "/Users/pablo.ruiz/Documents/code/jd_autotrading_app/.venv/lib/python3.13/site-packages/marimo",
  "OS": "Darwin",
  "OS Version": "24.6.0",
  "Processor": "arm",
  "Python Version": "3.13.1",
  "Locale": "C/en_US",
  "Binaries": {
    "Browser": "145.0.7632.46",
    "Node": "v22.16.0",
    "uv": "0.9.0 (39b688653 2025-10-07)"
  },
  "Dependencies": {
    "click": "8.3.1",
    "docutils": "0.22.4",
    "itsdangerous": "2.2.0",
    "jedi": "0.19.2",
    "markdown": "3.10.2",
    "narwhals": "2.16.0",
    "packaging": "26.0",
    "psutil": "7.2.2",
    "pygments": "2.19.2",
    "pymdown-extensions": "10.21",
    "pyyaml": "6.0.3",
    "starlette": "0.52.1",
    "tomlkit": "0.14.0",
    "typing-extensions": "4.15.0",
    "uvicorn": "0.40.0",
    "websockets": "16.0"
  },
  "Optional Dependencies": {
    "altair": "6.0.0",
    "duckdb": "1.4.4",
    "loro": "1.10.3",
    "openai": "2.21.0",
    "pandas": "3.0.0",
    "polars": "1.38.1",
    "pyarrow": "23.0.0",
    "pytest": "8.4.2",
    "python-lsp-ruff": "2.3.0",
    "python-lsp-server": "1.14.0",
    "ruff": "0.15.1",
    "sqlglot": "28.10.1"
  },
  "Experimental Flags": {}
}

Code to reproduce

mo.hstack(
    [mo.stat(value=1, bordered=True), mo.stat(value=2, bordered=True), mo.stat(value=3, bordered=True)],
    #justify="space-between",
    widths="equal",
)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions