fumadocs-ui 15.0.7 → 15.0.9
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/dist/components/layout/toc-clerk.d.ts +1 -2
- package/dist/components/layout/toc-clerk.d.ts.map +1 -1
- package/dist/components/layout/toc-clerk.js +9 -11
- package/dist/components/layout/toc.d.ts +5 -2
- package/dist/components/layout/toc.d.ts.map +1 -1
- package/dist/components/layout/toc.js +10 -6
- package/dist/components/ui/button.d.ts +1 -1
- package/dist/components/ui/button.d.ts.map +1 -1
- package/dist/components/ui/button.js +1 -0
- package/dist/layouts/docs/sidebar.js +1 -1
- package/dist/layouts/docs.client.d.ts.map +1 -1
- package/dist/layouts/docs.client.js +2 -19
- package/dist/layouts/docs.js +4 -4
- package/dist/layouts/notebook.client.d.ts +7 -1
- package/dist/layouts/notebook.client.d.ts.map +1 -1
- package/dist/layouts/notebook.client.js +29 -3
- package/dist/layouts/notebook.d.ts +6 -2
- package/dist/layouts/notebook.d.ts.map +1 -1
- package/dist/layouts/notebook.js +24 -24
- package/dist/page.client.js +1 -1
- package/dist/page.d.ts.map +1 -1
- package/dist/page.js +3 -3
- package/dist/style.css +398 -31
- package/package.json +8 -8
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { TOCItemType } from 'fumadocs-core/server';
|
|
2
|
-
export default function ClerkTOCItems({ items
|
|
2
|
+
export default function ClerkTOCItems({ items }: {
|
|
3
3
|
items: TOCItemType[];
|
|
4
|
-
isMenu?: boolean;
|
|
5
4
|
}): import("react/jsx-runtime").JSX.Element;
|
|
6
5
|
//# sourceMappingURL=toc-clerk.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toc-clerk.d.ts","sourceRoot":"","sources":["../../../src/components/layout/toc-clerk.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"toc-clerk.d.ts","sourceRoot":"","sources":["../../../src/components/layout/toc-clerk.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAOxD,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,WAAW,EAAE,CAAA;CAAE,2CA2FxE"}
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import * as Primitive from 'fumadocs-core/toc';
|
|
4
4
|
import { useEffect, useRef, useState } from 'react';
|
|
5
5
|
import { cn } from '../../utils/cn.js';
|
|
6
6
|
import { TocThumb } from '../../components/layout/toc-thumb.js';
|
|
7
|
-
import { ScrollArea, ScrollViewport } from '../ui/scroll-area.js';
|
|
8
7
|
import { TocItemsEmpty } from '../../components/layout/toc.js';
|
|
9
|
-
export default function ClerkTOCItems({ items
|
|
10
|
-
const viewRef = useRef(null);
|
|
8
|
+
export default function ClerkTOCItems({ items }) {
|
|
11
9
|
const containerRef = useRef(null);
|
|
12
10
|
const [svg, setSvg] = useState();
|
|
13
11
|
useEffect(() => {
|
|
@@ -47,13 +45,13 @@ export default function ClerkTOCItems({ items, }) {
|
|
|
47
45
|
}, [items]);
|
|
48
46
|
if (items.length === 0)
|
|
49
47
|
return _jsx(TocItemsEmpty, {});
|
|
50
|
-
return (
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
48
|
+
return (_jsxs(_Fragment, { children: [svg ? (_jsx("div", { className: "absolute start-0 top-0 rtl:-scale-x-100", style: {
|
|
49
|
+
width: svg.width,
|
|
50
|
+
height: svg.height,
|
|
51
|
+
maskImage: `url("data:image/svg+xml,${
|
|
52
|
+
// Inline SVG
|
|
53
|
+
encodeURIComponent(`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 ${svg.width} ${svg.height}"><path d="${svg.path}" stroke="black" stroke-width="1" fill="none" /></svg>`)}")`,
|
|
54
|
+
}, children: _jsx(TocThumb, { containerRef: containerRef, className: "mt-(--fd-top) h-(--fd-height) bg-fd-primary transition-all" }) })) : null, _jsx("div", { className: "flex flex-col", ref: containerRef, children: items.map((item, i) => (_jsx(TOCItem, { item: item, upper: items[i - 1]?.depth, lower: items[i + 1]?.depth }, item.url))) })] }));
|
|
57
55
|
}
|
|
58
56
|
function getItemOffset(depth) {
|
|
59
57
|
if (depth <= 2)
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { TOCItemType } from 'fumadocs-core/server';
|
|
2
2
|
import { type ComponentProps, type HTMLAttributes, type ReactNode } from 'react';
|
|
3
|
+
import { ScrollArea } from '../ui/scroll-area.js';
|
|
3
4
|
import type { PopoverContentProps, PopoverTriggerProps } from '@radix-ui/react-popover';
|
|
4
5
|
import { Collapsible } from '../../components/ui/collapsible.js';
|
|
5
6
|
export interface TOCProps {
|
|
@@ -15,10 +16,12 @@ export interface TOCProps {
|
|
|
15
16
|
}
|
|
16
17
|
export declare function Toc(props: HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
|
|
17
18
|
export declare function TocItemsEmpty(): import("react/jsx-runtime").JSX.Element;
|
|
18
|
-
export declare function
|
|
19
|
-
items: TOCItemType[];
|
|
19
|
+
export declare function TOCScrollArea({ isMenu, ...props }: ComponentProps<typeof ScrollArea> & {
|
|
20
20
|
isMenu?: boolean;
|
|
21
21
|
}): import("react/jsx-runtime").JSX.Element;
|
|
22
|
+
export declare function TOCItems({ items }: {
|
|
23
|
+
items: TOCItemType[];
|
|
24
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
22
25
|
type MakeRequired<T, K extends keyof T> = T & {
|
|
23
26
|
[P in K]-?: T[P];
|
|
24
27
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toc.d.ts","sourceRoot":"","sources":["../../../src/components/layout/toc.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EACL,KAAK,cAAc,EAEnB,KAAK,cAAc,EACnB,KAAK,SAAS,EAIf,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"toc.d.ts","sourceRoot":"","sources":["../../../src/components/layout/toc.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EACL,KAAK,cAAc,EAEnB,KAAK,cAAc,EACnB,KAAK,SAAS,EAIf,MAAM,OAAO,CAAC;AAIf,OAAO,EAAE,UAAU,EAAkB,MAAM,mBAAmB,CAAC;AAC/D,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,WAAW,EAGZ,MAAM,6BAA6B,CAAC;AAErC,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IAEnB;;OAEG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IAEnB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,wBAAgB,GAAG,CAAC,KAAK,EAAE,cAAc,CAAC,cAAc,CAAC,2CAyBxD;AAED,wBAAgB,aAAa,4CAQ5B;AAED,wBAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,OAAO,UAAU,CAAC,GAAG;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,2CAqB1D;AAED,wBAAgB,QAAQ,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,WAAW,EAAE,CAAA;CAAE,2CAqB3D;AAkBD,KAAK,YAAY,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,CAAC,GAAG;KAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC;AASnE,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,YAAY,EACZ,GAAG,EAAE,IAAI,EACT,GAAG,KAAK,EACT,EAAE,YAAY,CAAC,cAAc,CAAC,OAAO,WAAW,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC,2CAgB3E;AAED,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,GAAG,KAAK,EACT,EAAE,mBAAmB,GAAG;IAAE,KAAK,EAAE,WAAW,EAAE,CAAA;CAAE,2CAmChD;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,mBAAmB,2CAU3D"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import * as Primitive from 'fumadocs-core/toc';
|
|
4
4
|
import { createContext, use, useMemo, useRef, } from 'react';
|
|
5
5
|
import { cn } from '../../utils/cn.js';
|
|
@@ -20,19 +20,23 @@ export function TocItemsEmpty() {
|
|
|
20
20
|
const { text } = useI18n();
|
|
21
21
|
return (_jsx("div", { className: "rounded-lg border bg-fd-card p-3 text-xs text-fd-muted-foreground", children: text.tocNoHeadings }));
|
|
22
22
|
}
|
|
23
|
-
export function
|
|
24
|
-
const containerRef = useRef(null);
|
|
23
|
+
export function TOCScrollArea({ isMenu, ...props }) {
|
|
25
24
|
const viewRef = useRef(null);
|
|
25
|
+
return (_jsx(ScrollArea, { ...props, className: cn('flex flex-col ps-px', props.className), children: _jsx(Primitive.ScrollProvider, { containerRef: viewRef, children: _jsx(ScrollViewport, { className: cn('relative min-h-0 text-sm', isMenu && 'mt-2 mb-4 mx-4 md:mx-6'), ref: viewRef, children: props.children }) }) }));
|
|
26
|
+
}
|
|
27
|
+
export function TOCItems({ items }) {
|
|
28
|
+
const containerRef = useRef(null);
|
|
26
29
|
if (items.length === 0)
|
|
27
30
|
return _jsx(TocItemsEmpty, {});
|
|
28
|
-
return (
|
|
31
|
+
return (_jsxs(_Fragment, { children: [_jsx(TocThumb, { containerRef: containerRef, className: "absolute start-0 mt-(--fd-top) h-(--fd-height) w-px bg-fd-primary transition-all" }), _jsx("div", { ref: containerRef, className: "flex flex-col border-s border-fd-foreground/10", children: items.map((item) => (_jsx(TOCItem, { item: item }, item.url))) })] }));
|
|
29
32
|
}
|
|
30
33
|
function TOCItem({ item }) {
|
|
31
34
|
return (_jsx(Primitive.TOCItem, { href: item.url, className: cn('prose py-1.5 text-sm text-fd-muted-foreground transition-colors [overflow-wrap:anywhere] first:pt-0 last:pb-0 data-[active=true]:text-fd-primary', item.depth <= 2 && 'ps-3', item.depth === 3 && 'ps-6', item.depth >= 4 && 'ps-8'), children: item.title }));
|
|
32
35
|
}
|
|
33
36
|
const Context = createContext(null);
|
|
37
|
+
const TocProvider = Context.Provider || Context;
|
|
34
38
|
export function TocPopover({ open, onOpenChange, ref: _ref, ...props }) {
|
|
35
|
-
return (_jsx(Collapsible, { open: open, onOpenChange: onOpenChange, ...props, children: _jsx(
|
|
39
|
+
return (_jsx(Collapsible, { open: open, onOpenChange: onOpenChange, ...props, children: _jsx(TocProvider, { value: useMemo(() => ({
|
|
36
40
|
open,
|
|
37
41
|
setOpen: onOpenChange,
|
|
38
42
|
}), [onOpenChange, open]), children: props.children }) }));
|
|
@@ -44,7 +48,7 @@ export function TocPopoverTrigger({ items, ...props }) {
|
|
|
44
48
|
const current = useMemo(() => {
|
|
45
49
|
return items.find((item) => active === item.url.slice(1))?.title;
|
|
46
50
|
}, [items, active]);
|
|
47
|
-
return (_jsxs(CollapsibleTrigger, { ...props, className: cn('inline-flex items-center text-sm gap-2 text-nowrap px-4 py-2 text-start md:px-6 md:py-3', props.className), children: [_jsx(Text, { className: "size-4 shrink-0" }), text.toc, _jsx(ChevronRight, { className: cn('size-4 shrink-0 text-fd-muted-foreground transition-all', !current && 'opacity-0', open ? 'rotate-90' : '-ms-1.5') }), _jsx("span", { className: cn('truncate text-fd-muted-foreground transition-opacity -ms-1.5', (!current || open) && 'opacity-0'), children: current })] }));
|
|
51
|
+
return (_jsxs(CollapsibleTrigger, { ...props, className: cn('inline-flex items-center text-sm gap-2 text-nowrap px-4 py-2 text-start md:px-6 md:py-3 focus-visible:outline-none', props.className), children: [_jsx(Text, { className: "size-4 shrink-0" }), text.toc, _jsx(ChevronRight, { className: cn('size-4 shrink-0 text-fd-muted-foreground transition-all', !current && 'opacity-0', open ? 'rotate-90' : '-ms-1.5') }), _jsx("span", { className: cn('truncate text-fd-muted-foreground transition-opacity -ms-1.5', (!current || open) && 'opacity-0'), children: current })] }));
|
|
48
52
|
}
|
|
49
53
|
export function TocPopoverContent(props) {
|
|
50
54
|
return (_jsx(CollapsibleContent, { "data-toc-popover": "", className: "flex flex-col max-h-[50vh]", ...props, children: props.children }));
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare const buttonVariants: (props?: ({
|
|
2
2
|
color?: "primary" | "outline" | "ghost" | "secondary" | null | undefined;
|
|
3
|
-
size?: "sm" | "icon" | null | undefined;
|
|
3
|
+
size?: "sm" | "icon" | "icon-sm" | null | undefined;
|
|
4
4
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
5
5
|
//# sourceMappingURL=button.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../../src/components/ui/button.tsx"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc;;;
|
|
1
|
+
{"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../../src/components/ui/button.tsx"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc;;;8EAmB1B,CAAC"}
|
|
@@ -130,7 +130,7 @@ export function SidebarFolderLink(props) {
|
|
|
130
130
|
}
|
|
131
131
|
export function SidebarFolderContent(props) {
|
|
132
132
|
const ctx = useInternalContext();
|
|
133
|
-
return (_jsx(CollapsibleContent, { ...props, className: cn('relative', props.className), children: _jsxs(Context, { value: useMemo(() => ({
|
|
133
|
+
return (_jsx(CollapsibleContent, { ...props, className: cn('relative', props.className), children: _jsxs(Context.Provider, { value: useMemo(() => ({
|
|
134
134
|
...ctx,
|
|
135
135
|
level: ctx.level + 1,
|
|
136
136
|
}), [ctx]), children: [_jsx("div", { className: "absolute w-px inset-y-0 bg-fd-border start-3" }), props.children] }) }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docs.client.d.ts","sourceRoot":"","sources":["../../src/layouts/docs.client.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,oBAAoB,EAAE,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"docs.client.d.ts","sourceRoot":"","sources":["../../src/layouts/docs.client.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,oBAAoB,EAAE,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AAOvE,wBAAgB,MAAM,CAAC,KAAK,EAAE,cAAc,CAAC,WAAW,CAAC,2CAiBxD;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,oBAAoB,CAAC,iBAAiB,CAAC,2CAkB/C"}
|
|
@@ -1,15 +1,11 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { jsx as _jsx
|
|
3
|
-
import {
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { Menu, X } from 'lucide-react';
|
|
4
4
|
import { cn } from '../utils/cn.js';
|
|
5
|
-
import { BaseLinkItem } from '../layouts/links.js';
|
|
6
|
-
import { Collapsible, CollapsibleContent, CollapsibleTrigger, } from '../components/ui/collapsible.js';
|
|
7
|
-
import { cva } from 'class-variance-authority';
|
|
8
5
|
import { buttonVariants } from '../components/ui/button.js';
|
|
9
6
|
import { useSidebar } from '../contexts/sidebar.js';
|
|
10
7
|
import { useNav } from '../components/layout/nav.js';
|
|
11
8
|
import { SidebarTrigger } from 'fumadocs-core/sidebar';
|
|
12
|
-
const itemVariants = cva('flex flex-row items-center gap-2 rounded-md px-3 py-2.5 text-fd-muted-foreground transition-colors duration-100 [overflow-wrap:anywhere] hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none md:px-2 md:py-1.5 [&_svg]:size-4');
|
|
13
9
|
export function Navbar(props) {
|
|
14
10
|
const { open } = useSidebar();
|
|
15
11
|
const { isTransparent } = useNav();
|
|
@@ -22,16 +18,3 @@ export function NavbarSidebarTrigger(props) {
|
|
|
22
18
|
size: 'icon',
|
|
23
19
|
}), props.className), children: open ? _jsx(X, {}) : _jsx(Menu, {}) }));
|
|
24
20
|
}
|
|
25
|
-
function MenuItem({ item, ...props }) {
|
|
26
|
-
if (item.type === 'custom')
|
|
27
|
-
return (_jsx("div", { ...props, className: cn('grid', props.className), children: item.children }));
|
|
28
|
-
if (item.type === 'menu') {
|
|
29
|
-
return (_jsxs(Collapsible, { className: "flex flex-col", children: [_jsxs(CollapsibleTrigger, { ...props, className: cn(itemVariants(), 'group', props.className), children: [item.icon, item.text, _jsx(ChevronDown, { className: "ms-auto transition-transform group-data-[state=closed]:-rotate-90" })] }), _jsx(CollapsibleContent, { children: _jsx("div", { className: "flex flex-col py-2 ps-2", children: item.items.map((child, i) => (_jsx(MenuItem, { item: child }, i))) }) })] }));
|
|
30
|
-
}
|
|
31
|
-
return (_jsxs(BaseLinkItem, { item: item, ...props, className: cn(item.type === 'button'
|
|
32
|
-
? buttonVariants({
|
|
33
|
-
color: 'secondary',
|
|
34
|
-
className: 'gap-1.5 [&_svg]:size-4',
|
|
35
|
-
})
|
|
36
|
-
: itemVariants(), props.className), children: [item.icon, item.text] }));
|
|
37
|
-
}
|
package/dist/layouts/docs.js
CHANGED
|
@@ -22,7 +22,7 @@ export function DocsLayout({ nav: { enabled: navEnabled = true, component: navRe
|
|
|
22
22
|
const Aside = collapsible ? CollapsibleSidebar : Sidebar;
|
|
23
23
|
const tabs = getSidebarTabsFromOptions(tabOptions, props.tree) ?? [];
|
|
24
24
|
const variables = cn('[--fd-tocnav-height:36px] md:[--fd-sidebar-width:268px] lg:[--fd-sidebar-width:286px] xl:[--fd-toc-width:286px] xl:[--fd-tocnav-height:0px]', !navReplace && navEnabled
|
|
25
|
-
? '[--fd-nav-height:
|
|
25
|
+
? '[--fd-nav-height:calc(var(--spacing)*14)] md:[--fd-nav-height:0px]'
|
|
26
26
|
: undefined);
|
|
27
27
|
const pageStyles = {
|
|
28
28
|
tocNav: cn('xl:hidden'),
|
|
@@ -47,14 +47,14 @@ function SidebarHeaderItems({ links, sidebarCollapsible, ...props }) {
|
|
|
47
47
|
return null;
|
|
48
48
|
return (_jsxs("div", { className: "flex flex-row items-center max-md:hidden", children: [props.title ? (_jsx(Link, { href: props.url ?? '/', className: "inline-flex text-[15px] items-center gap-2.5 py-1 font-medium", children: props.title })) : null, props.children, sidebarCollapsible && (_jsx(SidebarCollapseTrigger, { className: cn(buttonVariants({
|
|
49
49
|
color: 'ghost',
|
|
50
|
-
size: 'icon',
|
|
51
|
-
}), 'ms-auto text-fd-muted-foreground
|
|
50
|
+
size: 'icon-sm',
|
|
51
|
+
}), 'ms-auto text-fd-muted-foreground max-md:hidden') }))] }));
|
|
52
52
|
}
|
|
53
53
|
function SidebarFooterItems({ i18n, disableThemeSwitch, links, }) {
|
|
54
54
|
const iconItems = links.filter((v) => v.type === 'icon');
|
|
55
55
|
// empty footer items
|
|
56
56
|
if (links.length === 0 && !i18n && disableThemeSwitch)
|
|
57
57
|
return null;
|
|
58
|
-
return (_jsxs("div", { className: "flex flex-row items-center", children: [iconItems.map((item, i) => (_jsx(BaseLinkItem, { item: item, className: cn(buttonVariants({ size: 'icon', color: 'ghost' }), 'text-fd-muted-foreground md:[&_svg]:size-4.5'), "aria-label": item.label, children: item.icon }, i))), _jsx("div", { role: "separator", className: "flex-1" }), i18n ? (_jsxs(LanguageToggle, { className: "me-1.5", children: [_jsx(Languages, { className: "size-5" }), _jsx(LanguageToggleText, { className: "md:hidden" })] })) : null, !disableThemeSwitch ? _jsx(ThemeToggle, { className: "p-0" }) : null] }));
|
|
58
|
+
return (_jsxs("div", { className: "flex flex-row items-center", children: [iconItems.map((item, i) => (_jsx(BaseLinkItem, { item: item, className: cn(buttonVariants({ size: 'icon', color: 'ghost' }), 'text-fd-muted-foreground md:[&_svg]:size-4.5'), "aria-label": item.label, children: item.icon }, i))), _jsx("div", { role: "separator", className: "flex-1" }), i18n ? (_jsxs(LanguageToggle, { className: "me-1.5", children: [_jsx(Languages, { className: "size-4.5" }), _jsx(LanguageToggleText, { className: "md:hidden" })] })) : null, !disableThemeSwitch ? _jsx(ThemeToggle, { className: "p-0" }) : null] }));
|
|
59
59
|
}
|
|
60
60
|
export { getSidebarTabsFromOptions } from './docs/shared.js';
|
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type ButtonHTMLAttributes, type HTMLAttributes } from 'react';
|
|
2
|
+
import type { Option } from '../components/layout/root-toggle.js';
|
|
2
3
|
export declare function Navbar(props: HTMLAttributes<HTMLElement>): import("react/jsx-runtime").JSX.Element;
|
|
3
4
|
export declare function NavbarSidebarTrigger(props: ButtonHTMLAttributes<HTMLButtonElement>): import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
export declare function LayoutTabs(props: HTMLAttributes<HTMLElement>): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export declare function LayoutTab(item: Option): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export declare function SidebarLayoutTab({ item, ...props }: {
|
|
8
|
+
item: Option;
|
|
9
|
+
} & HTMLAttributes<HTMLElement>): import("react/jsx-runtime").JSX.Element;
|
|
4
10
|
//# sourceMappingURL=notebook.client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notebook.client.d.ts","sourceRoot":"","sources":["../../src/layouts/notebook.client.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"notebook.client.d.ts","sourceRoot":"","sources":["../../src/layouts/notebook.client.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,oBAAoB,EAAE,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AASvE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAE9D,wBAAgB,MAAM,CAAC,KAAK,EAAE,cAAc,CAAC,WAAW,CAAC,2CAyBxD;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,oBAAoB,CAAC,iBAAiB,CAAC,2CAkB/C;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,cAAc,CAAC,WAAW,CAAC,2CAY5D;AAUD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,2CAkBrC;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,IAAI,EACJ,GAAG,KAAK,EACT,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,cAAc,CAAC,WAAW,CAAC,2CAoBhD"}
|
|
@@ -1,19 +1,23 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { cn } from '../utils/cn.js';
|
|
4
4
|
import { useSidebar } from '../contexts/sidebar.js';
|
|
5
5
|
import { useNav } from '../components/layout/nav.js';
|
|
6
6
|
import { SidebarTrigger } from 'fumadocs-core/sidebar';
|
|
7
7
|
import { buttonVariants } from '../components/ui/button.js';
|
|
8
8
|
import { Menu, X } from 'lucide-react';
|
|
9
|
+
import Link from 'fumadocs-core/link';
|
|
10
|
+
import { usePathname } from 'next/navigation';
|
|
11
|
+
import { isActive } from '../utils/is-active.js';
|
|
9
12
|
export function Navbar(props) {
|
|
10
13
|
const { open, collapsed } = useSidebar();
|
|
11
14
|
const { isTransparent } = useNav();
|
|
12
15
|
return (_jsx("header", { id: "nd-subnav", ...props, className: cn('fixed inset-x-0 top-(--fd-banner-height) z-10 h-14 pe-(--fd-layout-offset) backdrop-blur-lg transition-colors', (!isTransparent || open) && 'bg-fd-background/80', props.className), style: {
|
|
13
16
|
paddingInlineStart: collapsed
|
|
14
|
-
? '
|
|
17
|
+
? 'var(--fd-layout-offset)'
|
|
15
18
|
: 'calc(var(--fd-layout-offset) + var(--fd-sidebar-width))',
|
|
16
|
-
|
|
19
|
+
...props.style,
|
|
20
|
+
}, children: props.children }));
|
|
17
21
|
}
|
|
18
22
|
export function NavbarSidebarTrigger(props) {
|
|
19
23
|
const { open } = useSidebar();
|
|
@@ -22,3 +26,25 @@ export function NavbarSidebarTrigger(props) {
|
|
|
22
26
|
size: 'icon',
|
|
23
27
|
}), props.className), children: open ? _jsx(X, {}) : _jsx(Menu, {}) }));
|
|
24
28
|
}
|
|
29
|
+
export function LayoutTabs(props) {
|
|
30
|
+
return (_jsx("div", { ...props, className: cn('flex flex-row items-end gap-6 overflow-auto', props.className), children: props.children }));
|
|
31
|
+
}
|
|
32
|
+
function useIsSelected(item) {
|
|
33
|
+
const pathname = usePathname();
|
|
34
|
+
return item.urls
|
|
35
|
+
? item.urls.has(pathname.endsWith('/') ? pathname.slice(0, -1) : pathname)
|
|
36
|
+
: isActive(item.url, pathname, true);
|
|
37
|
+
}
|
|
38
|
+
export function LayoutTab(item) {
|
|
39
|
+
const { closeOnRedirect } = useSidebar();
|
|
40
|
+
const selected = useIsSelected(item);
|
|
41
|
+
return (_jsx(Link, { className: cn('inline-flex items-center py-2.5 border-b-2 border-transparent gap-2 text-fd-muted-foreground text-sm text-nowrap', selected && 'text-fd-foreground font-medium border-fd-primary'), href: item.url, onClick: () => {
|
|
42
|
+
closeOnRedirect.current = false;
|
|
43
|
+
}, children: item.title }));
|
|
44
|
+
}
|
|
45
|
+
export function SidebarLayoutTab({ item, ...props }) {
|
|
46
|
+
const selected = useIsSelected(item);
|
|
47
|
+
return (_jsxs(Link, { ...props, className: cn('flex flex-row items-center px-2 py-1.5 gap-2.5 text-fd-muted-foreground [&_svg]:!size-4.5', selected
|
|
48
|
+
? 'text-fd-primary font-medium'
|
|
49
|
+
: 'hover:text-fd-accent-foreground', props.className), "data-active": selected, href: item.url, children: [item.icon, item.title] }));
|
|
50
|
+
}
|
|
@@ -1,11 +1,15 @@
|
|
|
1
|
-
import { type HTMLAttributes
|
|
1
|
+
import { type HTMLAttributes } from 'react';
|
|
2
2
|
import { type BaseLayoutProps } from '../layouts/shared.js';
|
|
3
3
|
import { type SidebarOptions } from '../layouts/docs/shared.js';
|
|
4
4
|
import type { PageTree } from 'fumadocs-core/server';
|
|
5
5
|
export interface DocsLayoutProps extends BaseLayoutProps {
|
|
6
6
|
tree: PageTree.Root;
|
|
7
|
+
tabMode?: 'sidebar' | 'navbar';
|
|
8
|
+
nav?: BaseLayoutProps['nav'] & {
|
|
9
|
+
mode?: 'top' | 'auto';
|
|
10
|
+
};
|
|
7
11
|
sidebar?: Omit<Partial<SidebarOptions>, 'component' | 'enabled'>;
|
|
8
12
|
containerProps?: HTMLAttributes<HTMLDivElement>;
|
|
9
13
|
}
|
|
10
|
-
export declare function DocsLayout({ nav: { transparentMode, ...nav }, sidebar: { collapsible: sidebarCollapsible, tabs: tabOptions, banner: sidebarBanner, footer: sidebarFooter, components: sidebarComponents, ...sidebar }, i18n, ...props }: DocsLayoutProps):
|
|
14
|
+
export declare function DocsLayout({ tabMode, nav: { transparentMode, ...nav }, sidebar: { collapsible: sidebarCollapsible, tabs: tabOptions, banner: sidebarBanner, footer: sidebarFooter, components: sidebarComponents, ...sidebar }, i18n, ...props }: DocsLayoutProps): import("react/jsx-runtime").JSX.Element;
|
|
11
15
|
//# sourceMappingURL=notebook.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notebook.d.ts","sourceRoot":"","sources":["../../src/layouts/notebook.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"notebook.d.ts","sourceRoot":"","sources":["../../src/layouts/notebook.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,EAAE,KAAK,eAAe,EAAY,MAAM,kBAAkB,CAAC;AA4BlE,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAWrD,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,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC,CAAC;IAEjE,cAAc,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;CACjD;AAED,wBAAgB,UAAU,CAAC,EACzB,OAAmB,EACnB,GAAG,EAAE,EAAE,eAAe,EAAE,GAAG,GAAG,EAAO,EACrC,OAAO,EAAE,EACP,WAAW,EAAE,kBAAyB,EACtC,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,iBAAiB,EAC7B,GAAG,OAAO,EACN,EACN,IAAY,EACZ,GAAG,KAAK,EACT,EAAE,eAAe,2CA2GjB"}
|
package/dist/layouts/notebook.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Fragment } from 'react';
|
|
3
|
-
import { getLinks
|
|
3
|
+
import { getLinks } from '../layouts/shared.js';
|
|
4
4
|
import { CollapsibleSidebar, Sidebar, SidebarCollapseTrigger, SidebarFooter, SidebarHeader, SidebarViewport, SidebarPageTree, } from '../layouts/docs/sidebar.js';
|
|
5
|
-
import { RootToggle } from '../components/layout/root-toggle.js';
|
|
6
5
|
import { TreeContextProvider } from '../contexts/tree.js';
|
|
7
6
|
import { NavProvider, Title } from '../components/layout/nav.js';
|
|
8
7
|
import { LargeSearchToggle, SearchToggle, } from '../components/layout/search-toggle.js';
|
|
@@ -15,14 +14,18 @@ import { LanguageToggle } from '../components/layout/language-toggle.js';
|
|
|
15
14
|
import { ThemeToggle } from '../components/layout/theme-toggle.js';
|
|
16
15
|
import { Popover, PopoverContent, PopoverTrigger, } from '../components/ui/popover.js';
|
|
17
16
|
import { checkPageTree, getSidebarTabsFromOptions, layoutVariables, SidebarLinkItem, } from '../layouts/docs/shared.js';
|
|
18
|
-
import { Navbar, NavbarSidebarTrigger } from './notebook.client.js';
|
|
17
|
+
import { LayoutTab, LayoutTabs, Navbar, NavbarSidebarTrigger, SidebarLayoutTab, } from './notebook.client.js';
|
|
19
18
|
import { StylesProvider } from '../contexts/layout.js';
|
|
20
|
-
|
|
19
|
+
import { RootToggle } from '../components/layout/root-toggle.js';
|
|
20
|
+
export function DocsLayout({ tabMode = 'sidebar', nav: { transparentMode, ...nav } = {}, sidebar: { collapsible: sidebarCollapsible = true, tabs: tabOptions, banner: sidebarBanner, footer: sidebarFooter, components: sidebarComponents, ...sidebar } = {}, i18n = false, ...props }) {
|
|
21
21
|
checkPageTree(props.tree);
|
|
22
|
+
const navMode = nav.mode ?? 'auto';
|
|
22
23
|
const links = getLinks(props.links ?? [], props.githubUrl);
|
|
23
24
|
const Aside = sidebarCollapsible ? CollapsibleSidebar : Sidebar;
|
|
24
25
|
const tabs = getSidebarTabsFromOptions(tabOptions, props.tree) ?? [];
|
|
25
|
-
const variables = cn('[--fd-nav-height:
|
|
26
|
+
const variables = cn('[--fd-nav-height:calc(var(--spacing)*14)] [--fd-tocnav-height:36px] md:[--fd-sidebar-width:286px] xl:[--fd-toc-width:286px] xl:[--fd-tocnav-height:0px]', tabs.length > 0 &&
|
|
27
|
+
tabMode === 'navbar' &&
|
|
28
|
+
'lg:[--fd-nav-height:calc(var(--spacing)*26)]');
|
|
26
29
|
const pageStyles = {
|
|
27
30
|
tocNav: cn('xl:hidden'),
|
|
28
31
|
toc: cn('max-xl:hidden'),
|
|
@@ -31,20 +34,23 @@ export function DocsLayout({ nav: { transparentMode, ...nav } = {}, sidebar: { c
|
|
|
31
34
|
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: {
|
|
32
35
|
...layoutVariables,
|
|
33
36
|
...props.containerProps?.style,
|
|
34
|
-
}, children: [_jsxs(Aside, { ...sidebar, className: cn('md:ps-(--fd-layout-offset) md:[--fd-nav-height:0px]', sidebar.className), children: [_jsxs(SidebarHeader, { children: [
|
|
35
|
-
|
|
36
|
-
size: 'icon',
|
|
37
|
-
}), 'ms-auto text-fd-muted-foreground') })) : null] }), sidebarBanner, tabs.length > 0 ? (_jsx(RootToggle, { options: tabs, className: "-mx-2" })) : null] }), _jsxs(SidebarViewport, { children: [_jsx("div", { className: "mb-4 empty:hidden lg:hidden", children: links.map((item, i) => (_jsx(SidebarLinkItem, { item: item }, i))) }), _jsx(SidebarPageTree, { components: sidebarComponents })] }), _jsxs(SidebarFooter, { className: cn(!sidebarFooter && 'md:hidden'), children: [!props.disableThemeSwitch ? (_jsx(ThemeToggle, { className: "w-fit md:hidden", mode: "light-dark-system" })) : null, sidebarFooter] })] }), _jsx(DocsNavbar, { nav: nav, links: links, i18n: i18n, sidebarCollapsible: sidebarCollapsible }), _jsx(StylesProvider, { ...pageStyles, children: props.children })] }) }) }));
|
|
37
|
+
}, children: [_jsxs(Aside, { ...sidebar, className: cn('md:ps-(--fd-layout-offset)', navMode === 'top' ? 'bg-transparent' : 'md:[--fd-nav-height:0px]', sidebar.className), children: [_jsxs(SidebarHeader, { children: [nav.title && navMode === 'auto' ? (_jsx(Link, { href: nav.url ?? '/', className: "inline-flex items-center gap-2.5 py-1 font-medium max-md:hidden", children: nav.title })) : null, nav.children, sidebarBanner, tabMode === 'sidebar' && tabs.length > 0 ? (_jsx(RootToggle, { options: tabs, className: "-mx-2" })) : null] }), _jsxs(SidebarViewport, { children: [tabMode === 'navbar' &&
|
|
38
|
+
tabs.map((tab, i) => (_jsx(SidebarLayoutTab, { item: tab, className: cn('lg:hidden', i === tabs.length - 1 && 'mb-4') }, tab.url))), links.map((item, i) => (_jsx(SidebarLinkItem, { item: item, className: cn('lg:hidden', i === links.length - 1 && 'mb-4') }, i))), _jsx(SidebarPageTree, { components: sidebarComponents })] }), _jsxs(SidebarFooter, { className: cn('flex flex-row items-center', !sidebarFooter && 'md:hidden'), children: [i18n ? (_jsx(LanguageToggle, { className: "me-auto md:hidden", children: _jsx(Languages, { className: "size-5 text-fd-muted-foreground" }) })) : null, !props.disableThemeSwitch ? (_jsx(ThemeToggle, { className: "md:hidden", mode: "light-dark-system" })) : null, sidebarFooter] })] }), _jsx(DocsNavbar, { nav: nav, links: links, i18n: i18n, sidebarCollapsible: sidebarCollapsible, tabs: tabMode == 'navbar' ? tabs : [] }), _jsx(StylesProvider, { ...pageStyles, children: props.children })] }) }) }));
|
|
38
39
|
}
|
|
39
|
-
function DocsNavbar({ sidebarCollapsible, links, nav = {}, i18n, }) {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
40
|
+
function DocsNavbar({ sidebarCollapsible, links, nav = {}, i18n, tabs, }) {
|
|
41
|
+
const navMode = nav.mode ?? 'auto';
|
|
42
|
+
return (_jsxs(Navbar, { className: cn('flex flex-col h-14', tabs.length > 0 && 'lg:h-26'), style: navMode === 'top'
|
|
43
|
+
? {
|
|
44
|
+
paddingInlineStart: 'var(--fd-layout-offset)',
|
|
45
|
+
}
|
|
46
|
+
: undefined, children: [_jsxs("div", { className: "flex flex-row border-b border-fd-foreground/10 px-4 flex-1 md:px-6", children: [_jsxs("div", { className: cn('flex flex-row items-center', navMode === 'top' && 'flex-1'), children: [_jsx(Title, { url: nav.url, title: nav.title, className: cn(navMode === 'auto' ? 'md:hidden' : 'pe-6') }), sidebarCollapsible ? (_jsx(SidebarCollapseTrigger, { className: cn(buttonVariants({
|
|
47
|
+
color: 'ghost',
|
|
48
|
+
size: 'icon',
|
|
49
|
+
}), 'text-fd-muted-foreground data-[collapsed=false]:hidden max-md:hidden') })) : null] }), _jsx(LargeSearchToggle, { hideIfDisabled: true, className: cn('w-full my-auto rounded-xl max-md:hidden', navMode === 'top' ? 'max-w-sm px-2' : '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
|
|
50
|
+
.filter((item) => item.type !== 'icon')
|
|
51
|
+
.map((item, i) => (_jsx(NavbarLinkItem, { item: item, className: "text-sm text-fd-muted-foreground transition-colors hover:text-fd-accent-foreground" }, i))) }), nav.children, _jsx(SearchToggle, { hideIfDisabled: true, className: "md:hidden" }), _jsx(NavbarSidebarTrigger, { className: "md:hidden" }), links
|
|
52
|
+
.filter((item) => item.type === 'icon')
|
|
53
|
+
.map((item, i) => (_jsx(BaseLinkItem, { item: item, className: cn(buttonVariants({ size: 'icon-sm', color: 'ghost' }), 'text-fd-muted-foreground max-lg:hidden'), "aria-label": item.label, children: item.icon }, i))), i18n ? (_jsx(LanguageToggle, { className: "max-md:hidden", children: _jsx(Languages, { className: "size-4.5 text-fd-muted-foreground" }) })) : null, _jsx(ThemeToggle, { className: "ms-2 max-md:hidden", mode: "light-dark-system" })] })] }), tabs.length > 0 ? (_jsx(LayoutTabs, { className: "px-6 border-b border-fd-foreground/10 max-lg:hidden", children: tabs.map((tab) => (_jsx(LayoutTab, { ...tab }, tab.url))) })) : null] }));
|
|
48
54
|
}
|
|
49
55
|
function NavbarLinkItem({ item, ...props }) {
|
|
50
56
|
if (item.type === 'menu') {
|
|
@@ -58,9 +64,3 @@ function NavbarLinkItem({ item, ...props }) {
|
|
|
58
64
|
return item.children;
|
|
59
65
|
return (_jsx(BaseLinkItem, { item: item, ...props, children: item.text }));
|
|
60
66
|
}
|
|
61
|
-
function SidebarHeaderItems({ links, nav = {}, children, }) {
|
|
62
|
-
const isEmpty = !nav.title && !nav.children && links.length === 0;
|
|
63
|
-
if (isEmpty)
|
|
64
|
-
return null;
|
|
65
|
-
return (_jsxs("div", { className: "flex flex-row items-center max-md:hidden", children: [nav.title ? (_jsx(Link, { href: nav.url ?? '/', className: "inline-flex items-center gap-2.5 py-1 font-medium", children: nav.title })) : null, children] }));
|
|
66
|
-
}
|
package/dist/page.client.js
CHANGED
|
@@ -104,7 +104,7 @@ export function Breadcrumb(options) {
|
|
|
104
104
|
}, [options, path, root]);
|
|
105
105
|
if (items.length === 0)
|
|
106
106
|
return null;
|
|
107
|
-
return (_jsx("div", { className: "flex flex-row items-center gap-1.5 text-[15px] text-fd-muted-foreground
|
|
107
|
+
return (_jsx("div", { className: "flex flex-row items-center gap-1.5 text-[15px] text-fd-muted-foreground", children: items.map((item, i) => {
|
|
108
108
|
const className = cn('truncate', i === items.length - 1 && 'text-fd-primary font-medium');
|
|
109
109
|
return (_jsxs(Fragment, { children: [i !== 0 && _jsx("span", { className: "text-fd-foreground/30", children: "/" }), item.url ? (_jsx(Link, { href: item.url, className: cn(className, 'transition-opacity hover:opacity-80'), children: item.name })) : (_jsx("span", { className: className, children: item.name }))] }, i));
|
|
110
110
|
}) }));
|
package/dist/page.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../src/page.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EACL,KAAK,oBAAoB,EAEzB,KAAK,cAAc,EACnB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,KAAK,mBAAmB,EAAkB,MAAM,mBAAmB,CAAC;AAI7E,OAAO,EAEL,KAAK,WAAW,EAIhB,KAAK,eAAe,EAGrB,MAAM,eAAe,CAAC;AACvB,OAAO,EAKL,KAAK,QAAQ,
|
|
1
|
+
{"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../src/page.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EACL,KAAK,oBAAoB,EAEzB,KAAK,cAAc,EACnB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,KAAK,mBAAmB,EAAkB,MAAM,mBAAmB,CAAC;AAI7E,OAAO,EAEL,KAAK,WAAW,EAIhB,KAAK,eAAe,EAGrB,MAAM,eAAe,CAAC;AACvB,OAAO,EAKL,KAAK,QAAQ,EAEd,MAAM,yBAAyB,CAAC;AAMjC,KAAK,qBAAqB,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,GAAG,UAAU,CAAC,GAC/D,IAAI,CAAC,mBAAmB,EAAE,QAAQ,CAAC,GAAG;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,SAAS,CAAC;IAErB;;OAEG;IACH,KAAK,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;CAC5B,CAAC;AAEJ,KAAK,4BAA4B,GAAG,IAAI,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC;AAE1E,UAAU,mBACR,SAAQ,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAC1E,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,iBAAkB,SAAQ,eAAe;IACjD,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,SAAS,CAAC;IAErB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,UAAU,aAAc,SAAQ,WAAW;IACzC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,SAAS,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,EAAE,eAAe,CAAC;IAEtB;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf,cAAc,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAChD,qBAAqB,CAAC,EAAE,OAAO,CAAC,4BAA4B,CAAC,CAAC;IAE9D;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAExC;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAEhC,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,UAAU,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;IAEpC,SAAS,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;IAC3C,OAAO,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;IACtC,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,wBAAgB,QAAQ,CAAC,EACvB,GAAQ,EACR,IAAY,EACZ,qBAAqB,EAAE,EACrB,OAAO,EAAE,iBAAiB,EAC1B,SAAS,EAAE,iBAAiB,EAC5B,GAAG,iBAAiB,EAChB,EACN,cAAc,EAAE,EACd,OAAO,EAAE,UAAU,EACnB,SAAS,EAAE,UAAU,EACrB,GAAG,UAAU,EACT,EACN,GAAG,KAAK,EACT,EAAE,aAAa,2CAkGf;AA+BD;;GAEG;AACH,eAAO,MAAM,QAAQ,2HAOnB,CAAC;AAIH,eAAO,MAAM,eAAe,uIAgB1B,CAAC;AAIH,eAAO,MAAM,SAAS,mIAapB,CAAC;AAIH,wBAAgB,YAAY,CAAC,EAC3B,IAAI,EACJ,IAAI,EACJ,IAAI,EAAE,UAAU,EAChB,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,cAAc,CAAC,GAAG;IAClC,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC;CACtB,kDAmEA;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,GAAG,SAAS,CAM5E"}
|
package/dist/page.js
CHANGED
|
@@ -5,7 +5,7 @@ import { Card, Cards } from './components/card.js';
|
|
|
5
5
|
import { replaceOrDefault } from './layouts/shared.js';
|
|
6
6
|
import { cn } from './utils/cn.js';
|
|
7
7
|
import { Footer, LastUpdate, TocPopoverHeader, Breadcrumb, PageBody, PageArticle, } from './page.client.js';
|
|
8
|
-
import { Toc, TOCItems, TocPopoverTrigger, TocPopoverContent, } from './components/layout/toc.js';
|
|
8
|
+
import { Toc, TOCItems, TocPopoverTrigger, TocPopoverContent, TOCScrollArea, } from './components/layout/toc.js';
|
|
9
9
|
import { buttonVariants } from './components/ui/button.js';
|
|
10
10
|
import { Edit, Text } from 'lucide-react';
|
|
11
11
|
import { I18nLabel } from './contexts/i18n.js';
|
|
@@ -22,10 +22,10 @@ export function DocsPage({ toc = [], full = false, tableOfContentPopover: { enab
|
|
|
22
22
|
return (_jsxs(AnchorProvider, { toc: toc, single: tocOptions.single, children: [_jsxs(PageBody, { ...props.container, className: cn(props.container?.className), style: {
|
|
23
23
|
'--fd-tocnav-height': !tocPopoverEnabled ? '0px' : undefined,
|
|
24
24
|
...props.container?.style,
|
|
25
|
-
}, children: [replaceOrDefault({ enabled: tocPopoverEnabled, component: tocPopoverReplace }, _jsxs(TocPopoverHeader, { children: [_jsx(TocPopoverTrigger, { className: "w-full", items: toc }), _jsxs(TocPopoverContent, { children: [tocPopoverOptions.header, tocPopoverOptions.style === 'clerk' ? (_jsx(ClerkTOCItems, { items: toc
|
|
25
|
+
}, children: [replaceOrDefault({ enabled: tocPopoverEnabled, component: tocPopoverReplace }, _jsxs(TocPopoverHeader, { children: [_jsx(TocPopoverTrigger, { className: "w-full", items: toc }), _jsxs(TocPopoverContent, { children: [tocPopoverOptions.header, _jsx(TOCScrollArea, { isMenu: true, children: tocPopoverOptions.style === 'clerk' ? (_jsx(ClerkTOCItems, { items: toc })) : (_jsx(TOCItems, { items: toc })) }), tocPopoverOptions.footer] })] }), {
|
|
26
26
|
items: toc,
|
|
27
27
|
...tocPopoverOptions,
|
|
28
|
-
}), _jsxs(PageArticle, { ...props.article, className: cn(full || !tocEnabled ? 'max-w-[1120px]' : 'max-w-[860px]', props.article?.className), children: [replaceOrDefault(props.breadcrumb, _jsx(Breadcrumb, { ...props.breadcrumb })), props.children, _jsx("div", { role: "none", className: "flex-1" }), _jsxs("div", { className: "flex flex-row flex-wrap items-center justify-between gap-4 empty:hidden", children: [props.editOnGithub ? (_jsx(EditOnGitHub, { ...props.editOnGithub })) : null, props.lastUpdate ? (_jsx(LastUpdate, { date: new Date(props.lastUpdate) })) : null] }), replaceOrDefault(props.footer, _jsx(Footer, { items: props.footer?.items }))] })] }), replaceOrDefault({ enabled: tocEnabled, component: tocReplace }, _jsxs(Toc, { children: [tocOptions.header, _jsxs("h3", { className: "inline-flex items-center gap-1.5 text-sm text-fd-muted-foreground", children: [_jsx(Text, { className: "size-4" }), _jsx(I18nLabel, { label: "toc" })] }), tocOptions.style === 'clerk' ? (_jsx(ClerkTOCItems, { items: toc })) : (_jsx(TOCItems, { items: toc })), tocOptions.footer] }), {
|
|
28
|
+
}), _jsxs(PageArticle, { ...props.article, className: cn(full || !tocEnabled ? 'max-w-[1120px]' : 'max-w-[860px]', props.article?.className), children: [replaceOrDefault(props.breadcrumb, _jsx(Breadcrumb, { ...props.breadcrumb })), props.children, _jsx("div", { role: "none", className: "flex-1" }), _jsxs("div", { className: "flex flex-row flex-wrap items-center justify-between gap-4 empty:hidden", children: [props.editOnGithub ? (_jsx(EditOnGitHub, { ...props.editOnGithub })) : null, props.lastUpdate ? (_jsx(LastUpdate, { date: new Date(props.lastUpdate) })) : null] }), replaceOrDefault(props.footer, _jsx(Footer, { items: props.footer?.items }))] })] }), replaceOrDefault({ enabled: tocEnabled, component: tocReplace }, _jsxs(Toc, { children: [tocOptions.header, _jsxs("h3", { className: "inline-flex items-center gap-1.5 text-sm text-fd-muted-foreground", children: [_jsx(Text, { className: "size-4" }), _jsx(I18nLabel, { label: "toc" })] }), _jsx(TOCScrollArea, { children: tocOptions.style === 'clerk' ? (_jsx(ClerkTOCItems, { items: toc })) : (_jsx(TOCItems, { items: toc })) }), tocOptions.footer] }), {
|
|
29
29
|
items: toc,
|
|
30
30
|
...tocOptions,
|
|
31
31
|
})] }));
|
package/dist/style.css
CHANGED
|
@@ -1,17 +1,275 @@
|
|
|
1
|
-
/*! tailwindcss v4.0.
|
|
1
|
+
/*! tailwindcss v4.0.6 | MIT License | https://tailwindcss.com */
|
|
2
2
|
@layer theme, base, components, utilities;
|
|
3
3
|
@layer theme {
|
|
4
4
|
:root, :host {
|
|
5
5
|
--font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
|
|
6
6
|
"Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
|
7
|
-
--font-
|
|
8
|
-
|
|
7
|
+
--font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
|
|
8
|
+
--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
|
|
9
|
+
"Courier New", monospace;
|
|
10
|
+
--color-red-50: oklch(0.971 0.013 17.38);
|
|
11
|
+
--color-red-100: oklch(0.936 0.032 17.717);
|
|
12
|
+
--color-red-200: oklch(0.885 0.062 18.334);
|
|
13
|
+
--color-red-300: oklch(0.808 0.114 19.571);
|
|
14
|
+
--color-red-400: oklch(0.704 0.191 22.216);
|
|
9
15
|
--color-red-500: oklch(0.637 0.237 25.331);
|
|
16
|
+
--color-red-600: oklch(0.577 0.245 27.325);
|
|
17
|
+
--color-red-700: oklch(0.505 0.213 27.518);
|
|
18
|
+
--color-red-800: oklch(0.444 0.177 26.899);
|
|
19
|
+
--color-red-900: oklch(0.396 0.141 25.723);
|
|
20
|
+
--color-red-950: oklch(0.258 0.092 26.042);
|
|
21
|
+
--color-orange-50: oklch(0.98 0.016 73.684);
|
|
22
|
+
--color-orange-100: oklch(0.954 0.038 75.164);
|
|
23
|
+
--color-orange-200: oklch(0.901 0.076 70.697);
|
|
24
|
+
--color-orange-300: oklch(0.837 0.128 66.29);
|
|
25
|
+
--color-orange-400: oklch(0.75 0.183 55.934);
|
|
10
26
|
--color-orange-500: oklch(0.705 0.213 47.604);
|
|
27
|
+
--color-orange-600: oklch(0.646 0.222 41.116);
|
|
28
|
+
--color-orange-700: oklch(0.553 0.195 38.402);
|
|
29
|
+
--color-orange-800: oklch(0.47 0.157 37.304);
|
|
30
|
+
--color-orange-900: oklch(0.408 0.123 38.172);
|
|
31
|
+
--color-orange-950: oklch(0.266 0.079 36.259);
|
|
32
|
+
--color-amber-50: oklch(0.987 0.022 95.277);
|
|
33
|
+
--color-amber-100: oklch(0.962 0.059 95.617);
|
|
34
|
+
--color-amber-200: oklch(0.924 0.12 95.746);
|
|
35
|
+
--color-amber-300: oklch(0.879 0.169 91.605);
|
|
36
|
+
--color-amber-400: oklch(0.828 0.189 84.429);
|
|
37
|
+
--color-amber-500: oklch(0.769 0.188 70.08);
|
|
38
|
+
--color-amber-600: oklch(0.666 0.179 58.318);
|
|
39
|
+
--color-amber-700: oklch(0.555 0.163 48.998);
|
|
40
|
+
--color-amber-800: oklch(0.473 0.137 46.201);
|
|
41
|
+
--color-amber-900: oklch(0.414 0.112 45.904);
|
|
42
|
+
--color-amber-950: oklch(0.279 0.077 45.635);
|
|
43
|
+
--color-yellow-50: oklch(0.987 0.026 102.212);
|
|
44
|
+
--color-yellow-100: oklch(0.973 0.071 103.193);
|
|
45
|
+
--color-yellow-200: oklch(0.945 0.129 101.54);
|
|
46
|
+
--color-yellow-300: oklch(0.905 0.182 98.111);
|
|
47
|
+
--color-yellow-400: oklch(0.852 0.199 91.936);
|
|
48
|
+
--color-yellow-500: oklch(0.795 0.184 86.047);
|
|
49
|
+
--color-yellow-600: oklch(0.681 0.162 75.834);
|
|
50
|
+
--color-yellow-700: oklch(0.554 0.135 66.442);
|
|
51
|
+
--color-yellow-800: oklch(0.476 0.114 61.907);
|
|
52
|
+
--color-yellow-900: oklch(0.421 0.095 57.708);
|
|
53
|
+
--color-yellow-950: oklch(0.286 0.066 53.813);
|
|
54
|
+
--color-lime-50: oklch(0.986 0.031 120.757);
|
|
55
|
+
--color-lime-100: oklch(0.967 0.067 122.328);
|
|
56
|
+
--color-lime-200: oklch(0.938 0.127 124.321);
|
|
57
|
+
--color-lime-300: oklch(0.897 0.196 126.665);
|
|
58
|
+
--color-lime-400: oklch(0.841 0.238 128.85);
|
|
59
|
+
--color-lime-500: oklch(0.768 0.233 130.85);
|
|
60
|
+
--color-lime-600: oklch(0.648 0.2 131.684);
|
|
61
|
+
--color-lime-700: oklch(0.532 0.157 131.589);
|
|
62
|
+
--color-lime-800: oklch(0.453 0.124 130.933);
|
|
63
|
+
--color-lime-900: oklch(0.405 0.101 131.063);
|
|
64
|
+
--color-lime-950: oklch(0.274 0.072 132.109);
|
|
65
|
+
--color-green-50: oklch(0.982 0.018 155.826);
|
|
66
|
+
--color-green-100: oklch(0.962 0.044 156.743);
|
|
67
|
+
--color-green-200: oklch(0.925 0.084 155.995);
|
|
68
|
+
--color-green-300: oklch(0.871 0.15 154.449);
|
|
69
|
+
--color-green-400: oklch(0.792 0.209 151.711);
|
|
70
|
+
--color-green-500: oklch(0.723 0.219 149.579);
|
|
71
|
+
--color-green-600: oklch(0.627 0.194 149.214);
|
|
72
|
+
--color-green-700: oklch(0.527 0.154 150.069);
|
|
73
|
+
--color-green-800: oklch(0.448 0.119 151.328);
|
|
74
|
+
--color-green-900: oklch(0.393 0.095 152.535);
|
|
75
|
+
--color-green-950: oklch(0.266 0.065 152.934);
|
|
76
|
+
--color-emerald-50: oklch(0.979 0.021 166.113);
|
|
77
|
+
--color-emerald-100: oklch(0.95 0.052 163.051);
|
|
78
|
+
--color-emerald-200: oklch(0.905 0.093 164.15);
|
|
79
|
+
--color-emerald-300: oklch(0.845 0.143 164.978);
|
|
80
|
+
--color-emerald-400: oklch(0.765 0.177 163.223);
|
|
81
|
+
--color-emerald-500: oklch(0.696 0.17 162.48);
|
|
82
|
+
--color-emerald-600: oklch(0.596 0.145 163.225);
|
|
83
|
+
--color-emerald-700: oklch(0.508 0.118 165.612);
|
|
84
|
+
--color-emerald-800: oklch(0.432 0.095 166.913);
|
|
85
|
+
--color-emerald-900: oklch(0.378 0.077 168.94);
|
|
86
|
+
--color-emerald-950: oklch(0.262 0.051 172.552);
|
|
87
|
+
--color-teal-50: oklch(0.984 0.014 180.72);
|
|
88
|
+
--color-teal-100: oklch(0.953 0.051 180.801);
|
|
89
|
+
--color-teal-200: oklch(0.91 0.096 180.426);
|
|
90
|
+
--color-teal-300: oklch(0.855 0.138 181.071);
|
|
91
|
+
--color-teal-400: oklch(0.777 0.152 181.912);
|
|
92
|
+
--color-teal-500: oklch(0.704 0.14 182.503);
|
|
93
|
+
--color-teal-600: oklch(0.6 0.118 184.704);
|
|
94
|
+
--color-teal-700: oklch(0.511 0.096 186.391);
|
|
95
|
+
--color-teal-800: oklch(0.437 0.078 188.216);
|
|
96
|
+
--color-teal-900: oklch(0.386 0.063 188.416);
|
|
97
|
+
--color-teal-950: oklch(0.277 0.046 192.524);
|
|
98
|
+
--color-cyan-50: oklch(0.984 0.019 200.873);
|
|
99
|
+
--color-cyan-100: oklch(0.956 0.045 203.388);
|
|
100
|
+
--color-cyan-200: oklch(0.917 0.08 205.041);
|
|
101
|
+
--color-cyan-300: oklch(0.865 0.127 207.078);
|
|
102
|
+
--color-cyan-400: oklch(0.789 0.154 211.53);
|
|
103
|
+
--color-cyan-500: oklch(0.715 0.143 215.221);
|
|
104
|
+
--color-cyan-600: oklch(0.609 0.126 221.723);
|
|
105
|
+
--color-cyan-700: oklch(0.52 0.105 223.128);
|
|
106
|
+
--color-cyan-800: oklch(0.45 0.085 224.283);
|
|
107
|
+
--color-cyan-900: oklch(0.398 0.07 227.392);
|
|
108
|
+
--color-cyan-950: oklch(0.302 0.056 229.695);
|
|
109
|
+
--color-sky-50: oklch(0.977 0.013 236.62);
|
|
110
|
+
--color-sky-100: oklch(0.951 0.026 236.824);
|
|
111
|
+
--color-sky-200: oklch(0.901 0.058 230.902);
|
|
112
|
+
--color-sky-300: oklch(0.828 0.111 230.318);
|
|
113
|
+
--color-sky-400: oklch(0.746 0.16 232.661);
|
|
114
|
+
--color-sky-500: oklch(0.685 0.169 237.323);
|
|
115
|
+
--color-sky-600: oklch(0.588 0.158 241.966);
|
|
116
|
+
--color-sky-700: oklch(0.5 0.134 242.749);
|
|
117
|
+
--color-sky-800: oklch(0.443 0.11 240.79);
|
|
118
|
+
--color-sky-900: oklch(0.391 0.09 240.876);
|
|
119
|
+
--color-sky-950: oklch(0.293 0.066 243.157);
|
|
120
|
+
--color-blue-50: oklch(0.97 0.014 254.604);
|
|
121
|
+
--color-blue-100: oklch(0.932 0.032 255.585);
|
|
122
|
+
--color-blue-200: oklch(0.882 0.059 254.128);
|
|
123
|
+
--color-blue-300: oklch(0.809 0.105 251.813);
|
|
124
|
+
--color-blue-400: oklch(0.707 0.165 254.624);
|
|
11
125
|
--color-blue-500: oklch(0.623 0.214 259.815);
|
|
126
|
+
--color-blue-600: oklch(0.546 0.245 262.881);
|
|
127
|
+
--color-blue-700: oklch(0.488 0.243 264.376);
|
|
128
|
+
--color-blue-800: oklch(0.424 0.199 265.638);
|
|
129
|
+
--color-blue-900: oklch(0.379 0.146 265.522);
|
|
130
|
+
--color-blue-950: oklch(0.282 0.091 267.935);
|
|
131
|
+
--color-indigo-50: oklch(0.962 0.018 272.314);
|
|
132
|
+
--color-indigo-100: oklch(0.93 0.034 272.788);
|
|
133
|
+
--color-indigo-200: oklch(0.87 0.065 274.039);
|
|
134
|
+
--color-indigo-300: oklch(0.785 0.115 274.713);
|
|
135
|
+
--color-indigo-400: oklch(0.673 0.182 276.935);
|
|
136
|
+
--color-indigo-500: oklch(0.585 0.233 277.117);
|
|
137
|
+
--color-indigo-600: oklch(0.511 0.262 276.966);
|
|
138
|
+
--color-indigo-700: oklch(0.457 0.24 277.023);
|
|
139
|
+
--color-indigo-800: oklch(0.398 0.195 277.366);
|
|
140
|
+
--color-indigo-900: oklch(0.359 0.144 278.697);
|
|
141
|
+
--color-indigo-950: oklch(0.257 0.09 281.288);
|
|
142
|
+
--color-violet-50: oklch(0.969 0.016 293.756);
|
|
143
|
+
--color-violet-100: oklch(0.943 0.029 294.588);
|
|
144
|
+
--color-violet-200: oklch(0.894 0.057 293.283);
|
|
145
|
+
--color-violet-300: oklch(0.811 0.111 293.571);
|
|
146
|
+
--color-violet-400: oklch(0.702 0.183 293.541);
|
|
147
|
+
--color-violet-500: oklch(0.606 0.25 292.717);
|
|
148
|
+
--color-violet-600: oklch(0.541 0.281 293.009);
|
|
149
|
+
--color-violet-700: oklch(0.491 0.27 292.581);
|
|
150
|
+
--color-violet-800: oklch(0.432 0.232 292.759);
|
|
151
|
+
--color-violet-900: oklch(0.38 0.189 293.745);
|
|
152
|
+
--color-violet-950: oklch(0.283 0.141 291.089);
|
|
153
|
+
--color-purple-50: oklch(0.977 0.014 308.299);
|
|
154
|
+
--color-purple-100: oklch(0.946 0.033 307.174);
|
|
155
|
+
--color-purple-200: oklch(0.902 0.063 306.703);
|
|
156
|
+
--color-purple-300: oklch(0.827 0.119 306.383);
|
|
157
|
+
--color-purple-400: oklch(0.714 0.203 305.504);
|
|
158
|
+
--color-purple-500: oklch(0.627 0.265 303.9);
|
|
159
|
+
--color-purple-600: oklch(0.558 0.288 302.321);
|
|
160
|
+
--color-purple-700: oklch(0.496 0.265 301.924);
|
|
161
|
+
--color-purple-800: oklch(0.438 0.218 303.724);
|
|
162
|
+
--color-purple-900: oklch(0.381 0.176 304.987);
|
|
163
|
+
--color-purple-950: oklch(0.291 0.149 302.717);
|
|
164
|
+
--color-fuchsia-50: oklch(0.977 0.017 320.058);
|
|
165
|
+
--color-fuchsia-100: oklch(0.952 0.037 318.852);
|
|
166
|
+
--color-fuchsia-200: oklch(0.903 0.076 319.62);
|
|
167
|
+
--color-fuchsia-300: oklch(0.833 0.145 321.434);
|
|
168
|
+
--color-fuchsia-400: oklch(0.74 0.238 322.16);
|
|
169
|
+
--color-fuchsia-500: oklch(0.667 0.295 322.15);
|
|
170
|
+
--color-fuchsia-600: oklch(0.591 0.293 322.896);
|
|
171
|
+
--color-fuchsia-700: oklch(0.518 0.253 323.949);
|
|
172
|
+
--color-fuchsia-800: oklch(0.452 0.211 324.591);
|
|
173
|
+
--color-fuchsia-900: oklch(0.401 0.17 325.612);
|
|
174
|
+
--color-fuchsia-950: oklch(0.293 0.136 325.661);
|
|
175
|
+
--color-pink-50: oklch(0.971 0.014 343.198);
|
|
176
|
+
--color-pink-100: oklch(0.948 0.028 342.258);
|
|
177
|
+
--color-pink-200: oklch(0.899 0.061 343.231);
|
|
178
|
+
--color-pink-300: oklch(0.823 0.12 346.018);
|
|
179
|
+
--color-pink-400: oklch(0.718 0.202 349.761);
|
|
180
|
+
--color-pink-500: oklch(0.656 0.241 354.308);
|
|
181
|
+
--color-pink-600: oklch(0.592 0.249 0.584);
|
|
182
|
+
--color-pink-700: oklch(0.525 0.223 3.958);
|
|
183
|
+
--color-pink-800: oklch(0.459 0.187 3.815);
|
|
184
|
+
--color-pink-900: oklch(0.408 0.153 2.432);
|
|
185
|
+
--color-pink-950: oklch(0.284 0.109 3.907);
|
|
186
|
+
--color-rose-50: oklch(0.969 0.015 12.422);
|
|
187
|
+
--color-rose-100: oklch(0.941 0.03 12.58);
|
|
188
|
+
--color-rose-200: oklch(0.892 0.058 10.001);
|
|
189
|
+
--color-rose-300: oklch(0.81 0.117 11.638);
|
|
190
|
+
--color-rose-400: oklch(0.712 0.194 13.428);
|
|
191
|
+
--color-rose-500: oklch(0.645 0.246 16.439);
|
|
192
|
+
--color-rose-600: oklch(0.586 0.253 17.585);
|
|
193
|
+
--color-rose-700: oklch(0.514 0.222 16.935);
|
|
194
|
+
--color-rose-800: oklch(0.455 0.188 13.697);
|
|
195
|
+
--color-rose-900: oklch(0.41 0.159 10.272);
|
|
196
|
+
--color-rose-950: oklch(0.271 0.105 12.094);
|
|
197
|
+
--color-slate-50: oklch(0.984 0.003 247.858);
|
|
198
|
+
--color-slate-100: oklch(0.968 0.007 247.896);
|
|
199
|
+
--color-slate-200: oklch(0.929 0.013 255.508);
|
|
200
|
+
--color-slate-300: oklch(0.869 0.022 252.894);
|
|
201
|
+
--color-slate-400: oklch(0.704 0.04 256.788);
|
|
202
|
+
--color-slate-500: oklch(0.554 0.046 257.417);
|
|
203
|
+
--color-slate-600: oklch(0.446 0.043 257.281);
|
|
204
|
+
--color-slate-700: oklch(0.372 0.044 257.287);
|
|
205
|
+
--color-slate-800: oklch(0.279 0.041 260.031);
|
|
206
|
+
--color-slate-900: oklch(0.208 0.042 265.755);
|
|
207
|
+
--color-slate-950: oklch(0.129 0.042 264.695);
|
|
208
|
+
--color-gray-50: oklch(0.985 0.002 247.839);
|
|
209
|
+
--color-gray-100: oklch(0.967 0.003 264.542);
|
|
210
|
+
--color-gray-200: oklch(0.928 0.006 264.531);
|
|
211
|
+
--color-gray-300: oklch(0.872 0.01 258.338);
|
|
212
|
+
--color-gray-400: oklch(0.707 0.022 261.325);
|
|
213
|
+
--color-gray-500: oklch(0.551 0.027 264.364);
|
|
214
|
+
--color-gray-600: oklch(0.446 0.03 256.802);
|
|
215
|
+
--color-gray-700: oklch(0.373 0.034 259.733);
|
|
216
|
+
--color-gray-800: oklch(0.278 0.033 256.848);
|
|
217
|
+
--color-gray-900: oklch(0.21 0.034 264.665);
|
|
218
|
+
--color-gray-950: oklch(0.13 0.028 261.692);
|
|
219
|
+
--color-zinc-50: oklch(0.985 0 0);
|
|
220
|
+
--color-zinc-100: oklch(0.967 0.001 286.375);
|
|
221
|
+
--color-zinc-200: oklch(0.92 0.004 286.32);
|
|
222
|
+
--color-zinc-300: oklch(0.871 0.006 286.286);
|
|
223
|
+
--color-zinc-400: oklch(0.705 0.015 286.067);
|
|
224
|
+
--color-zinc-500: oklch(0.552 0.016 285.938);
|
|
225
|
+
--color-zinc-600: oklch(0.442 0.017 285.786);
|
|
226
|
+
--color-zinc-700: oklch(0.37 0.013 285.805);
|
|
227
|
+
--color-zinc-800: oklch(0.274 0.006 286.033);
|
|
228
|
+
--color-zinc-900: oklch(0.21 0.006 285.885);
|
|
229
|
+
--color-zinc-950: oklch(0.141 0.005 285.823);
|
|
230
|
+
--color-neutral-50: oklch(0.985 0 0);
|
|
231
|
+
--color-neutral-100: oklch(0.97 0 0);
|
|
232
|
+
--color-neutral-200: oklch(0.922 0 0);
|
|
233
|
+
--color-neutral-300: oklch(0.87 0 0);
|
|
234
|
+
--color-neutral-400: oklch(0.708 0 0);
|
|
235
|
+
--color-neutral-500: oklch(0.556 0 0);
|
|
236
|
+
--color-neutral-600: oklch(0.439 0 0);
|
|
237
|
+
--color-neutral-700: oklch(0.371 0 0);
|
|
238
|
+
--color-neutral-800: oklch(0.269 0 0);
|
|
239
|
+
--color-neutral-900: oklch(0.205 0 0);
|
|
240
|
+
--color-neutral-950: oklch(0.145 0 0);
|
|
241
|
+
--color-stone-50: oklch(0.985 0.001 106.423);
|
|
242
|
+
--color-stone-100: oklch(0.97 0.001 106.424);
|
|
243
|
+
--color-stone-200: oklch(0.923 0.003 48.717);
|
|
244
|
+
--color-stone-300: oklch(0.869 0.005 56.366);
|
|
245
|
+
--color-stone-400: oklch(0.709 0.01 56.259);
|
|
246
|
+
--color-stone-500: oklch(0.553 0.013 58.071);
|
|
247
|
+
--color-stone-600: oklch(0.444 0.011 73.639);
|
|
248
|
+
--color-stone-700: oklch(0.374 0.01 67.558);
|
|
249
|
+
--color-stone-800: oklch(0.268 0.007 34.298);
|
|
250
|
+
--color-stone-900: oklch(0.216 0.006 56.043);
|
|
251
|
+
--color-stone-950: oklch(0.147 0.004 49.25);
|
|
12
252
|
--color-black: #000;
|
|
253
|
+
--color-white: #fff;
|
|
13
254
|
--spacing: 0.25rem;
|
|
14
255
|
--breakpoint-sm: 40rem;
|
|
256
|
+
--breakpoint-md: 48rem;
|
|
257
|
+
--breakpoint-lg: 64rem;
|
|
258
|
+
--breakpoint-xl: 80rem;
|
|
259
|
+
--breakpoint-2xl: 96rem;
|
|
260
|
+
--container-3xs: 16rem;
|
|
261
|
+
--container-2xs: 18rem;
|
|
262
|
+
--container-xs: 20rem;
|
|
263
|
+
--container-sm: 24rem;
|
|
264
|
+
--container-md: 28rem;
|
|
265
|
+
--container-lg: 32rem;
|
|
266
|
+
--container-xl: 36rem;
|
|
267
|
+
--container-2xl: 42rem;
|
|
268
|
+
--container-3xl: 48rem;
|
|
269
|
+
--container-4xl: 56rem;
|
|
270
|
+
--container-5xl: 64rem;
|
|
271
|
+
--container-6xl: 72rem;
|
|
272
|
+
--container-7xl: 80rem;
|
|
15
273
|
--text-xs: 0.75rem;
|
|
16
274
|
--text-xs--line-height: calc(1 / 0.75);
|
|
17
275
|
--text-sm: 0.875rem;
|
|
@@ -20,18 +278,88 @@
|
|
|
20
278
|
--text-base--line-height: calc(1.5 / 1);
|
|
21
279
|
--text-lg: 1.125rem;
|
|
22
280
|
--text-lg--line-height: calc(1.75 / 1.125);
|
|
281
|
+
--text-xl: 1.25rem;
|
|
282
|
+
--text-xl--line-height: calc(1.75 / 1.25);
|
|
283
|
+
--text-2xl: 1.5rem;
|
|
284
|
+
--text-2xl--line-height: calc(2 / 1.5);
|
|
23
285
|
--text-3xl: 1.875rem;
|
|
24
286
|
--text-3xl--line-height: calc(2.25 / 1.875);
|
|
287
|
+
--text-4xl: 2.25rem;
|
|
288
|
+
--text-4xl--line-height: calc(2.5 / 2.25);
|
|
289
|
+
--text-5xl: 3rem;
|
|
290
|
+
--text-5xl--line-height: 1;
|
|
291
|
+
--text-6xl: 3.75rem;
|
|
292
|
+
--text-6xl--line-height: 1;
|
|
293
|
+
--text-7xl: 4.5rem;
|
|
294
|
+
--text-7xl--line-height: 1;
|
|
295
|
+
--text-8xl: 6rem;
|
|
296
|
+
--text-8xl--line-height: 1;
|
|
297
|
+
--text-9xl: 8rem;
|
|
298
|
+
--text-9xl--line-height: 1;
|
|
299
|
+
--font-weight-thin: 100;
|
|
300
|
+
--font-weight-extralight: 200;
|
|
301
|
+
--font-weight-light: 300;
|
|
302
|
+
--font-weight-normal: 400;
|
|
25
303
|
--font-weight-medium: 500;
|
|
26
304
|
--font-weight-semibold: 600;
|
|
305
|
+
--font-weight-bold: 700;
|
|
306
|
+
--font-weight-extrabold: 800;
|
|
307
|
+
--font-weight-black: 900;
|
|
308
|
+
--tracking-tighter: -0.05em;
|
|
309
|
+
--tracking-tight: -0.025em;
|
|
310
|
+
--tracking-normal: 0em;
|
|
311
|
+
--tracking-wide: 0.025em;
|
|
312
|
+
--tracking-wider: 0.05em;
|
|
313
|
+
--tracking-widest: 0.1em;
|
|
314
|
+
--leading-tight: 1.25;
|
|
315
|
+
--leading-snug: 1.375;
|
|
316
|
+
--leading-normal: 1.5;
|
|
317
|
+
--leading-relaxed: 1.625;
|
|
318
|
+
--leading-loose: 2;
|
|
319
|
+
--radius-xs: 0.125rem;
|
|
320
|
+
--radius-sm: 0.25rem;
|
|
27
321
|
--radius-md: 0.375rem;
|
|
28
322
|
--radius-lg: 0.5rem;
|
|
29
323
|
--radius-xl: 0.75rem;
|
|
30
324
|
--radius-2xl: 1rem;
|
|
325
|
+
--radius-3xl: 1.5rem;
|
|
326
|
+
--radius-4xl: 2rem;
|
|
327
|
+
--shadow-2xs: 0 1px rgb(0 0 0 / 0.05);
|
|
328
|
+
--shadow-xs: 0 1px 2px 0 rgb(0 0 0 / 0.05);
|
|
329
|
+
--shadow-sm: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
|
|
330
|
+
--shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
|
|
331
|
+
--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
|
|
332
|
+
--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
|
|
333
|
+
--shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25);
|
|
334
|
+
--inset-shadow-2xs: inset 0 1px rgb(0 0 0 / 0.05);
|
|
335
|
+
--inset-shadow-xs: inset 0 1px 1px rgb(0 0 0 / 0.05);
|
|
336
|
+
--inset-shadow-sm: inset 0 2px 4px rgb(0 0 0 / 0.05);
|
|
337
|
+
--drop-shadow-xs: 0 1px 1px rgb(0 0 0 / 0.05);
|
|
338
|
+
--drop-shadow-sm: 0 1px 2px rgb(0 0 0 / 0.15);
|
|
339
|
+
--drop-shadow-md: 0 3px 3px rgb(0 0 0 / 0.12);
|
|
340
|
+
--drop-shadow-lg: 0 4px 4px rgb(0 0 0 / 0.15);
|
|
341
|
+
--drop-shadow-xl: 0 9px 7px rgb(0 0 0 / 0.1);
|
|
342
|
+
--drop-shadow-2xl: 0 25px 25px rgb(0 0 0 / 0.15);
|
|
343
|
+
--ease-in: cubic-bezier(0.4, 0, 1, 1);
|
|
344
|
+
--ease-out: cubic-bezier(0, 0, 0.2, 1);
|
|
345
|
+
--ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
|
|
31
346
|
--animate-spin: spin 1s linear infinite;
|
|
347
|
+
--animate-ping: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
|
|
348
|
+
--animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
|
|
349
|
+
--animate-bounce: bounce 1s infinite;
|
|
350
|
+
--blur-xs: 4px;
|
|
32
351
|
--blur-sm: 8px;
|
|
33
352
|
--blur-md: 12px;
|
|
34
353
|
--blur-lg: 16px;
|
|
354
|
+
--blur-xl: 24px;
|
|
355
|
+
--blur-2xl: 40px;
|
|
356
|
+
--blur-3xl: 64px;
|
|
357
|
+
--perspective-dramatic: 100px;
|
|
358
|
+
--perspective-near: 300px;
|
|
359
|
+
--perspective-normal: 500px;
|
|
360
|
+
--perspective-midrange: 800px;
|
|
361
|
+
--perspective-distant: 1200px;
|
|
362
|
+
--aspect-video: 16 / 9;
|
|
35
363
|
--default-transition-duration: 150ms;
|
|
36
364
|
--default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
|
37
365
|
--default-font-family: var(--font-sans);
|
|
@@ -357,9 +685,6 @@
|
|
|
357
685
|
.mx-4 {
|
|
358
686
|
margin-inline: calc(var(--spacing) * 4);
|
|
359
687
|
}
|
|
360
|
-
.mx-auto {
|
|
361
|
-
margin-inline: auto;
|
|
362
|
-
}
|
|
363
688
|
.my-0 {
|
|
364
689
|
margin-block: calc(var(--spacing) * 0);
|
|
365
690
|
}
|
|
@@ -369,6 +694,9 @@
|
|
|
369
694
|
.my-6 {
|
|
370
695
|
margin-block: calc(var(--spacing) * 6);
|
|
371
696
|
}
|
|
697
|
+
.my-auto {
|
|
698
|
+
margin-block: auto;
|
|
699
|
+
}
|
|
372
700
|
.-ms-1 {
|
|
373
701
|
margin-inline-start: calc(var(--spacing) * -1);
|
|
374
702
|
}
|
|
@@ -399,6 +727,9 @@
|
|
|
399
727
|
.me-2 {
|
|
400
728
|
margin-inline-end: calc(var(--spacing) * 2);
|
|
401
729
|
}
|
|
730
|
+
.me-auto {
|
|
731
|
+
margin-inline-end: auto;
|
|
732
|
+
}
|
|
402
733
|
.prose {
|
|
403
734
|
color: var(--tw-prose-body);
|
|
404
735
|
max-width: none;
|
|
@@ -774,9 +1105,6 @@
|
|
|
774
1105
|
.-mb-1 {
|
|
775
1106
|
margin-bottom: calc(var(--spacing) * -1);
|
|
776
1107
|
}
|
|
777
|
-
.-mb-1\.5 {
|
|
778
|
-
margin-bottom: calc(var(--spacing) * -1.5);
|
|
779
|
-
}
|
|
780
1108
|
.mb-1 {
|
|
781
1109
|
margin-bottom: calc(var(--spacing) * 1);
|
|
782
1110
|
}
|
|
@@ -825,6 +1153,10 @@
|
|
|
825
1153
|
width: calc(var(--spacing) * 4);
|
|
826
1154
|
height: calc(var(--spacing) * 4);
|
|
827
1155
|
}
|
|
1156
|
+
.size-4\.5 {
|
|
1157
|
+
width: calc(var(--spacing) * 4.5);
|
|
1158
|
+
height: calc(var(--spacing) * 4.5);
|
|
1159
|
+
}
|
|
828
1160
|
.size-5 {
|
|
829
1161
|
width: calc(var(--spacing) * 5);
|
|
830
1162
|
height: calc(var(--spacing) * 5);
|
|
@@ -933,6 +1265,9 @@
|
|
|
933
1265
|
.max-w-screen-sm {
|
|
934
1266
|
max-width: var(--breakpoint-sm);
|
|
935
1267
|
}
|
|
1268
|
+
.max-w-sm {
|
|
1269
|
+
max-width: var(--container-sm);
|
|
1270
|
+
}
|
|
936
1271
|
.min-w-0 {
|
|
937
1272
|
min-width: calc(var(--spacing) * 0);
|
|
938
1273
|
}
|
|
@@ -1120,6 +1455,10 @@
|
|
|
1120
1455
|
border-bottom-style: var(--tw-border-style);
|
|
1121
1456
|
border-bottom-width: 1px;
|
|
1122
1457
|
}
|
|
1458
|
+
.border-b-2 {
|
|
1459
|
+
border-bottom-style: var(--tw-border-style);
|
|
1460
|
+
border-bottom-width: 2px;
|
|
1461
|
+
}
|
|
1123
1462
|
.border-l {
|
|
1124
1463
|
border-left-style: var(--tw-border-style);
|
|
1125
1464
|
border-left-width: 1px;
|
|
@@ -1127,6 +1466,9 @@
|
|
|
1127
1466
|
.border-fd-foreground\/10 {
|
|
1128
1467
|
border-color: color-mix(in oklab, var(--color-fd-foreground) 10%, transparent);
|
|
1129
1468
|
}
|
|
1469
|
+
.border-fd-primary {
|
|
1470
|
+
border-color: var(--color-fd-primary);
|
|
1471
|
+
}
|
|
1130
1472
|
.border-transparent {
|
|
1131
1473
|
border-color: transparent;
|
|
1132
1474
|
}
|
|
@@ -1274,6 +1616,9 @@
|
|
|
1274
1616
|
.pe-4 {
|
|
1275
1617
|
padding-inline-end: calc(var(--spacing) * 4);
|
|
1276
1618
|
}
|
|
1619
|
+
.pe-6 {
|
|
1620
|
+
padding-inline-end: calc(var(--spacing) * 6);
|
|
1621
|
+
}
|
|
1277
1622
|
.pt-0 {
|
|
1278
1623
|
padding-top: calc(var(--spacing) * 0);
|
|
1279
1624
|
}
|
|
@@ -1465,8 +1810,8 @@
|
|
|
1465
1810
|
--tw-duration: 300ms;
|
|
1466
1811
|
transition-duration: 300ms;
|
|
1467
1812
|
}
|
|
1468
|
-
.\[--fd-nav-height\:
|
|
1469
|
-
--fd-nav-height:
|
|
1813
|
+
.\[--fd-nav-height\:calc\(var\(--spacing\)\*14\)\] {
|
|
1814
|
+
--fd-nav-height: calc(var(--spacing) * 14);
|
|
1470
1815
|
}
|
|
1471
1816
|
.\[--fd-tocnav-height\:36px\] {
|
|
1472
1817
|
--fd-tocnav-height: 36px;
|
|
@@ -1485,11 +1830,6 @@
|
|
|
1485
1830
|
}
|
|
1486
1831
|
}
|
|
1487
1832
|
}
|
|
1488
|
-
.group-data-\[state\=closed\]\:-rotate-90 {
|
|
1489
|
-
&:is(:where(.group)[data-state="closed"] *) {
|
|
1490
|
-
rotate: calc(90deg * -1);
|
|
1491
|
-
}
|
|
1492
|
-
}
|
|
1493
1833
|
.group-data-\[state\=open\]\:rotate-180 {
|
|
1494
1834
|
&:is(:where(.group)[data-state="open"] *) {
|
|
1495
1835
|
rotate: 180deg;
|
|
@@ -1869,22 +2209,12 @@
|
|
|
1869
2209
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
1870
2210
|
}
|
|
1871
2211
|
}
|
|
1872
|
-
.md\:gap-1\.5 {
|
|
1873
|
-
@media (width >= 48rem) {
|
|
1874
|
-
gap: calc(var(--spacing) * 1.5);
|
|
1875
|
-
}
|
|
1876
|
-
}
|
|
1877
2212
|
.md\:border-e {
|
|
1878
2213
|
@media (width >= 48rem) {
|
|
1879
2214
|
border-inline-end-style: var(--tw-border-style);
|
|
1880
2215
|
border-inline-end-width: 1px;
|
|
1881
2216
|
}
|
|
1882
2217
|
}
|
|
1883
|
-
.md\:px-2 {
|
|
1884
|
-
@media (width >= 48rem) {
|
|
1885
|
-
padding-inline: calc(var(--spacing) * 2);
|
|
1886
|
-
}
|
|
1887
|
-
}
|
|
1888
2218
|
.md\:px-6 {
|
|
1889
2219
|
@media (width >= 48rem) {
|
|
1890
2220
|
padding-inline: calc(var(--spacing) * 6);
|
|
@@ -1942,6 +2272,11 @@
|
|
|
1942
2272
|
--fd-sidebar-width: 268px;
|
|
1943
2273
|
}
|
|
1944
2274
|
}
|
|
2275
|
+
.md\:\[--fd-sidebar-width\:286px\] {
|
|
2276
|
+
@media (width >= 48rem) {
|
|
2277
|
+
--fd-sidebar-width: 286px;
|
|
2278
|
+
}
|
|
2279
|
+
}
|
|
1945
2280
|
.lg\:mt-2 {
|
|
1946
2281
|
@media (width >= 64rem) {
|
|
1947
2282
|
margin-top: calc(var(--spacing) * 2);
|
|
@@ -1957,6 +2292,11 @@
|
|
|
1957
2292
|
height: calc(var(--spacing) * 12);
|
|
1958
2293
|
}
|
|
1959
2294
|
}
|
|
2295
|
+
.lg\:h-26 {
|
|
2296
|
+
@media (width >= 64rem) {
|
|
2297
|
+
height: calc(var(--spacing) * 26);
|
|
2298
|
+
}
|
|
2299
|
+
}
|
|
1960
2300
|
.lg\:w-\[calc\(100\%-1rem\)\] {
|
|
1961
2301
|
@media (width >= 64rem) {
|
|
1962
2302
|
width: calc(100% - 1rem);
|
|
@@ -1978,6 +2318,11 @@
|
|
|
1978
2318
|
border-width: 1px;
|
|
1979
2319
|
}
|
|
1980
2320
|
}
|
|
2321
|
+
.lg\:\[--fd-nav-height\:calc\(var\(--spacing\)\*26\)\] {
|
|
2322
|
+
@media (width >= 64rem) {
|
|
2323
|
+
--fd-nav-height: calc(var(--spacing) * 26);
|
|
2324
|
+
}
|
|
2325
|
+
}
|
|
1981
2326
|
.lg\:\[--fd-sidebar-width\:286px\] {
|
|
1982
2327
|
@media (width >= 64rem) {
|
|
1983
2328
|
--fd-sidebar-width: 286px;
|
|
@@ -1998,11 +2343,6 @@
|
|
|
1998
2343
|
padding-inline: calc(var(--spacing) * 12);
|
|
1999
2344
|
}
|
|
2000
2345
|
}
|
|
2001
|
-
.xl\:\[--fd-toc-width\:268px\] {
|
|
2002
|
-
@media (width >= 80rem) {
|
|
2003
|
-
--fd-toc-width: 268px;
|
|
2004
|
-
}
|
|
2005
|
-
}
|
|
2006
2346
|
.xl\:\[--fd-toc-width\:286px\] {
|
|
2007
2347
|
@media (width >= 80rem) {
|
|
2008
2348
|
--fd-toc-width: 286px;
|
|
@@ -2037,6 +2377,12 @@
|
|
|
2037
2377
|
background-color: var(--shiki-dark-bg);
|
|
2038
2378
|
}
|
|
2039
2379
|
}
|
|
2380
|
+
.\[\&_svg\]\:\!size-4\.5 {
|
|
2381
|
+
& svg {
|
|
2382
|
+
width: calc(var(--spacing) * 4.5) !important;
|
|
2383
|
+
height: calc(var(--spacing) * 4.5) !important;
|
|
2384
|
+
}
|
|
2385
|
+
}
|
|
2040
2386
|
.\[\&_svg\]\:size-3\.5 {
|
|
2041
2387
|
& svg {
|
|
2042
2388
|
width: calc(var(--spacing) * 3.5);
|
|
@@ -2223,6 +2569,27 @@
|
|
|
2223
2569
|
transform: rotate(360deg);
|
|
2224
2570
|
}
|
|
2225
2571
|
}
|
|
2572
|
+
@keyframes ping {
|
|
2573
|
+
75%, 100% {
|
|
2574
|
+
transform: scale(2);
|
|
2575
|
+
opacity: 0;
|
|
2576
|
+
}
|
|
2577
|
+
}
|
|
2578
|
+
@keyframes pulse {
|
|
2579
|
+
50% {
|
|
2580
|
+
opacity: 0.5;
|
|
2581
|
+
}
|
|
2582
|
+
}
|
|
2583
|
+
@keyframes bounce {
|
|
2584
|
+
0%, 100% {
|
|
2585
|
+
transform: translateY(-25%);
|
|
2586
|
+
animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
|
|
2587
|
+
}
|
|
2588
|
+
50% {
|
|
2589
|
+
transform: none;
|
|
2590
|
+
animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
|
|
2591
|
+
}
|
|
2592
|
+
}
|
|
2226
2593
|
@keyframes fd-collapsible-down {
|
|
2227
2594
|
from {
|
|
2228
2595
|
height: 0;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fumadocs-ui",
|
|
3
|
-
"version": "15.0.
|
|
3
|
+
"version": "15.0.9",
|
|
4
4
|
"description": "The framework for building a documentation website in Next.js",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"NextJs",
|
|
@@ -71,17 +71,17 @@
|
|
|
71
71
|
"tailwind-merge": "^3.0.1"
|
|
72
72
|
},
|
|
73
73
|
"devDependencies": {
|
|
74
|
-
"@next/eslint-plugin-next": "^15.1.
|
|
75
|
-
"@tailwindcss/cli": "^4.0.
|
|
74
|
+
"@next/eslint-plugin-next": "^15.1.7",
|
|
75
|
+
"@tailwindcss/cli": "^4.0.6",
|
|
76
76
|
"@types/lodash.merge": "^4.6.9",
|
|
77
|
-
"@types/react": "^19.0.
|
|
77
|
+
"@types/react": "^19.0.9",
|
|
78
78
|
"@types/react-dom": "^19.0.3",
|
|
79
|
-
"next": "15.1.
|
|
80
|
-
"tailwindcss": "^4.0.
|
|
79
|
+
"next": "15.1.7",
|
|
80
|
+
"tailwindcss": "^4.0.6",
|
|
81
81
|
"tsc-alias": "^1.8.10",
|
|
82
82
|
"@fumadocs/cli": "0.0.8",
|
|
83
83
|
"eslint-config-custom": "0.0.0",
|
|
84
|
-
"fumadocs-core": "15.0.
|
|
84
|
+
"fumadocs-core": "15.0.9",
|
|
85
85
|
"tsconfig": "0.0.0"
|
|
86
86
|
},
|
|
87
87
|
"peerDependencies": {
|
|
@@ -89,7 +89,7 @@
|
|
|
89
89
|
"react": "18.x.x || 19.x.x",
|
|
90
90
|
"react-dom": "18.x.x || 19.x.x",
|
|
91
91
|
"tailwindcss": "^3.4.14 || ^4.0.0",
|
|
92
|
-
"fumadocs-core": "15.0.
|
|
92
|
+
"fumadocs-core": "15.0.9"
|
|
93
93
|
},
|
|
94
94
|
"peerDependenciesMeta": {
|
|
95
95
|
"tailwindcss": {
|