fumadocs-ui 8.3.0 → 9.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/accordion.d.mts +5 -7
- package/dist/components/accordion.js +28 -58
- package/dist/components/callout.d.mts +3 -3
- package/dist/components/codeblock.d.mts +4 -4
- package/dist/components/files.d.mts +1 -1
- package/dist/components/files.js +8 -7
- package/dist/components/inline-toc.d.mts +1 -3
- package/dist/components/inline-toc.js +7 -18
- package/dist/components/tabs.d.mts +5 -5
- package/dist/{layout-YB7EFpgW.d.mts → layout-W7dJ6OHQ.d.mts} +15 -2
- package/dist/layout.client.d.mts +1 -1
- package/dist/layout.client.js +26 -17
- package/dist/layout.d.mts +1 -1
- package/dist/page.d.mts +2 -2
- package/dist/provider.d.mts +2 -2
- package/dist/style.css +1 -1
- package/dist/tailwind-plugin.js +0 -2
- package/dist/twoslash/popup.d.mts +4 -4
- package/package.json +2 -2
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as React from 'react';
|
|
2
2
|
import * as AccordionPrimitive from '@radix-ui/react-accordion';
|
|
3
3
|
|
|
4
|
-
declare const Accordions:
|
|
5
|
-
declare const
|
|
6
|
-
declare const SingleAccordions: react.ForwardRefExoticComponent<AccordionPrimitive.AccordionSingleProps & react.RefAttributes<HTMLDivElement>>;
|
|
7
|
-
declare const Accordion: react.ForwardRefExoticComponent<Omit<Omit<AccordionPrimitive.AccordionItemProps & react.RefAttributes<HTMLDivElement>, "ref">, "value"> & {
|
|
4
|
+
declare const Accordions: React.ForwardRefExoticComponent<(Omit<AccordionPrimitive.AccordionSingleProps, "value" | "onValueChange"> | Omit<AccordionPrimitive.AccordionMultipleProps, "value" | "onValueChange">) & React.RefAttributes<HTMLDivElement>>;
|
|
5
|
+
declare const Accordion: React.ForwardRefExoticComponent<Omit<Omit<AccordionPrimitive.AccordionItemProps & React.RefAttributes<HTMLDivElement>, "ref">, "value"> & {
|
|
8
6
|
title: string;
|
|
9
|
-
} &
|
|
7
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
10
8
|
|
|
11
|
-
export { Accordion, Accordions
|
|
9
|
+
export { Accordion, Accordions };
|
|
@@ -18,66 +18,38 @@ import {
|
|
|
18
18
|
useState,
|
|
19
19
|
useEffect
|
|
20
20
|
} from "react";
|
|
21
|
-
import { cva } from "class-variance-authority";
|
|
22
21
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
23
|
-
var
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
var Accordions = forwardRef((props, ref) => {
|
|
27
|
-
if (props.type === "multiple") {
|
|
28
|
-
return /* @__PURE__ */ jsx(MultipleAccordions, { ref, ...props });
|
|
29
|
-
}
|
|
30
|
-
return /* @__PURE__ */ jsx(
|
|
31
|
-
SingleAccordions,
|
|
32
|
-
{
|
|
33
|
-
ref,
|
|
34
|
-
...props,
|
|
35
|
-
type: "single"
|
|
36
|
-
}
|
|
37
|
-
);
|
|
38
|
-
});
|
|
39
|
-
Accordions.displayName = "Accordions";
|
|
40
|
-
var MultipleAccordions = forwardRef(({ className, defaultValue, ...props }, ref) => {
|
|
41
|
-
const [defValue, setDefValue] = useState(defaultValue);
|
|
42
|
-
const value = props.value ?? defValue;
|
|
43
|
-
const setValue = props.onValueChange?.bind(props) ?? setDefValue;
|
|
44
|
-
useEffect(() => {
|
|
45
|
-
if (window.location.hash.length > 0)
|
|
46
|
-
setValue([window.location.hash.substring(1)]);
|
|
47
|
-
}, [setValue]);
|
|
48
|
-
return /* @__PURE__ */ jsx(
|
|
49
|
-
AccordionPrimitive.Root,
|
|
50
|
-
{
|
|
51
|
-
ref,
|
|
52
|
-
value,
|
|
53
|
-
onValueChange: setValue,
|
|
54
|
-
className: twMerge(variants(), className),
|
|
55
|
-
...props
|
|
56
|
-
}
|
|
22
|
+
var Accordions = forwardRef(({ type = "single", className, defaultValue, ...props }, ref) => {
|
|
23
|
+
const [value, setValue] = useState(
|
|
24
|
+
type === "single" ? defaultValue ?? "" : defaultValue ?? []
|
|
57
25
|
);
|
|
58
|
-
});
|
|
59
|
-
MultipleAccordions.displayName = "MultipleAccordions";
|
|
60
|
-
var SingleAccordions = forwardRef(({ className, defaultValue, ...props }, ref) => {
|
|
61
|
-
const [defValue, setDefValue] = useState(defaultValue);
|
|
62
|
-
const value = props.value ?? defValue;
|
|
63
|
-
const setValue = props.onValueChange?.bind(props) ?? setDefValue;
|
|
64
26
|
useEffect(() => {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
27
|
+
const id = window.location.hash.substring(1);
|
|
28
|
+
if (id.length > 0)
|
|
29
|
+
setValue((prev) => {
|
|
30
|
+
return type === "single" ? id : [id, ...Array.isArray(prev) ? prev : []];
|
|
31
|
+
});
|
|
32
|
+
}, [type]);
|
|
33
|
+
return (
|
|
34
|
+
// @ts-expect-error -- Multiple types
|
|
35
|
+
/* @__PURE__ */ jsx(
|
|
36
|
+
AccordionPrimitive.Root,
|
|
37
|
+
{
|
|
38
|
+
type,
|
|
39
|
+
ref,
|
|
40
|
+
value,
|
|
41
|
+
onValueChange: setValue,
|
|
42
|
+
collapsible: true,
|
|
43
|
+
className: twMerge(
|
|
44
|
+
"divide-y divide-border overflow-hidden rounded-lg border bg-card",
|
|
45
|
+
className
|
|
46
|
+
),
|
|
47
|
+
...props
|
|
48
|
+
}
|
|
49
|
+
)
|
|
78
50
|
);
|
|
79
51
|
});
|
|
80
|
-
|
|
52
|
+
Accordions.displayName = "Accordions";
|
|
81
53
|
var Accordion = forwardRef(({ title, className, id, children, ...props }, ref) => {
|
|
82
54
|
return /* @__PURE__ */ jsxs(
|
|
83
55
|
AccordionPrimitive.Item,
|
|
@@ -129,7 +101,5 @@ function CopyButton({ id }) {
|
|
|
129
101
|
Accordion.displayName = "Accordion";
|
|
130
102
|
export {
|
|
131
103
|
Accordion,
|
|
132
|
-
Accordions
|
|
133
|
-
MultipleAccordions,
|
|
134
|
-
SingleAccordions
|
|
104
|
+
Accordions
|
|
135
105
|
};
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as React from 'react';
|
|
2
2
|
import { HTMLAttributes, ReactNode } from 'react';
|
|
3
3
|
|
|
4
|
-
declare const Callout:
|
|
4
|
+
declare const Callout: React.ForwardRefExoticComponent<Omit<HTMLAttributes<HTMLDivElement>, "title" | "icon" | "type"> & {
|
|
5
5
|
title?: ReactNode;
|
|
6
6
|
/**
|
|
7
7
|
* @defaultValue info
|
|
8
8
|
*/
|
|
9
9
|
type?: "info" | "warn" | "error" | undefined;
|
|
10
10
|
icon?: ReactNode;
|
|
11
|
-
} &
|
|
11
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
12
12
|
|
|
13
13
|
export { Callout };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as React from 'react';
|
|
2
2
|
import { HTMLAttributes, ReactNode } from 'react';
|
|
3
3
|
|
|
4
4
|
type CodeBlockProps = HTMLAttributes<HTMLElement> & {
|
|
@@ -8,13 +8,13 @@ type CodeBlockProps = HTMLAttributes<HTMLElement> & {
|
|
|
8
8
|
icon?: ReactNode;
|
|
9
9
|
allowCopy?: boolean;
|
|
10
10
|
};
|
|
11
|
-
declare const Pre:
|
|
12
|
-
declare const CodeBlock:
|
|
11
|
+
declare const Pre: React.ForwardRefExoticComponent<HTMLAttributes<HTMLPreElement> & React.RefAttributes<HTMLPreElement>>;
|
|
12
|
+
declare const CodeBlock: React.ForwardRefExoticComponent<HTMLAttributes<HTMLElement> & {
|
|
13
13
|
/**
|
|
14
14
|
* Icon of code block
|
|
15
15
|
*/
|
|
16
16
|
icon?: ReactNode;
|
|
17
17
|
allowCopy?: boolean | undefined;
|
|
18
|
-
} &
|
|
18
|
+
} & React.RefAttributes<HTMLElement>>;
|
|
19
19
|
|
|
20
20
|
export { CodeBlock, type CodeBlockProps, Pre };
|
|
@@ -14,7 +14,7 @@ interface FolderProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
14
14
|
*/
|
|
15
15
|
defaultOpen?: boolean;
|
|
16
16
|
}
|
|
17
|
-
declare function File(
|
|
17
|
+
declare function File({ name, icon, className, ...rest }: FileProps): JSX.Element;
|
|
18
18
|
declare function Folder({ name, defaultOpen, ...props }: FolderProps): JSX.Element;
|
|
19
19
|
|
|
20
20
|
export { File, type FileProps, Files, Folder, type FolderProps };
|
package/dist/components/files.js
CHANGED
|
@@ -30,14 +30,15 @@ function Files({
|
|
|
30
30
|
}
|
|
31
31
|
);
|
|
32
32
|
}
|
|
33
|
-
function File(
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
33
|
+
function File({
|
|
34
|
+
name,
|
|
35
|
+
icon = /* @__PURE__ */ jsx(FileIcon, {}),
|
|
36
|
+
className,
|
|
37
|
+
...rest
|
|
38
|
+
}) {
|
|
38
39
|
return /* @__PURE__ */ jsxs("div", { className: twMerge(item({ className })), ...rest, children: [
|
|
39
40
|
icon,
|
|
40
|
-
name
|
|
41
|
+
name
|
|
41
42
|
] });
|
|
42
43
|
}
|
|
43
44
|
function Folder({
|
|
@@ -49,7 +50,7 @@ function Folder({
|
|
|
49
50
|
return /* @__PURE__ */ jsxs(Collapsible, { open, onOpenChange: setOpen, ...props, children: [
|
|
50
51
|
/* @__PURE__ */ jsxs(CollapsibleTrigger, { className: twMerge(item({ className: "w-full" })), children: [
|
|
51
52
|
open ? /* @__PURE__ */ jsx(FolderOpenIcon, {}) : /* @__PURE__ */ jsx(FolderIcon, {}),
|
|
52
|
-
name
|
|
53
|
+
name
|
|
53
54
|
] }),
|
|
54
55
|
/* @__PURE__ */ jsx(CollapsibleContent, { children: /* @__PURE__ */ jsx("div", { className: "ml-2 flex flex-col border-l pl-2", children: props.children }) })
|
|
55
56
|
] });
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import { TOCItemType } from 'fumadocs-core/server';
|
|
2
|
-
import { ReactNode } from 'react';
|
|
3
2
|
|
|
4
3
|
interface InlineTocProps {
|
|
5
4
|
items: TOCItemType[];
|
|
6
5
|
defaultOpen?: boolean;
|
|
7
|
-
children?: ReactNode;
|
|
8
6
|
}
|
|
9
|
-
declare function InlineTOC({ items, defaultOpen
|
|
7
|
+
declare function InlineTOC({ items, defaultOpen }: InlineTocProps): JSX.Element;
|
|
10
8
|
|
|
11
9
|
export { InlineTOC, type InlineTocProps };
|
|
@@ -10,29 +10,18 @@ import "../chunk-6C3VEZWH.js";
|
|
|
10
10
|
// src/components/inline-toc.tsx
|
|
11
11
|
import { ChevronDown } from "lucide-react";
|
|
12
12
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
13
|
-
function InlineTOC({
|
|
14
|
-
items,
|
|
15
|
-
defaultOpen,
|
|
16
|
-
children
|
|
17
|
-
}) {
|
|
13
|
+
function InlineTOC({ items, defaultOpen }) {
|
|
18
14
|
return /* @__PURE__ */ jsxs(
|
|
19
15
|
Collapsible,
|
|
20
16
|
{
|
|
21
17
|
defaultOpen,
|
|
22
|
-
className: "not-prose rounded-lg border bg-card
|
|
18
|
+
className: "not-prose rounded-lg border bg-card text-card-foreground",
|
|
23
19
|
children: [
|
|
24
|
-
/* @__PURE__ */
|
|
25
|
-
"
|
|
26
|
-
{
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
children: [
|
|
30
|
-
"Table of Contents",
|
|
31
|
-
/* @__PURE__ */ jsx(ChevronDown, { className: "size-4 transition-transform duration-200" })
|
|
32
|
-
]
|
|
33
|
-
}
|
|
34
|
-
) }),
|
|
35
|
-
/* @__PURE__ */ jsx(CollapsibleContent, { children: /* @__PURE__ */ jsx("div", { className: "mt-2 flex flex-col text-sm text-muted-foreground", children: items.map((item) => /* @__PURE__ */ jsx(
|
|
20
|
+
/* @__PURE__ */ jsxs(CollapsibleTrigger, { className: "inline-flex w-full items-center justify-between p-4 font-medium [&[data-state=open]>svg]:rotate-180", children: [
|
|
21
|
+
"Table of Contents",
|
|
22
|
+
/* @__PURE__ */ jsx(ChevronDown, { className: "size-4 transition-transform duration-200" })
|
|
23
|
+
] }),
|
|
24
|
+
/* @__PURE__ */ jsx(CollapsibleContent, { children: /* @__PURE__ */ jsx("div", { className: "flex flex-col p-4 pt-0 text-sm text-muted-foreground", children: items.map((item) => /* @__PURE__ */ jsx(
|
|
36
25
|
"a",
|
|
37
26
|
{
|
|
38
27
|
href: item.url,
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import * as TabsPrimitive from '@radix-ui/react-tabs';
|
|
2
2
|
import { TabsContentProps } from '@radix-ui/react-tabs';
|
|
3
|
-
import * as
|
|
3
|
+
import * as React from 'react';
|
|
4
4
|
import { ReactNode } from 'react';
|
|
5
5
|
|
|
6
|
-
declare const Tabs$1:
|
|
7
|
-
declare const TabsList:
|
|
8
|
-
declare const TabsTrigger:
|
|
9
|
-
declare const TabsContent:
|
|
6
|
+
declare const Tabs$1: React.ForwardRefExoticComponent<TabsPrimitive.TabsProps & React.RefAttributes<HTMLDivElement>>;
|
|
7
|
+
declare const TabsList: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsListProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
8
|
+
declare const TabsTrigger: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsTriggerProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
9
|
+
declare const TabsContent: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
10
10
|
|
|
11
11
|
declare const tabs_TabsContent: typeof TabsContent;
|
|
12
12
|
declare const tabs_TabsList: typeof TabsList;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PageTree } from 'fumadocs-core/server';
|
|
2
|
-
import { ReactNode, HTMLAttributes } from 'react';
|
|
2
|
+
import { ReactNode, FC, HTMLAttributes } from 'react';
|
|
3
3
|
|
|
4
4
|
interface NavLinkProps {
|
|
5
5
|
icon: ReactNode;
|
|
@@ -36,10 +36,23 @@ interface SidebarProps {
|
|
|
36
36
|
* @defaultValue 1
|
|
37
37
|
*/
|
|
38
38
|
defaultOpenLevel?: number;
|
|
39
|
+
components?: Partial<Components>;
|
|
39
40
|
banner?: ReactNode;
|
|
40
41
|
footer?: ReactNode;
|
|
41
42
|
}
|
|
42
|
-
|
|
43
|
+
interface Components {
|
|
44
|
+
Item: FC<{
|
|
45
|
+
item: PageTree.Item;
|
|
46
|
+
}>;
|
|
47
|
+
Folder: FC<{
|
|
48
|
+
item: PageTree.Folder;
|
|
49
|
+
level: number;
|
|
50
|
+
}>;
|
|
51
|
+
Separator: FC<{
|
|
52
|
+
item: PageTree.Separator;
|
|
53
|
+
}>;
|
|
54
|
+
}
|
|
55
|
+
declare function Sidebar({ banner, footer, components, items, defaultOpenLevel, }: SidebarProps): JSX.Element;
|
|
43
56
|
|
|
44
57
|
interface LinkItem {
|
|
45
58
|
url: string;
|
package/dist/layout.client.d.mts
CHANGED
package/dist/layout.client.js
CHANGED
|
@@ -66,8 +66,8 @@ import { jsx, jsxs } from "react/jsx-runtime";
|
|
|
66
66
|
var buttonVariants2 = cva("size-7 rounded-full p-1.5 text-muted-foreground", {
|
|
67
67
|
variants: {
|
|
68
68
|
dark: {
|
|
69
|
-
true: "dark:bg-
|
|
70
|
-
false: "bg-
|
|
69
|
+
true: "dark:bg-secondary dark:text-secondary-foreground",
|
|
70
|
+
false: "bg-secondary text-secondary-foreground dark:bg-transparent dark:text-muted-foreground"
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
73
|
});
|
|
@@ -303,17 +303,31 @@ var itemVariants = cva3(
|
|
|
303
303
|
}
|
|
304
304
|
}
|
|
305
305
|
);
|
|
306
|
+
var defaultComponents = {
|
|
307
|
+
Folder: FolderNode,
|
|
308
|
+
Separator: SeparatorNode,
|
|
309
|
+
Item: ({ item }) => /* @__PURE__ */ jsx3(BaseItem, { item: { text: item.name, url: item.url, icon: item.icon } })
|
|
310
|
+
};
|
|
306
311
|
var SidebarContext = createContext({
|
|
307
|
-
defaultOpenLevel: 1
|
|
312
|
+
defaultOpenLevel: 1,
|
|
313
|
+
components: defaultComponents
|
|
308
314
|
});
|
|
309
315
|
function Sidebar({
|
|
310
316
|
banner,
|
|
311
317
|
footer,
|
|
318
|
+
components,
|
|
312
319
|
items = [],
|
|
313
320
|
defaultOpenLevel = 1
|
|
314
321
|
}) {
|
|
315
322
|
const [open] = useSidebarCollapse();
|
|
316
323
|
const { root } = useTreeContext();
|
|
324
|
+
const context = useMemo(
|
|
325
|
+
() => ({
|
|
326
|
+
defaultOpenLevel,
|
|
327
|
+
components: { ...defaultComponents, ...components }
|
|
328
|
+
}),
|
|
329
|
+
[components, defaultOpenLevel]
|
|
330
|
+
);
|
|
317
331
|
return /* @__PURE__ */ jsx3(
|
|
318
332
|
Base.SidebarList,
|
|
319
333
|
{
|
|
@@ -323,10 +337,10 @@ function Sidebar({
|
|
|
323
337
|
!open ? "md:hidden" : "md:sticky md:top-16 md:h-body md:w-[240px] md:text-sm xl:w-[260px]",
|
|
324
338
|
"max-md:fixed max-md:inset-0 max-md:z-40 max-md:bg-background/80 max-md:pt-16 max-md:backdrop-blur-md max-md:data-[open=false]:hidden"
|
|
325
339
|
),
|
|
326
|
-
children: /* @__PURE__ */ jsxs3(SidebarContext.Provider, { value:
|
|
340
|
+
children: /* @__PURE__ */ jsxs3(SidebarContext.Provider, { value: context, children: [
|
|
327
341
|
/* @__PURE__ */ jsx3(ScrollArea, { className: "flex-1", children: /* @__PURE__ */ jsxs3("div", { className: "flex flex-col gap-8 pb-10 pt-4 max-md:px-4 md:pr-3 md:pt-10", children: [
|
|
328
342
|
banner,
|
|
329
|
-
/* @__PURE__ */ jsx3("div", { className: "lg:hidden", children: items.map((item) => /* @__PURE__ */ jsx3(BaseItem, { item, nested: true }, item.url)) }),
|
|
343
|
+
items.length > 0 && /* @__PURE__ */ jsx3("div", { className: "lg:hidden", children: items.map((item) => /* @__PURE__ */ jsx3(BaseItem, { item, nested: true }, item.url)) }),
|
|
330
344
|
/* @__PURE__ */ jsx3(NodeList, { items: root.children })
|
|
331
345
|
] }) }),
|
|
332
346
|
/* @__PURE__ */ jsxs3(
|
|
@@ -347,21 +361,16 @@ function Sidebar({
|
|
|
347
361
|
);
|
|
348
362
|
}
|
|
349
363
|
function NodeList({ items, level = 0, ...props }) {
|
|
364
|
+
const { components } = useContext(SidebarContext);
|
|
350
365
|
return /* @__PURE__ */ jsx3("div", { ...props, children: items.map((item) => {
|
|
351
366
|
const id = `${item.type}_${item.name}`;
|
|
352
367
|
switch (item.type) {
|
|
353
368
|
case "separator":
|
|
354
|
-
return /* @__PURE__ */ jsx3(
|
|
369
|
+
return /* @__PURE__ */ jsx3(components.Separator, { item }, id);
|
|
355
370
|
case "folder":
|
|
356
|
-
return /* @__PURE__ */ jsx3(Folder, { item, level: level + 1 }, id);
|
|
371
|
+
return /* @__PURE__ */ jsx3(components.Folder, { item, level: level + 1 }, id);
|
|
357
372
|
default:
|
|
358
|
-
return /* @__PURE__ */ jsx3(
|
|
359
|
-
BaseItem,
|
|
360
|
-
{
|
|
361
|
-
item: { text: item.name, url: item.url, icon: item.icon }
|
|
362
|
-
},
|
|
363
|
-
item.url
|
|
364
|
-
);
|
|
373
|
+
return /* @__PURE__ */ jsx3(components.Item, { item }, item.url);
|
|
365
374
|
}
|
|
366
375
|
}) });
|
|
367
376
|
}
|
|
@@ -384,8 +393,8 @@ function BaseItem({
|
|
|
384
393
|
}
|
|
385
394
|
);
|
|
386
395
|
}
|
|
387
|
-
function
|
|
388
|
-
item: { name, children, index, icon },
|
|
396
|
+
function FolderNode({
|
|
397
|
+
item: { name, children, index, icon, defaultOpen = false },
|
|
389
398
|
level
|
|
390
399
|
}) {
|
|
391
400
|
const { defaultOpenLevel } = useContext(SidebarContext);
|
|
@@ -396,7 +405,7 @@ function Folder({
|
|
|
396
405
|
[children, pathname]
|
|
397
406
|
);
|
|
398
407
|
const [extend, setExtend] = useState2(
|
|
399
|
-
active || childActive || defaultOpenLevel >= level
|
|
408
|
+
active || childActive || defaultOpenLevel >= level || defaultOpen
|
|
400
409
|
);
|
|
401
410
|
useEffect2(() => {
|
|
402
411
|
if (active || childActive)
|
package/dist/layout.d.mts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import 'fumadocs-core/server';
|
|
2
2
|
import 'react';
|
|
3
|
-
export { B as BaseLayoutProps, b as DocsLayout, D as DocsLayoutProps, a as Layout, L as LinkItem } from './layout-
|
|
3
|
+
export { B as BaseLayoutProps, b as DocsLayout, D as DocsLayoutProps, a as Layout, L as LinkItem } from './layout-W7dJ6OHQ.mjs';
|
package/dist/page.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as React from 'react';
|
|
2
2
|
import { ReactNode, HTMLAttributes } from 'react';
|
|
3
3
|
import { TableOfContents, TOCItemType } from 'fumadocs-core/server';
|
|
4
4
|
import { FooterProps } from './page.client.mjs';
|
|
@@ -44,6 +44,6 @@ interface TOCProps {
|
|
|
44
44
|
/**
|
|
45
45
|
* Add typography styles
|
|
46
46
|
*/
|
|
47
|
-
declare const DocsBody:
|
|
47
|
+
declare const DocsBody: React.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
48
48
|
|
|
49
49
|
export { DocsBody, DocsPage, type DocsPageProps };
|
package/dist/provider.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as React from 'react';
|
|
2
2
|
import { ComponentType, ReactNode } from 'react';
|
|
3
3
|
import { SharedProps } from './components/dialog/search.mjs';
|
|
4
4
|
export { u as useI18n } from './i18n-dw7ODAws.mjs';
|
|
@@ -32,7 +32,7 @@ interface SearchContextType {
|
|
|
32
32
|
declare function useSearchContext(): SearchContextType;
|
|
33
33
|
|
|
34
34
|
type SidebarCollapseContext = [open: boolean, setOpen: (v: boolean) => void];
|
|
35
|
-
declare const SidebarCollapseContext:
|
|
35
|
+
declare const SidebarCollapseContext: React.Context<SidebarCollapseContext | undefined>;
|
|
36
36
|
declare function useSidebarCollapse(): SidebarCollapseContext;
|
|
37
37
|
|
|
38
38
|
interface RootProviderProps {
|
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{color:inherit;border-top-width:1px;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button{-webkit-appearance:button;background-color:transparent;background-image:none}[type=button]{-webkit-appearance:button;background-color:transparent;background-image:none}[type=reset]{-webkit-appearance:button;background-color:transparent;background-image:none}[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-ms-input-placeholder{opacity:1;color:#9ca3af}input::placeholder{opacity:1;color:#9ca3af}textarea::-ms-input-placeholder{opacity:1;color:#9ca3af}textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]{display:none}:root{--background:0 0% 100%;--foreground:0 0% 3.9%;--muted:0 0% 96.1%;--muted-foreground:0 0% 45.1%;--popover:0 0% 100%;--popover-foreground:0 0% 15.1%;--card:0 0% 99.7%;--card-foreground:0 0% 3.9%;--border:0 0% 89.8%;--primary:0 0% 9%;--primary-foreground:0 0% 98%;--secondary:0 0% 96.1%;--secondary-foreground:0 0% 9%;--accent:0 0% 94.1%;--accent-foreground:0 0% 9%;--ring:0 0% 63.9%}.dark{--background:0 0% 3.9%;--foreground:0 0% 98%;--muted:0 0% 12.9%;--muted-foreground:0 0% 60.9%;--popover:0 0% 7%;--popover-foreground:0 0% 88%;--card:0 0% 8%;--card-foreground:0 0% 98%;--border:0 0% 18%;--primary:0 0% 98%;--primary-foreground:0 0% 9%;--secondary:0 0% 12.9%;--secondary-foreground:0 0% 98%;--accent:0 0% 14.9%;--accent-foreground:0 0% 90%;--ring:0 0% 14.9%}*{border-color:hsl(var(--border)/1)}body{background-color:hsl(var(--background)/1);background-image:var(--background-image);color:hsl(var(--foreground)/1)}*,:before,:after{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 transparent;--tw-ring-shadow:0 0 transparent;--tw-shadow:0 0 transparent;--tw-shadow-colored:0 0 transparent;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 transparent;--tw-ring-shadow:0 0 transparent;--tw-shadow:0 0 transparent;--tw-shadow-colored:0 0 transparent;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}@media (min-width:1400px){.container{max-width:1400px}}.prose{color:var(--tw-prose-body);max-width:none}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-underline-offset:2px;text-decoration:underline;-webkit-text-decoration-color:hsl(var(--primary)/1);text-decoration-color:hsl(var(--primary)/1);font-weight:400;transition:opacity .3s}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-left:1.625em;list-style-type:decimal}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-left:0;list-style-type:disc;list-style-position:inside}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.25em;font-weight:600}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-quotes);border-left-width:.25rem;border-left-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-left:1em;font-style:italic;font-weight:500}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);border-radius:.3125rem;padding:.1875em .375em;font-family:inherit;font-size:.875em;font-weight:500}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);border:1px solid;border-color:hsl(var(--border)/1);background:hsl(var(--muted)/1);border-radius:5px;padding:3px;font-size:13px;font-weight:400}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding:.857143em 1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;text-align:left;white-space:nowrap;width:100%;margin-top:2em;margin-bottom:2em;font-size:14px;line-height:1.71429}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);vertical-align:bottom;padding-bottom:.571429em;padding-left:.571429em;padding-right:.571429em;font-weight:600}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.prose{--tw-prose-body:hsl(var(--foreground)/90%);--tw-prose-headings:hsl(var(--foreground)/1);--tw-prose-lead:hsl(var(--foreground)/1);--tw-prose-links:hsl(var(--foreground)/1);--tw-prose-bold:hsl(var(--foreground)/1);--tw-prose-counters:hsl(var(--muted-foreground)/1);--tw-prose-bullets:hsl(var(--muted-foreground)/1);--tw-prose-hr:hsl(var(--border)/1);--tw-prose-quotes:hsl(var(--foreground)/1);--tw-prose-quote-borders:hsl(var(--border)/1);--tw-prose-captions:hsl(var(--foreground)/1);--tw-prose-kbd:hsl(var(--foreground)/1);--tw-prose-kbd-shadows:hsl(var(--primary)/50%);--tw-prose-code:hsl(var(--foreground)/1);--tw-prose-th-borders:hsl(var(--border)/1);--tw-prose-td-borders:hsl(var(--border)/1);--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:255 255 255;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgba(0,0,0,.5);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:16px;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-left:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-left:0}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-left:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-left:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-right:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding:.571429em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-left:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-right:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose :where(a:hover):not(:where([class~=not-prose],[class~=not-prose] *)){opacity:.8}.nd-codeblock span{color:var(--shiki-light)}.dark .nd-codeblock span{color:var(--shiki-dark)}.nd-codeblock .line{padding-left:1rem;padding-right:1rem;font-size:13px}.nd-codeblock .highlighted{background-color:hsl(var(--primary)/10%);width:100%;display:inline-block}.nd-codeblock .highlighted-word{border:1px solid;border-color:hsl(var(--primary)/50%);background-color:hsl(var(--primary)/10%);border-radius:2px;margin:-1px -3px;padding:1px 2px}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:-webkit-sticky;position:sticky}.inset-0{top:0;bottom:0;left:0;right:0}.bottom-8{bottom:2rem}.left-0{left:0}.left-2{left:.5rem}.left-\[50\%\]{left:50%}.right-2{right:.5rem}.right-4{right:1rem}.right-8{right:2rem}.top-0{top:0}.top-14{top:3.5rem}.top-16{top:4rem}.top-2{top:.5rem}.top-4{top:1rem}.top-\[10vh\]{top:10vh}.z-50{z-index:50}.z-\[2\]{z-index:2}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-4{margin-top:1rem;margin-bottom:1rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.-mr-2{margin-right:-.5rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.size-3{width:.75rem;height:.75rem}.size-3\.5{width:.875rem;height:.875rem}.size-4{width:1rem;height:1rem}.size-5{width:1.25rem;height:1.25rem}.size-7{width:1.75rem;height:1.75rem}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-16{height:4rem}.h-9{height:2.25rem}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-body{height:calc(100vh - 4rem);height:calc(100dvh - 4rem)}.h-fit{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content}.h-full{height:100%}.h-px{height:1px}.max-h-\[460px\]{max-height:460px}.max-h-\[80vh\]{max-height:80vh}.min-h-10{min-height:2.5rem}.w-0{width:0}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-80{width:20rem}.w-\[220px\]{width:220px}.w-\[25\%\]{width:25%}.w-\[30\%\]{width:30%}.w-\[45\%\]{width:45%}.w-\[98vw\]{width:98vw}.w-fit{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.w-full{width:100%}.min-w-\[260px\]{min-width:260px}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.max-w-\[240px\]{max-width:240px}.max-w-\[640px\]{max-width:640px}.max-w-\[90vw\]{max-width:90vw}.flex-1{flex:1}.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.origin-left{transform-origin:0}.translate-x-\[-50\%\]{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.translate-y-20{--tw-translate-y:5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.-rotate-90{--tw-rotate:-90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.select-none{-webkit-user-select:none;-ms-user-select:none;user-select:none}.scroll-m-20{scroll-margin:5rem}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-x-6{column-gap:1.5rem}.gap-y-2{row-gap:.5rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.space-y-24>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(6rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(6rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-border>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:hsl(var(--border)/var(--tw-divide-opacity))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-t{border-top-width:1px}.border-foreground\/10{border-color:hsl(var(--foreground)/.1)}.border-green-400\/50{border-color:rgba(74,222,128,.5)}.border-primary{--tw-border-opacity:1;border-color:hsl(var(--primary)/var(--tw-border-opacity))}.border-red-400\/50{border-color:rgba(248,113,113,.5)}.border-transparent{border-color:transparent}.border-yellow-400\/50{border-color:rgba(250,204,21,.5)}.bg-accent{--tw-bg-opacity:1;background-color:hsl(var(--accent)/var(--tw-bg-opacity))}.bg-background{--tw-bg-opacity:1;background-color:hsl(var(--background)/var(--tw-bg-opacity))}.bg-background\/50{background-color:hsl(var(--background)/.5)}.bg-border{--tw-bg-opacity:1;background-color:hsl(var(--border)/var(--tw-bg-opacity))}.bg-card{--tw-bg-opacity:1;background-color:hsl(var(--card)/var(--tw-bg-opacity))}.bg-green-400\/20{background-color:rgba(74,222,128,.2)}.bg-muted{--tw-bg-opacity:1;background-color:hsl(var(--muted)/var(--tw-bg-opacity))}.bg-popover{--tw-bg-opacity:1;background-color:hsl(var(--popover)/var(--tw-bg-opacity))}.bg-primary\/10{background-color:hsl(var(--primary)/.1)}.bg-red-400\/20{background-color:rgba(248,113,113,.2)}.bg-secondary{--tw-bg-opacity:1;background-color:hsl(var(--secondary)/var(--tw-bg-opacity))}.bg-secondary\/50{background-color:hsl(var(--secondary)/.5)}.bg-transparent{background-color:transparent}.bg-yellow-400\/20{background-color:rgba(250,204,21,.2)}.fill-blue-500{fill:#3b82f6}.fill-orange-500{fill:#f97316}.fill-red-500{fill:#ef4444}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-10{padding-bottom:2.5rem}.pl-10{padding-left:2.5rem}.pl-2{padding-left:.5rem}.pl-4{padding-left:1rem}.pl-7{padding-left:1.75rem}.pl-8{padding-left:2rem}.pr-2{padding-right:.5rem}.pt-0{padding-top:0}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-end:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){text-align:right}.text-end:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){text-align:right}.text-end:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){text-align:left}.text-end:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){text-align:left}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.text-accent-foreground{--tw-text-opacity:1;color:hsl(var(--accent-foreground)/var(--tw-text-opacity))}.text-card{--tw-text-opacity:1;color:hsl(var(--card)/var(--tw-text-opacity))}.text-card-foreground{--tw-text-opacity:1;color:hsl(var(--card-foreground)/var(--tw-text-opacity))}.text-foreground{--tw-text-opacity:1;color:hsl(var(--foreground)/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgba(22,163,74,var(--tw-text-opacity))}.text-muted-foreground{--tw-text-opacity:1;color:hsl(var(--muted-foreground)/var(--tw-text-opacity))}.text-popover-foreground{--tw-text-opacity:1;color:hsl(var(--popover-foreground)/var(--tw-text-opacity))}.text-primary{--tw-text-opacity:1;color:hsl(var(--primary)/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgba(220,38,38,var(--tw-text-opacity))}.text-secondary-foreground{--tw-text-opacity:1;color:hsl(var(--secondary-foreground)/var(--tw-text-opacity))}.text-yellow-600{--tw-text-opacity:1;color:rgba(202,138,4,var(--tw-text-opacity))}.underline{text-decoration-line:underline}.accent-foreground{accent-color:hsl(var(--foreground)/1)}.opacity-0{opacity:0}.opacity-50{opacity:.5}.shadow-\[0_-1px_0_var\(--tw-shadow\)_inset\]{--tw-shadow:0 -1px 0 var(--tw-shadow)inset;--tw-shadow-colored:inset 0 -1px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)}.shadow-border{--tw-shadow-color:hsl(var(--border)/1);--tw-shadow:var(--tw-shadow-colored)}.outline-none{outline-offset:2px;outline:2px solid transparent}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent)}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background)/1)}.filter{filter:var(--tw-blur)var(--tw-brightness)var(--tw-contrast)var(--tw-grayscale)var(--tw-hue-rotate)var(--tw-invert)var(--tw-saturate)var(--tw-sepia)var(--tw-drop-shadow)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur)var(--tw-backdrop-brightness)var(--tw-backdrop-contrast)var(--tw-backdrop-grayscale)var(--tw-backdrop-hue-rotate)var(--tw-backdrop-invert)var(--tw-backdrop-opacity)var(--tw-backdrop-saturate)var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur)var(--tw-backdrop-brightness)var(--tw-backdrop-contrast)var(--tw-backdrop-grayscale)var(--tw-backdrop-hue-rotate)var(--tw-backdrop-invert)var(--tw-backdrop-opacity)var(--tw-backdrop-saturate)var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur)var(--tw-backdrop-brightness)var(--tw-backdrop-contrast)var(--tw-backdrop-grayscale)var(--tw-backdrop-hue-rotate)var(--tw-backdrop-invert)var(--tw-backdrop-opacity)var(--tw-backdrop-saturate)var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur)var(--tw-backdrop-brightness)var(--tw-backdrop-contrast)var(--tw-backdrop-grayscale)var(--tw-backdrop-hue-rotate)var(--tw-backdrop-invert)var(--tw-backdrop-opacity)var(--tw-backdrop-saturate)var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-100{transition-duration:.1s}.duration-200{transition-duration:.2s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.steps{counter-reset:step;border-left-width:1px;margin-left:1rem;padding-left:1.75rem;position:relative}.step:before{background-color:hsl(var(--secondary)/1);color:hsl(var(--secondary-foreground)/1);content:counter(step);counter-increment:step;border-radius:9999px;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:.875rem;line-height:1.25rem;display:flex;position:absolute;left:-1rem}.prose-no-margin>:first-child{margin-top:0}.prose-no-margin>:last-child{margin-bottom:0}.placeholder\:text-muted-foreground::-ms-input-placeholder{--tw-text-opacity:1;color:hsl(var(--muted-foreground)/var(--tw-text-opacity))}.placeholder\:text-muted-foreground::placeholder{--tw-text-opacity:1;color:hsl(var(--muted-foreground)/var(--tw-text-opacity))}.first\:mt-0:first-child{margin-top:0}.first\:pl-0:first-child{padding-left:0}.first\:pt-0:first-child{padding-top:0}.last\:pr-0:last-child{padding-right:0}.hover\:bg-accent:hover{--tw-bg-opacity:1;background-color:hsl(var(--accent)/var(--tw-bg-opacity))}.hover\:bg-accent\/50:hover{background-color:hsl(var(--accent)/.5)}.hover\:bg-muted\/80:hover{background-color:hsl(var(--muted)/.8)}.hover\:text-accent-foreground:hover{--tw-text-opacity:1;color:hsl(var(--accent-foreground)/var(--tw-text-opacity))}.hover\:text-accent-foreground\/80:hover{color:hsl(var(--accent-foreground)/.8)}.hover\:text-foreground:hover{--tw-text-opacity:1;color:hsl(var(--foreground)/var(--tw-text-opacity))}.focus\:bg-accent:focus{--tw-bg-opacity:1;background-color:hsl(var(--accent)/var(--tw-bg-opacity))}.focus\:text-accent-foreground:focus{--tw-text-opacity:1;color:hsl(var(--accent-foreground)/var(--tw-text-opacity))}.focus\:outline-none:focus{outline-offset:2px;outline:2px solid transparent}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent)}.focus\:ring-ring:focus{--tw-ring-opacity:1;--tw-ring-color:hsl(var(--ring)/var(--tw-ring-opacity))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:outline-none:focus-visible{outline-offset:2px;outline:2px solid transparent}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent)}.focus-visible\:ring-ring:focus-visible{--tw-ring-opacity:1;--tw-ring-color:hsl(var(--ring)/var(--tw-ring-opacity))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:opacity-100{opacity:1}.aria-selected\:bg-accent[aria-selected=true]{--tw-bg-opacity:1;background-color:hsl(var(--accent)/var(--tw-bg-opacity))}.aria-selected\:text-accent-foreground[aria-selected=true]{--tw-text-opacity:1;color:hsl(var(--accent-foreground)/var(--tw-text-opacity))}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:-.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:-.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{opacity:.5;height:0}}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:.2s ease-out accordion-up}@keyframes collapsible-up{0%{height:var(--radix-collapsible-content-height)}to{opacity:0;height:0}}.data-\[state\=closed\]\:animate-collapsible-up[data-state=closed]{animation:.15s ease-out collapsible-up}@keyframes dialog-out{0%{transform:scale(1)translate(-50%)}to{transform:scale(.95)translateY(-50%,0);opacity:0}}.data-\[state\=closed\]\:animate-dialog-out[data-state=closed]{animation:.3s cubic-bezier(.32,.72,0,1) dialog-out}@keyframes fade-out{to{opacity:0}}.data-\[state\=closed\]\:animate-fade-out[data-state=closed]{animation:.3s fade-out}@keyframes popover-out{0%{opacity:1;transform:matrix(1,0,0,1,0,0)}to{opacity:0;transform:matrix(.95,0,0,.95,0,-9.5)}}.data-\[state\=closed\]\:animate-popover-out[data-state=closed]{animation:.15s popover-out}.data-\[state\=hidden\]\:animate-fade-out[data-state=hidden]{animation:.3s fade-out}@keyframes accordion-down{0%{opacity:.5;height:0}to{height:var(--radix-accordion-content-height)}}.data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:.2s ease-out accordion-down}@keyframes collapsible-down{0%{opacity:0;height:0}to{height:var(--radix-collapsible-content-height)}}.data-\[state\=open\]\:animate-collapsible-down[data-state=open]{animation:.15s ease-out collapsible-down}@keyframes dialog-in{0%{opacity:0;transform:scale(.95)translate(-50%)}to{transform:scale(1)translate(-50%)}}.data-\[state\=open\]\:animate-dialog-in[data-state=open]{animation:.2s cubic-bezier(.32,.72,0,1) dialog-in}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.data-\[state\=open\]\:animate-fade-in[data-state=open]{animation:.3s fade-in}@keyframes popover-in{0%{opacity:0;transform:matrix(.95,0,0,.95,0,-9.5)}to{opacity:1;transform:matrix(1,0,0,1,0,0)}}.data-\[state\=open\]\:animate-popover-in[data-state=open]{animation:.15s popover-in}.data-\[state\=active\]\:border-primary[data-state=active]{--tw-border-opacity:1;border-color:hsl(var(--primary)/var(--tw-border-opacity))}.data-\[active\=true\]\:font-medium[data-active=true]{font-weight:500}.data-\[active\=true\]\:text-primary[data-active=true]{--tw-text-opacity:1;color:hsl(var(--primary)/var(--tw-text-opacity))}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{--tw-text-opacity:1;color:hsl(var(--muted-foreground)/var(--tw-text-opacity))}.data-\[state\=active\]\:text-primary[data-state=active]{--tw-text-opacity:1;color:hsl(var(--primary)/var(--tw-text-opacity))}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.group\/accordion[data-state=open] .group-data-\[state\=open\]\/accordion\:rotate-90{--tw-rotate:90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}:is(.dark .dark\:bg-accent){--tw-bg-opacity:1;background-color:hsl(var(--accent)/var(--tw-bg-opacity))}:is(.dark .dark\:bg-transparent){background-color:transparent}:is(.dark .dark\:text-accent-foreground){--tw-text-opacity:1;color:hsl(var(--accent-foreground)/var(--tw-text-opacity))}:is(.dark .dark\:text-green-400){--tw-text-opacity:1;color:rgba(74,222,128,var(--tw-text-opacity))}:is(.dark .dark\:text-muted-foreground){--tw-text-opacity:1;color:hsl(var(--muted-foreground)/var(--tw-text-opacity))}:is(.dark .dark\:text-red-400){--tw-text-opacity:1;color:rgba(248,113,113,var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-400){--tw-text-opacity:1;color:rgba(250,204,21,var(--tw-text-opacity))}@media not all and (min-width:1280px){.max-xl\:hidden{display:none}}@media not all and (min-width:1024px){.max-lg\:hidden{display:none}}@media not all and (min-width:768px){.max-md\:fixed{position:fixed}.max-md\:inset-0{top:0;bottom:0;left:0;right:0}.max-md\:z-40{z-index:40}.max-md\:hidden{display:none}.max-md\:bg-background\/80{background-color:hsl(var(--background)/.8)}.max-md\:px-4{padding-left:1rem;padding-right:1rem}.max-md\:pt-16{padding-top:4rem}.max-md\:backdrop-blur-md{--tw-backdrop-blur:blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur)var(--tw-backdrop-brightness)var(--tw-backdrop-contrast)var(--tw-backdrop-grayscale)var(--tw-backdrop-hue-rotate)var(--tw-backdrop-invert)var(--tw-backdrop-opacity)var(--tw-backdrop-saturate)var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur)var(--tw-backdrop-brightness)var(--tw-backdrop-contrast)var(--tw-backdrop-grayscale)var(--tw-backdrop-hue-rotate)var(--tw-backdrop-invert)var(--tw-backdrop-opacity)var(--tw-backdrop-saturate)var(--tw-backdrop-sepia)}.max-md\:data-\[open\=false\]\:hidden[data-open=false]{display:none}}@media (min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:text-left{text-align:left}}@media (min-width:768px){.md\:sticky{position:-webkit-sticky;position:sticky}.md\:top-16{top:4rem}.md\:hidden{display:none}.md\:h-body{height:calc(100vh - 4rem);height:calc(100dvh - 4rem)}.md\:w-\[240px\]{width:240px}.md\:gap-2{gap:.5rem}.md\:pr-3{padding-right:.75rem}.md\:pt-10{padding-top:2.5rem}.md\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:1024px){.lg\:hidden{display:none}}@media (min-width:1280px){.xl\:hidden{display:none}.xl\:w-\[260px\]{width:260px}.xl\:w-\[40\%\]{width:40%}.xl\:min-w-\[400px\]{min-width:400px}.xl\:flex-row{flex-direction:row}.xl\:gap-12{gap:3rem}}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{--tw-rotate:180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.\[\&_\[cmdk-group-heading\]\]\:px-3 [cmdk-group-heading]{padding-left:.75rem;padding-right:.75rem}.\[\&_\[cmdk-group-heading\]\]\:py-2 [cmdk-group-heading]{padding-top:.5rem;padding-bottom:.5rem}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{font-weight:500}.\[\&_svg\]\:size-3\.5 svg{width:.875rem;height:.875rem}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:size-5 svg{width:1.25rem;height:1.25rem}
|
|
1
|
+
*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{color:inherit;border-top-width:1px;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button{-webkit-appearance:button;background-color:transparent;background-image:none}[type=button]{-webkit-appearance:button;background-color:transparent;background-image:none}[type=reset]{-webkit-appearance:button;background-color:transparent;background-image:none}[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-ms-input-placeholder{opacity:1;color:#9ca3af}input::placeholder{opacity:1;color:#9ca3af}textarea::-ms-input-placeholder{opacity:1;color:#9ca3af}textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]{display:none}:root{--background:0 0% 100%;--foreground:0 0% 3.9%;--muted:0 0% 96.1%;--muted-foreground:0 0% 45.1%;--popover:0 0% 100%;--popover-foreground:0 0% 15.1%;--card:0 0% 99.7%;--card-foreground:0 0% 3.9%;--border:0 0% 89.8%;--primary:0 0% 9%;--primary-foreground:0 0% 98%;--secondary:0 0% 96.1%;--secondary-foreground:0 0% 9%;--accent:0 0% 94.1%;--accent-foreground:0 0% 9%;--ring:0 0% 63.9%}.dark{--background:0 0% 3.9%;--foreground:0 0% 98%;--muted:0 0% 12.9%;--muted-foreground:0 0% 60.9%;--popover:0 0% 7%;--popover-foreground:0 0% 88%;--card:0 0% 8%;--card-foreground:0 0% 98%;--border:0 0% 18%;--primary:0 0% 98%;--primary-foreground:0 0% 9%;--secondary:0 0% 12.9%;--secondary-foreground:0 0% 98%;--accent:0 0% 14.9%;--accent-foreground:0 0% 90%;--ring:0 0% 14.9%}*{border-color:hsl(var(--border)/1)}body{background-color:hsl(var(--background)/1);background-image:var(--background-image);color:hsl(var(--foreground)/1)}*,:before,:after{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 transparent;--tw-ring-shadow:0 0 transparent;--tw-shadow:0 0 transparent;--tw-shadow-colored:0 0 transparent;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 transparent;--tw-ring-shadow:0 0 transparent;--tw-shadow:0 0 transparent;--tw-shadow-colored:0 0 transparent;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}@media (min-width:1400px){.container{max-width:1400px}}.prose{color:var(--tw-prose-body);max-width:none}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-underline-offset:2px;text-decoration:underline;-webkit-text-decoration-color:hsl(var(--primary)/1);text-decoration-color:hsl(var(--primary)/1);font-weight:400;transition:opacity .3s}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-left:1.625em;list-style-type:decimal}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-left:0;list-style-type:disc;list-style-position:inside}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.25em;font-weight:600}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-quotes);border-left-width:.25rem;border-left-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-left:1em;font-style:italic;font-weight:500}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);border-radius:.3125rem;padding:.1875em .375em;font-family:inherit;font-size:.875em;font-weight:500}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);border:1px solid;border-color:hsl(var(--border)/1);background:hsl(var(--muted)/1);border-radius:5px;padding:3px;font-size:13px;font-weight:400}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding:.857143em 1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;text-align:left;white-space:nowrap;width:100%;margin-top:2em;margin-bottom:2em;font-size:14px;line-height:1.71429}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);vertical-align:bottom;padding-bottom:.571429em;padding-left:.571429em;padding-right:.571429em;font-weight:600}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.prose{--tw-prose-body:hsl(var(--foreground)/90%);--tw-prose-headings:hsl(var(--foreground)/1);--tw-prose-lead:hsl(var(--foreground)/1);--tw-prose-links:hsl(var(--foreground)/1);--tw-prose-bold:hsl(var(--foreground)/1);--tw-prose-counters:hsl(var(--muted-foreground)/1);--tw-prose-bullets:hsl(var(--muted-foreground)/1);--tw-prose-hr:hsl(var(--border)/1);--tw-prose-quotes:hsl(var(--foreground)/1);--tw-prose-quote-borders:hsl(var(--border)/1);--tw-prose-captions:hsl(var(--foreground)/1);--tw-prose-kbd:hsl(var(--foreground)/1);--tw-prose-kbd-shadows:hsl(var(--primary)/50%);--tw-prose-code:hsl(var(--foreground)/1);--tw-prose-th-borders:hsl(var(--border)/1);--tw-prose-td-borders:hsl(var(--border)/1);--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:255 255 255;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgba(0,0,0,.5);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:16px;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-left:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-left:0}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-left:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-left:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-right:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding:.571429em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-left:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-right:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose :where(a:hover):not(:where([class~=not-prose],[class~=not-prose] *)){opacity:.8}.nd-codeblock span{color:var(--shiki-light)}.dark .nd-codeblock span{color:var(--shiki-dark)}.nd-codeblock .line{padding-left:1rem;padding-right:1rem;font-size:13px}.nd-codeblock .highlighted{background-color:hsl(var(--primary)/10%);width:100%;display:inline-block}.nd-codeblock .highlighted-word{border:1px solid;border-color:hsl(var(--primary)/50%);background-color:hsl(var(--primary)/10%);border-radius:2px;margin:-1px -3px;padding:1px 2px}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:-webkit-sticky;position:sticky}.inset-0{top:0;bottom:0;left:0;right:0}.bottom-8{bottom:2rem}.left-0{left:0}.left-2{left:.5rem}.left-\[50\%\]{left:50%}.right-2{right:.5rem}.right-4{right:1rem}.right-8{right:2rem}.top-0{top:0}.top-14{top:3.5rem}.top-16{top:4rem}.top-2{top:.5rem}.top-4{top:1rem}.top-\[10vh\]{top:10vh}.z-50{z-index:50}.z-\[2\]{z-index:2}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-4{margin-top:1rem;margin-bottom:1rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.-mr-2{margin-right:-.5rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.size-3{width:.75rem;height:.75rem}.size-3\.5{width:.875rem;height:.875rem}.size-4{width:1rem;height:1rem}.size-5{width:1.25rem;height:1.25rem}.size-7{width:1.75rem;height:1.75rem}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-16{height:4rem}.h-9{height:2.25rem}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-body{height:calc(100vh - 4rem);height:calc(100dvh - 4rem)}.h-fit{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content}.h-full{height:100%}.h-px{height:1px}.max-h-\[460px\]{max-height:460px}.max-h-\[80vh\]{max-height:80vh}.min-h-10{min-height:2.5rem}.w-0{width:0}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-80{width:20rem}.w-\[220px\]{width:220px}.w-\[25\%\]{width:25%}.w-\[30\%\]{width:30%}.w-\[45\%\]{width:45%}.w-\[98vw\]{width:98vw}.w-fit{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.w-full{width:100%}.min-w-\[260px\]{min-width:260px}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.max-w-\[240px\]{max-width:240px}.max-w-\[640px\]{max-width:640px}.max-w-\[90vw\]{max-width:90vw}.flex-1{flex:1}.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.origin-left{transform-origin:0}.translate-x-\[-50\%\]{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.translate-y-20{--tw-translate-y:5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.-rotate-90{--tw-rotate:-90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.select-none{-webkit-user-select:none;-ms-user-select:none;user-select:none}.scroll-m-20{scroll-margin:5rem}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-x-6{column-gap:1.5rem}.gap-y-2{row-gap:.5rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.space-y-24>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(6rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(6rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-border>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:hsl(var(--border)/var(--tw-divide-opacity))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-t{border-top-width:1px}.border-foreground\/10{border-color:hsl(var(--foreground)/.1)}.border-green-400\/50{border-color:rgba(74,222,128,.5)}.border-primary{--tw-border-opacity:1;border-color:hsl(var(--primary)/var(--tw-border-opacity))}.border-red-400\/50{border-color:rgba(248,113,113,.5)}.border-transparent{border-color:transparent}.border-yellow-400\/50{border-color:rgba(250,204,21,.5)}.bg-background{--tw-bg-opacity:1;background-color:hsl(var(--background)/var(--tw-bg-opacity))}.bg-background\/50{background-color:hsl(var(--background)/.5)}.bg-border{--tw-bg-opacity:1;background-color:hsl(var(--border)/var(--tw-bg-opacity))}.bg-card{--tw-bg-opacity:1;background-color:hsl(var(--card)/var(--tw-bg-opacity))}.bg-green-400\/20{background-color:rgba(74,222,128,.2)}.bg-muted{--tw-bg-opacity:1;background-color:hsl(var(--muted)/var(--tw-bg-opacity))}.bg-popover{--tw-bg-opacity:1;background-color:hsl(var(--popover)/var(--tw-bg-opacity))}.bg-primary\/10{background-color:hsl(var(--primary)/.1)}.bg-red-400\/20{background-color:rgba(248,113,113,.2)}.bg-secondary{--tw-bg-opacity:1;background-color:hsl(var(--secondary)/var(--tw-bg-opacity))}.bg-secondary\/50{background-color:hsl(var(--secondary)/.5)}.bg-transparent{background-color:transparent}.bg-yellow-400\/20{background-color:rgba(250,204,21,.2)}.fill-blue-500{fill:#3b82f6}.fill-orange-500{fill:#f97316}.fill-red-500{fill:#ef4444}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-10{padding-bottom:2.5rem}.pl-10{padding-left:2.5rem}.pl-2{padding-left:.5rem}.pl-4{padding-left:1rem}.pl-7{padding-left:1.75rem}.pl-8{padding-left:2rem}.pr-2{padding-right:.5rem}.pt-0{padding-top:0}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-end:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){text-align:right}.text-end:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){text-align:right}.text-end:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){text-align:left}.text-end:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){text-align:left}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.text-accent-foreground{--tw-text-opacity:1;color:hsl(var(--accent-foreground)/var(--tw-text-opacity))}.text-card{--tw-text-opacity:1;color:hsl(var(--card)/var(--tw-text-opacity))}.text-card-foreground{--tw-text-opacity:1;color:hsl(var(--card-foreground)/var(--tw-text-opacity))}.text-foreground{--tw-text-opacity:1;color:hsl(var(--foreground)/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgba(22,163,74,var(--tw-text-opacity))}.text-muted-foreground{--tw-text-opacity:1;color:hsl(var(--muted-foreground)/var(--tw-text-opacity))}.text-popover-foreground{--tw-text-opacity:1;color:hsl(var(--popover-foreground)/var(--tw-text-opacity))}.text-primary{--tw-text-opacity:1;color:hsl(var(--primary)/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgba(220,38,38,var(--tw-text-opacity))}.text-secondary-foreground{--tw-text-opacity:1;color:hsl(var(--secondary-foreground)/var(--tw-text-opacity))}.text-yellow-600{--tw-text-opacity:1;color:rgba(202,138,4,var(--tw-text-opacity))}.underline{text-decoration-line:underline}.accent-foreground{accent-color:hsl(var(--foreground)/1)}.opacity-0{opacity:0}.opacity-50{opacity:.5}.shadow-\[0_-1px_0_var\(--tw-shadow\)_inset\]{--tw-shadow:0 -1px 0 var(--tw-shadow)inset;--tw-shadow-colored:inset 0 -1px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)}.shadow-border{--tw-shadow-color:hsl(var(--border)/1);--tw-shadow:var(--tw-shadow-colored)}.outline-none{outline-offset:2px;outline:2px solid transparent}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent)}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background)/1)}.filter{filter:var(--tw-blur)var(--tw-brightness)var(--tw-contrast)var(--tw-grayscale)var(--tw-hue-rotate)var(--tw-invert)var(--tw-saturate)var(--tw-sepia)var(--tw-drop-shadow)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur)var(--tw-backdrop-brightness)var(--tw-backdrop-contrast)var(--tw-backdrop-grayscale)var(--tw-backdrop-hue-rotate)var(--tw-backdrop-invert)var(--tw-backdrop-opacity)var(--tw-backdrop-saturate)var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur)var(--tw-backdrop-brightness)var(--tw-backdrop-contrast)var(--tw-backdrop-grayscale)var(--tw-backdrop-hue-rotate)var(--tw-backdrop-invert)var(--tw-backdrop-opacity)var(--tw-backdrop-saturate)var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur)var(--tw-backdrop-brightness)var(--tw-backdrop-contrast)var(--tw-backdrop-grayscale)var(--tw-backdrop-hue-rotate)var(--tw-backdrop-invert)var(--tw-backdrop-opacity)var(--tw-backdrop-saturate)var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur)var(--tw-backdrop-brightness)var(--tw-backdrop-contrast)var(--tw-backdrop-grayscale)var(--tw-backdrop-hue-rotate)var(--tw-backdrop-invert)var(--tw-backdrop-opacity)var(--tw-backdrop-saturate)var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-100{transition-duration:.1s}.duration-200{transition-duration:.2s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.steps{counter-reset:step;border-left-width:1px;margin-left:1rem;padding-left:1.75rem;position:relative}.step:before{background-color:hsl(var(--secondary)/1);color:hsl(var(--secondary-foreground)/1);content:counter(step);counter-increment:step;border-radius:9999px;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:.875rem;line-height:1.25rem;display:flex;position:absolute;left:-1rem}.prose-no-margin>:first-child{margin-top:0}.prose-no-margin>:last-child{margin-bottom:0}.placeholder\:text-muted-foreground::-ms-input-placeholder{--tw-text-opacity:1;color:hsl(var(--muted-foreground)/var(--tw-text-opacity))}.placeholder\:text-muted-foreground::placeholder{--tw-text-opacity:1;color:hsl(var(--muted-foreground)/var(--tw-text-opacity))}.first\:mt-0:first-child{margin-top:0}.first\:pl-0:first-child{padding-left:0}.first\:pt-0:first-child{padding-top:0}.last\:pr-0:last-child{padding-right:0}.hover\:bg-accent:hover{--tw-bg-opacity:1;background-color:hsl(var(--accent)/var(--tw-bg-opacity))}.hover\:bg-accent\/50:hover{background-color:hsl(var(--accent)/.5)}.hover\:bg-muted\/80:hover{background-color:hsl(var(--muted)/.8)}.hover\:text-accent-foreground:hover{--tw-text-opacity:1;color:hsl(var(--accent-foreground)/var(--tw-text-opacity))}.hover\:text-accent-foreground\/80:hover{color:hsl(var(--accent-foreground)/.8)}.hover\:text-foreground:hover{--tw-text-opacity:1;color:hsl(var(--foreground)/var(--tw-text-opacity))}.focus\:bg-accent:focus{--tw-bg-opacity:1;background-color:hsl(var(--accent)/var(--tw-bg-opacity))}.focus\:text-accent-foreground:focus{--tw-text-opacity:1;color:hsl(var(--accent-foreground)/var(--tw-text-opacity))}.focus\:outline-none:focus{outline-offset:2px;outline:2px solid transparent}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent)}.focus\:ring-ring:focus{--tw-ring-opacity:1;--tw-ring-color:hsl(var(--ring)/var(--tw-ring-opacity))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:outline-none:focus-visible{outline-offset:2px;outline:2px solid transparent}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent)}.focus-visible\:ring-ring:focus-visible{--tw-ring-opacity:1;--tw-ring-color:hsl(var(--ring)/var(--tw-ring-opacity))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:opacity-100{opacity:1}.aria-selected\:bg-accent[aria-selected=true]{--tw-bg-opacity:1;background-color:hsl(var(--accent)/var(--tw-bg-opacity))}.aria-selected\:text-accent-foreground[aria-selected=true]{--tw-text-opacity:1;color:hsl(var(--accent-foreground)/var(--tw-text-opacity))}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:-.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:-.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{opacity:.5;height:0}}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:.2s ease-out accordion-up}@keyframes collapsible-up{0%{height:var(--radix-collapsible-content-height)}to{opacity:0;height:0}}.data-\[state\=closed\]\:animate-collapsible-up[data-state=closed]{animation:.15s ease-out collapsible-up}@keyframes dialog-out{0%{transform:scale(1)translate(-50%)}to{transform:scale(.95)translateY(-50%,0);opacity:0}}.data-\[state\=closed\]\:animate-dialog-out[data-state=closed]{animation:.3s cubic-bezier(.32,.72,0,1) dialog-out}@keyframes fade-out{to{opacity:0}}.data-\[state\=closed\]\:animate-fade-out[data-state=closed]{animation:.3s fade-out}@keyframes popover-out{0%{opacity:1;transform:matrix(1,0,0,1,0,0)}to{opacity:0;transform:matrix(.95,0,0,.95,0,-9.5)}}.data-\[state\=closed\]\:animate-popover-out[data-state=closed]{animation:.15s popover-out}.data-\[state\=hidden\]\:animate-fade-out[data-state=hidden]{animation:.3s fade-out}@keyframes accordion-down{0%{opacity:.5;height:0}to{height:var(--radix-accordion-content-height)}}.data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:.2s ease-out accordion-down}@keyframes collapsible-down{0%{opacity:0;height:0}to{height:var(--radix-collapsible-content-height)}}.data-\[state\=open\]\:animate-collapsible-down[data-state=open]{animation:.15s ease-out collapsible-down}@keyframes dialog-in{0%{opacity:0;transform:scale(.95)translate(-50%)}to{transform:scale(1)translate(-50%)}}.data-\[state\=open\]\:animate-dialog-in[data-state=open]{animation:.2s cubic-bezier(.32,.72,0,1) dialog-in}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.data-\[state\=open\]\:animate-fade-in[data-state=open]{animation:.3s fade-in}@keyframes popover-in{0%{opacity:0;transform:matrix(.95,0,0,.95,0,-9.5)}to{opacity:1;transform:matrix(1,0,0,1,0,0)}}.data-\[state\=open\]\:animate-popover-in[data-state=open]{animation:.15s popover-in}.data-\[state\=active\]\:border-primary[data-state=active]{--tw-border-opacity:1;border-color:hsl(var(--primary)/var(--tw-border-opacity))}.data-\[active\=true\]\:font-medium[data-active=true]{font-weight:500}.data-\[active\=true\]\:text-primary[data-active=true]{--tw-text-opacity:1;color:hsl(var(--primary)/var(--tw-text-opacity))}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{--tw-text-opacity:1;color:hsl(var(--muted-foreground)/var(--tw-text-opacity))}.data-\[state\=active\]\:text-primary[data-state=active]{--tw-text-opacity:1;color:hsl(var(--primary)/var(--tw-text-opacity))}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.group\/accordion[data-state=open] .group-data-\[state\=open\]\/accordion\:rotate-90{--tw-rotate:90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}:is(.dark .dark\:bg-secondary){--tw-bg-opacity:1;background-color:hsl(var(--secondary)/var(--tw-bg-opacity))}:is(.dark .dark\:bg-transparent){background-color:transparent}:is(.dark .dark\:text-green-400){--tw-text-opacity:1;color:rgba(74,222,128,var(--tw-text-opacity))}:is(.dark .dark\:text-muted-foreground){--tw-text-opacity:1;color:hsl(var(--muted-foreground)/var(--tw-text-opacity))}:is(.dark .dark\:text-red-400){--tw-text-opacity:1;color:rgba(248,113,113,var(--tw-text-opacity))}:is(.dark .dark\:text-secondary-foreground){--tw-text-opacity:1;color:hsl(var(--secondary-foreground)/var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-400){--tw-text-opacity:1;color:rgba(250,204,21,var(--tw-text-opacity))}@media not all and (min-width:1280px){.max-xl\:hidden{display:none}}@media not all and (min-width:1024px){.max-lg\:hidden{display:none}}@media not all and (min-width:768px){.max-md\:fixed{position:fixed}.max-md\:inset-0{top:0;bottom:0;left:0;right:0}.max-md\:z-40{z-index:40}.max-md\:hidden{display:none}.max-md\:bg-background\/80{background-color:hsl(var(--background)/.8)}.max-md\:px-4{padding-left:1rem;padding-right:1rem}.max-md\:pt-16{padding-top:4rem}.max-md\:backdrop-blur-md{--tw-backdrop-blur:blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur)var(--tw-backdrop-brightness)var(--tw-backdrop-contrast)var(--tw-backdrop-grayscale)var(--tw-backdrop-hue-rotate)var(--tw-backdrop-invert)var(--tw-backdrop-opacity)var(--tw-backdrop-saturate)var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur)var(--tw-backdrop-brightness)var(--tw-backdrop-contrast)var(--tw-backdrop-grayscale)var(--tw-backdrop-hue-rotate)var(--tw-backdrop-invert)var(--tw-backdrop-opacity)var(--tw-backdrop-saturate)var(--tw-backdrop-sepia)}.max-md\:data-\[open\=false\]\:hidden[data-open=false]{display:none}}@media (min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:text-left{text-align:left}}@media (min-width:768px){.md\:sticky{position:-webkit-sticky;position:sticky}.md\:top-16{top:4rem}.md\:hidden{display:none}.md\:h-body{height:calc(100vh - 4rem);height:calc(100dvh - 4rem)}.md\:w-\[240px\]{width:240px}.md\:gap-2{gap:.5rem}.md\:pr-3{padding-right:.75rem}.md\:pt-10{padding-top:2.5rem}.md\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:1024px){.lg\:hidden{display:none}}@media (min-width:1280px){.xl\:hidden{display:none}.xl\:w-\[260px\]{width:260px}.xl\:w-\[40\%\]{width:40%}.xl\:min-w-\[400px\]{min-width:400px}.xl\:flex-row{flex-direction:row}.xl\:gap-12{gap:3rem}}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{--tw-rotate:180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.\[\&_\[cmdk-group-heading\]\]\:px-3 [cmdk-group-heading]{padding-left:.75rem;padding-right:.75rem}.\[\&_\[cmdk-group-heading\]\]\:py-2 [cmdk-group-heading]{padding-top:.5rem;padding-bottom:.5rem}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{font-weight:500}.\[\&_svg\]\:size-3\.5 svg{width:.875rem;height:.875rem}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:size-5 svg{width:1.25rem;height:1.25rem}
|
package/dist/tailwind-plugin.js
CHANGED
|
@@ -417,8 +417,6 @@ var docsUi = import_plugin.default.withOptions(
|
|
|
417
417
|
},
|
|
418
418
|
colors: {
|
|
419
419
|
border: colorToCSS(prefix, "border"),
|
|
420
|
-
// todo: remove in next major
|
|
421
|
-
input: colorToCSS(prefix, "border"),
|
|
422
420
|
ring: colorToCSS(prefix, "ring"),
|
|
423
421
|
background: colorToCSS(prefix, "background"),
|
|
424
422
|
foreground: colorToCSS(prefix, "foreground"),
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as React from 'react';
|
|
2
2
|
import * as HoverCardPrimitive from '@radix-ui/react-hover-card';
|
|
3
3
|
|
|
4
|
-
declare const HoverCard:
|
|
5
|
-
declare const HoverCardTrigger:
|
|
6
|
-
declare const HoverCardContent:
|
|
4
|
+
declare const HoverCard: React.FC<HoverCardPrimitive.HoverCardProps>;
|
|
5
|
+
declare const HoverCardTrigger: React.ForwardRefExoticComponent<HoverCardPrimitive.HoverCardTriggerProps & React.RefAttributes<HTMLAnchorElement>>;
|
|
6
|
+
declare const HoverCardContent: React.ForwardRefExoticComponent<Omit<HoverCardPrimitive.HoverCardContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
7
7
|
|
|
8
8
|
export { HoverCard as Popup, HoverCardContent as PopupContent, HoverCardTrigger as PopupTrigger };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fumadocs-ui",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "9.1.0",
|
|
4
4
|
"description": "The framework for building a documentation website in Next.js",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"NextJs",
|
|
@@ -97,7 +97,7 @@
|
|
|
97
97
|
"react-medium-image-zoom": "^5.1.8",
|
|
98
98
|
"tailwind-merge": "^2.0.0",
|
|
99
99
|
"tailwindcss": "^3.4.1",
|
|
100
|
-
"fumadocs-core": "
|
|
100
|
+
"fumadocs-core": "9.1.0"
|
|
101
101
|
},
|
|
102
102
|
"devDependencies": {
|
|
103
103
|
"@algolia/client-search": "^4.20.0",
|