{
  "id": "grid",
  "name": "Grid",
  "level": "atom",
  "status": "stable",
  "purpose": "Lays content out in responsive columns with system gaps.",
  "description": "Layout primitive that owns the column system. Track mode defines a fixed column count (optionally per breakpoint); fluid mode lets `auto-fit` tracks adapt to the container width using a min-track token.",
  "role": "surface",
  "import": "@rrios-forge/ui/atoms/grid",
  "exports": [
    "Grid",
    "GridItem",
    "GRID_ALIGN_X",
    "GRID_ALIGN_Y",
    "GRID_BREAKPOINTS",
    "GRID_COLUMNS",
    "GRID_GAPS",
    "GRID_ITEM_ROW_SPANS",
    "GRID_ITEM_SPANS",
    "GRID_MIN_COLUMNS",
    "GRID_MODES",
    "gridItemVariants",
    "gridVariants",
    "resolveGridColumnsClass",
    "resolveGridRowSpanClass",
    "resolveGridSpanClass"
  ],
  "source": "packages/ui/src/atoms/grid",
  "axes": [
    {
      "axis": "gap",
      "part": null,
      "values": [
        "none",
        "xs",
        "sm",
        "md",
        "lg",
        "xl"
      ],
      "default": "md",
      "meaning": "Spacing between grid items."
    },
    {
      "axis": "rowGap",
      "part": null,
      "values": [
        "none",
        "xs",
        "sm",
        "md",
        "lg",
        "xl"
      ],
      "default": "md",
      "meaning": "Spacing between grid rows."
    },
    {
      "axis": "alignX",
      "part": null,
      "values": [
        "start",
        "center",
        "end",
        "stretch"
      ],
      "default": "stretch",
      "meaning": "Inline-axis alignment of grid items."
    },
    {
      "axis": "alignY",
      "part": null,
      "values": [
        "start",
        "center",
        "end",
        "stretch",
        "baseline"
      ],
      "default": "stretch",
      "meaning": "Block-axis alignment of grid items."
    },
    {
      "axis": "dense",
      "part": null,
      "values": [
        "true",
        "false"
      ],
      "default": "false",
      "meaning": "Grid packs items densely."
    }
  ],
  "needs": [
    {
      "need": "Responsive grid / max-width container",
      "answer": "`Grid` / `Container`"
    }
  ],
  "patterns": [],
  "a11yExceptions": [],
  "decisions": [
    {
      "id": "ADR-008",
      "title": "Layout layer: refined `Grid` + new `Container`"
    }
  ],
  "stories": [
    {
      "name": "Playground",
      "id": "components-atoms-grid--playground",
      "interaction": false,
      "snapshots": [
        "dark",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-atoms-grid--playground",
      "frame": "/iframe.html?id=components-atoms-grid--playground&viewMode=story"
    },
    {
      "name": "Track — fixed columns",
      "id": "components-atoms-grid--track",
      "interaction": false,
      "snapshots": [
        "dark",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-atoms-grid--track",
      "frame": "/iframe.html?id=components-atoms-grid--track&viewMode=story"
    },
    {
      "name": "Responsive — per-breakpoint columns",
      "id": "components-atoms-grid--responsive",
      "interaction": false,
      "snapshots": [
        "dark",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-atoms-grid--responsive",
      "frame": "/iframe.html?id=components-atoms-grid--responsive&viewMode=story"
    },
    {
      "name": "Fluid — auto-fit tracks",
      "id": "components-atoms-grid--fluid",
      "interaction": false,
      "snapshots": [
        "dark",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-atoms-grid--fluid",
      "frame": "/iframe.html?id=components-atoms-grid--fluid&viewMode=story"
    },
    {
      "name": "Independent row + column gap",
      "id": "components-atoms-grid--row-gap",
      "interaction": false,
      "snapshots": [
        "dark",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-atoms-grid--row-gap",
      "frame": "/iframe.html?id=components-atoms-grid--row-gap&viewMode=story"
    },
    {
      "name": "Dense packing",
      "id": "components-atoms-grid--dense",
      "interaction": false,
      "snapshots": [
        "dark",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-atoms-grid--dense",
      "frame": "/iframe.html?id=components-atoms-grid--dense&viewMode=story"
    },
    {
      "name": "AlignX — items horizontal",
      "id": "components-atoms-grid--align-x",
      "interaction": false,
      "snapshots": [
        "dark",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-atoms-grid--align-x",
      "frame": "/iframe.html?id=components-atoms-grid--align-x&viewMode=story"
    },
    {
      "name": "Grid.Item · responsive span",
      "id": "components-atoms-grid--span-responsive",
      "interaction": false,
      "snapshots": [
        "dark",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-atoms-grid--span-responsive",
      "frame": "/iframe.html?id=components-atoms-grid--span-responsive&viewMode=story"
    },
    {
      "name": "Dashboard composition",
      "id": "components-atoms-grid--dashboard-layout",
      "interaction": false,
      "snapshots": [
        "dark",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-atoms-grid--dashboard-layout",
      "frame": "/iframe.html?id=components-atoms-grid--dashboard-layout&viewMode=story"
    },
    {
      "name": "Loading skeleton",
      "id": "components-atoms-grid--loading-state",
      "interaction": false,
      "snapshots": [
        "dark",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-atoms-grid--loading-state",
      "frame": "/iframe.html?id=components-atoms-grid--loading-state&viewMode=story"
    }
  ],
  "storyFile": "tooling/storybook/stories/components/atoms/grid.stories.tsx"
}
