fumadocs-ui 12.3.5 → 12.4.0

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 (35) hide show
  1. package/dist/{chunk-3WVIP3N5.js → chunk-6JD7NGHG.js} +1 -1
  2. package/dist/{chunk-U2R7CI27.js → chunk-BZ53GHJX.js} +1 -1
  3. package/dist/{chunk-AN2Y6MA2.js → chunk-IIDV3RNQ.js} +5 -1
  4. package/dist/{chunk-Q3FSJZ3E.js → chunk-KH555T4I.js} +1 -1
  5. package/dist/{chunk-FOIG7ZU7.js → chunk-NZA3MCPM.js} +61 -62
  6. package/dist/{chunk-34Z7WODD.js → chunk-R3M2OC5U.js} +1 -1
  7. package/dist/{chunk-CPOVVDVF.js → chunk-VUIQ7ZYI.js} +16 -1
  8. package/dist/components/accordion.js +2 -2
  9. package/dist/components/api.js +2 -2
  10. package/dist/components/banner.js +1 -1
  11. package/dist/components/callout.d.ts +1 -1
  12. package/dist/components/codeblock.js +2 -2
  13. package/dist/components/dialog/search-algolia.js +2 -2
  14. package/dist/components/dialog/search-default.js +2 -2
  15. package/dist/components/dialog/search.js +2 -2
  16. package/dist/components/image-zoom.js +1 -1
  17. package/dist/components/layout/language-toggle.js +1 -1
  18. package/dist/components/layout/root-toggle.js +1 -1
  19. package/dist/components/roll-button.js +4 -4
  20. package/dist/docs.client.d.ts +3 -9
  21. package/dist/docs.client.js +6 -17
  22. package/dist/{layout-k6u62Bk9.d.ts → layout-ZAteQVYk.d.ts} +67 -42
  23. package/dist/layout.client.d.ts +1 -1
  24. package/dist/layout.client.js +19 -14
  25. package/dist/layout.d.ts +1 -1
  26. package/dist/layout.js +17 -2
  27. package/dist/mdx.client.js +2 -2
  28. package/dist/mdx.js +1 -1
  29. package/dist/page.client.js +14 -16
  30. package/dist/page.js +1 -1
  31. package/dist/provider.js +2 -2
  32. package/dist/style.css +1 -1
  33. package/dist/tailwind-plugin.cjs +1 -1
  34. package/dist/tailwind-plugin.js +1 -1
  35. package/package.json +4 -4
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-2KMKNVSN.js";
4
4
  import {
5
5
  buttonVariants
6
- } from "./chunk-CPOVVDVF.js";
6
+ } from "./chunk-VUIQ7ZYI.js";
7
7
  import {
8
8
  twMerge
9
9
  } from "./chunk-TK3TM3MR.js";
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-HLGNIWUN.js";
10
10
  import {
11
11
  buttonVariants
12
- } from "./chunk-CPOVVDVF.js";
12
+ } from "./chunk-VUIQ7ZYI.js";
13
13
  import {
14
14
  twMerge
15
15
  } from "./chunk-TK3TM3MR.js";
@@ -18,10 +18,14 @@ function hasActive(items, url) {
18
18
  return false;
19
19
  });
20
20
  }
21
+ function isSecondary(item) {
22
+ return "secondary" in item && item.secondary === true || item.type === "secondary" || item.type === "icon";
23
+ }
21
24
 
22
25
  export {
23
26
  defaultImageSizes,
24
27
  isActive,
25
28
  replaceOrDefault,
26
- hasActive
29
+ hasActive,
30
+ isSecondary
27
31
  };
@@ -8,7 +8,7 @@ import {
8
8
  } from "./chunk-2KMKNVSN.js";
9
9
  import {
10
10
  buttonVariants
11
- } from "./chunk-CPOVVDVF.js";
11
+ } from "./chunk-VUIQ7ZYI.js";
12
12
  import {
13
13
  twMerge
14
14
  } from "./chunk-TK3TM3MR.js";
@@ -5,7 +5,7 @@ import {
5
5
  } from "./chunk-GHKJ6EFT.js";
6
6
  import {
7
7
  isActive
8
- } from "./chunk-AN2Y6MA2.js";
8
+ } from "./chunk-IIDV3RNQ.js";
9
9
  import {
10
10
  useSearchContext
11
11
  } from "./chunk-ET4TW6M5.js";
@@ -18,8 +18,9 @@ import {
18
18
  CollapsibleTrigger
19
19
  } from "./chunk-7XPZOMJ2.js";
20
20
  import {
21
- buttonVariants
22
- } from "./chunk-CPOVVDVF.js";
21
+ buttonVariants,
22
+ itemVariants
23
+ } from "./chunk-VUIQ7ZYI.js";
23
24
  import {
24
25
  twMerge
25
26
  } from "./chunk-TK3TM3MR.js";
@@ -117,14 +118,15 @@ import Link2 from "fumadocs-core/link";
117
118
  import { ChevronDown } from "lucide-react";
118
119
  import { usePathname } from "next/navigation";
119
120
  import { cva } from "class-variance-authority";
120
- import { Fragment, jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
121
+ import { useEffect as useEffect2, useState as useState2 } from "react";
122
+ import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
121
123
  var linkItemVariants = cva(
122
- "inline-flex items-center gap-1.5 rounded-lg p-2 text-muted-foreground transition-colors data-[state=open]:bg-accent [&_svg]:size-4",
124
+ "-m-2 inline-flex items-center gap-1 p-2 text-muted-foreground transition-colors [&_svg]:size-4",
123
125
  {
124
126
  variants: {
125
127
  active: {
126
- true: "bg-accent text-accent-foreground",
127
- false: "hover:bg-accent hover:transition-none"
128
+ true: "text-primary",
129
+ false: "hover:text-accent-foreground"
128
130
  }
129
131
  },
130
132
  defaultVariants: {
@@ -139,51 +141,65 @@ function LinkItem({
139
141
  ...props
140
142
  }) {
141
143
  const pathname = usePathname();
142
- if (item.type === "custom") {
143
- const itemOn = item.on ?? "all";
144
- if (itemOn === "all" || itemOn === on) return item.children;
145
- return /* @__PURE__ */ jsx3(Fragment, {});
146
- }
144
+ if (item.on && item.on !== "all" && item.on !== on) return null;
145
+ if (item.type === "custom") return item.children;
147
146
  if (item.type === "menu" && on === "nav") {
148
- return /* @__PURE__ */ jsxs2(Popover, { children: [
149
- /* @__PURE__ */ jsxs2(
150
- PopoverTrigger,
151
- {
152
- className: twMerge(linkItemVariants({ className })),
153
- ...props,
154
- children: [
155
- item.text,
156
- /* @__PURE__ */ jsx3(ChevronDown, { className: "ms-auto size-4" })
157
- ]
158
- }
159
- ),
160
- /* @__PURE__ */ jsx3(PopoverContent, { className: "flex flex-col", children: item.items.map((child, i) => /* @__PURE__ */ jsx3(LinkItem, { item: child, on: "menu" }, i)) })
161
- ] });
147
+ return /* @__PURE__ */ jsxs2(
148
+ LinksMenu,
149
+ {
150
+ items: item.items,
151
+ className: twMerge(linkItemVariants({ className })),
152
+ ...props,
153
+ children: [
154
+ item.icon,
155
+ item.text,
156
+ /* @__PURE__ */ jsx3(ChevronDown, { className: "ms-auto !size-3.5" })
157
+ ]
158
+ }
159
+ );
162
160
  }
163
161
  if (item.type === "menu") {
164
162
  return /* @__PURE__ */ jsxs2(Collapsible, { className: "flex flex-col", children: [
165
163
  /* @__PURE__ */ jsxs2(
166
164
  CollapsibleTrigger,
167
165
  {
168
- className: twMerge(linkItemVariants({ className }), "group/link"),
166
+ className: twMerge(itemVariants({ className }), "group/link"),
169
167
  ...props,
170
168
  children: [
171
169
  item.icon,
172
170
  item.text,
173
- /* @__PURE__ */ jsx3(ChevronDown, { className: "ms-auto size-4 group-data-[state=closed]/link:-rotate-90" })
171
+ /* @__PURE__ */ jsx3(ChevronDown, { className: "ms-auto transition-transform group-data-[state=closed]/link:-rotate-90" })
174
172
  ]
175
173
  }
176
174
  ),
177
- /* @__PURE__ */ jsx3(CollapsibleContent, { children: /* @__PURE__ */ jsx3("div", { className: "flex flex-col py-1 ps-4", children: item.items.map((child, i) => /* @__PURE__ */ jsx3(LinkItem, { item: child, on: "menu" }, i)) }) })
175
+ /* @__PURE__ */ jsx3(CollapsibleContent, { children: /* @__PURE__ */ jsx3("div", { className: "ms-2 flex flex-col border-s py-2 ps-2", children: item.items.map((child, i) => /* @__PURE__ */ jsx3(LinkItem, { item: child, on: "menu" }, i)) }) })
178
176
  ] });
179
177
  }
178
+ if (item.type === "button") {
179
+ return /* @__PURE__ */ jsxs2(
180
+ Link2,
181
+ {
182
+ href: item.url,
183
+ external: item.external,
184
+ className: twMerge(
185
+ buttonVariants({ color: "secondary" }),
186
+ "gap-1.5 [&_svg]:size-4",
187
+ className
188
+ ),
189
+ children: [
190
+ item.icon,
191
+ item.text
192
+ ]
193
+ }
194
+ );
195
+ }
180
196
  const activeType = item.active ?? "url";
181
- const active = activeType !== "none" ? isActive(item.url, pathname, activeType === "nested-url") : false;
182
- if (item.type === "secondary" && on === "nav") {
197
+ const active = activeType !== "none" && isActive(item.url, pathname, activeType === "nested-url");
198
+ if ((item.type === "secondary" || item.type === "icon") && on === "nav") {
183
199
  return /* @__PURE__ */ jsx3(
184
200
  Link2,
185
201
  {
186
- "aria-label": item.text,
202
+ "aria-label": item.label,
187
203
  href: item.url,
188
204
  external: item.external,
189
205
  className: twMerge(
@@ -204,10 +220,10 @@ function LinkItem({
204
220
  href: item.url,
205
221
  external: item.external,
206
222
  className: twMerge(
207
- linkItemVariants({
208
- active,
209
- className
210
- })
223
+ on === "nav" ? linkItemVariants({
224
+ active
225
+ }) : itemVariants({ active }),
226
+ className
211
227
  ),
212
228
  ...props,
213
229
  children: [
@@ -217,37 +233,20 @@ function LinkItem({
217
233
  }
218
234
  );
219
235
  }
220
-
221
- // src/components/layout/links-menu.tsx
222
- import { useEffect as useEffect2, useState as useState2 } from "react";
223
- import { usePathname as usePathname2 } from "next/navigation";
224
- import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
225
236
  function LinksMenu({
226
237
  items,
227
238
  footer,
228
239
  ...props
229
240
  }) {
230
241
  const [open, setOpen] = useState2(false);
231
- const pathname = usePathname2();
242
+ const pathname = usePathname();
232
243
  useEffect2(() => {
233
244
  setOpen(false);
234
245
  }, [pathname]);
235
- return /* @__PURE__ */ jsxs3(Popover, { open, onOpenChange: setOpen, children: [
236
- /* @__PURE__ */ jsx4(
237
- PopoverTrigger,
238
- {
239
- ...props,
240
- className: twMerge(
241
- buttonVariants({
242
- size: "icon",
243
- color: "ghost",
244
- className: props.className
245
- })
246
- )
247
- }
248
- ),
249
- /* @__PURE__ */ jsxs3(PopoverContent, { className: "flex flex-col", children: [
250
- items.map((item, i) => /* @__PURE__ */ jsx4(LinkItem, { item, on: "menu" }, i)),
246
+ return /* @__PURE__ */ jsxs2(Popover, { open, onOpenChange: setOpen, children: [
247
+ /* @__PURE__ */ jsx3(PopoverTrigger, { ...props }),
248
+ /* @__PURE__ */ jsxs2(PopoverContent, { className: "flex flex-col", children: [
249
+ items.map((item, i) => /* @__PURE__ */ jsx3(LinkItem, { item, on: "menu" }, i)),
251
250
  footer
252
251
  ] })
253
252
  ] });
@@ -258,7 +257,7 @@ import { cva as cva2 } from "class-variance-authority";
258
257
  import { Moon, Sun } from "lucide-react";
259
258
  import { useTheme } from "next-themes";
260
259
  import { useCallback as useCallback2 } from "react";
261
- import { jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
260
+ import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
262
261
  var buttonVariants2 = cva2("size-7 rounded-full p-1.5 text-muted-foreground", {
263
262
  variants: {
264
263
  dark: {
@@ -275,7 +274,7 @@ function ThemeToggle({
275
274
  const onToggle = useCallback2(() => {
276
275
  setTheme(resolvedTheme === "dark" ? "light" : "dark");
277
276
  }, [setTheme, resolvedTheme]);
278
- return /* @__PURE__ */ jsxs4(
277
+ return /* @__PURE__ */ jsxs3(
279
278
  "button",
280
279
  {
281
280
  type: "button",
@@ -287,8 +286,8 @@ function ThemeToggle({
287
286
  onClick: onToggle,
288
287
  ...props,
289
288
  children: [
290
- /* @__PURE__ */ jsx5(Sun, { className: twMerge(buttonVariants2({ dark: false })) }),
291
- /* @__PURE__ */ jsx5(Moon, { className: twMerge(buttonVariants2({ dark: true })) })
289
+ /* @__PURE__ */ jsx4(Sun, { className: twMerge(buttonVariants2({ dark: false })) }),
290
+ /* @__PURE__ */ jsx4(Moon, { className: twMerge(buttonVariants2({ dark: true })) })
292
291
  ]
293
292
  }
294
293
  );
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  hasActive
3
- } from "./chunk-AN2Y6MA2.js";
3
+ } from "./chunk-IIDV3RNQ.js";
4
4
 
5
5
  // src/contexts/tree.tsx
6
6
  import { usePathname } from "next/navigation";
@@ -15,7 +15,22 @@ var buttonVariants = cva(
15
15
  }
16
16
  }
17
17
  );
18
+ var itemVariants = cva(
19
+ "flex w-full flex-row items-center gap-2 rounded-md px-2 py-1.5 text-muted-foreground transition-colors duration-100 [&_svg]:size-4",
20
+ {
21
+ variants: {
22
+ active: {
23
+ true: "bg-primary/10 font-medium text-primary",
24
+ false: "hover:bg-accent/50 hover:text-accent-foreground/80 hover:transition-none"
25
+ }
26
+ },
27
+ defaultVariants: {
28
+ active: false
29
+ }
30
+ }
31
+ );
18
32
 
19
33
  export {
20
- buttonVariants
34
+ buttonVariants,
35
+ itemVariants
21
36
  };
@@ -2,9 +2,9 @@
2
2
  import {
3
3
  Accordion,
4
4
  Accordions
5
- } from "../chunk-3WVIP3N5.js";
5
+ } from "../chunk-6JD7NGHG.js";
6
6
  import "../chunk-2KMKNVSN.js";
7
- import "../chunk-CPOVVDVF.js";
7
+ import "../chunk-VUIQ7ZYI.js";
8
8
  import "../chunk-TK3TM3MR.js";
9
9
  import "../chunk-MLKGABMK.js";
10
10
  export {
@@ -2,13 +2,13 @@
2
2
  import {
3
3
  Accordion,
4
4
  Accordions
5
- } from "../chunk-3WVIP3N5.js";
5
+ } from "../chunk-6JD7NGHG.js";
6
6
  import "../chunk-2KMKNVSN.js";
7
7
  import {
8
8
  Tab,
9
9
  Tabs
10
10
  } from "../chunk-NUPTR2L5.js";
11
- import "../chunk-CPOVVDVF.js";
11
+ import "../chunk-VUIQ7ZYI.js";
12
12
  import {
13
13
  twMerge
14
14
  } from "../chunk-TK3TM3MR.js";
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import {
3
3
  buttonVariants
4
- } from "../chunk-CPOVVDVF.js";
4
+ } from "../chunk-VUIQ7ZYI.js";
5
5
  import {
6
6
  twMerge
7
7
  } from "../chunk-TK3TM3MR.js";
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { HTMLAttributes, ReactNode } from 'react';
3
3
 
4
- declare const Callout: React.ForwardRefExoticComponent<Omit<HTMLAttributes<HTMLDivElement>, "title" | "type" | "icon"> & {
4
+ declare const Callout: React.ForwardRefExoticComponent<Omit<HTMLAttributes<HTMLDivElement>, "title" | "icon" | "type"> & {
5
5
  title?: ReactNode;
6
6
  /**
7
7
  * @defaultValue info
@@ -2,10 +2,10 @@
2
2
  import {
3
3
  CodeBlock,
4
4
  Pre
5
- } from "../chunk-Q3FSJZ3E.js";
5
+ } from "../chunk-KH555T4I.js";
6
6
  import "../chunk-VYTHQTZE.js";
7
7
  import "../chunk-2KMKNVSN.js";
8
- import "../chunk-CPOVVDVF.js";
8
+ import "../chunk-VUIQ7ZYI.js";
9
9
  import "../chunk-TK3TM3MR.js";
10
10
  import "../chunk-MLKGABMK.js";
11
11
  export {
@@ -1,11 +1,11 @@
1
1
  "use client";
2
2
  import {
3
3
  SearchDialog
4
- } from "../../chunk-U2R7CI27.js";
4
+ } from "../../chunk-BZ53GHJX.js";
5
5
  import "../../chunk-3F57TIUQ.js";
6
6
  import "../../chunk-ET4TW6M5.js";
7
7
  import "../../chunk-HLGNIWUN.js";
8
- import "../../chunk-CPOVVDVF.js";
8
+ import "../../chunk-VUIQ7ZYI.js";
9
9
  import "../../chunk-TK3TM3MR.js";
10
10
  import "../../chunk-MLKGABMK.js";
11
11
 
@@ -1,13 +1,13 @@
1
1
  "use client";
2
2
  import {
3
3
  SearchDialog
4
- } from "../../chunk-U2R7CI27.js";
4
+ } from "../../chunk-BZ53GHJX.js";
5
5
  import "../../chunk-3F57TIUQ.js";
6
6
  import "../../chunk-ET4TW6M5.js";
7
7
  import {
8
8
  useI18n
9
9
  } from "../../chunk-HLGNIWUN.js";
10
- import "../../chunk-CPOVVDVF.js";
10
+ import "../../chunk-VUIQ7ZYI.js";
11
11
  import "../../chunk-TK3TM3MR.js";
12
12
  import "../../chunk-MLKGABMK.js";
13
13
 
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  SearchDialog
3
- } from "../../chunk-U2R7CI27.js";
3
+ } from "../../chunk-BZ53GHJX.js";
4
4
  import "../../chunk-3F57TIUQ.js";
5
5
  import "../../chunk-ET4TW6M5.js";
6
6
  import "../../chunk-HLGNIWUN.js";
7
- import "../../chunk-CPOVVDVF.js";
7
+ import "../../chunk-VUIQ7ZYI.js";
8
8
  import "../../chunk-TK3TM3MR.js";
9
9
  import "../../chunk-MLKGABMK.js";
10
10
  export {
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import {
3
3
  defaultImageSizes
4
- } from "../chunk-AN2Y6MA2.js";
4
+ } from "../chunk-IIDV3RNQ.js";
5
5
  import "../chunk-MLKGABMK.js";
6
6
 
7
7
  // src/components/image-zoom.tsx
@@ -9,7 +9,7 @@ import {
9
9
  } from "../../chunk-HLGNIWUN.js";
10
10
  import {
11
11
  buttonVariants
12
- } from "../../chunk-CPOVVDVF.js";
12
+ } from "../../chunk-VUIQ7ZYI.js";
13
13
  import {
14
14
  twMerge
15
15
  } from "../../chunk-TK3TM3MR.js";
@@ -6,7 +6,7 @@ import {
6
6
  } from "../../chunk-GHKJ6EFT.js";
7
7
  import {
8
8
  isActive
9
- } from "../../chunk-AN2Y6MA2.js";
9
+ } from "../../chunk-IIDV3RNQ.js";
10
10
  import {
11
11
  twMerge
12
12
  } from "../../chunk-TK3TM3MR.js";
@@ -1,11 +1,11 @@
1
1
  "use client";
2
2
  import {
3
3
  useTreeContext
4
- } from "../chunk-34Z7WODD.js";
5
- import "../chunk-AN2Y6MA2.js";
4
+ } from "../chunk-R3M2OC5U.js";
5
+ import "../chunk-IIDV3RNQ.js";
6
6
  import {
7
7
  buttonVariants
8
- } from "../chunk-CPOVVDVF.js";
8
+ } from "../chunk-VUIQ7ZYI.js";
9
9
  import {
10
10
  twMerge
11
11
  } from "../chunk-TK3TM3MR.js";
@@ -47,7 +47,7 @@ function RollButton({
47
47
  className: twMerge(
48
48
  buttonVariants({
49
49
  color: "secondary",
50
- className: "fixed top-[108px] [&_svg]:size-4 gap-1 left-1/2 translate-x-[-50%] z-10 shadow-md rounded-full transition-all md:top-4"
50
+ className: "fixed top-[72px] [&_svg]:size-4 gap-1 left-1/2 translate-x-[-50%] z-10 shadow-md rounded-full transition-all md:top-12 lg:top-4"
51
51
  }),
52
52
  !show && "pointer-events-none translate-y-20 opacity-0"
53
53
  ),
@@ -1,19 +1,13 @@
1
- import { L as LinkItemType, S as SidebarProps, a as SharedNavProps } from './layout-k6u62Bk9.js';
2
- export { b as Sidebar } from './layout-k6u62Bk9.js';
1
+ import { S as SidebarProps, a as SharedNavProps } from './layout-ZAteQVYk.js';
2
+ export { L as LinksMenu, b as Sidebar } from './layout-ZAteQVYk.js';
3
3
  export { T as TreeContextProvider } from './tree-CrKzI9Nz.js';
4
4
  import { ButtonHTMLAttributes } from 'react';
5
5
  import 'fumadocs-core/server';
6
6
 
7
- interface LinksMenuProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
8
- items: LinkItemType[];
9
- footer?: React.ReactNode;
10
- }
11
- declare function LinksMenu({ items, footer, ...props }: LinksMenuProps): React.ReactElement;
12
-
13
7
  declare function DynamicSidebar(props: SidebarProps): React.ReactElement;
14
8
 
15
9
  declare function ThemeToggle({ className, ...props }: ButtonHTMLAttributes<HTMLButtonElement>): React.ReactElement;
16
10
 
17
11
  declare function SubNav({ title, url, transparentMode, children, enableSearch, }: SharedNavProps): React.ReactElement;
18
12
 
19
- export { DynamicSidebar, LinksMenu, SubNav, ThemeToggle };
13
+ export { DynamicSidebar, SubNav, ThemeToggle };
@@ -7,7 +7,7 @@ import {
7
7
  SearchToggle,
8
8
  ThemeToggle,
9
9
  Title
10
- } from "./chunk-FOIG7ZU7.js";
10
+ } from "./chunk-NZA3MCPM.js";
11
11
  import {
12
12
  ScrollArea,
13
13
  ScrollViewport
@@ -16,11 +16,11 @@ import "./chunk-GHKJ6EFT.js";
16
16
  import {
17
17
  TreeContextProvider,
18
18
  useTreeContext
19
- } from "./chunk-34Z7WODD.js";
19
+ } from "./chunk-R3M2OC5U.js";
20
20
  import {
21
21
  hasActive,
22
22
  isActive
23
- } from "./chunk-AN2Y6MA2.js";
23
+ } from "./chunk-IIDV3RNQ.js";
24
24
  import {
25
25
  useSidebar
26
26
  } from "./chunk-3F57TIUQ.js";
@@ -34,8 +34,9 @@ import {
34
34
  CollapsibleTrigger
35
35
  } from "./chunk-7XPZOMJ2.js";
36
36
  import {
37
- buttonVariants
38
- } from "./chunk-CPOVVDVF.js";
37
+ buttonVariants,
38
+ itemVariants
39
+ } from "./chunk-VUIQ7ZYI.js";
39
40
  import {
40
41
  twMerge
41
42
  } from "./chunk-TK3TM3MR.js";
@@ -46,7 +47,6 @@ import { SidebarTrigger } from "fumadocs-core/sidebar";
46
47
  import { Menu, X } from "lucide-react";
47
48
 
48
49
  // src/components/layout/sidebar.tsx
49
- import { cva } from "class-variance-authority";
50
50
  import { ChevronDown, ExternalLinkIcon } from "lucide-react";
51
51
  import * as Base from "fumadocs-core/sidebar";
52
52
  import { usePathname } from "next/navigation";
@@ -60,17 +60,6 @@ import {
60
60
  } from "react";
61
61
  import Link from "fumadocs-core/link";
62
62
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
63
- var itemVariants = cva(
64
- "flex w-full flex-row items-center gap-2 rounded-md px-2 py-1.5 text-muted-foreground transition-colors duration-100 [&_svg]:size-4",
65
- {
66
- variants: {
67
- active: {
68
- true: "bg-primary/10 font-medium text-primary",
69
- false: "hover:bg-accent/50 hover:text-accent-foreground/80 hover:transition-none"
70
- }
71
- }
72
- }
73
- );
74
63
  var defaultComponents = {
75
64
  Folder: FolderNode,
76
65
  Separator: SeparatorNode,