fumadocs-ui 16.1.0 → 16.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) hide show
  1. package/css/black.css +1 -1
  2. package/css/catppuccin.css +1 -1
  3. package/css/colors/index.css +51 -0
  4. package/css/dusk.css +1 -1
  5. package/css/layouts/docs.css +1 -0
  6. package/css/layouts/home.css +1 -0
  7. package/css/layouts/notebook.css +1 -0
  8. package/css/neutral.css +1 -40
  9. package/css/ocean.css +1 -1
  10. package/css/preset.css +21 -28
  11. package/css/purple.css +1 -1
  12. package/css/shadcn.css +5 -1
  13. package/css/shiki.css +1 -3
  14. package/css/solar.css +48 -21
  15. package/css/vitepress.css +1 -1
  16. package/dist/components/image-zoom.d.ts +3 -3
  17. package/dist/components/image-zoom.d.ts.map +1 -1
  18. package/dist/components/image-zoom.js +1 -1
  19. package/dist/components/sidebar/base.d.ts +64 -0
  20. package/dist/components/sidebar/base.d.ts.map +1 -0
  21. package/dist/components/sidebar/base.js +178 -0
  22. package/dist/components/sidebar/link-item.d.ts +11 -0
  23. package/dist/components/sidebar/link-item.d.ts.map +1 -0
  24. package/dist/components/sidebar/link-item.js +13 -0
  25. package/dist/components/sidebar/page-tree.d.ts +19 -0
  26. package/dist/components/sidebar/page-tree.d.ts.map +1 -0
  27. package/dist/components/sidebar/page-tree.js +34 -0
  28. package/dist/components/{layout/root-toggle.d.ts → sidebar/tabs.d.ts} +4 -4
  29. package/dist/components/sidebar/tabs.d.ts.map +1 -0
  30. package/dist/components/{layout/root-toggle.js → sidebar/tabs.js} +3 -3
  31. package/dist/components/tabs.unstyled.d.ts +0 -3
  32. package/dist/components/tabs.unstyled.d.ts.map +1 -1
  33. package/dist/components/tabs.unstyled.js +23 -32
  34. package/dist/components/toc/clerk.d.ts +3 -0
  35. package/dist/components/toc/clerk.d.ts.map +1 -0
  36. package/dist/components/{layout/toc-clerk.js → toc/clerk.js} +5 -6
  37. package/dist/components/toc/default.d.ts +3 -0
  38. package/dist/components/toc/default.d.ts.map +1 -0
  39. package/dist/components/{layout/toc.js → toc/default.js} +5 -16
  40. package/dist/components/{layout/toc.d.ts → toc/index.d.ts} +7 -3
  41. package/dist/components/toc/index.d.ts.map +1 -0
  42. package/dist/components/{layout/toc-thumb.js → toc/index.js} +17 -3
  43. package/dist/contexts/search.js +1 -1
  44. package/dist/contexts/tree.d.ts +1 -1
  45. package/dist/contexts/tree.d.ts.map +1 -1
  46. package/dist/contexts/tree.js +3 -3
  47. package/dist/layouts/docs/client.d.ts +12 -6
  48. package/dist/layouts/docs/client.d.ts.map +1 -1
  49. package/dist/layouts/docs/client.js +26 -31
  50. package/dist/layouts/docs/index.d.ts +9 -9
  51. package/dist/layouts/docs/index.d.ts.map +1 -1
  52. package/dist/layouts/docs/index.js +37 -48
  53. package/dist/layouts/docs/{page-client.d.ts → page/client.d.ts} +3 -4
  54. package/dist/layouts/docs/page/client.d.ts.map +1 -0
  55. package/dist/layouts/docs/{page-client.js → page/client.js} +39 -76
  56. package/dist/layouts/docs/page/index.d.ts +58 -0
  57. package/dist/layouts/docs/page/index.d.ts.map +1 -0
  58. package/dist/layouts/docs/page/index.js +51 -0
  59. package/dist/layouts/docs/sidebar.d.ts +17 -0
  60. package/dist/layouts/docs/sidebar.d.ts.map +1 -0
  61. package/dist/layouts/docs/sidebar.js +93 -0
  62. package/dist/layouts/home/client.d.ts +2 -20
  63. package/dist/layouts/home/client.d.ts.map +1 -1
  64. package/dist/layouts/home/client.js +54 -17
  65. package/dist/layouts/home/index.d.ts +2 -3
  66. package/dist/layouts/home/index.d.ts.map +1 -1
  67. package/dist/layouts/home/index.js +3 -35
  68. package/dist/layouts/notebook/client.d.ts +20 -8
  69. package/dist/layouts/notebook/client.d.ts.map +1 -1
  70. package/dist/layouts/notebook/client.js +57 -33
  71. package/dist/layouts/notebook/index.d.ts +9 -9
  72. package/dist/layouts/notebook/index.d.ts.map +1 -1
  73. package/dist/layouts/notebook/index.js +47 -70
  74. package/dist/layouts/notebook/page/client.d.ts +24 -0
  75. package/dist/layouts/notebook/page/client.d.ts.map +1 -0
  76. package/dist/layouts/notebook/page/client.js +119 -0
  77. package/dist/layouts/notebook/page/index.d.ts +58 -0
  78. package/dist/layouts/notebook/page/index.d.ts.map +1 -0
  79. package/dist/layouts/notebook/page/index.js +51 -0
  80. package/dist/layouts/notebook/sidebar.d.ts +17 -0
  81. package/dist/layouts/notebook/sidebar.d.ts.map +1 -0
  82. package/dist/layouts/notebook/sidebar.js +90 -0
  83. package/dist/layouts/shared/index.d.ts +12 -78
  84. package/dist/layouts/shared/index.d.ts.map +1 -1
  85. package/dist/layouts/shared/index.js +11 -15
  86. package/dist/layouts/shared/language-toggle.d.ts +5 -0
  87. package/dist/layouts/shared/language-toggle.d.ts.map +1 -0
  88. package/dist/layouts/shared/link-item.d.ts +78 -0
  89. package/dist/layouts/shared/link-item.d.ts.map +1 -0
  90. package/dist/layouts/shared/{client.js → link-item.js} +1 -1
  91. package/dist/layouts/shared/search-toggle.d.ts.map +1 -0
  92. package/dist/{components/layout → layouts/shared}/theme-toggle.d.ts +2 -2
  93. package/dist/layouts/shared/theme-toggle.d.ts.map +1 -0
  94. package/dist/{components/layout → layouts/shared}/theme-toggle.js +3 -3
  95. package/dist/page.d.ts +6 -59
  96. package/dist/page.d.ts.map +1 -1
  97. package/dist/page.js +16 -50
  98. package/dist/provider/base.d.ts.map +1 -1
  99. package/dist/provider/base.js +2 -3
  100. package/dist/style.css +221 -211
  101. package/dist/utils/use-footer-items.d.ts +6 -0
  102. package/dist/utils/use-footer-items.d.ts.map +1 -0
  103. package/dist/utils/use-footer-items.js +27 -0
  104. package/dist/utils/use-is-scroll-top.d.ts +4 -0
  105. package/dist/utils/use-is-scroll-top.d.ts.map +1 -0
  106. package/dist/utils/use-is-scroll-top.js +17 -0
  107. package/package.json +11 -24
  108. package/css/default.css +0 -34
  109. package/dist/components/layout/language-toggle.d.ts +0 -5
  110. package/dist/components/layout/language-toggle.d.ts.map +0 -1
  111. package/dist/components/layout/root-toggle.d.ts.map +0 -1
  112. package/dist/components/layout/search-toggle.d.ts.map +0 -1
  113. package/dist/components/layout/sidebar.d.ts +0 -66
  114. package/dist/components/layout/sidebar.d.ts.map +0 -1
  115. package/dist/components/layout/sidebar.js +0 -200
  116. package/dist/components/layout/theme-toggle.d.ts.map +0 -1
  117. package/dist/components/layout/toc-clerk.d.ts +0 -3
  118. package/dist/components/layout/toc-clerk.d.ts.map +0 -1
  119. package/dist/components/layout/toc-thumb.d.ts +0 -7
  120. package/dist/components/layout/toc-thumb.d.ts.map +0 -1
  121. package/dist/components/layout/toc.d.ts.map +0 -1
  122. package/dist/contexts/layout.d.ts +0 -28
  123. package/dist/contexts/layout.d.ts.map +0 -1
  124. package/dist/contexts/layout.js +0 -38
  125. package/dist/contexts/sidebar.d.ts +0 -18
  126. package/dist/contexts/sidebar.d.ts.map +0 -1
  127. package/dist/contexts/sidebar.js +0 -31
  128. package/dist/layouts/docs/page-client.d.ts.map +0 -1
  129. package/dist/layouts/docs/page.d.ts +0 -17
  130. package/dist/layouts/docs/page.d.ts.map +0 -1
  131. package/dist/layouts/docs/page.js +0 -26
  132. package/dist/layouts/shared/client.d.ts +0 -6
  133. package/dist/layouts/shared/client.d.ts.map +0 -1
  134. package/dist/provider/index.d.ts +0 -11
  135. package/dist/provider/index.d.ts.map +0 -1
  136. package/dist/provider/index.js +0 -12
  137. /package/dist/{components/layout → layouts/shared}/language-toggle.js +0 -0
  138. /package/dist/{components/layout → layouts/shared}/search-toggle.d.ts +0 -0
  139. /package/dist/{components/layout → layouts/shared}/search-toggle.js +0 -0
@@ -3,7 +3,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import { cva } from 'class-variance-authority';
4
4
  import { Moon, Sun, Airplay } from '../../icons.js';
5
5
  import { useTheme } from 'next-themes';
6
- import { useLayoutEffect, useState } from 'react';
6
+ import { useEffect, useState } from 'react';
7
7
  import { cn } from '../../utils/cn.js';
8
8
  const itemVariants = cva('size-6.5 rounded-full p-1.5 text-fd-muted-foreground', {
9
9
  variants: {
@@ -21,13 +21,13 @@ const full = [
21
21
  export function ThemeToggle({ className, mode = 'light-dark', ...props }) {
22
22
  const { setTheme, theme, resolvedTheme } = useTheme();
23
23
  const [mounted, setMounted] = useState(false);
24
- useLayoutEffect(() => {
24
+ useEffect(() => {
25
25
  setMounted(true);
26
26
  }, []);
27
27
  const container = cn('inline-flex items-center rounded-full border p-1', className);
28
28
  if (mode === 'light-dark') {
29
29
  const value = mounted ? resolvedTheme : null;
30
- return (_jsx("button", { className: container, "aria-label": `Toggle Theme`, onClick: () => setTheme(value === 'light' ? 'dark' : 'light'), "data-theme-toggle": "", ...props, children: full.map(([key, Icon]) => {
30
+ return (_jsx("button", { className: container, "aria-label": `Toggle Theme`, onClick: () => setTheme(value === 'light' ? 'dark' : 'light'), "data-theme-toggle": "", children: full.map(([key, Icon]) => {
31
31
  if (key === 'system')
32
32
  return;
33
33
  return (_jsx(Icon, { fill: "currentColor", className: cn(itemVariants({ active: value === key })) }, key));
package/dist/page.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { type ComponentProps, type ReactNode } from 'react';
2
- import { type BreadcrumbProps, type FooterProps } from './layouts/docs/page.js';
3
- import type { AnchorProviderProps, TOCItemType } from 'fumadocs-core/toc';
1
+ import { type ComponentProps } from 'react';
2
+ import * as Docs from './layouts/docs/page/index.js';
3
+ export { DocsDescription, DocsTitle, EditOnGitHub, DocsBody, PageBreadcrumb, PageLastUpdate, } from './layouts/docs/page/index.js';
4
4
  interface EditOnGitHubOptions extends Omit<ComponentProps<'a'>, 'href' | 'children'> {
5
5
  owner: string;
6
6
  repo: string;
@@ -15,66 +15,13 @@ interface EditOnGitHubOptions extends Omit<ComponentProps<'a'>, 'href' | 'childr
15
15
  */
16
16
  path: string;
17
17
  }
18
- interface BreadcrumbOptions extends BreadcrumbProps {
19
- enabled: boolean;
20
- component: ReactNode;
21
- }
22
- interface FooterOptions extends FooterProps {
23
- enabled: boolean;
24
- component: ReactNode;
25
- }
26
- export interface DocsPageProps {
27
- toc?: TOCItemType[];
28
- tableOfContent?: Partial<TableOfContentOptions>;
29
- tableOfContentPopover?: Partial<TableOfContentPopoverOptions>;
30
- /**
31
- * Extend the page to fill all available space
32
- *
33
- * @defaultValue false
34
- */
35
- full?: boolean;
36
- /**
37
- * Replace or disable breadcrumb
38
- */
39
- breadcrumb?: Partial<BreadcrumbOptions>;
40
- /**
41
- * Footer navigation, you can disable it by passing `false`
42
- */
43
- footer?: Partial<FooterOptions>;
18
+ export interface DocsPageProps extends Docs.DocsPageProps {
44
19
  editOnGithub?: EditOnGitHubOptions;
45
20
  lastUpdate?: Date | string | number;
46
- container?: ComponentProps<'div'>;
47
- article?: ComponentProps<'article'>;
48
- children?: ReactNode;
49
21
  }
50
- type TableOfContentOptions = Pick<AnchorProviderProps, 'single'> & {
51
- /**
52
- * Custom content in TOC container, before the main TOC
53
- */
54
- header?: ReactNode;
55
- /**
56
- * Custom content in TOC container, after the main TOC
57
- */
58
- footer?: ReactNode;
59
- enabled: boolean;
60
- component: ReactNode;
61
- /**
62
- * @defaultValue 'normal'
63
- */
64
- style?: 'normal' | 'clerk';
65
- };
66
- type TableOfContentPopoverOptions = Omit<TableOfContentOptions, 'single'>;
67
- export declare function DocsPage({ editOnGithub, breadcrumb: { enabled: breadcrumbEnabled, component: breadcrumb, ...breadcrumbProps }, footer, lastUpdate, container, full, tableOfContentPopover: { enabled: tocPopoverEnabled, component: tocPopover, ...tocPopoverOptions }, tableOfContent: { enabled: tocEnabled, component: tocReplace, ...tocOptions }, toc, article, children, }: DocsPageProps): import("react/jsx-runtime").JSX.Element;
68
- export declare function EditOnGitHub(props: ComponentProps<'a'>): import("react/jsx-runtime").JSX.Element;
69
- /**
70
- * Add typography styles
71
- */
72
- export declare const DocsBody: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
73
- export declare const DocsDescription: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLParagraphElement>, HTMLParagraphElement>, "ref"> & import("react").RefAttributes<HTMLParagraphElement>>;
74
- export declare const DocsTitle: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLHeadingElement>, HTMLHeadingElement>, "ref"> & import("react").RefAttributes<HTMLHeadingElement>>;
75
22
  /**
76
23
  * For separate MDX page
77
24
  */
78
- export declare function withArticle(props: ComponentProps<'main'>): ReactNode;
79
- export {};
25
+ export declare function withArticle(props: ComponentProps<'main'>): import("react/jsx-runtime").JSX.Element;
26
+ export declare function DocsPage({ lastUpdate, editOnGithub, children, ...props }: DocsPageProps): import("react/jsx-runtime").JSX.Element;
80
27
  //# sourceMappingURL=page.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../src/page.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../src/page.tsx"],"names":[],"mappings":"AACA,OAAO,EAAO,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AAEjD,OAAO,KAAK,IAAI,MAAM,qBAAqB,CAAC;AAM5C,OAAO,EACL,eAAe,EACf,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,cAAc,GACf,MAAM,qBAAqB,CAAC;AAE7B,UAAU,mBACR,SAAQ,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IACtD,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,aAAa;IACvD,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,UAAU,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;CACrC;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,2CAYxD;AAED,wBAAgB,QAAQ,CAAC,EACvB,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,aAAa,2CAmBf"}
package/dist/page.js CHANGED
@@ -1,56 +1,22 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { forwardRef } from 'react';
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { use } from 'react';
3
4
  import { cn } from './utils/cn.js';
4
- import { buttonVariants } from './components/ui/button.js';
5
- import { Edit } from './icons.js';
6
- import { I18nLabel } from './contexts/i18n.js';
7
- import { PageArticle, PageBreadcrumb, PageFooter, PageLastUpdate, PageRoot, PageTOC, PageTOCItems, PageTOCPopover, PageTOCPopoverContent, PageTOCPopoverItems, PageTOCPopoverTrigger, PageTOCTitle, } from './layouts/docs/page.js';
8
- export function DocsPage({ editOnGithub, breadcrumb: { enabled: breadcrumbEnabled = true, component: breadcrumb, ...breadcrumbProps } = {}, footer = {}, lastUpdate, container, full = false, tableOfContentPopover: { enabled: tocPopoverEnabled, component: tocPopover, ...tocPopoverOptions } = {}, tableOfContent: { enabled: tocEnabled, component: tocReplace, ...tocOptions } = {}, toc = [], article, children, }) {
9
- // disable TOC on full mode, you can still enable it with `enabled` option.
10
- tocEnabled ?? (tocEnabled = !full &&
11
- (toc.length > 0 ||
12
- tocOptions.footer !== undefined ||
13
- tocOptions.header !== undefined));
14
- tocPopoverEnabled ?? (tocPopoverEnabled = toc.length > 0 ||
15
- tocPopoverOptions.header !== undefined ||
16
- tocPopoverOptions.footer !== undefined);
17
- return (_jsxs(PageRoot, { toc: tocEnabled || tocPopoverEnabled
18
- ? {
19
- toc,
20
- single: tocOptions.single,
21
- }
22
- : false, ...container, children: [tocPopoverEnabled &&
23
- (tocPopover ?? (_jsxs(PageTOCPopover, { children: [_jsx(PageTOCPopoverTrigger, {}), _jsxs(PageTOCPopoverContent, { children: [tocPopoverOptions.header, _jsx(PageTOCPopoverItems, { variant: tocPopoverOptions.style }), tocPopoverOptions.footer] })] }))), _jsxs(PageArticle, { ...article, children: [breadcrumbEnabled &&
24
- (breadcrumb ?? _jsx(PageBreadcrumb, { ...breadcrumbProps })), children, _jsxs("div", { className: "flex flex-row flex-wrap items-center justify-between gap-4 empty:hidden", children: [editOnGithub && (_jsx(EditOnGitHub, { href: `https://github.com/${editOnGithub.owner}/${editOnGithub.repo}/blob/${editOnGithub.sha}/${editOnGithub.path.startsWith('/') ? editOnGithub.path.slice(1) : editOnGithub.path}` })), lastUpdate && _jsx(PageLastUpdate, { date: new Date(lastUpdate) })] }), footer.enabled !== false &&
25
- (footer.component ?? _jsx(PageFooter, { items: footer.items }))] }), tocEnabled &&
26
- (tocReplace ?? (_jsxs(PageTOC, { children: [tocOptions.header, _jsx(PageTOCTitle, {}), _jsx(PageTOCItems, { variant: tocOptions.style }), tocOptions.footer] })))] }));
27
- }
28
- export function EditOnGitHub(props) {
29
- return (_jsx("a", { target: "_blank", rel: "noreferrer noopener", ...props, className: cn(buttonVariants({
30
- color: 'secondary',
31
- size: 'sm',
32
- className: 'gap-1.5 not-prose',
33
- }), props.className), children: props.children ?? (_jsxs(_Fragment, { children: [_jsx(Edit, { className: "size-3.5" }), _jsx(I18nLabel, { label: "editOnGithub" })] })) }));
34
- }
35
- /**
36
- * Add typography styles
37
- */
38
- export const DocsBody = forwardRef((props, ref) => (_jsx("div", { ref: ref, ...props, className: cn('prose flex-1', props.className), children: props.children })));
39
- DocsBody.displayName = 'DocsBody';
40
- export const DocsDescription = forwardRef((props, ref) => {
41
- // don't render if no description provided
42
- if (props.children === undefined)
43
- return null;
44
- return (_jsx("p", { ref: ref, ...props, className: cn('mb-8 text-lg text-fd-muted-foreground', props.className), children: props.children }));
45
- });
46
- DocsDescription.displayName = 'DocsDescription';
47
- export const DocsTitle = forwardRef((props, ref) => {
48
- return (_jsx("h1", { ref: ref, ...props, className: cn('text-[1.75em] font-semibold', props.className), children: props.children }));
49
- });
50
- DocsTitle.displayName = 'DocsTitle';
5
+ import * as Docs from './layouts/docs/page/index.js';
6
+ import * as Notebook from './layouts/notebook/page/index.js';
7
+ import { LayoutContext } from './layouts/docs/client.js';
8
+ // TODO: remove this compat layer on v17
9
+ export { DocsDescription, DocsTitle, EditOnGitHub, DocsBody, PageBreadcrumb, PageLastUpdate, } from './layouts/docs/page/index.js';
51
10
  /**
52
11
  * For separate MDX page
53
12
  */
54
13
  export function withArticle(props) {
55
- return (_jsx("main", { ...props, className: cn('container py-12', props.className), children: _jsx("article", { className: "prose", children: props.children }) }));
14
+ return (_jsx("main", { ...props, className: cn('w-full max-w-[1400px] mx-auto px-4 py-12', props.className), children: _jsx("article", { className: "prose", children: props.children }) }));
15
+ }
16
+ export function DocsPage({ lastUpdate, editOnGithub, children, ...props }) {
17
+ const docsLayoutCtx = use(LayoutContext);
18
+ const { DocsPage, EditOnGitHub, PageLastUpdate } = docsLayoutCtx
19
+ ? Docs
20
+ : Notebook;
21
+ return (_jsxs(DocsPage, { ...props, children: [children, _jsxs("div", { className: "flex flex-row flex-wrap items-center justify-between gap-4 empty:hidden", children: [editOnGithub && (_jsx(EditOnGitHub, { href: `https://github.com/${editOnGithub.owner}/${editOnGithub.repo}/blob/${editOnGithub.sha}/${editOnGithub.path.startsWith('/') ? editOnGithub.path.slice(1) : editOnGithub.path}` })), lastUpdate && _jsx(PageLastUpdate, { date: new Date(lastUpdate) })] })] }));
56
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/provider/base.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EACL,KAAK,wBAAwB,EAE7B,KAAK,SAAS,EAGf,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AAEnF,OAAO,EAAkB,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAGL,KAAK,UAAU,EACf,KAAK,YAAY,EAClB,MAAM,iBAAiB,CAAC;AAGzB,UAAU,aACR,SAAQ,IAAI,CAAC,mBAAmB,EAAE,SAAS,GAAG,UAAU,CAAC;IACzD,OAAO,CAAC,EAAE,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAE5C;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAEpB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAEhC;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC,wBAAwB,CAAC,OAAO,aAAa,CAAC,CAAC,GAAG;QAChE;;;;WAIG;QACH,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;IAEF,IAAI,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;IAE3C,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAErC;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAErC;;OAEG;IACH,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IAEvB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAMD,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,GAAW,EACX,KAAU,EACV,MAAM,EACN,IAAI,GACL,EAAE,iBAAiB,2CAgCnB"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/provider/base.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EACL,KAAK,wBAAwB,EAE7B,KAAK,SAAS,EAGf,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EAAkB,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAGL,KAAK,UAAU,EACf,KAAK,YAAY,EAClB,MAAM,iBAAiB,CAAC;AAGzB,UAAU,aACR,SAAQ,IAAI,CAAC,mBAAmB,EAAE,SAAS,GAAG,UAAU,CAAC;IACzD,OAAO,CAAC,EAAE,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAE5C;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAEpB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAEhC;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC,wBAAwB,CAAC,OAAO,aAAa,CAAC,CAAC,GAAG;QAChE;;;;WAIG;QACH,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;IAEF,IAAI,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;IAE3C,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAErC;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAErC;;OAEG;IACH,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IAEvB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAMD,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,GAAW,EACX,KAAU,EACV,MAAM,EACN,IAAI,GACL,EAAE,iBAAiB,2CA4BnB"}
@@ -3,7 +3,6 @@ import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import { ThemeProvider } from 'next-themes';
4
4
  import { lazy, useMemo, useRef, } from 'react';
5
5
  import { DirectionProvider } from '@radix-ui/react-direction';
6
- import { SidebarProvider } from '../contexts/sidebar.js';
7
6
  import { SearchProvider } from '../contexts/search.js';
8
7
  import { defaultTranslations, I18nContext, } from '../contexts/i18n.js';
9
8
  import { usePathname, useRouter } from 'fumadocs-core/framework';
@@ -17,7 +16,7 @@ export function RootProvider({ children, dir = 'ltr', theme = {}, search, i18n,
17
16
  if (i18n) {
18
17
  body = _jsx(I18nProvider, { ...i18n, children: body });
19
18
  }
20
- return (_jsx(DirectionProvider, { dir: dir, children: _jsx(SidebarProvider, { children: body }) }));
19
+ return _jsx(DirectionProvider, { dir: dir, children: body });
21
20
  }
22
21
  function I18nProvider({ locales = [], locale, onLocaleChange, children, translations, }) {
23
22
  const router = useRouter();
@@ -38,7 +37,7 @@ function I18nProvider({ locales = [], locale, onLocaleChange, children, translat
38
37
  };
39
38
  const onChangeRef = useRef(onChange);
40
39
  onChangeRef.current = onChange;
41
- return (_jsx(I18nContext.Provider, { value: useMemo(() => ({
40
+ return (_jsx(I18nContext, { value: useMemo(() => ({
42
41
  locale,
43
42
  locales,
44
43
  text: {