fumadocs-ui 15.3.3 → 15.3.4
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/preset.css +19 -0
- package/css/vitepress.css +1 -4
- package/dist/components/layout/root-toggle.js +1 -1
- package/dist/components/layout/search-toggle.js +2 -2
- package/dist/components/layout/sidebar.d.ts.map +1 -1
- package/dist/components/layout/sidebar.js +22 -18
- package/dist/components/tabs.d.ts.map +1 -1
- package/dist/components/tabs.js +1 -1
- package/dist/components/ui/hide-if-empty.d.ts.map +1 -1
- package/dist/components/ui/hide-if-empty.js +18 -18
- package/dist/layouts/docs-client.js +1 -1
- package/dist/layouts/docs.d.ts.map +1 -1
- package/dist/layouts/docs.js +6 -6
- package/dist/layouts/home.js +1 -1
- package/dist/layouts/notebook-client.js +1 -1
- package/dist/layouts/notebook.d.ts.map +1 -1
- package/dist/layouts/notebook.js +9 -9
- package/dist/style.css +94 -54
- package/package.json +4 -4
package/css/preset.css
CHANGED
|
@@ -40,6 +40,9 @@
|
|
|
40
40
|
--animate-fd-enterFromLeft: fd-enterFromLeft 250ms ease;
|
|
41
41
|
--animate-fd-enterFromRight: fd-enterFromRight 250ms ease;
|
|
42
42
|
|
|
43
|
+
--animate-fd-sidebar-in: fd-sidebar-in 250ms ease;
|
|
44
|
+
--animate-fd-sidebar-out: fd-sidebar-out 250ms ease;
|
|
45
|
+
|
|
43
46
|
--animate-fd-exitToLeft: fd-exitToLeft 250ms ease;
|
|
44
47
|
--animate-fd-exitToRight: fd-exitToRight 250ms ease;
|
|
45
48
|
|
|
@@ -187,6 +190,18 @@
|
|
|
187
190
|
}
|
|
188
191
|
}
|
|
189
192
|
|
|
193
|
+
@keyframes fd-sidebar-in {
|
|
194
|
+
from {
|
|
195
|
+
transform: translateX(-100%);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
@keyframes fd-sidebar-out {
|
|
200
|
+
to {
|
|
201
|
+
transform: translateX(-100%);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
|
|
190
205
|
@keyframes fd-nav-menu-in {
|
|
191
206
|
from {
|
|
192
207
|
opacity: 0;
|
|
@@ -243,6 +258,10 @@
|
|
|
243
258
|
&::-webkit-scrollbar-track {
|
|
244
259
|
background: transparent;
|
|
245
260
|
}
|
|
261
|
+
|
|
262
|
+
&::-webkit-scrollbar-corner {
|
|
263
|
+
display: none;
|
|
264
|
+
}
|
|
246
265
|
}
|
|
247
266
|
|
|
248
267
|
@utility fd-steps {
|
package/css/vitepress.css
CHANGED
|
@@ -63,16 +63,13 @@
|
|
|
63
63
|
|
|
64
64
|
#nd-sidebar {
|
|
65
65
|
background-color: hsl(240, 6%, 97%);
|
|
66
|
+
border-color: transparent;
|
|
66
67
|
}
|
|
67
68
|
|
|
68
69
|
.dark #nd-sidebar {
|
|
69
70
|
background-color: hsl(240, 4%, 9%);
|
|
70
71
|
}
|
|
71
72
|
|
|
72
|
-
#nd-sidebar > div {
|
|
73
|
-
border-color: transparent;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
73
|
button[data-search-full] {
|
|
77
74
|
background-color: var(--color-fd-background);
|
|
78
75
|
}
|
|
@@ -22,7 +22,7 @@ export function RootToggle({ options, placeholder, ...props }) {
|
|
|
22
22
|
setOpen(false);
|
|
23
23
|
};
|
|
24
24
|
const item = selected ? _jsx(Item, { ...selected }) : placeholder;
|
|
25
|
-
return (_jsxs(Popover, { open: open, onOpenChange: setOpen, children: [item ? (_jsxs(PopoverTrigger, { ...props, className: cn('flex items-center gap-2
|
|
25
|
+
return (_jsxs(Popover, { open: open, onOpenChange: setOpen, children: [item ? (_jsxs(PopoverTrigger, { ...props, className: cn('flex items-center gap-2 rounded-lg pe-2 hover:text-fd-accent-foreground', props.className), children: [item, _jsx(ChevronsUpDown, { className: "size-4 text-fd-muted-foreground" })] })) : null, _jsx(PopoverContent, { className: "w-(--radix-popover-trigger-width) overflow-hidden p-0", children: options.map((item) => (_jsx(Link, { href: item.url, onClick: onClick, ...item.props, className: cn('flex w-full flex-row items-center gap-2 px-2 py-1.5', selected === item
|
|
26
26
|
? 'bg-fd-accent text-fd-accent-foreground'
|
|
27
27
|
: 'hover:bg-fd-accent/50', item.props?.className), children: _jsx(Item, { ...item }) }, item.url))) })] }));
|
|
28
28
|
}
|
|
@@ -21,7 +21,7 @@ export function LargeSearchToggle({ hideIfDisabled, ...props }) {
|
|
|
21
21
|
const { text } = useI18n();
|
|
22
22
|
if (hideIfDisabled && !enabled)
|
|
23
23
|
return null;
|
|
24
|
-
return (_jsxs("button", { type: "button", "data-search-full": "", ...props, className: cn('inline-flex items-center gap-2 rounded-
|
|
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
25
|
setOpenSearch(true);
|
|
26
|
-
}, children: [_jsx(Search, { className: "
|
|
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))) })] }));
|
|
27
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../../src/components/layout/sidebar.tsx"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,cAAc,EAEnB,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../../src/components/layout/sidebar.tsx"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,cAAc,EAEnB,KAAK,EAAE,EAEP,KAAK,SAAS,EAKf,MAAM,OAAO,CAAC;AACf,OAAa,EAAE,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAU1D,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAGnE,OAAO,KAAK,EACV,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAMrD,MAAM,WAAW,YAAa,SAAQ,cAAc,CAAC,OAAO,CAAC;IAC3D;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AA2BD,wBAAgB,OAAO,CAAC,EACtB,gBAAoB,EACpB,QAAe,EACf,WAAkB,EAClB,GAAG,KAAK,EACT,EAAE,YAAY,2CAmHd;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,2CASzD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,2CASzD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,eAAe,2CAcrD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,cAAc,CAAC,GAAG,CAAC,2CAkB1D;AAED,wBAAgB,WAAW,CAAC,EAC1B,IAAI,EACJ,GAAG,KAAK,EACT,EAAE,SAAS,GAAG;IACb,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB,2CAsBA;AAED,wBAAgB,aAAa,CAAC,EAC5B,WAAmB,EACnB,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,KAAK,CAAC,GAAG;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,2CAgBA;AAED,wBAAgB,oBAAoB,CAAC,EACnC,SAAS,EACT,GAAG,KAAK,EACT,EAAE,uBAAuB,2CAqBzB;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,2CAsCjD;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,uBAAuB,2CAqBlE;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,cAAc,CAAC,QAAQ,CAAC,2CAgBrE;AAgBD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,EAAE,CAAC;QAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAA;KAAE,CAAC,CAAC;IAClC,MAAM,EAAE,EAAE,CAAC;QAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,SAAS,CAAA;KAAE,CAAC,CAAC;IAC1E,SAAS,EAAE,EAAE,CAAC;QAAE,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAA;KAAE,CAAC,CAAC;CAC7C;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE;IACrC,UAAU,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACzC,2CAuDA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { jsx as _jsx,
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { ChevronDown, ExternalLink } from '../../icons.js';
|
|
4
4
|
import { usePathname } from 'fumadocs-core/framework';
|
|
5
5
|
import { createContext, Fragment, useContext, useMemo, useRef, useState, } from 'react';
|
|
@@ -45,18 +45,22 @@ export function Sidebar({ defaultOpenLevel = 0, prefetch = true, collapsible = t
|
|
|
45
45
|
});
|
|
46
46
|
if (isMobile) {
|
|
47
47
|
const state = open ? 'open' : 'closed';
|
|
48
|
-
return (_jsxs(
|
|
48
|
+
return (_jsxs(Context.Provider, { value: context, children: [_jsx(Presence, { present: open, children: _jsx("div", { "data-state": state, className: "fixed z-40 inset-0 bg-black/30 backdrop-blur-sm data-[state=open]:animate-fd-fade-in data-[state=closed]:animate-fd-fade-out", onClick: () => setOpen(false) }) }), _jsx(Presence, { present: open, children: ({ present }) => (_jsx(RemoveScroll, { as: "aside", enabled: present, id: "nd-sidebar-mobile", ...props, "data-state": state, className: cn('fixed text-[15px] flex flex-col py-2 rounded-e-2xl border-e start-0 inset-y-0 w-[85%] max-w-[380px] z-40 bg-fd-background data-[state=open]:animate-fd-sidebar-in data-[state=closed]:animate-fd-sidebar-out', !present && 'invisible', props.className), children: props.children })) })] }));
|
|
49
49
|
}
|
|
50
|
-
return (_jsx("aside", { id: "nd-sidebar", ...props, "data-collapsed": collapsed, className: cn('sticky top-(--fd-sidebar-top) z-20 bg-fd-card text-sm h-(--fd-sidebar-height) max-md:hidden',
|
|
51
|
-
'
|
|
52
|
-
|
|
53
|
-
'-
|
|
54
|
-
|
|
55
|
-
collapsed && !hover && 'opacity-0',
|
|
50
|
+
return (_jsx("aside", { id: "nd-sidebar", ...props, "data-collapsed": collapsed, className: cn('sticky shrink-0 flex flex-col items-end top-(--fd-sidebar-top) z-20 bg-fd-card text-sm h-(--fd-sidebar-height) w-(--fd-sidebar-width) *:w-(--fd-sidebar-width) border-e max-md:hidden', collapsed && [
|
|
51
|
+
'rounded-xl border',
|
|
52
|
+
hover
|
|
53
|
+
? 'z-50 translate-x-2 shadow-lg'
|
|
54
|
+
: 'opacity-0 -translate-x-(--fd-sidebar-offset) rtl:translate-x-(--fd-sidebar-offset)',
|
|
56
55
|
], props.className), style: {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
56
|
+
transition: [
|
|
57
|
+
...['border', 'height', 'top'].map((v) => collapsed ? `${v} step-end 200ms` : `${v} step-start 200ms`),
|
|
58
|
+
...['opacity', 'margin', 'translate'].map((v) => `${v} ease 200ms`),
|
|
59
|
+
].join(', '),
|
|
60
|
+
'--fd-sidebar-offset': 'calc(100% - 16px)',
|
|
61
|
+
'--fd-sidebar-margin': collapsed ? '0.5rem' : '0px',
|
|
62
|
+
'--fd-sidebar-top': `calc(var(--fd-banner-height) + var(--fd-nav-height) + var(--fd-sidebar-margin))`,
|
|
63
|
+
'--fd-sidebar-height': 'calc(100dvh - var(--fd-sidebar-top) - var(--fd-sidebar-margin))',
|
|
60
64
|
...props.style,
|
|
61
65
|
}, onPointerEnter: (e) => {
|
|
62
66
|
if (!collapsible ||
|
|
@@ -76,22 +80,22 @@ export function Sidebar({ defaultOpenLevel = 0, prefetch = true, collapsible = t
|
|
|
76
80
|
}, Math.min(e.clientX, document.body.clientWidth - e.clientX) > 100
|
|
77
81
|
? 0
|
|
78
82
|
: 500);
|
|
79
|
-
}, children: _jsx(
|
|
83
|
+
}, children: _jsx(Context.Provider, { value: context, children: props.children }) }));
|
|
80
84
|
}
|
|
81
85
|
export function SidebarHeader(props) {
|
|
82
|
-
return (_jsx("div", { ...props, className: cn('flex flex-col gap-3
|
|
86
|
+
return (_jsx("div", { ...props, className: cn('flex flex-col gap-3 p-4 pb-2', props.className), children: props.children }));
|
|
83
87
|
}
|
|
84
88
|
export function SidebarFooter(props) {
|
|
85
89
|
return (_jsx("div", { ...props, className: cn('flex flex-col border-t px-4 py-3', props.className), children: props.children }));
|
|
86
90
|
}
|
|
87
91
|
export function SidebarViewport(props) {
|
|
88
92
|
return (_jsx(ScrollArea, { ...props, className: cn('h-full', props.className), children: _jsx(ScrollViewport, { className: "p-4", style: {
|
|
89
|
-
maskImage: 'linear-gradient(to bottom, transparent, white 12px)',
|
|
93
|
+
maskImage: 'linear-gradient(to bottom, transparent, white 12px, white calc(100% - 12px), transparent)',
|
|
90
94
|
}, children: props.children }) }));
|
|
91
95
|
}
|
|
92
96
|
export function SidebarSeparator(props) {
|
|
93
97
|
const { level } = useInternalContext();
|
|
94
|
-
return (_jsx("p", { ...props, className: cn('inline-flex items-center gap-2 mb-
|
|
98
|
+
return (_jsx("p", { ...props, className: cn('inline-flex items-center gap-2 mb-1.5 px-2 font-medium empty:mb-0 [&_svg]:size-4 [&_svg]:shrink-0', props.className), style: {
|
|
95
99
|
paddingInlineStart: getOffset(level),
|
|
96
100
|
...props.style,
|
|
97
101
|
}, children: props.children }));
|
|
@@ -145,7 +149,7 @@ export function SidebarFolderContent(props) {
|
|
|
145
149
|
return (_jsx(CollapsibleContent, { ...props, className: cn('relative', props.className), children: _jsxs(Context.Provider, { value: useMemo(() => ({
|
|
146
150
|
...ctx,
|
|
147
151
|
level: ctx.level + 1,
|
|
148
|
-
}), [ctx]), children: [ctx.level === 1 && (_jsx("div", { className: "absolute w-px inset-y-
|
|
152
|
+
}), [ctx]), children: [ctx.level === 1 && (_jsx("div", { className: "absolute w-px inset-y-1 bg-fd-border start-2.5" })), props.children] }) }));
|
|
149
153
|
}
|
|
150
154
|
export function SidebarCollapseTrigger(props) {
|
|
151
155
|
const { collapsed, setCollapsed } = useSidebar();
|
|
@@ -199,10 +203,10 @@ function PageTreeFolder({ item, ...props }) {
|
|
|
199
203
|
return (_jsxs(SidebarFolder, { defaultOpen: (item.defaultOpen ?? defaultOpenLevel >= level) || path.includes(item), children: [item.index ? (_jsxs(SidebarFolderLink, { href: item.index.url, external: item.index.external, ...props, children: [item.icon, item.name] })) : (_jsxs(SidebarFolderTrigger, { ...props, children: [item.icon, item.name] })), _jsx(SidebarFolderContent, { children: props.children })] }));
|
|
200
204
|
}
|
|
201
205
|
function getOffset(level) {
|
|
202
|
-
return `calc(var(--spacing) * ${level > 1 ?
|
|
206
|
+
return `calc(var(--spacing) * ${level > 1 ? level * 3 : 2})`;
|
|
203
207
|
}
|
|
204
208
|
function Border({ level, active }) {
|
|
205
209
|
if (level <= 1)
|
|
206
210
|
return null;
|
|
207
|
-
return (_jsx("div", { className: cn('absolute w-px inset-y-3 z-[2] start-
|
|
211
|
+
return (_jsx("div", { className: cn('absolute w-px inset-y-3 z-[2] start-2.5 md:inset-y-2', active && 'bg-fd-primary') }));
|
|
208
212
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../../src/components/tabs.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,gBAAgB,EAChB,SAAS,IAAI,SAAS,EACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAEL,KAAK,SAAS,EAOf,MAAM,OAAO,CAAC;AAuBf,MAAM,WAAW,SAAU,SAAQ,SAAS;IAC1C;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAEjB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAcD,eAAO,MAAM,QAAQ,sMAAqB,CAAC;AAC3C,eAAO,MAAM,WAAW,+MAAwB,CAAC;AAEjD,wBAAgB,IAAI,CAAC,EACnB,OAAO,EACP,KAAK,EACL,OAAe,EACf,KAAK,EACL,YAAgB,EAChB,YAAoB,EACpB,YAAmE,EACnE,GAAG,KAAK,EACT,EAAE,SAAS,2CAmFX;AAED,MAAM,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,GAAG;IACvD;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wBAAgB,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,QAAQ,2CAgBhD;AAED,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../../src/components/tabs.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,gBAAgB,EAChB,SAAS,IAAI,SAAS,EACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAEL,KAAK,SAAS,EAOf,MAAM,OAAO,CAAC;AAuBf,MAAM,WAAW,SAAU,SAAQ,SAAS;IAC1C;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAEjB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAcD,eAAO,MAAM,QAAQ,sMAAqB,CAAC;AAC3C,eAAO,MAAM,WAAW,+MAAwB,CAAC;AAEjD,wBAAgB,IAAI,CAAC,EACnB,OAAO,EACP,KAAK,EACL,OAAe,EACf,KAAK,EACL,YAAgB,EAChB,YAAoB,EACpB,YAAmE,EACnE,GAAG,KAAK,EACT,EAAE,SAAS,2CAmFX;AAED,MAAM,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,GAAG;IACvD;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wBAAgB,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,QAAQ,2CAgBhD;AAED,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,2CAoB3E"}
|
package/dist/components/tabs.js
CHANGED
|
@@ -91,7 +91,7 @@ export function TabsContent({ value, className, ...props }) {
|
|
|
91
91
|
if (props.id) {
|
|
92
92
|
valueToIdMap.set(value, props.id);
|
|
93
93
|
}
|
|
94
|
-
return (_jsx(Primitive.TabsContent, { value: value, className: cn('prose-no-margin [&>figure:only-child]:-m-4 [&>figure:only-child]:border-none', className), ...props, children: props.children }));
|
|
94
|
+
return (_jsx(Primitive.TabsContent, { value: value, forceMount: true, className: cn('prose-no-margin data-[state=inactive]:hidden [&>figure:only-child]:-m-4 [&>figure:only-child]:border-none', className), ...props, children: props.children }));
|
|
95
95
|
}
|
|
96
96
|
/**
|
|
97
97
|
* Inspired by Headless UI.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hide-if-empty.d.ts","sourceRoot":"","sources":["../../../src/components/ui/hide-if-empty.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hide-if-empty.d.ts","sourceRoot":"","sources":["../../../src/components/ui/hide-if-empty.tsx"],"names":[],"mappings":"AAoBA;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,2CAyDtE"}
|
|
@@ -2,21 +2,6 @@
|
|
|
2
2
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { Slot } from '@radix-ui/react-slot';
|
|
4
4
|
import { useEffect, useId, useRef, useState } from 'react';
|
|
5
|
-
const init = `function isEmpty(node) {
|
|
6
|
-
for (let i = 0; i < node.childNodes.length; i++) {
|
|
7
|
-
const child = node.childNodes.item(i);
|
|
8
|
-
if (child.nodeType === Node.TEXT_NODE) {
|
|
9
|
-
return false
|
|
10
|
-
} else if (
|
|
11
|
-
child.nodeType === Node.ELEMENT_NODE &&
|
|
12
|
-
window.getComputedStyle(child).display !== 'none'
|
|
13
|
-
) {
|
|
14
|
-
return false
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
return true;
|
|
19
|
-
}`;
|
|
20
5
|
function isEmpty(node) {
|
|
21
6
|
for (let i = 0; i < node.childNodes.length; i++) {
|
|
22
7
|
const child = node.childNodes.item(i);
|
|
@@ -55,10 +40,25 @@ export function HideIfEmpty({ children }) {
|
|
|
55
40
|
};
|
|
56
41
|
}, []);
|
|
57
42
|
const inject = `
|
|
58
|
-
|
|
59
|
-
|
|
43
|
+
function isEmpty(node) {
|
|
44
|
+
for (let i = 0; i < node.childNodes.length; i++) {
|
|
45
|
+
const child = node.childNodes.item(i);
|
|
46
|
+
if (child.nodeType === Node.TEXT_NODE) {
|
|
47
|
+
return false
|
|
48
|
+
} else if (
|
|
49
|
+
child.nodeType === Node.ELEMENT_NODE &&
|
|
50
|
+
window.getComputedStyle(child).display !== 'none'
|
|
51
|
+
) {
|
|
52
|
+
return false
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
return true;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
const element = document.querySelector('[data-fdid="${id}"]')
|
|
60
60
|
if (element) {
|
|
61
61
|
element.setAttribute('data-empty', String(isEmpty(element)))
|
|
62
62
|
}`;
|
|
63
|
-
return (_jsxs(_Fragment, { children: [
|
|
63
|
+
return (_jsxs(_Fragment, { children: [_jsx(Slot, { ref: ref, "data-fdid": id, "data-empty": empty, className: "data-[empty=true]:hidden", suppressHydrationWarning: true, children: children }), empty === undefined && _jsx("script", { children: `{ ${inject} }` })] }));
|
|
64
64
|
}
|
|
@@ -10,7 +10,7 @@ import { SearchToggle } from '../components/layout/search-toggle.js';
|
|
|
10
10
|
export function Navbar(props) {
|
|
11
11
|
const { open } = useSidebar();
|
|
12
12
|
const { isTransparent } = useNav();
|
|
13
|
-
return (_jsx("header", { id: "nd-subnav", ...props, className: cn('sticky top-(--fd-banner-height) z-30 flex
|
|
13
|
+
return (_jsx("header", { id: "nd-subnav", ...props, className: cn('sticky top-(--fd-banner-height) z-30 flex items-center px-4 border-b transition-colors backdrop-blur-sm', (!isTransparent || open) && 'bg-fd-background/80', props.className), children: props.children }));
|
|
14
14
|
}
|
|
15
15
|
export function NavbarSidebarTrigger({ className, ...props }) {
|
|
16
16
|
const { setOpen } = useSidebar();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/layouts/docs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,SAAS,EAAW,MAAM,OAAO,CAAC;AAarE,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,YAAY,EAClB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,KAAK,eAAe,EAAY,MAAM,UAAU,CAAC;AAK1D,OAAO,EACL,kBAAkB,EAClB,MAAM,EACN,oBAAoB,EACrB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAa/B,MAAM,WAAW,eAAgB,SAAQ,eAAe;IACtD,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC;IAEpB,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG;QAClC,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,SAAS,CAAC,EAAE,SAAS,CAAC;KACvB,CAAC;IAEF;;OAEG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;CACjD;AAED,wBAAgB,UAAU,CAAC,EACzB,GAAG,EAAE,EAAE,eAAe,EAAE,GAAG,GAAG,EAAO,EACrC,OAAY,EACZ,YAAY,EACZ,kBAA0B,EAC1B,WAA8C,EAC9C,IAAY,EACZ,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,eAAe,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/layouts/docs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,SAAS,EAAW,MAAM,OAAO,CAAC;AAarE,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,YAAY,EAClB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,KAAK,eAAe,EAAY,MAAM,UAAU,CAAC;AAK1D,OAAO,EACL,kBAAkB,EAClB,MAAM,EACN,oBAAoB,EACrB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAa/B,MAAM,WAAW,eAAgB,SAAQ,eAAe;IACtD,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC;IAEpB,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG;QAClC,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,SAAS,CAAC,EAAE,SAAS,CAAC;KACvB,CAAC;IAEF;;OAEG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;CACjD;AAED,wBAAgB,UAAU,CAAC,EACzB,GAAG,EAAE,EAAE,eAAe,EAAE,GAAG,GAAG,EAAO,EACrC,OAAY,EACZ,YAAY,EACZ,kBAA0B,EAC1B,WAA8C,EAC9C,IAAY,EACZ,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,eAAe,GAAG,SAAS,CAgG7B;AAED,wBAAgB,iBAAiB,CAAC,EAChC,WAAkB,EAClB,UAAU,EACV,GAAG,EACH,KAAU,EACV,MAAM,EACN,MAAM,EACN,GAAG,KAAK,EACT,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,GAAG;IAChC,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IACvB,GAAG,CAAC,EAAE,SAAS,CAAC;CACjB,2CAmDA;AAED,wBAAgB,uBAAuB,CAAC,EACtC,IAAI,EACJ,WAAW,EACX,KAAU,GACX,EAAE;IACD,IAAI,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IAC/B,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IACvB,WAAW,CAAC,EAAE,eAAe,CAAC,aAAa,CAAC,CAAC;CAC9C,2CAgCA;AAED,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,oBAAoB,EAAE,KAAK,YAAY,EAAE,CAAC;AAC/E,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC"}
|
package/dist/layouts/docs.js
CHANGED
|
@@ -20,23 +20,23 @@ import { HideIfEmpty } from '../components/ui/hide-if-empty.js';
|
|
|
20
20
|
export function DocsLayout({ nav: { transparentMode, ...nav } = {}, sidebar = {}, searchToggle, disableThemeSwitch = false, themeSwitch = { enabled: !disableThemeSwitch }, i18n = false, children, ...props }) {
|
|
21
21
|
const tabs = useMemo(() => getSidebarTabsFromOptions(sidebar.tabs, props.tree) ?? [], [sidebar.tabs, props.tree]);
|
|
22
22
|
const links = getLinks(props.links ?? [], props.githubUrl);
|
|
23
|
-
const variables = cn('[--fd-tocnav-height:36px] md:[--fd-sidebar-width:268px] lg:[--fd-sidebar-width:
|
|
24
|
-
? '[--fd-nav-height:
|
|
23
|
+
const variables = cn('[--fd-tocnav-height:36px] md:[--fd-sidebar-width:268px] lg:[--fd-sidebar-width:290px] xl:[--fd-toc-width:290px] xl:[--fd-tocnav-height:0px]', !nav.component && nav.enabled !== false
|
|
24
|
+
? '[--fd-nav-height:56px] md:[--fd-nav-height:0px]'
|
|
25
25
|
: undefined);
|
|
26
26
|
const pageStyles = {
|
|
27
27
|
tocNav: cn('xl:hidden'),
|
|
28
28
|
toc: cn('max-xl:hidden'),
|
|
29
29
|
};
|
|
30
|
-
return (_jsx(TreeContextProvider, { tree: props.tree, children: _jsxs(NavProvider, { transparentMode: transparentMode, children: [slot(nav, _jsxs(Navbar, { className: "md:hidden", children: [_jsx(Link, { href: nav.url ?? '/', className: "inline-flex items-center gap-2.5 font-semibold", children: nav.title }), _jsx("div", { className: "flex
|
|
30
|
+
return (_jsx(TreeContextProvider, { tree: props.tree, children: _jsxs(NavProvider, { transparentMode: transparentMode, children: [slot(nav, _jsxs(Navbar, { className: "h-14 md:hidden", children: [_jsx(Link, { href: nav.url ?? '/', className: "inline-flex items-center gap-2.5 font-semibold", children: nav.title }), _jsx("div", { className: "flex-1", children: nav.children }), slots('sm', searchToggle, _jsx(SearchToggle, { hideIfDisabled: true })), _jsx(NavbarSidebarTrigger, { className: "-me-2 md:hidden" })] })), _jsxs("main", { id: "nd-docs-layout", ...props.containerProps, className: cn('flex flex-1 flex-row pe-(--fd-layout-offset)', variables, props.containerProps?.className), style: {
|
|
31
31
|
...layoutVariables,
|
|
32
32
|
...props.containerProps?.style,
|
|
33
|
-
}, children: [slot(sidebar, _jsx(DocsLayoutSidebar, { ...omit(sidebar, 'enabled', 'component', 'tabs'), links: links, nav: _jsxs(_Fragment, { children: [_jsx(Link, { href: nav.url ?? '/', className: "inline-flex text-[15px] items-center gap-2.5 font-medium", children: nav.title }), nav.children] }), banner: _jsxs(_Fragment, { children: [tabs.length > 0 ? _jsx(RootToggle, { options: tabs }) : null, slots('lg', searchToggle, _jsx(LargeSearchToggle, { hideIfDisabled: true, className: "
|
|
33
|
+
}, children: [slot(sidebar, _jsx(DocsLayoutSidebar, { ...omit(sidebar, 'enabled', 'component', 'tabs'), links: links, nav: _jsxs(_Fragment, { children: [_jsx(Link, { href: nav.url ?? '/', className: "inline-flex text-[15px] items-center gap-2.5 font-medium", children: nav.title }), nav.children] }), banner: _jsxs(_Fragment, { children: [tabs.length > 0 ? _jsx(RootToggle, { options: tabs }) : null, slots('lg', searchToggle, _jsx(LargeSearchToggle, { hideIfDisabled: true, className: "max-md:hidden" })), sidebar.banner] }), footer: _jsxs(_Fragment, { children: [_jsx(DocsLayoutSidebarFooter, { links: links.filter((item) => item.type === 'icon'), i18n: i18n, themeSwitch: themeSwitch }), sidebar.footer] }) })), _jsx(StylesProvider, { ...pageStyles, children: children })] })] }) }));
|
|
34
34
|
}
|
|
35
35
|
export function DocsLayoutSidebar({ collapsible = true, components, nav, links = [], footer, banner, ...props }) {
|
|
36
|
-
return (_jsxs(_Fragment, { children: [collapsible ? _jsx(CollapsibleControl, {}) : null, _jsxs(Sidebar, { ...props, collapsible: collapsible, className: cn('
|
|
36
|
+
return (_jsxs(_Fragment, { children: [collapsible ? _jsx(CollapsibleControl, {}) : null, _jsxs(Sidebar, { ...props, collapsible: collapsible, className: cn('data-[collapsed=false]:w-[calc(var(--fd-sidebar-width)+var(--fd-layout-offset))] data-[collapsed=true]:me-[calc(var(--fd-layout-offset)-var(--fd-sidebar-width))]', props.className), children: [_jsx(HideIfEmpty, { children: _jsxs(SidebarHeader, { children: [_jsxs("div", { className: "flex max-md:hidden", children: [nav, collapsible && (_jsx(SidebarCollapseTrigger, { className: cn(buttonVariants({
|
|
37
37
|
color: 'ghost',
|
|
38
38
|
size: 'icon-sm',
|
|
39
|
-
}), 'ms-auto mb-auto
|
|
39
|
+
}), 'ms-auto mb-auto text-fd-muted-foreground max-md:hidden'), children: _jsx(SidebarIcon, {}) }))] }), banner] }) }), _jsxs(SidebarViewport, { children: [links
|
|
40
40
|
.filter((v) => v.type !== 'icon')
|
|
41
41
|
.map((item, i, list) => (_jsx(SidebarLinkItem, { item: item, className: cn(i === list.length - 1 && 'mb-4') }, i))), _jsx(SidebarPageTree, { components: components })] }), _jsx(HideIfEmpty, { children: _jsx(SidebarFooter, { children: footer }) })] })] }));
|
|
42
42
|
}
|
package/dist/layouts/home.js
CHANGED
|
@@ -21,7 +21,7 @@ export function Header({ nav = {}, i18n = false, links, githubUrl, themeSwitch,
|
|
|
21
21
|
const menuItems = finalLinks.filter((item) => ['menu', 'all'].includes(item.on ?? 'all'));
|
|
22
22
|
return (_jsxs(Navbar, { children: [_jsx(Link, { href: nav.url ?? '/', className: "inline-flex items-center gap-2.5 font-semibold", children: nav.title }), nav.children, _jsx("ul", { className: "flex flex-row items-center gap-2 px-6 max-sm:hidden", children: navItems
|
|
23
23
|
.filter((item) => !isSecondary(item))
|
|
24
|
-
.map((item, i) => (_jsx(NavbarLinkItem, { item: item, className: "text-sm" }, i))) }), _jsxs("div", { className: "flex flex-row items-center justify-end gap-1.5 flex-1", children: [slots('sm', searchToggle, _jsx(SearchToggle, { className: "lg:hidden", hideIfDisabled: true })), slots('lg', searchToggle, _jsx(LargeSearchToggle, { className: "w-full max-w-[240px] max-lg:hidden", hideIfDisabled: true })), slot(themeSwitch, _jsx(ThemeToggle, { className: "max-lg:hidden", mode: themeSwitch?.mode })), i18n ? (_jsx(LanguageToggle, { className: "max-lg:hidden", children: _jsx(Languages, { className: "size-5" }) })) : null] }), _jsxs("ul", { className: "flex flex-row items-center", children: [navItems.filter(isSecondary).map((item, i) => (_jsx(NavbarLinkItem, { item: item, className: "-me-1.5 max-lg:hidden" }, i))), _jsxs(Menu, { className: "lg:hidden", children: [_jsx(MenuTrigger, { "aria-label": "Toggle Menu", className: "group -me-2", enableHover: nav.enableHoverToOpen, children: _jsx(ChevronDown, { className: "size-3 transition-transform duration-300 group-data-[state=open]:rotate-180" }) }), _jsxs(MenuContent, { className: "sm:flex-row sm:items-center sm:justify-end", children: [menuItems
|
|
24
|
+
.map((item, i) => (_jsx(NavbarLinkItem, { item: item, className: "text-sm" }, i))) }), _jsxs("div", { className: "flex flex-row items-center justify-end gap-1.5 flex-1", children: [slots('sm', searchToggle, _jsx(SearchToggle, { className: "lg:hidden", hideIfDisabled: true })), slots('lg', searchToggle, _jsx(LargeSearchToggle, { className: "w-full rounded-full ps-2.5 max-w-[240px] max-lg:hidden", hideIfDisabled: true })), slot(themeSwitch, _jsx(ThemeToggle, { className: "max-lg:hidden", mode: themeSwitch?.mode })), i18n ? (_jsx(LanguageToggle, { className: "max-lg:hidden", children: _jsx(Languages, { className: "size-5" }) })) : null] }), _jsxs("ul", { className: "flex flex-row items-center", children: [navItems.filter(isSecondary).map((item, i) => (_jsx(NavbarLinkItem, { item: item, className: "-me-1.5 max-lg:hidden" }, i))), _jsxs(Menu, { className: "lg:hidden", children: [_jsx(MenuTrigger, { "aria-label": "Toggle Menu", className: "group -me-2", enableHover: nav.enableHoverToOpen, children: _jsx(ChevronDown, { className: "size-3 transition-transform duration-300 group-data-[state=open]:rotate-180" }) }), _jsxs(MenuContent, { className: "sm:flex-row sm:items-center sm:justify-end", children: [menuItems
|
|
25
25
|
.filter((item) => !isSecondary(item))
|
|
26
26
|
.map((item, i) => (_jsx(MenuLinkItem, { item: item, className: "sm:hidden" }, i))), _jsxs("div", { className: "-ms-1.5 flex flex-row items-center gap-1.5 max-sm:mt-2", children: [menuItems.filter(isSecondary).map((item, i) => (_jsx(MenuLinkItem, { item: item, className: "-me-1.5" }, i))), _jsx("div", { role: "separator", className: "flex-1" }), i18n ? (_jsxs(LanguageToggle, { children: [_jsx(Languages, { className: "size-5" }), _jsx(LanguageToggleText, {}), _jsx(ChevronDown, { className: "size-3 text-fd-muted-foreground" })] })) : null, slot(themeSwitch, _jsx(ThemeToggle, { mode: themeSwitch?.mode }))] })] })] })] })] }));
|
|
27
27
|
}
|
|
@@ -11,7 +11,7 @@ import { isActive } from '../utils/is-active.js';
|
|
|
11
11
|
export function Navbar({ mode, ...props }) {
|
|
12
12
|
const { open, collapsed } = useSidebar();
|
|
13
13
|
const { isTransparent } = useNav();
|
|
14
|
-
return (_jsx("header", { id: "nd-subnav", ...props, className: cn('fixed inset-x-0 top-(--fd-banner-height) z-10 px-(--fd-layout-offset) backdrop-blur-sm transition-colors', (!isTransparent || open) && 'bg-fd-background/80', mode === 'auto' &&
|
|
14
|
+
return (_jsx("header", { id: "nd-subnav", ...props, className: cn('fixed flex flex-col inset-x-0 top-(--fd-banner-height) z-10 px-(--fd-layout-offset) h-(--fd-nav-height) backdrop-blur-sm transition-colors', (!isTransparent || open) && 'bg-fd-background/80', mode === 'auto' &&
|
|
15
15
|
!collapsed &&
|
|
16
16
|
'ps-[calc(var(--fd-layout-offset)+var(--fd-sidebar-width))]', props.className), children: props.children }));
|
|
17
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notebook.d.ts","sourceRoot":"","sources":["../../src/layouts/notebook.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,cAAc,EAAW,MAAM,OAAO,CAAC;AAC/D,OAAO,EAAE,KAAK,eAAe,EAAyB,MAAM,kBAAkB,CAAC;AAqB/E,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAGL,MAAM,EACN,oBAAoB,EACrB,MAAM,mBAAmB,CAAC;AAc3B,MAAM,WAAW,eAAgB,SAAQ,eAAe;IACtD,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IAE/B,GAAG,CAAC,EAAE,eAAe,CAAC,KAAK,CAAC,GAAG;QAC7B,IAAI,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;KACvB,CAAC;IAEF,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAElC,cAAc,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;CACjD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"notebook.d.ts","sourceRoot":"","sources":["../../src/layouts/notebook.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,cAAc,EAAW,MAAM,OAAO,CAAC;AAC/D,OAAO,EAAE,KAAK,eAAe,EAAyB,MAAM,kBAAkB,CAAC;AAqB/E,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAGL,MAAM,EACN,oBAAoB,EACrB,MAAM,mBAAmB,CAAC;AAc3B,MAAM,WAAW,eAAgB,SAAQ,eAAe;IACtD,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IAE/B,GAAG,CAAC,EAAE,eAAe,CAAC,KAAK,CAAC,GAAG;QAC7B,IAAI,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;KACvB,CAAC;IAEF,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAElC,cAAc,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;CACjD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,2CAiKhD;AAsLD,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC"}
|
package/dist/layouts/notebook.js
CHANGED
|
@@ -22,25 +22,23 @@ export function DocsLayout(props) {
|
|
|
22
22
|
const navMode = nav.mode ?? 'auto';
|
|
23
23
|
const links = getLinks(props.links ?? [], props.githubUrl);
|
|
24
24
|
const tabs = useMemo(() => getSidebarTabsFromOptions(tabOptions, props.tree) ?? [], [tabOptions, props.tree]);
|
|
25
|
-
const variables = cn('[--fd-nav-height:
|
|
26
|
-
tabMode === 'navbar' &&
|
|
27
|
-
'lg:[--fd-nav-height:calc(var(--spacing)*24)]');
|
|
25
|
+
const variables = cn('[--fd-nav-height:56px] [--fd-tocnav-height:36px] md:[--fd-sidebar-width:286px] md:[--fd-nav-height:64px] xl:[--fd-toc-width:286px] xl:[--fd-tocnav-height:0px]', tabs.length > 0 && tabMode === 'navbar' && 'lg:[--fd-nav-height:104px]');
|
|
28
26
|
const pageStyles = {
|
|
29
27
|
tocNav: cn('xl:hidden'),
|
|
30
28
|
toc: cn('max-xl:hidden'),
|
|
31
29
|
page: cn('mt-(--fd-nav-height)'),
|
|
32
30
|
};
|
|
33
|
-
const sidebarHeader =
|
|
31
|
+
const sidebarHeader = (_jsxs("div", { className: "flex justify-between max-md:hidden", children: [_jsx(Link, { href: nav.url ?? '/', className: "inline-flex items-center gap-2.5 font-medium", children: nav.title }), (sidebar.collapsible ?? true) && (_jsx(SidebarCollapseTrigger, { className: cn(buttonVariants({
|
|
34
32
|
color: 'ghost',
|
|
35
33
|
size: 'icon-sm',
|
|
36
|
-
className: 'mb-auto text-fd-muted-foreground',
|
|
34
|
+
className: 'mt-px mb-auto text-fd-muted-foreground',
|
|
37
35
|
})), children: _jsx(SidebarIcon, {}) }))] }));
|
|
38
36
|
return (_jsx(TreeContextProvider, { tree: props.tree, children: _jsx(NavProvider, { transparentMode: transparentMode, children: _jsxs("main", { id: "nd-docs-layout", ...props.containerProps, className: cn('flex w-full flex-1 flex-row pe-(--fd-layout-offset)', variables, props.containerProps?.className), style: {
|
|
39
37
|
...layoutVariables,
|
|
40
38
|
...props.containerProps?.style,
|
|
41
|
-
}, children: [_jsxs(Sidebar, { ...sidebar, className: cn('
|
|
39
|
+
}, children: [_jsxs(Sidebar, { ...sidebar, className: cn('data-[collapsed=false]:w-[calc(var(--fd-sidebar-width)+var(--fd-layout-offset))] data-[collapsed=true]:me-[calc(var(--fd-layout-offset)-var(--fd-sidebar-width))]', navMode === 'top'
|
|
42
40
|
? 'md:bg-transparent'
|
|
43
|
-
: 'md:[--fd-nav-height:0px]', sidebar.className), children: [_jsx(HideIfEmpty, { children: _jsxs(SidebarHeader, { children: [sidebarHeader, nav.children, sidebarBanner, tabMode === 'sidebar' && tabs.length > 0 ? (_jsx(RootToggle, { className: "mb-2", options: tabs })) : null, tabMode === 'navbar' && tabs.length > 0 && (_jsx(RootToggle, { options: tabs, className: "lg:hidden" }))] }) }), _jsxs(SidebarViewport, { children: [links
|
|
41
|
+
: 'md:[--fd-nav-height:0px]', sidebar.className), children: [_jsx(HideIfEmpty, { children: _jsxs(SidebarHeader, { children: [navMode === 'auto' && sidebarHeader, nav.children, sidebarBanner, tabMode === 'sidebar' && tabs.length > 0 ? (_jsx(RootToggle, { className: "mb-2", options: tabs })) : null, tabMode === 'navbar' && tabs.length > 0 && (_jsx(RootToggle, { options: tabs, className: "lg:hidden" }))] }) }), _jsxs(SidebarViewport, { children: [links
|
|
44
42
|
.filter((item) => item.type !== 'icon')
|
|
45
43
|
.map((item, i) => (_jsx(SidebarLinkItem, { item: item, className: cn('lg:hidden', i === links.length - 1 && 'mb-4') }, i))), _jsx(SidebarPageTree, { components: sidebarComponents })] }), _jsx(HideIfEmpty, { children: _jsxs(SidebarFooter, { className: "flex flex-row items-center justify-end", children: [_jsx("div", { className: "flex items-center flex-1 empty:hidden lg:hidden", children: links
|
|
46
44
|
.filter((item) => item.type === 'icon')
|
|
@@ -54,10 +52,12 @@ function DocsNavbar({ links, tabs, ...props }) {
|
|
|
54
52
|
const navMode = props.nav?.mode ?? 'auto';
|
|
55
53
|
const sidebarCollapsible = props.sidebar?.collapsible ?? true;
|
|
56
54
|
const nav = (_jsx(Link, { href: props.nav?.url ?? '/', className: cn('inline-flex items-center gap-2.5 font-semibold empty:hidden', navMode === 'auto' && 'md:hidden'), children: props.nav?.title }));
|
|
57
|
-
return (_jsxs(Navbar, { mode: navMode, children: [_jsxs("div", { className: cn('flex
|
|
55
|
+
return (_jsxs(Navbar, { mode: navMode, children: [_jsxs("div", { className: cn('flex border-b px-4 flex-1', navMode === 'auto' && 'md:px-6'), children: [_jsxs("div", { className: cn('flex flex-row items-center', navMode === 'top' && 'flex-1 pe-4'), children: [sidebarCollapsible && navMode === 'auto' ? (_jsx(SidebarCollapseTrigger, { className: cn(buttonVariants({
|
|
58
56
|
color: 'ghost',
|
|
59
57
|
size: 'icon-sm',
|
|
60
|
-
}), 'text-fd-muted-foreground -ms-1.5 me-2 data-[collapsed=false]:hidden max-md:hidden'), children: _jsx(SidebarIcon, {}) })) : null, nav] }), slots('lg', props.searchToggle, _jsx(LargeSearchToggle, { hideIfDisabled: true, className: cn('w-full my-auto
|
|
58
|
+
}), 'text-fd-muted-foreground -ms-1.5 me-2 data-[collapsed=false]:hidden max-md:hidden'), children: _jsx(SidebarIcon, {}) })) : null, nav] }), slots('lg', props.searchToggle, _jsx(LargeSearchToggle, { hideIfDisabled: true, className: cn('w-full my-auto max-md:hidden', navMode === 'top'
|
|
59
|
+
? 'rounded-xl max-w-sm ps-2.5'
|
|
60
|
+
: 'max-w-[240px]') })), _jsxs("div", { className: "flex flex-1 flex-row items-center justify-end", children: [_jsx("div", { className: "flex flex-row items-center gap-6 px-4 empty:hidden max-lg:hidden", children: links
|
|
61
61
|
.filter((item) => item.type !== 'icon')
|
|
62
62
|
.map((item, i) => (_jsx(NavbarLinkItem, { item: item, className: "text-sm text-fd-muted-foreground transition-colors hover:text-fd-accent-foreground" }, i))) }), props.nav?.children, slots('sm', props.searchToggle, _jsx(SearchToggle, { hideIfDisabled: true, className: "md:hidden" })), _jsx(NavbarSidebarTrigger, { className: "-me-1.5 md:hidden" }), links
|
|
63
63
|
.filter((item) => item.type === 'icon')
|
package/dist/style.css
CHANGED
|
@@ -82,6 +82,8 @@
|
|
|
82
82
|
--animate-fd-nav-menu-out: fd-nav-menu-out 200ms ease;
|
|
83
83
|
--animate-fd-enterFromLeft: fd-enterFromLeft 250ms ease;
|
|
84
84
|
--animate-fd-enterFromRight: fd-enterFromRight 250ms ease;
|
|
85
|
+
--animate-fd-sidebar-in: fd-sidebar-in 250ms ease;
|
|
86
|
+
--animate-fd-sidebar-out: fd-sidebar-out 250ms ease;
|
|
85
87
|
--animate-fd-exitToLeft: fd-exitToLeft 250ms ease;
|
|
86
88
|
--animate-fd-exitToRight: fd-exitToRight 250ms ease;
|
|
87
89
|
}
|
|
@@ -303,14 +305,17 @@
|
|
|
303
305
|
.inset-y-0 {
|
|
304
306
|
inset-block: calc(var(--spacing) * 0);
|
|
305
307
|
}
|
|
308
|
+
.inset-y-1 {
|
|
309
|
+
inset-block: calc(var(--spacing) * 1);
|
|
310
|
+
}
|
|
306
311
|
.inset-y-3 {
|
|
307
312
|
inset-block: calc(var(--spacing) * 3);
|
|
308
313
|
}
|
|
309
314
|
.start-0 {
|
|
310
315
|
inset-inline-start: calc(var(--spacing) * 0);
|
|
311
316
|
}
|
|
312
|
-
.start-
|
|
313
|
-
inset-inline-start: calc(var(--spacing) *
|
|
317
|
+
.start-2\.5 {
|
|
318
|
+
inset-inline-start: calc(var(--spacing) * 2.5);
|
|
314
319
|
}
|
|
315
320
|
.end-2 {
|
|
316
321
|
inset-inline-end: calc(var(--spacing) * 2);
|
|
@@ -412,9 +417,6 @@
|
|
|
412
417
|
.\!my-0 {
|
|
413
418
|
margin-block: calc(var(--spacing) * 0) !important;
|
|
414
419
|
}
|
|
415
|
-
.-my-1\.5 {
|
|
416
|
-
margin-block: calc(var(--spacing) * -1.5);
|
|
417
|
-
}
|
|
418
420
|
.my-0 {
|
|
419
421
|
margin-block: calc(var(--spacing) * 0);
|
|
420
422
|
}
|
|
@@ -430,9 +432,6 @@
|
|
|
430
432
|
.-ms-1\.5 {
|
|
431
433
|
margin-inline-start: calc(var(--spacing) * -1.5);
|
|
432
434
|
}
|
|
433
|
-
.ms-1 {
|
|
434
|
-
margin-inline-start: calc(var(--spacing) * 1);
|
|
435
|
-
}
|
|
436
435
|
.ms-2 {
|
|
437
436
|
margin-inline-start: calc(var(--spacing) * 2);
|
|
438
437
|
}
|
|
@@ -442,9 +441,6 @@
|
|
|
442
441
|
.ms-px {
|
|
443
442
|
margin-inline-start: 1px;
|
|
444
443
|
}
|
|
445
|
-
.-me-\(--fd-sidebar-width\) {
|
|
446
|
-
margin-inline-end: calc(var(--fd-sidebar-width) * -1);
|
|
447
|
-
}
|
|
448
444
|
.-me-1\.5 {
|
|
449
445
|
margin-inline-end: calc(var(--spacing) * -1.5);
|
|
450
446
|
}
|
|
@@ -844,12 +840,18 @@
|
|
|
844
840
|
.mt-auto {
|
|
845
841
|
margin-top: auto;
|
|
846
842
|
}
|
|
843
|
+
.mt-px {
|
|
844
|
+
margin-top: 1px;
|
|
845
|
+
}
|
|
847
846
|
.mr-auto {
|
|
848
847
|
margin-right: auto;
|
|
849
848
|
}
|
|
850
849
|
.mb-1 {
|
|
851
850
|
margin-bottom: calc(var(--spacing) * 1);
|
|
852
851
|
}
|
|
852
|
+
.mb-1\.5 {
|
|
853
|
+
margin-bottom: calc(var(--spacing) * 1.5);
|
|
854
|
+
}
|
|
853
855
|
.mb-2 {
|
|
854
856
|
margin-bottom: calc(var(--spacing) * 2);
|
|
855
857
|
}
|
|
@@ -865,6 +867,22 @@
|
|
|
865
867
|
.box-content {
|
|
866
868
|
box-sizing: content-box;
|
|
867
869
|
}
|
|
870
|
+
.fd-scroll-container {
|
|
871
|
+
&::-webkit-scrollbar {
|
|
872
|
+
width: 5px;
|
|
873
|
+
height: 5px;
|
|
874
|
+
}
|
|
875
|
+
&::-webkit-scrollbar-thumb {
|
|
876
|
+
border-radius: 5px;
|
|
877
|
+
background: var(--color-fd-border);
|
|
878
|
+
}
|
|
879
|
+
&::-webkit-scrollbar-track {
|
|
880
|
+
background: transparent;
|
|
881
|
+
}
|
|
882
|
+
&::-webkit-scrollbar-corner {
|
|
883
|
+
display: none;
|
|
884
|
+
}
|
|
885
|
+
}
|
|
868
886
|
.block {
|
|
869
887
|
display: block;
|
|
870
888
|
}
|
|
@@ -886,19 +904,6 @@
|
|
|
886
904
|
.table {
|
|
887
905
|
display: table;
|
|
888
906
|
}
|
|
889
|
-
.fd-scroll-container {
|
|
890
|
-
&::-webkit-scrollbar {
|
|
891
|
-
width: 5px;
|
|
892
|
-
height: 5px;
|
|
893
|
-
}
|
|
894
|
-
&::-webkit-scrollbar-thumb {
|
|
895
|
-
border-radius: 5px;
|
|
896
|
-
background: var(--color-fd-border);
|
|
897
|
-
}
|
|
898
|
-
&::-webkit-scrollbar-track {
|
|
899
|
-
background: transparent;
|
|
900
|
-
}
|
|
901
|
-
}
|
|
902
907
|
.size-3 {
|
|
903
908
|
width: calc(var(--spacing) * 3);
|
|
904
909
|
height: calc(var(--spacing) * 3);
|
|
@@ -930,6 +935,9 @@
|
|
|
930
935
|
.h-\(--fd-height\) {
|
|
931
936
|
height: var(--fd-height);
|
|
932
937
|
}
|
|
938
|
+
.h-\(--fd-nav-height\) {
|
|
939
|
+
height: var(--fd-nav-height);
|
|
940
|
+
}
|
|
933
941
|
.h-\(--fd-sidebar-height\) {
|
|
934
942
|
height: var(--fd-sidebar-height);
|
|
935
943
|
}
|
|
@@ -1079,8 +1087,8 @@
|
|
|
1079
1087
|
--tw-translate-x: calc(calc(1/2 * 100%) * -1);
|
|
1080
1088
|
translate: var(--tw-translate-x) var(--tw-translate-y);
|
|
1081
1089
|
}
|
|
1082
|
-
.translate-x-
|
|
1083
|
-
--tw-translate-x: calc(var(--spacing) *
|
|
1090
|
+
.translate-x-2 {
|
|
1091
|
+
--tw-translate-x: calc(var(--spacing) * 2);
|
|
1084
1092
|
translate: var(--tw-translate-x) var(--tw-translate-y);
|
|
1085
1093
|
}
|
|
1086
1094
|
.-translate-y-1\/2 {
|
|
@@ -1234,9 +1242,9 @@
|
|
|
1234
1242
|
.rounded-xl {
|
|
1235
1243
|
border-radius: var(--radius-xl);
|
|
1236
1244
|
}
|
|
1237
|
-
.rounded-e-
|
|
1238
|
-
border-start-end-radius: var(--radius-
|
|
1239
|
-
border-end-end-radius: var(--radius-
|
|
1245
|
+
.rounded-e-2xl {
|
|
1246
|
+
border-start-end-radius: var(--radius-2xl);
|
|
1247
|
+
border-end-end-radius: var(--radius-2xl);
|
|
1240
1248
|
}
|
|
1241
1249
|
.border {
|
|
1242
1250
|
border-style: var(--tw-border-style);
|
|
@@ -1461,6 +1469,9 @@
|
|
|
1461
1469
|
.ps-2 {
|
|
1462
1470
|
padding-inline-start: calc(var(--spacing) * 2);
|
|
1463
1471
|
}
|
|
1472
|
+
.ps-2\.5 {
|
|
1473
|
+
padding-inline-start: calc(var(--spacing) * 2.5);
|
|
1474
|
+
}
|
|
1464
1475
|
.ps-3 {
|
|
1465
1476
|
padding-inline-start: calc(var(--spacing) * 3);
|
|
1466
1477
|
}
|
|
@@ -1485,9 +1496,6 @@
|
|
|
1485
1496
|
.pt-0 {
|
|
1486
1497
|
padding-top: calc(var(--spacing) * 0);
|
|
1487
1498
|
}
|
|
1488
|
-
.pt-1\.5 {
|
|
1489
|
-
padding-top: calc(var(--spacing) * 1.5);
|
|
1490
|
-
}
|
|
1491
1499
|
.pt-8 {
|
|
1492
1500
|
padding-top: calc(var(--spacing) * 8);
|
|
1493
1501
|
}
|
|
@@ -1705,9 +1713,6 @@
|
|
|
1705
1713
|
.\[--fd-nav-height\:56px\] {
|
|
1706
1714
|
--fd-nav-height: 56px;
|
|
1707
1715
|
}
|
|
1708
|
-
.\[--fd-nav-height\:calc\(var\(--spacing\)\*14\)\] {
|
|
1709
|
-
--fd-nav-height: calc(var(--spacing) * 14);
|
|
1710
|
-
}
|
|
1711
1716
|
.\[--fd-tocnav-height\:36px\] {
|
|
1712
1717
|
--fd-tocnav-height: 36px;
|
|
1713
1718
|
}
|
|
@@ -1734,6 +1739,11 @@
|
|
|
1734
1739
|
display: flex;
|
|
1735
1740
|
}
|
|
1736
1741
|
}
|
|
1742
|
+
.\*\:w-\(--fd-sidebar-width\) {
|
|
1743
|
+
:is(& > *) {
|
|
1744
|
+
width: var(--fd-sidebar-width);
|
|
1745
|
+
}
|
|
1746
|
+
}
|
|
1737
1747
|
.\*\:flex-col {
|
|
1738
1748
|
:is(& > *) {
|
|
1739
1749
|
flex-direction: column;
|
|
@@ -1908,6 +1918,16 @@
|
|
|
1908
1918
|
display: none;
|
|
1909
1919
|
}
|
|
1910
1920
|
}
|
|
1921
|
+
.data-\[collapsed\=false\]\:w-\[calc\(var\(--fd-sidebar-width\)\+var\(--fd-layout-offset\)\)\] {
|
|
1922
|
+
&[data-collapsed="false"] {
|
|
1923
|
+
width: calc(var(--fd-sidebar-width) + var(--fd-layout-offset));
|
|
1924
|
+
}
|
|
1925
|
+
}
|
|
1926
|
+
.data-\[collapsed\=true\]\:me-\[calc\(var\(--fd-layout-offset\)-var\(--fd-sidebar-width\)\)\] {
|
|
1927
|
+
&[data-collapsed="true"] {
|
|
1928
|
+
margin-inline-end: calc(var(--fd-layout-offset) - var(--fd-sidebar-width));
|
|
1929
|
+
}
|
|
1930
|
+
}
|
|
1911
1931
|
.data-\[empty\=true\]\:hidden {
|
|
1912
1932
|
&[data-empty="true"] {
|
|
1913
1933
|
display: none;
|
|
@@ -1958,11 +1978,6 @@
|
|
|
1958
1978
|
animation: var(--animate-fd-dialog-out);
|
|
1959
1979
|
}
|
|
1960
1980
|
}
|
|
1961
|
-
.data-\[state\=closed\]\:animate-fd-exitToLeft {
|
|
1962
|
-
&[data-state="closed"] {
|
|
1963
|
-
animation: var(--animate-fd-exitToLeft);
|
|
1964
|
-
}
|
|
1965
|
-
}
|
|
1966
1981
|
.data-\[state\=closed\]\:animate-fd-fade-out {
|
|
1967
1982
|
&[data-state="closed"] {
|
|
1968
1983
|
animation: var(--animate-fd-fade-out);
|
|
@@ -1978,11 +1993,21 @@
|
|
|
1978
1993
|
animation: var(--animate-fd-popover-out);
|
|
1979
1994
|
}
|
|
1980
1995
|
}
|
|
1996
|
+
.data-\[state\=closed\]\:animate-fd-sidebar-out {
|
|
1997
|
+
&[data-state="closed"] {
|
|
1998
|
+
animation: var(--animate-fd-sidebar-out);
|
|
1999
|
+
}
|
|
2000
|
+
}
|
|
1981
2001
|
.data-\[state\=hidden\]\:animate-fd-fade-out {
|
|
1982
2002
|
&[data-state="hidden"] {
|
|
1983
2003
|
animation: var(--animate-fd-fade-out);
|
|
1984
2004
|
}
|
|
1985
2005
|
}
|
|
2006
|
+
.data-\[state\=inactive\]\:hidden {
|
|
2007
|
+
&[data-state="inactive"] {
|
|
2008
|
+
display: none;
|
|
2009
|
+
}
|
|
2010
|
+
}
|
|
1986
2011
|
.data-\[state\=open\]\:animate-fd-accordion-down {
|
|
1987
2012
|
&[data-state="open"] {
|
|
1988
2013
|
animation: var(--animate-fd-accordion-down);
|
|
@@ -1998,11 +2023,6 @@
|
|
|
1998
2023
|
animation: var(--animate-fd-dialog-in);
|
|
1999
2024
|
}
|
|
2000
2025
|
}
|
|
2001
|
-
.data-\[state\=open\]\:animate-fd-enterFromLeft {
|
|
2002
|
-
&[data-state="open"] {
|
|
2003
|
-
animation: var(--animate-fd-enterFromLeft);
|
|
2004
|
-
}
|
|
2005
|
-
}
|
|
2006
2026
|
.data-\[state\=open\]\:animate-fd-fade-in {
|
|
2007
2027
|
&[data-state="open"] {
|
|
2008
2028
|
animation: var(--animate-fd-fade-in);
|
|
@@ -2018,6 +2038,11 @@
|
|
|
2018
2038
|
animation: var(--animate-fd-popover-in);
|
|
2019
2039
|
}
|
|
2020
2040
|
}
|
|
2041
|
+
.data-\[state\=open\]\:animate-fd-sidebar-in {
|
|
2042
|
+
&[data-state="open"] {
|
|
2043
|
+
animation: var(--animate-fd-sidebar-in);
|
|
2044
|
+
}
|
|
2045
|
+
}
|
|
2021
2046
|
.data-\[state\=open\]\:bg-fd-accent\/50 {
|
|
2022
2047
|
&[data-state="open"] {
|
|
2023
2048
|
background-color: color-mix(in srgb, hsl(0, 0%, 90.1%) 50%, transparent);
|
|
@@ -2146,11 +2171,6 @@
|
|
|
2146
2171
|
padding-block: calc(var(--spacing) * 1.5);
|
|
2147
2172
|
}
|
|
2148
2173
|
}
|
|
2149
|
-
.md\:ps-\(--fd-layout-offset\) {
|
|
2150
|
-
@media (width >= 48rem) {
|
|
2151
|
-
padding-inline-start: var(--fd-layout-offset);
|
|
2152
|
-
}
|
|
2153
|
-
}
|
|
2154
2174
|
.md\:pt-12 {
|
|
2155
2175
|
@media (width >= 48rem) {
|
|
2156
2176
|
padding-top: calc(var(--spacing) * 12);
|
|
@@ -2173,6 +2193,11 @@
|
|
|
2173
2193
|
--fd-nav-height: 0px;
|
|
2174
2194
|
}
|
|
2175
2195
|
}
|
|
2196
|
+
.md\:\[--fd-nav-height\:64px\] {
|
|
2197
|
+
@media (width >= 48rem) {
|
|
2198
|
+
--fd-nav-height: 64px;
|
|
2199
|
+
}
|
|
2200
|
+
}
|
|
2176
2201
|
.md\:\[--fd-sidebar-width\:268px\] {
|
|
2177
2202
|
@media (width >= 48rem) {
|
|
2178
2203
|
--fd-sidebar-width: 268px;
|
|
@@ -2224,9 +2249,9 @@
|
|
|
2224
2249
|
border-width: 1px;
|
|
2225
2250
|
}
|
|
2226
2251
|
}
|
|
2227
|
-
.lg\:\[--fd-nav-height\:
|
|
2252
|
+
.lg\:\[--fd-nav-height\:104px\] {
|
|
2228
2253
|
@media (width >= 64rem) {
|
|
2229
|
-
--fd-nav-height:
|
|
2254
|
+
--fd-nav-height: 104px;
|
|
2230
2255
|
}
|
|
2231
2256
|
}
|
|
2232
2257
|
.lg\:\[--fd-padding\:1rem\] {
|
|
@@ -2234,9 +2259,9 @@
|
|
|
2234
2259
|
--fd-padding: 1rem;
|
|
2235
2260
|
}
|
|
2236
2261
|
}
|
|
2237
|
-
.lg\:\[--fd-sidebar-width\:
|
|
2262
|
+
.lg\:\[--fd-sidebar-width\:290px\] {
|
|
2238
2263
|
@media (width >= 64rem) {
|
|
2239
|
-
--fd-sidebar-width:
|
|
2264
|
+
--fd-sidebar-width: 290px;
|
|
2240
2265
|
}
|
|
2241
2266
|
}
|
|
2242
2267
|
.xl\:start-4 {
|
|
@@ -2264,6 +2289,11 @@
|
|
|
2264
2289
|
--fd-toc-width: 286px;
|
|
2265
2290
|
}
|
|
2266
2291
|
}
|
|
2292
|
+
.xl\:\[--fd-toc-width\:290px\] {
|
|
2293
|
+
@media (width >= 80rem) {
|
|
2294
|
+
--fd-toc-width: 290px;
|
|
2295
|
+
}
|
|
2296
|
+
}
|
|
2267
2297
|
.xl\:\[--fd-tocnav-height\:0px\] {
|
|
2268
2298
|
@media (width >= 80rem) {
|
|
2269
2299
|
--fd-tocnav-height: 0px;
|
|
@@ -2851,6 +2881,16 @@
|
|
|
2851
2881
|
transform: translateX(-200px);
|
|
2852
2882
|
}
|
|
2853
2883
|
}
|
|
2884
|
+
@keyframes fd-sidebar-in {
|
|
2885
|
+
from {
|
|
2886
|
+
transform: translateX(-100%);
|
|
2887
|
+
}
|
|
2888
|
+
}
|
|
2889
|
+
@keyframes fd-sidebar-out {
|
|
2890
|
+
to {
|
|
2891
|
+
transform: translateX(-100%);
|
|
2892
|
+
}
|
|
2893
|
+
}
|
|
2854
2894
|
@keyframes fd-nav-menu-in {
|
|
2855
2895
|
from {
|
|
2856
2896
|
opacity: 0;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fumadocs-ui",
|
|
3
|
-
"version": "15.3.
|
|
3
|
+
"version": "15.3.4",
|
|
4
4
|
"description": "The framework for building a documentation website in Next.js",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"NextJs",
|
|
@@ -89,7 +89,7 @@
|
|
|
89
89
|
"react-medium-image-zoom": "^5.2.14",
|
|
90
90
|
"react-remove-scroll": "^2.6.3",
|
|
91
91
|
"tailwind-merge": "^3.3.0",
|
|
92
|
-
"fumadocs-core": "15.3.
|
|
92
|
+
"fumadocs-core": "15.3.4"
|
|
93
93
|
},
|
|
94
94
|
"devDependencies": {
|
|
95
95
|
"@next/eslint-plugin-next": "^15.3.2",
|
|
@@ -100,9 +100,9 @@
|
|
|
100
100
|
"next": "15.3.2",
|
|
101
101
|
"tailwindcss": "^4.1.7",
|
|
102
102
|
"tsc-alias": "^1.8.16",
|
|
103
|
-
"@fumadocs/cli": "0.
|
|
103
|
+
"@fumadocs/cli": "0.2.0",
|
|
104
104
|
"eslint-config-custom": "0.0.0",
|
|
105
|
-
"fumadocs-core": "15.3.
|
|
105
|
+
"fumadocs-core": "15.3.4",
|
|
106
106
|
"tsconfig": "0.0.0"
|
|
107
107
|
},
|
|
108
108
|
"peerDependencies": {
|