{
  "id": "chat-bubble",
  "name": "ChatBubble",
  "level": "molecule",
  "status": "experimental",
  "purpose": "One message in a conversation, sent or received.",
  "description": "A single directional message. `side` encodes authorship and drives both alignment and tone. The optional footer carries a consumer-localized timestamp and delivery label — the molecule bakes no language. Use ChatBubble for DM / chat surfaces; use CommentItem for threaded comments. Patterns consulted: Patterns/Visual Priority · StatusHierarchy, Patterns/Information Architecture · MetadataAndActions.",
  "role": "content",
  "import": "@rrios-forge/ui/molecules/chat-bubble",
  "exports": [
    "ChatBubble",
    "chatBubbleVariants",
    "CHAT_BUBBLE_POSITIONS",
    "CHAT_BUBBLE_SIDES"
  ],
  "source": "packages/ui/src/molecules/chat-bubble",
  "axes": [
    {
      "axis": "side",
      "part": null,
      "values": [
        "mine",
        "theirs",
        "system"
      ],
      "default": "theirs",
      "meaning": "Which side something belongs to."
    },
    {
      "axis": "position",
      "part": null,
      "values": [
        "single",
        "first",
        "middle",
        "last"
      ],
      "default": "single",
      "meaning": "Placement of a docked element."
    }
  ],
  "needs": [
    {
      "need": "Chat message / reactions",
      "answer": "`ChatBubble` / `ReactionBar`"
    }
  ],
  "patterns": [],
  "a11yExceptions": [],
  "decisions": [
    {
      "id": "ADR-043",
      "title": "The default theme is monochrome"
    }
  ],
  "stories": [
    {
      "name": "Playground",
      "id": "components-molecules-chatbubble--playground",
      "interaction": false,
      "snapshots": [
        "dark",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-molecules-chatbubble--playground",
      "frame": "/iframe.html?id=components-molecules-chatbubble--playground&viewMode=story"
    },
    {
      "name": "Conversation",
      "id": "components-molecules-chatbubble--conversation",
      "interaction": false,
      "snapshots": [
        "dark",
        "high-contrast",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-molecules-chatbubble--conversation",
      "frame": "/iframe.html?id=components-molecules-chatbubble--conversation&viewMode=story"
    },
    {
      "name": "Sides",
      "id": "components-molecules-chatbubble--sides",
      "interaction": false,
      "snapshots": [
        "dark",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-molecules-chatbubble--sides",
      "frame": "/iframe.html?id=components-molecules-chatbubble--sides&viewMode=story"
    }
  ],
  "storyFile": "tooling/storybook/stories/components/molecules/chat-bubble.stories.tsx"
}
