fumadocs-ui 16.4.7 → 16.4.9

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 (238) hide show
  1. package/dist/components/accordion.d.ts +4 -5
  2. package/dist/components/accordion.js +1 -2
  3. package/dist/components/banner.d.ts +3 -4
  4. package/dist/components/banner.js +1 -2
  5. package/dist/components/callout.d.ts +6 -7
  6. package/dist/components/callout.js +1 -2
  7. package/dist/components/card.d.ts +4 -5
  8. package/dist/components/card.js +1 -2
  9. package/dist/components/codeblock.d.ts +8 -9
  10. package/dist/components/codeblock.js +1 -2
  11. package/dist/components/dialog/search-algolia.d.ts +3 -4
  12. package/dist/components/dialog/search-algolia.js +1 -2
  13. package/dist/components/dialog/search-default.d.ts +3 -4
  14. package/dist/components/dialog/search-default.js +1 -2
  15. package/dist/components/dialog/search-orama.d.ts +3 -4
  16. package/dist/components/dialog/search-orama.js +1 -2
  17. package/dist/components/dialog/search.d.ts +14 -15
  18. package/dist/components/dialog/search.js +1 -2
  19. package/dist/components/dynamic-codeblock.d.ts +3 -4
  20. package/dist/components/dynamic-codeblock.js +1 -2
  21. package/dist/components/files.d.ts +1 -2
  22. package/dist/components/files.js +1 -2
  23. package/dist/components/github-info.d.ts +3 -4
  24. package/dist/components/github-info.js +1 -2
  25. package/dist/components/heading.d.ts +1 -2
  26. package/dist/components/heading.js +1 -2
  27. package/dist/components/image-zoom-CtfZieBH.css +0 -2
  28. package/dist/components/image-zoom.d.ts +3 -4
  29. package/dist/components/image-zoom.js +1 -2
  30. package/dist/components/inline-toc.d.ts +3 -4
  31. package/dist/components/inline-toc.js +1 -2
  32. package/dist/components/sidebar/base.d.ts +16 -17
  33. package/dist/components/sidebar/base.js +1 -2
  34. package/dist/components/sidebar/link-item.d.ts +3 -4
  35. package/dist/components/sidebar/link-item.js +1 -2
  36. package/dist/components/sidebar/page-tree.d.ts +3 -4
  37. package/dist/components/sidebar/page-tree.js +1 -2
  38. package/dist/components/sidebar/tabs/dropdown.d.ts +3 -4
  39. package/dist/components/sidebar/tabs/dropdown.js +1 -2
  40. package/dist/components/sidebar/tabs/index.d.ts +1 -2
  41. package/dist/components/sidebar/tabs/index.js +1 -2
  42. package/dist/components/steps.d.ts +4 -5
  43. package/dist/components/steps.js +1 -2
  44. package/dist/components/tabs.d.ts +5 -6
  45. package/dist/components/tabs.js +1 -2
  46. package/dist/components/toc/clerk.js +1 -2
  47. package/dist/components/toc/default.js +1 -2
  48. package/dist/components/toc/index.js +1 -2
  49. package/dist/components/type-table.d.ts +3 -4
  50. package/dist/components/type-table.js +1 -2
  51. package/dist/components/ui/accordion.d.ts +7 -8
  52. package/dist/components/ui/accordion.js +1 -2
  53. package/dist/components/ui/button.d.ts +2 -3
  54. package/dist/components/ui/button.js +1 -2
  55. package/dist/components/ui/collapsible.d.ts +5 -6
  56. package/dist/components/ui/collapsible.js +1 -2
  57. package/dist/components/ui/navigation-menu.d.ts +1 -2
  58. package/dist/components/ui/navigation-menu.js +1 -2
  59. package/dist/components/ui/popover.d.ts +1 -2
  60. package/dist/components/ui/popover.js +1 -2
  61. package/dist/components/ui/scroll-area.d.ts +1 -2
  62. package/dist/components/ui/scroll-area.js +1 -2
  63. package/dist/components/ui/tabs.d.ts +7 -8
  64. package/dist/components/ui/tabs.js +1 -2
  65. package/dist/contexts/i18n.js +1 -2
  66. package/dist/contexts/search.d.ts +1 -2
  67. package/dist/contexts/search.js +1 -2
  68. package/dist/contexts/tree.js +1 -2
  69. package/dist/layouts/docs/client.d.ts +8 -9
  70. package/dist/layouts/docs/client.js +1 -2
  71. package/dist/layouts/docs/index.d.ts +3 -4
  72. package/dist/layouts/docs/index.js +1 -2
  73. package/dist/layouts/docs/page/client.d.ts +8 -9
  74. package/dist/layouts/docs/page/client.js +1 -2
  75. package/dist/layouts/docs/page/index.d.ts +6 -7
  76. package/dist/layouts/docs/page/index.js +1 -2
  77. package/dist/layouts/docs/sidebar.d.ts +13 -14
  78. package/dist/layouts/docs/sidebar.js +1 -2
  79. package/dist/layouts/home/client.d.ts +4 -5
  80. package/dist/layouts/home/client.js +1 -2
  81. package/dist/layouts/home/index.d.ts +3 -4
  82. package/dist/layouts/home/index.js +1 -2
  83. package/dist/layouts/home/navbar.d.ts +7 -8
  84. package/dist/layouts/home/navbar.js +1 -2
  85. package/dist/layouts/notebook/client.d.ts +9 -10
  86. package/dist/layouts/notebook/client.js +1 -2
  87. package/dist/layouts/notebook/index.d.ts +3 -4
  88. package/dist/layouts/notebook/index.js +1 -2
  89. package/dist/layouts/notebook/page/client.d.ts +8 -9
  90. package/dist/layouts/notebook/page/client.js +1 -2
  91. package/dist/layouts/notebook/page/index.d.ts +6 -7
  92. package/dist/layouts/notebook/page/index.js +1 -2
  93. package/dist/layouts/notebook/sidebar.d.ts +18 -19
  94. package/dist/layouts/notebook/sidebar.js +1 -2
  95. package/dist/layouts/shared/index.d.ts +4 -5
  96. package/dist/layouts/shared/index.js +1 -2
  97. package/dist/layouts/shared/language-toggle.d.ts +3 -4
  98. package/dist/layouts/shared/language-toggle.js +1 -2
  99. package/dist/layouts/shared/search-toggle.d.ts +4 -5
  100. package/dist/layouts/shared/search-toggle.js +1 -2
  101. package/dist/layouts/shared/theme-toggle.d.ts +3 -4
  102. package/dist/layouts/shared/theme-toggle.js +1 -2
  103. package/dist/mdx.d.ts +11 -12
  104. package/dist/mdx.js +1 -2
  105. package/dist/mdx.server.d.ts +1 -2
  106. package/dist/mdx.server.js +1 -2
  107. package/dist/page.d.ts +4 -5
  108. package/dist/page.js +1 -2
  109. package/dist/provider/base.d.ts +3 -4
  110. package/dist/provider/base.js +1 -2
  111. package/dist/provider/next.d.ts +1 -2
  112. package/dist/provider/next.js +1 -2
  113. package/dist/provider/react-router.d.ts +1 -2
  114. package/dist/provider/react-router.js +1 -2
  115. package/dist/provider/tanstack.d.ts +3 -4
  116. package/dist/provider/tanstack.js +1 -2
  117. package/dist/provider/waku.d.ts +3 -4
  118. package/dist/provider/waku.js +1 -2
  119. package/dist/style.css +0 -5
  120. package/package.json +8 -8
  121. package/dist/components/accordion.d.ts.map +0 -1
  122. package/dist/components/accordion.js.map +0 -1
  123. package/dist/components/banner.d.ts.map +0 -1
  124. package/dist/components/banner.js.map +0 -1
  125. package/dist/components/callout.d.ts.map +0 -1
  126. package/dist/components/callout.js.map +0 -1
  127. package/dist/components/card.d.ts.map +0 -1
  128. package/dist/components/card.js.map +0 -1
  129. package/dist/components/codeblock.d.ts.map +0 -1
  130. package/dist/components/codeblock.js.map +0 -1
  131. package/dist/components/dialog/search-algolia.d.ts.map +0 -1
  132. package/dist/components/dialog/search-algolia.js.map +0 -1
  133. package/dist/components/dialog/search-default.d.ts.map +0 -1
  134. package/dist/components/dialog/search-default.js.map +0 -1
  135. package/dist/components/dialog/search-orama.d.ts.map +0 -1
  136. package/dist/components/dialog/search-orama.js.map +0 -1
  137. package/dist/components/dialog/search.d.ts.map +0 -1
  138. package/dist/components/dialog/search.js.map +0 -1
  139. package/dist/components/dynamic-codeblock.d.ts.map +0 -1
  140. package/dist/components/dynamic-codeblock.js.map +0 -1
  141. package/dist/components/files.d.ts.map +0 -1
  142. package/dist/components/files.js.map +0 -1
  143. package/dist/components/github-info.d.ts.map +0 -1
  144. package/dist/components/github-info.js.map +0 -1
  145. package/dist/components/heading.d.ts.map +0 -1
  146. package/dist/components/heading.js.map +0 -1
  147. package/dist/components/image-zoom-CtfZieBH.css.map +0 -1
  148. package/dist/components/image-zoom.d.ts.map +0 -1
  149. package/dist/components/image-zoom.js.map +0 -1
  150. package/dist/components/inline-toc.d.ts.map +0 -1
  151. package/dist/components/inline-toc.js.map +0 -1
  152. package/dist/components/sidebar/base.d.ts.map +0 -1
  153. package/dist/components/sidebar/base.js.map +0 -1
  154. package/dist/components/sidebar/link-item.d.ts.map +0 -1
  155. package/dist/components/sidebar/link-item.js.map +0 -1
  156. package/dist/components/sidebar/page-tree.d.ts.map +0 -1
  157. package/dist/components/sidebar/page-tree.js.map +0 -1
  158. package/dist/components/sidebar/tabs/dropdown.d.ts.map +0 -1
  159. package/dist/components/sidebar/tabs/dropdown.js.map +0 -1
  160. package/dist/components/sidebar/tabs/index.d.ts.map +0 -1
  161. package/dist/components/sidebar/tabs/index.js.map +0 -1
  162. package/dist/components/steps.d.ts.map +0 -1
  163. package/dist/components/steps.js.map +0 -1
  164. package/dist/components/tabs.d.ts.map +0 -1
  165. package/dist/components/tabs.js.map +0 -1
  166. package/dist/components/toc/clerk.js.map +0 -1
  167. package/dist/components/toc/default.js.map +0 -1
  168. package/dist/components/toc/index.js.map +0 -1
  169. package/dist/components/type-table.d.ts.map +0 -1
  170. package/dist/components/type-table.js.map +0 -1
  171. package/dist/components/ui/accordion.d.ts.map +0 -1
  172. package/dist/components/ui/accordion.js.map +0 -1
  173. package/dist/components/ui/button.d.ts.map +0 -1
  174. package/dist/components/ui/button.js.map +0 -1
  175. package/dist/components/ui/collapsible.d.ts.map +0 -1
  176. package/dist/components/ui/collapsible.js.map +0 -1
  177. package/dist/components/ui/navigation-menu.d.ts.map +0 -1
  178. package/dist/components/ui/navigation-menu.js.map +0 -1
  179. package/dist/components/ui/popover.d.ts.map +0 -1
  180. package/dist/components/ui/popover.js.map +0 -1
  181. package/dist/components/ui/scroll-area.d.ts.map +0 -1
  182. package/dist/components/ui/scroll-area.js.map +0 -1
  183. package/dist/components/ui/tabs.d.ts.map +0 -1
  184. package/dist/components/ui/tabs.js.map +0 -1
  185. package/dist/contexts/i18n.js.map +0 -1
  186. package/dist/contexts/search.d.ts.map +0 -1
  187. package/dist/contexts/search.js.map +0 -1
  188. package/dist/contexts/tree.js.map +0 -1
  189. package/dist/layouts/docs/client.d.ts.map +0 -1
  190. package/dist/layouts/docs/client.js.map +0 -1
  191. package/dist/layouts/docs/index.d.ts.map +0 -1
  192. package/dist/layouts/docs/index.js.map +0 -1
  193. package/dist/layouts/docs/page/client.d.ts.map +0 -1
  194. package/dist/layouts/docs/page/client.js.map +0 -1
  195. package/dist/layouts/docs/page/index.d.ts.map +0 -1
  196. package/dist/layouts/docs/page/index.js.map +0 -1
  197. package/dist/layouts/docs/sidebar.d.ts.map +0 -1
  198. package/dist/layouts/docs/sidebar.js.map +0 -1
  199. package/dist/layouts/home/client.d.ts.map +0 -1
  200. package/dist/layouts/home/client.js.map +0 -1
  201. package/dist/layouts/home/index.d.ts.map +0 -1
  202. package/dist/layouts/home/index.js.map +0 -1
  203. package/dist/layouts/home/navbar.d.ts.map +0 -1
  204. package/dist/layouts/home/navbar.js.map +0 -1
  205. package/dist/layouts/notebook/client.d.ts.map +0 -1
  206. package/dist/layouts/notebook/client.js.map +0 -1
  207. package/dist/layouts/notebook/index.d.ts.map +0 -1
  208. package/dist/layouts/notebook/index.js.map +0 -1
  209. package/dist/layouts/notebook/page/client.d.ts.map +0 -1
  210. package/dist/layouts/notebook/page/client.js.map +0 -1
  211. package/dist/layouts/notebook/page/index.d.ts.map +0 -1
  212. package/dist/layouts/notebook/page/index.js.map +0 -1
  213. package/dist/layouts/notebook/sidebar.d.ts.map +0 -1
  214. package/dist/layouts/notebook/sidebar.js.map +0 -1
  215. package/dist/layouts/shared/index.d.ts.map +0 -1
  216. package/dist/layouts/shared/index.js.map +0 -1
  217. package/dist/layouts/shared/language-toggle.d.ts.map +0 -1
  218. package/dist/layouts/shared/language-toggle.js.map +0 -1
  219. package/dist/layouts/shared/search-toggle.d.ts.map +0 -1
  220. package/dist/layouts/shared/search-toggle.js.map +0 -1
  221. package/dist/layouts/shared/theme-toggle.d.ts.map +0 -1
  222. package/dist/layouts/shared/theme-toggle.js.map +0 -1
  223. package/dist/mdx.d.ts.map +0 -1
  224. package/dist/mdx.js.map +0 -1
  225. package/dist/mdx.server.d.ts.map +0 -1
  226. package/dist/mdx.server.js.map +0 -1
  227. package/dist/page.d.ts.map +0 -1
  228. package/dist/page.js.map +0 -1
  229. package/dist/provider/base.d.ts.map +0 -1
  230. package/dist/provider/base.js.map +0 -1
  231. package/dist/provider/next.d.ts.map +0 -1
  232. package/dist/provider/next.js.map +0 -1
  233. package/dist/provider/react-router.d.ts.map +0 -1
  234. package/dist/provider/react-router.js.map +0 -1
  235. package/dist/provider/tanstack.d.ts.map +0 -1
  236. package/dist/provider/tanstack.js.map +0 -1
  237. package/dist/provider/waku.d.ts.map +0 -1
  238. package/dist/provider/waku.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.d.ts","names":[],"sources":["../../../../src/layouts/notebook/page/client.tsx"],"sourcesContent":[],"mappings":";;;;;;iBAiCgB,cAAA;;;;GAAiD,wBAAqB,mBAAA,CAAA,GAAA,CAAA;iBAsDtE,qBAAA;;;GAA+C,2BAAwB,mBAAA,CAAA,GAAA,CAAA;iBA2GvE,qBAAA,QAA6B,wBAAqB,mBAAA,CAAA,GAAA,CAAA;AAjKlD,iBA6KA,cAAA,CA7Kc;EAAA,IAAA,EA8KtB,KA9KsB;EAAA,GAAA;CAAA,EAgL3B,IAhL2B,CAgLtB,cAhLsB,CAAA,GAAA,CAAA,EAAA,UAAA,CAAA,GAAA;EAAG,IAAA,EAgLkB,IAhLlB;CAAW,CAAA,EAgLa,mBAAA,CAAA,GAAA,CAAA,OAhLb;KAgMvC,IAAA,GAAO,IAhMqD,CAgMhD,QAAA,CAAS,IAhMuC,EAAA,MAAA,GAAA,aAAA,GAAA,KAAA,CAAA;AAAqB,UAiMrE,WAAA,SAAoB,cAjMiD,CAAA,KAAA,CAAA,CAAA;EAAA;AAsDtF;;EAA+D,KAAA,CAAA,EAAA;IAAwB,QAAA,CAAA,EAgJxE,IAhJwE;IAAA,IAAA,CAAA,EAiJ5E,IAjJ4E;EA2GvE,CAAA;AAYhB;AACQ,iBA6BQ,UAAA,CA7BR;EAAA,KAAA;EAAA,QAAA;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA6B6D,WA7B7D,CAAA,EA6BwE,mBAAA,CAAA,GAAA,CAAA,OA7BxE;AAEA,KAwFI,eAAA,GAAkB,iBAxFtB,GAwF0C,cAxF1C,CAAA,KAAA,CAAA;AAAL,iBA0Fa,cAAA,CA1Fb;EAAA,WAAA;EAAA,gBAAA;EAAA,WAAA;EAAA,GAAA;AAAA,CAAA,EA+FA,eA/FA,CAAA,EA+Fe,mBAAA,CAAA,GAAA,CAAA,OAAA,GA/Ff,IAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.js","names":["Fragment"],"sources":["../../../../src/layouts/notebook/page/client.tsx"],"sourcesContent":["'use client';\n\nimport {\n type ComponentProps,\n createContext,\n Fragment,\n use,\n useEffect,\n useEffectEvent,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { ChevronDown, ChevronLeft, ChevronRight } from 'lucide-react';\nimport Link from 'fumadocs-core/link';\nimport { cn } from '@fumadocs/ui/cn';\nimport { useI18n } from '@/contexts/i18n';\nimport { useTreeContext, useTreePath } from '@/contexts/tree';\nimport type * as PageTree from 'fumadocs-core/page-tree';\nimport { usePathname } from 'fumadocs-core/framework';\nimport { type BreadcrumbOptions, getBreadcrumbItemsFromPath } from 'fumadocs-core/breadcrumb';\nimport { isActive } from '@fumadocs/ui/urls';\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '@/components/ui/collapsible';\nimport { useTOCItems } from '@/components/toc';\nimport { useActiveAnchor } from 'fumadocs-core/toc';\nimport { LayoutContext } from '../client';\nimport { useFooterItems } from '@fumadocs/ui/hooks/use-footer-items';\n\nconst TocPopoverContext = createContext<{\n open: boolean;\n setOpen: (open: boolean) => void;\n} | null>(null);\n\nexport function PageTOCPopover({ className, children, ...rest }: ComponentProps<'div'>) {\n const ref = useRef<HTMLElement>(null);\n const [open, setOpen] = useState(false);\n const { isNavTransparent } = use(LayoutContext)!;\n\n const onClick = useEffectEvent((e: Event) => {\n if (!open) return;\n\n if (ref.current && !ref.current.contains(e.target as HTMLElement)) setOpen(false);\n });\n\n useEffect(() => {\n window.addEventListener('click', onClick);\n\n return () => {\n window.removeEventListener('click', onClick);\n };\n }, []);\n\n return (\n <TocPopoverContext\n value={useMemo(\n () => ({\n open,\n setOpen,\n }),\n [setOpen, open],\n )}\n >\n <Collapsible\n open={open}\n onOpenChange={setOpen}\n data-toc-popover=\"\"\n className={cn(\n 'sticky top-(--fd-docs-row-2) z-10 [grid-area:toc-popover] h-(--fd-toc-popover-height) xl:hidden max-xl:layout:[--fd-toc-popover-height:--spacing(10)]',\n className,\n )}\n {...rest}\n >\n <header\n ref={ref}\n className={cn(\n 'border-b backdrop-blur-sm transition-colors',\n (!isNavTransparent || open) && 'bg-fd-background/80',\n open && 'shadow-lg',\n )}\n >\n {children}\n </header>\n </Collapsible>\n </TocPopoverContext>\n );\n}\n\nexport function PageTOCPopoverTrigger({ className, ...props }: ComponentProps<'button'>) {\n const { text } = useI18n();\n const { open } = use(TocPopoverContext)!;\n const items = useTOCItems();\n const active = useActiveAnchor();\n const selected = useMemo(\n () => items.findIndex((item) => active === item.url.slice(1)),\n [items, active],\n );\n const path = useTreePath().at(-1);\n const showItem = selected !== -1 && !open;\n\n return (\n <CollapsibleTrigger\n className={cn(\n 'flex w-full h-10 items-center text-sm text-fd-muted-foreground gap-2.5 px-4 py-2.5 text-start focus-visible:outline-none [&_svg]:size-4 md:px-6',\n className,\n )}\n data-toc-popover-trigger=\"\"\n {...props}\n >\n <ProgressCircle\n value={(selected + 1) / Math.max(1, items.length)}\n max={1}\n className={cn('shrink-0', open && 'text-fd-primary')}\n />\n <span className=\"grid flex-1 *:my-auto *:row-start-1 *:col-start-1\">\n <span\n className={cn(\n 'truncate transition-[opacity,translate,color]',\n open && 'text-fd-foreground',\n showItem && 'opacity-0 -translate-y-full pointer-events-none',\n )}\n >\n {path?.name ?? text.toc}\n </span>\n <span\n className={cn(\n 'truncate transition-[opacity,translate]',\n !showItem && 'opacity-0 translate-y-full pointer-events-none',\n )}\n >\n {items[selected]?.title}\n </span>\n </span>\n <ChevronDown className={cn('shrink-0 transition-transform mx-0.5', open && 'rotate-180')} />\n </CollapsibleTrigger>\n );\n}\n\ninterface ProgressCircleProps extends Omit<React.ComponentProps<'svg'>, 'strokeWidth'> {\n value: number;\n strokeWidth?: number;\n size?: number;\n min?: number;\n max?: number;\n}\n\nfunction clamp(input: number, min: number, max: number): number {\n if (input < min) return min;\n if (input > max) return max;\n return input;\n}\n\nfunction ProgressCircle({\n value,\n strokeWidth = 2,\n size = 24,\n min = 0,\n max = 100,\n ...restSvgProps\n}: ProgressCircleProps) {\n const normalizedValue = clamp(value, min, max);\n const radius = (size - strokeWidth) / 2;\n const circumference = 2 * Math.PI * radius;\n const progress = (normalizedValue / max) * circumference;\n const circleProps = {\n cx: size / 2,\n cy: size / 2,\n r: radius,\n fill: 'none',\n strokeWidth,\n };\n\n return (\n <svg\n role=\"progressbar\"\n viewBox={`0 0 ${size} ${size}`}\n aria-valuenow={normalizedValue}\n aria-valuemin={min}\n aria-valuemax={max}\n {...restSvgProps}\n >\n <circle {...circleProps} className=\"stroke-current/25\" />\n <circle\n {...circleProps}\n stroke=\"currentColor\"\n strokeDasharray={circumference}\n strokeDashoffset={circumference - progress}\n strokeLinecap=\"round\"\n transform={`rotate(-90 ${size / 2} ${size / 2})`}\n className=\"transition-all\"\n />\n </svg>\n );\n}\n\nexport function PageTOCPopoverContent(props: ComponentProps<'div'>) {\n return (\n <CollapsibleContent\n data-toc-popover-content=\"\"\n {...props}\n className={cn('flex flex-col px-4 max-h-[50vh] md:px-6', props.className)}\n >\n {props.children}\n </CollapsibleContent>\n );\n}\n\nexport function PageLastUpdate({\n date: value,\n ...props\n}: Omit<ComponentProps<'p'>, 'children'> & { date: Date }) {\n const { text } = useI18n();\n const [date, setDate] = useState('');\n\n useEffect(() => {\n // to the timezone of client\n setDate(value.toLocaleDateString());\n }, [value]);\n\n return (\n <p {...props} className={cn('text-sm text-fd-muted-foreground', props.className)}>\n {text.lastUpdate} {date}\n </p>\n );\n}\n\ntype Item = Pick<PageTree.Item, 'name' | 'description' | 'url'>;\nexport interface FooterProps extends ComponentProps<'div'> {\n /**\n * Items including information for the next and previous page\n */\n items?: {\n previous?: Item;\n next?: Item;\n };\n}\n\nexport function PageFooter({ items, children, className, ...props }: FooterProps) {\n const footerList = useFooterItems();\n const pathname = usePathname();\n const { previous, next } = useMemo(() => {\n if (items) return items;\n\n const idx = footerList.findIndex((item) => isActive(item.url, pathname, false));\n\n if (idx === -1) return {};\n return {\n previous: footerList[idx - 1],\n next: footerList[idx + 1],\n };\n }, [footerList, items, pathname]);\n\n return (\n <>\n <div\n className={cn(\n '@container grid gap-4',\n previous && next ? 'grid-cols-2' : 'grid-cols-1',\n className,\n )}\n {...props}\n >\n {previous && <FooterItem item={previous} index={0} />}\n {next && <FooterItem item={next} index={1} />}\n </div>\n {children}\n </>\n );\n}\n\nfunction FooterItem({ item, index }: { item: Item; index: 0 | 1 }) {\n const { text } = useI18n();\n const Icon = index === 0 ? ChevronLeft : ChevronRight;\n\n return (\n <Link\n href={item.url}\n className={cn(\n 'flex flex-col gap-2 rounded-lg border p-4 text-sm transition-colors hover:bg-fd-accent/80 hover:text-fd-accent-foreground @max-lg:col-span-full',\n index === 1 && 'text-end',\n )}\n >\n <div\n className={cn(\n 'inline-flex items-center gap-1.5 font-medium',\n index === 1 && 'flex-row-reverse',\n )}\n >\n <Icon className=\"-mx-1 size-4 shrink-0 rtl:rotate-180\" />\n <p>{item.name}</p>\n </div>\n <p className=\"text-fd-muted-foreground truncate\">\n {item.description ?? (index === 0 ? text.previousPage : text.nextPage)}\n </p>\n </Link>\n );\n}\n\nexport type BreadcrumbProps = BreadcrumbOptions & ComponentProps<'div'>;\n\nexport function PageBreadcrumb({\n includeRoot,\n includeSeparator,\n includePage,\n ...props\n}: BreadcrumbProps) {\n const path = useTreePath();\n const { root } = useTreeContext();\n const items = useMemo(() => {\n return getBreadcrumbItemsFromPath(root, path, {\n includePage,\n includeSeparator,\n includeRoot,\n });\n }, [includePage, includeRoot, includeSeparator, path, root]);\n\n if (items.length === 0) return null;\n\n return (\n <div\n {...props}\n className={cn('flex items-center gap-1.5 text-sm text-fd-muted-foreground', props.className)}\n >\n {items.map((item, i) => {\n const className = cn('truncate', i === items.length - 1 && 'text-fd-primary font-medium');\n\n return (\n <Fragment key={i}>\n {i !== 0 && <ChevronRight className=\"size-3.5 shrink-0\" />}\n {item.url ? (\n <Link\n href={item.url}\n className={cn(className, 'transition-opacity hover:opacity-80')}\n >\n {item.name}\n </Link>\n ) : (\n <span className={className}>{item.name}</span>\n )}\n </Fragment>\n );\n })}\n </div>\n );\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../../../../src/layouts/notebook/page/index.tsx"],"sourcesContent":[],"mappings":";;;;;;UAmBU,iBAAA,SAA0B;;aAEvB;AAP6D;AAKvB,UAKzC,aAAA,SAAsB,WAEnB,CAFmB;EAKf,OAAA,EAAA,OAAa;EACtB,SAAA,EAJK,SAIL;;AACW,UAFF,aAAA,CAEE;EACe,GAAA,CAAA,EAF1B,WAE0B,EAAA;EAAR,cAAA,CAAA,EADP,OACO,CADC,qBACD,CAAA;EAYH,qBAAA,CAAA,EAZG,OAYH,CAZW,4BAYX,CAAA;EAAR;;;;;EAiBV,IAAA,CAAA,EAAA,OAAA;EAA6B;;;EASvB,UAAA,CAAA,EA1BI,OA0BJ,CA1BY,iBA0BZ,CAAA;EAGE;;AAAS;AAUtB;;EAC8D,MAAA,CAAA,EAjCnD,OAiCmD,CAjC3C,aAiC2C,CAAA;EACzC,QAAA,CAAA,EAhCR,SAgCQ;EAA0B;;;EAIhC,SAAA,CAAA,EAAA,MAAA;;KA5BV,qBAAA,GAAwB,IA+BuB,CA/BlB,mBA+BkB,EAAA,QAAA,CAAA,GAAA;EAClD;;;EAGC,MAAA,CAAA,EA/BQ,SA+BR;EAAa;;AA4EhB;EA4BgB,MAAA,CAAA,EAlIL,SAkIa;EAAG,OAAA,EAAA,OAAA;EAAU,SAAA,EA/HxB,SA+HwB;EAAuB;;;EAQ5C,KAAA,CAAA,EAAA,QAAA,GAAe,OAAA;CAAG;KA/H7B,4BAAA,GAA+B,IA+HQ,CA/HH,qBA+HG,EAAA,QAAA,CAAA;AAAuB,iBA7HnD,QAAA,CA6HmD;EAAA,UAAA,EAAA;IAAA,OAAA,EA5H1C,iBA4H0C;IAAA,SAAA,EA5HL,UA4HK;IAAA,GAAA;EAAA,CAAA;EAAA,MAAA,EAAA;IAAA,OAAA,EA3H9C,aA2H8C;IAAA,SAAA,EA3HpB,aA2HoB;IAAA,GAAA;EAAA,CAAA;EAAA,IAAA;EAAA,qBAAA,EAAA;IAAA,OAAA,EAxHtD,iBAwHsD;IAAA,SAAA,EAvHpD,UAuHoD;IAAA,GAAA;EAAA,CAAA;EAAA,cAAA,EAAA;IAAA,OAAA,EApHtC,UAoHsC;IAAA,SAAA,EApHf,UAoHe;IAAA,GAAA;EAAA,CAAA;EAAA,GAAA;EAAA,QAAA;EAAA;AAAA,CAAA,EAhHhE,aAgHgE,CAAA,EAhHnD,SAgHmD;AAAmB,iBApCtE,YAAA,CAoCsE,KAAA,EApClD,cAoCkD,CAAA,GAAA,CAAA,CAAA,EApC/B,mBAAA,CAAA,GAAA,CAAA,OAoC+B;;AAWtF;;AAAsC,iBAnBtB,QAAA,CAmBsB;EAAA,QAAA;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAnBsB,cAmBtB,CAAA,KAAA,CAAA,CAAA,EAnB2C,mBAAA,CAAA,GAAA,CAAA,OAmB3C;AAAuB,iBAX7C,eAAA,CAW6C;EAAA,QAAA;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAXM,cAWN,CAAA,GAAA,CAAA,CAAA,EAXyB,mBAAA,CAAA,GAAA,CAAA,OAAA,GAWzB,IAAA;AAAoB,iBAAjE,SAAA,CAAiE;EAAA,QAAA;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAApB,cAAoB,CAAA,IAAA,CAAA,CAAA,EAAA,mBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["children","TOCProvider","TOCScrollArea","TocClerk","TocDefault","I18nLabel"],"sources":["../../../../src/layouts/notebook/page/index.tsx"],"sourcesContent":["import type { ComponentProps, ReactNode } from 'react';\nimport { cn } from '@fumadocs/ui/cn';\nimport { buttonVariants } from '@/components/ui/button';\nimport { Edit, Text } from 'lucide-react';\nimport { I18nLabel } from '@/contexts/i18n';\nimport {\n type BreadcrumbProps,\n type FooterProps,\n PageBreadcrumb,\n PageFooter,\n PageTOCPopover,\n PageTOCPopoverContent,\n PageTOCPopoverTrigger,\n} from './client';\nimport type { AnchorProviderProps, TOCItemType } from 'fumadocs-core/toc';\nimport * as TocDefault from '@/components/toc/default';\nimport * as TocClerk from '@/components/toc/clerk';\nimport { TOCProvider, TOCScrollArea } from '@/components/toc';\n\ninterface BreadcrumbOptions extends BreadcrumbProps {\n enabled: boolean;\n component: ReactNode;\n}\n\ninterface FooterOptions extends FooterProps {\n enabled: boolean;\n component: ReactNode;\n}\n\nexport interface DocsPageProps {\n toc?: TOCItemType[];\n tableOfContent?: Partial<TableOfContentOptions>;\n tableOfContentPopover?: Partial<TableOfContentPopoverOptions>;\n\n /**\n * Extend the page to fill all available space\n *\n * @defaultValue false\n */\n full?: boolean;\n\n /**\n * Replace or disable breadcrumb\n */\n breadcrumb?: Partial<BreadcrumbOptions>;\n\n /**\n * Footer navigation, located under the page body.\n *\n * You can specify `footer.children` to add extra components under the footer.\n */\n footer?: Partial<FooterOptions>;\n\n children?: ReactNode;\n\n /**\n * Apply class names to the `#nd-page` container.\n */\n className?: string;\n}\n\ntype TableOfContentOptions = Pick<AnchorProviderProps, 'single'> & {\n /**\n * Custom content in TOC container, before the main TOC\n */\n header?: ReactNode;\n\n /**\n * Custom content in TOC container, after the main TOC\n */\n footer?: ReactNode;\n\n enabled: boolean;\n component: ReactNode;\n\n /**\n * @defaultValue 'normal'\n */\n style?: 'normal' | 'clerk';\n};\n\ntype TableOfContentPopoverOptions = Omit<TableOfContentOptions, 'single'>;\n\nexport function DocsPage({\n breadcrumb: { enabled: breadcrumbEnabled = true, component: breadcrumb, ...breadcrumbProps } = {},\n footer: { enabled: footerEnabled, component: footerReplace, ...footerProps } = {},\n full = false,\n tableOfContentPopover: {\n enabled: tocPopoverEnabled,\n component: tocPopover,\n ...tocPopoverOptions\n } = {},\n tableOfContent: { enabled: tocEnabled, component: tocReplace, ...tocOptions } = {},\n toc = [],\n children,\n className,\n}: DocsPageProps) {\n // disable TOC on full mode, you can still enable it with `enabled` option.\n tocEnabled ??=\n !full && (toc.length > 0 || tocOptions.footer !== undefined || tocOptions.header !== undefined);\n\n tocPopoverEnabled ??=\n toc.length > 0 ||\n tocPopoverOptions.header !== undefined ||\n tocPopoverOptions.footer !== undefined;\n\n let wrapper = (children: ReactNode) => children;\n\n if (tocEnabled || tocPopoverEnabled) {\n wrapper = (children) => (\n <TOCProvider single={tocOptions.single} toc={toc}>\n {children}\n </TOCProvider>\n );\n }\n\n return wrapper(\n <>\n {tocPopoverEnabled &&\n (tocPopover ?? (\n <PageTOCPopover>\n <PageTOCPopoverTrigger />\n <PageTOCPopoverContent>\n {tocPopoverOptions.header}\n <TOCScrollArea>\n {tocPopoverOptions.style === 'clerk' ? (\n <TocClerk.TOCItems />\n ) : (\n <TocDefault.TOCItems />\n )}\n </TOCScrollArea>\n {tocPopoverOptions.footer}\n </PageTOCPopoverContent>\n </PageTOCPopover>\n ))}\n <article\n id=\"nd-page\"\n data-full={full}\n className={cn(\n 'flex flex-col [grid-area:main] px-4 py-6 gap-4 md:px-6 md:pt-8 xl:px-8 xl:pt-14 *:max-w-[900px]',\n full && '*:max-w-[1285px]',\n className,\n )}\n >\n {breadcrumbEnabled && (breadcrumb ?? <PageBreadcrumb {...breadcrumbProps} />)}\n {children}\n {footerEnabled !== false && (footerReplace ?? <PageFooter {...footerProps} />)}\n </article>\n {tocEnabled &&\n (tocReplace ?? (\n <div\n id=\"nd-toc\"\n className=\"sticky top-(--fd-docs-row-3) [grid-area:toc] h-[calc(var(--fd-docs-height)-var(--fd-docs-row-3))] flex flex-col w-(--fd-toc-width) pt-12 pe-4 pb-2 xl:layout:[--fd-toc-width:268px] max-xl:hidden\"\n >\n {tocOptions.header}\n <h3\n id=\"toc-title\"\n className=\"inline-flex items-center gap-1.5 text-sm text-fd-muted-foreground\"\n >\n <Text className=\"size-4\" />\n <I18nLabel label=\"toc\" />\n </h3>\n <TOCScrollArea>\n {tocOptions.style === 'clerk' ? <TocClerk.TOCItems /> : <TocDefault.TOCItems />}\n </TOCScrollArea>\n {tocOptions.footer}\n </div>\n ))}\n </>,\n );\n}\n\nexport function EditOnGitHub(props: ComponentProps<'a'>) {\n return (\n <a\n target=\"_blank\"\n rel=\"noreferrer noopener\"\n {...props}\n className={cn(\n buttonVariants({\n color: 'secondary',\n size: 'sm',\n className: 'gap-1.5 not-prose',\n }),\n props.className,\n )}\n >\n {props.children ?? (\n <>\n <Edit className=\"size-3.5\" />\n <I18nLabel label=\"editOnGithub\" />\n </>\n )}\n </a>\n );\n}\n\n/**\n * Add typography styles\n */\nexport function DocsBody({ children, className, ...props }: ComponentProps<'div'>) {\n return (\n <div {...props} className={cn('prose flex-1', className)}>\n {children}\n </div>\n );\n}\n\nexport function DocsDescription({ children, className, ...props }: ComponentProps<'p'>) {\n // Don't render if no description provided\n if (children === undefined) return null;\n\n return (\n <p {...props} className={cn('mb-8 text-lg text-fd-muted-foreground', className)}>\n {children}\n </p>\n );\n}\n\nexport function DocsTitle({ children, className, ...props }: ComponentProps<'h1'>) {\n return (\n <h1 {...props} className={cn('text-[1.75em] font-semibold', className)}>\n {children}\n </h1>\n );\n}\n\nexport { PageLastUpdate, PageBreadcrumb } from './client';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAmFA,SAAgB,SAAS,EACvB,YAAY,EAAE,SAAS,oBAAoB,MAAM,WAAW,YAAY,GAAG,oBAAoB,EAAE,EACjG,QAAQ,EAAE,SAAS,eAAe,WAAW,eAAe,GAAG,gBAAgB,EAAE,EACjF,OAAO,OACP,uBAAuB,EACrB,SAAS,mBACT,WAAW,YACX,GAAG,sBACD,EAAE,EACN,gBAAgB,EAAE,SAAS,YAAY,WAAW,YAAY,GAAG,eAAe,EAAE,EAClF,MAAM,EAAE,EACR,UACA,aACgB;AAEhB,gBACE,CAAC,SAAS,IAAI,SAAS,KAAK,WAAW,WAAW,UAAa,WAAW,WAAW;AAEvF,uBACE,IAAI,SAAS,KACb,kBAAkB,WAAW,UAC7B,kBAAkB,WAAW;CAE/B,IAAI,WAAW,eAAwBA;AAEvC,KAAI,cAAc,kBAChB,YAAW,eACT,oBAACC;EAAY,QAAQ,WAAW;EAAa;YAC1CD;GACW;AAIlB,QAAO,QACL;EACG,sBACE,cACC,qBAAC,6BACC,oBAAC,0BAAwB,EACzB,qBAAC;GACE,kBAAkB;GACnB,oBAACE,uCACE,kBAAkB,UAAU,UAC3B,oBAACC,cAAS,aAAW,GAErB,oBAACC,gBAAW,aAAW,GAEX;GACf,kBAAkB;MACG,IACT;EAErB,qBAAC;GACC,IAAG;GACH,aAAW;GACX,WAAW,GACT,mGACA,QAAQ,oBACR,UACD;;IAEA,sBAAsB,cAAc,oBAAC,kBAAe,GAAI,kBAAmB;IAC3E;IACA,kBAAkB,UAAU,iBAAiB,oBAAC,cAAW,GAAI,cAAe;;IACrE;EACT,eACE,cACC,qBAAC;GACC,IAAG;GACH,WAAU;;IAET,WAAW;IACZ,qBAAC;KACC,IAAG;KACH,WAAU;gBAEV,oBAAC,QAAK,WAAU,WAAW,EAC3B,oBAACC,0BAAU,OAAM,QAAQ;MACtB;IACL,oBAACH,uCACE,WAAW,UAAU,UAAU,oBAACC,cAAS,aAAW,GAAG,oBAACC,gBAAW,aAAW,GACjE;IACf,WAAW;;IACR;KAET,CACJ;;AAGH,SAAgB,aAAa,OAA4B;AACvD,QACE,oBAAC;EACC,QAAO;EACP,KAAI;EACJ,GAAI;EACJ,WAAW,GACT,eAAe;GACb,OAAO;GACP,MAAM;GACN,WAAW;GACZ,CAAC,EACF,MAAM,UACP;YAEA,MAAM,YACL,4CACE,oBAAC,QAAK,WAAU,aAAa,EAC7B,oBAACC,0BAAU,OAAM,iBAAiB,IACjC;GAEH;;;;;AAOR,SAAgB,SAAS,EAAE,UAAU,WAAW,GAAG,SAAgC;AACjF,QACE,oBAAC;EAAI,GAAI;EAAO,WAAW,GAAG,gBAAgB,UAAU;EACrD;GACG;;AAIV,SAAgB,gBAAgB,EAAE,UAAU,WAAW,GAAG,SAA8B;AAEtF,KAAI,aAAa,OAAW,QAAO;AAEnC,QACE,oBAAC;EAAE,GAAI;EAAO,WAAW,GAAG,yCAAyC,UAAU;EAC5E;GACC;;AAIR,SAAgB,UAAU,EAAE,UAAU,WAAW,GAAG,SAA+B;AACjF,QACE,oBAAC;EAAG,GAAI;EAAO,WAAW,GAAG,+BAA+B,UAAU;EACnE;GACE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"sidebar.d.ts","names":[],"sources":["../../../src/layouts/notebook/sidebar.tsx"],"sourcesContent":[],"mappings":";;;;;;;;iBA8BgB,OAAA,QAAe,sBAAsB,mBAAqB,mBAAA,CAAA,GAAA,CAAA;iBAI1D,aAAA,QAAqB,sBAAsB,mBAAmB,mBAAA,CAAA,GAAA,CAAA;iBAI9D,sBAAA,QAA8B,sBAAsB,4BAA4B,mBAAA,CAAA,GAAA,CAAA;iBAIhF,eAAA,QAAuB,sBAAsB,qBAAqB,mBAAA,CAAA,GAAA,CAAA;iBAIlE,cAAA,QAAsB,sBAAsB,oBAAoB,mBAAA,CAAA,GAAA,CAAA;iBAIhE,cAAA;OACT;;;;GAIJ,0BAAuB,mBAAA,CAAA,GAAA,CAAA;AAzBV,iBAwEA,aAAA,CAxEO;EAAA,QAAA;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA4EpB,cA5EoB,CAAA,OA4EE,oBA5EF,CAAA,CAAA,EA4E4B,mBAAA,CAAA,GAAA,CAAA,OA5E5B;AAA8B,iBA6FrC,gBAAA,CA7FqC;EAAA,SAAA;EAAA,KAAA;EAAA,QAAA;EAAA,GAAA;AAAA,CAAA,EA6FsB,cA7FtB,CAAA,GAAA,CAAA,CAAA,EA6FyC,mBAAA,CAAA,GAAA,CAAA,OA7FzC;AAAtB,iBA8Gf,WAAA,CA9Ge;EAAA,SAAA;EAAA,KAAA;EAAA,QAAA;EAAA,GAAA;AAAA,CAAA,EAmH5B,cAnH4B,CAAA,OAmHN,aAnHM,CAAA,CAAA,EAmHW,mBAAA,CAAA,GAAA,CAAA,OAnHX;AAA2C,iBAoI1D,oBAAA,CApI0D;EAAA,SAAA;EAAA,KAAA;EAAA,GAAA;AAAA,CAAA,EAwIvE,cAxIuE,CAAA,OAwIjD,sBAxIiD,CAAA,CAAA,EAwIvB,mBAAA,CAAA,GAAA,CAAA,OAxIuB;AAAA,iBAyJ1D,iBAAA,CAzJ0D;EAAA,SAAA;EAAA,KAAA;EAAA,GAAA;AAAA,CAAA,EA6JvE,cA7JuE,CAAA,OA6JjD,mBA7JiD,CAAA,CAAA,EA6J1B,mBAAA,CAAA,GAAA,CAAA,OA7J0B;AAI1D,iBA0KA,oBAAA,CA1Ka;EAAA,SAAA;EAAA,QAAA;EAAA,GAAA;AAAA,CAAA,EA8K1B,cA9K0B,CAAA,OA8KJ,sBA9KI,CAAA,CAAA,EA8KsB,mBAAA,CAAA,GAAA,CAAA,OA9KtB;AAA8B,cA+L9C,eA/L8C,EAAA,CAAA,UAAA,EA+L/B,OA/L+B,CAsMzD,yBAAA,CAtMyD,EAAA,GA+L/B,mBAAA,CAAA,GAAA,CAAA,OA/L+B;AAAtB,cAwMxB,eAxMwB,EAAA,CAAA;EAAA,IAAA;EAAA,GAAA;CAAA,EAwMT,MAAA,CAAA,cAxMS,CAwMT,WAxMS,CAAA,GAAA;EAAyC,IAAA,SAAA,CAwMlD,uBAAA,CAAA,YAAA,EAxMkD;IAAA,IAAA,EAAA,MAAA;EAI9D,CAAA,CAAA;CAAoD,EAAA,kCAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"sidebar.js","names":["Base.SidebarProvider","Base.SidebarFolder","Base.SidebarCollapseTrigger","Base.SidebarViewport","Base.SidebarTrigger","Base.SidebarContent","Base.SidebarDrawerOverlay","Base.SidebarDrawerContent","Base.useFolderDepth","Base.SidebarSeparator","Base.SidebarItem","Base.useFolder","Base.SidebarFolderTrigger","Base.SidebarFolderLink","Base.SidebarFolderContent"],"sources":["../../../src/layouts/notebook/sidebar.tsx"],"sourcesContent":["'use client';\nimport * as Base from '@/components/sidebar/base';\nimport { cn } from '@fumadocs/ui/cn';\nimport { type ComponentProps, use, useRef } from 'react';\nimport { cva } from 'class-variance-authority';\nimport { LayoutContext } from './client';\nimport { createPageTreeRenderer } from '@/components/sidebar/page-tree';\nimport { createLinkItemRenderer } from '@/components/sidebar/link-item';\nimport { mergeRefs } from '@fumadocs/ui/merge-refs';\n\nconst itemVariants = cva(\n 'relative flex flex-row items-center gap-2 rounded-lg p-2 text-start text-fd-muted-foreground wrap-anywhere [&_svg]:size-4 [&_svg]:shrink-0',\n {\n variants: {\n variant: {\n link: 'transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none data-[active=true]:bg-fd-primary/10 data-[active=true]:text-fd-primary data-[active=true]:hover:transition-colors',\n button:\n 'transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none',\n },\n highlight: {\n true: \"data-[active=true]:before:content-[''] data-[active=true]:before:bg-fd-primary data-[active=true]:before:absolute data-[active=true]:before:w-px data-[active=true]:before:inset-y-2.5 data-[active=true]:before:start-2.5\",\n },\n },\n },\n);\n\nfunction getItemOffset(depth: number) {\n return `calc(${2 + 3 * depth} * var(--spacing))`;\n}\n\nexport function Sidebar(props: ComponentProps<typeof Base.SidebarProvider>) {\n return <Base.SidebarProvider {...props} />;\n}\n\nexport function SidebarFolder(props: ComponentProps<typeof Base.SidebarFolder>) {\n return <Base.SidebarFolder {...props} />;\n}\n\nexport function SidebarCollapseTrigger(props: ComponentProps<typeof Base.SidebarCollapseTrigger>) {\n return <Base.SidebarCollapseTrigger {...props} />;\n}\n\nexport function SidebarViewport(props: ComponentProps<typeof Base.SidebarViewport>) {\n return <Base.SidebarViewport {...props} />;\n}\n\nexport function SidebarTrigger(props: ComponentProps<typeof Base.SidebarTrigger>) {\n return <Base.SidebarTrigger {...props} />;\n}\n\nexport function SidebarContent({\n ref: refProp,\n className,\n children,\n ...props\n}: ComponentProps<'aside'>) {\n const { navMode } = use(LayoutContext)!;\n const ref = useRef<HTMLElement>(null);\n\n return (\n <Base.SidebarContent>\n {({ collapsed, hovered, ref: asideRef, ...rest }) => (\n <div\n data-sidebar-placeholder=\"\"\n className={cn(\n 'sticky z-20 [grid-area:sidebar] pointer-events-none *:pointer-events-auto md:layout:[--fd-sidebar-width:268px] max-md:hidden',\n navMode === 'auto'\n ? 'top-(--fd-docs-row-1) h-[calc(var(--fd-docs-height)-var(--fd-docs-row-1))]'\n : 'top-(--fd-docs-row-2) h-[calc(var(--fd-docs-height)-var(--fd-docs-row-2))]',\n )}\n >\n {collapsed && <div className=\"absolute start-0 inset-y-0 w-4\" {...rest} />}\n <aside\n id=\"nd-sidebar\"\n ref={mergeRefs(ref, refProp, asideRef)}\n data-collapsed={collapsed}\n data-hovered={collapsed && hovered}\n className={cn(\n 'absolute flex flex-col w-full start-0 inset-y-0 items-end text-sm duration-250 *:w-(--fd-sidebar-width)',\n navMode === 'auto' && 'bg-fd-card border-e',\n collapsed && [\n 'inset-y-2 rounded-xl bg-fd-card transition-transform border w-(--fd-sidebar-width)',\n hovered\n ? 'shadow-lg translate-x-2 rtl:-translate-x-2'\n : '-translate-x-(--fd-sidebar-width) rtl:translate-x-full',\n ],\n ref.current &&\n (ref.current.getAttribute('data-collapsed') === 'true') !== collapsed &&\n 'transition-[width,inset-block,translate,background-color]',\n className,\n )}\n {...props}\n {...rest}\n >\n {children}\n </aside>\n </div>\n )}\n </Base.SidebarContent>\n );\n}\n\nexport function SidebarDrawer({\n children,\n className,\n ...props\n}: ComponentProps<typeof Base.SidebarDrawerContent>) {\n return (\n <>\n <Base.SidebarDrawerOverlay className=\"fixed z-40 inset-0 backdrop-blur-xs data-[state=open]:animate-fd-fade-in data-[state=closed]:animate-fd-fade-out\" />\n <Base.SidebarDrawerContent\n className={cn(\n 'fixed text-[0.9375rem] flex flex-col shadow-lg border-s end-0 inset-y-0 w-[85%] max-w-[380px] z-40 bg-fd-background data-[state=open]:animate-fd-sidebar-in data-[state=closed]:animate-fd-sidebar-out',\n className,\n )}\n {...props}\n >\n {children}\n </Base.SidebarDrawerContent>\n </>\n );\n}\n\nexport function SidebarSeparator({ className, style, children, ...props }: ComponentProps<'p'>) {\n const depth = Base.useFolderDepth();\n\n return (\n <Base.SidebarSeparator\n className={cn('[&_svg]:size-4 [&_svg]:shrink-0', className)}\n style={{\n paddingInlineStart: getItemOffset(depth),\n ...style,\n }}\n {...props}\n >\n {children}\n </Base.SidebarSeparator>\n );\n}\n\nexport function SidebarItem({\n className,\n style,\n children,\n ...props\n}: ComponentProps<typeof Base.SidebarItem>) {\n const depth = Base.useFolderDepth();\n\n return (\n <Base.SidebarItem\n className={cn(itemVariants({ variant: 'link', highlight: depth >= 1 }), className)}\n style={{\n paddingInlineStart: getItemOffset(depth),\n ...style,\n }}\n {...props}\n >\n {children}\n </Base.SidebarItem>\n );\n}\n\nexport function SidebarFolderTrigger({\n className,\n style,\n ...props\n}: ComponentProps<typeof Base.SidebarFolderTrigger>) {\n const { depth, collapsible } = Base.useFolder()!;\n\n return (\n <Base.SidebarFolderTrigger\n className={cn(itemVariants({ variant: collapsible ? 'button' : null }), 'w-full', className)}\n style={{\n paddingInlineStart: getItemOffset(depth - 1),\n ...style,\n }}\n {...props}\n >\n {props.children}\n </Base.SidebarFolderTrigger>\n );\n}\n\nexport function SidebarFolderLink({\n className,\n style,\n ...props\n}: ComponentProps<typeof Base.SidebarFolderLink>) {\n const depth = Base.useFolderDepth();\n\n return (\n <Base.SidebarFolderLink\n className={cn(itemVariants({ variant: 'link', highlight: depth > 1 }), 'w-full', className)}\n style={{\n paddingInlineStart: getItemOffset(depth - 1),\n ...style,\n }}\n {...props}\n >\n {props.children}\n </Base.SidebarFolderLink>\n );\n}\n\nexport function SidebarFolderContent({\n className,\n children,\n ...props\n}: ComponentProps<typeof Base.SidebarFolderContent>) {\n const depth = Base.useFolderDepth();\n\n return (\n <Base.SidebarFolderContent\n className={cn(\n 'relative',\n depth === 1 &&\n \"before:content-[''] before:absolute before:w-px before:inset-y-1 before:bg-fd-border before:start-2.5\",\n className,\n )}\n {...props}\n >\n {children}\n </Base.SidebarFolderContent>\n );\n}\nexport const SidebarPageTree = createPageTreeRenderer({\n SidebarFolder,\n SidebarFolderContent,\n SidebarFolderLink,\n SidebarFolderTrigger,\n SidebarItem,\n SidebarSeparator,\n});\n\nexport const SidebarLinkItem = createLinkItemRenderer({\n SidebarFolder,\n SidebarFolderContent,\n SidebarFolderLink,\n SidebarFolderTrigger,\n SidebarItem,\n});\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/layouts/shared/index.tsx"],"sourcesContent":[],"mappings":";;;;;;;;UAKiB,UAAA;;aAEJ;UAEH,qBAAqB,wBAAwB;;;AAJvD;;EAIU,GAAA,CAAA,EAAA,MAAA;EAAqB;;;;AAkB/B;EAGgB,eAAA,CAAA,EAAA,QAAA,GAAA,KAAA,GAAA,MAAA;EAON,QAAA,CAAA,EAbG,SAaH;;AADM,UATC,eAAA,CASD;EAFC,WAAA,CAAA,EAAA;IAaE,OAAA,CAAA,EAAA,OAAA;IAOT,SAAA,CAAA,EAxBM,SAwBN;IAIM,IAAA,CAAA,EAAA,YAAA,GAAA,mBAAA;EAAR,CAAA;EAEK,YAAA,CAAA,EA1BI,OA0BJ,CAAA;IAAS,OAAA,EAAA,OAAA;IAMN,UAAA,EA9BA,OA8BgB,CAAA;MAC9B,EAAA,EA9BQ,SA8BR;MACA,EAAA,EA9BQ,SA8BR;IACM,CAAA,CAAA;EAAL,CAAA,CAAA;EAA+C;;AAoBlD;;;EACgC,IAAA,CAAA,EAAA,OAAA,GA3Cb,UA2Ca;EAAR;;;EACI,SAAA,CAAA,EAAA,MAAA;EAAA,KAAA,CAAA,EArClB,YAqCkB,EAAA;EAAA;;;EAAA,GAAA,CAAA,EAjCpB,OAiCoB,CAjCZ,UAiCY,CAAA;EAAA,QAAA,CAAA,EA/Bf,SA+Be;;;;;iBAzBZ,gBAAA;;;GAGb,KAAK,0CAA0C;iBAoBlC,cAAA;;;GACQ,QAAQ,oBACvB,2DAAmB,mBAAA,CAAA,GAAA,CAAA,OAAA,GAAA,SAAA,aAAA,6CAAA,MAAA,CAAA,WAAA,GAAA,MAAA,CAAA,+BAAA,MAAA,CAAA,8BAAA,SAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/layouts/shared/index.tsx"],"sourcesContent":["import type { ComponentProps, ReactNode } from 'react';\nimport type { I18nConfig } from 'fumadocs-core/i18n';\nimport type { LinkItemType } from '@fumadocs/ui/link-item';\nimport Link from 'fumadocs-core/link';\n\nexport interface NavOptions {\n enabled: boolean;\n component: ReactNode;\n\n title?: ReactNode | ((props: ComponentProps<'a'>) => ReactNode);\n\n /**\n * Redirect url of title\n * @defaultValue '/'\n */\n url?: string;\n\n /**\n * Use transparent background\n *\n * @defaultValue none\n */\n transparentMode?: 'always' | 'top' | 'none';\n\n children?: ReactNode;\n}\n\nexport interface BaseLayoutProps {\n themeSwitch?: {\n enabled?: boolean;\n component?: ReactNode;\n mode?: 'light-dark' | 'light-dark-system';\n };\n\n searchToggle?: Partial<{\n enabled: boolean;\n components: Partial<{\n sm: ReactNode;\n lg: ReactNode;\n }>;\n }>;\n\n /**\n * I18n options\n *\n * @defaultValue false\n */\n i18n?: boolean | I18nConfig;\n\n /**\n * GitHub url\n */\n githubUrl?: string;\n\n links?: LinkItemType[];\n /**\n * Replace or disable navbar\n */\n nav?: Partial<NavOptions>;\n\n children?: ReactNode;\n}\n\n/**\n * Get link items with shortcuts\n */\nexport function resolveLinkItems({\n links = [],\n githubUrl,\n}: Pick<BaseLayoutProps, 'links' | 'githubUrl'>): LinkItemType[] {\n const result = [...links];\n\n if (githubUrl)\n result.push({\n type: 'icon',\n url: githubUrl,\n text: 'Github',\n label: 'GitHub',\n icon: (\n <svg role=\"img\" viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <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\" />\n </svg>\n ),\n external: true,\n });\n\n return result;\n}\n\nexport function renderTitleNav(\n { title, url = '/' }: Partial<NavOptions>,\n props: ComponentProps<'a'>,\n) {\n if (typeof title === 'function') return title({ href: url, ...props });\n return (\n <Link href={url} {...props}>\n {title}\n </Link>\n );\n}\n\nexport type * from '@fumadocs/ui/link-item';\n"],"mappings":";;;;;;;AAkEA,SAAgB,iBAAiB,EAC/B,QAAQ,EAAE,EACV,aAC+D;CAC/D,MAAM,SAAS,CAAC,GAAG,MAAM;AAEzB,KAAI,UACF,QAAO,KAAK;EACV,MAAM;EACN,KAAK;EACL,MAAM;EACN,OAAO;EACP,MACE,oBAAC;GAAI,MAAK;GAAM,SAAQ;GAAY,MAAK;aACvC,oBAAC,UAAK,GAAE,6sBAA6sB;IACjtB;EAER,UAAU;EACX,CAAC;AAEJ,QAAO;;AAGT,SAAgB,eACd,EAAE,OAAO,MAAM,OACf,OACA;AACA,KAAI,OAAO,UAAU,WAAY,QAAO,MAAM;EAAE,MAAM;EAAK,GAAG;EAAO,CAAC;AACtE,QACE,oBAAC;EAAK,MAAM;EAAK,GAAI;YAClB;GACI"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"language-toggle.d.ts","names":[],"sources":["../../../src/layouts/shared/language-toggle.tsx"],"sourcesContent":[],"mappings":";;;;KAOY,mBAAA,GAAsB;iBAElB,cAAA,QAAsB,sBAAsB,KAAA,CAAM;iBA6ClD,kBAAA,QAA0B,yBAAsB,mBAAA,CAAA,GAAA,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"language-toggle.js","names":[],"sources":["../../../src/layouts/shared/language-toggle.tsx"],"sourcesContent":["'use client';\nimport type { ComponentProps } from 'react';\nimport { useI18n } from '@/contexts/i18n';\nimport { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover';\nimport { cn } from '@fumadocs/ui/cn';\nimport { buttonVariants } from '@/components/ui/button';\n\nexport type LanguageSelectProps = ComponentProps<'button'>;\n\nexport function LanguageToggle(props: LanguageSelectProps): React.ReactElement {\n const context = useI18n();\n if (!context.locales) throw new Error('Missing `<I18nProvider />`');\n\n return (\n <Popover>\n <PopoverTrigger\n aria-label={context.text.chooseLanguage}\n {...props}\n className={cn(\n buttonVariants({\n color: 'ghost',\n className: 'gap-1.5 p-1.5',\n }),\n props.className,\n )}\n >\n {props.children}\n </PopoverTrigger>\n <PopoverContent className=\"flex flex-col overflow-x-hidden p-0\">\n <p className=\"mb-1 p-2 text-xs font-medium text-fd-muted-foreground\">\n {context.text.chooseLanguage}\n </p>\n {context.locales.map((item) => (\n <button\n key={item.locale}\n type=\"button\"\n className={cn(\n 'p-2 text-start text-sm',\n item.locale === context.locale\n ? 'bg-fd-primary/10 font-medium text-fd-primary'\n : 'hover:bg-fd-accent hover:text-fd-accent-foreground',\n )}\n onClick={() => {\n context.onChange?.(item.locale);\n }}\n >\n {item.name}\n </button>\n ))}\n </PopoverContent>\n </Popover>\n );\n}\n\nexport function LanguageToggleText(props: ComponentProps<'span'>) {\n const context = useI18n();\n const text = context.locales?.find((item) => item.locale === context.locale)?.name;\n\n return <span {...props}>{text}</span>;\n}\n"],"mappings":";;;;;;;;;AASA,SAAgB,eAAe,OAAgD;CAC7E,MAAM,qCAAmB;AACzB,KAAI,CAAC,QAAQ,QAAS,OAAM,IAAI,MAAM,6BAA6B;AAEnE,QACE,qBAAC,sBACC,oBAAC;EACC,cAAY,QAAQ,KAAK;EACzB,GAAI;EACJ,WAAW,GACT,eAAe;GACb,OAAO;GACP,WAAW;GACZ,CAAC,EACF,MAAM,UACP;YAEA,MAAM;GACQ,EACjB,qBAAC;EAAe,WAAU;aACxB,oBAAC;GAAE,WAAU;aACV,QAAQ,KAAK;IACZ,EACH,QAAQ,QAAQ,KAAK,SACpB,oBAAC;GAEC,MAAK;GACL,WAAW,GACT,0BACA,KAAK,WAAW,QAAQ,SACpB,iDACA,qDACL;GACD,eAAe;AACb,YAAQ,WAAW,KAAK,OAAO;;aAGhC,KAAK;KAZD,KAAK,OAaH,CACT;GACa,IACT;;AAId,SAAgB,mBAAmB,OAA+B;CAChE,MAAM,qCAAmB;CACzB,MAAM,OAAO,QAAQ,SAAS,MAAM,SAAS,KAAK,WAAW,QAAQ,OAAO,EAAE;AAE9E,QAAO,oBAAC;EAAK,GAAI;YAAQ;GAAY"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"search-toggle.d.ts","names":[],"sources":["../../../src/layouts/shared/search-toggle.tsx"],"sourcesContent":[],"mappings":";;;;;UAQU,iBAAA,SAA0B,KAAK,oCAAoC;;;AAAnE,iBAIM,YAAA,CAJY;EAAA,cAAA;EAAA,IAAA;EAAA,KAAA;EAAA,GAAA;AAAA,CAAA,EASzB,iBATyB,CAAA,EASR,mBAAA,CAAA,GAAA,CAAA,OAAA,GATQ,IAAA;AAAa,iBAkCzB,iBAAA,CAlCyB;EAAA,cAAA;EAAA,GAAA;CAAA,EAqCtC,cArCsC,CAAA,QAAA,CAAA,GAAA;EAAL,cAAA,CAAA,EAAA,OAAA;CAAyC,CAAA,EAuC5E,mBAAA,CAAA,GAAA,CAAA,OAAA,GAvC4E,IAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"search-toggle.js","names":[],"sources":["../../../src/layouts/shared/search-toggle.tsx"],"sourcesContent":["'use client';\nimport type { ComponentProps } from 'react';\nimport { Search } from 'lucide-react';\nimport { useSearchContext } from '@/contexts/search';\nimport { useI18n } from '@/contexts/i18n';\nimport { cn } from '@fumadocs/ui/cn';\nimport { type ButtonProps, buttonVariants } from '@/components/ui/button';\n\ninterface SearchToggleProps extends Omit<ComponentProps<'button'>, 'color'>, ButtonProps {\n hideIfDisabled?: boolean;\n}\n\nexport function SearchToggle({\n hideIfDisabled,\n size = 'icon-sm',\n color = 'ghost',\n ...props\n}: SearchToggleProps) {\n const { setOpenSearch, enabled } = useSearchContext();\n if (hideIfDisabled && !enabled) return null;\n\n return (\n <button\n type=\"button\"\n className={cn(\n buttonVariants({\n size,\n color,\n }),\n props.className,\n )}\n data-search=\"\"\n aria-label=\"Open Search\"\n onClick={() => {\n setOpenSearch(true);\n }}\n >\n <Search />\n </button>\n );\n}\n\nexport function LargeSearchToggle({\n hideIfDisabled,\n ...props\n}: ComponentProps<'button'> & {\n hideIfDisabled?: boolean;\n}) {\n const { enabled, hotKey, setOpenSearch } = useSearchContext();\n const { text } = useI18n();\n if (hideIfDisabled && !enabled) return null;\n\n return (\n <button\n type=\"button\"\n data-search-full=\"\"\n {...props}\n className={cn(\n 'inline-flex items-center gap-2 rounded-lg border bg-fd-secondary/50 p-1.5 ps-2 text-sm text-fd-muted-foreground transition-colors hover:bg-fd-accent hover:text-fd-accent-foreground',\n props.className,\n )}\n onClick={() => {\n setOpenSearch(true);\n }}\n >\n <Search className=\"size-4\" />\n {text.search}\n <div className=\"ms-auto inline-flex gap-0.5\">\n {hotKey.map((k, i) => (\n <kbd key={i} className=\"rounded-md border bg-fd-background px-1.5\">\n {k.display}\n </kbd>\n ))}\n </div>\n </button>\n );\n}\n"],"mappings":";;;;;;;;;;AAYA,SAAgB,aAAa,EAC3B,gBACA,OAAO,WACP,QAAQ,SACR,GAAG,SACiB;CACpB,MAAM,EAAE,eAAe,kDAA8B;AACrD,KAAI,kBAAkB,CAAC,QAAS,QAAO;AAEvC,QACE,oBAAC;EACC,MAAK;EACL,WAAW,GACT,eAAe;GACb;GACA;GACD,CAAC,EACF,MAAM,UACP;EACD,eAAY;EACZ,cAAW;EACX,eAAe;AACb,iBAAc,KAAK;;YAGrB,oBAAC,WAAS;GACH;;AAIb,SAAgB,kBAAkB,EAChC,gBACA,GAAG,SAGF;CACD,MAAM,EAAE,SAAS,QAAQ,wDAAoC;CAC7D,MAAM,EAAE,oCAAkB;AAC1B,KAAI,kBAAkB,CAAC,QAAS,QAAO;AAEvC,QACE,qBAAC;EACC,MAAK;EACL,oBAAiB;EACjB,GAAI;EACJ,WAAW,GACT,wLACA,MAAM,UACP;EACD,eAAe;AACb,iBAAc,KAAK;;;GAGrB,oBAAC,UAAO,WAAU,WAAW;GAC5B,KAAK;GACN,oBAAC;IAAI,WAAU;cACZ,OAAO,KAAK,GAAG,MACd,oBAAC;KAAY,WAAU;eACpB,EAAE;OADK,EAEJ,CACN;KACE;;GACC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"theme-toggle.d.ts","names":[],"sources":["../../../src/layouts/shared/theme-toggle.tsx"],"sourcesContent":[],"mappings":";;;;iBAkBgB,WAAA;;;;GAIb;;IAEF,mBAAA,CAAA,GAAA,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"theme-toggle.js","names":["value"],"sources":["../../../src/layouts/shared/theme-toggle.tsx"],"sourcesContent":["'use client';\nimport { cva } from 'class-variance-authority';\nimport { Airplay, Moon, Sun } from 'lucide-react';\nimport { useTheme } from 'next-themes';\nimport { ComponentProps, useEffect, useState } from 'react';\nimport { cn } from '@fumadocs/ui/cn';\n\nconst itemVariants = cva('size-6.5 rounded-full p-1.5 text-fd-muted-foreground', {\n variants: {\n active: {\n true: 'bg-fd-accent text-fd-accent-foreground',\n false: 'text-fd-muted-foreground',\n },\n },\n});\n\nconst full = [['light', Sun] as const, ['dark', Moon] as const, ['system', Airplay] as const];\n\nexport function ThemeToggle({\n className,\n mode = 'light-dark',\n ...props\n}: ComponentProps<'div'> & {\n mode?: 'light-dark' | 'light-dark-system';\n}) {\n const { setTheme, theme, resolvedTheme } = useTheme();\n const [mounted, setMounted] = useState(false);\n\n useEffect(() => {\n setMounted(true);\n }, []);\n\n const container = cn('inline-flex items-center rounded-full border p-1', className);\n\n if (mode === 'light-dark') {\n const value = mounted ? resolvedTheme : null;\n\n return (\n <button\n className={container}\n aria-label={`Toggle Theme`}\n onClick={() => setTheme(value === 'light' ? 'dark' : 'light')}\n data-theme-toggle=\"\"\n >\n {full.map(([key, Icon]) => {\n if (key === 'system') return;\n\n return (\n <Icon\n key={key}\n fill=\"currentColor\"\n className={cn(itemVariants({ active: value === key }))}\n />\n );\n })}\n </button>\n );\n }\n\n const value = mounted ? theme : null;\n\n return (\n <div className={container} data-theme-toggle=\"\" {...props}>\n {full.map(([key, Icon]) => (\n <button\n key={key}\n aria-label={key}\n className={cn(itemVariants({ active: value === key }))}\n onClick={() => setTheme(key)}\n >\n <Icon className=\"size-full\" fill=\"currentColor\" />\n </button>\n ))}\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;AAOA,MAAM,eAAe,IAAI,wDAAwD,EAC/E,UAAU,EACR,QAAQ;CACN,MAAM;CACN,OAAO;CACR,EACF,EACF,CAAC;AAEF,MAAM,OAAO;CAAC,CAAC,SAAS,IAAI;CAAW,CAAC,QAAQ,KAAK;CAAW,CAAC,UAAU,QAAQ;CAAU;AAE7F,SAAgB,YAAY,EAC1B,WACA,OAAO,cACP,GAAG,SAGF;CACD,MAAM,EAAE,UAAU,OAAO,kBAAkB,UAAU;CACrD,MAAM,CAAC,SAAS,cAAc,SAAS,MAAM;AAE7C,iBAAgB;AACd,aAAW,KAAK;IACf,EAAE,CAAC;CAEN,MAAM,YAAY,GAAG,oDAAoD,UAAU;AAEnF,KAAI,SAAS,cAAc;EACzB,MAAMA,UAAQ,UAAU,gBAAgB;AAExC,SACE,oBAAC;GACC,WAAW;GACX,cAAY;GACZ,eAAe,SAASA,YAAU,UAAU,SAAS,QAAQ;GAC7D,qBAAkB;aAEjB,KAAK,KAAK,CAAC,KAAK,UAAU;AACzB,QAAI,QAAQ,SAAU;AAEtB,WACE,oBAAC;KAEC,MAAK;KACL,WAAW,GAAG,aAAa,EAAE,QAAQA,YAAU,KAAK,CAAC,CAAC;OAFjD,IAGL;KAEJ;IACK;;CAIb,MAAM,QAAQ,UAAU,QAAQ;AAEhC,QACE,oBAAC;EAAI,WAAW;EAAW,qBAAkB;EAAG,GAAI;YACjD,KAAK,KAAK,CAAC,KAAK,UACf,oBAAC;GAEC,cAAY;GACZ,WAAW,GAAG,aAAa,EAAE,QAAQ,UAAU,KAAK,CAAC,CAAC;GACtD,eAAe,SAAS,IAAI;aAE5B,oBAAC;IAAK,WAAU;IAAY,MAAK;KAAiB;KAL7C,IAME,CACT;GACE"}
package/dist/mdx.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"mdx.d.ts","names":[],"sources":["../src/mdx.tsx"],"sourcesContent":[],"mappings":";;;;;;;;iBAsBS,KAAA,QACA,kBAAkB;;IAExB,mBAAA,CAAA,GAAA,CAAA;iBAYM,KAAA,QAAa,oBAAoB,oBAAiB,mBAAA,CAAA,GAAA,CAAA;AAjB3B,cAyB1B,oBAvBQ,EAAA;EACa,YAAA,EAAA,mBAAA;EAAlB,aAAA,EAAA,oBAAA;EAEN,iBAAA,EAAA,wBAAA;EAAA,oBAAA,EAAA,2BAAA;EAYM,GAAA,EAAA,CAAA,KAAK,EAaC,cAbD,CAagB,cAbhB,CAAA,EAAA,GAa+B,mBAAA,CAAA,GAAA,CAAA,OAb/B;EAA4B,IAAA,EAAA,WAAA;EAApB,KAAA,EAAA,YAAA;EAAqC,CAAA,EAoB9C,EApB8C,CAoB3C,oBApB2C,CAoBtB,iBApBsB,CAAA,CAAA;EAAA,GAAA,EAAA,YAAA;EAQrD,EAAA,EAAA,CAAA,KAAA,EAcQ,cAWb,CAX4B,kBAW5B,CAAA,EAAA,GAX+C,mBAAA,CAAA,GAAA,CAAA,OAW/C;cAVa,eAAe,wBAAmB,mBAAA,CAAA,GAAA,CAAA;cAClC,eAAe,wBAAmB,mBAAA,CAAA,GAAA,CAAA;cAClC,eAAe,wBAAmB,mBAAA,CAAA,GAAA,CAAA;cAClC,eAAe,wBAAmB,mBAAA,CAAA,GAAA,CAAA;EAblB,EAAA,EAAA,CAAA,KAAA,EAchB,cAdgB,CAcD,kBAdC,CAAA,EAAA,GAckB,mBAAA,CAAA,GAAA,CAAA,OAdlB;EAAf,KAAA,EAAA,YAAA;EAA8B,OAAA,EAAA,cAAA;;;EAOR,kBAAA,EAAA,yBAAA;CAArB;AAAH,cAeA,kBAfA,EAAA,OAiBZ,oBAjBY"}
package/dist/mdx.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"mdx.js","names":["Image","FrameworkImage"],"sources":["../src/mdx.tsx"],"sourcesContent":["import Link from 'fumadocs-core/link';\nimport type {\n AnchorHTMLAttributes,\n FC,\n HTMLAttributes,\n ImgHTMLAttributes,\n TableHTMLAttributes,\n} from 'react';\nimport { Image as FrameworkImage } from 'fumadocs-core/framework';\nimport { Card, Cards } from '@/components/card';\nimport { Callout, CalloutContainer, CalloutDescription, CalloutTitle } from '@/components/callout';\nimport { Heading } from '@/components/heading';\nimport { cn } from '@fumadocs/ui/cn';\nimport {\n CodeBlock,\n CodeBlockTab,\n CodeBlockTabs,\n CodeBlockTabsList,\n CodeBlockTabsTrigger,\n Pre,\n} from '@/components/codeblock';\n\nfunction Image(\n props: ImgHTMLAttributes<HTMLImageElement> & {\n sizes?: string;\n },\n) {\n return (\n <FrameworkImage\n sizes=\"(max-width: 768px) 100vw, (max-width: 1200px) 70vw, 900px\"\n {...props}\n src={props.src as unknown as string}\n className={cn('rounded-lg', props.className)}\n />\n );\n}\n\nfunction Table(props: TableHTMLAttributes<HTMLTableElement>) {\n return (\n <div className=\"relative overflow-auto prose-no-margin my-6\">\n <table {...props} />\n </div>\n );\n}\n\nconst defaultMdxComponents = {\n CodeBlockTab,\n CodeBlockTabs,\n CodeBlockTabsList,\n CodeBlockTabsTrigger,\n pre: (props: HTMLAttributes<HTMLPreElement>) => (\n <CodeBlock {...props}>\n <Pre>{props.children}</Pre>\n </CodeBlock>\n ),\n Card,\n Cards,\n a: Link as FC<AnchorHTMLAttributes<HTMLAnchorElement>>,\n img: Image,\n h1: (props: HTMLAttributes<HTMLHeadingElement>) => <Heading as=\"h1\" {...props} />,\n h2: (props: HTMLAttributes<HTMLHeadingElement>) => <Heading as=\"h2\" {...props} />,\n h3: (props: HTMLAttributes<HTMLHeadingElement>) => <Heading as=\"h3\" {...props} />,\n h4: (props: HTMLAttributes<HTMLHeadingElement>) => <Heading as=\"h4\" {...props} />,\n h5: (props: HTMLAttributes<HTMLHeadingElement>) => <Heading as=\"h5\" {...props} />,\n h6: (props: HTMLAttributes<HTMLHeadingElement>) => <Heading as=\"h6\" {...props} />,\n table: Table,\n Callout,\n CalloutContainer,\n CalloutTitle,\n CalloutDescription,\n};\n\nexport const createRelativeLink: typeof import('./mdx.server').createRelativeLink = () => {\n throw new Error('`createRelativeLink` is only supported in Node.js environment');\n};\n\nexport { defaultMdxComponents as default };\n"],"mappings":";;;;;;;;;;AAsBA,SAASA,QACP,OAGA;AACA,QACE,oBAACC;EACC,OAAM;EACN,GAAI;EACJ,KAAK,MAAM;EACX,WAAW,GAAG,cAAc,MAAM,UAAU;GAC5C;;AAIN,SAAS,MAAM,OAA8C;AAC3D,QACE,oBAAC;EAAI,WAAU;YACb,oBAAC,WAAM,GAAI,QAAS;GAChB;;AAIV,MAAM,uBAAuB;CAC3B;CACA;CACA;CACA;CACA,MAAM,UACJ,oBAAC;EAAU,GAAI;YACb,oBAAC,iBAAK,MAAM,WAAe;GACjB;CAEd;CACA;CACA,GAAG;CACH,KAAKD;CACL,KAAK,UAA8C,oBAAC;EAAQ,IAAG;EAAK,GAAI;GAAS;CACjF,KAAK,UAA8C,oBAAC;EAAQ,IAAG;EAAK,GAAI;GAAS;CACjF,KAAK,UAA8C,oBAAC;EAAQ,IAAG;EAAK,GAAI;GAAS;CACjF,KAAK,UAA8C,oBAAC;EAAQ,IAAG;EAAK,GAAI;GAAS;CACjF,KAAK,UAA8C,oBAAC;EAAQ,IAAG;EAAK,GAAI;GAAS;CACjF,KAAK,UAA8C,oBAAC;EAAQ,IAAG;EAAK,GAAI;GAAS;CACjF,OAAO;CACP;CACA;CACA;CACA;CACD;AAED,MAAa,2BAA6E;AACxF,OAAM,IAAI,MAAM,gEAAgE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mdx.server.d.ts","names":[],"sources":["../src/mdx.server.tsx"],"sourcesContent":[],"mappings":";;;;;;;;AAWA;;;;;AAGmB,iBAHH,kBAGG,CAAA,UAH0B,YAG1B,CAAA,CAAA,MAAA,EAFT,YAES,CAFI,CAEJ,CAAA,EAAA,IAAA,EADX,IACW,EAAA,YAAA,CAAA,EAAH,EAAG,CAAA,cAAA,CAAA,GAAA,CAAA,CAAA,CAAA,EAChB,EADgB,CACb,cADa,CAAA,GAAA,CAAA,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mdx.server.js","names":[],"sources":["../src/mdx.server.tsx"],"sourcesContent":["import type { LoaderConfig, LoaderOutput, Page } from 'fumadocs-core/source';\nimport type { ComponentProps, FC } from 'react';\nimport defaultMdxComponents from '@/mdx';\n\n/**\n * Extend the default Link component to resolve relative file paths in `href`.\n *\n * @param page the current page\n * @param source the source object\n * @param OverrideLink The component to override from\n */\nexport function createRelativeLink<C extends LoaderConfig>(\n source: LoaderOutput<C>,\n page: Page,\n OverrideLink: FC<ComponentProps<'a'>> = defaultMdxComponents.a,\n): FC<ComponentProps<'a'>> {\n return async function RelativeLink({ href, ...props }) {\n return <OverrideLink href={href ? source.resolveHref(href, page) : href} {...props} />;\n };\n}\n\nexport { defaultMdxComponents as default };\n"],"mappings":";;;;;;;;;;;AAWA,SAAgB,mBACd,QACA,MACA,eAAwC,qBAAqB,GACpC;AACzB,QAAO,eAAe,aAAa,EAAE,MAAM,GAAG,SAAS;AACrD,SAAO,oBAAC;GAAa,MAAM,OAAO,OAAO,YAAY,MAAM,KAAK,GAAG;GAAM,GAAI;IAAS"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"page.d.ts","names":[],"sources":["../src/page.tsx"],"sourcesContent":[],"mappings":";;;;;;UAkBU,mBAAA,SAA4B,KAAK;;;EAAjC;AAiBV;;;;EAAyD,GAAA,CAAA,EAAA,MAAA;EAQzC;AAQhB;;EAAuC,IAAA,EAAA,MAAA;;AAAoC,UAhB1D,aAAA,SAAsB,eAgBoC,CAAA;EAAa,YAAA,CAAA,EAfvE,mBAeuE;EAAA,UAAA,CAAA,EAdzE,IAcyE,GAAA,MAAA,GAAA,MAAA;;;;;iBARxE,WAAA,QAAmB,yBAAsB,kBAAA,CAAA,GAAA,CAAA;iBAQzC,QAAA;;;;;GAA2D,gBAAa,kBAAA,CAAA,GAAA,CAAA"}
package/dist/page.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"page.js","names":["Docs","Notebook","DocsPage","EditOnGitHub","PageLastUpdate"],"sources":["../src/page.tsx"],"sourcesContent":["'use client';\nimport { type ComponentProps, use } from 'react';\nimport { cn } from '@fumadocs/ui/cn';\nimport * as Docs from './layouts/docs/page';\nimport * as Notebook from './layouts/notebook/page';\nimport { LayoutContext } from './layouts/docs/client';\n\n// TODO: remove this compat layer on v17\n\nexport {\n DocsDescription,\n DocsTitle,\n EditOnGitHub,\n DocsBody,\n PageBreadcrumb,\n PageLastUpdate,\n} from './layouts/docs/page';\n\ninterface EditOnGitHubOptions extends Omit<ComponentProps<'a'>, 'href' | 'children'> {\n owner: string;\n repo: string;\n\n /**\n * SHA or ref (branch or tag) name.\n *\n * @defaultValue main\n */\n sha?: string;\n\n /**\n * File path in the repo\n */\n path: string;\n}\n\nexport interface DocsPageProps extends Docs.DocsPageProps {\n editOnGithub?: EditOnGitHubOptions;\n lastUpdate?: Date | string | number;\n}\n\n/**\n * For separate MDX page\n */\nexport function withArticle(props: ComponentProps<'main'>) {\n return (\n <main {...props} className={cn('w-full max-w-[1400px] mx-auto px-4 py-12', props.className)}>\n <article className=\"prose\">{props.children}</article>\n </main>\n );\n}\n\nexport function DocsPage({ lastUpdate, editOnGithub, children, ...props }: DocsPageProps) {\n const docsLayoutCtx = use(LayoutContext);\n const { DocsPage, EditOnGitHub, PageLastUpdate } = docsLayoutCtx ? Docs : Notebook;\n\n return (\n <DocsPage {...props}>\n {children}\n <div className=\"flex flex-row flex-wrap items-center justify-between gap-4 empty:hidden\">\n {editOnGithub && (\n <EditOnGitHub\n href={`https://github.com/${editOnGithub.owner}/${editOnGithub.repo}/blob/${editOnGithub.sha}/${editOnGithub.path.startsWith('/') ? editOnGithub.path.slice(1) : editOnGithub.path}`}\n />\n )}\n {lastUpdate && <PageLastUpdate date={new Date(lastUpdate)} />}\n </div>\n </DocsPage>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;AA2CA,SAAgB,YAAY,OAA+B;AACzD,QACE,oBAAC;EAAK,GAAI;EAAO,WAAW,GAAG,4CAA4C,MAAM,UAAU;YACzF,oBAAC;GAAQ,WAAU;aAAS,MAAM;IAAmB;GAChD;;AAIX,SAAgB,SAAS,EAAE,YAAY,cAAc,UAAU,GAAG,SAAwB;CAExF,MAAM,EAAE,sBAAU,8BAAc,qCADV,IAAI,cAAc,GAC2BA,eAAOC;AAE1E,QACE,qBAACC;EAAS,GAAI;aACX,UACD,qBAAC;GAAI,WAAU;cACZ,gBACC,oBAACC,kBACC,MAAM,sBAAsB,aAAa,MAAM,GAAG,aAAa,KAAK,QAAQ,aAAa,IAAI,GAAG,aAAa,KAAK,WAAW,IAAI,GAAG,aAAa,KAAK,MAAM,EAAE,GAAG,aAAa,SAC9K,EAEH,cAAc,oBAACC,oBAAe,MAAM,IAAI,KAAK,WAAW,GAAI;IACzD;GACG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"base.d.ts","names":[],"sources":["../../src/provider/base.tsx"],"sourcesContent":[],"mappings":";;;;;;;;UASU,aAAA,SAAsB,KAAK;YACzB,QAAQ;;AAHoE;;;;EAExD,OAAA,CAAA,EAAA,OAAA;;AAWf,UAAA,iBAAA,CAAiB;EASf;;;EAKD,GAAA,CAAA,EAAA,KAAA,GAAA,KAAA;EAAR;;;EAWG,MAAA,CAAA,EAhBF,OAgBE,CAhBM,aAgBN,CAAA;EAAS;AAKtB;;EAEE,KAAA,CAAA,EAlBQ,OAkBR,CAlBgB,wBAkBhB,CAAA,OAlBgD,aAkBhD,CAAA,CAAA,GAAA;IACA;;;;;IAGkB,OAAA,CAAA,EAAA,OAAA;;SAbX,KAAK;aAED;;iBAKG,YAAA;;;;;;GAMb,oBAAiB,oBAAA,CAAA,GAAA,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"base.js","names":[],"sources":["../../src/provider/base.tsx"],"sourcesContent":["'use client';\n\nimport { type ComponentPropsWithoutRef, lazy, type ReactNode } from 'react';\nimport { DirectionProvider } from '@radix-ui/react-direction';\nimport type { DefaultSearchDialogProps } from '@/components/dialog/search-default';\nimport { ThemeProvider } from 'next-themes';\nimport { I18nProvider, type I18nProviderProps } from '@fumadocs/ui/contexts/i18n';\nimport { SearchProvider, type SearchProviderProps } from '@fumadocs/ui/contexts/search';\n\ninterface SearchOptions extends Omit<SearchProviderProps, 'options' | 'children'> {\n options?: Partial<DefaultSearchDialogProps>;\n\n /**\n * Enable search functionality\n *\n * @defaultValue `true`\n */\n enabled?: boolean;\n}\n\nexport interface RootProviderProps {\n /**\n * `dir` option for Radix UI\n */\n dir?: 'rtl' | 'ltr';\n\n /**\n * @remarks `SearchProviderProps`\n */\n search?: Partial<SearchOptions>;\n\n /**\n * Customise options of `next-themes`\n */\n theme?: Partial<ComponentPropsWithoutRef<typeof ThemeProvider>> & {\n /**\n * Enable `next-themes`\n *\n * @defaultValue true\n */\n enabled?: boolean;\n };\n\n i18n?: Omit<I18nProviderProps, 'children'>;\n\n children?: ReactNode;\n}\n\nconst DefaultSearchDialog = lazy(() => import('@/components/dialog/search-default'));\n\nexport function RootProvider({\n children,\n dir = 'ltr',\n theme = {},\n search,\n i18n,\n}: RootProviderProps) {\n let body = children;\n\n if (search?.enabled !== false)\n body = (\n <SearchProvider SearchDialog={DefaultSearchDialog} {...search}>\n {body}\n </SearchProvider>\n );\n\n if (theme?.enabled !== false)\n body = (\n <ThemeProvider\n attribute=\"class\"\n defaultTheme=\"system\"\n enableSystem\n disableTransitionOnChange\n {...theme}\n >\n {body}\n </ThemeProvider>\n );\n\n if (i18n) {\n body = <I18nProvider {...i18n}>{body}</I18nProvider>;\n }\n\n return <DirectionProvider dir={dir}>{body}</DirectionProvider>;\n}\n"],"mappings":";;;;;;;;;;AAgDA,MAAM,sBAAsB,WAAW,OAAO,0CAAsC;AAEpF,SAAgB,aAAa,EAC3B,UACA,MAAM,OACN,QAAQ,EAAE,EACV,QACA,QACoB;CACpB,IAAI,OAAO;AAEX,KAAI,QAAQ,YAAY,MACtB,QACE,oBAAC;EAAe,cAAc;EAAqB,GAAI;YACpD;GACc;AAGrB,KAAI,OAAO,YAAY,MACrB,QACE,oBAAC;EACC,WAAU;EACV,cAAa;EACb;EACA;EACA,GAAI;YAEH;GACa;AAGpB,KAAI,KACF,QAAO,oBAAC;EAAa,GAAI;YAAO;GAAoB;AAGtD,QAAO,oBAAC;EAAuB;YAAM;GAAyB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"next.d.ts","names":[],"sources":["../../src/provider/next.tsx"],"sourcesContent":[],"mappings":";;;;;;UAMiB,iBAAA,SAA0B,sBAAsB;;;AAAjE;EAAiE,UAAA,CAAA,EAAA;IAKtD,IAAA,CAAA,EAAA,SAAA,CAAA,MAAA,CAAA;IACC,KAAA,CAAA,EAAA,SAAA,CAAA,OAAA,CAAA;EAN+B,CAAA;;AAU3B,iBAAA,YAAA,CAAY;EAAA,UAAA;EAAA,GAAA;AAAA,CAAA,EAA2B,iBAA3B,CAAA,EAA4C,oBAAA,CAAA,GAAA,CAAA,OAA5C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"next.js","names":["BaseProvider"],"sources":["../../src/provider/next.tsx"],"sourcesContent":["'use client';\nimport type { ComponentProps } from 'react';\nimport { RootProvider as BaseProvider } from '@/provider/base';\nimport { NextProvider } from 'fumadocs-core/framework/next';\nimport type { Framework } from 'fumadocs-core/framework';\n\nexport interface RootProviderProps extends ComponentProps<typeof BaseProvider> {\n /**\n * Custom framework components to override Next.js defaults\n */\n components?: {\n Link?: Framework['Link'];\n Image?: Framework['Image'];\n };\n}\n\nexport function RootProvider({ components, ...props }: RootProviderProps) {\n return (\n <NextProvider Link={components?.Link} Image={components?.Image}>\n <BaseProvider {...props}>{props.children}</BaseProvider>\n </NextProvider>\n );\n}\n"],"mappings":";;;;;;;AAgBA,SAAgB,aAAa,EAAE,YAAY,GAAG,SAA4B;AACxE,QACE,oBAAC;EAAa,MAAM,YAAY;EAAM,OAAO,YAAY;YACvD,oBAACA;GAAa,GAAI;aAAQ,MAAM;IAAwB;GAC3C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"react-router.d.ts","names":[],"sources":["../../src/provider/react-router.tsx"],"sourcesContent":[],"mappings":";;;;;;UAMiB,iBAAA,SAA0B,sBAAsB;;;AAAjE;EAAiE,UAAA,CAAA,EAAA;IAKtD,IAAA,CAAA,EAAA,SAAA,CAAA,MAAA,CAAA;IACC,KAAA,CAAA,EAAA,SAAA,CAAA,OAAA,CAAA;EAN+B,CAAA;;AAU3B,iBAAA,YAAA,CAAY;EAAA,UAAA;EAAA,GAAA;AAAA,CAAA,EAA2B,iBAA3B,CAAA,EAA4C,kBAAA,CAAA,GAAA,CAAA,OAA5C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"react-router.js","names":["BaseProvider"],"sources":["../../src/provider/react-router.tsx"],"sourcesContent":["'use client';\nimport type { ComponentProps } from 'react';\nimport { RootProvider as BaseProvider } from '@/provider/base';\nimport { ReactRouterProvider } from 'fumadocs-core/framework/react-router';\nimport type { Framework } from 'fumadocs-core/framework';\n\nexport interface RootProviderProps extends ComponentProps<typeof BaseProvider> {\n /**\n * Custom framework components to override React Router defaults\n */\n components?: {\n Link?: Framework['Link'];\n Image?: Framework['Image'];\n };\n}\n\nexport function RootProvider({ components, ...props }: RootProviderProps) {\n return (\n <ReactRouterProvider Link={components?.Link} Image={components?.Image}>\n <BaseProvider {...props}>{props.children}</BaseProvider>\n </ReactRouterProvider>\n );\n}\n"],"mappings":";;;;;;;AAgBA,SAAgB,aAAa,EAAE,YAAY,GAAG,SAA4B;AACxE,QACE,oBAAC;EAAoB,MAAM,YAAY;EAAM,OAAO,YAAY;YAC9D,oBAACA;GAAa,GAAI;aAAQ,MAAM;IAAwB;GACpC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"tanstack.d.ts","names":[],"sources":["../../src/provider/tanstack.tsx"],"sourcesContent":[],"mappings":";;;;;;UAMiB,iBAAA,SAA0B,sBAAsB;;;AAAjE;EAAiE,UAAA,CAAA,EAAA;IAKtD,IAAA,CAAA,EAAA,SAAA,CAAA,MAAA,CAAA;IACC,KAAA,CAAA,EAAA,SAAA,CAAA,OAAA,CAAA;EAN+B,CAAA;;AAU3B,iBAAA,YAAA,CAAY;EAAA,UAAA;EAAA,GAAA;AAAA,CAAA,EAA2B,iBAA3B,CAAA,EAA4C,mBAAA,CAAA,GAAA,CAAA,OAA5C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"tanstack.js","names":["BaseProvider"],"sources":["../../src/provider/tanstack.tsx"],"sourcesContent":["'use client';\nimport type { ComponentProps } from 'react';\nimport { RootProvider as BaseProvider } from '@/provider/base';\nimport { TanstackProvider } from 'fumadocs-core/framework/tanstack';\nimport type { Framework } from 'fumadocs-core/framework';\n\nexport interface RootProviderProps extends ComponentProps<typeof BaseProvider> {\n /**\n * Custom framework components to override Tanstack Router defaults\n */\n components?: {\n Link?: Framework['Link'];\n Image?: Framework['Image'];\n };\n}\n\nexport function RootProvider({ components, ...props }: RootProviderProps) {\n return (\n <TanstackProvider Link={components?.Link} Image={components?.Image}>\n <BaseProvider {...props}>{props.children}</BaseProvider>\n </TanstackProvider>\n );\n}\n"],"mappings":";;;;;;;AAgBA,SAAgB,aAAa,EAAE,YAAY,GAAG,SAA4B;AACxE,QACE,oBAAC;EAAiB,MAAM,YAAY;EAAM,OAAO,YAAY;YAC3D,oBAACA;GAAa,GAAI;aAAQ,MAAM;IAAwB;GACvC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"waku.d.ts","names":[],"sources":["../../src/provider/waku.tsx"],"sourcesContent":[],"mappings":";;;;;;UAMiB,iBAAA,SAA0B,sBAAsB;;;AAAjE;EAAiE,UAAA,CAAA,EAAA;IAKtD,IAAA,CAAA,EAAA,SAAA,CAAA,MAAA,CAAA;IACC,KAAA,CAAA,EAAA,SAAA,CAAA,OAAA,CAAA;EAN+B,CAAA;;AAU3B,iBAAA,YAAA,CAAY;EAAA,UAAA;EAAA,GAAA;AAAA,CAAA,EAA2B,iBAA3B,CAAA,EAA4C,mBAAA,CAAA,GAAA,CAAA,OAA5C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"waku.js","names":["BaseProvider"],"sources":["../../src/provider/waku.tsx"],"sourcesContent":["'use client';\nimport type { ComponentProps } from 'react';\nimport { RootProvider as BaseProvider } from '@/provider/base';\nimport { WakuProvider } from 'fumadocs-core/framework/waku';\nimport type { Framework } from 'fumadocs-core/framework';\n\nexport interface RootProviderProps extends ComponentProps<typeof BaseProvider> {\n /**\n * Custom framework components to override Waku defaults\n */\n components?: {\n Link?: Framework['Link'];\n Image?: Framework['Image'];\n };\n}\n\nexport function RootProvider({ components, ...props }: RootProviderProps) {\n return (\n <WakuProvider Link={components?.Link} Image={components?.Image}>\n <BaseProvider {...props}>{props.children}</BaseProvider>\n </WakuProvider>\n );\n}\n"],"mappings":";;;;;;;AAgBA,SAAgB,aAAa,EAAE,YAAY,GAAG,SAA4B;AACxE,QACE,oBAAC;EAAa,MAAM,YAAY;EAAM,OAAO,YAAY;YACvD,oBAACA;GAAa,GAAI;aAAQ,MAAM;IAAwB;GAC3C"}