fumadocs-ui 16.4.1 → 16.4.2

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 (266) hide show
  1. package/css/preset.css +2 -4
  2. package/dist/_virtual/rolldown_runtime.js +36 -0
  3. package/dist/components/accordion.d.ts +24 -7
  4. package/dist/components/accordion.d.ts.map +1 -1
  5. package/dist/components/accordion.js +65 -38
  6. package/dist/components/accordion.js.map +1 -0
  7. package/dist/components/banner.d.ts +33 -22
  8. package/dist/components/banner.d.ts.map +1 -1
  9. package/dist/components/banner.js +63 -47
  10. package/dist/components/banner.js.map +1 -0
  11. package/dist/components/callout.d.ts +41 -17
  12. package/dist/components/callout.d.ts.map +1 -1
  13. package/dist/components/callout.js +57 -28
  14. package/dist/components/callout.js.map +1 -0
  15. package/dist/components/card.d.ts +19 -9
  16. package/dist/components/card.d.ts.map +1 -1
  17. package/dist/components/card.js +39 -8
  18. package/dist/components/card.js.map +1 -0
  19. package/dist/components/codeblock.d.ts +61 -40
  20. package/dist/components/codeblock.d.ts.map +1 -1
  21. package/dist/components/codeblock.js +116 -58
  22. package/dist/components/codeblock.js.map +1 -0
  23. package/dist/components/dialog/search-algolia.d.ts +37 -23
  24. package/dist/components/dialog/search-algolia.d.ts.map +1 -1
  25. package/dist/components/dialog/search-algolia.js +64 -31
  26. package/dist/components/dialog/search-algolia.js.map +1 -0
  27. package/dist/components/dialog/search-default.d.ts +42 -27
  28. package/dist/components/dialog/search-default.d.ts.map +1 -1
  29. package/dist/components/dialog/search-default.js +64 -38
  30. package/dist/components/dialog/search-default.js.map +1 -0
  31. package/dist/components/dialog/search-orama.d.ts +41 -25
  32. package/dist/components/dialog/search-orama.d.ts.map +1 -1
  33. package/dist/components/dialog/search-orama.js +68 -35
  34. package/dist/components/dialog/search-orama.js.map +1 -0
  35. package/dist/components/dialog/search.d.ts +103 -64
  36. package/dist/components/dialog/search.d.ts.map +1 -1
  37. package/dist/components/dialog/search.js +264 -185
  38. package/dist/components/dialog/search.js.map +1 -0
  39. package/dist/components/dynamic-codeblock.d.ts +30 -19
  40. package/dist/components/dynamic-codeblock.d.ts.map +1 -1
  41. package/dist/components/dynamic-codeblock.js +60 -27
  42. package/dist/components/dynamic-codeblock.js.map +1 -0
  43. package/dist/components/files.d.ts +32 -16
  44. package/dist/components/files.d.ts.map +1 -1
  45. package/dist/components/files.js +40 -14
  46. package/dist/components/files.js.map +1 -0
  47. package/dist/components/github-info.d.ts +18 -7
  48. package/dist/components/github-info.d.ts.map +1 -1
  49. package/dist/components/github-info.js +63 -48
  50. package/dist/components/github-info.js.map +1 -0
  51. package/dist/components/heading.d.ts +11 -4
  52. package/dist/components/heading.d.ts.map +1 -1
  53. package/dist/components/heading.js +28 -8
  54. package/dist/components/heading.js.map +1 -0
  55. package/dist/components/image-zoom-CtfZieBH.css +80 -0
  56. package/dist/components/image-zoom-CtfZieBH.css.map +1 -0
  57. package/dist/components/image-zoom.d.ts +23 -14
  58. package/dist/components/image-zoom.d.ts.map +1 -1
  59. package/dist/components/image-zoom.js +32 -19
  60. package/dist/components/image-zoom.js.map +1 -0
  61. package/dist/components/image-zoom2.js +1 -0
  62. package/dist/components/inline-toc.d.ts +14 -6
  63. package/dist/components/inline-toc.d.ts.map +1 -1
  64. package/dist/components/inline-toc.js +28 -8
  65. package/dist/components/inline-toc.js.map +1 -0
  66. package/dist/components/sidebar/base.d.ts +102 -65
  67. package/dist/components/sidebar/base.d.ts.map +1 -1
  68. package/dist/components/sidebar/base.js +256 -180
  69. package/dist/components/sidebar/base.js.map +1 -0
  70. package/dist/components/sidebar/link-item.d.ts +23 -10
  71. package/dist/components/sidebar/link-item.d.ts.map +1 -1
  72. package/dist/components/sidebar/link-item.js +32 -12
  73. package/dist/components/sidebar/link-item.js.map +1 -0
  74. package/dist/components/sidebar/page-tree.d.ts +28 -17
  75. package/dist/components/sidebar/page-tree.d.ts.map +1 -1
  76. package/dist/components/sidebar/page-tree.js +57 -33
  77. package/dist/components/sidebar/page-tree.js.map +1 -0
  78. package/dist/components/sidebar/tabs/dropdown.d.ts +18 -9
  79. package/dist/components/sidebar/tabs/dropdown.d.ts.map +1 -1
  80. package/dist/components/sidebar/tabs/dropdown.js +75 -31
  81. package/dist/components/sidebar/tabs/dropdown.js.map +1 -0
  82. package/dist/components/sidebar/tabs/index.d.ts +24 -18
  83. package/dist/components/sidebar/tabs/index.d.ts.map +1 -1
  84. package/dist/components/sidebar/tabs/index.js +45 -45
  85. package/dist/components/sidebar/tabs/index.js.map +1 -0
  86. package/dist/components/steps.d.ts +16 -7
  87. package/dist/components/steps.d.ts.map +1 -1
  88. package/dist/components/steps.js +17 -5
  89. package/dist/components/steps.js.map +1 -0
  90. package/dist/components/tabs.d.ts +49 -28
  91. package/dist/components/tabs.d.ts.map +1 -1
  92. package/dist/components/tabs.js +88 -51
  93. package/dist/components/tabs.js.map +1 -0
  94. package/dist/components/toc/clerk.d.ts +1 -2
  95. package/dist/components/toc/clerk.js +12 -1
  96. package/dist/components/toc/clerk.js.map +1 -0
  97. package/dist/components/toc/default.d.ts +1 -2
  98. package/dist/components/toc/default.js +12 -1
  99. package/dist/components/toc/default.js.map +1 -0
  100. package/dist/components/toc/index.d.ts +1 -2
  101. package/dist/components/toc/index.js +12 -1
  102. package/dist/components/toc/index.js.map +1 -0
  103. package/dist/components/type-table.d.ts +36 -29
  104. package/dist/components/type-table.d.ts.map +1 -1
  105. package/dist/components/type-table.js +106 -25
  106. package/dist/components/type-table.js.map +1 -0
  107. package/dist/components/ui/accordion.d.ts +31 -7
  108. package/dist/components/ui/accordion.d.ts.map +1 -1
  109. package/dist/components/ui/accordion.js +40 -14
  110. package/dist/components/ui/accordion.js.map +1 -0
  111. package/dist/components/ui/button.d.ts +12 -7
  112. package/dist/components/ui/button.d.ts.map +1 -1
  113. package/dist/components/ui/button.js +21 -18
  114. package/dist/components/ui/button.js.map +1 -0
  115. package/dist/components/ui/collapsible.d.ts +12 -8
  116. package/dist/components/ui/collapsible.d.ts.map +1 -1
  117. package/dist/components/ui/collapsible.js +21 -11
  118. package/dist/components/ui/collapsible.js.map +1 -0
  119. package/dist/components/ui/navigation-menu.d.ts +8 -5
  120. package/dist/components/ui/navigation-menu.d.ts.map +1 -1
  121. package/dist/components/ui/navigation-menu.js +36 -9
  122. package/dist/components/ui/navigation-menu.js.map +1 -0
  123. package/dist/components/ui/popover.d.ts +6 -3
  124. package/dist/components/ui/popover.d.ts.map +1 -1
  125. package/dist/components/ui/popover.js +19 -6
  126. package/dist/components/ui/popover.js.map +1 -0
  127. package/dist/components/ui/scroll-area.d.ts +7 -4
  128. package/dist/components/ui/scroll-area.d.ts.map +1 -1
  129. package/dist/components/ui/scroll-area.js +33 -7
  130. package/dist/components/ui/scroll-area.js.map +1 -0
  131. package/dist/components/ui/tabs.d.ts +37 -19
  132. package/dist/components/ui/tabs.d.ts.map +1 -1
  133. package/dist/components/ui/tabs.js +75 -73
  134. package/dist/components/ui/tabs.js.map +1 -0
  135. package/dist/contexts/i18n.d.ts +1 -2
  136. package/dist/contexts/i18n.js +12 -1
  137. package/dist/contexts/i18n.js.map +1 -0
  138. package/dist/contexts/search.d.ts +7 -1
  139. package/dist/contexts/search.d.ts.map +1 -1
  140. package/dist/contexts/search.js +12 -1
  141. package/dist/contexts/search.js.map +1 -0
  142. package/dist/contexts/tree.d.ts +1 -2
  143. package/dist/contexts/tree.js +12 -1
  144. package/dist/contexts/tree.js.map +1 -0
  145. package/dist/i18n.d.ts +1 -2
  146. package/dist/i18n.js +3 -1
  147. package/dist/layouts/docs/client.d.ts +30 -13
  148. package/dist/layouts/docs/client.d.ts.map +1 -1
  149. package/dist/layouts/docs/client.js +61 -34
  150. package/dist/layouts/docs/client.js.map +1 -0
  151. package/dist/layouts/docs/index.d.ts +57 -33
  152. package/dist/layouts/docs/index.d.ts.map +1 -1
  153. package/dist/layouts/docs/index.js +178 -68
  154. package/dist/layouts/docs/index.js.map +1 -0
  155. package/dist/layouts/docs/page/client.d.ts +43 -21
  156. package/dist/layouts/docs/page/client.d.ts.map +1 -1
  157. package/dist/layouts/docs/page/client.js +213 -105
  158. package/dist/layouts/docs/page/client.js.map +1 -0
  159. package/dist/layouts/docs/page/index.d.ts +82 -46
  160. package/dist/layouts/docs/page/index.d.ts.map +1 -1
  161. package/dist/layouts/docs/page/index.js +98 -45
  162. package/dist/layouts/docs/page/index.js.map +1 -0
  163. package/dist/layouts/docs/sidebar.d.ts +57 -16
  164. package/dist/layouts/docs/sidebar.d.ts.map +1 -1
  165. package/dist/layouts/docs/sidebar.js +135 -82
  166. package/dist/layouts/docs/sidebar.js.map +1 -0
  167. package/dist/layouts/home/client.d.ts +18 -5
  168. package/dist/layouts/home/client.d.ts.map +1 -1
  169. package/dist/layouts/home/client.js +252 -103
  170. package/dist/layouts/home/client.js.map +1 -0
  171. package/dist/layouts/home/index.d.ts +15 -10
  172. package/dist/layouts/home/index.d.ts.map +1 -1
  173. package/dist/layouts/home/index.js +24 -7
  174. package/dist/layouts/home/index.js.map +1 -0
  175. package/dist/layouts/home/navbar.d.ts +13 -6
  176. package/dist/layouts/home/navbar.d.ts.map +1 -1
  177. package/dist/layouts/home/navbar.js +34 -12
  178. package/dist/layouts/home/navbar.js.map +1 -0
  179. package/dist/layouts/notebook/client.d.ts +44 -20
  180. package/dist/layouts/notebook/client.d.ts.map +1 -1
  181. package/dist/layouts/notebook/client.js +148 -93
  182. package/dist/layouts/notebook/client.js.map +1 -0
  183. package/dist/layouts/notebook/index.d.ts +34 -30
  184. package/dist/layouts/notebook/index.d.ts.map +1 -1
  185. package/dist/layouts/notebook/index.js +216 -90
  186. package/dist/layouts/notebook/index.js.map +1 -0
  187. package/dist/layouts/notebook/page/client.d.ts +43 -21
  188. package/dist/layouts/notebook/page/client.d.ts.map +1 -1
  189. package/dist/layouts/notebook/page/client.js +213 -105
  190. package/dist/layouts/notebook/page/client.js.map +1 -0
  191. package/dist/layouts/notebook/page/index.d.ts +82 -46
  192. package/dist/layouts/notebook/page/index.d.ts.map +1 -1
  193. package/dist/layouts/notebook/page/index.js +98 -45
  194. package/dist/layouts/notebook/page/index.js.map +1 -0
  195. package/dist/layouts/notebook/sidebar.d.ts +62 -20
  196. package/dist/layouts/notebook/sidebar.d.ts.map +1 -1
  197. package/dist/layouts/notebook/sidebar.js +130 -88
  198. package/dist/layouts/notebook/sidebar.js.map +1 -0
  199. package/dist/layouts/shared/index.d.ts +62 -50
  200. package/dist/layouts/shared/index.d.ts.map +1 -1
  201. package/dist/layouts/shared/index.js +36 -20
  202. package/dist/layouts/shared/index.js.map +1 -0
  203. package/dist/layouts/shared/language-toggle.d.ts +9 -4
  204. package/dist/layouts/shared/language-toggle.d.ts.map +1 -1
  205. package/dist/layouts/shared/language-toggle.js +44 -21
  206. package/dist/layouts/shared/language-toggle.js.map +1 -0
  207. package/dist/layouts/shared/search-toggle.d.ts +20 -8
  208. package/dist/layouts/shared/search-toggle.d.ts.map +1 -1
  209. package/dist/layouts/shared/search-toggle.js +53 -24
  210. package/dist/layouts/shared/search-toggle.js.map +1 -0
  211. package/dist/layouts/shared/theme-toggle.d.ts +13 -4
  212. package/dist/layouts/shared/theme-toggle.d.ts.map +1 -1
  213. package/dist/layouts/shared/theme-toggle.js +58 -34
  214. package/dist/layouts/shared/theme-toggle.js.map +1 -0
  215. package/dist/mdx.d.ts +34 -29
  216. package/dist/mdx.d.ts.map +1 -1
  217. package/dist/mdx.js +68 -34
  218. package/dist/mdx.js.map +1 -0
  219. package/dist/mdx.server.d.ts +9 -5
  220. package/dist/mdx.server.d.ts.map +1 -1
  221. package/dist/mdx.server.js +21 -13
  222. package/dist/mdx.server.js.map +1 -0
  223. package/dist/og.d.ts +1 -2
  224. package/dist/og.js +3 -1
  225. package/dist/page.d.ts +30 -20
  226. package/dist/page.d.ts.map +1 -1
  227. package/dist/page.js +34 -18
  228. package/dist/page.js.map +1 -0
  229. package/dist/provider/base.d.ts +43 -33
  230. package/dist/provider/base.d.ts.map +1 -1
  231. package/dist/provider/base.js +37 -17
  232. package/dist/provider/base.js.map +1 -0
  233. package/dist/provider/next.d.ts +20 -12
  234. package/dist/provider/next.d.ts.map +1 -1
  235. package/dist/provider/next.js +19 -5
  236. package/dist/provider/next.js.map +1 -0
  237. package/dist/provider/react-router.d.ts +20 -12
  238. package/dist/provider/react-router.d.ts.map +1 -1
  239. package/dist/provider/react-router.js +19 -5
  240. package/dist/provider/react-router.js.map +1 -0
  241. package/dist/provider/tanstack.d.ts +20 -12
  242. package/dist/provider/tanstack.d.ts.map +1 -1
  243. package/dist/provider/tanstack.js +19 -5
  244. package/dist/provider/tanstack.js.map +1 -0
  245. package/dist/provider/waku.d.ts +20 -12
  246. package/dist/provider/waku.d.ts.map +1 -1
  247. package/dist/provider/waku.js +19 -5
  248. package/dist/provider/waku.js.map +1 -0
  249. package/dist/style.css +11 -13
  250. package/dist/utils/use-copy-button.d.ts +1 -2
  251. package/dist/utils/use-copy-button.js +3 -1
  252. package/dist/utils/use-footer-items.d.ts +1 -2
  253. package/dist/utils/use-footer-items.js +3 -1
  254. package/dist/utils/use-is-scroll-top.d.ts +1 -2
  255. package/dist/utils/use-is-scroll-top.js +3 -1
  256. package/package.json +51 -52
  257. package/dist/components/toc/clerk.d.ts.map +0 -1
  258. package/dist/components/toc/default.d.ts.map +0 -1
  259. package/dist/components/toc/index.d.ts.map +0 -1
  260. package/dist/contexts/i18n.d.ts.map +0 -1
  261. package/dist/contexts/tree.d.ts.map +0 -1
  262. package/dist/i18n.d.ts.map +0 -1
  263. package/dist/og.d.ts.map +0 -1
  264. package/dist/utils/use-copy-button.d.ts.map +0 -1
  265. package/dist/utils/use-footer-items.d.ts.map +0 -1
  266. package/dist/utils/use-is-scroll-top.d.ts.map +0 -1
@@ -1,57 +1,69 @@
1
- import type { ComponentProps, ReactNode } from 'react';
2
- import type { I18nConfig } from 'fumadocs-core/i18n';
3
- import type { LinkItemType } from '@fumadocs/ui/link-item';
4
- export interface NavOptions {
5
- enabled: boolean;
6
- component: ReactNode;
7
- title?: ReactNode | ((props: ComponentProps<'a'>) => ReactNode);
8
- /**
9
- * Redirect url of title
10
- * @defaultValue '/'
11
- */
12
- url?: string;
13
- /**
14
- * Use transparent background
15
- *
16
- * @defaultValue none
17
- */
18
- transparentMode?: 'always' | 'top' | 'none';
19
- children?: ReactNode;
1
+ import * as react_jsx_runtime46 from "react/jsx-runtime";
2
+ import * as react11 from "react";
3
+ import { ComponentProps, ReactNode } from "react";
4
+ import { LinkItemType } from "@fumadocs/ui/link-item";
5
+ import { I18nConfig } from "fumadocs-core/i18n";
6
+ export * from "@fumadocs/ui/link-item";
7
+
8
+ //#region src/layouts/shared/index.d.ts
9
+ interface NavOptions {
10
+ enabled: boolean;
11
+ component: ReactNode;
12
+ title?: ReactNode | ((props: ComponentProps<'a'>) => ReactNode);
13
+ /**
14
+ * Redirect url of title
15
+ * @defaultValue '/'
16
+ */
17
+ url?: string;
18
+ /**
19
+ * Use transparent background
20
+ *
21
+ * @defaultValue none
22
+ */
23
+ transparentMode?: 'always' | 'top' | 'none';
24
+ children?: ReactNode;
20
25
  }
21
- export interface BaseLayoutProps {
22
- themeSwitch?: {
23
- enabled?: boolean;
24
- component?: ReactNode;
25
- mode?: 'light-dark' | 'light-dark-system';
26
- };
27
- searchToggle?: Partial<{
28
- enabled: boolean;
29
- components: Partial<{
30
- sm: ReactNode;
31
- lg: ReactNode;
32
- }>;
26
+ interface BaseLayoutProps {
27
+ themeSwitch?: {
28
+ enabled?: boolean;
29
+ component?: ReactNode;
30
+ mode?: 'light-dark' | 'light-dark-system';
31
+ };
32
+ searchToggle?: Partial<{
33
+ enabled: boolean;
34
+ components: Partial<{
35
+ sm: ReactNode;
36
+ lg: ReactNode;
33
37
  }>;
34
- /**
35
- * I18n options
36
- *
37
- * @defaultValue false
38
- */
39
- i18n?: boolean | I18nConfig;
40
- /**
41
- * GitHub url
42
- */
43
- githubUrl?: string;
44
- links?: LinkItemType[];
45
- /**
46
- * Replace or disable navbar
47
- */
48
- nav?: Partial<NavOptions>;
49
- children?: ReactNode;
38
+ }>;
39
+ /**
40
+ * I18n options
41
+ *
42
+ * @defaultValue false
43
+ */
44
+ i18n?: boolean | I18nConfig;
45
+ /**
46
+ * GitHub url
47
+ */
48
+ githubUrl?: string;
49
+ links?: LinkItemType[];
50
+ /**
51
+ * Replace or disable navbar
52
+ */
53
+ nav?: Partial<NavOptions>;
54
+ children?: ReactNode;
50
55
  }
51
56
  /**
52
57
  * Get link items with shortcuts
53
58
  */
54
- export declare function resolveLinkItems({ links, githubUrl, }: Pick<BaseLayoutProps, 'links' | 'githubUrl'>): LinkItemType[];
55
- export declare function renderTitleNav({ title, url }: Partial<NavOptions>, props: ComponentProps<'a'>): string | number | bigint | boolean | import("react/jsx-runtime").JSX.Element | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | null | undefined;
56
- export type * from '@fumadocs/ui/link-item';
59
+ declare function resolveLinkItems({
60
+ links,
61
+ githubUrl
62
+ }: Pick<BaseLayoutProps, 'links' | 'githubUrl'>): LinkItemType[];
63
+ declare function renderTitleNav({
64
+ title,
65
+ url
66
+ }: Partial<NavOptions>, props: ComponentProps<'a'>): string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | react11.ReactPortal | react11.ReactElement<unknown, string | react11.JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | react_jsx_runtime46.JSX.Element | null | undefined;
67
+ //#endregion
68
+ export { BaseLayoutProps, NavOptions, renderTitleNav, resolveLinkItems };
57
69
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layouts/shared/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAG3D,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,SAAS,CAAC;IAErB,KAAK,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,KAAK,EAAE,cAAc,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,CAAC;IAEhE;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,eAAe,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;IAE5C,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAC,EAAE;QACZ,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB,IAAI,CAAC,EAAE,YAAY,GAAG,mBAAmB,CAAC;KAC3C,CAAC;IAEF,YAAY,CAAC,EAAE,OAAO,CAAC;QACrB,OAAO,EAAE,OAAO,CAAC;QACjB,UAAU,EAAE,OAAO,CAAC;YAClB,EAAE,EAAE,SAAS,CAAC;YACd,EAAE,EAAE,SAAS,CAAC;SACf,CAAC,CAAC;KACJ,CAAC,CAAC;IAEH;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IAE5B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IACvB;;OAEG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAE1B,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,KAAU,EACV,SAAS,GACV,EAAE,IAAI,CAAC,eAAe,EAAE,OAAO,GAAG,WAAW,CAAC,GAAG,YAAY,EAAE,CAkB/D;AAED,wBAAgB,cAAc,CAC5B,EAAE,KAAK,EAAE,GAAS,EAAE,EAAE,OAAO,CAAC,UAAU,CAAC,EACzC,KAAK,EAAE,cAAc,CAAC,GAAG,CAAC,2UAQ3B;AAED,mBAAmB,wBAAwB,CAAC"}
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,SAAA,aAAA,6CAAA,OAAA,CAAA,WAAA,GAAA,OAAA,CAAA,+BAAA,OAAA,CAAA,8BAAA,SAAA,iCAAA,mBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1,23 +1,39 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import Link from 'fumadocs-core/link';
1
+ import Link from "fumadocs-core/link";
2
+ import { jsx } from "react/jsx-runtime";
3
+
4
+ //#region src/layouts/shared/index.tsx
3
5
  /**
4
- * Get link items with shortcuts
5
- */
6
- export function resolveLinkItems({ links = [], githubUrl, }) {
7
- const result = [...links];
8
- if (githubUrl)
9
- result.push({
10
- type: 'icon',
11
- url: githubUrl,
12
- text: 'Github',
13
- label: 'GitHub',
14
- icon: (_jsx("svg", { role: "img", viewBox: "0 0 24 24", fill: "currentColor", children: _jsx("path", { d: "M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12" }) })),
15
- external: true,
16
- });
17
- return result;
6
+ * Get link items with shortcuts
7
+ */
8
+ function resolveLinkItems({ links = [], githubUrl }) {
9
+ const result = [...links];
10
+ if (githubUrl) result.push({
11
+ type: "icon",
12
+ url: githubUrl,
13
+ text: "Github",
14
+ label: "GitHub",
15
+ icon: /* @__PURE__ */ jsx("svg", {
16
+ role: "img",
17
+ viewBox: "0 0 24 24",
18
+ fill: "currentColor",
19
+ children: /* @__PURE__ */ jsx("path", { d: "M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12" })
20
+ }),
21
+ external: true
22
+ });
23
+ return result;
18
24
  }
19
- export function renderTitleNav({ title, url = '/' }, props) {
20
- if (typeof title === 'function')
21
- return title({ href: url, ...props });
22
- return (_jsx(Link, { href: url, ...props, children: title }));
25
+ function renderTitleNav({ title, url = "/" }, props) {
26
+ if (typeof title === "function") return title({
27
+ href: url,
28
+ ...props
29
+ });
30
+ return /* @__PURE__ */ jsx(Link, {
31
+ href: url,
32
+ ...props,
33
+ children: title
34
+ });
23
35
  }
36
+
37
+ //#endregion
38
+ export { renderTitleNav, resolveLinkItems };
39
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/layouts/shared/index.tsx"],"sourcesContent":["import type { ComponentProps, ReactNode } from 'react';\nimport type { I18nConfig } from 'fumadocs-core/i18n';\nimport type { LinkItemType } from '@fumadocs/ui/link-item';\nimport Link from 'fumadocs-core/link';\n\nexport interface NavOptions {\n enabled: boolean;\n component: ReactNode;\n\n title?: ReactNode | ((props: ComponentProps<'a'>) => ReactNode);\n\n /**\n * Redirect url of title\n * @defaultValue '/'\n */\n url?: string;\n\n /**\n * Use transparent background\n *\n * @defaultValue none\n */\n transparentMode?: 'always' | 'top' | 'none';\n\n children?: ReactNode;\n}\n\nexport interface BaseLayoutProps {\n themeSwitch?: {\n enabled?: boolean;\n component?: ReactNode;\n mode?: 'light-dark' | 'light-dark-system';\n };\n\n searchToggle?: Partial<{\n enabled: boolean;\n components: Partial<{\n sm: ReactNode;\n lg: ReactNode;\n }>;\n }>;\n\n /**\n * I18n options\n *\n * @defaultValue false\n */\n i18n?: boolean | I18nConfig;\n\n /**\n * GitHub url\n */\n githubUrl?: string;\n\n links?: LinkItemType[];\n /**\n * Replace or disable navbar\n */\n nav?: Partial<NavOptions>;\n\n children?: ReactNode;\n}\n\n/**\n * Get link items with shortcuts\n */\nexport function resolveLinkItems({\n links = [],\n githubUrl,\n}: Pick<BaseLayoutProps, 'links' | 'githubUrl'>): LinkItemType[] {\n const result = [...links];\n\n if (githubUrl)\n result.push({\n type: 'icon',\n url: githubUrl,\n text: 'Github',\n label: 'GitHub',\n icon: (\n <svg role=\"img\" viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12\" />\n </svg>\n ),\n external: true,\n });\n\n return result;\n}\n\nexport function renderTitleNav(\n { title, url = '/' }: Partial<NavOptions>,\n props: ComponentProps<'a'>,\n) {\n if (typeof title === 'function') return title({ href: url, ...props });\n return (\n <Link href={url} {...props}>\n {title}\n </Link>\n );\n}\n\nexport type * from '@fumadocs/ui/link-item';\n"],"mappings":";;;;;;;AAkEA,SAAgB,iBAAiB,EAC/B,QAAQ,EAAE,EACV,aAC+D;CAC/D,MAAM,SAAS,CAAC,GAAG,MAAM;AAEzB,KAAI,UACF,QAAO,KAAK;EACV,MAAM;EACN,KAAK;EACL,MAAM;EACN,OAAO;EACP,MACE,oBAAC;GAAI,MAAK;GAAM,SAAQ;GAAY,MAAK;aACvC,oBAAC,UAAK,GAAE,6sBAA6sB;IACjtB;EAER,UAAU;EACX,CAAC;AAEJ,QAAO;;AAGT,SAAgB,eACd,EAAE,OAAO,MAAM,OACf,OACA;AACA,KAAI,OAAO,UAAU,WAAY,QAAO,MAAM;EAAE,MAAM;EAAK,GAAG;EAAO,CAAC;AACtE,QACE,oBAAC;EAAK,MAAM;EAAK,GAAI;YAClB;GACI"}
@@ -1,5 +1,10 @@
1
- import type { ComponentProps } from 'react';
2
- export type LanguageSelectProps = ComponentProps<'button'>;
3
- export declare function LanguageToggle(props: LanguageSelectProps): React.ReactElement;
4
- export declare function LanguageToggleText(props: ComponentProps<'span'>): import("react/jsx-runtime").JSX.Element;
1
+ import * as react_jsx_runtime63 from "react/jsx-runtime";
2
+ import { ComponentProps } from "react";
3
+
4
+ //#region src/layouts/shared/language-toggle.d.ts
5
+ type LanguageSelectProps = ComponentProps<'button'>;
6
+ declare function LanguageToggle(props: LanguageSelectProps): React.ReactElement;
7
+ declare function LanguageToggleText(props: ComponentProps<'span'>): react_jsx_runtime63.JSX.Element;
8
+ //#endregion
9
+ export { LanguageSelectProps, LanguageToggle, LanguageToggleText };
5
10
  //# sourceMappingURL=language-toggle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"language-toggle.d.ts","sourceRoot":"","sources":["../../../src/layouts/shared/language-toggle.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAU5C,MAAM,MAAM,mBAAmB,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;AAE3D,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,KAAK,CAAC,YAAY,CA2C7E;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,2CAO/D"}
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,24 +1,47 @@
1
1
  'use client';
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { useI18n } from '../../contexts/i18n.js';
4
- import { Popover, PopoverContent, PopoverTrigger, } from '../../components/ui/popover.js';
5
- import { cn } from '@fumadocs/ui/cn';
6
- import { buttonVariants } from '../../components/ui/button.js';
7
- export function LanguageToggle(props) {
8
- const context = useI18n();
9
- if (!context.locales)
10
- throw new Error('Missing `<I18nProvider />`');
11
- return (_jsxs(Popover, { children: [_jsx(PopoverTrigger, { "aria-label": context.text.chooseLanguage, ...props, className: cn(buttonVariants({
12
- color: 'ghost',
13
- className: 'gap-1.5 p-1.5',
14
- }), props.className), children: props.children }), _jsxs(PopoverContent, { className: "flex flex-col overflow-x-hidden p-0", children: [_jsx("p", { className: "mb-1 p-2 text-xs font-medium text-fd-muted-foreground", children: context.text.chooseLanguage }), context.locales.map((item) => (_jsx("button", { type: "button", className: cn('p-2 text-start text-sm', item.locale === context.locale
15
- ? 'bg-fd-primary/10 font-medium text-fd-primary'
16
- : 'hover:bg-fd-accent hover:text-fd-accent-foreground'), onClick: () => {
17
- context.onChange?.(item.locale);
18
- }, children: item.name }, item.locale)))] })] }));
2
+
3
+ import { buttonVariants } from "../../components/ui/button.js";
4
+ import { i18n_exports } from "../../contexts/i18n.js";
5
+ import { Popover, PopoverContent, PopoverTrigger } from "../../components/ui/popover.js";
6
+ import { cn } from "@fumadocs/ui/cn";
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+
9
+ //#region src/layouts/shared/language-toggle.tsx
10
+ function LanguageToggle(props) {
11
+ const context = (0, i18n_exports.useI18n)();
12
+ if (!context.locales) throw new Error("Missing `<I18nProvider />`");
13
+ return /* @__PURE__ */ jsxs(Popover, { children: [/* @__PURE__ */ jsx(PopoverTrigger, {
14
+ "aria-label": context.text.chooseLanguage,
15
+ ...props,
16
+ className: cn(buttonVariants({
17
+ color: "ghost",
18
+ className: "gap-1.5 p-1.5"
19
+ }), props.className),
20
+ children: props.children
21
+ }), /* @__PURE__ */ jsxs(PopoverContent, {
22
+ className: "flex flex-col overflow-x-hidden p-0",
23
+ children: [/* @__PURE__ */ jsx("p", {
24
+ className: "mb-1 p-2 text-xs font-medium text-fd-muted-foreground",
25
+ children: context.text.chooseLanguage
26
+ }), context.locales.map((item) => /* @__PURE__ */ jsx("button", {
27
+ type: "button",
28
+ className: cn("p-2 text-start text-sm", item.locale === context.locale ? "bg-fd-primary/10 font-medium text-fd-primary" : "hover:bg-fd-accent hover:text-fd-accent-foreground"),
29
+ onClick: () => {
30
+ context.onChange?.(item.locale);
31
+ },
32
+ children: item.name
33
+ }, item.locale))]
34
+ })] });
19
35
  }
20
- export function LanguageToggleText(props) {
21
- const context = useI18n();
22
- const text = context.locales?.find((item) => item.locale === context.locale)?.name;
23
- return _jsx("span", { ...props, children: text });
36
+ function LanguageToggleText(props) {
37
+ const context = (0, i18n_exports.useI18n)();
38
+ const text = context.locales?.find((item) => item.locale === context.locale)?.name;
39
+ return /* @__PURE__ */ jsx("span", {
40
+ ...props,
41
+ children: text
42
+ });
24
43
  }
44
+
45
+ //#endregion
46
+ export { LanguageToggle, LanguageToggleText };
47
+ //# sourceMappingURL=language-toggle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"language-toggle.js","names":[],"sources":["../../../src/layouts/shared/language-toggle.tsx"],"sourcesContent":["'use client';\nimport type { ComponentProps } from 'react';\nimport { useI18n } from '@/contexts/i18n';\nimport { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover';\nimport { cn } from '@fumadocs/ui/cn';\nimport { buttonVariants } from '@/components/ui/button';\n\nexport type LanguageSelectProps = ComponentProps<'button'>;\n\nexport function LanguageToggle(props: LanguageSelectProps): React.ReactElement {\n const context = useI18n();\n if (!context.locales) throw new Error('Missing `<I18nProvider />`');\n\n return (\n <Popover>\n <PopoverTrigger\n aria-label={context.text.chooseLanguage}\n {...props}\n className={cn(\n buttonVariants({\n color: 'ghost',\n className: 'gap-1.5 p-1.5',\n }),\n props.className,\n )}\n >\n {props.children}\n </PopoverTrigger>\n <PopoverContent className=\"flex flex-col overflow-x-hidden p-0\">\n <p className=\"mb-1 p-2 text-xs font-medium text-fd-muted-foreground\">\n {context.text.chooseLanguage}\n </p>\n {context.locales.map((item) => (\n <button\n key={item.locale}\n type=\"button\"\n className={cn(\n 'p-2 text-start text-sm',\n item.locale === context.locale\n ? 'bg-fd-primary/10 font-medium text-fd-primary'\n : 'hover:bg-fd-accent hover:text-fd-accent-foreground',\n )}\n onClick={() => {\n context.onChange?.(item.locale);\n }}\n >\n {item.name}\n </button>\n ))}\n </PopoverContent>\n </Popover>\n );\n}\n\nexport function LanguageToggleText(props: ComponentProps<'span'>) {\n const context = useI18n();\n const text = context.locales?.find((item) => item.locale === context.locale)?.name;\n\n return <span {...props}>{text}</span>;\n}\n"],"mappings":";;;;;;;;;AASA,SAAgB,eAAe,OAAgD;CAC7E,MAAM,qCAAmB;AACzB,KAAI,CAAC,QAAQ,QAAS,OAAM,IAAI,MAAM,6BAA6B;AAEnE,QACE,qBAAC,sBACC,oBAAC;EACC,cAAY,QAAQ,KAAK;EACzB,GAAI;EACJ,WAAW,GACT,eAAe;GACb,OAAO;GACP,WAAW;GACZ,CAAC,EACF,MAAM,UACP;YAEA,MAAM;GACQ,EACjB,qBAAC;EAAe,WAAU;aACxB,oBAAC;GAAE,WAAU;aACV,QAAQ,KAAK;IACZ,EACH,QAAQ,QAAQ,KAAK,SACpB,oBAAC;GAEC,MAAK;GACL,WAAW,GACT,0BACA,KAAK,WAAW,QAAQ,SACpB,iDACA,qDACL;GACD,eAAe;AACb,YAAQ,WAAW,KAAK,OAAO;;aAGhC,KAAK;KAZD,KAAK,OAaH,CACT;GACa,IACT;;AAId,SAAgB,mBAAmB,OAA+B;CAChE,MAAM,qCAAmB;CACzB,MAAM,OAAO,QAAQ,SAAS,MAAM,SAAS,KAAK,WAAW,QAAQ,OAAO,EAAE;AAE9E,QAAO,oBAAC;EAAK,GAAI;YAAQ;GAAY"}
@@ -1,11 +1,23 @@
1
- import type { ComponentProps } from 'react';
2
- import { type ButtonProps } from '../../components/ui/button.js';
1
+ import { ButtonProps } from "../../components/ui/button.js";
2
+ import * as react_jsx_runtime65 from "react/jsx-runtime";
3
+ import { ComponentProps } from "react";
4
+
5
+ //#region src/layouts/shared/search-toggle.d.ts
3
6
  interface SearchToggleProps extends Omit<ComponentProps<'button'>, 'color'>, ButtonProps {
4
- hideIfDisabled?: boolean;
7
+ hideIfDisabled?: boolean;
5
8
  }
6
- export declare function SearchToggle({ hideIfDisabled, size, color, ...props }: SearchToggleProps): import("react/jsx-runtime").JSX.Element | null;
7
- export declare function LargeSearchToggle({ hideIfDisabled, ...props }: ComponentProps<'button'> & {
8
- hideIfDisabled?: boolean;
9
- }): import("react/jsx-runtime").JSX.Element | null;
10
- export {};
9
+ declare function SearchToggle({
10
+ hideIfDisabled,
11
+ size,
12
+ color,
13
+ ...props
14
+ }: SearchToggleProps): react_jsx_runtime65.JSX.Element | null;
15
+ declare function LargeSearchToggle({
16
+ hideIfDisabled,
17
+ ...props
18
+ }: ComponentProps<'button'> & {
19
+ hideIfDisabled?: boolean;
20
+ }): react_jsx_runtime65.JSX.Element | null;
21
+ //#endregion
22
+ export { LargeSearchToggle, SearchToggle };
11
23
  //# sourceMappingURL=search-toggle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"search-toggle.d.ts","sourceRoot":"","sources":["../../../src/layouts/shared/search-toggle.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAK5C,OAAO,EAAE,KAAK,WAAW,EAAkB,MAAM,wBAAwB,CAAC;AAE1E,UAAU,iBACR,SAAQ,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,EAAE,WAAW;IAC5D,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAgB,YAAY,CAAC,EAC3B,cAAc,EACd,IAAgB,EAChB,KAAe,EACf,GAAG,KAAK,EACT,EAAE,iBAAiB,kDAuBnB;AAED,wBAAgB,iBAAiB,CAAC,EAChC,cAAc,EACd,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,kDA6BA"}
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,27 +1,56 @@
1
1
  'use client';
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { Search } from '@fumadocs/ui/icons';
4
- import { useSearchContext } from '../../contexts/search.js';
5
- import { useI18n } from '../../contexts/i18n.js';
6
- import { cn } from '@fumadocs/ui/cn';
7
- import { buttonVariants } from '../../components/ui/button.js';
8
- export function SearchToggle({ hideIfDisabled, size = 'icon-sm', color = 'ghost', ...props }) {
9
- const { setOpenSearch, enabled } = useSearchContext();
10
- if (hideIfDisabled && !enabled)
11
- return null;
12
- return (_jsx("button", { type: "button", className: cn(buttonVariants({
13
- size,
14
- color,
15
- }), props.className), "data-search": "", "aria-label": "Open Search", onClick: () => {
16
- setOpenSearch(true);
17
- }, children: _jsx(Search, {}) }));
2
+
3
+ import { buttonVariants } from "../../components/ui/button.js";
4
+ import { i18n_exports } from "../../contexts/i18n.js";
5
+ import { search_exports } from "../../contexts/search.js";
6
+ import { cn } from "@fumadocs/ui/cn";
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+ import { Search } from "lucide-react";
9
+
10
+ //#region src/layouts/shared/search-toggle.tsx
11
+ function SearchToggle({ hideIfDisabled, size = "icon-sm", color = "ghost", ...props }) {
12
+ const { setOpenSearch, enabled } = (0, search_exports.useSearchContext)();
13
+ if (hideIfDisabled && !enabled) return null;
14
+ return /* @__PURE__ */ jsx("button", {
15
+ type: "button",
16
+ className: cn(buttonVariants({
17
+ size,
18
+ color
19
+ }), props.className),
20
+ "data-search": "",
21
+ "aria-label": "Open Search",
22
+ onClick: () => {
23
+ setOpenSearch(true);
24
+ },
25
+ children: /* @__PURE__ */ jsx(Search, {})
26
+ });
18
27
  }
19
- export function LargeSearchToggle({ hideIfDisabled, ...props }) {
20
- const { enabled, hotKey, setOpenSearch } = useSearchContext();
21
- const { text } = useI18n();
22
- if (hideIfDisabled && !enabled)
23
- return null;
24
- return (_jsxs("button", { type: "button", "data-search-full": "", ...props, className: cn('inline-flex items-center gap-2 rounded-lg border bg-fd-secondary/50 p-1.5 ps-2 text-sm text-fd-muted-foreground transition-colors hover:bg-fd-accent hover:text-fd-accent-foreground', props.className), onClick: () => {
25
- setOpenSearch(true);
26
- }, children: [_jsx(Search, { className: "size-4" }), text.search, _jsx("div", { className: "ms-auto inline-flex gap-0.5", children: hotKey.map((k, i) => (_jsx("kbd", { className: "rounded-md border bg-fd-background px-1.5", children: k.display }, i))) })] }));
28
+ function LargeSearchToggle({ hideIfDisabled, ...props }) {
29
+ const { enabled, hotKey, setOpenSearch } = (0, search_exports.useSearchContext)();
30
+ const { text } = (0, i18n_exports.useI18n)();
31
+ if (hideIfDisabled && !enabled) return null;
32
+ return /* @__PURE__ */ jsxs("button", {
33
+ type: "button",
34
+ "data-search-full": "",
35
+ ...props,
36
+ className: cn("inline-flex items-center gap-2 rounded-lg border bg-fd-secondary/50 p-1.5 ps-2 text-sm text-fd-muted-foreground transition-colors hover:bg-fd-accent hover:text-fd-accent-foreground", props.className),
37
+ onClick: () => {
38
+ setOpenSearch(true);
39
+ },
40
+ children: [
41
+ /* @__PURE__ */ jsx(Search, { className: "size-4" }),
42
+ text.search,
43
+ /* @__PURE__ */ jsx("div", {
44
+ className: "ms-auto inline-flex gap-0.5",
45
+ children: hotKey.map((k, i) => /* @__PURE__ */ jsx("kbd", {
46
+ className: "rounded-md border bg-fd-background px-1.5",
47
+ children: k.display
48
+ }, i))
49
+ })
50
+ ]
51
+ });
27
52
  }
53
+
54
+ //#endregion
55
+ export { LargeSearchToggle, SearchToggle };
56
+ //# sourceMappingURL=search-toggle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-toggle.js","names":[],"sources":["../../../src/layouts/shared/search-toggle.tsx"],"sourcesContent":["'use client';\nimport type { ComponentProps } from 'react';\nimport { Search } from 'lucide-react';\nimport { useSearchContext } from '@/contexts/search';\nimport { useI18n } from '@/contexts/i18n';\nimport { cn } from '@fumadocs/ui/cn';\nimport { type ButtonProps, buttonVariants } from '@/components/ui/button';\n\ninterface SearchToggleProps extends Omit<ComponentProps<'button'>, 'color'>, ButtonProps {\n hideIfDisabled?: boolean;\n}\n\nexport function SearchToggle({\n hideIfDisabled,\n size = 'icon-sm',\n color = 'ghost',\n ...props\n}: SearchToggleProps) {\n const { setOpenSearch, enabled } = useSearchContext();\n if (hideIfDisabled && !enabled) return null;\n\n return (\n <button\n type=\"button\"\n className={cn(\n buttonVariants({\n size,\n color,\n }),\n props.className,\n )}\n data-search=\"\"\n aria-label=\"Open Search\"\n onClick={() => {\n setOpenSearch(true);\n }}\n >\n <Search />\n </button>\n );\n}\n\nexport function LargeSearchToggle({\n hideIfDisabled,\n ...props\n}: ComponentProps<'button'> & {\n hideIfDisabled?: boolean;\n}) {\n const { enabled, hotKey, setOpenSearch } = useSearchContext();\n const { text } = useI18n();\n if (hideIfDisabled && !enabled) return null;\n\n return (\n <button\n type=\"button\"\n data-search-full=\"\"\n {...props}\n className={cn(\n 'inline-flex items-center gap-2 rounded-lg border bg-fd-secondary/50 p-1.5 ps-2 text-sm text-fd-muted-foreground transition-colors hover:bg-fd-accent hover:text-fd-accent-foreground',\n props.className,\n )}\n onClick={() => {\n setOpenSearch(true);\n }}\n >\n <Search className=\"size-4\" />\n {text.search}\n <div className=\"ms-auto inline-flex gap-0.5\">\n {hotKey.map((k, i) => (\n <kbd key={i} className=\"rounded-md border bg-fd-background px-1.5\">\n {k.display}\n </kbd>\n ))}\n </div>\n </button>\n );\n}\n"],"mappings":";;;;;;;;;;AAYA,SAAgB,aAAa,EAC3B,gBACA,OAAO,WACP,QAAQ,SACR,GAAG,SACiB;CACpB,MAAM,EAAE,eAAe,kDAA8B;AACrD,KAAI,kBAAkB,CAAC,QAAS,QAAO;AAEvC,QACE,oBAAC;EACC,MAAK;EACL,WAAW,GACT,eAAe;GACb;GACA;GACD,CAAC,EACF,MAAM,UACP;EACD,eAAY;EACZ,cAAW;EACX,eAAe;AACb,iBAAc,KAAK;;YAGrB,oBAAC,WAAS;GACH;;AAIb,SAAgB,kBAAkB,EAChC,gBACA,GAAG,SAGF;CACD,MAAM,EAAE,SAAS,QAAQ,wDAAoC;CAC7D,MAAM,EAAE,oCAAkB;AAC1B,KAAI,kBAAkB,CAAC,QAAS,QAAO;AAEvC,QACE,qBAAC;EACC,MAAK;EACL,oBAAiB;EACjB,GAAI;EACJ,WAAW,GACT,wLACA,MAAM,UACP;EACD,eAAe;AACb,iBAAc,KAAK;;;GAGrB,oBAAC,UAAO,WAAU,WAAW;GAC5B,KAAK;GACN,oBAAC;IAAI,WAAU;cACZ,OAAO,KAAK,GAAG,MACd,oBAAC;KAAY,WAAU;eACpB,EAAE;OADK,EAEJ,CACN;KACE;;GACC"}
@@ -1,5 +1,14 @@
1
- import { ComponentProps } from 'react';
2
- export declare function ThemeToggle({ className, mode, ...props }: ComponentProps<'div'> & {
3
- mode?: 'light-dark' | 'light-dark-system';
4
- }): import("react/jsx-runtime").JSX.Element;
1
+ import * as react_jsx_runtime67 from "react/jsx-runtime";
2
+ import { ComponentProps } from "react";
3
+
4
+ //#region src/layouts/shared/theme-toggle.d.ts
5
+ declare function ThemeToggle({
6
+ className,
7
+ mode,
8
+ ...props
9
+ }: ComponentProps<'div'> & {
10
+ mode?: 'light-dark' | 'light-dark-system';
11
+ }): react_jsx_runtime67.JSX.Element;
12
+ //#endregion
13
+ export { ThemeToggle };
5
14
  //# sourceMappingURL=theme-toggle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"theme-toggle.d.ts","sourceRoot":"","sources":["../../../src/layouts/shared/theme-toggle.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAuB,MAAM,OAAO,CAAC;AAqB5D,wBAAgB,WAAW,CAAC,EAC1B,SAAS,EACT,IAAmB,EACnB,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,KAAK,CAAC,GAAG;IACzB,IAAI,CAAC,EAAE,YAAY,GAAG,mBAAmB,CAAC;CAC3C,2CAsDA"}
1
+ {"version":3,"file":"theme-toggle.d.ts","names":[],"sources":["../../../src/layouts/shared/theme-toggle.tsx"],"sourcesContent":[],"mappings":";;;;iBAkBgB,WAAA;;;;GAIb;;IAEF,mBAAA,CAAA,GAAA,CAAA"}
@@ -1,38 +1,62 @@
1
1
  'use client';
2
- import { jsx as _jsx } from "react/jsx-runtime";
3
- import { cva } from 'class-variance-authority';
4
- import { Airplay, Moon, Sun } from '@fumadocs/ui/icons';
5
- import { useTheme } from 'next-themes';
6
- import { useEffect, useState } from 'react';
7
- import { cn } from '@fumadocs/ui/cn';
8
- const itemVariants = cva('size-6.5 rounded-full p-1.5 text-fd-muted-foreground', {
9
- variants: {
10
- active: {
11
- true: 'bg-fd-accent text-fd-accent-foreground',
12
- false: 'text-fd-muted-foreground',
13
- },
14
- },
15
- });
2
+
3
+ import { cn } from "@fumadocs/ui/cn";
4
+ import { jsx } from "react/jsx-runtime";
5
+ import { Airplay, Moon, Sun } from "lucide-react";
6
+ import { useEffect, useState } from "react";
7
+ import { cva } from "class-variance-authority";
8
+ import { useTheme } from "next-themes";
9
+
10
+ //#region src/layouts/shared/theme-toggle.tsx
11
+ const itemVariants = cva("size-6.5 rounded-full p-1.5 text-fd-muted-foreground", { variants: { active: {
12
+ true: "bg-fd-accent text-fd-accent-foreground",
13
+ false: "text-fd-muted-foreground"
14
+ } } });
16
15
  const full = [
17
- ['light', Sun],
18
- ['dark', Moon],
19
- ['system', Airplay],
16
+ ["light", Sun],
17
+ ["dark", Moon],
18
+ ["system", Airplay]
20
19
  ];
21
- export function ThemeToggle({ className, mode = 'light-dark', ...props }) {
22
- const { setTheme, theme, resolvedTheme } = useTheme();
23
- const [mounted, setMounted] = useState(false);
24
- useEffect(() => {
25
- setMounted(true);
26
- }, []);
27
- const container = cn('inline-flex items-center rounded-full border p-1', className);
28
- if (mode === 'light-dark') {
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": "", children: full.map(([key, Icon]) => {
31
- if (key === 'system')
32
- return;
33
- return (_jsx(Icon, { fill: "currentColor", className: cn(itemVariants({ active: value === key })) }, key));
34
- }) }));
35
- }
36
- const value = mounted ? theme : null;
37
- return (_jsx("div", { className: container, "data-theme-toggle": "", ...props, children: full.map(([key, Icon]) => (_jsx("button", { "aria-label": key, className: cn(itemVariants({ active: value === key })), onClick: () => setTheme(key), children: _jsx(Icon, { className: "size-full", fill: "currentColor" }) }, key))) }));
20
+ function ThemeToggle({ className, mode = "light-dark", ...props }) {
21
+ const { setTheme, theme, resolvedTheme } = useTheme();
22
+ const [mounted, setMounted] = useState(false);
23
+ useEffect(() => {
24
+ setMounted(true);
25
+ }, []);
26
+ const container = cn("inline-flex items-center rounded-full border p-1", className);
27
+ if (mode === "light-dark") {
28
+ const value$1 = mounted ? resolvedTheme : null;
29
+ return /* @__PURE__ */ jsx("button", {
30
+ className: container,
31
+ "aria-label": `Toggle Theme`,
32
+ onClick: () => setTheme(value$1 === "light" ? "dark" : "light"),
33
+ "data-theme-toggle": "",
34
+ children: full.map(([key, Icon]) => {
35
+ if (key === "system") return;
36
+ return /* @__PURE__ */ jsx(Icon, {
37
+ fill: "currentColor",
38
+ className: cn(itemVariants({ active: value$1 === key }))
39
+ }, key);
40
+ })
41
+ });
42
+ }
43
+ const value = mounted ? theme : null;
44
+ return /* @__PURE__ */ jsx("div", {
45
+ className: container,
46
+ "data-theme-toggle": "",
47
+ ...props,
48
+ children: full.map(([key, Icon]) => /* @__PURE__ */ jsx("button", {
49
+ "aria-label": key,
50
+ className: cn(itemVariants({ active: value === key })),
51
+ onClick: () => setTheme(key),
52
+ children: /* @__PURE__ */ jsx(Icon, {
53
+ className: "size-full",
54
+ fill: "currentColor"
55
+ })
56
+ }, key))
57
+ });
38
58
  }
59
+
60
+ //#endregion
61
+ export { ThemeToggle };
62
+ //# sourceMappingURL=theme-toggle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-toggle.js","names":["value"],"sources":["../../../src/layouts/shared/theme-toggle.tsx"],"sourcesContent":["'use client';\nimport { cva } from 'class-variance-authority';\nimport { Airplay, Moon, Sun } from 'lucide-react';\nimport { useTheme } from 'next-themes';\nimport { ComponentProps, useEffect, useState } from 'react';\nimport { cn } from '@fumadocs/ui/cn';\n\nconst itemVariants = cva('size-6.5 rounded-full p-1.5 text-fd-muted-foreground', {\n variants: {\n active: {\n true: 'bg-fd-accent text-fd-accent-foreground',\n false: 'text-fd-muted-foreground',\n },\n },\n});\n\nconst full = [['light', Sun] as const, ['dark', Moon] as const, ['system', Airplay] as const];\n\nexport function ThemeToggle({\n className,\n mode = 'light-dark',\n ...props\n}: ComponentProps<'div'> & {\n mode?: 'light-dark' | 'light-dark-system';\n}) {\n const { setTheme, theme, resolvedTheme } = useTheme();\n const [mounted, setMounted] = useState(false);\n\n useEffect(() => {\n setMounted(true);\n }, []);\n\n const container = cn('inline-flex items-center rounded-full border p-1', className);\n\n if (mode === 'light-dark') {\n const value = mounted ? resolvedTheme : null;\n\n return (\n <button\n className={container}\n aria-label={`Toggle Theme`}\n onClick={() => setTheme(value === 'light' ? 'dark' : 'light')}\n data-theme-toggle=\"\"\n >\n {full.map(([key, Icon]) => {\n if (key === 'system') return;\n\n return (\n <Icon\n key={key}\n fill=\"currentColor\"\n className={cn(itemVariants({ active: value === key }))}\n />\n );\n })}\n </button>\n );\n }\n\n const value = mounted ? theme : null;\n\n return (\n <div className={container} data-theme-toggle=\"\" {...props}>\n {full.map(([key, Icon]) => (\n <button\n key={key}\n aria-label={key}\n className={cn(itemVariants({ active: value === key }))}\n onClick={() => setTheme(key)}\n >\n <Icon className=\"size-full\" fill=\"currentColor\" />\n </button>\n ))}\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;AAOA,MAAM,eAAe,IAAI,wDAAwD,EAC/E,UAAU,EACR,QAAQ;CACN,MAAM;CACN,OAAO;CACR,EACF,EACF,CAAC;AAEF,MAAM,OAAO;CAAC,CAAC,SAAS,IAAI;CAAW,CAAC,QAAQ,KAAK;CAAW,CAAC,UAAU,QAAQ;CAAU;AAE7F,SAAgB,YAAY,EAC1B,WACA,OAAO,cACP,GAAG,SAGF;CACD,MAAM,EAAE,UAAU,OAAO,kBAAkB,UAAU;CACrD,MAAM,CAAC,SAAS,cAAc,SAAS,MAAM;AAE7C,iBAAgB;AACd,aAAW,KAAK;IACf,EAAE,CAAC;CAEN,MAAM,YAAY,GAAG,oDAAoD,UAAU;AAEnF,KAAI,SAAS,cAAc;EACzB,MAAMA,UAAQ,UAAU,gBAAgB;AAExC,SACE,oBAAC;GACC,WAAW;GACX,cAAY;GACZ,eAAe,SAASA,YAAU,UAAU,SAAS,QAAQ;GAC7D,qBAAkB;aAEjB,KAAK,KAAK,CAAC,KAAK,UAAU;AACzB,QAAI,QAAQ,SAAU;AAEtB,WACE,oBAAC;KAEC,MAAK;KACL,WAAW,GAAG,aAAa,EAAE,QAAQA,YAAU,KAAK,CAAC,CAAC;OAFjD,IAGL;KAEJ;IACK;;CAIb,MAAM,QAAQ,UAAU,QAAQ;AAEhC,QACE,oBAAC;EAAI,WAAW;EAAW,qBAAkB;EAAG,GAAI;YACjD,KAAK,KAAK,CAAC,KAAK,UACf,oBAAC;GAEC,cAAY;GACZ,WAAW,GAAG,aAAa,EAAE,QAAQ,UAAU,KAAK,CAAC,CAAC;GACtD,eAAe,SAAS,IAAI;aAE5B,oBAAC;IAAK,WAAU;IAAY,MAAK;KAAiB;KAL7C,IAME,CACT;GACE"}