sourcey 2.0.2 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/LICENSE +661 -23
  2. package/README.md +129 -209
  3. package/dist/cli.js +18 -57
  4. package/dist/cli.js.map +1 -1
  5. package/dist/client/scroll-tracker.js +125 -40
  6. package/dist/client/search.js +27 -3
  7. package/dist/client/tabs.js +164 -24
  8. package/dist/components/App.d.ts +3 -2
  9. package/dist/components/App.d.ts.map +1 -1
  10. package/dist/components/App.js +3 -3
  11. package/dist/components/App.js.map +1 -1
  12. package/dist/components/layout/Head.d.ts.map +1 -1
  13. package/dist/components/layout/Head.js +30 -9
  14. package/dist/components/layout/Head.js.map +1 -1
  15. package/dist/components/layout/Header.d.ts +2 -7
  16. package/dist/components/layout/Header.d.ts.map +1 -1
  17. package/dist/components/layout/Header.js +12 -15
  18. package/dist/components/layout/Header.js.map +1 -1
  19. package/dist/components/layout/Page.d.ts.map +1 -1
  20. package/dist/components/layout/Page.js +54 -10
  21. package/dist/components/layout/Page.js.map +1 -1
  22. package/dist/components/layout/Sidebar.js +1 -1
  23. package/dist/components/layout/Sidebar.js.map +1 -1
  24. package/dist/components/layout/TableOfContents.d.ts.map +1 -1
  25. package/dist/components/layout/TableOfContents.js +1 -1
  26. package/dist/components/layout/TableOfContents.js.map +1 -1
  27. package/dist/components/openapi/CodeSamples.d.ts +4 -2
  28. package/dist/components/openapi/CodeSamples.d.ts.map +1 -1
  29. package/dist/components/openapi/CodeSamples.js +9 -5
  30. package/dist/components/openapi/CodeSamples.js.map +1 -1
  31. package/dist/components/openapi/Definition.js +1 -1
  32. package/dist/components/openapi/Definition.js.map +1 -1
  33. package/dist/components/openapi/EndpointBar.d.ts.map +1 -1
  34. package/dist/components/openapi/EndpointBar.js +3 -3
  35. package/dist/components/openapi/EndpointBar.js.map +1 -1
  36. package/dist/components/openapi/Introduction.d.ts.map +1 -1
  37. package/dist/components/openapi/Introduction.js +1 -1
  38. package/dist/components/openapi/Introduction.js.map +1 -1
  39. package/dist/components/openapi/Operation.d.ts.map +1 -1
  40. package/dist/components/openapi/Operation.js +5 -1
  41. package/dist/components/openapi/Operation.js.map +1 -1
  42. package/dist/components/openapi/Responses.d.ts +2 -1
  43. package/dist/components/openapi/Responses.d.ts.map +1 -1
  44. package/dist/components/openapi/Responses.js +17 -6
  45. package/dist/components/openapi/Responses.js.map +1 -1
  46. package/dist/components/openapi/Security.d.ts.map +1 -1
  47. package/dist/components/openapi/Security.js +3 -2
  48. package/dist/components/openapi/Security.js.map +1 -1
  49. package/dist/components/openapi/Tags.d.ts.map +1 -1
  50. package/dist/components/openapi/Tags.js +1 -1
  51. package/dist/components/openapi/Tags.js.map +1 -1
  52. package/dist/components/schema/ExampleView.d.ts +1 -1
  53. package/dist/components/schema/ExampleView.d.ts.map +1 -1
  54. package/dist/components/schema/ExampleView.js +3 -2
  55. package/dist/components/schema/ExampleView.js.map +1 -1
  56. package/dist/components/ui/CopyButton.d.ts +6 -0
  57. package/dist/components/ui/CopyButton.d.ts.map +1 -0
  58. package/dist/components/ui/CopyButton.js +10 -0
  59. package/dist/components/ui/CopyButton.js.map +1 -0
  60. package/dist/components/ui/Markdown.js +1 -1
  61. package/dist/components/ui/Markdown.js.map +1 -1
  62. package/dist/components/ui/SocialIcon.d.ts +5 -0
  63. package/dist/components/ui/SocialIcon.d.ts.map +1 -0
  64. package/dist/components/ui/SocialIcon.js +19 -0
  65. package/dist/components/ui/SocialIcon.js.map +1 -0
  66. package/dist/config.d.ts +133 -37
  67. package/dist/config.d.ts.map +1 -1
  68. package/dist/config.js +227 -73
  69. package/dist/config.js.map +1 -1
  70. package/dist/core/doxygen-loader.d.ts +9 -0
  71. package/dist/core/doxygen-loader.d.ts.map +1 -0
  72. package/dist/core/doxygen-loader.js +68 -0
  73. package/dist/core/doxygen-loader.js.map +1 -0
  74. package/dist/core/markdown-loader.d.ts +2 -5
  75. package/dist/core/markdown-loader.d.ts.map +1 -1
  76. package/dist/core/markdown-loader.js +218 -27
  77. package/dist/core/markdown-loader.js.map +1 -1
  78. package/dist/core/navigation.d.ts +2 -2
  79. package/dist/core/navigation.d.ts.map +1 -1
  80. package/dist/core/navigation.js +9 -10
  81. package/dist/core/navigation.js.map +1 -1
  82. package/dist/core/search-indexer.d.ts +1 -1
  83. package/dist/core/search-indexer.d.ts.map +1 -1
  84. package/dist/core/search-indexer.js +6 -5
  85. package/dist/core/search-indexer.js.map +1 -1
  86. package/dist/dev-server.d.ts +0 -12
  87. package/dist/dev-server.d.ts.map +1 -1
  88. package/dist/dev-server.js +101 -79
  89. package/dist/dev-server.js.map +1 -1
  90. package/dist/index.d.ts +2 -30
  91. package/dist/index.d.ts.map +1 -1
  92. package/dist/index.js +82 -70
  93. package/dist/index.js.map +1 -1
  94. package/dist/renderer/context.d.ts +29 -2
  95. package/dist/renderer/context.d.ts.map +1 -1
  96. package/dist/renderer/context.js +1 -1
  97. package/dist/renderer/context.js.map +1 -1
  98. package/dist/renderer/html-builder.d.ts +3 -16
  99. package/dist/renderer/html-builder.d.ts.map +1 -1
  100. package/dist/renderer/html-builder.js +6 -20
  101. package/dist/renderer/html-builder.js.map +1 -1
  102. package/dist/renderer/static-renderer.d.ts +2 -2
  103. package/dist/renderer/static-renderer.d.ts.map +1 -1
  104. package/dist/renderer/static-renderer.js +2 -2
  105. package/dist/renderer/static-renderer.js.map +1 -1
  106. package/dist/themes/default/main.css +13 -1
  107. package/dist/themes/default/sourcey.css +629 -41
  108. package/dist/utils/code-samples.d.ts +8 -3
  109. package/dist/utils/code-samples.d.ts.map +1 -1
  110. package/dist/utils/code-samples.js +188 -51
  111. package/dist/utils/code-samples.js.map +1 -1
  112. package/dist/utils/copy-svg.d.ts +9 -0
  113. package/dist/utils/copy-svg.d.ts.map +1 -0
  114. package/dist/utils/copy-svg.js +9 -0
  115. package/dist/utils/copy-svg.js.map +1 -0
  116. package/dist/utils/highlighter.d.ts.map +1 -1
  117. package/dist/utils/highlighter.js +18 -7
  118. package/dist/utils/highlighter.js.map +1 -1
  119. package/dist/utils/icons.d.ts +14 -0
  120. package/dist/utils/icons.d.ts.map +1 -0
  121. package/dist/utils/icons.js +59 -0
  122. package/dist/utils/icons.js.map +1 -0
  123. package/dist/utils/lang-icons.d.ts +17 -0
  124. package/dist/utils/lang-icons.d.ts.map +1 -0
  125. package/dist/utils/lang-icons.js +87 -0
  126. package/dist/utils/lang-icons.js.map +1 -0
  127. package/dist/utils/markdown.d.ts +17 -1
  128. package/dist/utils/markdown.d.ts.map +1 -1
  129. package/dist/utils/markdown.js +59 -2
  130. package/dist/utils/markdown.js.map +1 -1
  131. package/dist/vite-plugin.d.ts.map +1 -1
  132. package/dist/vite-plugin.js +4 -7
  133. package/dist/vite-plugin.js.map +1 -1
  134. package/package.json +6 -5
@@ -1,6 +1,7 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "preact/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "preact/jsx-runtime";
2
2
  import { useContext } from "preact/hooks";
3
- import { NavigationContext, OptionsContext, SpecContext } from "../../renderer/context.js";
3
+ import { NavigationContext, OptionsContext, SiteContext } from "../../renderer/context.js";
4
+ import { SocialIcon } from "../ui/SocialIcon.js";
4
5
  function SearchIcon() {
5
6
  return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", class: "min-w-4 flex-none", children: [_jsx("circle", { cx: "11", cy: "11", r: "8" }), _jsx("path", { d: "m21 21-4.3-4.3" })] }));
6
7
  }
@@ -11,28 +12,24 @@ function MoonIcon() {
11
12
  return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", class: "h-4 w-4 hidden dark:block", children: _jsx("path", { d: "M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z" }) }));
12
13
  }
13
14
  /**
14
- * Two-row site header two-row layout.
15
- * Row 1 (h-16): logo, search, theme toggle
15
+ * Two-row site header.
16
+ * Row 1 (h-16): logo, search, navbar links, theme toggle
16
17
  * Row 2 (h-12): navigation tabs
17
18
  * Total: 7rem (header-height)
18
19
  */
19
20
  export function Header() {
20
21
  const nav = useContext(NavigationContext);
21
22
  const options = useContext(OptionsContext);
22
- const spec = useContext(SpecContext);
23
+ const site = useContext(SiteContext);
23
24
  const base = options.assetBase;
24
- return (_jsxs("div", { id: "navbar", class: "z-30 fixed lg:sticky top-0 w-full", children: [_jsx("div", { class: "absolute w-full h-full flex-none border-b border-[rgb(var(--color-gray-200)/0.7)] dark:border-[rgb(var(--color-gray-300)/0.06)] bg-[rgb(var(--color-background-light))] dark:bg-[rgb(var(--color-background-dark))]" }), _jsxs("div", { class: "max-w-[92rem] mx-auto relative", children: [_jsxs("div", { class: "relative", children: [_jsx("div", { class: "flex items-center lg:px-12 h-16 min-w-0 mx-4 lg:mx-0", children: _jsxs("div", { class: "h-full relative flex-1 flex items-center gap-x-4 min-w-0 border-b border-[rgb(var(--color-gray-500)/0.05)] dark:border-[rgb(var(--color-gray-300)/0.06)]", children: [_jsx("div", { class: "flex-1 flex items-center gap-x-4", children: spec.info.logo && (_jsx("a", { href: `${base}${nav.tabs[0]?.href ?? ""}`, class: "select-none", children: _jsx("img", { src: spec.info.logo, alt: spec.info.title || "Home", class: "w-auto h-7 relative object-contain shrink-0" }) })) }), _jsx("div", { class: "relative hidden lg:flex items-center flex-1 z-20 gap-2.5", children: _jsxs("button", { id: "search-open", type: "button", "aria-label": "Search", class: "group flex pointer-events-auto rounded-xl w-full items-center text-sm leading-6 h-9 pl-3.5 pr-3 text-[rgb(var(--color-gray-500))] dark:text-[rgb(var(--color-gray-400))] ring-1 ring-[rgb(var(--color-gray-400)/0.3)] hover:ring-[rgb(var(--color-gray-600)/0.3)] dark:ring-[rgb(var(--color-gray-600)/0.3)] dark:hover:ring-[rgb(var(--color-gray-500)/0.3)] justify-between truncate gap-2 min-w-[43px] cursor-pointer bg-[rgb(var(--color-background-light))] dark:bg-[rgb(var(--color-background-dark))] dark:brightness-110 dark:hover:brightness-125", children: [_jsxs("div", { class: "flex items-center gap-2 min-w-[42px]", children: [_jsx(SearchIcon, {}), _jsx("div", { class: "truncate min-w-0", children: "Search docs..." })] }), _jsx("kbd", { class: "flex-none ml-auto size-5 flex items-center justify-center text-xs font-semibold text-[rgb(var(--color-gray-400))] bg-[rgb(var(--color-gray-100)/0.5)] dark:bg-[rgb(var(--color-surface-dark-tint)/0.1)] border border-[rgb(var(--color-gray-200))] dark:border-[rgb(var(--color-border-dark-subtle)/0.1)] rounded", children: "/" })] }) }), _jsx("div", { class: "flex-1 relative hidden lg:flex items-center ml-auto justify-end space-x-4", children: _jsx("div", { class: "flex items-center", children: _jsxs("button", { id: "theme-toggle", type: "button", "aria-label": "Toggle theme", class: "group p-2 flex items-center justify-center cursor-pointer text-[rgb(var(--color-gray-400))] hover:text-[rgb(var(--color-gray-600))] dark:text-[rgb(var(--color-gray-500))] dark:hover:text-[rgb(var(--color-gray-300))]", children: [_jsx(SunIcon, {}), _jsx(MoonIcon, {})] }) }) }), _jsxs("div", { class: "flex lg:hidden items-center gap-3", children: [_jsx("button", { type: "button", "data-drawer-slide": "right", "aria-label": "Open menu", class: "text-[rgb(var(--color-gray-500))] w-8 h-8 flex items-center justify-center hover:text-[rgb(var(--color-gray-600))]", children: _jsx("svg", { class: "h-4", fill: "currentColor", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 448 512", children: _jsx("path", { d: "M0 96C0 78.3 14.3 64 32 64H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 128 0 113.7 0 96zM0 256c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zM448 416c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32z" }) }) }), _jsx("button", { id: "search-open-mobile", type: "button", "aria-label": "Search", class: "text-[rgb(var(--color-gray-500))] w-8 h-8 flex items-center justify-center", children: _jsx(SearchIcon, {}) })] })] }) }), _jsx("button", { type: "button", class: "flex items-center h-14 py-4 px-5 lg:hidden focus:outline-0 w-full text-left", "data-drawer-slide": "right", children: _jsx("div", { class: "text-[rgb(var(--color-gray-500))]", children: _jsx("svg", { class: "h-4", fill: "currentColor", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 448 512", children: _jsx("path", { d: "M0 96C0 78.3 14.3 64 32 64H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 128 0 113.7 0 96zM0 256c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zM448 416c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32z" }) }) }) })] }), _jsx("div", { class: "hidden lg:flex px-12 h-12", children: _jsx("div", { class: "h-full flex text-sm gap-x-6", children: nav.tabs.map((tab) => {
25
+ const logoHref = site.logo?.href ?? `${base}${nav.tabs[0]?.href ?? ""}`;
26
+ return (_jsxs("div", { id: "navbar", class: "z-30 fixed lg:sticky top-0 w-full", children: [_jsx("div", { class: "absolute w-full h-full flex-none border-b border-[rgb(var(--color-gray-200)/0.7)] dark:border-[rgb(var(--color-gray-300)/0.06)] bg-[rgb(var(--color-background-light))] dark:bg-[rgb(var(--color-background-dark))]" }), _jsxs("div", { class: "max-w-[92rem] mx-auto relative", children: [_jsxs("div", { class: "relative", children: [_jsx("div", { class: "flex items-center lg:px-12 h-16 min-w-0 mx-4 lg:mx-0", children: _jsxs("div", { class: "h-full relative flex-1 flex items-center gap-x-4 min-w-0 border-b border-[rgb(var(--color-gray-500)/0.05)] dark:border-[rgb(var(--color-gray-300)/0.06)]", children: [_jsx("div", { class: "flex-1 flex items-center gap-x-4", children: site.logo?.light && (_jsxs("a", { href: logoHref, class: "select-none", children: [_jsx("img", { src: site.logo.light, alt: site.name || "Home", class: "w-auto h-7 relative object-contain shrink-0 block dark:hidden" }), site.logo.dark ? (_jsx("img", { src: site.logo.dark, alt: site.name || "Home", class: "w-auto h-7 relative object-contain shrink-0 hidden dark:block" })) : (_jsx("img", { src: site.logo.light, alt: site.name || "Home", class: "w-auto h-7 relative object-contain shrink-0 hidden dark:block" }))] })) }), _jsx("div", { class: "relative hidden lg:flex items-center flex-1 z-20 gap-2.5", children: _jsxs("button", { id: "search-open", type: "button", "aria-label": "Search", class: "group flex pointer-events-auto rounded-lg w-full items-center text-sm leading-6 h-9 pl-3.5 pr-3 text-[rgb(var(--color-gray-500))] dark:text-[rgb(var(--color-gray-400))] ring-1 ring-[rgb(var(--color-gray-400)/0.3)] hover:ring-[rgb(var(--color-gray-600)/0.3)] dark:ring-[rgb(var(--color-gray-600)/0.3)] dark:hover:ring-[rgb(var(--color-gray-500)/0.3)] justify-between truncate gap-2 min-w-[43px] cursor-pointer bg-[rgb(var(--color-background-light))] dark:bg-[rgb(var(--color-background-dark))] dark:brightness-110 dark:hover:brightness-125", children: [_jsxs("div", { class: "flex items-center gap-2 min-w-[42px]", children: [_jsx(SearchIcon, {}), _jsx("div", { class: "truncate min-w-0", children: "Search docs..." })] }), _jsx("kbd", { class: "flex-none ml-auto size-5 flex items-center justify-center text-xs font-semibold text-[rgb(var(--color-gray-400))] bg-[rgb(var(--color-gray-100)/0.5)] dark:bg-[rgb(var(--color-surface-dark-tint)/0.1)] border border-[rgb(var(--color-gray-200))] dark:border-[rgb(var(--color-border-dark-subtle)/0.1)] rounded-sm", children: "/" })] }) }), _jsxs("div", { class: "flex-1 relative hidden lg:flex items-center ml-auto justify-end space-x-4", children: [_jsx("nav", { class: "text-sm", children: _jsxs("ul", { class: "flex space-x-6 items-center", children: [site.navbar.links.map((link) => (_jsx("li", { children: _jsx("a", { href: link.href, target: "_blank", rel: "noopener noreferrer", class: "text-[rgb(var(--color-gray-400))] hover:text-[rgb(var(--color-gray-600))] dark:hover:text-[rgb(var(--color-gray-300))]", children: link.type === "link"
27
+ ? (link.label ?? link.href)
28
+ : (_jsxs(_Fragment, { children: [_jsx(SocialIcon, { type: link.type }), link.label && _jsx("span", { class: "ml-1", children: link.label })] })) }) }, link.href))), site.navbar.primary && (_jsx("li", { children: _jsxs("a", { href: site.navbar.primary.href, target: "_blank", class: "group px-4 py-1.5 relative inline-flex items-center text-sm font-medium", children: [_jsx("span", { class: "absolute inset-0 bg-[rgb(var(--color-primary-dark))] rounded-lg group-hover:opacity-90" }), _jsx("span", { class: "z-10 text-white", children: site.navbar.primary.label })] }) }))] }) }), _jsx("div", { class: "flex items-center", children: _jsxs("button", { id: "theme-toggle", type: "button", "aria-label": "Toggle theme", class: "group p-2 flex items-center justify-center cursor-pointer text-[rgb(var(--color-gray-400))] hover:text-[rgb(var(--color-gray-600))] dark:text-[rgb(var(--color-gray-500))] dark:hover:text-[rgb(var(--color-gray-300))]", children: [_jsx(SunIcon, {}), _jsx(MoonIcon, {})] }) })] }), _jsxs("div", { class: "flex lg:hidden items-center gap-3", children: [_jsx("button", { type: "button", "data-drawer-slide": "right", "aria-label": "Open menu", class: "text-[rgb(var(--color-gray-500))] w-8 h-8 flex items-center justify-center hover:text-[rgb(var(--color-gray-600))]", children: _jsx("svg", { class: "h-4", fill: "currentColor", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 448 512", children: _jsx("path", { d: "M0 96C0 78.3 14.3 64 32 64H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 128 0 113.7 0 96zM0 256c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zM448 416c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32z" }) }) }), _jsx("button", { id: "search-open-mobile", type: "button", "aria-label": "Search", class: "text-[rgb(var(--color-gray-500))] w-8 h-8 flex items-center justify-center", children: _jsx(SearchIcon, {}) })] })] }) }), _jsx("button", { type: "button", class: "flex items-center h-14 py-4 px-5 lg:hidden focus:outline-0 w-full text-left", "data-drawer-slide": "right", children: _jsx("div", { class: "text-[rgb(var(--color-gray-500))]", children: _jsx("svg", { class: "h-4", fill: "currentColor", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 448 512", children: _jsx("path", { d: "M0 96C0 78.3 14.3 64 32 64H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 128 0 113.7 0 96zM0 256c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zM448 416c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32z" }) }) }) })] }), nav.tabs.length > 1 && (_jsx("div", { class: "hidden lg:flex px-12 h-12", children: _jsx("div", { class: "h-full flex text-sm gap-x-6", children: nav.tabs.map((tab) => {
25
29
  const isActive = tab.slug === nav.activeTabSlug;
26
- return (_jsxs("a", { href: `${base}${tab.href}`, class: `group relative h-full gap-2 flex items-center font-medium transition-colors ${isActive
30
+ return (_jsxs("a", { href: `${base}${tab.href}`, class: `group relative h-full gap-2 flex items-center font-medium cursor-pointer transition-colors ${isActive
27
31
  ? "text-[rgb(var(--color-gray-800))] dark:text-[rgb(var(--color-gray-200))]"
28
32
  : "text-[rgb(var(--color-gray-600))] dark:text-[rgb(var(--color-gray-400))] hover:text-[rgb(var(--color-gray-800))] dark:hover:text-[rgb(var(--color-gray-300))]"}`, children: [tab.label, isActive ? (_jsx("div", { class: "absolute bottom-0 h-[1.5px] w-full left-0 bg-[rgb(var(--color-primary))] dark:bg-[rgb(var(--color-primary-light))]" })) : (_jsx("div", { class: "absolute bottom-0 h-[1.5px] w-full left-0 group-hover:bg-[rgb(var(--color-gray-200))] dark:group-hover:bg-[rgb(var(--color-gray-700))]" }))] }, tab.slug));
29
- }) }) })] })] }));
30
- }
31
- /**
32
- * Mobile header is now integrated into the main Header component.
33
- * This is kept as a no-op for backward compatibility.
34
- */
35
- export function MobileHeader() {
36
- return null;
33
+ }) }) }))] })] }));
37
34
  }
38
35
  //# sourceMappingURL=Header.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../src/components/layout/Header.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../src/components/layout/Header.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Page.d.ts","sourceRoot":"","sources":["../../../src/components/layout/Page.tsx"],"names":[],"mappings":"AAsEA,wBAAgB,IAAI,iCAwCnB"}
1
+ {"version":3,"file":"Page.d.ts","sourceRoot":"","sources":["../../../src/components/layout/Page.tsx"],"names":[],"mappings":"AAoMA,wBAAgB,IAAI,iCAqCnB"}
@@ -1,29 +1,73 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "preact/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "preact/jsx-runtime";
2
2
  import { useContext } from "preact/hooks";
3
- import { SpecContext, PageContext } from "../../renderer/context.js";
4
- import { Header, MobileHeader } from "./Header.js";
3
+ import { SpecContext, PageContext, NavigationContext, SiteContext } from "../../renderer/context.js";
4
+ import { Markdown } from "../ui/Markdown.js";
5
+ import { Header } from "./Header.js";
5
6
  import { Sidebar } from "./Sidebar.js";
6
7
  import { TableOfContents } from "./TableOfContents.js";
7
8
  import { Introduction } from "../openapi/Introduction.js";
8
9
  import { SecurityDefinitions } from "../openapi/Security.js";
9
10
  import { Tags } from "../openapi/Tags.js";
10
11
  import { Definition } from "../openapi/Definition.js";
12
+ import { SocialIcon } from "../ui/SocialIcon.js";
11
13
  /**
12
14
  * Markdown page content with prose typography.
13
15
  */
14
- function MarkdownPageContent({ page }) {
15
- return (_jsxs("div", { class: "relative grow box-border flex-col w-full mx-auto px-1 lg:pl-[23.7rem] lg:-ml-12 xl:w-[calc(100%-28rem)]", id: "content-area", children: [_jsxs("header", { class: "relative leading-none", children: [_jsx("div", { class: "mt-0.5 space-y-2.5", children: _jsx("div", { class: "flex flex-col sm:flex-row items-start sm:items-center relative gap-2 min-w-0", children: _jsx("h1", { class: "text-2xl sm:text-3xl text-[rgb(var(--color-gray-900))] tracking-tight dark:text-[rgb(var(--color-gray-200))] font-bold break-all", children: page.title }) }) }), page.description && (_jsx("div", { class: "mt-2 text-lg prose prose-gray dark:prose-invert", children: _jsx("p", { children: page.description }) }))] }), _jsx("div", { class: "prose prose-gray dark:prose-invert relative mt-8 mb-14 max-w-none", dangerouslySetInnerHTML: { __html: page.html } })] }));
16
+ function MarkdownPageContent({ page, className = "" }) {
17
+ const nav = useContext(NavigationContext);
18
+ // Find the group label for the current page (eyebrow)
19
+ const activeTab = nav.tabs.find((t) => t.slug === nav.activeTabSlug);
20
+ const activeGroup = activeTab?.groups.find((g) => g.items.some((item) => item.id === nav.activePageSlug));
21
+ const eyebrow = activeGroup?.label;
22
+ return (_jsxs("div", { class: `relative grow box-border flex-col w-full mx-auto px-1 ${className}`, id: "content-area", children: [_jsxs("header", { class: "relative leading-none", children: [_jsxs("div", { class: "mt-0.5 space-y-2.5", children: [eyebrow && (_jsx("div", { class: "h-5 text-[rgb(var(--color-primary))] dark:text-[rgb(var(--color-primary-light))] text-sm font-semibold", children: eyebrow })), _jsx("div", { class: "flex flex-col sm:flex-row items-start sm:items-center relative gap-2 min-w-0", children: _jsx("h1", { class: "text-2xl sm:text-3xl text-[rgb(var(--color-gray-900))] tracking-tight dark:text-[rgb(var(--color-gray-200))] font-bold", style: "overflow-wrap: anywhere", children: page.title }) })] }), page.description && (_jsx("div", { class: "mt-2 text-lg prose prose-gray dark:prose-invert", style: "overflow-wrap: anywhere", children: _jsx(Markdown, { content: page.description, inline: true }) }))] }), _jsx("div", { class: "prose prose-gray dark:prose-invert relative mt-8 mb-14 max-w-none", dangerouslySetInnerHTML: { __html: page.html } }), _jsx(ContentFooter, {})] }));
16
23
  }
17
24
  /**
18
- * OpenAPI spec page content with single-column layout.
25
+ * OpenAPI spec page content.
19
26
  */
20
- function SpecPageContent() {
27
+ function SpecPageContent({ className = "" }) {
21
28
  const spec = useContext(SpecContext);
22
29
  const serverUrl = spec.servers[0]?.url ?? "/";
23
- return (_jsx("div", { class: "relative grow box-border flex-col w-full mx-auto px-1 lg:pl-[23.7rem] lg:-ml-12", id: "content-area", children: _jsxs("article", { children: [_jsx("header", { class: "mb-8", children: _jsxs("div", { class: "flex items-baseline gap-3", children: [_jsx("h1", { class: "text-2xl sm:text-3xl font-bold text-[rgb(var(--color-gray-900))] dark:text-[rgb(var(--color-gray-200))] tracking-tight", children: spec.info.title }), _jsxs("span", { class: "text-sm text-[rgb(var(--color-gray-400))]", children: ["v", spec.info.version] })] }) }), _jsx(Introduction, {}), _jsx(SecurityDefinitions, {}), _jsx(Tags, { tags: spec.tags, serverUrl: serverUrl }), Object.keys(spec.schemas).length > 0 && (_jsxs("div", { class: "mt-12", children: [_jsx("div", { class: "mb-6", children: _jsx("h1", { class: "text-xl font-bold text-[rgb(var(--color-gray-900))] dark:text-[rgb(var(--color-gray-200))]", children: "Models" }) }), Object.entries(spec.schemas).map(([name, schema]) => (_jsx(Definition, { name: name, schema: schema }, name)))] }))] }) }));
30
+ return (_jsxs("div", { class: `relative grow box-border flex-col w-full mx-auto px-1 ${className}`, id: "content-area", children: [_jsxs("article", { children: [_jsx("header", { class: "mb-8", children: _jsxs("div", { class: "flex items-baseline gap-3", children: [_jsx("h1", { class: "text-2xl sm:text-3xl font-bold text-[rgb(var(--color-gray-900))] dark:text-[rgb(var(--color-gray-200))] tracking-tight", children: spec.info.title }), _jsxs("span", { class: "text-sm text-[rgb(var(--color-gray-400))]", children: ["v", spec.info.version] })] }) }), _jsx(Introduction, {}), _jsx(SecurityDefinitions, {}), _jsx(Tags, { tags: spec.tags, serverUrl: serverUrl }), Object.keys(spec.schemas).length > 0 && (_jsxs("div", { class: "mt-12", children: [_jsx("div", { class: "mb-6", children: _jsx("h1", { class: "text-xl font-bold text-[rgb(var(--color-gray-900))] dark:text-[rgb(var(--color-gray-200))]", children: "Models" }) }), Object.entries(spec.schemas).map(([name, schema]) => (_jsx(Definition, { name: name, schema: schema }, name)))] }))] }), _jsx(ContentFooter, {})] }));
24
31
  }
25
- export function Page() {
32
+ function ContentFooter() {
33
+ const site = useContext(SiteContext);
34
+ const page = useContext(PageContext);
35
+ const links = site.footer.links;
36
+ // Build "Edit this page" URL for markdown pages when repo is configured
37
+ let editUrl;
38
+ if (site.repo && page.kind === "markdown" && page.markdown?.sourcePath) {
39
+ const repoBase = site.repo.replace(/\/$/, "");
40
+ editUrl = `${repoBase}/edit/main/${page.markdown.sourcePath}`;
41
+ }
42
+ const linkStyle = "hover:text-[rgb(var(--color-gray-600))] dark:hover:text-[rgb(var(--color-gray-300))] transition-colors";
43
+ return (_jsxs("div", { class: "mt-16 mb-8 flex items-center justify-between border-t border-[rgb(var(--color-gray-200)/0.7)] dark:border-[rgb(var(--color-gray-800)/0.5)] pt-6 text-xs text-[rgb(var(--color-gray-400))]", children: [_jsxs("span", { children: ["Built with", " ", _jsx("a", { href: "https://sourcey.com", target: "_blank", rel: "noopener noreferrer", class: linkStyle, children: "Sourcey" })] }), _jsxs("div", { class: "flex items-center gap-4", children: [editUrl && (_jsx("a", { href: editUrl, target: "_blank", rel: "noopener noreferrer", class: linkStyle, children: "Edit this page" })), links.map((link) => (_jsx("a", { href: link.href, target: "_blank", rel: "noopener noreferrer", class: linkStyle, children: link.type === "link"
44
+ ? (link.label ?? link.href)
45
+ : (_jsxs(_Fragment, { children: [_jsx(SocialIcon, { type: link.type }), link.label && _jsx("span", { class: "ml-1", children: link.label })] })) }, link.href)))] })] }));
46
+ }
47
+ // ---------------------------------------------------------------------------
48
+ // Layout presets
49
+ // ---------------------------------------------------------------------------
50
+ function DefaultLayout() {
51
+ const page = useContext(PageContext);
52
+ return (_jsxs("div", { class: "max-w-[92rem] mx-auto relative px-4 lg:px-8", children: [_jsx(Sidebar, {}), _jsx("div", { id: "docs", class: "pt-40 lg:pt-10", children: page.kind === "markdown" ? (_jsxs("div", { class: "flex flex-row-reverse gap-12 box-border w-full", children: [_jsx(TableOfContents, { headings: page.markdown.headings }), _jsx(MarkdownPageContent, { page: page.markdown, className: "lg:pl-[23.7rem] lg:-ml-12 xl:w-[calc(100%-28rem)]" })] })) : (_jsx(SpecPageContent, { className: "lg:pl-[23.7rem] lg:-ml-12" })) })] }));
53
+ }
54
+ function MinimalLayout() {
26
55
  const page = useContext(PageContext);
27
- return (_jsxs("div", { id: "page", class: "relative antialiased text-[rgb(var(--color-gray-500))] dark:text-[rgb(var(--color-gray-400))]", children: [_jsx(Header, {}), _jsx(MobileHeader, {}), _jsx("span", { class: "fixed inset-0 bg-[rgb(var(--color-background-light))] dark:bg-[rgb(var(--color-background-dark))] -z-10 pointer-events-none" }), _jsxs("div", { class: "max-w-[92rem] mx-auto relative px-4 lg:px-8", children: [_jsx(Sidebar, {}), _jsx("div", { id: "docs", class: "pt-40 lg:pt-10", children: page.kind === "markdown" ? (_jsxs("div", { class: "flex flex-row-reverse gap-12 box-border w-full", children: [_jsx(TableOfContents, { headings: page.markdown.headings }), _jsx(MarkdownPageContent, { page: page.markdown })] })) : (_jsx(SpecPageContent, {})) })] }), _jsx("div", { id: "search-dialog", role: "dialog", "aria-label": "Search", children: _jsxs("div", { class: "search-dialog-inner", children: [_jsx("input", { id: "search-input", type: "text", placeholder: "Search...", autocomplete: "off", spellcheck: false }), _jsx("div", { id: "search-results" })] }) })] }));
56
+ return (_jsx("div", { class: "max-w-3xl mx-auto relative px-4 lg:px-8", children: _jsx("div", { id: "docs", class: "pt-40 lg:pt-10", children: page.kind === "markdown" ? (_jsx(MarkdownPageContent, { page: page.markdown })) : (_jsx(SpecPageContent, {})) }) }));
57
+ }
58
+ function ApiFirstLayout() {
59
+ const page = useContext(PageContext);
60
+ return (_jsxs("div", { class: "max-w-[92rem] mx-auto relative px-4 lg:px-8", children: [_jsx(Sidebar, {}), _jsx("div", { id: "docs", class: "pt-40 lg:pt-10", children: page.kind === "markdown" ? (_jsxs("div", { class: "flex flex-row-reverse gap-12 box-border w-full", children: [_jsx(TableOfContents, { headings: page.markdown.headings }), _jsx(MarkdownPageContent, { page: page.markdown, className: "lg:pl-[23.7rem] lg:-ml-12 xl:w-[calc(100%-28rem)]" })] })) : (_jsx(SpecPageContent, { className: "lg:pl-[23.7rem] lg:-ml-12" })) })] }));
61
+ }
62
+ // ---------------------------------------------------------------------------
63
+ // Page shell
64
+ // ---------------------------------------------------------------------------
65
+ export function Page() {
66
+ const site = useContext(SiteContext);
67
+ const preset = site.theme.preset;
68
+ const Layout = preset === "minimal" ? MinimalLayout
69
+ : preset === "api-first" ? ApiFirstLayout
70
+ : DefaultLayout;
71
+ return (_jsxs("div", { id: "page", class: "relative antialiased text-[rgb(var(--color-gray-500))] dark:text-[rgb(var(--color-gray-400))]", children: [_jsx(Header, {}), _jsx("span", { class: "fixed inset-0 bg-[rgb(var(--color-background-light))] dark:bg-[rgb(var(--color-background-dark))] -z-10 pointer-events-none" }), _jsx(Layout, {}), _jsx("div", { id: "search-dialog", role: "dialog", "aria-label": "Search", children: _jsxs("div", { class: "search-dialog-inner", children: [_jsxs("div", { class: "search-input-row", children: [_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", fill: "currentColor", class: "search-input-icon", children: _jsx("path", { "fill-rule": "evenodd", d: "M9 3.5a5.5 5.5 0 1 0 0 11 5.5 5.5 0 0 0 0-11ZM2 9a7 7 0 1 1 12.452 4.391l3.328 3.329a.75.75 0 1 1-1.06 1.06l-3.329-3.328A7 7 0 0 1 2 9Z", "clip-rule": "evenodd" }) }), _jsx("input", { id: "search-input", type: "text", placeholder: "Search docs...", autocomplete: "off", spellcheck: false })] }), _jsx("div", { id: "search-results" }), _jsxs("div", { class: "search-footer", children: [_jsxs("span", { class: "search-footer-hint", children: [_jsx("kbd", { children: "\u2191\u2193" }), " navigate"] }), _jsxs("span", { class: "search-footer-hint", children: [_jsx("kbd", { children: "\u21B5" }), " select"] }), _jsxs("span", { class: "search-footer-hint", children: [_jsx("kbd", { children: "esc" }), " close"] })] })] }) })] }));
28
72
  }
29
73
  //# sourceMappingURL=Page.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Page.js","sourceRoot":"","sources":["../../../src/components/layout/Page.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAErE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD;;GAEG;AACH,SAAS,mBAAmB,CAAC,EAAE,IAAI,EAA0B;IAC3D,OAAO,CACL,eAAK,KAAK,EAAC,yGAAyG,EAAC,EAAE,EAAC,cAAc,aACpI,kBAAQ,KAAK,EAAC,uBAAuB,aACnC,cAAK,KAAK,EAAC,oBAAoB,YAC7B,cAAK,KAAK,EAAC,8EAA8E,YACvF,aAAI,KAAK,EAAC,kIAAkI,YAAE,IAAI,CAAC,KAAK,GAAM,GAC1J,GACF,EACL,IAAI,CAAC,WAAW,IAAI,CACnB,cAAK,KAAK,EAAC,iDAAiD,YAC1D,sBAAI,IAAI,CAAC,WAAW,GAAK,GACrB,CACP,IACM,EACT,cAAK,KAAK,EAAC,mEAAmE,EAAC,uBAAuB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,GAAI,IAC7H,CACP,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,eAAe;IACtB,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,GAAG,CAAC;IAE9C,OAAO,CACL,cAAK,KAAK,EAAC,iFAAiF,EAAC,EAAE,EAAC,cAAc,YAC5G,8BACE,iBAAQ,KAAK,EAAC,MAAM,YAClB,eAAK,KAAK,EAAC,2BAA2B,aACpC,aAAI,KAAK,EAAC,wHAAwH,YAAE,IAAI,CAAC,IAAI,CAAC,KAAK,GAAM,EACzJ,gBAAM,KAAK,EAAC,2CAA2C,kBAAG,IAAI,CAAC,IAAI,CAAC,OAAO,IAAQ,IAC/E,GACC,EAET,KAAC,YAAY,KAAG,EAChB,KAAC,mBAAmB,KAAG,EACvB,KAAC,IAAI,IAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,GAAI,EAE9C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CACvC,eAAK,KAAK,EAAC,OAAO,aAChB,cAAK,KAAK,EAAC,MAAM,YACf,aAAI,KAAK,EAAC,4FAA4F,uBAAY,GAC9G,EACL,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CACpD,KAAC,UAAU,IAAY,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,IAAhC,IAAI,CAAgC,CACtD,CAAC,IACE,CACP,IACO,GACN,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,IAAI;IAClB,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAErC,OAAO,CACL,eAAK,EAAE,EAAC,MAAM,EAAC,KAAK,EAAC,+FAA+F,aAClH,KAAC,MAAM,KAAG,EACV,KAAC,YAAY,KAAG,EAGhB,eAAM,KAAK,EAAC,6HAA6H,GAAG,EAE5I,eAAK,KAAK,EAAC,6CAA6C,aACtD,KAAC,OAAO,KAAG,EAEX,cAAK,EAAE,EAAC,MAAM,EAAC,KAAK,EAAC,gBAAgB,YAClC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,CAC1B,eAAK,KAAK,EAAC,gDAAgD,aACzD,KAAC,eAAe,IAAC,QAAQ,EAAE,IAAI,CAAC,QAAS,CAAC,QAAQ,GAAI,EACtD,KAAC,mBAAmB,IAAC,IAAI,EAAE,IAAI,CAAC,QAAS,GAAI,IACzC,CACP,CAAC,CAAC,CAAC,CACF,KAAC,eAAe,KAAG,CACpB,GACG,IACF,EAEN,cAAK,EAAE,EAAC,eAAe,EAAC,IAAI,EAAC,QAAQ,gBAAY,QAAQ,YACvD,eAAK,KAAK,EAAC,qBAAqB,aAC9B,gBACE,EAAE,EAAC,cAAc,EACjB,IAAI,EAAC,MAAM,EACX,WAAW,EAAC,WAAW,EACvB,YAAY,EAAC,KAAK,EAClB,UAAU,EAAE,KAAK,GACjB,EACF,cAAK,EAAE,EAAC,gBAAgB,GAAG,IACvB,GACF,IACF,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"Page.js","sourceRoot":"","sources":["../../../src/components/layout/Page.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAErG,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD;;GAEG;AACH,SAAS,mBAAmB,CAAC,EAAE,IAAI,EAAE,SAAS,GAAG,EAAE,EAA8C;IAC/F,MAAM,GAAG,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAE1C,sDAAsD;IACtD,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,aAAa,CAAC,CAAC;IACrE,MAAM,WAAW,GAAG,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/C,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,GAAG,CAAC,cAAc,CAAC,CACvD,CAAC;IACF,MAAM,OAAO,GAAG,WAAW,EAAE,KAAK,CAAC;IAEnC,OAAO,CACL,eAAK,KAAK,EAAE,yDAAyD,SAAS,EAAE,EAAE,EAAE,EAAC,cAAc,aACjG,kBAAQ,KAAK,EAAC,uBAAuB,aACnC,eAAK,KAAK,EAAC,oBAAoB,aAC5B,OAAO,IAAI,CACV,cAAK,KAAK,EAAC,wGAAwG,YAAE,OAAO,GAAO,CACpI,EACD,cAAK,KAAK,EAAC,8EAA8E,YACvF,aAAI,KAAK,EAAC,wHAAwH,EAAC,KAAK,EAAC,yBAAyB,YAAE,IAAI,CAAC,KAAK,GAAM,GAChL,IACF,EACL,IAAI,CAAC,WAAW,IAAI,CACnB,cAAK,KAAK,EAAC,iDAAiD,EAAC,KAAK,EAAC,yBAAyB,YAC1F,KAAC,QAAQ,IAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,SAAG,GAC1C,CACP,IACM,EACT,cAAK,KAAK,EAAC,mEAAmE,EAAC,uBAAuB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,GAAI,EACjI,KAAC,aAAa,KAAG,IACb,CACP,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,EAAE,SAAS,GAAG,EAAE,EAA0B;IACjE,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,GAAG,CAAC;IAE9C,OAAO,CACL,eAAK,KAAK,EAAE,yDAAyD,SAAS,EAAE,EAAE,EAAE,EAAC,cAAc,aACjG,8BACE,iBAAQ,KAAK,EAAC,MAAM,YAClB,eAAK,KAAK,EAAC,2BAA2B,aACpC,aAAI,KAAK,EAAC,wHAAwH,YAAE,IAAI,CAAC,IAAI,CAAC,KAAK,GAAM,EACzJ,gBAAM,KAAK,EAAC,2CAA2C,kBAAG,IAAI,CAAC,IAAI,CAAC,OAAO,IAAQ,IAC/E,GACC,EAET,KAAC,YAAY,KAAG,EAChB,KAAC,mBAAmB,KAAG,EACvB,KAAC,IAAI,IAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,GAAI,EAE9C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CACvC,eAAK,KAAK,EAAC,OAAO,aAChB,cAAK,KAAK,EAAC,MAAM,YACf,aAAI,KAAK,EAAC,4FAA4F,uBAAY,GAC9G,EACL,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CACpD,KAAC,UAAU,IAAY,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,IAAhC,IAAI,CAAgC,CACtD,CAAC,IACE,CACP,IACO,EACV,KAAC,aAAa,KAAG,IACb,CACP,CAAC;AACJ,CAAC;AAED,SAAS,aAAa;IACpB,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;IAEhC,wEAAwE;IACxE,IAAI,OAA2B,CAAC;IAChC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC;QACvE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC9C,OAAO,GAAG,GAAG,QAAQ,cAAc,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;IAChE,CAAC;IAED,MAAM,SAAS,GAAG,wGAAwG,CAAC;IAE3H,OAAO,CACL,eAAK,KAAK,EAAC,2LAA2L,aACpM,yCACa,GAAG,EACd,YAAG,IAAI,EAAC,qBAAqB,EAAC,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,qBAAqB,EAAC,KAAK,EAAE,SAAS,wBAEpF,IACC,EACP,eAAK,KAAK,EAAC,yBAAyB,aACjC,OAAO,IAAI,CACV,YAAG,IAAI,EAAE,OAAO,EAAE,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,qBAAqB,EAAC,KAAK,EAAE,SAAS,+BAExE,CACL,EACA,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACnB,YAEE,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,qBAAqB,EACzB,KAAK,EAAE,SAAS,YAEf,IAAI,CAAC,IAAI,KAAK,MAAM;4BACnB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC;4BAC3B,CAAC,CAAC,CAAC,8BAAE,KAAC,UAAU,IAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAI,EAAC,IAAI,CAAC,KAAK,IAAI,eAAM,KAAK,EAAC,MAAM,YAAE,IAAI,CAAC,KAAK,GAAQ,IAAI,CAAC,IAR3F,IAAI,CAAC,IAAI,CASZ,CACL,CAAC,IACE,IACF,CACP,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E,SAAS,aAAa;IACpB,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAErC,OAAO,CACL,eAAK,KAAK,EAAC,6CAA6C,aACtD,KAAC,OAAO,KAAG,EACX,cAAK,EAAE,EAAC,MAAM,EAAC,KAAK,EAAC,gBAAgB,YAClC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,CAC1B,eAAK,KAAK,EAAC,gDAAgD,aACzD,KAAC,eAAe,IAAC,QAAQ,EAAE,IAAI,CAAC,QAAS,CAAC,QAAQ,GAAI,EACtD,KAAC,mBAAmB,IAAC,IAAI,EAAE,IAAI,CAAC,QAAS,EAAE,SAAS,EAAC,mDAAmD,GAAG,IACvG,CACP,CAAC,CAAC,CAAC,CACF,KAAC,eAAe,IAAC,SAAS,EAAC,2BAA2B,GAAG,CAC1D,GACG,IACF,CACP,CAAC;AACJ,CAAC;AAED,SAAS,aAAa;IACpB,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAErC,OAAO,CACL,cAAK,KAAK,EAAC,yCAAyC,YAClD,cAAK,EAAE,EAAC,MAAM,EAAC,KAAK,EAAC,gBAAgB,YAClC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,CAC1B,KAAC,mBAAmB,IAAC,IAAI,EAAE,IAAI,CAAC,QAAS,GAAI,CAC9C,CAAC,CAAC,CAAC,CACF,KAAC,eAAe,KAAG,CACpB,GACG,GACF,CACP,CAAC;AACJ,CAAC;AAED,SAAS,cAAc;IACrB,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAErC,OAAO,CACL,eAAK,KAAK,EAAC,6CAA6C,aACtD,KAAC,OAAO,KAAG,EACX,cAAK,EAAE,EAAC,MAAM,EAAC,KAAK,EAAC,gBAAgB,YAClC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,CAC1B,eAAK,KAAK,EAAC,gDAAgD,aACzD,KAAC,eAAe,IAAC,QAAQ,EAAE,IAAI,CAAC,QAAS,CAAC,QAAQ,GAAI,EACtD,KAAC,mBAAmB,IAAC,IAAI,EAAE,IAAI,CAAC,QAAS,EAAE,SAAS,EAAC,mDAAmD,GAAG,IACvG,CACP,CAAC,CAAC,CAAC,CACF,KAAC,eAAe,IAAC,SAAS,EAAC,2BAA2B,GAAG,CAC1D,GACG,IACF,CACP,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E,MAAM,UAAU,IAAI;IAClB,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAEjC,MAAM,MAAM,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa;QACjD,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,cAAc;YACzC,CAAC,CAAC,aAAa,CAAC;IAElB,OAAO,CACL,eAAK,EAAE,EAAC,MAAM,EAAC,KAAK,EAAC,+FAA+F,aAClH,KAAC,MAAM,KAAG,EACV,eAAM,KAAK,EAAC,6HAA6H,GAAG,EAC5I,KAAC,MAAM,KAAG,EACV,cAAK,EAAE,EAAC,eAAe,EAAC,IAAI,EAAC,QAAQ,gBAAY,QAAQ,YACvD,eAAK,KAAK,EAAC,qBAAqB,aAC9B,eAAK,KAAK,EAAC,kBAAkB,aAC3B,cAAK,KAAK,EAAC,4BAA4B,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,cAAc,EAAC,KAAK,EAAC,mBAAmB,YACvG,4BAAgB,SAAS,EAAC,CAAC,EAAC,yIAAyI,eAAW,SAAS,GAAG,GACxL,EACN,gBACE,EAAE,EAAC,cAAc,EACjB,IAAI,EAAC,MAAM,EACX,WAAW,EAAC,gBAAgB,EAC5B,YAAY,EAAC,KAAK,EAClB,UAAU,EAAE,KAAK,GACjB,IACE,EACN,cAAK,EAAE,EAAC,gBAAgB,GAAG,EAC3B,eAAK,KAAK,EAAC,eAAe,aACxB,gBAAM,KAAK,EAAC,oBAAoB,aAAC,yCAAa,iBAAgB,EAC9D,gBAAM,KAAK,EAAC,oBAAoB,aAAC,mCAAY,eAAc,EAC3D,gBAAM,KAAK,EAAC,oBAAoB,aAAC,gCAAc,cAAa,IACxD,IACF,GACF,IACF,CACP,CAAC;AACJ,CAAC"}
@@ -33,7 +33,7 @@ export function Sidebar() {
33
33
  if (!activeTab)
34
34
  return null;
35
35
  const base = options.assetBase;
36
- return (_jsx("div", { id: "sidebar", class: "z-20 hidden lg:block fixed bottom-0 right-auto w-[18rem]", style: "top: 7rem", children: _jsx("div", { class: "absolute inset-0 z-10 overflow-auto pr-8 pb-10", id: "sidebar-content", children: _jsxs("div", { class: "relative lg:text-sm lg:leading-6", children: [_jsx("div", { class: "sticky top-0 h-8 z-10 bg-gradient-to-b from-[rgb(var(--color-background-light))] dark:from-[rgb(var(--color-background-dark))]" }), _jsx("nav", { id: "nav", role: "navigation", children: activeTab.groups.map((group, gi) => (_jsxs("div", { class: gi > 0 ? "mt-6 lg:mt-8" : "", children: [group.label && (_jsx("div", { class: "flex items-center gap-2.5 pl-4 mb-3.5 lg:mb-2.5 font-semibold text-[rgb(var(--color-gray-900))] dark:text-[rgb(var(--color-gray-200))]", children: _jsx("h5", { children: group.label }) })), _jsx("ul", { class: "space-y-px", children: group.items.map((item) => {
36
+ return (_jsx("div", { id: "sidebar", class: "z-20 hidden lg:block fixed bottom-0 right-auto w-[18rem]", style: "top: var(--header-height)", children: _jsx("div", { class: "absolute inset-0 z-10 overflow-auto pr-8 pb-10", id: "sidebar-content", children: _jsxs("div", { class: "relative lg:text-sm lg:leading-6", children: [_jsx("div", { class: "sticky top-0 h-8 z-10 bg-gradient-to-b from-[rgb(var(--color-background-light))] dark:from-[rgb(var(--color-background-dark))]" }), _jsx("nav", { id: "nav", role: "navigation", children: activeTab.groups.map((group, gi) => (_jsxs("div", { class: gi > 0 ? "mt-6 lg:mt-8" : "", children: [group.label && (_jsx("div", { class: "flex items-center gap-2.5 pl-4 mb-3.5 lg:mb-2.5 font-semibold text-[rgb(var(--color-gray-900))] dark:text-[rgb(var(--color-gray-200))]", children: _jsx("h5", { children: group.label }) })), _jsx("ul", { class: "space-y-px", children: group.items.map((item) => {
37
37
  const isActive = item.id === nav.activePageSlug;
38
38
  return (_jsx("li", { class: "relative", children: _jsxs("a", { href: `${base}${item.href}`, class: `nav-link${isActive ? " active" : ""}`, children: [item.method && _jsx(MethodPill, { method: item.method }), _jsx("div", { class: "flex-1 break-words [word-break:break-word]", children: item.label })] }) }, item.id));
39
39
  }) })] }, group.label))) })] }) }) }));
@@ -1 +1 @@
1
- {"version":3,"file":"Sidebar.js","sourceRoot":"","sources":["../../../src/components/layout/Sidebar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE9E;;;GAGG;AACH,SAAS,UAAU,CAAC,EAAE,MAAM,EAAsB;IAChD,MAAM,CAAC,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAG,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAEzC,qBAAqB;IACrB,MAAM,MAAM,GAA2B;QACrC,GAAG,EAAE,yEAAyE;QAC9E,IAAI,EAAE,qEAAqE;QAC3E,GAAG,EAAE,6EAA6E;QAClF,MAAM,EAAE,iEAAiE;QACzE,GAAG,EAAE,iEAAiE;QACtE,KAAK,EAAE,6EAA6E;KACrF,CAAC;IAEF,OAAO,CACL,eAAM,KAAK,EAAC,wCAAwC,YAClD,eAAM,KAAK,EAAE,iEAAiE,MAAM,CAAC,CAAC,CAAC,IAAI,8BAA8B,EAAE,YACxH,KAAK,GACD,GACF,CACR,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,OAAO;IACrB,MAAM,GAAG,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,aAAa,CAAC,CAAC;IACrE,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAE5B,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC;IAE/B,OAAO,CACL,cACE,EAAE,EAAC,SAAS,EACZ,KAAK,EAAC,0DAA0D,EAChE,KAAK,EAAC,WAAW,YAEjB,cAAK,KAAK,EAAC,gDAAgD,EAAC,EAAE,EAAC,iBAAiB,YAC9E,eAAK,KAAK,EAAC,kCAAkC,aAE3C,cAAK,KAAK,EAAC,gIAAgI,GAAG,EAE9I,cAAK,EAAE,EAAC,KAAK,EAAC,IAAI,EAAC,YAAY,YAC5B,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CACnC,eAAuB,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,aACvD,KAAK,CAAC,KAAK,IAAI,CACd,cAAK,KAAK,EAAC,wIAAwI,YACjJ,uBAAK,KAAK,CAAC,KAAK,GAAM,GAClB,CACP,EACD,aAAI,KAAK,EAAC,YAAY,YACnB,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;wCACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,KAAK,GAAG,CAAC,cAAc,CAAC;wCAChD,OAAO,CACL,aAAkB,KAAK,EAAC,UAAU,YAChC,aACE,IAAI,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,EAC3B,KAAK,EAAE,WAAW,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,aAE5C,IAAI,CAAC,MAAM,IAAI,KAAC,UAAU,IAAC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAI,EACnD,cAAK,KAAK,EAAC,4CAA4C,YAAE,IAAI,CAAC,KAAK,GAAO,IACxE,IAPG,IAAI,CAAC,EAAE,CAQX,CACN,CAAC;oCACJ,CAAC,CAAC,GACC,KArBG,KAAK,CAAC,KAAK,CAsBf,CACP,CAAC,GACE,IACF,GACF,GACF,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"Sidebar.js","sourceRoot":"","sources":["../../../src/components/layout/Sidebar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE9E;;;GAGG;AACH,SAAS,UAAU,CAAC,EAAE,MAAM,EAAsB;IAChD,MAAM,CAAC,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAG,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAEzC,qBAAqB;IACrB,MAAM,MAAM,GAA2B;QACrC,GAAG,EAAE,yEAAyE;QAC9E,IAAI,EAAE,qEAAqE;QAC3E,GAAG,EAAE,6EAA6E;QAClF,MAAM,EAAE,iEAAiE;QACzE,GAAG,EAAE,iEAAiE;QACtE,KAAK,EAAE,6EAA6E;KACrF,CAAC;IAEF,OAAO,CACL,eAAM,KAAK,EAAC,wCAAwC,YAClD,eAAM,KAAK,EAAE,iEAAiE,MAAM,CAAC,CAAC,CAAC,IAAI,8BAA8B,EAAE,YACxH,KAAK,GACD,GACF,CACR,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,OAAO;IACrB,MAAM,GAAG,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,aAAa,CAAC,CAAC;IACrE,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAE5B,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC;IAE/B,OAAO,CACL,cACE,EAAE,EAAC,SAAS,EACZ,KAAK,EAAC,0DAA0D,EAChE,KAAK,EAAC,2BAA2B,YAEjC,cAAK,KAAK,EAAC,gDAAgD,EAAC,EAAE,EAAC,iBAAiB,YAC9E,eAAK,KAAK,EAAC,kCAAkC,aAE3C,cAAK,KAAK,EAAC,gIAAgI,GAAG,EAE9I,cAAK,EAAE,EAAC,KAAK,EAAC,IAAI,EAAC,YAAY,YAC5B,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CACnC,eAAuB,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,aACvD,KAAK,CAAC,KAAK,IAAI,CACd,cAAK,KAAK,EAAC,wIAAwI,YACjJ,uBAAK,KAAK,CAAC,KAAK,GAAM,GAClB,CACP,EACD,aAAI,KAAK,EAAC,YAAY,YACnB,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;wCACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,KAAK,GAAG,CAAC,cAAc,CAAC;wCAChD,OAAO,CACL,aAAkB,KAAK,EAAC,UAAU,YAChC,aACE,IAAI,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,EAC3B,KAAK,EAAE,WAAW,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,aAE5C,IAAI,CAAC,MAAM,IAAI,KAAC,UAAU,IAAC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAI,EACnD,cAAK,KAAK,EAAC,4CAA4C,YAAE,IAAI,CAAC,KAAK,GAAO,IACxE,IAPG,IAAI,CAAC,EAAE,CAQX,CACN,CAAC;oCACJ,CAAC,CAAC,GACC,KArBG,KAAK,CAAC,KAAK,CAsBf,CACP,CAAC,GACE,IACF,GACF,GACF,CACP,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"TableOfContents.d.ts","sourceRoot":"","sources":["../../../src/components/layout/TableOfContents.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAEjE;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,WAAW,EAAE,CAAA;CAAE,uCAwCxE"}
1
+ {"version":3,"file":"TableOfContents.d.ts","sourceRoot":"","sources":["../../../src/components/layout/TableOfContents.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAEjE;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,WAAW,EAAE,CAAA;CAAE,uCAiCxE"}
@@ -7,6 +7,6 @@ import { jsx as _jsx, jsxs as _jsxs } from "preact/jsx-runtime";
7
7
  export function TableOfContents({ headings }) {
8
8
  if (headings.length === 0)
9
9
  return null;
10
- return (_jsx("aside", { id: "toc", class: "hidden xl:flex self-start sticky xl:flex-col max-w-[28rem] z-[21] h-[calc(100vh-9.5rem)] top-[9.5rem]", children: _jsx("div", { class: "z-10 hidden xl:flex box-border max-h-full pl-10 w-[19rem]", children: _jsxs("div", { class: "text-[rgb(var(--color-gray-600))] text-sm leading-6 w-[16.5rem] overflow-y-auto space-y-2 pb-4 -mt-10 pt-10", children: [_jsxs("button", { class: "text-[rgb(var(--color-gray-700))] dark:text-[rgb(var(--color-gray-300))] font-medium flex items-center space-x-2 cursor-default", children: [_jsxs("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: "2", class: "h-3 w-3", children: [_jsx("path", { d: "M2.44 12.67H13.56", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M2.44 3.33H13.56", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M2.44 8H7.33", strokeLinecap: "round", strokeLinejoin: "round" })] }), _jsx("span", { children: "On this page" })] }), _jsx("nav", { children: _jsx("ul", { class: "space-y-0.5", children: headings.map((h) => (_jsx("li", { class: "relative", children: _jsx("a", { href: `#${h.id}`, class: `toc-item break-words py-1 block hover:text-[rgb(var(--color-gray-900))] dark:hover:text-[rgb(var(--color-gray-300))] dark:text-[rgb(var(--color-gray-400))] transition-colors ${h.level >= 3 ? "pl-3 text-[13px]" : ""}`, children: h.text }) }, h.id))) }) })] }) }) }));
10
+ return (_jsx("aside", { id: "toc", class: "hidden xl:flex self-start sticky xl:flex-col max-w-[28rem] z-[21]", style: "height: calc(100vh - var(--header-height) - 2.5rem); top: calc(var(--header-height) + 2.5rem)", children: _jsx("div", { class: "z-10 hidden xl:flex box-border max-h-full pl-10 w-[19rem]", children: _jsxs("div", { class: "text-[rgb(var(--color-gray-600))] text-sm leading-6 w-[16.5rem] overflow-y-auto space-y-2 pb-4 -mt-10 pt-10", children: [_jsx("h5", { class: "font-semibold text-[rgb(var(--color-gray-900))] dark:text-[rgb(var(--color-gray-200))]", children: "On this page" }), _jsx("nav", { children: _jsx("ul", { class: "space-y-0.5", children: headings.map((h) => (_jsx("li", { class: "relative", children: _jsx("a", { href: `#${h.id}`, class: `toc-item break-words py-1 block hover:text-[rgb(var(--color-gray-900))] dark:hover:text-[rgb(var(--color-gray-300))] dark:text-[rgb(var(--color-gray-400))] transition-colors ${h.level >= 3 ? "pl-3 text-[13px]" : ""}`, children: h.text }) }, h.id))) }) })] }) }) }));
11
11
  }
12
12
  //# sourceMappingURL=TableOfContents.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableOfContents.js","sourceRoot":"","sources":["../../../src/components/layout/TableOfContents.tsx"],"names":[],"mappings":";AAEA;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,EAAE,QAAQ,EAA+B;IACvE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEvC,OAAO,CACL,gBACE,EAAE,EAAC,KAAK,EACR,KAAK,EAAC,uGAAuG,YAE7G,cAAK,KAAK,EAAC,2DAA2D,YACpE,eAAK,KAAK,EAAC,6GAA6G,aAEtH,kBAAQ,KAAK,EAAC,iIAAiI,aAC7I,eAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAC,GAAG,EAAC,KAAK,EAAC,SAAS,aAC/G,eAAM,CAAC,EAAC,mBAAmB,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,GAAG,EAC3E,eAAM,CAAC,EAAC,kBAAkB,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,GAAG,EAC1E,eAAM,CAAC,EAAC,cAAc,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,GAAG,IAClE,EACN,0CAAyB,IAClB,EAET,wBACE,aAAI,KAAK,EAAC,aAAa,YACpB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACnB,aAAe,KAAK,EAAC,UAAU,YAC7B,YACE,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,EAChB,KAAK,EAAE,iLACL,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EACtC,EAAE,YAED,CAAC,CAAC,IAAI,GACL,IARG,CAAC,CAAC,EAAE,CASR,CACN,CAAC,GACC,GACD,IACF,GACF,GACA,CACT,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"TableOfContents.js","sourceRoot":"","sources":["../../../src/components/layout/TableOfContents.tsx"],"names":[],"mappings":";AAEA;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,EAAE,QAAQ,EAA+B;IACvE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEvC,OAAO,CACL,gBACE,EAAE,EAAC,KAAK,EACR,KAAK,EAAC,mEAAmE,EACzE,KAAK,EAAC,+FAA+F,YAErG,cAAK,KAAK,EAAC,2DAA2D,YACpE,eAAK,KAAK,EAAC,6GAA6G,aACtH,aAAI,KAAK,EAAC,wFAAwF,6BAAkB,EAEpH,wBACE,aAAI,KAAK,EAAC,aAAa,YACpB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACnB,aAAe,KAAK,EAAC,UAAU,YAC7B,YACE,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,EAChB,KAAK,EAAE,iLACL,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EACtC,EAAE,YAED,CAAC,CAAC,IAAI,GACL,IARG,CAAC,CAAC,EAAE,CASR,CACN,CAAC,GACC,GACD,IACF,GACF,GACA,CACT,CAAC;AACJ,CAAC"}
@@ -2,10 +2,12 @@ import type { NormalizedOperation } from "../../core/types.js";
2
2
  interface CodeSamplesProps {
3
3
  operation: NormalizedOperation;
4
4
  serverUrl: string;
5
+ codeSampleLangs?: string[];
5
6
  }
6
7
  /**
7
- * Code samples in a light-themed card with language tabs and copy button.
8
+ * Code samples in a stone-themed card with language dropdown and copy button.
9
+ * Language dropdown and copy button for generated request examples.
8
10
  */
9
- export declare function CodeSamplesExamples({ operation, serverUrl }: CodeSamplesProps): import("preact").JSX.Element | null;
11
+ export declare function CodeSamplesExamples({ operation, serverUrl, codeSampleLangs }: CodeSamplesProps): import("preact").JSX.Element | null;
10
12
  export {};
11
13
  //# sourceMappingURL=CodeSamples.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CodeSamples.d.ts","sourceRoot":"","sources":["../../../src/components/openapi/CodeSamples.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAI/D,UAAU,gBAAgB;IACxB,SAAS,EAAE,mBAAmB,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,gBAAgB,uCAmD7E"}
1
+ {"version":3,"file":"CodeSamples.d.ts","sourceRoot":"","sources":["../../../src/components/openapi/CodeSamples.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAM/D,UAAU,gBAAgB;IACxB,SAAS,EAAE,mBAAmB,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,EAAE,gBAAgB,uCAuE9F"}
@@ -1,16 +1,20 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "preact/jsx-runtime";
2
2
  import { generateCodeSamples } from "../../utils/code-samples.js";
3
3
  import { highlightCode } from "../../utils/highlighter.js";
4
+ import { langIcon } from "../../utils/lang-icons.js";
5
+ import { CopyButton } from "../ui/CopyButton.js";
4
6
  /**
5
- * Code samples in a light-themed card with language tabs and copy button.
7
+ * Code samples in a stone-themed card with language dropdown and copy button.
8
+ * Language dropdown and copy button for generated request examples.
6
9
  */
7
- export function CodeSamplesExamples({ operation, serverUrl }) {
8
- const samples = generateCodeSamples(operation, serverUrl);
10
+ export function CodeSamplesExamples({ operation, serverUrl, codeSampleLangs }) {
11
+ const samples = generateCodeSamples(operation, serverUrl, codeSampleLangs);
9
12
  if (!samples.length)
10
13
  return null;
11
- return (_jsxs("div", { class: "code-samples not-prose rounded-2xl border border-[rgb(var(--color-gray-950)/0.1)] dark:border-[rgb(var(--color-border-dark-subtle)/0.1)] p-0.5 bg-[rgb(var(--color-gray-50))] dark:bg-[rgb(var(--color-surface-dark-tint)/0.05)] overflow-hidden", children: [_jsx("div", { class: "flex items-center justify-between gap-2 px-2.5", children: _jsx("div", { class: "code-samples-tabs flex gap-1 overflow-x-auto text-xs leading-6", role: "tablist", children: samples.map((sample, i) => (_jsx("button", { role: "tab", class: `code-samples-tab${i === 0 ? " active" : ""}`, "aria-selected": i === 0 ? "true" : "false", "data-tab-index": String(i), children: _jsx("div", { class: "z-10 flex items-center gap-1.5 rounded-lg px-1.5", children: sample.label ?? sample.lang }) }, i))) }) }), samples.map((sample, i) => {
14
+ const title = operation.summary ?? `${operation.method.toUpperCase()} ${operation.path}`;
15
+ return (_jsxs("div", { class: "code-group not-prose relative flex flex-col rounded-[var(--radius)] border border-[rgb(var(--color-stone-950)/0.1)] dark:border-[rgb(255_255_255/0.1)]", children: [_jsxs("div", { class: "relative flex items-center justify-between gap-2 px-3", children: [_jsx("div", { class: "flex min-w-0 items-center gap-1.5 font-medium text-xs leading-6 my-1 mb-1.5", children: _jsx("span", { class: "truncate text-[rgb(var(--color-stone-950))] dark:text-[rgb(var(--color-stone-50))]", children: title }) }), _jsxs("div", { class: "flex shrink-0 items-center justify-end gap-1.5", children: [_jsxs("div", { class: "code-lang-dropdown relative", children: [_jsx("button", { type: "button", class: "code-lang-trigger group relative my-1 mb-1.5 flex items-center whitespace-nowrap font-medium leading-6 outline-0 text-[rgb(var(--color-stone-500))] dark:text-[rgb(var(--color-stone-400))] cursor-pointer text-xs", "aria-expanded": "false", "aria-haspopup": "listbox", children: _jsxs("div", { class: "z-10 flex items-center gap-1 rounded-lg px-1.5 group-hover:bg-[rgb(var(--color-stone-200)/0.5)] group-hover:text-[rgb(var(--color-primary))] dark:group-hover:bg-[rgb(var(--color-stone-700)/0.7)] dark:group-hover:text-[rgb(var(--color-primary-light))]", children: [_jsx("span", { class: "code-lang-icon", dangerouslySetInnerHTML: { __html: langIcon(samples[0].lang) } }), _jsx("span", { class: "code-lang-label truncate", children: samples[0].label ?? samples[0].lang }), _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", class: "size-3.5 shrink-0", children: [_jsx("path", { d: "m7 15 5 5 5-5" }), _jsx("path", { d: "m7 9 5-5 5 5" })] })] }) }), _jsx("div", { class: "code-lang-menu hidden absolute right-0 top-full mt-1 z-20 min-w-[120px] rounded-lg border border-[rgb(var(--color-stone-200))] dark:border-[rgb(255_255_255/0.1)] bg-[rgb(var(--color-background-light))] dark:bg-[rgb(var(--color-gray-900))] shadow-lg py-1", role: "listbox", children: samples.map((sample, i) => (_jsxs("button", { role: "option", "aria-selected": i === 0 ? "true" : "false", class: `code-lang-option w-full text-left px-3 py-1.5 text-xs font-medium flex items-center gap-1.5 hover:bg-[rgb(var(--color-stone-100))] dark:hover:bg-[rgb(255_255_255/0.05)] ${i === 0 ? "text-[rgb(var(--color-primary))] dark:text-[rgb(var(--color-primary-light))]" : "text-[rgb(var(--color-stone-600))] dark:text-[rgb(var(--color-stone-400))]"}`, "data-lang-index": String(i), children: [_jsx("span", { dangerouslySetInnerHTML: { __html: langIcon(sample.lang) } }), sample.label ?? sample.lang] }, i))) })] }), _jsx(CopyButton, {})] })] }), samples.map((sample, i) => {
12
16
  const html = highlightCode(sample.source, sample.lang);
13
- return (_jsx("div", { class: `code-samples-panel${i === 0 ? " active" : ""}`, role: "tabpanel", "data-panel-index": String(i), children: _jsxs("div", { class: "code-block-wrapper relative", children: [_jsx("button", { class: "copy-btn absolute top-3 right-4 z-10 flex items-center justify-center size-[26px] rounded-md backdrop-blur text-[rgb(var(--color-gray-400))] hover:text-[rgb(var(--color-gray-500))] dark:text-[rgb(var(--color-gray-400))] dark:hover:text-[rgb(var(--color-gray-300))]", "data-copy-source": "code", "aria-label": "Copy code", children: _jsxs("svg", { width: "18", height: "18", viewBox: "0 0 18 18", fill: "none", xmlns: "http://www.w3.org/2000/svg", class: "w-4 h-4", children: [_jsx("path", { d: "M14.25 5.25H7.25C6.14543 5.25 5.25 6.14543 5.25 7.25V14.25C5.25 15.3546 6.14543 16.25 7.25 16.25H14.25C15.3546 16.25 16.25 15.3546 16.25 14.25V7.25C16.25 6.14543 15.3546 5.25 14.25 5.25Z", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M2.80103 11.998L1.77203 5.07397C1.61003 3.98097 2.36403 2.96397 3.45603 2.80197L10.38 1.77297C11.313 1.63397 12.19 2.16297 12.528 3.00097", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" })] }) }), _jsx("div", { class: "w-full px-4 py-3.5 text-sm leading-6 rounded-[14px] bg-[rgb(var(--color-code-block-light))] dark:bg-[rgb(var(--color-code-block-dark))] overflow-x-auto", style: "font-variant-ligatures: none", children: _jsx("div", { class: "font-mono whitespace-pre text-xs leading-[1.35rem] code-block", dangerouslySetInnerHTML: { __html: html } }) })] }) }, i));
17
+ return (_jsx("div", { class: `code-lang-panel${i === 0 ? " active" : ""}`, "data-lang-panel": String(i), children: _jsx("div", { class: "relative w-full px-4 py-3.5 text-sm leading-6 bg-[rgb(var(--color-code-block-light))] dark:bg-[rgb(var(--color-code-block-dark))] overflow-x-auto", style: "font-variant-ligatures: none", children: _jsx("div", { class: "font-mono whitespace-pre text-xs leading-[1.35rem] code-block", dangerouslySetInnerHTML: { __html: html } }) }) }, i));
14
18
  })] }));
15
19
  }
16
20
  //# sourceMappingURL=CodeSamples.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CodeSamples.js","sourceRoot":"","sources":["../../../src/components/openapi/CodeSamples.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAO3D;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,EAAE,SAAS,EAAE,SAAS,EAAoB;IAC5E,MAAM,OAAO,GAAG,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC1D,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAEjC,OAAO,CACL,eAAK,KAAK,EAAC,kPAAkP,aAE3P,cAAK,KAAK,EAAC,gDAAgD,YACzD,cAAK,KAAK,EAAC,gEAAgE,EAAC,IAAI,EAAC,SAAS,YACvF,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAC1B,iBAEE,IAAI,EAAC,KAAK,EACV,KAAK,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,mBACrC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,oBACzB,MAAM,CAAC,CAAC,CAAC,YAEzB,cAAK,KAAK,EAAC,kDAAkD,YAC1D,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,GACxB,IARD,CAAC,CASC,CACV,CAAC,GACE,GACF,EAGL,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACzB,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;gBACvD,OAAO,CACL,cAEE,KAAK,EAAE,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EACtD,IAAI,EAAC,UAAU,sBACG,MAAM,CAAC,CAAC,CAAC,YAE3B,eAAK,KAAK,EAAC,6BAA6B,aACtC,iBAAQ,KAAK,EAAC,0QAA0Q,sBAAkB,MAAM,gBAAY,WAAW,YACrU,eAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,4BAA4B,EAAC,KAAK,EAAC,SAAS,aAC5G,eAAM,CAAC,EAAC,4LAA4L,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAC,KAAK,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,GAAG,EAC5R,eAAM,CAAC,EAAC,2IAA2I,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAC,KAAK,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,GAAG,IACvO,GACC,EACT,cAAK,KAAK,EAAC,yJAAyJ,EAAC,KAAK,EAAC,8BAA8B,YACvM,cAAK,KAAK,EAAC,+DAA+D,EAAC,uBAAuB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAI,GACpH,IACF,IAfD,CAAC,CAgBF,CACP,CAAC;YACJ,CAAC,CAAC,IACE,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"CodeSamples.js","sourceRoot":"","sources":["../../../src/components/openapi/CodeSamples.tsx"],"names":[],"mappings":"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"}
@@ -7,6 +7,6 @@ import { ExampleView } from "../schema/ExampleView.js";
7
7
  */
8
8
  export function Definition({ name, schema }) {
9
9
  const id = `definition-${htmlId(name)}`;
10
- return (_jsxs("div", { id: id, class: "py-8 border-t border-[rgb(var(--color-gray-100))] dark:border-[rgb(var(--color-gray-800))]", "data-traverse-target": id, children: [_jsx("a", { id: `/definitions/${name}` }), _jsx("header", { class: "mb-4", children: _jsxs("div", { class: "flex items-baseline gap-2", children: [_jsx("h2", { class: "text-xl font-bold text-[rgb(var(--color-gray-900))] dark:text-[rgb(var(--color-gray-200))]", children: name }), _jsx("span", { class: "text-sm text-[rgb(var(--color-gray-500))] font-normal", children: schema.type ?? "object" })] }) }), _jsxs("div", { class: "flex flex-col xl:flex-row gap-8", children: [_jsx("div", { class: "flex-1 min-w-0", children: _jsx(SchemaView, { schema: schema }) }), _jsx("aside", { class: "hidden xl:block w-[28rem] shrink-0 sticky top-[9.5rem] self-start", children: _jsx(ExampleView, { schema: schema, title: "Example" }) })] }), _jsx("div", { class: "xl:hidden mt-6", children: _jsx(ExampleView, { schema: schema, title: "Example" }) })] }));
10
+ return (_jsxs("div", { id: id, class: "py-8 border-t border-[rgb(var(--color-gray-100))] dark:border-[rgb(var(--color-gray-800))]", "data-traverse-target": id, children: [_jsx("a", { id: `/definitions/${name}` }), _jsx("header", { class: "mb-4", children: _jsxs("div", { class: "flex items-baseline gap-2", children: [_jsx("h2", { class: "text-xl font-bold text-[rgb(var(--color-gray-900))] dark:text-[rgb(var(--color-gray-200))]", children: name }), _jsx("span", { class: "text-sm text-[rgb(var(--color-gray-500))] font-normal", children: schema.type ?? "object" })] }) }), _jsxs("div", { class: "flex flex-col xl:flex-row gap-8", children: [_jsx("div", { class: "flex-1 min-w-0", children: _jsx(SchemaView, { schema: schema }) }), _jsx("aside", { class: "hidden xl:block w-[28rem] shrink-0 sticky self-start", style: "top: calc(var(--header-height) + 2.5rem)", children: _jsx(ExampleView, { schema: schema, title: "Example" }) })] }), _jsx("div", { class: "xl:hidden mt-6", children: _jsx(ExampleView, { schema: schema, title: "Example" }) })] }));
11
11
  }
12
12
  //# sourceMappingURL=Definition.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Definition.js","sourceRoot":"","sources":["../../../src/components/openapi/Definition.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAOvD;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,EAAE,IAAI,EAAE,MAAM,EAAmB;IAC1D,MAAM,EAAE,GAAG,cAAc,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;IAExC,OAAO,CACL,eAAK,EAAE,EAAE,EAAE,EAAE,KAAK,EAAC,4FAA4F,0BAAuB,EAAE,aACtI,YAAG,EAAE,EAAE,gBAAgB,IAAI,EAAE,GAAI,EACjC,iBAAQ,KAAK,EAAC,MAAM,YAClB,eAAK,KAAK,EAAC,2BAA2B,aACpC,aAAI,KAAK,EAAC,4FAA4F,YAAE,IAAI,GAAM,EAClH,eAAM,KAAK,EAAC,uDAAuD,YAAE,MAAM,CAAC,IAAI,IAAI,QAAQ,GAAQ,IAChG,GACC,EAET,eAAK,KAAK,EAAC,iCAAiC,aAE1C,cAAK,KAAK,EAAC,gBAAgB,YACzB,KAAC,UAAU,IAAC,MAAM,EAAE,MAAM,GAAI,GAC1B,EAGN,gBAAO,KAAK,EAAC,mEAAmE,YAC9E,KAAC,WAAW,IAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAC,SAAS,GAAG,GACzC,IACJ,EAGN,cAAK,KAAK,EAAC,gBAAgB,YACzB,KAAC,WAAW,IAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAC,SAAS,GAAG,GAC3C,IACF,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"Definition.js","sourceRoot":"","sources":["../../../src/components/openapi/Definition.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAOvD;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,EAAE,IAAI,EAAE,MAAM,EAAmB;IAC1D,MAAM,EAAE,GAAG,cAAc,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;IAExC,OAAO,CACL,eAAK,EAAE,EAAE,EAAE,EAAE,KAAK,EAAC,4FAA4F,0BAAuB,EAAE,aACtI,YAAG,EAAE,EAAE,gBAAgB,IAAI,EAAE,GAAI,EACjC,iBAAQ,KAAK,EAAC,MAAM,YAClB,eAAK,KAAK,EAAC,2BAA2B,aACpC,aAAI,KAAK,EAAC,4FAA4F,YAAE,IAAI,GAAM,EAClH,eAAM,KAAK,EAAC,uDAAuD,YAAE,MAAM,CAAC,IAAI,IAAI,QAAQ,GAAQ,IAChG,GACC,EAET,eAAK,KAAK,EAAC,iCAAiC,aAE1C,cAAK,KAAK,EAAC,gBAAgB,YACzB,KAAC,UAAU,IAAC,MAAM,EAAE,MAAM,GAAI,GAC1B,EAGN,gBAAO,KAAK,EAAC,sDAAsD,EAAC,KAAK,EAAC,0CAA0C,YAClH,KAAC,WAAW,IAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAC,SAAS,GAAG,GACzC,IACJ,EAGN,cAAK,KAAK,EAAC,gBAAgB,YACzB,KAAC,WAAW,IAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAC,SAAS,GAAG,GAC3C,IACF,CACP,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"EndpointBar.d.ts","sourceRoot":"","sources":["../../../src/components/openapi/EndpointBar.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAUH,UAAU,gBAAgB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,WAAW,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,gBAAgB,gCA0CxE"}
1
+ {"version":3,"file":"EndpointBar.d.ts","sourceRoot":"","sources":["../../../src/components/openapi/EndpointBar.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAUH,UAAU,gBAAgB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,WAAW,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,gBAAgB,gCAkCxE"}
@@ -15,8 +15,8 @@ export function EndpointBar({ method, path, serverUrl }) {
15
15
  const colorClass = METHOD_COLORS[m] ?? "bg-gray-400/20 text-gray-700";
16
16
  // Split path into segments for styled rendering
17
17
  const segments = path.split("/").filter(Boolean);
18
- return (_jsx("div", { class: "flex w-full flex-col rounded-2xl border border-[rgb(var(--color-gray-200)/0.7)] dark:border-[rgb(var(--color-border-dark-subtle)/0.1)] p-1.5 mb-6", children: _jsx("div", { class: "flex items-center space-x-1.5", children: _jsxs("div", { class: "relative flex-1 flex gap-2 min-w-0 rounded-xl items-center p-1.5 pr-0 overflow-hidden border border-[rgb(var(--color-gray-200)/0.7)] dark:border-[rgb(var(--color-border-dark-subtle)/0.1)]", children: [_jsx("div", { class: `rounded-lg font-bold px-1.5 py-0.5 text-sm leading-5 ${colorClass}`, children: method.toUpperCase() }), _jsxs("div", { class: "flex items-center space-x-2 overflow-x-auto flex-1 no-scrollbar", children: [_jsx("div", { class: "flex items-center gap-1 relative", children: _jsx("span", { class: "text-sm text-[rgb(var(--color-gray-600))] dark:text-[rgb(var(--color-gray-400))] font-mono", children: serverUrl }) }), _jsx("div", { class: "flex items-center flex-1 gap-0.5 font-mono pr-1.5", children: segments.map((seg, i) => (_jsxs("span", { class: "flex items-center", children: [_jsx("span", { class: "text-sm text-[rgb(var(--color-gray-400))]", children: "/" }), _jsx("span", { class: `text-sm font-medium ${seg.startsWith("{")
19
- ? "text-[rgb(var(--color-primary))] dark:text-[rgb(var(--color-primary-light))]"
20
- : "text-[rgb(var(--color-gray-800))] dark:text-[rgb(var(--color-gray-50))]"}`, children: seg })] }, i))) })] })] }) }) }));
18
+ return (_jsxs("div", { class: "flex items-center gap-2 rounded-[var(--radius)] border border-[rgb(var(--color-gray-200)/0.7)] dark:border-[rgb(var(--color-border-dark-subtle)/0.1)] px-3 py-2.5 mb-6 overflow-hidden", children: [_jsx("div", { class: `rounded-lg font-bold px-1.5 py-0.5 text-sm leading-5 shrink-0 ${colorClass}`, children: method.toUpperCase() }), _jsxs("div", { class: "flex items-center overflow-x-auto flex-1 no-scrollbar gap-0.5 font-mono", children: [_jsx("span", { class: "text-sm text-[rgb(var(--color-gray-500))] dark:text-[rgb(var(--color-gray-500))] shrink-0", children: serverUrl }), segments.map((seg, i) => (_jsxs("span", { class: "flex items-center shrink-0", children: [_jsx("span", { class: "text-sm text-[rgb(var(--color-gray-400))]", children: "/" }), _jsx("span", { class: `text-sm font-medium ${seg.startsWith("{")
19
+ ? "text-[rgb(var(--color-primary))] dark:text-[rgb(var(--color-primary-light))]"
20
+ : "text-[rgb(var(--color-gray-800))] dark:text-[rgb(var(--color-gray-50))]"}`, children: seg })] }, i)))] })] }));
21
21
  }
22
22
  //# sourceMappingURL=EndpointBar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EndpointBar.js","sourceRoot":"","sources":["../../../src/components/openapi/EndpointBar.tsx"],"names":[],"mappings":";AAAA;;;GAGG;AAEH,MAAM,aAAa,GAA2B;IAC5C,GAAG,EAAE,yEAAyE;IAC9E,IAAI,EAAE,qEAAqE;IAC3E,GAAG,EAAE,6EAA6E;IAClF,MAAM,EAAE,iEAAiE;IACzE,KAAK,EAAE,6EAA6E;CACrF,CAAC;AAQF,MAAM,UAAU,WAAW,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAoB;IACvE,MAAM,CAAC,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IAC/B,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,8BAA8B,CAAC;IAEtE,gDAAgD;IAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEjD,OAAO,CACL,cAAK,KAAK,EAAC,mJAAmJ,YAC5J,cAAK,KAAK,EAAC,+BAA+B,YACxC,eAAK,KAAK,EAAC,6LAA6L,aAEtM,cAAK,KAAK,EAAE,wDAAwD,UAAU,EAAE,YAC7E,MAAM,CAAC,WAAW,EAAE,GACjB,EAGN,eAAK,KAAK,EAAC,iEAAiE,aAC1E,cAAK,KAAK,EAAC,kCAAkC,YAC3C,eAAM,KAAK,EAAC,4FAA4F,YACrG,SAAS,GACL,GACH,EACN,cAAK,KAAK,EAAC,mDAAmD,YAC3D,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CACxB,gBAAc,KAAK,EAAC,mBAAmB,aACrC,eAAM,KAAK,EAAC,2CAA2C,kBAAS,EAChE,eAAM,KAAK,EAAE,uBACX,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;gDACjB,CAAC,CAAC,8EAA8E;gDAChF,CAAC,CAAC,yEACN,EAAE,YACC,GAAG,GACC,KARE,CAAC,CASL,CACR,CAAC,GACE,IACF,IACF,GACF,GACF,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"EndpointBar.js","sourceRoot":"","sources":["../../../src/components/openapi/EndpointBar.tsx"],"names":[],"mappings":";AAAA;;;GAGG;AAEH,MAAM,aAAa,GAA2B;IAC5C,GAAG,EAAE,yEAAyE;IAC9E,IAAI,EAAE,qEAAqE;IAC3E,GAAG,EAAE,6EAA6E;IAClF,MAAM,EAAE,iEAAiE;IACzE,KAAK,EAAE,6EAA6E;CACrF,CAAC;AAQF,MAAM,UAAU,WAAW,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAoB;IACvE,MAAM,CAAC,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IAC/B,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,8BAA8B,CAAC;IAEtE,gDAAgD;IAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEjD,OAAO,CACL,eAAK,KAAK,EAAC,wLAAwL,aAEjM,cAAK,KAAK,EAAE,iEAAiE,UAAU,EAAE,YACtF,MAAM,CAAC,WAAW,EAAE,GACjB,EAGN,eAAK,KAAK,EAAC,yEAAyE,aAClF,eAAM,KAAK,EAAC,2FAA2F,YACpG,SAAS,GACL,EACN,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CACxB,gBAAc,KAAK,EAAC,4BAA4B,aAC9C,eAAM,KAAK,EAAC,2CAA2C,kBAAS,EAChE,eAAM,KAAK,EAAE,uBACX,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;oCACjB,CAAC,CAAC,8EAA8E;oCAChF,CAAC,CAAC,yEACN,EAAE,YACC,GAAG,GACC,KARE,CAAC,CASL,CACR,CAAC,IACE,IACF,CACP,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Introduction.d.ts","sourceRoot":"","sources":["../../../src/components/openapi/Introduction.tsx"],"names":[],"mappings":"AAIA;;;GAGG;AACH,wBAAgB,YAAY,iCAyC3B"}
1
+ {"version":3,"file":"Introduction.d.ts","sourceRoot":"","sources":["../../../src/components/openapi/Introduction.tsx"],"names":[],"mappings":"AAIA;;;GAGG;AACH,wBAAgB,YAAY,iCAuC3B"}
@@ -9,6 +9,6 @@ import { Markdown } from "../ui/Markdown.js";
9
9
  export function Introduction() {
10
10
  const spec = useContext(SpecContext);
11
11
  const { info, servers } = spec;
12
- return (_jsxs("div", { id: "introduction", "data-traverse-target": "introduction", class: "mb-8", children: [info.description && (_jsx("div", { class: "prose prose-gray dark:prose-invert max-w-none", children: _jsx(Markdown, { content: info.description }) })), info.termsOfService && (_jsx("p", { class: "mt-4 text-sm text-[rgb(var(--color-gray-500))]", children: _jsx("a", { href: info.termsOfService, class: "text-[rgb(var(--color-primary))] dark:text-[rgb(var(--color-primary-light))]", children: "Terms of Service" }) })), info.contact?.email && (_jsxs("p", { class: "mt-2 text-sm text-[rgb(var(--color-gray-500))]", children: ["Contact: ", _jsx("a", { href: `mailto:${info.contact.email}`, class: "text-[rgb(var(--color-primary))] dark:text-[rgb(var(--color-primary-light))]", children: info.contact.email })] })), servers.length > 0 && (_jsxs("div", { class: "mt-6 rounded-xl border border-[rgb(var(--color-gray-200)/0.7)] dark:border-[rgb(var(--color-border-dark-subtle)/0.1)] overflow-hidden", children: [_jsxs("div", { class: "px-4 py-2.5 text-xs font-semibold text-[rgb(var(--color-gray-600))] dark:text-[rgb(var(--color-gray-300))] border-b border-[rgb(var(--color-gray-200)/0.7)] dark:border-[rgb(var(--color-border-dark-subtle)/0.1)]", children: ["Base URL", servers.length > 1 ? "s" : ""] }), servers.map((s, i) => (_jsxs("div", { class: `flex items-baseline gap-3 px-4 py-2 ${i > 0 ? "border-t border-[rgb(var(--color-gray-100))] dark:border-[rgb(var(--color-gray-800))]" : ""}`, children: [_jsx("code", { class: "font-mono text-sm text-[rgb(var(--color-gray-800))] dark:text-[rgb(var(--color-gray-200))]", children: s.url }), s.description && (_jsx("span", { class: "text-xs text-[rgb(var(--color-gray-500))]", children: s.description }))] }, i)))] }))] }));
12
+ return (_jsxs("div", { id: "introduction", "data-traverse-target": "introduction", class: "mb-8", children: [info.description && (_jsx(Markdown, { content: info.description, class: "max-w-none" })), info.termsOfService && (_jsx("p", { class: "mt-4 text-sm text-[rgb(var(--color-gray-500))]", children: _jsx("a", { href: info.termsOfService, class: "text-[rgb(var(--color-primary))] dark:text-[rgb(var(--color-primary-light))]", children: "Terms of Service" }) })), info.contact?.email && (_jsxs("p", { class: "mt-2 text-sm text-[rgb(var(--color-gray-500))]", children: ["Contact: ", _jsx("a", { href: `mailto:${info.contact.email}`, class: "text-[rgb(var(--color-primary))] dark:text-[rgb(var(--color-primary-light))]", children: info.contact.email })] })), servers.length > 0 && (_jsxs("div", { class: "mt-6 rounded-[var(--radius)] border border-[rgb(var(--color-gray-200)/0.7)] dark:border-[rgb(var(--color-border-dark-subtle)/0.1)] overflow-hidden", children: [_jsxs("div", { class: "px-4 py-2.5 text-xs font-semibold text-[rgb(var(--color-gray-600))] dark:text-[rgb(var(--color-gray-300))] border-b border-[rgb(var(--color-gray-200)/0.7)] dark:border-[rgb(var(--color-border-dark-subtle)/0.1)]", children: ["Base URL", servers.length > 1 ? "s" : ""] }), servers.map((s, i) => (_jsxs("div", { class: `flex items-baseline gap-3 px-4 py-2 ${i > 0 ? "border-t border-[rgb(var(--color-gray-100))] dark:border-[rgb(var(--color-gray-800))]" : ""}`, children: [_jsx("code", { class: "font-mono text-sm text-[rgb(var(--color-gray-800))] dark:text-[rgb(var(--color-gray-200))]", children: s.url }), s.description && (_jsx("span", { class: "text-xs text-[rgb(var(--color-gray-500))]", children: s.description }))] }, i)))] }))] }));
13
13
  }
14
14
  //# sourceMappingURL=Introduction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Introduction.js","sourceRoot":"","sources":["../../../src/components/openapi/Introduction.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C;;;GAGG;AACH,MAAM,UAAU,YAAY;IAC1B,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACrC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAE/B,OAAO,CACL,eAAK,EAAE,EAAC,cAAc,0BAAsB,cAAc,EAAC,KAAK,EAAC,MAAM,aACpE,IAAI,CAAC,WAAW,IAAI,CACnB,cAAK,KAAK,EAAC,+CAA+C,YACxD,KAAC,QAAQ,IAAC,OAAO,EAAE,IAAI,CAAC,WAAW,GAAI,GACnC,CACP,EAEA,IAAI,CAAC,cAAc,IAAI,CACtB,YAAG,KAAK,EAAC,gDAAgD,YACvD,YAAG,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,KAAK,EAAC,8EAA8E,iCAAqB,GACrI,CACL,EAEA,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI,CACtB,aAAG,KAAK,EAAC,gDAAgD,0BAC9C,YAAG,IAAI,EAAE,UAAU,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAC,8EAA8E,YAAE,IAAI,CAAC,OAAO,CAAC,KAAK,GAAK,IAC7J,CACL,EAEA,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CACrB,eAAK,KAAK,EAAC,uIAAuI,aAChJ,eAAK,KAAK,EAAC,oNAAoN,yBACpN,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAClC,EACL,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACrB,eAAa,KAAK,EAAE,uCAAuC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,uFAAuF,CAAC,CAAC,CAAC,EAAE,EAAE,aAC/J,eAAM,KAAK,EAAC,4FAA4F,YAAE,CAAC,CAAC,GAAG,GAAQ,EACtH,CAAC,CAAC,WAAW,IAAI,CAChB,eAAM,KAAK,EAAC,2CAA2C,YAAE,CAAC,CAAC,WAAW,GAAQ,CAC/E,KAJO,CAAC,CAKL,CACP,CAAC,IACE,CACP,IACG,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"Introduction.js","sourceRoot":"","sources":["../../../src/components/openapi/Introduction.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C;;;GAGG;AACH,MAAM,UAAU,YAAY;IAC1B,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACrC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAE/B,OAAO,CACL,eAAK,EAAE,EAAC,cAAc,0BAAsB,cAAc,EAAC,KAAK,EAAC,MAAM,aACpE,IAAI,CAAC,WAAW,IAAI,CACnB,KAAC,QAAQ,IAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,EAAC,YAAY,GAAG,CAC3D,EAEA,IAAI,CAAC,cAAc,IAAI,CACtB,YAAG,KAAK,EAAC,gDAAgD,YACvD,YAAG,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,KAAK,EAAC,8EAA8E,iCAAqB,GACrI,CACL,EAEA,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI,CACtB,aAAG,KAAK,EAAC,gDAAgD,0BAC9C,YAAG,IAAI,EAAE,UAAU,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAC,8EAA8E,YAAE,IAAI,CAAC,OAAO,CAAC,KAAK,GAAK,IAC7J,CACL,EAEA,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CACrB,eAAK,KAAK,EAAC,oJAAoJ,aAC7J,eAAK,KAAK,EAAC,oNAAoN,yBACpN,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAClC,EACL,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACrB,eAAa,KAAK,EAAE,uCAAuC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,uFAAuF,CAAC,CAAC,CAAC,EAAE,EAAE,aAC/J,eAAM,KAAK,EAAC,4FAA4F,YAAE,CAAC,CAAC,GAAG,GAAQ,EACtH,CAAC,CAAC,WAAW,IAAI,CAChB,eAAM,KAAK,EAAC,2CAA2C,YAAE,CAAC,CAAC,WAAW,GAAQ,CAC/E,KAJO,CAAC,CAKL,CACP,CAAC,IACE,CACP,IACG,CACP,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Operation.d.ts","sourceRoot":"","sources":["../../../src/components/openapi/Operation.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAY/D,UAAU,cAAc;IACtB,SAAS,EAAE,mBAAmB,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,cAAc,gCAsErE"}
1
+ {"version":3,"file":"Operation.d.ts","sourceRoot":"","sources":["../../../src/components/openapi/Operation.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAa/D,UAAU,cAAc;IACtB,SAAS,EAAE,mBAAmB,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,cAAc,gCAsErE"}
@@ -1,5 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "preact/jsx-runtime";
2
+ import { useContext } from "preact/hooks";
2
3
  import { htmlId } from "../../utils/html-id.js";
4
+ import { SiteContext } from "../../renderer/context.js";
3
5
  import { Markdown } from "../ui/Markdown.js";
4
6
  import { DeprecatedBadge } from "../ui/Badge.js";
5
7
  import { SectionLabel } from "../ui/SectionLabel.js";
@@ -15,9 +17,11 @@ import { EndpointBar } from "./EndpointBar.js";
15
17
  * - Single-column content (left) + sticky code panel (right, xl+ only)
16
18
  */
17
19
  export function Operation({ operation: op, serverUrl }) {
20
+ const site = useContext(SiteContext);
21
+ const apiFirst = site.theme.preset === "api-first";
18
22
  const id = `operation-${htmlId(op.path)}-${htmlId(op.method)}`;
19
23
  const hasParams = op.parameters.length > 0;
20
24
  const hasBody = !!op.requestBody;
21
- return (_jsxs("div", { id: id, class: "py-8 border-t border-[rgb(var(--color-gray-100))] dark:border-[rgb(var(--color-gray-800))]", "data-traverse-target": id, children: [_jsxs("header", { class: "mb-6", children: [op.summary && (_jsx("h2", { class: "text-2xl sm:text-3xl text-[rgb(var(--color-gray-900))] dark:text-[rgb(var(--color-gray-200))] tracking-tight font-bold mb-2", children: _jsx(Markdown, { content: op.summary, inline: true }) })), op.deprecated && _jsx(DeprecatedBadge, {})] }), _jsx(EndpointBar, { method: op.method, path: op.path, serverUrl: serverUrl }), _jsxs("div", { class: "flex flex-col xl:flex-row gap-8", children: [_jsxs("div", { class: "flex-1 min-w-0", children: [op.description && (_jsx("div", { class: "prose prose-gray dark:prose-invert mb-6", children: _jsx(Markdown, { content: op.description }) })), hasBody && (_jsxs("div", { class: "mt-6", children: [_jsx(SectionLabel, { children: "Body" }), _jsx(RequestBody, { body: op.requestBody })] })), hasParams && (_jsxs("div", { class: "mt-6", children: [_jsx(SectionLabel, { children: "Parameters" }), _jsx(Parameters, { parameters: op.parameters })] })), op.responses.length > 0 && (_jsxs("div", { class: "mt-6", children: [_jsx(SectionLabel, { children: "Response" }), _jsx(ResponsesCopy, { responses: op.responses })] })), _jsx(SecurityCopy, { security: op.security })] }), _jsxs("aside", { class: "hidden xl:block w-[28rem] shrink-0 sticky top-[9.5rem] self-start max-h-[calc(100vh-12rem)] overflow-y-auto space-y-4", children: [_jsx(CodeSamplesExamples, { operation: op, serverUrl: serverUrl }), hasBody && _jsx(RequestBodyExample, { body: op.requestBody }), _jsx(ResponsesExamples, { responses: op.responses })] })] }), _jsxs("div", { class: "xl:hidden mt-8 space-y-4", children: [_jsx(CodeSamplesExamples, { operation: op, serverUrl: serverUrl }), hasBody && _jsx(RequestBodyExample, { body: op.requestBody }), _jsx(ResponsesExamples, { responses: op.responses })] })] }));
25
+ return (_jsxs("div", { id: id, class: "py-8 border-t border-[rgb(var(--color-gray-100))] dark:border-[rgb(var(--color-gray-800))]", "data-traverse-target": id, children: [_jsxs("header", { class: "mb-6", children: [op.summary && (_jsx("h2", { class: "text-2xl sm:text-3xl text-[rgb(var(--color-gray-900))] dark:text-[rgb(var(--color-gray-200))] tracking-tight font-bold mb-2", children: _jsx(Markdown, { content: op.summary, inline: true }) })), op.deprecated && _jsx(DeprecatedBadge, {})] }), _jsx(EndpointBar, { method: op.method, path: op.path, serverUrl: serverUrl }), _jsxs("div", { class: `flex flex-col ${apiFirst ? "lg:flex-row" : "xl:flex-row"} gap-8`, children: [_jsxs("div", { class: "flex-1 min-w-0", children: [op.description && (_jsx(Markdown, { content: op.description, class: "mb-6" })), hasBody && (_jsxs("div", { class: "mt-6", children: [_jsx(SectionLabel, { children: "Body" }), _jsx(RequestBody, { body: op.requestBody })] })), hasParams && (_jsxs("div", { class: "mt-6", children: [_jsx(SectionLabel, { children: "Parameters" }), _jsx(Parameters, { parameters: op.parameters })] })), op.responses.length > 0 && (_jsxs("div", { class: "mt-6", children: [_jsx(SectionLabel, { children: "Response" }), _jsx(ResponsesCopy, { responses: op.responses })] })), _jsx(SecurityCopy, { security: op.security })] }), _jsxs("aside", { class: `hidden ${apiFirst ? "lg:block" : "xl:block"} w-[28rem] shrink-0 sticky self-start overflow-y-auto space-y-4`, style: "top: calc(var(--header-height) + 2.5rem); max-height: calc(100vh - var(--header-height) - 5rem)", children: [_jsx(CodeSamplesExamples, { operation: op, serverUrl: serverUrl, codeSampleLangs: site.codeSamples }), hasBody && _jsx(RequestBodyExample, { body: op.requestBody }), _jsx(ResponsesExamples, { responses: op.responses })] })] }), _jsxs("div", { class: `${apiFirst ? "lg:hidden" : "xl:hidden"} mt-8 space-y-4`, children: [_jsx(CodeSamplesExamples, { operation: op, serverUrl: serverUrl, codeSampleLangs: site.codeSamples }), hasBody && _jsx(RequestBodyExample, { body: op.requestBody }), _jsx(ResponsesExamples, { responses: op.responses })] })] }));
22
26
  }
23
27
  //# sourceMappingURL=Operation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Operation.js","sourceRoot":"","sources":["../../../src/components/openapi/Operation.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Operation.js","sourceRoot":"","sources":["../../../src/components/openapi/Operation.tsx"],"names":[],"mappings":"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"}
@@ -7,7 +7,8 @@ interface ResponsesProps {
7
7
  */
8
8
  export declare function ResponsesCopy({ responses }: ResponsesProps): import("preact").JSX.Element | null;
9
9
  /**
10
- * Response examples (rendered in the sticky code panel).
10
+ * Response examples with status code tabs on the code block card.
11
+ * Status code tabs are part of the code block header.
11
12
  */
12
13
  export declare function ResponsesExamples({ responses }: ResponsesProps): import("preact").JSX.Element | null;
13
14
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"Responses.d.ts","sourceRoot":"","sources":["../../../src/components/openapi/Responses.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAM9D,UAAU,cAAc;IACtB,SAAS,EAAE,kBAAkB,EAAE,CAAC;CACjC;AAUD;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAAE,SAAS,EAAE,EAAE,cAAc,uCA6B1D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,SAAS,EAAE,EAAE,cAAc,uCA0B9D"}
1
+ {"version":3,"file":"Responses.d.ts","sourceRoot":"","sources":["../../../src/components/openapi/Responses.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAS9D,UAAU,cAAc;IACtB,SAAS,EAAE,kBAAkB,EAAE,CAAC;CACjC;AAUD;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAAE,SAAS,EAAE,EAAE,cAAc,uCA6B1D;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,SAAS,EAAE,EAAE,cAAc,uCAiE9D"}