fumadocs-ui 16.14.0 → 16.14.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.
- package/css/generated/glass.css +1 -1
- package/dist/components/card.js +2 -1
- package/dist/components/dialog/search.js +2 -1
- package/dist/components/dynamic-codeblock.core.js +1 -1
- package/dist/components/sidebar/base.js +2 -1
- package/dist/components/sidebar/link-item.js +2 -1
- package/dist/components/toc/clerk.js +2 -1
- package/dist/components/toc/default.js +2 -1
- package/dist/layouts/docs/index.js +7 -6
- package/dist/layouts/docs/slots/sidebar.js +2 -1
- package/dist/layouts/glass/index.js +2 -1
- package/dist/layouts/glass/slots/sidebar.js +1 -1
- package/dist/layouts/home/slots/header.d.ts +1 -1
- package/dist/layouts/notebook/index.js +7 -6
- package/dist/layouts/notebook/slots/sidebar.js +2 -1
- package/dist/layouts/shared/client.js +2 -1
- package/dist/legacy/sidebar.js +2 -1
- package/dist/style.css +6 -3
- package/package.json +7 -7
package/css/generated/glass.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@source inline("!footer ---spacing --fd-left-width --fd-main-width --fd-right-width --row --width -me-1.5 -mt-1.5 -mx-1 -translate-x-[280px] @default @sm:max-w-[200px] [--fd-left-width:0px] [--fd-main-width:900px] [--fd-right-width:0px] [--row:calc(3*var(--spacing))] [--row:calc(6*var(--spacing))] [grid-area:left-margin/left-margin/right/right] [grid-area:left] [grid-area:main] [grid-area:right] [mask-image:linear-gradient(to_bottom,transparent,white_16px,white_calc(100%-16px),transparent))] [mask-image:radial-gradient(circle_at_center_right,white,white_200px,transparent_500px)] after aiChat article autoScroll available backdrop-blur-sm base baseVariants before bg-fd-muted-foreground/50 bg-fd-popover/80 chat clientX collapse contentProps data-[active=false]:hover:text-fd-accent-foreground data-[state=closed]:animate-fd-sidebar-out data-[state=open]:animate-fd-sidebar-in data-fd-full defaultSlots defaultTabs desktop edit exitTimerRef fd-glass-layout first:mt-0 flex-row-reverse font-semibold footer footerList fumadocs-core/breadcrumb getBreadcrumbItemsFromPath grid-cols-1 gridTemplate gridTemplateRows group-data-[active=true]:bg-fd-primary h-0 h-6 h-8 h-[calc(100dvh---spacing(4))] handles hover hover:decoration-dashed hover:decoration-fd-muted-foreground hover:opacity-80 hover:underline hover:underline-offset-4 inAnimation including information innerWidth inset-e-0 isLayoutTabActive itemTriggerVariants items-start justify-end layout:[--fd-main-width:1200px] leaves left left-margin lg linkItems longer max-md:bg-linear-to-t max-md:bottom-0 max-md:from-fd-background max-md:h-16 max-md:hidden max-md:mt-auto max-md:pb-4 max-md:ps-[calc(--spacing(1.5)-1px)] max-md:w-4 max-w-[calc(100vw-3rem)] max-xl:-translate-y-1/2 max-xl:bg-fd-popover max-xl:border max-xl:end-1 max-xl:fixed max-xl:grid-cols-[calc(240px---spacing(6))] max-xl:mask-none max-xl:max-h-[calc(100dvh---spacing(32))] max-xl:overflow-clip max-xl:p-3 max-xl:ps-[calc(--spacing(2.5)-1px)] max-xl:rounded-xl max-xl:shadow-md max-xl:text-fd-popover-foreground max-xl:top-1/2 max-xl:w-6 max-xl:w-[240px] mb-8 md:bg-linear-to-b md:from-fd-background md:h-12 md:layout:[--fd-left-width:0px] md:layout:[--fd-left-width:280px] md:layout:[--fd-right-width:12px] md:pb-8 md:pt-16 md:pt-2 md:px-2 md:py-1.5 md:top-0 min-h-dvh mobile mt-2 mt-2.5 mt-4 mx-2 my-2 nd-toc nd-toc-title no onPointerDown opacity-100 overflow-x-clip overflow-y-hidden p-0 p-6 pagination pb-16 pb-4 pe-3 pen pointer pointer-events-none prose-sm provided ps-2.5 ps-3 pt-2 pt-4
|
|
1
|
+
@source inline("!footer ---spacing --fd-left-width --fd-main-width --fd-right-width --row --width -me-1.5 -mt-1.5 -mx-1 -translate-x-[280px] @default @sm:max-w-[200px] [--fd-left-width:0px] [--fd-main-width:900px] [--fd-right-width:0px] [--row:calc(3*var(--spacing))] [--row:calc(6*var(--spacing))] [grid-area:left-margin/left-margin/right/right] [grid-area:left] [grid-area:main] [grid-area:right] [mask-image:linear-gradient(to_bottom,transparent,white_16px,white_calc(100%-16px),transparent))] [mask-image:radial-gradient(circle_at_center_right,white,white_200px,transparent_500px)] after aiChat article autoScroll available backdrop-blur-sm base baseVariants before bg-fd-muted-foreground/50 bg-fd-popover/80 chat clientX collapse contentProps data-[active=false]:hover:text-fd-accent-foreground data-[state=closed]:animate-fd-sidebar-out data-[state=open]:animate-fd-sidebar-in data-fd-full defaultSlots defaultTabs desktop edit exitTimerRef fd-glass-layout first:mt-0 flex-row-reverse font-semibold footer footerList fumadocs-core/breadcrumb getBreadcrumbItemsFromPath grid-cols-1 gridTemplate gridTemplateRows group-data-[active=true]:bg-fd-primary h-0 h-6 h-8 h-[calc(100dvh---spacing(4))] handles hover hover:decoration-dashed hover:decoration-fd-muted-foreground hover:opacity-80 hover:underline hover:underline-offset-4 inAnimation including information innerWidth inset-e-0 isLayoutTabActive itemTriggerVariants items-start justify-end layout:[--fd-main-width:1200px] leaves left left-margin leftSpace lg linkItems longer max-md:bg-linear-to-t max-md:bottom-0 max-md:from-fd-background max-md:h-16 max-md:hidden max-md:mt-auto max-md:pb-4 max-md:ps-[calc(--spacing(1.5)-1px)] max-md:w-4 max-w-[calc(100vw-3rem)] max-xl:-translate-y-1/2 max-xl:bg-fd-popover max-xl:border max-xl:end-1 max-xl:fixed max-xl:grid-cols-[calc(240px---spacing(6))] max-xl:mask-none max-xl:max-h-[calc(100dvh---spacing(32))] max-xl:overflow-clip max-xl:p-3 max-xl:ps-[calc(--spacing(2.5)-1px)] max-xl:rounded-xl max-xl:shadow-md max-xl:text-fd-popover-foreground max-xl:top-1/2 max-xl:w-6 max-xl:w-[240px] mb-8 md:bg-linear-to-b md:from-fd-background md:h-12 md:layout:[--fd-left-width:0px] md:layout:[--fd-left-width:280px] md:layout:[--fd-right-width:12px] md:pb-8 md:pt-16 md:pt-2 md:px-2 md:py-1.5 md:top-0 min-h-dvh mobile mt-2 mt-2.5 mt-4 mx-2 my-2 nd-toc nd-toc-title no onPointerDown opacity-100 overflow-x-clip overflow-y-hidden p-0 p-6 pagination pb-16 pb-4 pe-3 pe-3.5 pen pointer pointer-events-none prose-sm provided ps-2.5 ps-3 ps-4.5 pt-2 pt-4 reuse right right-margin rightIcon setDate setInAnimation setMobileOpen shadow-fd-background shouldOpen size-10 size-12 size-3.5! size-4! start text-[1.75em] text-end text-fd-foreground text-fd-primary/80 timeout timezone top-2 transition-[background-color,width,height] transition-[grid-template-rows] transition-[opacity,height] transition-[width,padding] transitionTimerRef typography under unlisted updated useBaseSlots useFooterItems useGlassLayout w-(--width) w-[360px] w-[calc(280px---spacing(2))] we well xl:[@media(hover:none)]:[--row:calc(6*var(--spacing))] xl:[@media(hover:none)]:h-6 xl:[@media(hover:none)]:h-px xl:[@media(hover:none)]:opacity-100 xl:[@media(hover:none)]:pointer-events-auto xl:[@media(hover:none)]:w-(--width) xl:flex-row-reverse xl:h-[calc(100dvh---spacing(10))] xl:hidden xl:items-center xl:items-end xl:layout:[--fd-right-width:240px] xl:pe-4 xl:sticky xl:text-end xl:top-10 z-10 z-20 z-30");
|
package/dist/components/card.js
CHANGED
|
@@ -10,7 +10,8 @@ function Cards(props) {
|
|
|
10
10
|
});
|
|
11
11
|
}
|
|
12
12
|
function Card({ icon, title, description, ...props }) {
|
|
13
|
-
|
|
13
|
+
const E = props.href ? Link : "div";
|
|
14
|
+
return /* @__PURE__ */ jsxs(E, {
|
|
14
15
|
...props,
|
|
15
16
|
"data-card": true,
|
|
16
17
|
className: cn("block rounded-xl border bg-fd-card p-4 text-fd-card-foreground transition-colors @max-lg:col-span-full", props.href && "hover:bg-fd-accent/80", props.className),
|
|
@@ -152,9 +152,10 @@ function SearchDialogInput(props) {
|
|
|
152
152
|
}
|
|
153
153
|
function SearchDialogClose({ children = "ESC", className, ...props }) {
|
|
154
154
|
const { onOpenChange } = useSearch();
|
|
155
|
+
const t = useTranslations({ note: "search dialog" });
|
|
155
156
|
return /* @__PURE__ */ jsx("button", {
|
|
156
157
|
type: "button",
|
|
157
|
-
"aria-label":
|
|
158
|
+
"aria-label": t("Close Search", { note: "aria-label" }),
|
|
158
159
|
onClick: () => onOpenChange(false),
|
|
159
160
|
className: cn(buttonVariants({
|
|
160
161
|
color: "outline",
|
|
@@ -245,9 +245,10 @@ function SidebarTrigger({ children, ...props }) {
|
|
|
245
245
|
}
|
|
246
246
|
function SidebarCollapseTrigger(props) {
|
|
247
247
|
const { collapsed, setCollapsed } = useSidebar();
|
|
248
|
+
const t = useTranslations({ note: "sidebar" });
|
|
248
249
|
return /* @__PURE__ */ jsx("button", {
|
|
249
250
|
type: "button",
|
|
250
|
-
"aria-label":
|
|
251
|
+
"aria-label": t("Collapse Sidebar", { note: "aria-label" }),
|
|
251
252
|
"data-collapsed": collapsed,
|
|
252
253
|
onClick: () => {
|
|
253
254
|
setCollapsed((prev) => !prev);
|
|
@@ -8,7 +8,8 @@ function createLinkItemRenderer({ SidebarFolder, SidebarFolderContent, SidebarFo
|
|
|
8
8
|
* Render sidebar items from page tree
|
|
9
9
|
*/
|
|
10
10
|
return function SidebarLinkItem({ item, ...props }) {
|
|
11
|
-
const
|
|
11
|
+
const pathname = usePathname();
|
|
12
|
+
const active = isLinkItemActive(item, pathname);
|
|
12
13
|
if (item.type === "custom") return /* @__PURE__ */ jsx("div", {
|
|
13
14
|
...props,
|
|
14
15
|
children: item.children
|
|
@@ -104,9 +104,10 @@ function TOCItems({ ref, className, children, ...props }) {
|
|
|
104
104
|
});
|
|
105
105
|
}
|
|
106
106
|
function TOCEmpty() {
|
|
107
|
+
const t = useTranslations({ note: "table of contents" });
|
|
107
108
|
return /* @__PURE__ */ jsx("div", {
|
|
108
109
|
className: "rounded-lg border bg-fd-card p-3 text-xs text-fd-muted-foreground",
|
|
109
|
-
children:
|
|
110
|
+
children: t("No Headings")
|
|
110
111
|
});
|
|
111
112
|
}
|
|
112
113
|
function ThumbTrack({ computed }) {
|
|
@@ -119,9 +119,10 @@ function TOCItems({ ref, className, thumbBox = true, children, ...props }) {
|
|
|
119
119
|
});
|
|
120
120
|
}
|
|
121
121
|
function TOCEmpty() {
|
|
122
|
+
const t = useTranslations({ note: "table of contents" });
|
|
122
123
|
return /* @__PURE__ */ jsx("div", {
|
|
123
124
|
className: "rounded-lg border bg-fd-card p-3 text-xs text-fd-muted-foreground",
|
|
124
|
-
children:
|
|
125
|
+
children: t("No Headings")
|
|
125
126
|
});
|
|
126
127
|
}
|
|
127
128
|
function ThumbTrack({ computed, thumbBox }) {
|
|
@@ -4,14 +4,15 @@ import { jsx } from "react/jsx-runtime";
|
|
|
4
4
|
import { useMemo } from "react";
|
|
5
5
|
//#region src/layouts/docs/index.tsx
|
|
6
6
|
function DocsLayout({ tree, sidebar: { tabs: _tabs, tabMode: _tabMode, ...sidebarProps } = {}, tabs: layoutTabs = _tabs, tabMode = _tabMode, children, ...props }) {
|
|
7
|
+
const tabs = useMemo(() => {
|
|
8
|
+
if (Array.isArray(layoutTabs)) return layoutTabs;
|
|
9
|
+
if (typeof layoutTabs === "object") return getLayoutTabs(tree, layoutTabs);
|
|
10
|
+
if (layoutTabs !== false) return getLayoutTabs(tree);
|
|
11
|
+
return [];
|
|
12
|
+
}, [tree, layoutTabs]);
|
|
7
13
|
return /* @__PURE__ */ jsx(LayoutBody, {
|
|
8
14
|
tree,
|
|
9
|
-
tabs
|
|
10
|
-
if (Array.isArray(layoutTabs)) return layoutTabs;
|
|
11
|
-
if (typeof layoutTabs === "object") return getLayoutTabs(tree, layoutTabs);
|
|
12
|
-
if (layoutTabs !== false) return getLayoutTabs(tree);
|
|
13
|
-
return [];
|
|
14
|
-
}, [tree, layoutTabs]),
|
|
15
|
+
tabs,
|
|
15
16
|
tabMode,
|
|
16
17
|
sidebar: sidebarProps,
|
|
17
18
|
...props,
|
|
@@ -238,8 +238,9 @@ function SidebarFolderLink({ className, style, ...props }) {
|
|
|
238
238
|
});
|
|
239
239
|
}
|
|
240
240
|
function SidebarFolderContent({ className, children, ...props }) {
|
|
241
|
+
const depth = useFolderDepth();
|
|
241
242
|
return /* @__PURE__ */ jsx(SidebarFolderContent$1, {
|
|
242
|
-
className: cn("relative",
|
|
243
|
+
className: cn("relative", depth === 1 && "before:content-[''] before:absolute before:w-px before:inset-y-1 before:bg-fd-border before:inset-s-2.5", className),
|
|
243
244
|
...props,
|
|
244
245
|
children: /* @__PURE__ */ jsx("div", {
|
|
245
246
|
className: "flex flex-col gap-0.5 pt-0.5",
|
|
@@ -36,6 +36,7 @@ function GlassLayout(props) {
|
|
|
36
36
|
use: useSidebar
|
|
37
37
|
}
|
|
38
38
|
};
|
|
39
|
+
const leftSpace = "calc(50% - var(--fd-main-width)/2 - var(--fd-left-width))";
|
|
39
40
|
return /* @__PURE__ */ jsx(LayoutContext, {
|
|
40
41
|
value: {
|
|
41
42
|
props: {
|
|
@@ -53,7 +54,7 @@ function GlassLayout(props) {
|
|
|
53
54
|
children: /* @__PURE__ */ jsxs("div", {
|
|
54
55
|
id: "fd-glass-layout",
|
|
55
56
|
className: "grid overflow-x-clip min-h-dvh [--fd-main-width:900px] [--fd-left-width:0px] [--fd-right-width:0px]",
|
|
56
|
-
style: { gridTemplate: `"left left-margin main right-margin right" 1fr / var(--fd-left-width) calc(50% - var(--fd-main-width)/2 - var(--fd-
|
|
57
|
+
style: { gridTemplate: `"left left-margin main right-margin right" 1fr / var(--fd-left-width) ${leftSpace} 1fr calc(50% - var(--fd-main-width)/2 - var(--fd-right-width) + min(${leftSpace}, 0px)) var(--fd-right-width)` },
|
|
57
58
|
children: [
|
|
58
59
|
/* @__PURE__ */ jsx(slots.sidebar.drawer, {}),
|
|
59
60
|
/* @__PURE__ */ jsx(slots.sidebar.main, {}),
|
|
@@ -110,7 +110,7 @@ function Sidebar({ className, children, ...props }) {
|
|
|
110
110
|
...props,
|
|
111
111
|
children: [
|
|
112
112
|
/* @__PURE__ */ jsxs("div", {
|
|
113
|
-
className: "flex items-start gap-1 pt-4
|
|
113
|
+
className: "flex items-start gap-1 pt-4 ps-4.5 pe-3.5 empty:hidden",
|
|
114
114
|
children: [/* @__PURE__ */ jsx(slots.navTitle, { className: "flex text-sm items-center font-semibold gap-2 me-auto" }), /* @__PURE__ */ jsxs("div", {
|
|
115
115
|
className: "flex -mt-1.5 -me-1.5 empty:hidden",
|
|
116
116
|
children: [menuItems.map((item, i) => item.type === "icon" && /* @__PURE__ */ jsx(SidebarIconLinkItem, { item }, i)), collapsible && /* @__PURE__ */ jsx("button", {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ComponentProps } from "react";
|
|
2
2
|
//#region src/layouts/home/slots/header.d.ts
|
|
3
3
|
declare const navItemVariants: (props?: ({
|
|
4
|
-
variant?: "
|
|
4
|
+
variant?: "button" | "main" | "icon" | null | undefined;
|
|
5
5
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
6
6
|
declare function Header(props: ComponentProps<'header'>): string | number | bigint | true | import("react").JSX.Element | Iterable<import("react").ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<import("react").ReactNode> | null | undefined>;
|
|
7
7
|
//#endregion
|
|
@@ -4,14 +4,15 @@ import { jsx } from "react/jsx-runtime";
|
|
|
4
4
|
import { useMemo } from "react";
|
|
5
5
|
//#region src/layouts/notebook/index.tsx
|
|
6
6
|
function DocsLayout({ tree, tabMode = "sidebar", sidebar: { tabs: defaultTabs, ...sidebarProps } = {}, children, tabs = defaultTabs, ...props }) {
|
|
7
|
+
const resolvedTabs = useMemo(() => {
|
|
8
|
+
if (Array.isArray(tabs)) return tabs;
|
|
9
|
+
if (typeof tabs === "object") return getLayoutTabs(tree, tabs);
|
|
10
|
+
if (tabs !== false) return getLayoutTabs(tree);
|
|
11
|
+
return [];
|
|
12
|
+
}, [tabs, tree]);
|
|
7
13
|
return /* @__PURE__ */ jsx(LayoutBody, {
|
|
8
14
|
tree,
|
|
9
|
-
tabs:
|
|
10
|
-
if (Array.isArray(tabs)) return tabs;
|
|
11
|
-
if (typeof tabs === "object") return getLayoutTabs(tree, tabs);
|
|
12
|
-
if (tabs !== false) return getLayoutTabs(tree);
|
|
13
|
-
return [];
|
|
14
|
-
}, [tabs, tree]),
|
|
15
|
+
tabs: resolvedTabs,
|
|
15
16
|
tabMode,
|
|
16
17
|
sidebar: sidebarProps,
|
|
17
18
|
...props,
|
|
@@ -123,8 +123,9 @@ function SidebarFolderLink({ className, style, ...props }) {
|
|
|
123
123
|
});
|
|
124
124
|
}
|
|
125
125
|
function SidebarFolderContent({ className, children, ...props }) {
|
|
126
|
+
const depth = useFolderDepth();
|
|
126
127
|
return /* @__PURE__ */ jsx(SidebarFolderContent$1, {
|
|
127
|
-
className: cn("relative",
|
|
128
|
+
className: cn("relative", depth === 1 && "before:content-[''] before:absolute before:w-px before:inset-y-1 before:bg-fd-border before:inset-s-2.5", className),
|
|
128
129
|
...props,
|
|
129
130
|
children: /* @__PURE__ */ jsx("div", {
|
|
130
131
|
className: "flex flex-col gap-0.5 pt-0.5",
|
|
@@ -9,7 +9,8 @@ import { usePathname } from "fumadocs-core/framework";
|
|
|
9
9
|
import { jsx } from "react/jsx-runtime";
|
|
10
10
|
//#region src/layouts/shared/client.tsx
|
|
11
11
|
function LinkItem({ ref, item, ...props }) {
|
|
12
|
-
const
|
|
12
|
+
const pathname = usePathname();
|
|
13
|
+
const active = isLinkItemActive(item, pathname);
|
|
13
14
|
return /* @__PURE__ */ jsx(Link, {
|
|
14
15
|
ref,
|
|
15
16
|
href: item.url,
|
package/dist/legacy/sidebar.js
CHANGED
|
@@ -14,7 +14,8 @@ function SidebarProvider({ children }) {
|
|
|
14
14
|
const [open, setOpen] = useState(false);
|
|
15
15
|
const [collapsed, setCollapsed] = useState(false);
|
|
16
16
|
const closeOnRedirect = useRef(true);
|
|
17
|
-
|
|
17
|
+
const pathname = usePathname();
|
|
18
|
+
useOnChange(pathname, () => {
|
|
18
19
|
if (closeOnRedirect.current) setOpen(false);
|
|
19
20
|
else closeOnRedirect.current = true;
|
|
20
21
|
});
|
package/dist/style.css
CHANGED
|
@@ -1648,9 +1648,6 @@
|
|
|
1648
1648
|
.px-3 {
|
|
1649
1649
|
padding-inline: calc(var(--spacing) * 3);
|
|
1650
1650
|
}
|
|
1651
|
-
.px-3\.5 {
|
|
1652
|
-
padding-inline: calc(var(--spacing) * 3.5);
|
|
1653
|
-
}
|
|
1654
1651
|
.px-4 {
|
|
1655
1652
|
padding-inline: calc(var(--spacing) * 4);
|
|
1656
1653
|
}
|
|
@@ -1714,6 +1711,9 @@
|
|
|
1714
1711
|
.ps-4 {
|
|
1715
1712
|
padding-inline-start: calc(var(--spacing) * 4);
|
|
1716
1713
|
}
|
|
1714
|
+
.ps-4\.5 {
|
|
1715
|
+
padding-inline-start: calc(var(--spacing) * 4.5);
|
|
1716
|
+
}
|
|
1717
1717
|
.ps-8 {
|
|
1718
1718
|
padding-inline-start: calc(var(--spacing) * 8);
|
|
1719
1719
|
}
|
|
@@ -1729,6 +1729,9 @@
|
|
|
1729
1729
|
.pe-3 {
|
|
1730
1730
|
padding-inline-end: calc(var(--spacing) * 3);
|
|
1731
1731
|
}
|
|
1732
|
+
.pe-3\.5 {
|
|
1733
|
+
padding-inline-end: calc(var(--spacing) * 3.5);
|
|
1734
|
+
}
|
|
1732
1735
|
.pe-4 {
|
|
1733
1736
|
padding-inline-end: calc(var(--spacing) * 4);
|
|
1734
1737
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fumadocs-ui",
|
|
3
|
-
"version": "16.14.
|
|
3
|
+
"version": "16.14.2",
|
|
4
4
|
"description": "The Radix UI version of Fumadocs UI",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Docs",
|
|
@@ -147,13 +147,13 @@
|
|
|
147
147
|
"@radix-ui/react-tabs": "^1.1.21",
|
|
148
148
|
"class-variance-authority": "^0.7.1",
|
|
149
149
|
"cnfast": "^0.1.0",
|
|
150
|
-
"lucide-react": "^1.
|
|
150
|
+
"lucide-react": "^1.28.0",
|
|
151
151
|
"motion": "^12.43.0",
|
|
152
152
|
"next-themes": "^0.4.6",
|
|
153
153
|
"react-remove-scroll": "^2.7.2",
|
|
154
154
|
"rehype-raw": "^7.0.0",
|
|
155
155
|
"scroll-into-view-if-needed": "^3.1.0",
|
|
156
|
-
"shiki": "^4.
|
|
156
|
+
"shiki": "^4.4.1",
|
|
157
157
|
"unist-util-visit": "^5.1.0",
|
|
158
158
|
"@fumadocs/tailwind": "0.1.1"
|
|
159
159
|
},
|
|
@@ -164,8 +164,8 @@
|
|
|
164
164
|
"@types/hast": "^3.0.5",
|
|
165
165
|
"@types/mdx": "^2.0.14",
|
|
166
166
|
"@types/node": "^26.1.2",
|
|
167
|
-
"@types/react": "^19.2.
|
|
168
|
-
"@types/react-dom": "^19.2.
|
|
167
|
+
"@types/react": "^19.2.18",
|
|
168
|
+
"@types/react-dom": "^19.2.4",
|
|
169
169
|
"fuma-cli": "^0.1.1",
|
|
170
170
|
"react-medium-image-zoom": "^5.4.8",
|
|
171
171
|
"tailwindcss": "^4.3.3",
|
|
@@ -173,7 +173,7 @@
|
|
|
173
173
|
"unified": "^11.0.5",
|
|
174
174
|
"@fumadocs/cli": "1.4.1",
|
|
175
175
|
"tsconfig": "0.0.0",
|
|
176
|
-
"fumadocs-core": "16.14.
|
|
176
|
+
"fumadocs-core": "16.14.2"
|
|
177
177
|
},
|
|
178
178
|
"peerDependencies": {
|
|
179
179
|
"@types/mdx": "*",
|
|
@@ -182,7 +182,7 @@
|
|
|
182
182
|
"react": "^19.2.0",
|
|
183
183
|
"react-dom": "^19.2.0",
|
|
184
184
|
"takumi-js": "*",
|
|
185
|
-
"fumadocs-core": "16.14.
|
|
185
|
+
"fumadocs-core": "16.14.2"
|
|
186
186
|
},
|
|
187
187
|
"peerDependenciesMeta": {
|
|
188
188
|
"next": {
|