fumadocs-ui 16.4.4 → 16.4.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/css/ruby.css +1 -0
  2. package/dist/components/accordion.d.ts +3 -3
  3. package/dist/components/accordion.d.ts.map +1 -1
  4. package/dist/components/banner.d.ts +2 -2
  5. package/dist/components/banner.d.ts.map +1 -1
  6. package/dist/components/callout.d.ts +5 -5
  7. package/dist/components/callout.d.ts.map +1 -1
  8. package/dist/components/card.d.ts +3 -3
  9. package/dist/components/card.d.ts.map +1 -1
  10. package/dist/components/codeblock.d.ts +7 -7
  11. package/dist/components/codeblock.d.ts.map +1 -1
  12. package/dist/components/dialog/search-algolia.d.ts +2 -2
  13. package/dist/components/dialog/search-default.d.ts +2 -2
  14. package/dist/components/dialog/search-orama.d.ts +2 -2
  15. package/dist/components/dialog/search.d.ts +13 -13
  16. package/dist/components/dynamic-codeblock.d.ts +2 -2
  17. package/dist/components/dynamic-codeblock.d.ts.map +1 -1
  18. package/dist/components/github-info.d.ts +2 -2
  19. package/dist/components/github-info.d.ts.map +1 -1
  20. package/dist/components/image-zoom.d.ts +2 -2
  21. package/dist/components/inline-toc.d.ts +2 -2
  22. package/dist/components/sidebar/base.d.ts +15 -15
  23. package/dist/components/sidebar/link-item.d.ts +2 -2
  24. package/dist/components/sidebar/page-tree.d.ts +2 -2
  25. package/dist/components/sidebar/tabs/dropdown.d.ts +2 -2
  26. package/dist/components/sidebar/tabs/dropdown.d.ts.map +1 -1
  27. package/dist/components/steps.d.ts +3 -3
  28. package/dist/components/tabs.d.ts +4 -4
  29. package/dist/components/tabs.d.ts.map +1 -1
  30. package/dist/components/type-table.d.ts +2 -2
  31. package/dist/components/ui/accordion.d.ts +6 -6
  32. package/dist/components/ui/button.d.ts +1 -1
  33. package/dist/components/ui/button.d.ts.map +1 -1
  34. package/dist/components/ui/collapsible.d.ts +4 -4
  35. package/dist/components/ui/tabs.d.ts +6 -6
  36. package/dist/components/ui/tabs.d.ts.map +1 -1
  37. package/dist/layouts/docs/client.d.ts +7 -7
  38. package/dist/layouts/docs/index.d.ts +2 -2
  39. package/dist/layouts/docs/page/client.d.ts +9 -7
  40. package/dist/layouts/docs/page/client.d.ts.map +1 -1
  41. package/dist/layouts/docs/page/client.js +8 -8
  42. package/dist/layouts/docs/page/client.js.map +1 -1
  43. package/dist/layouts/docs/page/index.d.ts +13 -7
  44. package/dist/layouts/docs/page/index.d.ts.map +1 -1
  45. package/dist/layouts/docs/page/index.js +2 -2
  46. package/dist/layouts/docs/page/index.js.map +1 -1
  47. package/dist/layouts/docs/sidebar.d.ts +12 -12
  48. package/dist/layouts/home/client.d.ts +3 -3
  49. package/dist/layouts/home/index.d.ts +2 -2
  50. package/dist/layouts/home/navbar.d.ts +6 -6
  51. package/dist/layouts/notebook/client.d.ts +8 -8
  52. package/dist/layouts/notebook/client.d.ts.map +1 -1
  53. package/dist/layouts/notebook/index.d.ts +2 -2
  54. package/dist/layouts/notebook/index.d.ts.map +1 -1
  55. package/dist/layouts/notebook/page/client.d.ts +9 -7
  56. package/dist/layouts/notebook/page/client.d.ts.map +1 -1
  57. package/dist/layouts/notebook/page/client.js +8 -8
  58. package/dist/layouts/notebook/page/client.js.map +1 -1
  59. package/dist/layouts/notebook/page/index.d.ts +13 -7
  60. package/dist/layouts/notebook/page/index.d.ts.map +1 -1
  61. package/dist/layouts/notebook/page/index.js +2 -2
  62. package/dist/layouts/notebook/page/index.js.map +1 -1
  63. package/dist/layouts/notebook/sidebar.d.ts +17 -17
  64. package/dist/layouts/shared/index.d.ts +3 -3
  65. package/dist/layouts/shared/index.d.ts.map +1 -1
  66. package/dist/layouts/shared/language-toggle.d.ts +2 -2
  67. package/dist/layouts/shared/language-toggle.d.ts.map +1 -1
  68. package/dist/layouts/shared/search-toggle.d.ts +3 -3
  69. package/dist/layouts/shared/search-toggle.d.ts.map +1 -1
  70. package/dist/layouts/shared/theme-toggle.d.ts +2 -2
  71. package/dist/provider/base.d.ts +2 -2
  72. package/dist/provider/next.d.ts +2 -2
  73. package/dist/provider/react-router.d.ts +2 -2
  74. package/dist/provider/tanstack.d.ts +2 -2
  75. package/dist/provider/tanstack.d.ts.map +1 -1
  76. package/dist/provider/waku.d.ts +2 -2
  77. package/package.json +3 -3
@@ -1,11 +1,11 @@
1
1
  import { SidebarTabWithProps } from "../../components/sidebar/tabs/dropdown.js";
2
- import * as react_jsx_runtime54 from "react/jsx-runtime";
3
- import * as react0 from "react";
2
+ import * as react_jsx_runtime114 from "react/jsx-runtime";
3
+ import * as react13 from "react";
4
4
  import { ComponentProps, HTMLAttributes, ReactNode } from "react";
5
5
  import { LinkItemType } from "@fumadocs/ui/link-item";
6
6
 
7
7
  //#region src/layouts/notebook/client.d.ts
8
- declare const LayoutContext: react0.Context<(LayoutInfo & {
8
+ declare const LayoutContext: react13.Context<(LayoutInfo & {
9
9
  isNavTransparent: boolean;
10
10
  }) | null>;
11
11
  interface LayoutInfo {
@@ -20,28 +20,28 @@ declare function LayoutContextProvider({
20
20
  }: LayoutInfo & {
21
21
  navTransparentMode?: 'always' | 'top' | 'none';
22
22
  children: ReactNode;
23
- }): react_jsx_runtime54.JSX.Element;
24
- declare function LayoutHeader(props: ComponentProps<'header'>): react_jsx_runtime54.JSX.Element;
23
+ }): react_jsx_runtime114.JSX.Element;
24
+ declare function LayoutHeader(props: ComponentProps<'header'>): react_jsx_runtime114.JSX.Element;
25
25
  declare function LayoutBody({
26
26
  className,
27
27
  style,
28
28
  children,
29
29
  ...props
30
- }: ComponentProps<'div'>): react_jsx_runtime54.JSX.Element;
30
+ }: ComponentProps<'div'>): react_jsx_runtime114.JSX.Element;
31
31
  declare function LayoutHeaderTabs({
32
32
  options,
33
33
  className,
34
34
  ...props
35
35
  }: ComponentProps<'div'> & {
36
36
  options: SidebarTabWithProps[];
37
- }): react_jsx_runtime54.JSX.Element;
37
+ }): react_jsx_runtime114.JSX.Element;
38
38
  declare function NavbarLinkItem({
39
39
  item,
40
40
  className,
41
41
  ...props
42
42
  }: {
43
43
  item: LinkItemType;
44
- } & HTMLAttributes<HTMLElement>): string | number | bigint | boolean | react_jsx_runtime54.JSX.Element | Iterable<ReactNode> | Promise<string | number | bigint | boolean | react0.ReactPortal | react0.ReactElement<unknown, string | react0.JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | null | undefined;
44
+ } & HTMLAttributes<HTMLElement>): string | number | bigint | boolean | react_jsx_runtime114.JSX.Element | Iterable<ReactNode> | Promise<string | number | bigint | boolean | react13.ReactPortal | react13.ReactElement<unknown, string | react13.JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | null | undefined;
45
45
  //#endregion
46
46
  export { LayoutBody, LayoutContext, LayoutContextProvider, LayoutHeader, LayoutHeaderTabs, LayoutInfo, NavbarLinkItem };
47
47
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","names":[],"sources":["../../../src/layouts/notebook/client.tsx"],"sourcesContent":[],"mappings":";;;;;;;cAuBa,eAAa,MAAA,CAAA,SAAA;;;UAOT,UAAA;EAPJ,OAAA,EAAA,SAKN,GAAA,QALmB;EAOT,OAAA,EAAA,KAAU,GAAA,MAAA;AAK3B;AACE,iBADc,qBAAA,CACd;EAAA,kBAAA;EAAA,OAAA;EAAA,OAAA;EAAA;CAAA,EAIC,UAJD,GAAA;EACA,kBAAA,CAAA,EAAA,QAAA,GAAA,KAAA,GAAA,MAAA;EACA,QAAA,EAIU,SAJV;CACA,CAAA,EAID,mBAAA,CAAA,GAAA,CAAA,OAJC;AACC,iBAuBa,YAAA,CAvBb,KAAA,EAuBiC,cAvBjC,CAAA,QAAA,CAAA,CAAA,EAuByD,mBAAA,CAAA,GAAA,CAAA,OAvBzD;AAES,iBAgCI,UAAA,CAhCJ;EAAA,SAAA;EAAA,KAAA;EAAA,QAAA;EAAA,GAAA;AAAA,CAAA,EAgCyD,cAhCzD,CAAA,KAAA,CAAA,CAAA,EAgC8E,mBAAA,CAAA,GAAA,CAAA,OAhC9E;AACX,iBAoEe,gBAAA,CApEf;EAAA,OAAA;EAAA,SAAA;EAAA,GAAA;AAoBD,CApBC,EAwEE,cAxEF,CAAA,KAAA,CAAA,GAAA;EAAA,OAAA,EAyEU,mBAzEV,EAAA;AAoBD,CAAA,CAAA,EAsDC,mBAAA,CAAA,GAAA,CAAA,OAtDmC;AAWpB,iBA2EA,cAAA,CA3EU;EAAA,IAAA;EAAA,SAAA;EAAA,GAAA;AAAc,CAAd,EAAA;EAAG,IAAA,EA+ElB,YA/EkB;CAAW,GA+EZ,cA/EY,CA+EG,WA/EH,CAAA,CAAA,EAAA,MAAA,GAAA,MAAA,GAAA,MAAA,GAAA,OAAA,GA+Ee,mBAAA,CAAA,GAAA,CAAA,OAAA,GAAA,QA/Ef,CA+Ee,SA/Ef,CAAA,GA+Ee,OA/Ef,CAAA,MAAA,GAAA,MAAA,GAAA,MAAA,GAAA,OAAA,GA+Ee,MAAA,CAAA,WAAA,GAAA,MAAA,CAAA,YA/Ef,CAAA,OAAA,EAAA,MAAA,GA+Ee,MAAA,CAAA,qBA/Ef,CAAA,GAAA,CAAA,CAAA,GA+Ee,QA/Ef,CA+Ee,SA/Ef,CAAA,GAAA,IAAA,GAAA,SAAA,CAAA,GAAA,IAAA,GAAA,SAAA"}
1
+ {"version":3,"file":"client.d.ts","names":[],"sources":["../../../src/layouts/notebook/client.tsx"],"sourcesContent":[],"mappings":";;;;;;;cAuBa,eAAa,OAAA,CAAA,SAAA;;;UAOT,UAAA;EAPJ,OAAA,EAAA,SAKN,GAAA,QALmB;EAOT,OAAA,EAAA,KAAU,GAAA,MAAA;AAK3B;AACE,iBADc,qBAAA,CACd;EAAA,kBAAA;EAAA,OAAA;EAAA,OAAA;EAAA;CAAA,EAIC,UAJD,GAAA;EACA,kBAAA,CAAA,EAAA,QAAA,GAAA,KAAA,GAAA,MAAA;EACA,QAAA,EAIU,SAJV;CACA,CAAA,EAID,oBAAA,CAAA,GAAA,CAAA,OAJC;AACC,iBAuBa,YAAA,CAvBb,KAAA,EAuBiC,cAvBjC,CAAA,QAAA,CAAA,CAAA,EAuByD,oBAAA,CAAA,GAAA,CAAA,OAvBzD;AAES,iBAgCI,UAAA,CAhCJ;EAAA,SAAA;EAAA,KAAA;EAAA,QAAA;EAAA,GAAA;AAAA,CAAA,EAgCyD,cAhCzD,CAAA,KAAA,CAAA,CAAA,EAgC8E,oBAAA,CAAA,GAAA,CAAA,OAhC9E;AACX,iBAoEe,gBAAA,CApEf;EAAA,OAAA;EAAA,SAAA;EAAA,GAAA;AAoBD,CApBC,EAwEE,cAxEF,CAAA,KAAA,CAAA,GAAA;EAAA,OAAA,EAyEU,mBAzEV,EAAA;AAoBD,CAAA,CAAA,EAsDC,oBAAA,CAAA,GAAA,CAAA,OAtDmC;AAWpB,iBA2EA,cAAA,CA3EU;EAAA,IAAA;EAAA,SAAA;EAAA,GAAA;AAAc,CAAd,EAAA;EAAG,IAAA,EA+ElB,YA/EkB;CAAW,GA+EZ,cA/EY,CA+EG,WA/EH,CAAA,CAAA,EAAA,MAAA,GAAA,MAAA,GAAA,MAAA,GAAA,OAAA,GA+Ee,oBAAA,CAAA,GAAA,CAAA,OAAA,GAAA,QA/Ef,CA+Ee,SA/Ef,CAAA,GA+Ee,OA/Ef,CAAA,MAAA,GAAA,MAAA,GAAA,MAAA,GAAA,OAAA,GA+Ee,OAAA,CAAA,WAAA,GAAA,OAAA,CAAA,YA/Ef,CAAA,OAAA,EAAA,MAAA,GA+Ee,OAAA,CAAA,qBA/Ef,CAAA,GAAA,CAAA,CAAA,GA+Ee,QA/Ef,CA+Ee,SA/Ef,CAAA,GAAA,IAAA,GAAA,SAAA,CAAA,GAAA,IAAA,GAAA,SAAA"}
@@ -3,7 +3,7 @@ import { GetSidebarTabsOptions } from "../../components/sidebar/tabs/index.js";
3
3
  import { SidebarTabWithProps } from "../../components/sidebar/tabs/dropdown.js";
4
4
  import { BaseLayoutProps } from "../shared/index.js";
5
5
  import { Sidebar } from "./sidebar.js";
6
- import * as react_jsx_runtime95 from "react/jsx-runtime";
6
+ import * as react_jsx_runtime121 from "react/jsx-runtime";
7
7
  import { ComponentProps, FC, HTMLAttributes, ReactNode } from "react";
8
8
  import * as PageTree from "fumadocs-core/page-tree";
9
9
 
@@ -32,7 +32,7 @@ interface SidebarOptions extends ComponentProps<'aside'>, Pick<ComponentProps<ty
32
32
  */
33
33
  collapsible?: boolean;
34
34
  }
35
- declare function DocsLayout(props: DocsLayoutProps): react_jsx_runtime95.JSX.Element;
35
+ declare function DocsLayout(props: DocsLayoutProps): react_jsx_runtime121.JSX.Element;
36
36
  //#endregion
37
37
  export { DocsLayout, DocsLayoutProps };
38
38
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/layouts/notebook/index.tsx"],"sourcesContent":[],"mappings":";;;;;;;;;;UAgCiB,eAAA,SAAwB;QACjC,QAAA,CAAS;;EADA,GAAA,CAAA,EAIT,eAJyB,CAAA,KAAA,CAAA,GAAA;IACzB,IAAS,CAAA,EAAA,KAAA,GAAA,MAAA;EAGT,CAAA;EAII,OAAA,CAAA,EAAA,cAAA;EAEsB,cAAA,CAAA,EAAf,cAAe,CAAA,cAAA,CAAA;;UAGxB,cAAA,SAEN,cAfqC,CAAA,OAAA,CAAA,EAgBrC,IAhBqC,CAgBhC,cAhBgC,CAAA,OAgBV,OAhBU,CAAA,EAAA,kBAAA,GAAA,UAAA,CAAA,CAAA;EAAe,UAAA,CAAA,EAiBzC,OAjByC,CAiBjC,yBAjBiC,CAAA;EAa9C;;;EAIa,IAAA,CAAA,EAKd,mBALc,EAAA,GAKU,qBALV,GAAA,KAAA;EAAR,MAAA,CAAA,EAOJ,SAPI,GAOQ,EAPR,CAOW,cAPX,CAAA,KAAA,CAAA,CAAA;EAKN,MAAA,CAAA,EAGE,SAHF,GAGc,EAHd,CAGiB,cAHjB,CAAA,KAAA,CAAA,CAAA;EAAwB;;;;;EAGP,WAAA,CAAA,EAAA,OAAA;;AAVtB,iBAoBY,UAAA,CApBZ,KAAA,EAoB8B,eApB9B,CAAA,EAoB6C,mBAAA,CAAA,GAAA,CAAA,OApB7C"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/layouts/notebook/index.tsx"],"sourcesContent":[],"mappings":";;;;;;;;;;UAgCiB,eAAA,SAAwB;QACjC,QAAA,CAAS;;EADA,GAAA,CAAA,EAIT,eAJyB,CAAA,KAAA,CAAA,GAAA;IACzB,IAAS,CAAA,EAAA,KAAA,GAAA,MAAA;EAGT,CAAA;EAII,OAAA,CAAA,EAAA,cAAA;EAEsB,cAAA,CAAA,EAAf,cAAe,CAAA,cAAA,CAAA;;UAGxB,cAAA,SAEN,cAfqC,CAAA,OAAA,CAAA,EAgBrC,IAhBqC,CAgBhC,cAhBgC,CAAA,OAgBV,OAhBU,CAAA,EAAA,kBAAA,GAAA,UAAA,CAAA,CAAA;EAAe,UAAA,CAAA,EAiBzC,OAjByC,CAiBjC,yBAjBiC,CAAA;EAa9C;;;EAIa,IAAA,CAAA,EAKd,mBALc,EAAA,GAKU,qBALV,GAAA,KAAA;EAAR,MAAA,CAAA,EAOJ,SAPI,GAOQ,EAPR,CAOW,cAPX,CAAA,KAAA,CAAA,CAAA;EAKN,MAAA,CAAA,EAGE,SAHF,GAGc,EAHd,CAGiB,cAHjB,CAAA,KAAA,CAAA,CAAA;EAAwB;;;;;EAGP,WAAA,CAAA,EAAA,OAAA;;AAVtB,iBAoBY,UAAA,CApBZ,KAAA,EAoB8B,eApB9B,CAAA,EAoB6C,oBAAA,CAAA,GAAA,CAAA,OApB7C"}
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime125 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime85 from "react/jsx-runtime";
2
2
  import { ComponentProps } from "react";
3
3
  import { BreadcrumbOptions } from "fumadocs-core/breadcrumb";
4
4
  import * as PageTree from "fumadocs-core/page-tree";
@@ -8,18 +8,18 @@ declare function PageTOCPopover({
8
8
  className,
9
9
  children,
10
10
  ...rest
11
- }: ComponentProps<'div'>): react_jsx_runtime125.JSX.Element;
11
+ }: ComponentProps<'div'>): react_jsx_runtime85.JSX.Element;
12
12
  declare function PageTOCPopoverTrigger({
13
13
  className,
14
14
  ...props
15
- }: ComponentProps<'button'>): react_jsx_runtime125.JSX.Element;
16
- declare function PageTOCPopoverContent(props: ComponentProps<'div'>): react_jsx_runtime125.JSX.Element;
15
+ }: ComponentProps<'button'>): react_jsx_runtime85.JSX.Element;
16
+ declare function PageTOCPopoverContent(props: ComponentProps<'div'>): react_jsx_runtime85.JSX.Element;
17
17
  declare function PageLastUpdate({
18
18
  date: value,
19
19
  ...props
20
20
  }: Omit<ComponentProps<'p'>, 'children'> & {
21
21
  date: Date;
22
- }): react_jsx_runtime125.JSX.Element;
22
+ }): react_jsx_runtime85.JSX.Element;
23
23
  type Item = Pick<PageTree.Item, 'name' | 'description' | 'url'>;
24
24
  interface FooterProps extends ComponentProps<'div'> {
25
25
  /**
@@ -32,15 +32,17 @@ interface FooterProps extends ComponentProps<'div'> {
32
32
  }
33
33
  declare function PageFooter({
34
34
  items,
35
+ children,
36
+ className,
35
37
  ...props
36
- }: FooterProps): react_jsx_runtime125.JSX.Element;
38
+ }: FooterProps): react_jsx_runtime85.JSX.Element;
37
39
  type BreadcrumbProps = BreadcrumbOptions & ComponentProps<'div'>;
38
40
  declare function PageBreadcrumb({
39
41
  includeRoot,
40
42
  includeSeparator,
41
43
  includePage,
42
44
  ...props
43
- }: BreadcrumbProps): react_jsx_runtime125.JSX.Element | null;
45
+ }: BreadcrumbProps): react_jsx_runtime85.JSX.Element | null;
44
46
  //#endregion
45
47
  export { BreadcrumbProps, FooterProps, PageBreadcrumb, PageFooter, PageLastUpdate, PageTOCPopover, PageTOCPopoverContent, PageTOCPopoverTrigger };
46
48
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","names":[],"sources":["../../../../src/layouts/notebook/page/client.tsx"],"sourcesContent":[],"mappings":";;;;;;iBAiCgB,cAAA;;;;GAAiD,wBAAqB,oBAAA,CAAA,GAAA,CAAA;iBAsDtE,qBAAA;;;GAA+C,2BAAwB,oBAAA,CAAA,GAAA,CAAA;iBA2GvE,qBAAA,QAA6B,wBAAqB,oBAAA,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,oBAAA,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,GAAA;AAAA,CAAA,EA6BwC,WA7BxC,CAAA,EA6BmD,oBAAA,CAAA,GAAA,CAAA,OA7BnD;AAEA,KAqFI,eAAA,GAAkB,iBArFtB,GAqF0C,cArF1C,CAAA,KAAA,CAAA;AAAL,iBAuFa,cAAA,CAvFb;EAAA,WAAA;EAAA,gBAAA;EAAA,WAAA;EAAA,GAAA;AAAA,CAAA,EA4FA,eA5FA,CAAA,EA4Fe,oBAAA,CAAA,GAAA,CAAA,OAAA,GA5Ff,IAAA"}
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"}
@@ -8,7 +8,7 @@ import { LayoutContext } from "../client.js";
8
8
  import Link from "fumadocs-core/link";
9
9
  import { usePathname } from "fumadocs-core/framework";
10
10
  import { cn } from "@fumadocs/ui/cn";
11
- import { jsx, jsxs } from "react/jsx-runtime";
11
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
12
12
  import { ChevronDown, ChevronLeft, ChevronRight } from "lucide-react";
13
13
  import { Fragment as Fragment$1, createContext, use, useEffect, useEffectEvent, useMemo, useRef, useState } from "react";
14
14
  import { getBreadcrumbItemsFromPath } from "fumadocs-core/breadcrumb";
@@ -145,7 +145,7 @@ function PageLastUpdate({ date: value, ...props }) {
145
145
  ]
146
146
  });
147
147
  }
148
- function PageFooter({ items, ...props }) {
148
+ function PageFooter({ items, children, className, ...props }) {
149
149
  const footerList = useFooterItems();
150
150
  const pathname = usePathname();
151
151
  const { previous, next } = useMemo(() => {
@@ -161,17 +161,17 @@ function PageFooter({ items, ...props }) {
161
161
  items,
162
162
  pathname
163
163
  ]);
164
- return /* @__PURE__ */ jsxs("div", {
164
+ return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsxs("div", {
165
+ className: cn("@container grid gap-4", previous && next ? "grid-cols-2" : "grid-cols-1", className),
165
166
  ...props,
166
- className: cn("@container grid gap-4", previous && next ? "grid-cols-2" : "grid-cols-1", props.className),
167
- children: [previous ? /* @__PURE__ */ jsx(FooterItem, {
167
+ children: [previous && /* @__PURE__ */ jsx(FooterItem, {
168
168
  item: previous,
169
169
  index: 0
170
- }) : null, next ? /* @__PURE__ */ jsx(FooterItem, {
170
+ }), next && /* @__PURE__ */ jsx(FooterItem, {
171
171
  item: next,
172
172
  index: 1
173
- }) : null]
174
- });
173
+ })]
174
+ }), children] });
175
175
  }
176
176
  function FooterItem({ item, index }) {
177
177
  const { text } = (0, i18n_exports.useI18n)();
@@ -1 +1 @@
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, ...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 <div\n {...props}\n className={cn(\n '@container grid gap-4',\n previous && next ? 'grid-cols-2' : 'grid-cols-1',\n props.className,\n )}\n >\n {previous ? <FooterItem item={previous} index={0} /> : null}\n {next ? <FooterItem item={next} index={1} /> : null}\n </div>\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
+ {"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,5 +1,5 @@
1
1
  import { BreadcrumbProps, FooterProps, PageBreadcrumb, PageLastUpdate } from "./client.js";
2
- import * as react_jsx_runtime131 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime92 from "react/jsx-runtime";
3
3
  import { ComponentProps, ReactNode } from "react";
4
4
  import { AnchorProviderProps, TOCItemType } from "fumadocs-core/toc";
5
5
 
@@ -27,7 +27,9 @@ interface DocsPageProps {
27
27
  */
28
28
  breadcrumb?: Partial<BreadcrumbOptions>;
29
29
  /**
30
- * Footer navigation, you can disable it by passing `false`
30
+ * Footer navigation, located under the page body.
31
+ *
32
+ * You can specify `footer.children` to add extra components under the footer.
31
33
  */
32
34
  footer?: Partial<FooterOptions>;
33
35
  children?: ReactNode;
@@ -59,7 +61,11 @@ declare function DocsPage({
59
61
  component: breadcrumb,
60
62
  ...breadcrumbProps
61
63
  },
62
- footer,
64
+ footer: {
65
+ enabled: footerEnabled,
66
+ component: footerReplace,
67
+ ...footerProps
68
+ },
63
69
  full,
64
70
  tableOfContentPopover: {
65
71
  enabled: tocPopoverEnabled,
@@ -75,7 +81,7 @@ declare function DocsPage({
75
81
  children,
76
82
  className
77
83
  }: DocsPageProps): ReactNode;
78
- declare function EditOnGitHub(props: ComponentProps<'a'>): react_jsx_runtime131.JSX.Element;
84
+ declare function EditOnGitHub(props: ComponentProps<'a'>): react_jsx_runtime92.JSX.Element;
79
85
  /**
80
86
  * Add typography styles
81
87
  */
@@ -83,17 +89,17 @@ declare function DocsBody({
83
89
  children,
84
90
  className,
85
91
  ...props
86
- }: ComponentProps<'div'>): react_jsx_runtime131.JSX.Element;
92
+ }: ComponentProps<'div'>): react_jsx_runtime92.JSX.Element;
87
93
  declare function DocsDescription({
88
94
  children,
89
95
  className,
90
96
  ...props
91
- }: ComponentProps<'p'>): react_jsx_runtime131.JSX.Element | null;
97
+ }: ComponentProps<'p'>): react_jsx_runtime92.JSX.Element | null;
92
98
  declare function DocsTitle({
93
99
  children,
94
100
  className,
95
101
  ...props
96
- }: ComponentProps<'h1'>): react_jsx_runtime131.JSX.Element;
102
+ }: ComponentProps<'h1'>): react_jsx_runtime92.JSX.Element;
97
103
  //#endregion
98
104
  export { DocsBody, DocsDescription, DocsPage, DocsPageProps, DocsTitle, EditOnGitHub, PageBreadcrumb, PageLastUpdate };
99
105
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
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;;;;;EAeV,IAAA,CAAA,EAAA,OAAA;EAA6B;;;EASvB,UAAA,CAAA,EAxBI,OAwBJ,CAxBY,iBAwBZ,CAAA;EAGE;;AAAS;EAUN,MAAA,CAAA,EAhCL,OAgCa,CAhCL,aAgCK,CAAA;EACC,QAAA,CAAA,EA/BZ,SA+BY;EAAqC;;;EAIjD,SAAA,CAAA,EAAA,MAAA;;KA3BR,qBAAA,GAAwB,IA+BA,CA/BK,mBA+BL,EAAA,QAAA,CAAA,GAAA;EAAuB;;;EAGlD,MAAA,CAAA,EA9BS,SA8BT;EACC;;;EA4Ea,MAAA,CAAA,EAtGL,SAsGiB;EA4BZ,OAAA,EAAA,OAAQ;EAAG,SAAA,EA/Hd,SA+Hc;EAAU;;;EAA4C,KAAA,CAAA,EAAA,QAAA,GAAA,OAAA;AAQjF,CAAA;KA/HK,4BAAA,GAA+B,IA+HF,CA/HO,qBA+HP,EAAA,QAAA,CAAA;AAAU,iBA7H5B,QAAA,CA6H4B;EAAA,UAAA,EAAA;IAAA,OAAA,EA5HnB,iBA4HmB;IAAA,SAAA,EA5HkB,UA4HlB;IAAA,GAAA;EAAA,CAAA;EAAA,MAAA;EAAA,IAAA;EAAA,qBAAA,EAAA;IAAA,OAAA,EAxH/B,iBAwH+B;IAAA,SAAA,EAvH7B,UAuH6B;IAAA,GAAA;EAAA,CAAA;EAAA,cAAA,EAAA;IAAA,OAAA,EApHf,UAoHe;IAAA,SAAA,EApHQ,UAoHR;IAAA,GAAA;EAAA,CAAA;EAAA,GAAA;EAAA,QAAA;EAAA;AAAA,CAAA,EAhHzC,aAgHyC,CAAA,EAhH5B,SAgH4B;AAAuB,iBApCnD,YAAA,CAoCmD,KAAA,EApC/B,cAoC+B,CAAA,GAAA,CAAA,CAAA,EApCZ,oBAAA,CAAA,GAAA,CAAA,OAoCY;;;AAWnE;AAA4B,iBAnBZ,QAAA,CAmBY;EAAA,QAAA;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAnBgC,cAmBhC,CAAA,KAAA,CAAA,CAAA,EAnBqD,oBAAA,CAAA,GAAA,CAAA,OAmBrD;AAAU,iBAXtB,eAAA,CAWsB;EAAA,QAAA;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAX6B,cAW7B,CAAA,GAAA,CAAA,CAAA,EAXgD,oBAAA,CAAA,GAAA,CAAA,OAAA,GAWhD,IAAA;AAAuB,iBAA7C,SAAA,CAA6C;EAAA,QAAA;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAAA,cAAA,CAAA,IAAA,CAAA,CAAA,EAAoB,oBAAA,CAAA,GAAA,CAAA,OAApB"}
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"}
@@ -19,7 +19,7 @@ var page_exports = /* @__PURE__ */ __exportAll({
19
19
  PageBreadcrumb: () => PageBreadcrumb,
20
20
  PageLastUpdate: () => PageLastUpdate
21
21
  });
22
- function DocsPage({ breadcrumb: { enabled: breadcrumbEnabled = true, component: breadcrumb, ...breadcrumbProps } = {}, footer = {}, full = false, tableOfContentPopover: { enabled: tocPopoverEnabled, component: tocPopover, ...tocPopoverOptions } = {}, tableOfContent: { enabled: tocEnabled, component: tocReplace, ...tocOptions } = {}, toc = [], children, className }) {
22
+ function DocsPage({ breadcrumb: { enabled: breadcrumbEnabled = true, component: breadcrumb, ...breadcrumbProps } = {}, footer: { enabled: footerEnabled, component: footerReplace, ...footerProps } = {}, full = false, tableOfContentPopover: { enabled: tocPopoverEnabled, component: tocPopover, ...tocPopoverOptions } = {}, tableOfContent: { enabled: tocEnabled, component: tocReplace, ...tocOptions } = {}, toc = [], children, className }) {
23
23
  tocEnabled ??= !full && (toc.length > 0 || tocOptions.footer !== void 0 || tocOptions.header !== void 0);
24
24
  tocPopoverEnabled ??= toc.length > 0 || tocPopoverOptions.header !== void 0 || tocPopoverOptions.footer !== void 0;
25
25
  let wrapper = (children$1) => children$1;
@@ -41,7 +41,7 @@ function DocsPage({ breadcrumb: { enabled: breadcrumbEnabled = true, component:
41
41
  children: [
42
42
  breadcrumbEnabled && (breadcrumb ?? /* @__PURE__ */ jsx(PageBreadcrumb, { ...breadcrumbProps })),
43
43
  children,
44
- footer.enabled !== false && (footer.component ?? /* @__PURE__ */ jsx(PageFooter, { items: footer.items }))
44
+ footerEnabled !== false && (footerReplace ?? /* @__PURE__ */ jsx(PageFooter, { ...footerProps }))
45
45
  ]
46
46
  }),
47
47
  tocEnabled && (tocReplace ?? /* @__PURE__ */ jsxs("div", {
@@ -1 +1 @@
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, you can disable it by passing `false`\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 = {},\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 {footer.enabled !== false && (footer.component ?? <PageFooter items={footer.items} />)}\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":";;;;;;;;;;;;;;;;;;;;;AAiFA,SAAgB,SAAS,EACvB,YAAY,EAAE,SAAS,oBAAoB,MAAM,WAAW,YAAY,GAAG,oBAAoB,EAAE,EACjG,SAAS,EAAE,EACX,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,OAAO,YAAY,UAAU,OAAO,aAAa,oBAAC,cAAW,OAAO,OAAO,QAAS;;IAC7E;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
+ {"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,63 +1,63 @@
1
1
  import { SidebarCollapseTrigger as SidebarCollapseTrigger$1, SidebarDrawerContent, SidebarFolder as SidebarFolder$1, SidebarFolderContent as SidebarFolderContent$1, SidebarFolderLink as SidebarFolderLink$1, SidebarFolderTrigger as SidebarFolderTrigger$1, SidebarItem as SidebarItem$1, SidebarProvider, SidebarTrigger as SidebarTrigger$1, SidebarViewport as SidebarViewport$1 } from "../../components/sidebar/base.js";
2
2
  import { SidebarPageTreeComponents } from "../../components/sidebar/page-tree.js";
3
- import * as react_jsx_runtime96 from "react/jsx-runtime";
4
- import * as react17 from "react";
3
+ import * as react_jsx_runtime98 from "react/jsx-runtime";
4
+ import * as react12 from "react";
5
5
  import { ComponentProps } from "react";
6
6
  import * as _fumadocs_ui_link_item0 from "@fumadocs/ui/link-item";
7
7
 
8
8
  //#region src/layouts/notebook/sidebar.d.ts
9
- declare function Sidebar(props: ComponentProps<typeof SidebarProvider>): react_jsx_runtime96.JSX.Element;
10
- declare function SidebarFolder(props: ComponentProps<typeof SidebarFolder$1>): react_jsx_runtime96.JSX.Element;
11
- declare function SidebarCollapseTrigger(props: ComponentProps<typeof SidebarCollapseTrigger$1>): react_jsx_runtime96.JSX.Element;
12
- declare function SidebarViewport(props: ComponentProps<typeof SidebarViewport$1>): react_jsx_runtime96.JSX.Element;
13
- declare function SidebarTrigger(props: ComponentProps<typeof SidebarTrigger$1>): react_jsx_runtime96.JSX.Element;
9
+ declare function Sidebar(props: ComponentProps<typeof SidebarProvider>): react_jsx_runtime98.JSX.Element;
10
+ declare function SidebarFolder(props: ComponentProps<typeof SidebarFolder$1>): react_jsx_runtime98.JSX.Element;
11
+ declare function SidebarCollapseTrigger(props: ComponentProps<typeof SidebarCollapseTrigger$1>): react_jsx_runtime98.JSX.Element;
12
+ declare function SidebarViewport(props: ComponentProps<typeof SidebarViewport$1>): react_jsx_runtime98.JSX.Element;
13
+ declare function SidebarTrigger(props: ComponentProps<typeof SidebarTrigger$1>): react_jsx_runtime98.JSX.Element;
14
14
  declare function SidebarContent({
15
15
  ref: refProp,
16
16
  className,
17
17
  children,
18
18
  ...props
19
- }: ComponentProps<'aside'>): react_jsx_runtime96.JSX.Element;
19
+ }: ComponentProps<'aside'>): react_jsx_runtime98.JSX.Element;
20
20
  declare function SidebarDrawer({
21
21
  children,
22
22
  className,
23
23
  ...props
24
- }: ComponentProps<typeof SidebarDrawerContent>): react_jsx_runtime96.JSX.Element;
24
+ }: ComponentProps<typeof SidebarDrawerContent>): react_jsx_runtime98.JSX.Element;
25
25
  declare function SidebarSeparator({
26
26
  className,
27
27
  style,
28
28
  children,
29
29
  ...props
30
- }: ComponentProps<'p'>): react_jsx_runtime96.JSX.Element;
30
+ }: ComponentProps<'p'>): react_jsx_runtime98.JSX.Element;
31
31
  declare function SidebarItem({
32
32
  className,
33
33
  style,
34
34
  children,
35
35
  ...props
36
- }: ComponentProps<typeof SidebarItem$1>): react_jsx_runtime96.JSX.Element;
36
+ }: ComponentProps<typeof SidebarItem$1>): react_jsx_runtime98.JSX.Element;
37
37
  declare function SidebarFolderTrigger({
38
38
  className,
39
39
  style,
40
40
  ...props
41
- }: ComponentProps<typeof SidebarFolderTrigger$1>): react_jsx_runtime96.JSX.Element;
41
+ }: ComponentProps<typeof SidebarFolderTrigger$1>): react_jsx_runtime98.JSX.Element;
42
42
  declare function SidebarFolderLink({
43
43
  className,
44
44
  style,
45
45
  ...props
46
- }: ComponentProps<typeof SidebarFolderLink$1>): react_jsx_runtime96.JSX.Element;
46
+ }: ComponentProps<typeof SidebarFolderLink$1>): react_jsx_runtime98.JSX.Element;
47
47
  declare function SidebarFolderContent({
48
48
  className,
49
49
  children,
50
50
  ...props
51
- }: ComponentProps<typeof SidebarFolderContent$1>): react_jsx_runtime96.JSX.Element;
52
- declare const SidebarPageTree: (components: Partial<SidebarPageTreeComponents>) => react_jsx_runtime96.JSX.Element;
51
+ }: ComponentProps<typeof SidebarFolderContent$1>): react_jsx_runtime98.JSX.Element;
52
+ declare const SidebarPageTree: (components: Partial<SidebarPageTreeComponents>) => react_jsx_runtime98.JSX.Element;
53
53
  declare const SidebarLinkItem: ({
54
54
  item,
55
55
  ...props
56
- }: react17.HTMLAttributes<HTMLElement> & {
56
+ }: react12.HTMLAttributes<HTMLElement> & {
57
57
  item: Exclude<_fumadocs_ui_link_item0.LinkItemType, {
58
58
  type: "icon";
59
59
  }>;
60
- }) => react_jsx_runtime96.JSX.Element;
60
+ }) => react_jsx_runtime98.JSX.Element;
61
61
  //#endregion
62
62
  export { Sidebar, SidebarCollapseTrigger, SidebarContent, SidebarDrawer, SidebarFolder, SidebarFolderContent, SidebarFolderLink, SidebarFolderTrigger, SidebarItem, SidebarLinkItem, SidebarPageTree, SidebarSeparator, SidebarTrigger, SidebarViewport };
63
63
  //# sourceMappingURL=sidebar.d.ts.map
@@ -1,5 +1,5 @@
1
- import * as react_jsx_runtime110 from "react/jsx-runtime";
2
- import * as react18 from "react";
1
+ import * as react_jsx_runtime53 from "react/jsx-runtime";
2
+ import * as react7 from "react";
3
3
  import { ComponentProps, ReactNode } from "react";
4
4
  import { LinkItemType } from "@fumadocs/ui/link-item";
5
5
  import { I18nConfig } from "fumadocs-core/i18n";
@@ -63,7 +63,7 @@ declare function resolveLinkItems({
63
63
  declare function renderTitleNav({
64
64
  title,
65
65
  url
66
- }: Partial<NavOptions>, props: ComponentProps<'a'>): string | number | bigint | boolean | react_jsx_runtime110.JSX.Element | Iterable<ReactNode> | Promise<string | number | bigint | boolean | react18.ReactPortal | react18.ReactElement<unknown, string | react18.JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | null | undefined;
66
+ }: Partial<NavOptions>, props: ComponentProps<'a'>): string | number | bigint | boolean | react_jsx_runtime53.JSX.Element | Iterable<ReactNode> | Promise<string | number | bigint | boolean | react7.ReactPortal | react7.ReactElement<unknown, string | react7.JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | null | undefined;
67
67
  //#endregion
68
68
  export { BaseLayoutProps, NavOptions, renderTitleNav, resolveLinkItems };
69
69
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
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,oBAAA,CAAA,GAAA,CAAA,OAAA,GAAA,SAAA,aAAA,6CAAA,OAAA,CAAA,WAAA,GAAA,OAAA,CAAA,+BAAA,OAAA,CAAA,8BAAA,SAAA"}
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,10 +1,10 @@
1
- import * as react_jsx_runtime111 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime54 from "react/jsx-runtime";
2
2
  import { ComponentProps } from "react";
3
3
 
4
4
  //#region src/layouts/shared/language-toggle.d.ts
5
5
  type LanguageSelectProps = ComponentProps<'button'>;
6
6
  declare function LanguageToggle(props: LanguageSelectProps): React.ReactElement;
7
- declare function LanguageToggleText(props: ComponentProps<'span'>): react_jsx_runtime111.JSX.Element;
7
+ declare function LanguageToggleText(props: ComponentProps<'span'>): react_jsx_runtime54.JSX.Element;
8
8
  //#endregion
9
9
  export { LanguageSelectProps, LanguageToggle, LanguageToggleText };
10
10
  //# sourceMappingURL=language-toggle.d.ts.map
@@ -1 +1 @@
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,oBAAA,CAAA,GAAA,CAAA"}
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,5 +1,5 @@
1
1
  import { ButtonProps } from "../../components/ui/button.js";
2
- import * as react_jsx_runtime112 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime56 from "react/jsx-runtime";
3
3
  import { ComponentProps } from "react";
4
4
 
5
5
  //#region src/layouts/shared/search-toggle.d.ts
@@ -11,13 +11,13 @@ declare function SearchToggle({
11
11
  size,
12
12
  color,
13
13
  ...props
14
- }: SearchToggleProps): react_jsx_runtime112.JSX.Element | null;
14
+ }: SearchToggleProps): react_jsx_runtime56.JSX.Element | null;
15
15
  declare function LargeSearchToggle({
16
16
  hideIfDisabled,
17
17
  ...props
18
18
  }: ComponentProps<'button'> & {
19
19
  hideIfDisabled?: boolean;
20
- }): react_jsx_runtime112.JSX.Element | null;
20
+ }): react_jsx_runtime56.JSX.Element | null;
21
21
  //#endregion
22
22
  export { LargeSearchToggle, SearchToggle };
23
23
  //# sourceMappingURL=search-toggle.d.ts.map
@@ -1 +1 @@
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,oBAAA,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,oBAAA,CAAA,GAAA,CAAA,OAAA,GAvC4E,IAAA"}
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,4 +1,4 @@
1
- import * as react_jsx_runtime94 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime55 from "react/jsx-runtime";
2
2
  import { ComponentProps } from "react";
3
3
 
4
4
  //#region src/layouts/shared/theme-toggle.d.ts
@@ -8,7 +8,7 @@ declare function ThemeToggle({
8
8
  ...props
9
9
  }: ComponentProps<'div'> & {
10
10
  mode?: 'light-dark' | 'light-dark-system';
11
- }): react_jsx_runtime94.JSX.Element;
11
+ }): react_jsx_runtime55.JSX.Element;
12
12
  //#endregion
13
13
  export { ThemeToggle };
14
14
  //# sourceMappingURL=theme-toggle.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import { DefaultSearchDialogProps } from "../components/dialog/search-default.js";
2
- import * as react_jsx_runtime31 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime59 from "react/jsx-runtime";
3
3
  import { ComponentPropsWithoutRef, ReactNode } from "react";
4
4
  import { I18nProviderProps } from "@fumadocs/ui/contexts/i18n";
5
5
  import { SearchProviderProps } from "@fumadocs/ui/contexts/search";
@@ -44,7 +44,7 @@ declare function RootProvider({
44
44
  theme,
45
45
  search,
46
46
  i18n
47
- }: RootProviderProps): react_jsx_runtime31.JSX.Element;
47
+ }: RootProviderProps): react_jsx_runtime59.JSX.Element;
48
48
  //#endregion
49
49
  export { RootProvider, RootProviderProps };
50
50
  //# sourceMappingURL=base.d.ts.map
@@ -1,6 +1,6 @@
1
1
  import { RootProvider as RootProvider$1 } from "./base.js";
2
2
  import { Framework } from "fumadocs-core/framework";
3
- import * as react_jsx_runtime33 from "react/jsx-runtime";
3
+ import * as react_jsx_runtime58 from "react/jsx-runtime";
4
4
  import { ComponentProps } from "react";
5
5
 
6
6
  //#region src/provider/next.d.ts
@@ -16,7 +16,7 @@ interface RootProviderProps extends ComponentProps<typeof RootProvider$1> {
16
16
  declare function RootProvider({
17
17
  components,
18
18
  ...props
19
- }: RootProviderProps): react_jsx_runtime33.JSX.Element;
19
+ }: RootProviderProps): react_jsx_runtime58.JSX.Element;
20
20
  //#endregion
21
21
  export { RootProvider, RootProviderProps };
22
22
  //# sourceMappingURL=next.d.ts.map