sourcey 3.0.1 → 3.1.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 (102) hide show
  1. package/dist/client/index.d.ts +1 -1
  2. package/dist/client/index.d.ts.map +1 -1
  3. package/dist/client/index.js +1 -1
  4. package/dist/client/index.js.map +1 -1
  5. package/dist/client/scroll-tracker.js +27 -13
  6. package/dist/client/search.js +1 -0
  7. package/dist/client/sidebar.js +52 -40
  8. package/dist/client/tabs.js +7 -7
  9. package/dist/components/layout/Head.d.ts.map +1 -1
  10. package/dist/components/layout/Head.js +8 -2
  11. package/dist/components/layout/Head.js.map +1 -1
  12. package/dist/components/layout/Header.d.ts +4 -4
  13. package/dist/components/layout/Header.d.ts.map +1 -1
  14. package/dist/components/layout/Header.js +21 -7
  15. package/dist/components/layout/Header.js.map +1 -1
  16. package/dist/components/layout/Page.d.ts.map +1 -1
  17. package/dist/components/layout/Page.js +9 -9
  18. package/dist/components/layout/Page.js.map +1 -1
  19. package/dist/components/layout/Sidebar.d.ts +1 -5
  20. package/dist/components/layout/Sidebar.d.ts.map +1 -1
  21. package/dist/components/layout/Sidebar.js +30 -14
  22. package/dist/components/layout/Sidebar.js.map +1 -1
  23. package/dist/components/layout/TableOfContents.d.ts +0 -5
  24. package/dist/components/layout/TableOfContents.d.ts.map +1 -1
  25. package/dist/components/layout/TableOfContents.js +15 -1
  26. package/dist/components/layout/TableOfContents.js.map +1 -1
  27. package/dist/components/openapi/CodeSamples.js +1 -1
  28. package/dist/components/openapi/CodeSamples.js.map +1 -1
  29. package/dist/components/openapi/EndpointBar.d.ts.map +1 -1
  30. package/dist/components/openapi/EndpointBar.js +1 -3
  31. package/dist/components/openapi/EndpointBar.js.map +1 -1
  32. package/dist/components/openapi/Introduction.js +1 -1
  33. package/dist/components/openapi/Operation.d.ts.map +1 -1
  34. package/dist/components/openapi/Operation.js +5 -1
  35. package/dist/components/openapi/Operation.js.map +1 -1
  36. package/dist/components/openapi/RequestBody.d.ts.map +1 -1
  37. package/dist/components/openapi/RequestBody.js +1 -2
  38. package/dist/components/openapi/RequestBody.js.map +1 -1
  39. package/dist/components/openapi/Responses.js +2 -2
  40. package/dist/components/openapi/Responses.js.map +1 -1
  41. package/dist/components/openapi/Security.d.ts.map +1 -1
  42. package/dist/components/openapi/Security.js +3 -3
  43. package/dist/components/openapi/Security.js.map +1 -1
  44. package/dist/components/schema/ExampleView.js +1 -1
  45. package/dist/components/schema/ExampleView.js.map +1 -1
  46. package/dist/components/schema/SchemaDatatype.d.ts +2 -2
  47. package/dist/components/schema/SchemaDatatype.d.ts.map +1 -1
  48. package/dist/components/schema/SchemaDatatype.js +9 -5
  49. package/dist/components/schema/SchemaDatatype.js.map +1 -1
  50. package/dist/components/schema/SchemaView.d.ts.map +1 -1
  51. package/dist/components/schema/SchemaView.js +2 -2
  52. package/dist/components/schema/SchemaView.js.map +1 -1
  53. package/dist/components/ui/Logo.d.ts +16 -0
  54. package/dist/components/ui/Logo.d.ts.map +1 -0
  55. package/dist/components/ui/Logo.js +9 -0
  56. package/dist/components/ui/Logo.js.map +1 -0
  57. package/dist/components/ui/SectionLabel.d.ts +3 -2
  58. package/dist/components/ui/SectionLabel.d.ts.map +1 -1
  59. package/dist/components/ui/SectionLabel.js +4 -4
  60. package/dist/components/ui/SectionLabel.js.map +1 -1
  61. package/dist/components/ui/SocialIcon.d.ts +2 -0
  62. package/dist/components/ui/SocialIcon.d.ts.map +1 -1
  63. package/dist/components/ui/SocialIcon.js +13 -0
  64. package/dist/components/ui/SocialIcon.js.map +1 -1
  65. package/dist/config.d.ts +9 -1
  66. package/dist/config.d.ts.map +1 -1
  67. package/dist/config.js +14 -8
  68. package/dist/config.js.map +1 -1
  69. package/dist/core/doxygen-loader.d.ts.map +1 -1
  70. package/dist/core/doxygen-loader.js +11 -2
  71. package/dist/core/doxygen-loader.js.map +1 -1
  72. package/dist/core/markdown-loader.d.ts.map +1 -1
  73. package/dist/core/markdown-loader.js +5 -1
  74. package/dist/core/markdown-loader.js.map +1 -1
  75. package/dist/core/navigation.d.ts.map +1 -1
  76. package/dist/core/navigation.js +4 -3
  77. package/dist/core/navigation.js.map +1 -1
  78. package/dist/dev-server.d.ts.map +1 -1
  79. package/dist/dev-server.js +21 -9
  80. package/dist/dev-server.js.map +1 -1
  81. package/dist/index.d.ts +1 -0
  82. package/dist/index.d.ts.map +1 -1
  83. package/dist/index.js +6 -3
  84. package/dist/index.js.map +1 -1
  85. package/dist/renderer/context.d.ts +1 -0
  86. package/dist/renderer/context.d.ts.map +1 -1
  87. package/dist/renderer/context.js.map +1 -1
  88. package/dist/renderer/html-builder.d.ts +0 -2
  89. package/dist/renderer/html-builder.d.ts.map +1 -1
  90. package/dist/renderer/html-builder.js +22 -19
  91. package/dist/renderer/html-builder.js.map +1 -1
  92. package/dist/themes/default/main.css +2 -2
  93. package/dist/themes/default/sourcey.css +304 -37
  94. package/dist/utils/code-samples.js +14 -9
  95. package/dist/utils/code-samples.js.map +1 -1
  96. package/dist/utils/markdown.d.ts.map +1 -1
  97. package/dist/utils/markdown.js +5 -0
  98. package/dist/utils/markdown.js.map +1 -1
  99. package/dist/vite-plugin.d.ts.map +1 -1
  100. package/dist/vite-plugin.js +12 -3
  101. package/dist/vite-plugin.js.map +1 -1
  102. package/package.json +2 -2
@@ -1,7 +1,7 @@
1
+ import "../themes/default/main.css";
1
2
  import "./sidebar.js";
2
3
  import "./scroll-tracker.js";
3
4
  import "./tabs.js";
4
- import "./copy.js";
5
5
  import "./theme-toggle.js";
6
6
  import "./search.js";
7
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,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"}
@@ -1,8 +1,8 @@
1
1
  // Sourcey client entry — bundled by Vite
2
+ import "../themes/default/main.css";
2
3
  import "./sidebar.js";
3
4
  import "./scroll-tracker.js";
4
5
  import "./tabs.js";
5
- import "./copy.js";
6
6
  import "./theme-toggle.js";
7
7
  import "./search.js";
8
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,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"}
@@ -4,6 +4,7 @@
4
4
  // on the matching #nav .nav-link. All visual styling is in sourcey.css;
5
5
  // this file only manages the class.
6
6
  (function () {
7
+ var navbar = document.getElementById('navbar');
7
8
  var navLinks = document.querySelectorAll('#nav .nav-link');
8
9
  var targets = document.querySelectorAll('[data-traverse-target]');
9
10
 
@@ -73,6 +74,14 @@
73
74
  }
74
75
  }
75
76
 
77
+ // Scroll to element with header offset
78
+ function scrollToId(id, behavior) {
79
+ var el = document.getElementById(id);
80
+ if (!el) return;
81
+ var offset = (navbar ? navbar.offsetHeight : 0) - 1;
82
+ window.scrollTo({ top: el.getBoundingClientRect().top + window.scrollY - offset, behavior: behavior });
83
+ }
84
+
76
85
  // Handle anchor clicks: activate highlight, scroll with header offset, lock scroll tracker.
77
86
  function handleAnchorClick(e, selector) {
78
87
  var link = e.target.closest(selector);
@@ -85,14 +94,8 @@
85
94
  e.preventDefault();
86
95
  clickedId = id;
87
96
  activate(id, true);
88
-
89
- var el = document.getElementById(id);
90
- if (el) {
91
- var header = document.getElementById('header');
92
- var offset = (header ? header.offsetHeight : 112) + 16;
93
- window.scrollTo({ top: el.getBoundingClientRect().top + window.scrollY - offset, behavior: 'smooth' });
94
- history.replaceState(null, '', '#' + id);
95
- }
97
+ scrollToId(id, 'smooth');
98
+ history.replaceState(null, '', '#' + id);
96
99
 
97
100
  clearTimeout(clickTimer);
98
101
  clickTimer = setTimeout(function () { clickedId = null; }, 800);
@@ -109,9 +112,7 @@
109
112
  // If a nav link was just clicked, don't override it until scroll settles
110
113
  if (clickedId) return;
111
114
 
112
- // Measure the actual header element to handle any template/theme height
113
- var header = document.getElementById('header');
114
- var threshold = (header ? header.offsetHeight : 112) + 20;
115
+ var threshold = (navbar ? navbar.offsetHeight : 0) + 20;
115
116
  var best = null;
116
117
 
117
118
  // Check API traverse targets
@@ -163,11 +164,24 @@
163
164
  }
164
165
  }, { passive: true });
165
166
 
166
- // Activate on initial load based on URL hash or scroll position
167
+ // Activate on initial load based on URL hash or scroll position.
168
+ // Always use JS scroll to override the browser's native hash scroll,
169
+ // which uses CSS scroll-margin-top and may not match the actual navbar height.
167
170
  var hash = window.location.hash.slice(1);
168
- if (hash && linkMap[hash]) {
171
+ if (hash && document.getElementById(hash)) {
169
172
  activate(hash);
173
+ // Defer to next frame so browser's native hash scroll completes first
174
+ requestAnimationFrame(function () { scrollToId(hash, 'instant'); });
170
175
  } else {
171
176
  onScroll();
172
177
  }
178
+
179
+ // Handle hash changes (back/forward navigation)
180
+ window.addEventListener('hashchange', function () {
181
+ var id = window.location.hash.slice(1);
182
+ if (id) {
183
+ activate(id, true);
184
+ scrollToId(id, 'smooth');
185
+ }
186
+ });
173
187
  })();
@@ -185,4 +185,5 @@
185
185
  var tag = el.tagName;
186
186
  return tag === 'INPUT' || tag === 'TEXTAREA' || tag === 'SELECT' || el.isContentEditable;
187
187
  }
188
+
188
189
  })();
@@ -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 border-b border-[rgb(var(--color-gray-200)/0.7)] dark:border-[rgb(var(--color-gray-700)/0.5)]", 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", 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":"AAoMA,wBAAgB,IAAI,iCAqCnB"}
1
+ {"version":3,"file":"Page.d.ts","sourceRoot":"","sources":["../../../src/components/layout/Page.tsx"],"names":[],"mappings":"AAqMA,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(ContentFooter, {})] }));
23
23
  }
24
24
  /**
25
25
  * OpenAPI spec page content.
@@ -27,20 +27,20 @@ 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
31
  }
32
32
  function ContentFooter() {
33
33
  const site = useContext(SiteContext);
34
34
  const page = useContext(PageContext);
35
35
  const links = site.footer.links;
36
- // Build "Edit this page" URL for markdown pages when repo is configured
36
+ // Build "Edit this page" URL when repo + editBranch are configured
37
37
  let editUrl;
38
- if (site.repo && page.kind === "markdown" && page.markdown?.sourcePath) {
38
+ if (site.repo && site.editBranch && page.kind === "markdown" && page.markdown?.sourcePath) {
39
39
  const repoBase = site.repo.replace(/\/$/, "");
40
- editUrl = `${repoBase}/edit/main/${page.markdown.sourcePath}`;
40
+ editUrl = `${repoBase}/edit/${site.editBranch}/${page.markdown.sourcePath}`;
41
41
  }
42
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"
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 && (_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"
44
44
  ? (link.label ?? link.href)
45
45
  : (_jsxs(_Fragment, { children: [_jsx(SocialIcon, { type: link.type }), link.label && _jsx("span", { class: "ml-1", children: link.label })] })) }, link.href)))] })] }));
46
46
  }
@@ -49,15 +49,15 @@ function ContentFooter() {
49
49
  // ---------------------------------------------------------------------------
50
50
  function DefaultLayout() {
51
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" })) })] }));
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-[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
53
  }
54
54
  function MinimalLayout() {
55
55
  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, {})) }) }));
56
+ 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
57
  }
58
58
  function ApiFirstLayout() {
59
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" })) })] }));
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-[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
61
  }
62
62
  // ---------------------------------------------------------------------------
63
63
  // 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"}