{
  "id": "empty-state",
  "name": "EmptyState",
  "level": "molecule",
  "status": "stable",
  "purpose": "Tells people why a surface is empty and what to do first.",
  "description": "Centred title + description + actions explaining a zero / blocked state and the next move. Title is required; vague copy ('Nothing here') is documented as an anti-pattern. Patterns consulted: Patterns/Feedback · LoadingFeedback, Patterns/Page Shells · EmptyPage, Patterns/Information Architecture · BasicHierarchy.",
  "role": "feedback",
  "import": "@rrios-forge/ui/molecules/empty-state",
  "exports": [
    "EmptyState",
    "EMPTY_STATE_SIZES",
    "EMPTY_STATE_TONES",
    "emptyStateIconVariants",
    "emptyStateVariants"
  ],
  "source": "packages/ui/src/molecules/empty-state",
  "axes": [
    {
      "axis": "size",
      "part": null,
      "values": [
        "sm",
        "md",
        "lg"
      ],
      "default": "md",
      "meaning": "Ergonomic scale, in three families (control, text, container)."
    },
    {
      "axis": "tone",
      "part": null,
      "values": [
        "neutral",
        "info",
        "success",
        "warning",
        "danger"
      ],
      "default": "neutral",
      "meaning": "Which semantic colour family the element speaks in."
    }
  ],
  "needs": [
    {
      "need": "Empty / loading state",
      "answer": "`EmptyState` / `LoadingState` or `Skeleton`"
    }
  ],
  "patterns": [],
  "a11yExceptions": [],
  "decisions": [
    {
      "id": "ADR-030",
      "title": "Axis vocabulary: one name, one meaning"
    }
  ],
  "stories": [
    {
      "name": "Playground",
      "id": "components-molecules-emptystate--playground",
      "interaction": false,
      "snapshots": [
        "dark",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-molecules-emptystate--playground",
      "frame": "/iframe.html?id=components-molecules-emptystate--playground&viewMode=story"
    },
    {
      "name": "Tones",
      "id": "components-molecules-emptystate--tones",
      "interaction": false,
      "snapshots": [
        "dark",
        "high-contrast",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-molecules-emptystate--tones",
      "frame": "/iframe.html?id=components-molecules-emptystate--tones&viewMode=story"
    },
    {
      "name": "Sizes",
      "id": "components-molecules-emptystate--sizes",
      "interaction": false,
      "snapshots": [
        "dark",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-molecules-emptystate--sizes",
      "frame": "/iframe.html?id=components-molecules-emptystate--sizes&viewMode=story"
    },
    {
      "name": "Search empty",
      "id": "components-molecules-emptystate--search-empty",
      "interaction": false,
      "snapshots": [
        "dark",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-molecules-emptystate--search-empty",
      "frame": "/iframe.html?id=components-molecules-emptystate--search-empty&viewMode=story"
    },
    {
      "name": "Permission empty",
      "id": "components-molecules-emptystate--permission-empty",
      "interaction": false,
      "snapshots": [
        "dark",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-molecules-emptystate--permission-empty",
      "frame": "/iframe.html?id=components-molecules-emptystate--permission-empty&viewMode=story"
    },
    {
      "name": "Error empty",
      "id": "components-molecules-emptystate--error-empty",
      "interaction": false,
      "snapshots": [
        "dark",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-molecules-emptystate--error-empty",
      "frame": "/iframe.html?id=components-molecules-emptystate--error-empty&viewMode=story"
    },
    {
      "name": "With actions",
      "id": "components-molecules-emptystate--with-actions",
      "interaction": false,
      "snapshots": [
        "dark",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-molecules-emptystate--with-actions",
      "frame": "/iframe.html?id=components-molecules-emptystate--with-actions&viewMode=story"
    }
  ],
  "storyFile": "tooling/storybook/stories/components/molecules/empty-state.stories.tsx"
}
