{"version":3,"sources":["../../src/components/MDXComponents.tsx"],"sourcesContent":["import { ReactNode, use } from 'react';\nimport { Admonition } from './Admonition';\nimport { FS_PREFIX, LinkSpaceContext, resolveLinkTarget } from '../linkSpace';\nimport { splitHash } from '../urlUtils';\nimport { HeadingAnchor } from './HeadingAnchor';\nimport { Link } from './Link';\nimport { WikiLink } from './WikiLink';\n\n// The link primitives moved to ./Link so WikiLink can reuse Link without a\n// MDXComponents ↔ WikiLink import cycle (check:circular). Re-exported here so the\n// public `Link` / `InternalLink` entry points are unchanged.\nexport { InternalLink, Link } from './Link';\nexport { Admonition } from './Admonition';\nexport type { AdmonitionType } from './Admonition';\nexport { HeadingAnchor } from './HeadingAnchor';\nexport { WikiLink } from './WikiLink';\n\n/** Default MDX component overrides passed to {@link MDXProvider} by `boot`. These\n *  are the platform's *phantom defaults* (MARKDOWN_SYNTAX_SPEC §11.2): they are\n *  always present in the provider — even for a plain-markdown repo that never\n *  calls `boot({ mdxComponents })` — so the platform-emitted `Admonition` (§12)\n *  and `WikiLink` (§13) components resolve without the MDX missing-reference guard\n *  firing, and Markdown links route in-app via {@link Link}. An app overrides any\n *  of them by name via `boot({ mdxComponents })`, which *merges* over these\n *  defaults (§11.3) — overriding `WikiLink` alone still keeps `a` and `Admonition`. */\nexport const DEFAULT_MDX_COMPONENTS = {\n  a({\n    href,\n    children,\n    ...properties\n  }: React.DetailedHTMLProps<React.AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>) {\n    // R3-273 link spaces, same shared resolver as WikiLink: an `$fs:` href is\n    // translated to its mount-absolute path; an ABSOLUTE href is bundle-rooted\n    // when an enclosing LinkSpaceContext declares a bundleRoot (a non-bundle app\n    // declares none and is untouched). Relative and external hrefs pass through —\n    // <Link> already routes same-app hrefs and renders the rest as plain anchors.\n    // R3-482: new-then-old root read — twin of WikiLink's, same presence rule as\n    // mdx-plugins' statedBundleRoot (explicit `bundleRoot: null` is a VALUE).\n    const space = use(LinkSpaceContext);\n    const bundleRoot = space.bundleRoot !== undefined ? space.bundleRoot : space.corpusRoot ?? null;\n    // R3-783: forward the chroot flag too (twin of WikiLink's read) — under a\n    // bundle-chroot'd grant `$fs:` collapses to the scoped root.\n    const bundleChrooted = space.bundleChrooted ?? false;\n    let mapped = href;\n    if (href && (href.startsWith(FS_PREFIX) || (bundleRoot !== null && href.startsWith('/')))) {\n      const [pathPart, frag] = splitHash(href);\n      const resolution = resolveLinkTarget(pathPart, { bundleRoot, bundleChrooted });\n      if (resolution.state !== 'resolved') {\n        // Malformed `$fs:` (incl. scheme smuggling) — broken text, never an anchor.\n        return (\n          <span className=\"ir-link-broken\" data-state=\"broken\" title={`Invalid ${FS_PREFIX} link: ${href}`}>\n            {children}\n          </span>\n        );\n      }\n      mapped = `${resolution.path}${frag ? `#${frag}` : ''}`;\n    }\n    return (\n      <Link href={mapped} {...properties}>\n        {children}\n      </Link>\n    );\n  },\n  Admonition,\n  HeadingAnchor,\n  WikiLink,\n} as Record<string, (props: any) => ReactNode>;\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAkDU;AAlDV,mBAA+B;AAC/B,wBAA2B;AAC3B,uBAA+D;AAC/D,sBAA0B;AAC1B,2BAA8B;AAC9B,kBAAqB;AACrB,sBAAyB;AAKzB,IAAAA,eAAmC;AACnC,IAAAC,qBAA2B;AAE3B,IAAAC,wBAA8B;AAC9B,IAAAC,mBAAyB;AAUlB,MAAM,yBAAyB;AAAA,EACpC,EAAE;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,GAA8F;AAQ5F,UAAM,YAAQ,kBAAI,iCAAgB;AAClC,UAAM,aAAa,MAAM,eAAe,SAAY,MAAM,aAAa,MAAM,cAAc;AAG3F,UAAM,iBAAiB,MAAM,kBAAkB;AAC/C,QAAI,SAAS;AACb,QAAI,SAAS,KAAK,WAAW,0BAAS,KAAM,eAAe,QAAQ,KAAK,WAAW,GAAG,IAAK;AACzF,YAAM,CAAC,UAAU,IAAI,QAAI,2BAAU,IAAI;AACvC,YAAM,iBAAa,oCAAkB,UAAU,EAAE,YAAY,eAAe,CAAC;AAC7E,UAAI,WAAW,UAAU,YAAY;AAEnC,eACE,4CAAC,UAAK,WAAU,kBAAiB,cAAW,UAAS,OAAO,WAAW,0BAAS,UAAU,IAAI,IAC3F,UACH;AAAA,MAEJ;AACA,eAAS,GAAG,WAAW,IAAI,GAAG,OAAO,IAAI,IAAI,KAAK,EAAE;AAAA,IACtD;AACA,WACE,4CAAC,oBAAK,MAAM,QAAS,GAAG,YACrB,UACH;AAAA,EAEJ;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;","names":["import_Link","import_Admonition","import_HeadingAnchor","import_WikiLink"]}