{
  "id": "link",
  "name": "Link",
  "level": "atom",
  "status": "stable",
  "purpose": "Takes the reader to another page, within a sentence or on its own.",
  "description": "Accessible navigation/text action. `presentation` controls the underline rule (`inline` links flow and wrap with the sentence; the underline is quiet at rest and full on hover — hover never fades the colour); `tone` controls colour emphasis. Distinguishability never relies on colour alone — focus ring + underline carry the signal. External links show an arrow icon outside the underline plus an sr-only hint.",
  "role": "navigation",
  "import": "@rrios-forge/ui/atoms/link",
  "exports": [
    "Link",
    "linkVariants",
    "LINK_PRESENTATIONS",
    "LINK_TINT",
    "LINK_TONES",
    "LINK_VARIANTS"
  ],
  "source": "packages/ui/src/atoms/link",
  "axes": [
    {
      "axis": "presentation",
      "part": null,
      "values": [
        "inline",
        "standalone",
        "subtle"
      ],
      "default": "inline",
      "meaning": "How the same thing is staged."
    },
    {
      "axis": "tone",
      "part": null,
      "values": [
        "neutral",
        "muted",
        "danger"
      ],
      "default": null,
      "meaning": "Which semantic colour family the element speaks in."
    }
  ],
  "needs": [
    {
      "need": "Link styled as a button",
      "answer": "`Link className={buttonVariants({ intent, variant, size })}`"
    }
  ],
  "patterns": [],
  "a11yExceptions": [],
  "decisions": [
    {
      "id": "ADR-002",
      "title": "Component variants live in `variants.ts` and export their option metadata"
    },
    {
      "id": "ADR-017",
      "title": "Actionable components adopt the `asChild` slot pattern for framework-aware routing"
    },
    {
      "id": "ADR-028",
      "title": "The label is not the fill"
    },
    {
      "id": "ADR-046",
      "title": "Markdown is painted with atoms, and apps fill its slots"
    }
  ],
  "stories": [
    {
      "name": "Playground",
      "id": "components-atoms-link--playground",
      "interaction": false,
      "snapshots": [
        "dark",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-atoms-link--playground",
      "frame": "/iframe.html?id=components-atoms-link--playground&viewMode=story"
    },
    {
      "name": "Variants",
      "id": "components-atoms-link--variants",
      "interaction": false,
      "snapshots": [
        "dark",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-atoms-link--variants",
      "frame": "/iframe.html?id=components-atoms-link--variants&viewMode=story"
    },
    {
      "name": "Tones",
      "id": "components-atoms-link--tones",
      "interaction": false,
      "snapshots": [
        "dark",
        "high-contrast",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-atoms-link--tones",
      "frame": "/iframe.html?id=components-atoms-link--tones&viewMode=story"
    },
    {
      "name": "External",
      "id": "components-atoms-link--external",
      "interaction": false,
      "snapshots": [
        "dark",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-atoms-link--external",
      "frame": "/iframe.html?id=components-atoms-link--external&viewMode=story"
    },
    {
      "name": "Focus state",
      "id": "components-atoms-link--focus-state",
      "interaction": false,
      "snapshots": [
        "dark",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-atoms-link--focus-state",
      "frame": "/iframe.html?id=components-atoms-link--focus-state&viewMode=story"
    },
    {
      "name": "asChild · framework Link",
      "id": "components-atoms-link--as-child-with-link",
      "interaction": false,
      "snapshots": [
        "dark",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-atoms-link--as-child-with-link",
      "frame": "/iframe.html?id=components-atoms-link--as-child-with-link&viewMode=story"
    },
    {
      "name": "asChild · prevents browser navigation",
      "id": "components-atoms-link--as-child-prevents-navigation",
      "interaction": true,
      "snapshots": [
        "dark",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-atoms-link--as-child-prevents-navigation",
      "frame": "/iframe.html?id=components-atoms-link--as-child-prevents-navigation&viewMode=story"
    }
  ],
  "storyFile": "tooling/storybook/stories/components/atoms/link.stories.tsx"
}
