sourcey 3.0.2 → 3.2.1

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 (68) hide show
  1. package/dist/cli.js +0 -0
  2. package/dist/client/index.d.ts +0 -1
  3. package/dist/client/index.d.ts.map +1 -1
  4. package/dist/client/index.js +0 -1
  5. package/dist/client/index.js.map +1 -1
  6. package/dist/client/sidebar.js +52 -40
  7. package/dist/client/tabs.js +7 -7
  8. package/dist/components/layout/Head.d.ts.map +1 -1
  9. package/dist/components/layout/Head.js +8 -2
  10. package/dist/components/layout/Head.js.map +1 -1
  11. package/dist/components/layout/Header.d.ts +4 -4
  12. package/dist/components/layout/Header.d.ts.map +1 -1
  13. package/dist/components/layout/Header.js +21 -7
  14. package/dist/components/layout/Header.js.map +1 -1
  15. package/dist/components/layout/Page.d.ts.map +1 -1
  16. package/dist/components/layout/Page.js +26 -6
  17. package/dist/components/layout/Page.js.map +1 -1
  18. package/dist/components/layout/Sidebar.d.ts +1 -5
  19. package/dist/components/layout/Sidebar.d.ts.map +1 -1
  20. package/dist/components/layout/Sidebar.js +30 -14
  21. package/dist/components/layout/Sidebar.js.map +1 -1
  22. package/dist/components/layout/TableOfContents.d.ts +0 -5
  23. package/dist/components/layout/TableOfContents.d.ts.map +1 -1
  24. package/dist/components/layout/TableOfContents.js +15 -1
  25. package/dist/components/layout/TableOfContents.js.map +1 -1
  26. package/dist/components/openapi/CodeSamples.js +1 -1
  27. package/dist/components/openapi/CodeSamples.js.map +1 -1
  28. package/dist/components/openapi/Introduction.js +1 -1
  29. package/dist/components/openapi/Responses.js +1 -1
  30. package/dist/components/openapi/Responses.js.map +1 -1
  31. package/dist/components/schema/ExampleView.js +1 -1
  32. package/dist/components/schema/ExampleView.js.map +1 -1
  33. package/dist/components/ui/Logo.d.ts +16 -0
  34. package/dist/components/ui/Logo.d.ts.map +1 -0
  35. package/dist/components/ui/Logo.js +9 -0
  36. package/dist/components/ui/Logo.js.map +1 -0
  37. package/dist/components/ui/SocialIcon.d.ts +2 -0
  38. package/dist/components/ui/SocialIcon.d.ts.map +1 -1
  39. package/dist/components/ui/SocialIcon.js +61 -12
  40. package/dist/components/ui/SocialIcon.js.map +1 -1
  41. package/dist/config.d.ts +7 -0
  42. package/dist/config.d.ts.map +1 -1
  43. package/dist/config.js +11 -5
  44. package/dist/config.js.map +1 -1
  45. package/dist/core/navigation.d.ts.map +1 -1
  46. package/dist/core/navigation.js +4 -3
  47. package/dist/core/navigation.js.map +1 -1
  48. package/dist/dev-server.d.ts.map +1 -1
  49. package/dist/dev-server.js +23 -11
  50. package/dist/dev-server.js.map +1 -1
  51. package/dist/index.d.ts +1 -0
  52. package/dist/index.d.ts.map +1 -1
  53. package/dist/index.js +71 -3
  54. package/dist/index.js.map +1 -1
  55. package/dist/renderer/context.d.ts +1 -0
  56. package/dist/renderer/context.d.ts.map +1 -1
  57. package/dist/renderer/context.js.map +1 -1
  58. package/dist/renderer/html-builder.d.ts.map +1 -1
  59. package/dist/renderer/html-builder.js +25 -4
  60. package/dist/renderer/html-builder.js.map +1 -1
  61. package/dist/themes/default/main.css +1 -1
  62. package/dist/themes/default/sourcey.css +229 -24
  63. package/dist/utils/code-samples.js +14 -9
  64. package/dist/utils/code-samples.js.map +1 -1
  65. package/dist/utils/markdown.d.ts.map +1 -1
  66. package/dist/utils/markdown.js +5 -0
  67. package/dist/utils/markdown.js.map +1 -1
  68. package/package.json +1 -3
package/dist/cli.js CHANGED
File without changes
@@ -2,7 +2,6 @@ import "../themes/default/main.css";
2
2
  import "./sidebar.js";
3
3
  import "./scroll-tracker.js";
4
4
  import "./tabs.js";
5
- import "./copy.js";
6
5
  import "./theme-toggle.js";
7
6
  import "./search.js";
8
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AACA,OAAO,4BAA4B,CAAC;AACpC,OAAO,cAAc,CAAC;AACtB,OAAO,qBAAqB,CAAC;AAC7B,OAAO,WAAW,CAAC;AACnB,OAAO,WAAW,CAAC;AACnB,OAAO,mBAAmB,CAAC;AAC3B,OAAO,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AACA,OAAO,4BAA4B,CAAC;AACpC,OAAO,cAAc,CAAC;AACtB,OAAO,qBAAqB,CAAC;AAC7B,OAAO,WAAW,CAAC;AACnB,OAAO,mBAAmB,CAAC;AAC3B,OAAO,aAAa,CAAC"}
@@ -3,7 +3,6 @@ import "../themes/default/main.css";
3
3
  import "./sidebar.js";
4
4
  import "./scroll-tracker.js";
5
5
  import "./tabs.js";
6
- import "./copy.js";
7
6
  import "./theme-toggle.js";
8
7
  import "./search.js";
9
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,OAAO,4BAA4B,CAAC;AACpC,OAAO,cAAc,CAAC;AACtB,OAAO,qBAAqB,CAAC;AAC7B,OAAO,WAAW,CAAC;AACnB,OAAO,WAAW,CAAC;AACnB,OAAO,mBAAmB,CAAC;AAC3B,OAAO,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,OAAO,4BAA4B,CAAC;AACpC,OAAO,cAAc,CAAC;AACtB,OAAO,qBAAqB,CAAC;AAC7B,OAAO,WAAW,CAAC;AACnB,OAAO,mBAAmB,CAAC;AAC3B,OAAO,aAAa,CAAC"}
@@ -1,54 +1,66 @@
1
- // Mobile sidebar drawer toggle visibility on small screens.
1
+ // Mobile navigation drawer using native <dialog>.
2
2
  //
3
- // The sidebar is CSS-hidden on mobile (hidden lg:block). This script
4
- // overrides inline styles to show it as a fullscreen overlay when the
5
- // hamburger menu is tapped. Escape key and nav link clicks close it.
3
+ // Opens as a modal dialog with backdrop. Closes on:
4
+ // backdrop click, nav link click, Escape (native dialog behavior).
5
+ // Dropdown toggles list visibility for tab selection.
6
6
  (function () {
7
- var sidebar = document.getElementById('sidebar');
7
+ var dialog = document.getElementById('mobile-nav');
8
8
  var openBtns = document.querySelectorAll('[data-drawer-slide]');
9
- if (!sidebar) return;
10
-
11
- function open() {
12
- var isDark = document.documentElement.classList.contains('dark');
13
- sidebar.style.display = 'block';
14
- sidebar.style.position = 'fixed';
15
- sidebar.style.inset = '0';
16
- sidebar.style.zIndex = '50';
17
- sidebar.style.background = isDark
18
- ? 'rgb(var(--color-background-dark))'
19
- : 'rgb(var(--color-background-light))';
20
- document.addEventListener('keydown', onKey);
21
- }
22
-
23
- function close() {
24
- sidebar.style.display = '';
25
- sidebar.style.position = '';
26
- sidebar.style.inset = '';
27
- sidebar.style.zIndex = '';
28
- sidebar.style.background = '';
29
- document.removeEventListener('keydown', onKey);
30
- }
9
+ if (!dialog) return;
31
10
 
32
- function isOpen() {
33
- return sidebar.style.display === 'block';
34
- }
11
+ // Sync active state from desktop sidebar to drawer on open
12
+ function syncActiveState() {
13
+ var activeDesktop = document.querySelector('#nav .nav-link.active');
14
+ if (!activeDesktop) return;
15
+ var activeHref = activeDesktop.getAttribute('href');
16
+ if (!activeHref) return;
35
17
 
36
- function onKey(e) {
37
- if (e.key === 'Escape') close();
18
+ dialog.querySelectorAll('.nav-link').forEach(function (link) {
19
+ link.classList.toggle('active', link.getAttribute('href') === activeHref);
20
+ });
38
21
  }
39
22
 
40
23
  openBtns.forEach(function (btn) {
41
24
  btn.addEventListener('click', function () {
42
- if (isOpen()) {
43
- close();
44
- } else {
45
- open();
46
- }
25
+ syncActiveState();
26
+ dialog.showModal();
47
27
  });
48
28
  });
49
29
 
50
- // Close drawer on nav link click (mobile)
51
- sidebar.addEventListener('click', function (e) {
52
- if (e.target.closest('#nav a') && isOpen()) close();
30
+ // Close on backdrop click (click on dialog element itself, not its children)
31
+ dialog.addEventListener('click', function (e) {
32
+ if (e.target === dialog) dialog.close();
33
+ });
34
+
35
+ // Close on nav link or close button click
36
+ dialog.addEventListener('click', function (e) {
37
+ if (e.target.closest('a') || e.target.closest('[data-close-drawer]')) dialog.close();
38
+ });
39
+
40
+ // Dropdown: toggle list visibility
41
+ var toggle = document.getElementById('drawer-group-toggle');
42
+ var list = document.getElementById('drawer-group-list');
43
+ if (!toggle || !list) return;
44
+
45
+ function closeDropdown() {
46
+ list.style.display = 'none';
47
+ toggle.setAttribute('aria-expanded', 'false');
48
+ }
49
+
50
+ toggle.addEventListener('click', function () {
51
+ var open = list.style.display !== 'none';
52
+ if (open) {
53
+ closeDropdown();
54
+ } else {
55
+ list.style.display = '';
56
+ toggle.setAttribute('aria-expanded', 'true');
57
+ }
58
+ });
59
+
60
+ // Close dropdown when clicking outside it
61
+ dialog.addEventListener('click', function (e) {
62
+ if (list.style.display !== 'none' && !e.target.closest('.drawer-dropdown')) {
63
+ closeDropdown();
64
+ }
53
65
  });
54
66
  })();
@@ -76,9 +76,9 @@
76
76
  options.forEach(function (opt) {
77
77
  var isActive = opt.getAttribute('data-lang-index') === index;
78
78
  opt.setAttribute('aria-selected', isActive ? 'true' : 'false');
79
- opt.className = opt.className.replace(/text-\[rgb\([^\)]+\)\]/g, '');
79
+ opt.className = opt.className.replace(/(dark:)?text-\[rgb\([^\]]+\)\]/g, '').trim();
80
80
  if (isActive) {
81
- opt.classList.add('text-[rgb(var(--color-primary))]');
81
+ opt.classList.add('text-[rgb(var(--color-primary))]', 'dark:text-[rgb(var(--color-primary-light))]');
82
82
  if (label) label.textContent = opt.textContent.trim();
83
83
  // Update trigger icon to match selected language
84
84
  var triggerIcon = container.querySelector('.code-lang-trigger .code-lang-icon');
@@ -87,7 +87,7 @@
87
87
  triggerIcon.innerHTML = optIcon.outerHTML;
88
88
  }
89
89
  } else {
90
- opt.classList.add('text-[rgb(var(--color-stone-600))]');
90
+ opt.classList.add('text-[rgb(var(--color-stone-600))]', 'dark:text-[rgb(var(--color-stone-400))]');
91
91
  }
92
92
  });
93
93
 
@@ -128,14 +128,14 @@
128
128
  var btn = e.target.closest('.copy-btn');
129
129
  if (!btn) return;
130
130
 
131
- var container = btn.closest('.code-group') || btn.closest('.code-block-wrapper');
131
+ var container = btn.closest('.code-group') || btn.closest('.prose-code-block');
132
132
  if (!container) return;
133
133
 
134
- // Find the active panel's code, or the nearest code block
134
+ // Find the active panel's code, or the nearest code element
135
135
  var activePanel = container.querySelector('.code-lang-panel.active, .response-panel.active');
136
136
  var codeEl = activePanel
137
- ? activePanel.querySelector('.code-block, .font-mono')
138
- : container.querySelector('.code-block, .font-mono');
137
+ ? activePanel.querySelector('code, .code-block, .font-mono')
138
+ : container.querySelector('code, .code-block, .font-mono');
139
139
 
140
140
  if (!codeEl) return;
141
141
 
@@ -1 +1 @@
1
- {"version":3,"file":"Head.d.ts","sourceRoot":"","sources":["../../../src/components/layout/Head.tsx"],"names":[],"mappings":"AAIA,wBAAgB,IAAI,iCAuEnB"}
1
+ {"version":3,"file":"Head.d.ts","sourceRoot":"","sources":["../../../src/components/layout/Head.tsx"],"names":[],"mappings":"AAIA,wBAAgB,IAAI,iCA6EnB"}
@@ -16,7 +16,10 @@ export function Head() {
16
16
  : spec.info.description ?? `${siteName} API Documentation`;
17
17
  const nav = useContext(NavigationContext);
18
18
  const { colors, fonts, layout } = site.theme;
19
+ // Desktop: h-16 row + h-12 tabs (when multi-tab) = 7rem, or h-16 alone = 4rem.
20
+ // Mobile: h-16 row + h-14 breadcrumb = 7.5rem (always).
19
21
  const headerHeight = nav.tabs.length > 1 ? "7rem" : "4rem";
22
+ const headerHeightMobile = "7.5rem";
20
23
  // Extract font family names for Google Fonts loading
21
24
  const systemFonts = new Set(["system-ui", "sans-serif", "serif", "monospace", "-apple-system", "BlinkMacSystemFont", "Segoe UI", "Consolas", "SF Mono", "Fira Code", "Cascadia Code"]);
22
25
  function extractFontName(stack) {
@@ -39,9 +42,12 @@ export function Head() {
39
42
  --sidebar-width: ${layout.sidebar};
40
43
  --toc-width: ${layout.toc};
41
44
  --content-max-width: ${layout.content};
42
- --header-height: ${headerHeight};
45
+ --header-height: ${headerHeightMobile};
46
+ }
47
+ html { scroll-padding-top: var(--header-height); }
48
+ @media (min-width: 1024px) {
49
+ :root { --header-height: ${headerHeight}; }
43
50
  }
44
- html { scroll-padding-top: ${headerHeight}; }
45
51
  body { margin: 0; background: rgb(var(--color-background-light)); }
46
52
  .dark body { background: rgb(var(--color-background-dark)); }
47
53
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"Head.js","sourceRoot":"","sources":["../../../src/components/layout/Head.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Head.js","sourceRoot":"","sources":["../../../src/components/layout/Head.tsx"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  /**
2
- * Two-row site header.
3
- * Row 1 (h-16): logo, search, navbar links, theme toggle
4
- * Row 2 (h-12): navigation tabs
5
- * Total: 7rem (header-height)
2
+ * Site header.
3
+ * Row 1 (h-16): logo, search (desktop), navbar links (desktop), theme toggle (desktop), search + hamburger (mobile)
4
+ * Row 2 mobile (h-14): breadcrumbs (group > page)
5
+ * Row 2 desktop (h-12): navigation tabs (when multiple tabs)
6
6
  */
7
7
  export declare function Header(): import("preact").JSX.Element;
8
8
  //# sourceMappingURL=Header.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../../src/components/layout/Header.tsx"],"names":[],"mappings":"AAuCA;;;;;GAKG;AACH,wBAAgB,MAAM,iCAiKrB"}
1
+ {"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../../src/components/layout/Header.tsx"],"names":[],"mappings":"AA6EA;;;;;GAKG;AACH,wBAAgB,MAAM,iCAoIrB"}
@@ -2,6 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "preact/jsx-ru
2
2
  import { useContext } from "preact/hooks";
3
3
  import { NavigationContext, OptionsContext, SiteContext } from "../../renderer/context.js";
4
4
  import { SocialIcon } from "../ui/SocialIcon.js";
5
+ import { Logo } from "../ui/Logo.js";
5
6
  function SearchIcon() {
6
7
  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" })] }));
7
8
  }
@@ -11,11 +12,24 @@ function SunIcon() {
11
12
  function MoonIcon() {
12
13
  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" }) }));
13
14
  }
15
+ function BreadcrumbChevron() {
16
+ return (_jsx("svg", { width: "3", height: "24", viewBox: "0 -9 3 24", class: "h-5 overflow-visible shrink-0", children: _jsx("path", { d: "M0 0L3 3L0 6", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }) }));
17
+ }
18
+ /**
19
+ * Mobile breadcrumb bar below the logo row — shows group > page.
20
+ */
21
+ function MobileBreadcrumbs({ nav }) {
22
+ const activeTab = nav.tabs.find((t) => t.slug === nav.activeTabSlug);
23
+ const activePage = activeTab?.groups
24
+ .flatMap((g) => g.items)
25
+ .find((item) => item.id === nav.activePageSlug);
26
+ return (_jsx("div", { class: "flex lg:hidden items-center h-14 px-5 text-sm overflow-hidden", children: _jsxs("div", { class: "flex items-center min-w-0 space-x-3 leading-6 whitespace-nowrap", children: [nav.tabs.length > 1 && activeTab && activePage?.label !== activeTab.label && (_jsxs("div", { class: "flex items-center space-x-3 shrink-0 text-[rgb(var(--color-gray-500))] dark:text-[rgb(var(--color-gray-400))]", children: [_jsx("span", { children: activeTab.label }), _jsx(BreadcrumbChevron, {})] })), activePage && (_jsx("span", { class: "font-semibold text-[rgb(var(--color-gray-900))] dark:text-[rgb(var(--color-gray-200))] truncate min-w-0", children: activePage.label }))] }) }));
27
+ }
14
28
  /**
15
- * Two-row site header.
16
- * Row 1 (h-16): logo, search, navbar links, theme toggle
17
- * Row 2 (h-12): navigation tabs
18
- * Total: 7rem (header-height)
29
+ * Site header.
30
+ * Row 1 (h-16): logo, search (desktop), navbar links (desktop), theme toggle (desktop), search + hamburger (mobile)
31
+ * Row 2 mobile (h-14): breadcrumbs (group > page)
32
+ * Row 2 desktop (h-12): navigation tabs (when multiple tabs)
19
33
  */
20
34
  export function Header() {
21
35
  const nav = useContext(NavigationContext);
@@ -23,9 +37,9 @@ export function Header() {
23
37
  const site = useContext(SiteContext);
24
38
  const base = options.assetBase;
25
39
  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) => {
40
+ 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: [_jsx("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.08)] dark:border-[rgb(var(--color-gray-300)/0.08)]", children: [_jsx("div", { class: "flex-1 flex items-center gap-x-4", children: _jsx(Logo, { href: logoHref, logo: site.logo, name: site.name }) }), _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"
41
+ ? (link.label ?? link.href)
42
+ : (_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", { 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", "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(MobileBreadcrumbs, { nav: nav }), 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) => {
29
43
  const isActive = tab.slug === nav.activeTabSlug;
30
44
  return (_jsxs("a", { href: `${base}${tab.href}`, class: `group relative h-full gap-2 flex items-center font-medium cursor-pointer transition-colors ${isActive
31
45
  ? "text-[rgb(var(--color-gray-800))] dark:text-[rgb(var(--color-gray-200))]"
@@ -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":"AAqMA,wBAAgB,IAAI,iCAqCnB"}
1
+ {"version":3,"file":"Page.d.ts","sourceRoot":"","sources":["../../../src/components/layout/Page.tsx"],"names":[],"mappings":"AA8OA,wBAAgB,IAAI,iCAqCnB"}
@@ -19,7 +19,7 @@ function MarkdownPageContent({ page, className = "" }) {
19
19
  const activeTab = nav.tabs.find((t) => t.slug === nav.activeTabSlug);
20
20
  const activeGroup = activeTab?.groups.find((g) => g.items.some((item) => item.id === nav.activePageSlug));
21
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, {})] }));
22
+ return (_jsxs("div", { class: `relative grow box-border flex-col w-full mx-auto px-1 min-w-0 ${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(PageNavigation, {}), _jsx(ContentFooter, {})] }));
23
23
  }
24
24
  /**
25
25
  * OpenAPI spec page content.
@@ -27,7 +27,26 @@ function MarkdownPageContent({ page, className = "" }) {
27
27
  function SpecPageContent({ className = "" }) {
28
28
  const spec = useContext(SpecContext);
29
29
  const serverUrl = spec.servers[0]?.url ?? "/";
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, {})] }));
30
+ return (_jsxs("div", { class: `relative grow box-border flex-col w-full mx-auto px-1 min-w-0 ${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, {})] }));
31
+ }
32
+ function PageNavigation() {
33
+ const nav = useContext(NavigationContext);
34
+ const activeTab = nav.tabs.find((t) => t.slug === nav.activeTabSlug);
35
+ if (!activeTab)
36
+ return null;
37
+ // Flatten all nav items in the active tab
38
+ const allItems = activeTab.groups.flatMap((g) => g.items);
39
+ const idx = allItems.findIndex((item) => item.id === nav.activePageSlug);
40
+ if (idx === -1)
41
+ return null;
42
+ const prev = idx > 0 ? allItems[idx - 1] : null;
43
+ const next = idx < allItems.length - 1 ? allItems[idx + 1] : null;
44
+ if (!prev && !next)
45
+ return null;
46
+ const linkClass = "group flex flex-col gap-1 px-4 py-3 rounded-lg border border-[rgb(var(--color-gray-200)/0.7)] dark:border-[rgb(var(--color-gray-800)/0.5)] hover:border-[rgb(var(--color-primary)/0.4)] dark:hover:border-[rgb(var(--color-primary-light)/0.3)] transition-colors no-underline";
47
+ const labelClass = "text-xs text-[rgb(var(--color-gray-400))]";
48
+ const titleClass = "text-sm font-medium text-[rgb(var(--color-gray-700))] dark:text-[rgb(var(--color-gray-300))] group-hover:text-[rgb(var(--color-primary))] dark:group-hover:text-[rgb(var(--color-primary-light))] transition-colors";
49
+ return (_jsxs("nav", { class: "mt-12 flex items-stretch justify-between gap-4", children: [prev ? (_jsxs("a", { href: prev.href, class: linkClass, children: [_jsx("span", { class: labelClass, children: "\u2190 Previous" }), _jsx("span", { class: titleClass, children: prev.label })] })) : _jsx("span", {}), next ? (_jsxs("a", { href: next.href, class: `${linkClass} text-right ml-auto`, children: [_jsx("span", { class: labelClass, children: "Next \u2192" }), _jsx("span", { class: titleClass, children: next.label })] })) : null] }));
31
50
  }
32
51
  function ContentFooter() {
33
52
  const site = useContext(SiteContext);
@@ -37,7 +56,8 @@ function ContentFooter() {
37
56
  let editUrl;
38
57
  if (site.repo && site.editBranch && page.kind === "markdown" && page.markdown?.sourcePath) {
39
58
  const repoBase = site.repo.replace(/\/$/, "");
40
- editUrl = `${repoBase}/edit/${site.editBranch}/${page.markdown.sourcePath}`;
59
+ const basePath = site.editBasePath ? `${site.editBasePath.replace(/^\/|\/$/g, "")}/` : "";
60
+ editUrl = `${repoBase}/edit/${site.editBranch}/${basePath}${page.markdown.sourcePath}`;
41
61
  }
42
62
  const linkStyle = "hover:text-[rgb(var(--color-gray-600))] dark:hover:text-[rgb(var(--color-gray-300))] transition-colors";
43
63
  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 && (_jsxs("a", { href: editUrl, target: "_blank", rel: "noopener noreferrer", class: `${linkStyle} flex items-center gap-1`, children: [_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", "stroke-width": "1.5", stroke: "currentColor", class: "w-3 h-3 mr-0.5", children: _jsx("path", { "stroke-linecap": "round", "stroke-linejoin": "round", d: "m16.862 4.487 1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L6.832 19.82a4.5 4.5 0 0 1-1.897 1.13l-2.685.8.8-2.685a4.5 4.5 0 0 1 1.13-1.897L16.863 4.487Zm0 0L19.5 7.125" }) }), "Edit this page"] })), links.map((link) => (_jsx("a", { href: link.href, target: "_blank", rel: "noopener noreferrer", class: linkStyle, children: link.type === "link"
@@ -49,15 +69,15 @@ function ContentFooter() {
49
69
  // ---------------------------------------------------------------------------
50
70
  function DefaultLayout() {
51
71
  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" })) })] }));
72
+ return (_jsxs("div", { class: "max-w-[92rem] mx-auto relative px-4 lg:px-8", children: [_jsx(Sidebar, {}), _jsx("div", { id: "docs", class: "pt-[8.5rem] 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
73
  }
54
74
  function MinimalLayout() {
55
75
  const page = useContext(PageContext);
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, {})) }) }));
76
+ return (_jsx("div", { class: "max-w-3xl mx-auto relative px-4 lg:px-8", children: _jsx("div", { id: "docs", class: "pt-[8.5rem] lg:pt-10", children: page.kind === "markdown" ? (_jsx(MarkdownPageContent, { page: page.markdown })) : (_jsx(SpecPageContent, {})) }) }));
57
77
  }
58
78
  function ApiFirstLayout() {
59
79
  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" })) })] }));
80
+ return (_jsxs("div", { class: "max-w-[92rem] mx-auto relative px-4 lg:px-8", children: [_jsx(Sidebar, {}), _jsx("div", { id: "docs", class: "pt-[8.5rem] 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
81
  }
62
82
  // ---------------------------------------------------------------------------
63
83
  // Page shell
@@ -1 +1 @@
1
- {"version":3,"file":"Page.js","sourceRoot":"","sources":["../../../src/components/layout/Page.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Page.js","sourceRoot":"","sources":["../../../src/components/layout/Page.tsx"],"names":[],"mappings":"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"}
@@ -1,9 +1,5 @@
1
1
  /**
2
- * Sidebar clean design:
3
- * - No border-right
4
- * - Bold group headers (not uppercase)
5
- * - Method pills for API operations
6
- * - Active item with primary bg/text and text-shadow trick
2
+ * Desktop sidebar (hidden on mobile) + mobile drawer (dialog element).
7
3
  */
8
4
  export declare function Sidebar(): import("preact").JSX.Element | null;
9
5
  //# sourceMappingURL=Sidebar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Sidebar.d.ts","sourceRoot":"","sources":["../../../src/components/layout/Sidebar.tsx"],"names":[],"mappings":"AA8BA;;;;;;GAMG;AACH,wBAAgB,OAAO,wCAkDtB"}
1
+ {"version":3,"file":"Sidebar.d.ts","sourceRoot":"","sources":["../../../src/components/layout/Sidebar.tsx"],"names":[],"mappings":"AA+EA;;GAEG;AACH,wBAAgB,OAAO,wCAuGtB"}
@@ -1,14 +1,14 @@
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 } from "../../renderer/context.js";
3
+ import { NavigationContext, OptionsContext, SiteContext } from "../../renderer/context.js";
4
+ import { SocialIcon, socialLabels } from "../ui/SocialIcon.js";
5
+ import { Logo } from "../ui/Logo.js";
4
6
  /**
5
- * Method pill for API sidebar navigation items.
6
- * Colored method badges.
7
+ * Colored method badges for API sidebar items.
7
8
  */
8
9
  function MethodPill({ method }) {
9
10
  const m = method.toUpperCase();
10
11
  const label = m === "DELETE" ? "DEL" : m;
11
- // Method pill colors
12
12
  const colors = {
13
13
  GET: "bg-green-400/20 dark:bg-green-400/20 text-green-700 dark:text-green-400",
14
14
  POST: "bg-blue-400/20 dark:bg-blue-400/20 text-blue-700 dark:text-blue-400",
@@ -20,22 +20,38 @@ function MethodPill({ method }) {
20
20
  return (_jsx("span", { class: "flex items-center w-8 h-[1lh] shrink-0", children: _jsx("span", { class: `px-1 py-0.5 rounded-md text-[0.55rem] leading-tight font-bold ${colors[m] ?? "bg-gray-400/20 text-gray-700"}`, children: label }) }));
21
21
  }
22
22
  /**
23
- * Sidebar clean design:
24
- * - No border-right
25
- * - Bold group headers (not uppercase)
26
- * - Method pills for API operations
27
- * - Active item with primary bg/text and text-shadow trick
23
+ * Shared nav group rendering used by both desktop sidebar and mobile drawer.
24
+ */
25
+ function NavGroups({ groups, activePageSlug, base }) {
26
+ return (_jsx(_Fragment, { children: groups.map((group, gi) => (_jsxs("div", { class: gi > 0 ? "mt-5" : "", children: [group.label && (_jsx("h5", { class: "nav-group-label", children: group.label })), _jsx("ul", { children: group.items.map((item) => {
27
+ const isActive = item.id === activePageSlug;
28
+ return (_jsx("li", { children: _jsxs("a", { href: `${base}${item.href}`, class: `nav-link${isActive ? " active" : ""}`, children: [item.method && _jsx(MethodPill, { method: item.method }), _jsx("span", { class: "flex-1 break-words [word-break:break-word]", children: item.label })] }) }, item.id));
29
+ }) })] }, group.label))) }));
30
+ }
31
+ /**
32
+ * Chevron icon for the group dropdown trigger.
33
+ */
34
+ function DropdownChevron() {
35
+ return (_jsx("svg", { class: "drawer-dropdown-chevron", width: "12", height: "12", viewBox: "0 0 12 12", fill: "none", children: _jsx("path", { d: "M3 5l3 3 3-3", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) }));
36
+ }
37
+ /**
38
+ * Desktop sidebar (hidden on mobile) + mobile drawer (dialog element).
28
39
  */
29
40
  export function Sidebar() {
30
41
  const nav = useContext(NavigationContext);
31
42
  const options = useContext(OptionsContext);
43
+ const site = useContext(SiteContext);
32
44
  const activeTab = nav.tabs.find((t) => t.slug === nav.activeTabSlug);
33
45
  if (!activeTab)
34
46
  return null;
35
47
  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: 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
- const isActive = item.id === nav.activePageSlug;
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
- }) })] }, group.label))) })] }) }) }));
48
+ const { links } = site.navbar;
49
+ const primaryAction = site.navbar.primary;
50
+ const groups = activeTab.groups;
51
+ const logoHref = site.logo?.href ?? `${base}${nav.tabs[0]?.href ?? ""}`;
52
+ return (_jsxs(_Fragment, { children: [_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", children: _jsxs("div", { class: "relative text-sm 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: _jsx(NavGroups, { groups: groups, activePageSlug: nav.activePageSlug, base: base }) })] }) }) }), _jsxs("dialog", { id: "mobile-nav", class: "mobile-nav-dialog", children: [site.logo?.light && (_jsx("div", { class: "px-4 py-4 border-b border-[rgb(var(--color-gray-200)/0.7)] dark:border-[rgb(var(--color-gray-800)/0.5)] shrink-0", children: _jsx(Logo, { href: logoHref, logo: site.logo, height: "h-6" }) })), nav.tabs.length > 1 && (_jsx("div", { class: "pt-5 px-4 shrink-0", children: _jsxs("div", { class: "drawer-dropdown", children: [_jsxs("button", { id: "drawer-group-toggle", type: "button", class: "drawer-dropdown-trigger", "aria-expanded": "false", children: [_jsx("span", { class: "drawer-dropdown-label", children: activeTab.label }), _jsx(DropdownChevron, {})] }), _jsx("ul", { id: "drawer-group-list", class: "drawer-dropdown-list", style: "display:none", children: nav.tabs.map((tab) => (_jsx("li", { children: _jsx("a", { href: `${base}${tab.href}`, class: `drawer-dropdown-item${tab.slug === nav.activeTabSlug ? " active" : ""}`, children: tab.label }) }, tab.slug))) })] }) })), _jsx("nav", { class: "pt-5 pb-3 px-4 flex-1 overflow-y-auto", children: _jsx(NavGroups, { groups: groups, activePageSlug: nav.activePageSlug, base: base }) }), (links.length > 0 || primaryAction) && (_jsx("div", { class: "px-4 py-3 border-t border-[rgb(var(--color-gray-200)/0.7)] dark:border-[rgb(var(--color-gray-800)/0.5)] shrink-0", children: _jsxs("ul", { class: "space-y-3", children: [links.map((link) => {
53
+ const label = link.label ?? socialLabels[link.type] ?? link.href;
54
+ return (_jsx("li", { children: _jsxs("a", { href: link.href, target: "_blank", rel: "noopener noreferrer", class: "flex items-center gap-2.5 text-[rgb(var(--color-gray-600))] hover:text-[rgb(var(--color-gray-900))] dark:text-[rgb(var(--color-gray-400))] dark:hover:text-[rgb(var(--color-gray-200))]", children: [link.type !== "link" && _jsx(SocialIcon, { type: link.type }), _jsx("span", { children: label })] }) }, link.href));
55
+ }), primaryAction && (_jsx("li", { children: _jsxs("a", { href: primaryAction.href, target: "_blank", class: "group relative flex items-center justify-center px-4 py-2 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: primaryAction.label })] }) }))] }) }))] })] }));
40
56
  }
41
57
  //# sourceMappingURL=Sidebar.js.map