@arkenv/fumadocs-ui 0.0.3 → 0.0.5

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.
package/css/theme.css CHANGED
@@ -4,6 +4,13 @@
4
4
  --radius: 0.125rem;
5
5
  --fd-nav-height: 80px !important;
6
6
  --fd-header-height: 80px !important;
7
+ /* WCAG AA compliant: 6.13:1 contrast on white background */
8
+ --color-fd-muted-foreground: hsl(240 4% 40%);
9
+ }
10
+
11
+ .dark {
12
+ /* WCAG AA compliant: 8.61:1 contrast on dark background */
13
+ --color-fd-muted-foreground: hsl(240 5% 70%);
7
14
  }
8
15
 
9
16
  @theme inline {
@@ -188,3 +195,128 @@ a[rel*="noopener"][target="_blank"]:not(.fd-card):not([data-card]):not(
188
195
  )::after {
189
196
  background-image: var(--icon-external-dark);
190
197
  }
198
+
199
+ /* Search bar background: solid white/black so it reads cleanly against page content */
200
+ button[data-search-full] {
201
+ --color-fd-secondary: hsl(0, 0%, 100%);
202
+ --color-fd-accent: hsl(0, 0%, 100%);
203
+ }
204
+
205
+ .dark button[data-search-full] {
206
+ --color-fd-secondary: hsl(0, 0%, 0%);
207
+ --color-fd-accent: hsl(0, 0%, 0%);
208
+ }
209
+
210
+ /* Right-align the theme toggle when rendered inside the sidebar */
211
+ aside .theme-toggle {
212
+ margin-left: auto;
213
+ }
214
+
215
+ /* Fumadocs built-in nav backdrop (fallback, overridden by custom Header) */
216
+ #nd-nav {
217
+ background-color: transparent !important;
218
+ backdrop-filter: none !important;
219
+ }
220
+
221
+ #nd-nav > div,
222
+ #nd-nav > nav {
223
+ background-color: rgba(255, 255, 255, 0.95) !important;
224
+ }
225
+
226
+ .dark #nd-nav > div,
227
+ .dark #nd-nav > nav {
228
+ background-color: rgba(8, 16, 33, 0.95) !important;
229
+ }
230
+
231
+ @supports (backdrop-filter: blur(8px)) {
232
+ #nd-nav > div,
233
+ #nd-nav > nav {
234
+ backdrop-filter: blur(8px) !important;
235
+ background-color: rgba(255, 255, 255, 0.8) !important;
236
+ }
237
+
238
+ .dark #nd-nav > div,
239
+ .dark #nd-nav > nav {
240
+ background-color: rgba(8, 16, 33, 0.8) !important;
241
+ }
242
+ }
243
+
244
+ #nd-nav nav {
245
+ backdrop-filter: none !important;
246
+ background-color: transparent !important;
247
+ }
248
+
249
+ /* Sidebar item base styles */
250
+ #nd-sidebar a,
251
+ #nd-sidebar button {
252
+ @apply font-medium;
253
+ transition: color 150ms;
254
+ }
255
+
256
+ /* Remove rectangular hover background — use text color transition instead */
257
+ #nd-sidebar a.wrap-anywhere:hover,
258
+ #nd-sidebar button.wrap-anywhere:hover {
259
+ background-color: transparent;
260
+ color: var(--color-fd-primary);
261
+ }
262
+
263
+ /* Remove rectangular active background */
264
+ #nd-sidebar a.wrap-anywhere[data-active="true"] {
265
+ background-color: transparent;
266
+ }
267
+
268
+ /* Sidebar section header font weight */
269
+ #nd-sidebar p {
270
+ @apply font-medium;
271
+ }
272
+
273
+ /* Remove fumadocs' xl:pt-14 on the docs article — our header spacer handles the top offset */
274
+ @media (min-width: 80rem) {
275
+ #nd-page {
276
+ padding-top: 1.5rem;
277
+ }
278
+ }
279
+
280
+ /* Hide the built-in close-button row at the top of the mobile sidebar drawer */
281
+ #nd-sidebar-mobile > div:first-child > div:first-child {
282
+ display: none;
283
+ }
284
+
285
+ /* Mobile sidebar drawer: position left, slide from left, above header */
286
+ #nd-sidebar-mobile {
287
+ inset-inline-end: auto;
288
+ inset-inline-start: 0;
289
+ border-inline-start: none;
290
+ border-inline-end: 1px solid var(--color-fd-border);
291
+ --fd-sidebar-drawer-offset: -100%;
292
+ z-index: 60;
293
+ }
294
+
295
+ /* Backdrop overlay: raise above the header (z-50) so tapping the header area
296
+ also dismisses the drawer, and the blur covers the full viewport */
297
+ div:has(+ #nd-sidebar-mobile) {
298
+ z-index: 55;
299
+ }
300
+
301
+ /* Radix popper portals (workspace switcher dropdown, etc.) render at the body
302
+ level — they must be above the sidebar drawer to stay visible */
303
+ [data-radix-popper-content-wrapper] {
304
+ z-index: 70 !important;
305
+ }
306
+
307
+ /* Search dialog: raise above header (z-50) and mobile sidebar (z-60) */
308
+ [role="dialog"][data-state] {
309
+ z-index: 65 !important;
310
+ }
311
+
312
+ /* On mobile: push the search input box below the fixed header,
313
+ and hide the ESC close hint (no keyboard on mobile) */
314
+ @media (max-width: 767px) {
315
+ [role="dialog"][data-state] {
316
+ top: calc(var(--fd-nav-height, 80px) + 0.5rem) !important;
317
+ }
318
+
319
+ [role="dialog"][data-state] button.font-mono {
320
+ display: none;
321
+ }
322
+ }
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- const e=require(`../heading-11j3HQh7.cjs`),t=require(`../url-xnMEOisP.cjs`);let n=require(`fumadocs-ui/components/ui/button`),r=require(`fumadocs-ui/components/ui/popover`),i=require(`fumadocs-ui/utils/use-copy-button`),a=require(`lucide-react`),o=require(`react`),s=require(`react/jsx-runtime`);const c=new Map;function l({markdownUrl:e,githubUrl:l}){let[u,d]=(0,o.useState)(!1),[f,p]=(0,o.useState)(null);(0,o.useEffect)(()=>{p(window.location.origin)},[]);let[m,h]=(0,i.useCopyButton)(async()=>{let t=c.get(e);if(t)return navigator.clipboard.writeText(t);d(!0);try{await navigator.clipboard.write([new ClipboardItem({"text/plain":fetch(e).then(async t=>{if(!t.ok)throw Error(`Failed to fetch markdown: ${t.statusText}`);let n=await t.text();return c.set(e,n),n})})])}catch(e){console.error(e)}finally{d(!1)}}),g=(0,o.useMemo)(()=>{if(!f)return[];let t=`Read ${new URL(e,f)}, I want to ask questions about it.`;return[{title:`Open in GitHub`,href:l,icon:(0,s.jsxs)(`svg`,{fill:`currentColor`,role:`img`,viewBox:`0 0 24 24`,className:`size-4`,children:[(0,s.jsx)(`title`,{children:`GitHub`}),(0,s.jsx)(`path`,{d:`M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12`})]})},{title:`Open in Scira AI`,href:`https://scira.ai/?${new URLSearchParams({q:t})}`,icon:(0,s.jsxs)(`svg`,{width:`910`,height:`934`,viewBox:`0 0 910 934`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,className:`size-4`,children:[(0,s.jsx)(`title`,{children:`Scira AI`}),(0,s.jsx)(`path`,{d:`M647.664 197.775C569.13 189.049 525.5 145.419 516.774 66.8849C508.048 145.419 464.418 189.049 385.884 197.775C464.418 206.501 508.048 250.131 516.774 328.665C525.5 250.131 569.13 206.501 647.664 197.775Z`,fill:`currentColor`,stroke:`currentColor`,strokeWidth:`8`,strokeLinejoin:`round`}),(0,s.jsx)(`path`,{d:`M516.774 304.217C510.299 275.491 498.208 252.087 480.335 234.214C462.462 216.341 439.058 204.251 410.333 197.775C439.059 191.3 462.462 179.209 480.335 161.336C498.208 143.463 510.299 120.06 516.774 91.334C523.25 120.059 535.34 143.463 553.213 161.336C571.086 179.209 594.49 191.3 623.216 197.775C594.49 204.251 571.086 216.341 553.213 234.214C535.34 252.087 523.25 275.491 516.774 304.217Z`,fill:`currentColor`,stroke:`currentColor`,strokeWidth:`8`,strokeLinejoin:`round`}),(0,s.jsx)(`path`,{d:`M857.5 508.116C763.259 497.644 710.903 445.288 700.432 351.047C689.961 445.288 637.605 497.644 543.364 508.116C637.605 518.587 689.961 570.943 700.432 665.184C710.903 570.943 763.259 518.587 857.5 508.116Z`,stroke:`currentColor`,strokeWidth:`20`,strokeLinejoin:`round`}),(0,s.jsx)(`path`,{d:`M700.432 615.957C691.848 589.05 678.575 566.357 660.383 548.165C642.191 529.973 619.499 516.7 592.593 508.116C619.499 499.533 642.191 486.258 660.383 468.066C678.575 449.874 691.848 427.181 700.432 400.274C709.015 427.181 722.289 449.874 740.481 468.066C758.673 486.258 781.365 499.533 808.271 508.116C781.365 516.7 758.673 529.973 740.481 548.165C722.289 566.357 709.015 589.05 700.432 615.957Z`,stroke:`currentColor`,strokeWidth:`20`,strokeLinejoin:`round`}),(0,s.jsx)(`path`,{d:`M889.949 121.237C831.049 114.692 798.326 81.9698 791.782 23.0692C785.237 81.9698 752.515 114.692 693.614 121.237C752.515 127.781 785.237 160.504 791.782 219.404C798.326 160.504 831.049 127.781 889.949 121.237Z`,fill:`currentColor`,stroke:`currentColor`,strokeWidth:`8`,strokeLinejoin:`round`}),(0,s.jsx)(`path`,{d:`M791.782 196.795C786.697 176.937 777.869 160.567 765.16 147.858C752.452 135.15 736.082 126.322 716.226 121.237C736.082 116.152 752.452 107.324 765.16 94.6152C777.869 81.9065 786.697 65.5368 791.782 45.6797C796.867 65.5367 805.695 81.9066 818.403 94.6152C831.112 107.324 847.481 116.152 867.338 121.237C847.481 126.322 831.112 135.15 818.403 147.858C805.694 160.567 796.867 176.937 791.782 196.795Z`,fill:`currentColor`,stroke:`currentColor`,strokeWidth:`8`,strokeLinejoin:`round`})]})},{title:`Open in ChatGPT`,href:`https://chatgpt.com/?${new URLSearchParams({hints:`search`,q:t})}`,icon:(0,s.jsxs)(`svg`,{role:`img`,viewBox:`0 0 24 24`,fill:`currentColor`,xmlns:`http://www.w3.org/2000/svg`,className:`size-4`,children:[(0,s.jsx)(`title`,{children:`OpenAI`}),(0,s.jsx)(`path`,{d:`M22.2819 9.8211a5.9847 5.9847 0 0 0-.5157-4.9108 6.0462 6.0462 0 0 0-6.5098-2.9A6.0651 6.0651 0 0 0 4.9807 4.1818a5.9847 5.9847 0 0 0-3.9977 2.9 6.0462 6.0462 0 0 0 .7427 7.0966 5.98 5.98 0 0 0 .511 4.9107 6.051 6.051 0 0 0 6.5146 2.9001A5.9847 5.9847 0 0 0 13.2599 24a6.0557 6.0557 0 0 0 5.7718-4.2058 5.9894 5.9894 0 0 0 3.9977-2.9001 6.0557 6.0557 0 0 0-.7475-7.0729zm-9.022 12.6081a4.4755 4.4755 0 0 1-2.8764-1.0408l.1419-.0804 4.7783-2.7582a.7948.7948 0 0 0 .3927-.6813v-6.7369l2.02 1.1686a.071.071 0 0 1 .038.052v5.5826a4.504 4.504 0 0 1-4.4945 4.4944zm-9.6607-4.1254a4.4708 4.4708 0 0 1-.5346-3.0137l.142.0852 4.783 2.7582a.7712.7712 0 0 0 .7806 0l5.8428-3.3685v2.3324a.0804.0804 0 0 1-.0332.0615L9.74 19.9502a4.4992 4.4992 0 0 1-6.1408-1.6464zM2.3408 7.8956a4.485 4.485 0 0 1 2.3655-1.9728V11.6a.7664.7664 0 0 0 .3879.6765l5.8144 3.3543-2.0201 1.1685a.0757.0757 0 0 1-.071 0l-4.8303-2.7865A4.504 4.504 0 0 1 2.3408 7.872zm16.5963 3.8558L13.1038 8.364 15.1192 7.2a.0757.0757 0 0 1 .071 0l4.8303 2.7913a4.4944 4.4944 0 0 1-.6765 8.1042v-5.6772a.79.79 0 0 0-.407-.667zm2.0107-3.0231l-.142-.0852-4.7735-2.7818a.7759.7759 0 0 0-.7854 0L9.409 9.2297V6.8974a.0662.0662 0 0 1 .0284-.0615l4.8303-2.7866a4.4992 4.4992 0 0 1 6.6802 4.66zM8.3065 12.863l-2.02-1.1638a.0804.0804 0 0 1-.038-.0567V6.0742a4.4992 4.4992 0 0 1 7.3757-3.4537l-.142.0805L8.704 5.459a.7948.7948 0 0 0-.3927.6813zm1.0976-2.3654l2.602-1.4998 2.6069 1.4998v2.9994l-2.5974 1.4997-2.6067-1.4997Z`})]})},{title:`Open in Claude`,href:`https://claude.ai/new?${new URLSearchParams({q:t})}`,icon:(0,s.jsxs)(`svg`,{fill:`currentColor`,role:`img`,viewBox:`0 0 24 24`,xmlns:`http://www.w3.org/2000/svg`,className:`size-4`,children:[(0,s.jsx)(`title`,{children:`Anthropic`}),(0,s.jsx)(`path`,{d:`M17.3041 3.541h-3.6718l6.696 16.918H24Zm-10.6082 0L0 20.459h3.7442l1.3693-3.5527h7.0052l1.3693 3.5528h3.7442L10.5363 3.5409Zm-.3712 10.2232 2.2914-5.9456 2.2914 5.9456Z`})]})},{title:`Open in T3 Chat`,href:`https://t3.chat/new?${new URLSearchParams({q:t})}`,icon:(0,s.jsx)(a.MessageCircleIcon,{className:`size-4`})}]},[l,e,f]);return(0,s.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,s.jsxs)(`button`,{type:`button`,disabled:u,className:t.r((0,n.buttonVariants)({color:`secondary`,size:`sm`,className:`gap-2 [&_svg]:size-3.5 [&_svg]:text-fd-muted-foreground`})),onClick:h,children:[m?(0,s.jsx)(a.Check,{}):(0,s.jsx)(a.Copy,{}),`Copy Markdown`]}),(0,s.jsxs)(r.Popover,{children:[(0,s.jsxs)(r.PopoverTrigger,{className:t.r((0,n.buttonVariants)({color:`secondary`,size:`sm`,className:`gap-2`})),children:[`Open`,(0,s.jsx)(a.ChevronDown,{className:`size-3.5 text-fd-muted-foreground`})]}),(0,s.jsx)(r.PopoverContent,{className:`flex flex-col p-1`,children:g.map(e=>(0,s.jsxs)(`a`,{href:e.href,rel:`noreferrer noopener`,target:`_blank`,className:`text-sm p-2 rounded-lg inline-flex items-center gap-2 hover:text-fd-accent-foreground hover:bg-fd-accent [&_svg]:size-4`,children:[e.icon,e.title,(0,s.jsx)(a.ExternalLinkIcon,{className:`text-fd-muted-foreground size-3.5 ms-auto`})]},e.href))})]})]})}exports.AIActions=l,exports.CodeBlock=e.r,exports.CodeBlockTab=e.i,exports.CodeBlockTabs=e.a,exports.CodeBlockTabsList=e.o,exports.CodeBlockTabsTrigger=e.s,exports.ExternalLink=e.n,exports.Heading=e.t,exports.Pre=e.c;
2
+ const e=require(`../heading-11j3HQh7.cjs`),t=require(`../url-xnMEOisP.cjs`);let n=require(`fumadocs-ui/components/ui/button`),r=require(`fumadocs-ui/components/ui/popover`),i=require(`fumadocs-ui/utils/use-copy-button`),a=require(`lucide-react`),o=require(`react`),s=require(`react/jsx-runtime`),c=require(`fumadocs-core/link`);c=e.l(c);let l=require(`next/navigation`);const u=new Map;function d({markdownUrl:e,githubUrl:c}){let[l,d]=(0,o.useState)(!1),[f,p]=(0,o.useState)(null);(0,o.useEffect)(()=>{p(window.location.origin)},[]);let[m,h]=(0,i.useCopyButton)(async()=>{let t=u.get(e);if(t)return navigator.clipboard.writeText(t);d(!0);try{await navigator.clipboard.write([new ClipboardItem({"text/plain":fetch(e).then(async t=>{if(!t.ok)throw Error(`Failed to fetch markdown: ${t.statusText}`);let n=await t.text();return u.set(e,n),n})})])}catch(e){console.error(e)}finally{d(!1)}}),g=(0,o.useMemo)(()=>{if(!f)return[];let t=`Read ${new URL(e,f)}, I want to ask questions about it.`;return[{title:`Open in GitHub`,href:c,icon:(0,s.jsxs)(`svg`,{fill:`currentColor`,role:`img`,viewBox:`0 0 24 24`,className:`size-4`,children:[(0,s.jsx)(`title`,{children:`GitHub`}),(0,s.jsx)(`path`,{d:`M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12`})]})},{title:`Open in Scira AI`,href:`https://scira.ai/?${new URLSearchParams({q:t})}`,icon:(0,s.jsxs)(`svg`,{width:`910`,height:`934`,viewBox:`0 0 910 934`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,className:`size-4`,children:[(0,s.jsx)(`title`,{children:`Scira AI`}),(0,s.jsx)(`path`,{d:`M647.664 197.775C569.13 189.049 525.5 145.419 516.774 66.8849C508.048 145.419 464.418 189.049 385.884 197.775C464.418 206.501 508.048 250.131 516.774 328.665C525.5 250.131 569.13 206.501 647.664 197.775Z`,fill:`currentColor`,stroke:`currentColor`,strokeWidth:`8`,strokeLinejoin:`round`}),(0,s.jsx)(`path`,{d:`M516.774 304.217C510.299 275.491 498.208 252.087 480.335 234.214C462.462 216.341 439.058 204.251 410.333 197.775C439.059 191.3 462.462 179.209 480.335 161.336C498.208 143.463 510.299 120.06 516.774 91.334C523.25 120.059 535.34 143.463 553.213 161.336C571.086 179.209 594.49 191.3 623.216 197.775C594.49 204.251 571.086 216.341 553.213 234.214C535.34 252.087 523.25 275.491 516.774 304.217Z`,fill:`currentColor`,stroke:`currentColor`,strokeWidth:`8`,strokeLinejoin:`round`}),(0,s.jsx)(`path`,{d:`M857.5 508.116C763.259 497.644 710.903 445.288 700.432 351.047C689.961 445.288 637.605 497.644 543.364 508.116C637.605 518.587 689.961 570.943 700.432 665.184C710.903 570.943 763.259 518.587 857.5 508.116Z`,stroke:`currentColor`,strokeWidth:`20`,strokeLinejoin:`round`}),(0,s.jsx)(`path`,{d:`M700.432 615.957C691.848 589.05 678.575 566.357 660.383 548.165C642.191 529.973 619.499 516.7 592.593 508.116C619.499 499.533 642.191 486.258 660.383 468.066C678.575 449.874 691.848 427.181 700.432 400.274C709.015 427.181 722.289 449.874 740.481 468.066C758.673 486.258 781.365 499.533 808.271 508.116C781.365 516.7 758.673 529.973 740.481 548.165C722.289 566.357 709.015 589.05 700.432 615.957Z`,stroke:`currentColor`,strokeWidth:`20`,strokeLinejoin:`round`}),(0,s.jsx)(`path`,{d:`M889.949 121.237C831.049 114.692 798.326 81.9698 791.782 23.0692C785.237 81.9698 752.515 114.692 693.614 121.237C752.515 127.781 785.237 160.504 791.782 219.404C798.326 160.504 831.049 127.781 889.949 121.237Z`,fill:`currentColor`,stroke:`currentColor`,strokeWidth:`8`,strokeLinejoin:`round`}),(0,s.jsx)(`path`,{d:`M791.782 196.795C786.697 176.937 777.869 160.567 765.16 147.858C752.452 135.15 736.082 126.322 716.226 121.237C736.082 116.152 752.452 107.324 765.16 94.6152C777.869 81.9065 786.697 65.5368 791.782 45.6797C796.867 65.5367 805.695 81.9066 818.403 94.6152C831.112 107.324 847.481 116.152 867.338 121.237C847.481 126.322 831.112 135.15 818.403 147.858C805.694 160.567 796.867 176.937 791.782 196.795Z`,fill:`currentColor`,stroke:`currentColor`,strokeWidth:`8`,strokeLinejoin:`round`})]})},{title:`Open in ChatGPT`,href:`https://chatgpt.com/?${new URLSearchParams({hints:`search`,q:t})}`,icon:(0,s.jsxs)(`svg`,{role:`img`,viewBox:`0 0 24 24`,fill:`currentColor`,xmlns:`http://www.w3.org/2000/svg`,className:`size-4`,children:[(0,s.jsx)(`title`,{children:`OpenAI`}),(0,s.jsx)(`path`,{d:`M22.2819 9.8211a5.9847 5.9847 0 0 0-.5157-4.9108 6.0462 6.0462 0 0 0-6.5098-2.9A6.0651 6.0651 0 0 0 4.9807 4.1818a5.9847 5.9847 0 0 0-3.9977 2.9 6.0462 6.0462 0 0 0 .7427 7.0966 5.98 5.98 0 0 0 .511 4.9107 6.051 6.051 0 0 0 6.5146 2.9001A5.9847 5.9847 0 0 0 13.2599 24a6.0557 6.0557 0 0 0 5.7718-4.2058 5.9894 5.9894 0 0 0 3.9977-2.9001 6.0557 6.0557 0 0 0-.7475-7.0729zm-9.022 12.6081a4.4755 4.4755 0 0 1-2.8764-1.0408l.1419-.0804 4.7783-2.7582a.7948.7948 0 0 0 .3927-.6813v-6.7369l2.02 1.1686a.071.071 0 0 1 .038.052v5.5826a4.504 4.504 0 0 1-4.4945 4.4944zm-9.6607-4.1254a4.4708 4.4708 0 0 1-.5346-3.0137l.142.0852 4.783 2.7582a.7712.7712 0 0 0 .7806 0l5.8428-3.3685v2.3324a.0804.0804 0 0 1-.0332.0615L9.74 19.9502a4.4992 4.4992 0 0 1-6.1408-1.6464zM2.3408 7.8956a4.485 4.485 0 0 1 2.3655-1.9728V11.6a.7664.7664 0 0 0 .3879.6765l5.8144 3.3543-2.0201 1.1685a.0757.0757 0 0 1-.071 0l-4.8303-2.7865A4.504 4.504 0 0 1 2.3408 7.872zm16.5963 3.8558L13.1038 8.364 15.1192 7.2a.0757.0757 0 0 1 .071 0l4.8303 2.7913a4.4944 4.4944 0 0 1-.6765 8.1042v-5.6772a.79.79 0 0 0-.407-.667zm2.0107-3.0231l-.142-.0852-4.7735-2.7818a.7759.7759 0 0 0-.7854 0L9.409 9.2297V6.8974a.0662.0662 0 0 1 .0284-.0615l4.8303-2.7866a4.4992 4.4992 0 0 1 6.6802 4.66zM8.3065 12.863l-2.02-1.1638a.0804.0804 0 0 1-.038-.0567V6.0742a4.4992 4.4992 0 0 1 7.3757-3.4537l-.142.0805L8.704 5.459a.7948.7948 0 0 0-.3927.6813zm1.0976-2.3654l2.602-1.4998 2.6069 1.4998v2.9994l-2.5974 1.4997-2.6067-1.4997Z`})]})},{title:`Open in Claude`,href:`https://claude.ai/new?${new URLSearchParams({q:t})}`,icon:(0,s.jsxs)(`svg`,{fill:`currentColor`,role:`img`,viewBox:`0 0 24 24`,xmlns:`http://www.w3.org/2000/svg`,className:`size-4`,children:[(0,s.jsx)(`title`,{children:`Anthropic`}),(0,s.jsx)(`path`,{d:`M17.3041 3.541h-3.6718l6.696 16.918H24Zm-10.6082 0L0 20.459h3.7442l1.3693-3.5527h7.0052l1.3693 3.5528h3.7442L10.5363 3.5409Zm-.3712 10.2232 2.2914-5.9456 2.2914 5.9456Z`})]})},{title:`Open in T3 Chat`,href:`https://t3.chat/new?${new URLSearchParams({q:t})}`,icon:(0,s.jsx)(a.MessageCircleIcon,{className:`size-4`})}]},[c,e,f]);return(0,s.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,s.jsxs)(`button`,{type:`button`,disabled:l,className:t.r((0,n.buttonVariants)({color:`secondary`,size:`sm`,className:`gap-2 [&_svg]:size-3.5 [&_svg]:text-fd-muted-foreground`})),onClick:h,children:[m?(0,s.jsx)(a.Check,{}):(0,s.jsx)(a.Copy,{}),`Copy Markdown`]}),(0,s.jsxs)(r.Popover,{children:[(0,s.jsxs)(r.PopoverTrigger,{className:t.r((0,n.buttonVariants)({color:`secondary`,size:`sm`,className:`gap-2`})),children:[`Open`,(0,s.jsx)(a.ChevronDown,{className:`size-3.5 text-fd-muted-foreground`})]}),(0,s.jsx)(r.PopoverContent,{className:`flex flex-col p-1`,children:g.map(e=>(0,s.jsxs)(`a`,{href:e.href,rel:`noreferrer noopener`,target:`_blank`,className:`text-sm p-2 rounded-lg inline-flex items-center gap-2 hover:text-fd-accent-foreground hover:bg-fd-accent [&_svg]:size-4`,children:[e.icon,e.title,(0,s.jsx)(a.ExternalLinkIcon,{className:`text-fd-muted-foreground size-3.5 ms-auto`})]},e.href))})]})]})}function f({logo:n,logoHref:r=`/`,links:i,actions:u,menuActions:d,menuSocialActions:f,sidebarTrigger:p}){let[m,h]=(0,o.useState)(!1),[g,_]=(0,o.useState)(!1),v=(0,l.usePathname)();(0,o.useEffect)(()=>{let e=()=>h(window.scrollY>0);return window.addEventListener(`scroll`,e,{passive:!0}),e(),()=>window.removeEventListener(`scroll`,e)},[]),(0,o.useEffect)(()=>{_(!1)},[v]);let y=i&&i.length>0,b=d&&d.length>0,x=f&&f.length>0,S=y||b||x,C=u&&u.length>0||S;return(0,s.jsxs)(`header`,{className:t.r(`fixed top-0 left-0 right-0 z-50`,`h-(--fd-nav-height,80px)`,`border-b transition-[background-color,border-color,backdrop-filter] duration-300`,g&&`max-md:border-b-transparent`,m?`border-fd-border/60 bg-(--background)/85 backdrop-blur-xl`:`border-fd-border/60 bg-background`),children:[(0,s.jsxs)(`div`,{className:`flex items-center h-full px-4 max-w-(--fd-layout-width) mx-auto w-full`,children:[(0,s.jsxs)(`div`,{className:`flex items-center gap-2 md:gap-6`,children:[p&&(0,s.jsx)(`div`,{className:`md:hidden`,children:p}),n&&(0,s.jsx)(c.default,{href:r,className:`flex items-center rounded-sm outline-none focus-visible:ring-2 focus-visible:ring-fd-ring`,children:n}),y&&(0,s.jsx)(`nav`,{className:`hidden md:flex items-center gap-0.5`,children:i.map(n=>{let r=n.url.startsWith(`/`),i=n.activeMatch??n.url,a=r?v===i||v.startsWith(`${i}/`):!1;return(0,s.jsx)(e.n,{href:n.url,className:t.r(`px-3 py-1.5 text-[1rem] font-medium rounded-md transition-colors duration-150`,`outline-none focus-visible:ring-2 focus-visible:ring-fd-ring`,a?`text-fd-primary`:`text-fd-foreground hover:text-fd-primary`),children:n.text},n.url)})})]}),C&&(0,s.jsxs)(`div`,{className:`flex-1 flex items-center justify-end gap-2 md:gap-4`,children:[u?.map((e,t)=>(0,s.jsx)(o.Fragment,{children:e},t)),S&&(0,s.jsx)(`button`,{type:`button`,className:`md:hidden flex items-center justify-center h-8 w-8 rounded-md text-fd-foreground hover:text-fd-foreground transition-colors outline-none focus-visible:ring-2 focus-visible:ring-fd-ring`,onClick:()=>_(e=>!e),"aria-label":`Toggle menu`,"aria-expanded":g,children:g?(0,s.jsx)(a.X,{className:`h-5 w-5`}):(0,s.jsx)(a.Menu,{className:`h-5 w-5`})})]})]}),g&&(0,s.jsxs)(`div`,{className:`md:hidden fixed inset-0 z-40 bg-fd-background flex flex-col px-4 py-6`,style:{top:`var(--fd-nav-height, 80px)`},children:[(0,s.jsx)(`div`,{className:`flex-1 flex flex-col`,children:y&&i.map(n=>{let r=n.url.startsWith(`/`),i=n.activeMatch??n.url,a=r?v===i||v.startsWith(i+`/`):!1;return(0,s.jsx)(e.n,{href:n.url,className:t.r(`px-3 py-3 text-[1.125rem] font-medium rounded-md transition-colors duration-150 w-full`,`outline-none focus-visible:ring-2 focus-visible:ring-fd-ring`,a?`text-fd-primary`:`text-fd-foreground hover:text-fd-primary`),children:n.text},n.url)})}),b&&(0,s.jsxs)(`div`,{className:`flex items-center justify-between py-4 border-t border-fd-border`,children:[(0,s.jsx)(`span`,{className:`text-sm font-medium text-fd-foreground`,children:`Appearance`}),(0,s.jsx)(`div`,{className:`flex items-center gap-2`,children:d.map((e,t)=>(0,s.jsx)(`div`,{children:e},t))})]}),x&&(0,s.jsx)(`div`,{className:`py-4 flex items-center justify-center gap-4`,children:f.map((e,t)=>(0,s.jsx)(`div`,{children:e},t))})]})]})}exports.AIActions=d,exports.CodeBlock=e.r,exports.CodeBlockTab=e.i,exports.CodeBlockTabs=e.a,exports.CodeBlockTabsList=e.o,exports.CodeBlockTabsTrigger=e.s,exports.ExternalLink=e.n,exports.Header=f,exports.Heading=e.t,exports.Pre=e.c;
@@ -81,6 +81,39 @@ interface ExternalLinkProps extends ComponentProps<typeof FumadocsLink> {
81
81
  */
82
82
  declare const ExternalLink: FC<ExternalLinkProps>;
83
83
  //#endregion
84
+ //#region src/components/header.d.ts
85
+ type HeaderLink = {
86
+ text: string;
87
+ url: string;
88
+ /**
89
+ * Pathname prefix to match for the active state.
90
+ * Defaults to the link's own URL path for internal links.
91
+ * External links are never marked active.
92
+ */
93
+ activeMatch?: string;
94
+ };
95
+ type HeaderProps = {
96
+ logo?: ReactNode;
97
+ logoHref?: string;
98
+ links?: HeaderLink[];
99
+ actions?: ReactNode[];
100
+ /** Rendered in the mobile menu "Appearance" row (label left, content right). */
101
+ menuActions?: ReactNode[];
102
+ /** Rendered centered at the very bottom of the mobile menu (e.g. social icons). */
103
+ menuSocialActions?: ReactNode[];
104
+ /** Optional trigger rendered left of the logo on mobile (e.g. sidebar toggle). */
105
+ sidebarTrigger?: ReactNode;
106
+ };
107
+ declare function Header({
108
+ logo,
109
+ logoHref,
110
+ links,
111
+ actions,
112
+ menuActions,
113
+ menuSocialActions,
114
+ sidebarTrigger
115
+ }: HeaderProps): react_jsx_runtime0.JSX.Element;
116
+ //#endregion
84
117
  //#region src/components/heading.d.ts
85
118
  type Types = "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
86
119
  type HeadingProps<T extends Types> = Omit<ComponentPropsWithoutRef<T>, "as"> & {
@@ -93,4 +126,4 @@ declare function Heading<T extends Types = "h1">({
93
126
  ...props
94
127
  }: HeadingProps<T>): react_jsx_runtime0.JSX.Element;
95
128
  //#endregion
96
- export { AIActions, CodeBlock, CodeBlockProps, CodeBlockTab, CodeBlockTabs, CodeBlockTabsList, CodeBlockTabsTrigger, ExternalLink, ExternalLinkProps, Heading, Pre };
129
+ export { AIActions, CodeBlock, CodeBlockProps, CodeBlockTab, CodeBlockTabs, CodeBlockTabsList, CodeBlockTabsTrigger, ExternalLink, ExternalLinkProps, Header, HeaderLink, HeaderProps, Heading, Pre };
@@ -81,6 +81,39 @@ interface ExternalLinkProps extends ComponentProps<typeof FumadocsLink> {
81
81
  */
82
82
  declare const ExternalLink: FC<ExternalLinkProps>;
83
83
  //#endregion
84
+ //#region src/components/header.d.ts
85
+ type HeaderLink = {
86
+ text: string;
87
+ url: string;
88
+ /**
89
+ * Pathname prefix to match for the active state.
90
+ * Defaults to the link's own URL path for internal links.
91
+ * External links are never marked active.
92
+ */
93
+ activeMatch?: string;
94
+ };
95
+ type HeaderProps = {
96
+ logo?: ReactNode;
97
+ logoHref?: string;
98
+ links?: HeaderLink[];
99
+ actions?: ReactNode[];
100
+ /** Rendered in the mobile menu "Appearance" row (label left, content right). */
101
+ menuActions?: ReactNode[];
102
+ /** Rendered centered at the very bottom of the mobile menu (e.g. social icons). */
103
+ menuSocialActions?: ReactNode[];
104
+ /** Optional trigger rendered left of the logo on mobile (e.g. sidebar toggle). */
105
+ sidebarTrigger?: ReactNode;
106
+ };
107
+ declare function Header({
108
+ logo,
109
+ logoHref,
110
+ links,
111
+ actions,
112
+ menuActions,
113
+ menuSocialActions,
114
+ sidebarTrigger
115
+ }: HeaderProps): react_jsx_runtime0.JSX.Element;
116
+ //#endregion
84
117
  //#region src/components/heading.d.ts
85
118
  type Types = "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
86
119
  type HeadingProps<T extends Types> = Omit<ComponentPropsWithoutRef<T>, "as"> & {
@@ -93,4 +126,4 @@ declare function Heading<T extends Types = "h1">({
93
126
  ...props
94
127
  }: HeadingProps<T>): react_jsx_runtime0.JSX.Element;
95
128
  //#endregion
96
- export { AIActions, CodeBlock, CodeBlockProps, CodeBlockTab, CodeBlockTabs, CodeBlockTabsList, CodeBlockTabsTrigger, ExternalLink, ExternalLinkProps, Heading, Pre };
129
+ export { AIActions, CodeBlock, CodeBlockProps, CodeBlockTab, CodeBlockTabs, CodeBlockTabsList, CodeBlockTabsTrigger, ExternalLink, ExternalLinkProps, Header, HeaderLink, HeaderProps, Heading, Pre };
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{r as e}from"../url-CZOXzYIy.mjs";import{a as t,c as n,i as r,n as i,o as a,r as o,s,t as c}from"../heading-CvyTA_oR.mjs";import{buttonVariants as l}from"fumadocs-ui/components/ui/button";import{Popover as u,PopoverContent as d,PopoverTrigger as f}from"fumadocs-ui/components/ui/popover";import{useCopyButton as p}from"fumadocs-ui/utils/use-copy-button";import{Check as m,ChevronDown as h,Copy as g,ExternalLinkIcon as _,MessageCircleIcon as v}from"lucide-react";import{useEffect as y,useMemo as b,useState as x}from"react";import{jsx as S,jsxs as C}from"react/jsx-runtime";const w=new Map;function T({markdownUrl:t,githubUrl:n}){let[r,i]=x(!1),[a,o]=x(null);y(()=>{o(window.location.origin)},[]);let[s,c]=p(async()=>{let e=w.get(t);if(e)return navigator.clipboard.writeText(e);i(!0);try{await navigator.clipboard.write([new ClipboardItem({"text/plain":fetch(t).then(async e=>{if(!e.ok)throw Error(`Failed to fetch markdown: ${e.statusText}`);let n=await e.text();return w.set(t,n),n})})])}catch(e){console.error(e)}finally{i(!1)}}),T=b(()=>{if(!a)return[];let e=`Read ${new URL(t,a)}, I want to ask questions about it.`;return[{title:`Open in GitHub`,href:n,icon:C(`svg`,{fill:`currentColor`,role:`img`,viewBox:`0 0 24 24`,className:`size-4`,children:[S(`title`,{children:`GitHub`}),S(`path`,{d:`M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12`})]})},{title:`Open in Scira AI`,href:`https://scira.ai/?${new URLSearchParams({q:e})}`,icon:C(`svg`,{width:`910`,height:`934`,viewBox:`0 0 910 934`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,className:`size-4`,children:[S(`title`,{children:`Scira AI`}),S(`path`,{d:`M647.664 197.775C569.13 189.049 525.5 145.419 516.774 66.8849C508.048 145.419 464.418 189.049 385.884 197.775C464.418 206.501 508.048 250.131 516.774 328.665C525.5 250.131 569.13 206.501 647.664 197.775Z`,fill:`currentColor`,stroke:`currentColor`,strokeWidth:`8`,strokeLinejoin:`round`}),S(`path`,{d:`M516.774 304.217C510.299 275.491 498.208 252.087 480.335 234.214C462.462 216.341 439.058 204.251 410.333 197.775C439.059 191.3 462.462 179.209 480.335 161.336C498.208 143.463 510.299 120.06 516.774 91.334C523.25 120.059 535.34 143.463 553.213 161.336C571.086 179.209 594.49 191.3 623.216 197.775C594.49 204.251 571.086 216.341 553.213 234.214C535.34 252.087 523.25 275.491 516.774 304.217Z`,fill:`currentColor`,stroke:`currentColor`,strokeWidth:`8`,strokeLinejoin:`round`}),S(`path`,{d:`M857.5 508.116C763.259 497.644 710.903 445.288 700.432 351.047C689.961 445.288 637.605 497.644 543.364 508.116C637.605 518.587 689.961 570.943 700.432 665.184C710.903 570.943 763.259 518.587 857.5 508.116Z`,stroke:`currentColor`,strokeWidth:`20`,strokeLinejoin:`round`}),S(`path`,{d:`M700.432 615.957C691.848 589.05 678.575 566.357 660.383 548.165C642.191 529.973 619.499 516.7 592.593 508.116C619.499 499.533 642.191 486.258 660.383 468.066C678.575 449.874 691.848 427.181 700.432 400.274C709.015 427.181 722.289 449.874 740.481 468.066C758.673 486.258 781.365 499.533 808.271 508.116C781.365 516.7 758.673 529.973 740.481 548.165C722.289 566.357 709.015 589.05 700.432 615.957Z`,stroke:`currentColor`,strokeWidth:`20`,strokeLinejoin:`round`}),S(`path`,{d:`M889.949 121.237C831.049 114.692 798.326 81.9698 791.782 23.0692C785.237 81.9698 752.515 114.692 693.614 121.237C752.515 127.781 785.237 160.504 791.782 219.404C798.326 160.504 831.049 127.781 889.949 121.237Z`,fill:`currentColor`,stroke:`currentColor`,strokeWidth:`8`,strokeLinejoin:`round`}),S(`path`,{d:`M791.782 196.795C786.697 176.937 777.869 160.567 765.16 147.858C752.452 135.15 736.082 126.322 716.226 121.237C736.082 116.152 752.452 107.324 765.16 94.6152C777.869 81.9065 786.697 65.5368 791.782 45.6797C796.867 65.5367 805.695 81.9066 818.403 94.6152C831.112 107.324 847.481 116.152 867.338 121.237C847.481 126.322 831.112 135.15 818.403 147.858C805.694 160.567 796.867 176.937 791.782 196.795Z`,fill:`currentColor`,stroke:`currentColor`,strokeWidth:`8`,strokeLinejoin:`round`})]})},{title:`Open in ChatGPT`,href:`https://chatgpt.com/?${new URLSearchParams({hints:`search`,q:e})}`,icon:C(`svg`,{role:`img`,viewBox:`0 0 24 24`,fill:`currentColor`,xmlns:`http://www.w3.org/2000/svg`,className:`size-4`,children:[S(`title`,{children:`OpenAI`}),S(`path`,{d:`M22.2819 9.8211a5.9847 5.9847 0 0 0-.5157-4.9108 6.0462 6.0462 0 0 0-6.5098-2.9A6.0651 6.0651 0 0 0 4.9807 4.1818a5.9847 5.9847 0 0 0-3.9977 2.9 6.0462 6.0462 0 0 0 .7427 7.0966 5.98 5.98 0 0 0 .511 4.9107 6.051 6.051 0 0 0 6.5146 2.9001A5.9847 5.9847 0 0 0 13.2599 24a6.0557 6.0557 0 0 0 5.7718-4.2058 5.9894 5.9894 0 0 0 3.9977-2.9001 6.0557 6.0557 0 0 0-.7475-7.0729zm-9.022 12.6081a4.4755 4.4755 0 0 1-2.8764-1.0408l.1419-.0804 4.7783-2.7582a.7948.7948 0 0 0 .3927-.6813v-6.7369l2.02 1.1686a.071.071 0 0 1 .038.052v5.5826a4.504 4.504 0 0 1-4.4945 4.4944zm-9.6607-4.1254a4.4708 4.4708 0 0 1-.5346-3.0137l.142.0852 4.783 2.7582a.7712.7712 0 0 0 .7806 0l5.8428-3.3685v2.3324a.0804.0804 0 0 1-.0332.0615L9.74 19.9502a4.4992 4.4992 0 0 1-6.1408-1.6464zM2.3408 7.8956a4.485 4.485 0 0 1 2.3655-1.9728V11.6a.7664.7664 0 0 0 .3879.6765l5.8144 3.3543-2.0201 1.1685a.0757.0757 0 0 1-.071 0l-4.8303-2.7865A4.504 4.504 0 0 1 2.3408 7.872zm16.5963 3.8558L13.1038 8.364 15.1192 7.2a.0757.0757 0 0 1 .071 0l4.8303 2.7913a4.4944 4.4944 0 0 1-.6765 8.1042v-5.6772a.79.79 0 0 0-.407-.667zm2.0107-3.0231l-.142-.0852-4.7735-2.7818a.7759.7759 0 0 0-.7854 0L9.409 9.2297V6.8974a.0662.0662 0 0 1 .0284-.0615l4.8303-2.7866a4.4992 4.4992 0 0 1 6.6802 4.66zM8.3065 12.863l-2.02-1.1638a.0804.0804 0 0 1-.038-.0567V6.0742a4.4992 4.4992 0 0 1 7.3757-3.4537l-.142.0805L8.704 5.459a.7948.7948 0 0 0-.3927.6813zm1.0976-2.3654l2.602-1.4998 2.6069 1.4998v2.9994l-2.5974 1.4997-2.6067-1.4997Z`})]})},{title:`Open in Claude`,href:`https://claude.ai/new?${new URLSearchParams({q:e})}`,icon:C(`svg`,{fill:`currentColor`,role:`img`,viewBox:`0 0 24 24`,xmlns:`http://www.w3.org/2000/svg`,className:`size-4`,children:[S(`title`,{children:`Anthropic`}),S(`path`,{d:`M17.3041 3.541h-3.6718l6.696 16.918H24Zm-10.6082 0L0 20.459h3.7442l1.3693-3.5527h7.0052l1.3693 3.5528h3.7442L10.5363 3.5409Zm-.3712 10.2232 2.2914-5.9456 2.2914 5.9456Z`})]})},{title:`Open in T3 Chat`,href:`https://t3.chat/new?${new URLSearchParams({q:e})}`,icon:S(v,{className:`size-4`})}]},[n,t,a]);return C(`div`,{className:`flex items-center gap-2`,children:[C(`button`,{type:`button`,disabled:r,className:e(l({color:`secondary`,size:`sm`,className:`gap-2 [&_svg]:size-3.5 [&_svg]:text-fd-muted-foreground`})),onClick:c,children:[S(s?m:g,{}),`Copy Markdown`]}),C(u,{children:[C(f,{className:e(l({color:`secondary`,size:`sm`,className:`gap-2`})),children:[`Open`,S(h,{className:`size-3.5 text-fd-muted-foreground`})]}),S(d,{className:`flex flex-col p-1`,children:T.map(e=>C(`a`,{href:e.href,rel:`noreferrer noopener`,target:`_blank`,className:`text-sm p-2 rounded-lg inline-flex items-center gap-2 hover:text-fd-accent-foreground hover:bg-fd-accent [&_svg]:size-4`,children:[e.icon,e.title,S(_,{className:`text-fd-muted-foreground size-3.5 ms-auto`})]},e.href))})]})]})}export{T as AIActions,o as CodeBlock,r as CodeBlockTab,t as CodeBlockTabs,a as CodeBlockTabsList,s as CodeBlockTabsTrigger,i as ExternalLink,c as Heading,n as Pre};
2
+ import{r as e}from"../url-CZOXzYIy.mjs";import{a as t,c as n,i as r,n as i,o as a,r as o,s,t as c}from"../heading-CvyTA_oR.mjs";import{buttonVariants as l}from"fumadocs-ui/components/ui/button";import{Popover as u,PopoverContent as d,PopoverTrigger as f}from"fumadocs-ui/components/ui/popover";import{useCopyButton as p}from"fumadocs-ui/utils/use-copy-button";import{Check as m,ChevronDown as h,Copy as g,ExternalLinkIcon as _,Menu as v,MessageCircleIcon as y,X as b}from"lucide-react";import{Fragment as x,useEffect as S,useMemo as C,useState as w}from"react";import{jsx as T,jsxs as E}from"react/jsx-runtime";import D from"fumadocs-core/link";import{usePathname as O}from"next/navigation";const k=new Map;function A({markdownUrl:t,githubUrl:n}){let[r,i]=w(!1),[a,o]=w(null);S(()=>{o(window.location.origin)},[]);let[s,c]=p(async()=>{let e=k.get(t);if(e)return navigator.clipboard.writeText(e);i(!0);try{await navigator.clipboard.write([new ClipboardItem({"text/plain":fetch(t).then(async e=>{if(!e.ok)throw Error(`Failed to fetch markdown: ${e.statusText}`);let n=await e.text();return k.set(t,n),n})})])}catch(e){console.error(e)}finally{i(!1)}}),v=C(()=>{if(!a)return[];let e=`Read ${new URL(t,a)}, I want to ask questions about it.`;return[{title:`Open in GitHub`,href:n,icon:E(`svg`,{fill:`currentColor`,role:`img`,viewBox:`0 0 24 24`,className:`size-4`,children:[T(`title`,{children:`GitHub`}),T(`path`,{d:`M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12`})]})},{title:`Open in Scira AI`,href:`https://scira.ai/?${new URLSearchParams({q:e})}`,icon:E(`svg`,{width:`910`,height:`934`,viewBox:`0 0 910 934`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,className:`size-4`,children:[T(`title`,{children:`Scira AI`}),T(`path`,{d:`M647.664 197.775C569.13 189.049 525.5 145.419 516.774 66.8849C508.048 145.419 464.418 189.049 385.884 197.775C464.418 206.501 508.048 250.131 516.774 328.665C525.5 250.131 569.13 206.501 647.664 197.775Z`,fill:`currentColor`,stroke:`currentColor`,strokeWidth:`8`,strokeLinejoin:`round`}),T(`path`,{d:`M516.774 304.217C510.299 275.491 498.208 252.087 480.335 234.214C462.462 216.341 439.058 204.251 410.333 197.775C439.059 191.3 462.462 179.209 480.335 161.336C498.208 143.463 510.299 120.06 516.774 91.334C523.25 120.059 535.34 143.463 553.213 161.336C571.086 179.209 594.49 191.3 623.216 197.775C594.49 204.251 571.086 216.341 553.213 234.214C535.34 252.087 523.25 275.491 516.774 304.217Z`,fill:`currentColor`,stroke:`currentColor`,strokeWidth:`8`,strokeLinejoin:`round`}),T(`path`,{d:`M857.5 508.116C763.259 497.644 710.903 445.288 700.432 351.047C689.961 445.288 637.605 497.644 543.364 508.116C637.605 518.587 689.961 570.943 700.432 665.184C710.903 570.943 763.259 518.587 857.5 508.116Z`,stroke:`currentColor`,strokeWidth:`20`,strokeLinejoin:`round`}),T(`path`,{d:`M700.432 615.957C691.848 589.05 678.575 566.357 660.383 548.165C642.191 529.973 619.499 516.7 592.593 508.116C619.499 499.533 642.191 486.258 660.383 468.066C678.575 449.874 691.848 427.181 700.432 400.274C709.015 427.181 722.289 449.874 740.481 468.066C758.673 486.258 781.365 499.533 808.271 508.116C781.365 516.7 758.673 529.973 740.481 548.165C722.289 566.357 709.015 589.05 700.432 615.957Z`,stroke:`currentColor`,strokeWidth:`20`,strokeLinejoin:`round`}),T(`path`,{d:`M889.949 121.237C831.049 114.692 798.326 81.9698 791.782 23.0692C785.237 81.9698 752.515 114.692 693.614 121.237C752.515 127.781 785.237 160.504 791.782 219.404C798.326 160.504 831.049 127.781 889.949 121.237Z`,fill:`currentColor`,stroke:`currentColor`,strokeWidth:`8`,strokeLinejoin:`round`}),T(`path`,{d:`M791.782 196.795C786.697 176.937 777.869 160.567 765.16 147.858C752.452 135.15 736.082 126.322 716.226 121.237C736.082 116.152 752.452 107.324 765.16 94.6152C777.869 81.9065 786.697 65.5368 791.782 45.6797C796.867 65.5367 805.695 81.9066 818.403 94.6152C831.112 107.324 847.481 116.152 867.338 121.237C847.481 126.322 831.112 135.15 818.403 147.858C805.694 160.567 796.867 176.937 791.782 196.795Z`,fill:`currentColor`,stroke:`currentColor`,strokeWidth:`8`,strokeLinejoin:`round`})]})},{title:`Open in ChatGPT`,href:`https://chatgpt.com/?${new URLSearchParams({hints:`search`,q:e})}`,icon:E(`svg`,{role:`img`,viewBox:`0 0 24 24`,fill:`currentColor`,xmlns:`http://www.w3.org/2000/svg`,className:`size-4`,children:[T(`title`,{children:`OpenAI`}),T(`path`,{d:`M22.2819 9.8211a5.9847 5.9847 0 0 0-.5157-4.9108 6.0462 6.0462 0 0 0-6.5098-2.9A6.0651 6.0651 0 0 0 4.9807 4.1818a5.9847 5.9847 0 0 0-3.9977 2.9 6.0462 6.0462 0 0 0 .7427 7.0966 5.98 5.98 0 0 0 .511 4.9107 6.051 6.051 0 0 0 6.5146 2.9001A5.9847 5.9847 0 0 0 13.2599 24a6.0557 6.0557 0 0 0 5.7718-4.2058 5.9894 5.9894 0 0 0 3.9977-2.9001 6.0557 6.0557 0 0 0-.7475-7.0729zm-9.022 12.6081a4.4755 4.4755 0 0 1-2.8764-1.0408l.1419-.0804 4.7783-2.7582a.7948.7948 0 0 0 .3927-.6813v-6.7369l2.02 1.1686a.071.071 0 0 1 .038.052v5.5826a4.504 4.504 0 0 1-4.4945 4.4944zm-9.6607-4.1254a4.4708 4.4708 0 0 1-.5346-3.0137l.142.0852 4.783 2.7582a.7712.7712 0 0 0 .7806 0l5.8428-3.3685v2.3324a.0804.0804 0 0 1-.0332.0615L9.74 19.9502a4.4992 4.4992 0 0 1-6.1408-1.6464zM2.3408 7.8956a4.485 4.485 0 0 1 2.3655-1.9728V11.6a.7664.7664 0 0 0 .3879.6765l5.8144 3.3543-2.0201 1.1685a.0757.0757 0 0 1-.071 0l-4.8303-2.7865A4.504 4.504 0 0 1 2.3408 7.872zm16.5963 3.8558L13.1038 8.364 15.1192 7.2a.0757.0757 0 0 1 .071 0l4.8303 2.7913a4.4944 4.4944 0 0 1-.6765 8.1042v-5.6772a.79.79 0 0 0-.407-.667zm2.0107-3.0231l-.142-.0852-4.7735-2.7818a.7759.7759 0 0 0-.7854 0L9.409 9.2297V6.8974a.0662.0662 0 0 1 .0284-.0615l4.8303-2.7866a4.4992 4.4992 0 0 1 6.6802 4.66zM8.3065 12.863l-2.02-1.1638a.0804.0804 0 0 1-.038-.0567V6.0742a4.4992 4.4992 0 0 1 7.3757-3.4537l-.142.0805L8.704 5.459a.7948.7948 0 0 0-.3927.6813zm1.0976-2.3654l2.602-1.4998 2.6069 1.4998v2.9994l-2.5974 1.4997-2.6067-1.4997Z`})]})},{title:`Open in Claude`,href:`https://claude.ai/new?${new URLSearchParams({q:e})}`,icon:E(`svg`,{fill:`currentColor`,role:`img`,viewBox:`0 0 24 24`,xmlns:`http://www.w3.org/2000/svg`,className:`size-4`,children:[T(`title`,{children:`Anthropic`}),T(`path`,{d:`M17.3041 3.541h-3.6718l6.696 16.918H24Zm-10.6082 0L0 20.459h3.7442l1.3693-3.5527h7.0052l1.3693 3.5528h3.7442L10.5363 3.5409Zm-.3712 10.2232 2.2914-5.9456 2.2914 5.9456Z`})]})},{title:`Open in T3 Chat`,href:`https://t3.chat/new?${new URLSearchParams({q:e})}`,icon:T(y,{className:`size-4`})}]},[n,t,a]);return E(`div`,{className:`flex items-center gap-2`,children:[E(`button`,{type:`button`,disabled:r,className:e(l({color:`secondary`,size:`sm`,className:`gap-2 [&_svg]:size-3.5 [&_svg]:text-fd-muted-foreground`})),onClick:c,children:[T(s?m:g,{}),`Copy Markdown`]}),E(u,{children:[E(f,{className:e(l({color:`secondary`,size:`sm`,className:`gap-2`})),children:[`Open`,T(h,{className:`size-3.5 text-fd-muted-foreground`})]}),T(d,{className:`flex flex-col p-1`,children:v.map(e=>E(`a`,{href:e.href,rel:`noreferrer noopener`,target:`_blank`,className:`text-sm p-2 rounded-lg inline-flex items-center gap-2 hover:text-fd-accent-foreground hover:bg-fd-accent [&_svg]:size-4`,children:[e.icon,e.title,T(_,{className:`text-fd-muted-foreground size-3.5 ms-auto`})]},e.href))})]})]})}function j({logo:t,logoHref:n=`/`,links:r,actions:a,menuActions:o,menuSocialActions:s,sidebarTrigger:c}){let[l,u]=w(!1),[d,f]=w(!1),p=O();S(()=>{let e=()=>u(window.scrollY>0);return window.addEventListener(`scroll`,e,{passive:!0}),e(),()=>window.removeEventListener(`scroll`,e)},[]),S(()=>{f(!1)},[p]);let m=r&&r.length>0,h=o&&o.length>0,g=s&&s.length>0,_=m||h||g,y=a&&a.length>0||_;return E(`header`,{className:e(`fixed top-0 left-0 right-0 z-50`,`h-(--fd-nav-height,80px)`,`border-b transition-[background-color,border-color,backdrop-filter] duration-300`,d&&`max-md:border-b-transparent`,l?`border-fd-border/60 bg-(--background)/85 backdrop-blur-xl`:`border-fd-border/60 bg-background`),children:[E(`div`,{className:`flex items-center h-full px-4 max-w-(--fd-layout-width) mx-auto w-full`,children:[E(`div`,{className:`flex items-center gap-2 md:gap-6`,children:[c&&T(`div`,{className:`md:hidden`,children:c}),t&&T(D,{href:n,className:`flex items-center rounded-sm outline-none focus-visible:ring-2 focus-visible:ring-fd-ring`,children:t}),m&&T(`nav`,{className:`hidden md:flex items-center gap-0.5`,children:r.map(t=>{let n=t.url.startsWith(`/`),r=t.activeMatch??t.url,a=n?p===r||p.startsWith(`${r}/`):!1;return T(i,{href:t.url,className:e(`px-3 py-1.5 text-[1rem] font-medium rounded-md transition-colors duration-150`,`outline-none focus-visible:ring-2 focus-visible:ring-fd-ring`,a?`text-fd-primary`:`text-fd-foreground hover:text-fd-primary`),children:t.text},t.url)})})]}),y&&E(`div`,{className:`flex-1 flex items-center justify-end gap-2 md:gap-4`,children:[a?.map((e,t)=>T(x,{children:e},t)),_&&T(`button`,{type:`button`,className:`md:hidden flex items-center justify-center h-8 w-8 rounded-md text-fd-foreground hover:text-fd-foreground transition-colors outline-none focus-visible:ring-2 focus-visible:ring-fd-ring`,onClick:()=>f(e=>!e),"aria-label":`Toggle menu`,"aria-expanded":d,children:T(d?b:v,{className:`h-5 w-5`})})]})]}),d&&E(`div`,{className:`md:hidden fixed inset-0 z-40 bg-fd-background flex flex-col px-4 py-6`,style:{top:`var(--fd-nav-height, 80px)`},children:[T(`div`,{className:`flex-1 flex flex-col`,children:m&&r.map(t=>{let n=t.url.startsWith(`/`),r=t.activeMatch??t.url,a=n?p===r||p.startsWith(r+`/`):!1;return T(i,{href:t.url,className:e(`px-3 py-3 text-[1.125rem] font-medium rounded-md transition-colors duration-150 w-full`,`outline-none focus-visible:ring-2 focus-visible:ring-fd-ring`,a?`text-fd-primary`:`text-fd-foreground hover:text-fd-primary`),children:t.text},t.url)})}),h&&E(`div`,{className:`flex items-center justify-between py-4 border-t border-fd-border`,children:[T(`span`,{className:`text-sm font-medium text-fd-foreground`,children:`Appearance`}),T(`div`,{className:`flex items-center gap-2`,children:o.map((e,t)=>T(`div`,{children:e},t))})]}),g&&T(`div`,{className:`py-4 flex items-center justify-center gap-4`,children:s.map((e,t)=>T(`div`,{children:e},t))})]})]})}export{A as AIActions,o as CodeBlock,r as CodeBlockTab,t as CodeBlockTabs,a as CodeBlockTabsList,s as CodeBlockTabsTrigger,i as ExternalLink,j as Header,c as Heading,n as Pre};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arkenv/fumadocs-ui",
3
- "version": "0.0.3",
3
+ "version": "0.0.5",
4
4
  "type": "module",
5
5
  "repository": {
6
6
  "type": "git",
@@ -46,6 +46,7 @@
46
46
  "fumadocs-core": "16.4.7",
47
47
  "fumadocs-ui": "16.4.7",
48
48
  "lucide-react": "0.562.0",
49
+ "next": ">=14",
49
50
  "react": "19.2.3",
50
51
  "react-dom": "19.2.3",
51
52
  "tailwindcss": "4.1.18"
@@ -58,6 +59,7 @@
58
59
  "fumadocs-core": "16.4.7",
59
60
  "fumadocs-ui": "16.4.7",
60
61
  "lucide-react": "0.562.0",
62
+ "next": "16.1.5",
61
63
  "react": "19.2.3",
62
64
  "react-dom": "19.2.3",
63
65
  "rimraf": "6.1.2",
@@ -70,6 +72,7 @@
70
72
  "access": "public"
71
73
  },
72
74
  "scripts": {
75
+ "dev": "tsdown --watch",
73
76
  "build": "tsdown",
74
77
  "clean": "rimraf dist",
75
78
  "typecheck": "tsc --noEmit",