@mintlify/msft-sdk 0.1.1 → 0.1.3
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/page-context-menu.js +69 -47
- package/dist/components/page-context-menu.js.map +1 -1
- package/dist/components/page.js +25 -21
- package/dist/components/page.js.map +1 -1
- package/dist/components/plain-text-page.js +12 -0
- package/dist/components/plain-text-page.js.map +1 -0
- package/dist/components/plain-text-page.module.css.js +10 -0
- package/dist/components/plain-text-page.module.css.js.map +1 -0
- package/dist/index.d.ts +30 -2
- package/dist/index.js +45 -40
- package/dist/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/utils/generate-llms-txt.js +43 -0
- package/dist/utils/generate-llms-txt.js.map +1 -0
- package/package.json +1 -1
|
@@ -1,102 +1,124 @@
|
|
|
1
|
-
import { jsxs as n, jsx as i, Fragment as
|
|
2
|
-
import { useState as
|
|
3
|
-
import { CopyRegular as
|
|
4
|
-
import { copyMarkdownToClipboard as
|
|
1
|
+
import { jsxs as n, jsx as i, Fragment as h } from "react/jsx-runtime";
|
|
2
|
+
import { useState as x, useRef as T, useEffect as v } from "react";
|
|
3
|
+
import { CopyRegular as N, MarkdownRegular as O, ChevronDownRegular as P, ArrowUpRightRegular as F, DocumentOnePageSparkleRegular as y, DocumentOnePageMultipleSparkleRegular as A } from "@fluentui/react-icons";
|
|
4
|
+
import { copyMarkdownToClipboard as D } from "../hooks/useMarkdownCopy.js";
|
|
5
5
|
import e from "./page-context-menu.module.css.js";
|
|
6
|
-
const
|
|
6
|
+
const B = ({
|
|
7
7
|
className: b,
|
|
8
|
-
pathname:
|
|
9
|
-
markdownContent:
|
|
10
|
-
onCopyMarkdown:
|
|
11
|
-
onViewMarkdown: f
|
|
8
|
+
pathname: d,
|
|
9
|
+
markdownContent: w,
|
|
10
|
+
onCopyMarkdown: l,
|
|
11
|
+
onViewMarkdown: f,
|
|
12
|
+
allPages: I,
|
|
13
|
+
baseUrl: k
|
|
12
14
|
}) => {
|
|
13
|
-
const [o,
|
|
14
|
-
|
|
15
|
-
if (
|
|
15
|
+
const [o, m] = x(!1), [c, g] = x(!1), p = T(null);
|
|
16
|
+
v(() => {
|
|
17
|
+
if (c) {
|
|
16
18
|
const t = setTimeout(() => {
|
|
17
|
-
|
|
19
|
+
g(!1);
|
|
18
20
|
}, 2e3);
|
|
19
21
|
return () => clearTimeout(t);
|
|
20
22
|
}
|
|
21
|
-
}, [
|
|
22
|
-
const t = (
|
|
23
|
-
|
|
23
|
+
}, [c]), v(() => {
|
|
24
|
+
const t = (u) => {
|
|
25
|
+
p.current && !p.current.contains(u.target) && m(!1);
|
|
24
26
|
};
|
|
25
27
|
return o && document.addEventListener("mousedown", t), () => {
|
|
26
28
|
document.removeEventListener("mousedown", t);
|
|
27
29
|
};
|
|
28
30
|
}, [o]);
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
+
const R = async () => {
|
|
32
|
+
g(!0);
|
|
31
33
|
try {
|
|
32
|
-
if (
|
|
34
|
+
if (w) {
|
|
33
35
|
const t = new ClipboardItem({
|
|
34
|
-
"text/plain": new Blob([
|
|
36
|
+
"text/plain": new Blob([w], { type: "text/plain" })
|
|
35
37
|
});
|
|
36
|
-
await navigator.clipboard.write([t]),
|
|
38
|
+
await navigator.clipboard.write([t]), l == null || l();
|
|
37
39
|
} else
|
|
38
|
-
|
|
39
|
-
pathname:
|
|
40
|
+
D({
|
|
41
|
+
pathname: d,
|
|
40
42
|
onSuccess: () => {
|
|
41
|
-
|
|
43
|
+
l == null || l();
|
|
42
44
|
}
|
|
43
45
|
});
|
|
44
46
|
} catch (t) {
|
|
45
47
|
console.error("Failed to copy markdown:", t);
|
|
46
48
|
}
|
|
49
|
+
}, L = () => {
|
|
50
|
+
f ? f(d) : window.open(`${d}.md`, "_blank");
|
|
47
51
|
}, $ = () => {
|
|
48
|
-
|
|
49
|
-
},
|
|
50
|
-
|
|
51
|
-
},
|
|
52
|
+
window.open("/docs/llms.txt", "_blank");
|
|
53
|
+
}, C = () => {
|
|
54
|
+
window.open("/docs/llms-full.txt", "_blank");
|
|
55
|
+
}, r = (t) => () => {
|
|
56
|
+
m(!1), t();
|
|
57
|
+
}, s = [
|
|
52
58
|
{
|
|
53
59
|
id: "copy",
|
|
54
60
|
title: "Copy Page",
|
|
55
61
|
description: "Copy page as markdown",
|
|
56
|
-
icon:
|
|
57
|
-
action:
|
|
62
|
+
icon: N,
|
|
63
|
+
action: r(R)
|
|
58
64
|
},
|
|
59
65
|
{
|
|
60
66
|
id: "view",
|
|
61
67
|
title: "View as Markdown",
|
|
62
|
-
description: "View page as
|
|
63
|
-
icon:
|
|
64
|
-
action:
|
|
68
|
+
description: "View this page as plain text",
|
|
69
|
+
icon: O,
|
|
70
|
+
action: r(L),
|
|
65
71
|
externalLink: !0
|
|
66
72
|
}
|
|
67
|
-
]
|
|
68
|
-
|
|
73
|
+
];
|
|
74
|
+
I && k && (s.push({
|
|
75
|
+
id: "llms",
|
|
76
|
+
title: "View llms.txt",
|
|
77
|
+
description: "View generated llms.txt file",
|
|
78
|
+
icon: y,
|
|
79
|
+
action: r($),
|
|
80
|
+
externalLink: !0
|
|
81
|
+
}), s.push({
|
|
82
|
+
id: "llms-full",
|
|
83
|
+
title: "View llms-full.txt",
|
|
84
|
+
description: "Generated llms-full.txt file",
|
|
85
|
+
icon: A,
|
|
86
|
+
action: r(C),
|
|
87
|
+
externalLink: !0
|
|
88
|
+
}));
|
|
89
|
+
const a = s[0];
|
|
90
|
+
return /* @__PURE__ */ n("div", { className: `${e.container} ${b || ""}`, ref: p, children: [
|
|
69
91
|
/* @__PURE__ */ i(
|
|
70
92
|
"button",
|
|
71
93
|
{
|
|
72
|
-
className: `${e.mainButton} ${
|
|
94
|
+
className: `${e.mainButton} ${s.length > 1 ? e.split : ""} ${c ? e.copied : ""}`,
|
|
73
95
|
onClick: () => {
|
|
74
96
|
a.action();
|
|
75
97
|
},
|
|
76
|
-
children: /* @__PURE__ */ i("div", { className: e.buttonContent, children: a.id === "copy" ? /* @__PURE__ */ n(
|
|
77
|
-
/* @__PURE__ */ i(
|
|
78
|
-
/* @__PURE__ */ i("span", { children:
|
|
79
|
-
] }) : /* @__PURE__ */ n(
|
|
98
|
+
children: /* @__PURE__ */ i("div", { className: e.buttonContent, children: a.id === "copy" ? /* @__PURE__ */ n(h, { children: [
|
|
99
|
+
/* @__PURE__ */ i(N, { className: e.icon }),
|
|
100
|
+
/* @__PURE__ */ i("span", { children: c ? "Copied" : "Copy Page" })
|
|
101
|
+
] }) : /* @__PURE__ */ n(h, { children: [
|
|
80
102
|
/* @__PURE__ */ i(a.icon, { className: e.icon }),
|
|
81
103
|
/* @__PURE__ */ i("span", { children: a.title })
|
|
82
104
|
] }) })
|
|
83
105
|
}
|
|
84
106
|
),
|
|
85
|
-
|
|
107
|
+
s.length > 1 && /* @__PURE__ */ n("div", { className: e.dropdownWrapper, children: [
|
|
86
108
|
/* @__PURE__ */ i(
|
|
87
109
|
"button",
|
|
88
110
|
{
|
|
89
111
|
className: e.dropdownToggle,
|
|
90
|
-
onClick: () =>
|
|
112
|
+
onClick: () => m(!o),
|
|
91
113
|
children: /* @__PURE__ */ i(
|
|
92
|
-
|
|
114
|
+
P,
|
|
93
115
|
{
|
|
94
116
|
className: `${e.chevron} ${o ? e.open : ""}`
|
|
95
117
|
}
|
|
96
118
|
)
|
|
97
119
|
}
|
|
98
120
|
),
|
|
99
|
-
o && /* @__PURE__ */ i("div", { className: e.dropdown, children:
|
|
121
|
+
o && /* @__PURE__ */ i("div", { className: e.dropdown, children: s.map((t, u) => /* @__PURE__ */ n(
|
|
100
122
|
"button",
|
|
101
123
|
{
|
|
102
124
|
onClick: t.action,
|
|
@@ -106,18 +128,18 @@ const j = ({
|
|
|
106
128
|
/* @__PURE__ */ n("div", { className: e.dropdownItemContent, children: [
|
|
107
129
|
/* @__PURE__ */ n("div", { className: e.dropdownItemTitle, children: [
|
|
108
130
|
t.title,
|
|
109
|
-
t.externalLink && /* @__PURE__ */ i(
|
|
131
|
+
t.externalLink && /* @__PURE__ */ i(F, { className: e.externalIcon })
|
|
110
132
|
] }),
|
|
111
133
|
/* @__PURE__ */ i("div", { className: e.dropdownItemDescription, children: t.description })
|
|
112
134
|
] })
|
|
113
135
|
]
|
|
114
136
|
},
|
|
115
|
-
t.id +
|
|
137
|
+
t.id + u
|
|
116
138
|
)) })
|
|
117
139
|
] })
|
|
118
140
|
] });
|
|
119
141
|
};
|
|
120
142
|
export {
|
|
121
|
-
|
|
143
|
+
B as PageContextMenu
|
|
122
144
|
};
|
|
123
145
|
//# sourceMappingURL=page-context-menu.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page-context-menu.js","sources":["../../src/components/page-context-menu.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from \"react\";\nimport {\n CopyRegular,\n MarkdownRegular,\n ChevronDownRegular,\n ArrowUpRightRegular,\n} from \"@fluentui/react-icons\";\nimport { copyMarkdownToClipboard } from \"../hooks/useMarkdownCopy\";\nimport styles from \"./page-context-menu.module.css\";\n\ntype ContextualOption = {\n id: string;\n title: string;\n description: string;\n icon: React.ElementType;\n action: () => void;\n externalLink?: boolean;\n};\n\nexport interface PageContextMenuProps {\n className?: string;\n pathname: string;\n markdownContent?: string;\n onCopyMarkdown?: () => void;\n onViewMarkdown?: (pathname: string) => void;\n}\n\nexport const PageContextMenu = ({\n className,\n pathname,\n markdownContent,\n onCopyMarkdown,\n onViewMarkdown,\n}: PageContextMenuProps) => {\n const [isOpen, setIsOpen] = useState(false);\n const [isCopied, setIsCopied] = useState(false);\n const dropdownRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (isCopied) {\n const timeout = setTimeout(() => {\n setIsCopied(false);\n }, 2000);\n return () => clearTimeout(timeout);\n }\n }, [isCopied]);\n\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (\n dropdownRef.current &&\n !dropdownRef.current.contains(event.target as Node)\n ) {\n setIsOpen(false);\n }\n };\n\n if (isOpen) {\n document.addEventListener(\"mousedown\", handleClickOutside);\n }\n\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n };\n }, [isOpen]);\n\n const copyPageAsMarkdown = async () => {\n setIsCopied(true);\n try {\n if (markdownContent) {\n const clipboardItem = new ClipboardItem({\n \"text/plain\": new Blob([markdownContent], { type: \"text/plain\" }),\n });\n await navigator.clipboard.write([clipboardItem]);\n onCopyMarkdown?.();\n } else {\n copyMarkdownToClipboard({\n pathname,\n onSuccess: () => {\n onCopyMarkdown?.();\n },\n });\n }\n } catch (error) {\n console.error(\"Failed to copy markdown:\", error);\n }\n };\n\n const viewAsMarkdown = () => {\n if (onViewMarkdown) {\n onViewMarkdown(pathname);\n } else {\n window.open(`${pathname}.md`, \"_blank\");\n }\n };\n\n const wrapAction = (actionFn: () => void) => {\n return () => {\n setIsOpen(false);\n actionFn();\n };\n };\n\n const options: ContextualOption[] = [\n {\n id: \"copy\",\n title: \"Copy Page\",\n description: \"Copy page as markdown\",\n icon: CopyRegular,\n action: wrapAction(copyPageAsMarkdown),\n },\n {\n id: \"view\",\n title: \"View as Markdown\",\n description: \"View page as markdown\",\n icon: MarkdownRegular,\n action: wrapAction(viewAsMarkdown),\n externalLink: true,\n },\n ];\n\n const firstOption = options[0];\n\n return (\n <div className={`${styles.container} ${className || \"\"}`} ref={dropdownRef}>\n <button\n className={`${styles.mainButton} ${\n options.length > 1 ? styles.split : \"\"\n } ${isCopied ? styles.copied : \"\"}`}\n onClick={() => {\n void firstOption.action();\n }}\n >\n <div className={styles.buttonContent}>\n {firstOption.id === \"copy\" ? (\n <>\n <CopyRegular className={styles.icon} />\n <span>{isCopied ? \"Copied\" : \"Copy Page\"}</span>\n </>\n ) : (\n <>\n <firstOption.icon className={styles.icon} />\n <span>{firstOption.title}</span>\n </>\n )}\n </div>\n </button>\n\n {options.length > 1 && (\n <div className={styles.dropdownWrapper}>\n <button\n className={styles.dropdownToggle}\n onClick={() => setIsOpen(!isOpen)}\n >\n <ChevronDownRegular\n className={`${styles.chevron} ${isOpen ? styles.open : \"\"}`}\n />\n </button>\n\n {isOpen && (\n <div className={styles.dropdown}>\n {options.map((option, index) => (\n <button\n key={option.id + index}\n onClick={option.action}\n className={styles.dropdownItem}\n >\n <div className={styles.dropdownIconWrapper}>\n <option.icon className={styles.dropdownIcon} />\n </div>\n <div className={styles.dropdownItemContent}>\n <div className={styles.dropdownItemTitle}>\n {option.title}\n {option.externalLink && (\n <ArrowUpRightRegular className={styles.externalIcon} />\n )}\n </div>\n <div className={styles.dropdownItemDescription}>\n {option.description}\n </div>\n </div>\n </button>\n ))}\n </div>\n )}\n </div>\n )}\n </div>\n );\n};\n"],"names":["PageContextMenu","className","pathname","markdownContent","onCopyMarkdown","onViewMarkdown","isOpen","setIsOpen","useState","isCopied","setIsCopied","dropdownRef","useRef","useEffect","timeout","handleClickOutside","event","copyPageAsMarkdown","clipboardItem","copyMarkdownToClipboard","error","viewAsMarkdown","wrapAction","actionFn","options","CopyRegular","MarkdownRegular","firstOption","jsxs","styles","jsx","Fragment","ChevronDownRegular","option","index","ArrowUpRightRegular"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"page-context-menu.js","sources":["../../src/components/page-context-menu.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from \"react\";\nimport {\n CopyRegular,\n MarkdownRegular,\n ChevronDownRegular,\n ArrowUpRightRegular,\n DocumentTextRegular,\n DocumentOnePageSparkleRegular,\n DocumentOnePageMultipleSparkleRegular,\n} from \"@fluentui/react-icons\";\nimport { copyMarkdownToClipboard } from \"../hooks/useMarkdownCopy\";\nimport type { LlmsPageConfig } from \"../utils/generate-llms-txt\";\nimport styles from \"./page-context-menu.module.css\";\n\ntype ContextualOption = {\n id: string;\n title: string;\n description: string;\n icon: React.ElementType;\n action: () => void;\n externalLink?: boolean;\n};\n\nexport interface PageContextMenuProps {\n className?: string;\n pathname: string;\n markdownContent?: string;\n onCopyMarkdown?: () => void;\n onViewMarkdown?: (pathname: string) => void;\n allPages?: LlmsPageConfig[];\n baseUrl?: string;\n}\n\nexport const PageContextMenu = ({\n className,\n pathname,\n markdownContent,\n onCopyMarkdown,\n onViewMarkdown,\n allPages,\n baseUrl,\n}: PageContextMenuProps) => {\n const [isOpen, setIsOpen] = useState(false);\n const [isCopied, setIsCopied] = useState(false);\n const dropdownRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (isCopied) {\n const timeout = setTimeout(() => {\n setIsCopied(false);\n }, 2000);\n return () => clearTimeout(timeout);\n }\n }, [isCopied]);\n\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (\n dropdownRef.current &&\n !dropdownRef.current.contains(event.target as Node)\n ) {\n setIsOpen(false);\n }\n };\n\n if (isOpen) {\n document.addEventListener(\"mousedown\", handleClickOutside);\n }\n\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n };\n }, [isOpen]);\n\n const copyPageAsMarkdown = async () => {\n setIsCopied(true);\n try {\n if (markdownContent) {\n const clipboardItem = new ClipboardItem({\n \"text/plain\": new Blob([markdownContent], { type: \"text/plain\" }),\n });\n await navigator.clipboard.write([clipboardItem]);\n onCopyMarkdown?.();\n } else {\n copyMarkdownToClipboard({\n pathname,\n onSuccess: () => {\n onCopyMarkdown?.();\n },\n });\n }\n } catch (error) {\n console.error(\"Failed to copy markdown:\", error);\n }\n };\n\n const viewAsMarkdown = () => {\n if (onViewMarkdown) {\n onViewMarkdown(pathname);\n } else {\n window.open(`${pathname}.md`, \"_blank\");\n }\n };\n\n const viewLlmsTxtFile = () => {\n window.open(\"/docs/llms.txt\", \"_blank\");\n };\n\n const viewLlmsFullTxtFile = () => {\n window.open(\"/docs/llms-full.txt\", \"_blank\");\n };\n\n const wrapAction = (actionFn: () => void) => {\n return () => {\n setIsOpen(false);\n actionFn();\n };\n };\n\n const options: ContextualOption[] = [\n {\n id: \"copy\",\n title: \"Copy Page\",\n description: \"Copy page as markdown\",\n icon: CopyRegular,\n action: wrapAction(copyPageAsMarkdown),\n },\n {\n id: \"view\",\n title: \"View as Markdown\",\n description: \"View this page as plain text\",\n icon: MarkdownRegular,\n action: wrapAction(viewAsMarkdown),\n externalLink: true,\n },\n ];\n\n if (allPages && baseUrl) {\n options.push({\n id: \"llms\",\n title: \"View llms.txt\",\n description: \"View generated llms.txt file\",\n icon: DocumentOnePageSparkleRegular,\n action: wrapAction(viewLlmsTxtFile),\n externalLink: true,\n });\n options.push({\n id: \"llms-full\",\n title: \"View llms-full.txt\",\n description: \"Generated llms-full.txt file\",\n icon: DocumentOnePageMultipleSparkleRegular,\n action: wrapAction(viewLlmsFullTxtFile),\n externalLink: true,\n });\n }\n\n const firstOption = options[0];\n\n return (\n <div className={`${styles.container} ${className || \"\"}`} ref={dropdownRef}>\n <button\n className={`${styles.mainButton} ${\n options.length > 1 ? styles.split : \"\"\n } ${isCopied ? styles.copied : \"\"}`}\n onClick={() => {\n void firstOption.action();\n }}\n >\n <div className={styles.buttonContent}>\n {firstOption.id === \"copy\" ? (\n <>\n <CopyRegular className={styles.icon} />\n <span>{isCopied ? \"Copied\" : \"Copy Page\"}</span>\n </>\n ) : (\n <>\n <firstOption.icon className={styles.icon} />\n <span>{firstOption.title}</span>\n </>\n )}\n </div>\n </button>\n\n {options.length > 1 && (\n <div className={styles.dropdownWrapper}>\n <button\n className={styles.dropdownToggle}\n onClick={() => setIsOpen(!isOpen)}\n >\n <ChevronDownRegular\n className={`${styles.chevron} ${isOpen ? styles.open : \"\"}`}\n />\n </button>\n\n {isOpen && (\n <div className={styles.dropdown}>\n {options.map((option, index) => (\n <button\n key={option.id + index}\n onClick={option.action}\n className={styles.dropdownItem}\n >\n <div className={styles.dropdownIconWrapper}>\n <option.icon className={styles.dropdownIcon} />\n </div>\n <div className={styles.dropdownItemContent}>\n <div className={styles.dropdownItemTitle}>\n {option.title}\n {option.externalLink && (\n <ArrowUpRightRegular className={styles.externalIcon} />\n )}\n </div>\n <div className={styles.dropdownItemDescription}>\n {option.description}\n </div>\n </div>\n </button>\n ))}\n </div>\n )}\n </div>\n )}\n </div>\n );\n};\n"],"names":["PageContextMenu","className","pathname","markdownContent","onCopyMarkdown","onViewMarkdown","allPages","baseUrl","isOpen","setIsOpen","useState","isCopied","setIsCopied","dropdownRef","useRef","useEffect","timeout","handleClickOutside","event","copyPageAsMarkdown","clipboardItem","copyMarkdownToClipboard","error","viewAsMarkdown","viewLlmsTxtFile","viewLlmsFullTxtFile","wrapAction","actionFn","options","CopyRegular","MarkdownRegular","DocumentOnePageSparkleRegular","DocumentOnePageMultipleSparkleRegular","firstOption","jsxs","styles","jsx","Fragment","ChevronDownRegular","option","index","ArrowUpRightRegular"],"mappings":"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"}
|
package/dist/components/page.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { jsx as e, jsxs as t } from "react/jsx-runtime";
|
|
2
|
-
import { MDXRenderer as
|
|
3
|
-
import { NavTree as
|
|
4
|
-
import { TableOfContents as
|
|
5
|
-
import { PivotAwareTOC as
|
|
6
|
-
import { TextAlignLeftFilled as
|
|
7
|
-
import { PageContextMenu as
|
|
2
|
+
import { MDXRenderer as b } from "./mdx-renderer.js";
|
|
3
|
+
import { NavTree as P } from "./nav-tree/index.js";
|
|
4
|
+
import { TableOfContents as T } from "./toc/index.js";
|
|
5
|
+
import { PivotAwareTOC as u } from "./toc/pivot-aware-toc.js";
|
|
6
|
+
import { TextAlignLeftFilled as I } from "@fluentui/react-icons";
|
|
7
|
+
import { PageContextMenu as O } from "./page-context-menu.js";
|
|
8
8
|
import i from "./page.module.css.js";
|
|
9
9
|
/* empty css */
|
|
10
|
-
import { ZonePivotProvider as
|
|
11
|
-
import { ZonePivotSelector as
|
|
12
|
-
function
|
|
10
|
+
import { ZonePivotProvider as S } from "./content-components/zone-pivots/zone-pivot-context.js";
|
|
11
|
+
import { ZonePivotSelector as j } from "./content-components/zone-pivots/zone-pivot-selector.js";
|
|
12
|
+
function F({
|
|
13
13
|
payload: r,
|
|
14
14
|
toc: n,
|
|
15
15
|
navTree: c,
|
|
@@ -18,57 +18,61 @@ function $({
|
|
|
18
18
|
theme: p,
|
|
19
19
|
className: N = "",
|
|
20
20
|
pathname: o,
|
|
21
|
-
markdownContent: f
|
|
21
|
+
markdownContent: f,
|
|
22
|
+
allPages: g,
|
|
23
|
+
baseUrl: x
|
|
22
24
|
}) {
|
|
23
25
|
var l, d;
|
|
24
|
-
const
|
|
26
|
+
const C = r.serializedContent, s = ((l = r.mdxExtracts) == null ? void 0 : l.zonePivotGroups) || [], a = (d = r.mdxExtracts) == null ? void 0 : d.pivotTocItems;
|
|
25
27
|
return /* @__PURE__ */ e("div", { className: `${p === "dark" ? "dark" : ""} ${N}`, children: /* @__PURE__ */ t("div", { id: "page-container", className: i.pageContainer, children: [
|
|
26
28
|
c && /* @__PURE__ */ e("aside", { className: i.sidebar, "aria-label": "Sidebar navigation", children: /* @__PURE__ */ e("div", { className: i.sidebarInner, children: /* @__PURE__ */ e(
|
|
27
|
-
|
|
29
|
+
P,
|
|
28
30
|
{
|
|
29
31
|
navTree: c,
|
|
30
32
|
dropdown: h,
|
|
31
33
|
activeHref: v
|
|
32
34
|
}
|
|
33
35
|
) }) }),
|
|
34
|
-
/* @__PURE__ */ e("div", { className: i.mainWrapper, children: /* @__PURE__ */ e("div", { id: "main-content", className: i.mainContent, children: /* @__PURE__ */ e(
|
|
36
|
+
/* @__PURE__ */ e("div", { className: i.mainWrapper, children: /* @__PURE__ */ e("div", { id: "main-content", className: i.mainContent, children: /* @__PURE__ */ e(S, { groups: s, children: /* @__PURE__ */ t("div", { className: i.contentWrapper, children: [
|
|
35
37
|
n && n.length > 0 && /* @__PURE__ */ e("aside", { className: i.tocSidebar, children: /* @__PURE__ */ t("div", { className: i.tocInner, children: [
|
|
36
38
|
/* @__PURE__ */ t("div", { className: i.tocHeader, children: [
|
|
37
|
-
/* @__PURE__ */ e(
|
|
39
|
+
/* @__PURE__ */ e(I, { className: i.tocIcon }),
|
|
38
40
|
/* @__PURE__ */ e("h2", { className: i.tocTitle, children: "On this page" })
|
|
39
41
|
] }),
|
|
40
42
|
a && Object.keys(a).length > 0 ? /* @__PURE__ */ e(
|
|
41
|
-
|
|
43
|
+
u,
|
|
42
44
|
{
|
|
43
45
|
baseToc: n,
|
|
44
46
|
pivotTocItems: a
|
|
45
47
|
}
|
|
46
|
-
) : /* @__PURE__ */ e(
|
|
48
|
+
) : /* @__PURE__ */ e(T, { toc: n })
|
|
47
49
|
] }) }),
|
|
48
50
|
/* @__PURE__ */ t("div", { className: i.contentArea, children: [
|
|
49
51
|
r.title && /* @__PURE__ */ e("header", { className: i.header, children: /* @__PURE__ */ t("div", { className: i.headerInner, children: [
|
|
50
52
|
/* @__PURE__ */ t("div", { className: i.headerContent, children: [
|
|
51
53
|
/* @__PURE__ */ e("h1", { className: i.title, children: r.title }),
|
|
52
54
|
o && /* @__PURE__ */ e(
|
|
53
|
-
|
|
55
|
+
O,
|
|
54
56
|
{
|
|
55
57
|
className: i.contextMenu,
|
|
56
58
|
pathname: o,
|
|
57
|
-
markdownContent: f
|
|
59
|
+
markdownContent: f,
|
|
60
|
+
allPages: g,
|
|
61
|
+
baseUrl: x
|
|
58
62
|
}
|
|
59
63
|
)
|
|
60
64
|
] }),
|
|
61
65
|
r.description && /* @__PURE__ */ e("p", { className: i.description, children: r.description })
|
|
62
66
|
] }) }),
|
|
63
67
|
s.length > 0 && /* @__PURE__ */ e("div", { className: i.pivotContainer, children: s.map((m) => /* @__PURE__ */ e(
|
|
64
|
-
|
|
68
|
+
j,
|
|
65
69
|
{
|
|
66
70
|
group: m,
|
|
67
71
|
className: i.pivotSelector
|
|
68
72
|
},
|
|
69
73
|
m.id
|
|
70
74
|
)) }),
|
|
71
|
-
/* @__PURE__ */ e("div", { className: i.mdxContent, children: /* @__PURE__ */ e(
|
|
75
|
+
/* @__PURE__ */ e("div", { className: i.mdxContent, children: /* @__PURE__ */ e(b, { children: /* @__PURE__ */ e(C, {}) }) }),
|
|
72
76
|
/* @__PURE__ */ e("style", { children: `
|
|
73
77
|
div h2,
|
|
74
78
|
div h3 {
|
|
@@ -80,6 +84,6 @@ function $({
|
|
|
80
84
|
] }) });
|
|
81
85
|
}
|
|
82
86
|
export {
|
|
83
|
-
|
|
87
|
+
F as DocsPage
|
|
84
88
|
};
|
|
85
89
|
//# sourceMappingURL=page.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page.js","sources":["../../src/components/page.tsx"],"sourcesContent":["import { MDXRenderer } from \"./mdx-renderer\";\nimport { NavTree } from \"./nav-tree\";\nimport type { DocsPageProps } from \"../types\";\nimport { TableOfContents } from \"./toc\";\nimport { PivotAwareTOC } from \"./toc/pivot-aware-toc\";\nimport { TextAlignLeftFilled } from \"@fluentui/react-icons\";\nimport {\n ZonePivotProvider,\n ZonePivotSelector,\n} from \"./content-components/zone-pivots\";\nimport { PageContextMenu } from \"./page-context-menu\";\nimport styles from \"./page.module.css\";\nimport \"../styles.css\";\n\nexport function DocsPage({\n payload,\n toc,\n navTree,\n dropdown,\n activeHref,\n theme,\n className = \"\",\n pathname,\n markdownContent,\n}: DocsPageProps) {\n const Content = payload.serializedContent;\n const zonePivotGroups = payload.mdxExtracts?.zonePivotGroups || [];\n const pivotTocItems = payload.mdxExtracts?.pivotTocItems;\n\n return (\n <div className={`${theme === \"dark\" ? \"dark\" : \"\"} ${className}`}>\n <div id=\"page-container\" className={styles.pageContainer}>\n {navTree && (\n <aside className={styles.sidebar} aria-label=\"Sidebar navigation\">\n <div className={styles.sidebarInner}>\n <NavTree\n navTree={navTree}\n dropdown={dropdown}\n activeHref={activeHref}\n />\n </div>\n </aside>\n )}\n\n <div className={styles.mainWrapper}>\n <div id=\"main-content\" className={styles.mainContent}>\n <ZonePivotProvider groups={zonePivotGroups}>\n <div className={styles.contentWrapper}>\n {toc && toc.length > 0 && (\n <aside className={styles.tocSidebar}>\n <div className={styles.tocInner}>\n <div className={styles.tocHeader}>\n <TextAlignLeftFilled className={styles.tocIcon} />\n <h2 className={styles.tocTitle}>On this page</h2>\n </div>\n {pivotTocItems &&\n Object.keys(pivotTocItems).length > 0 ? (\n <PivotAwareTOC\n baseToc={toc}\n pivotTocItems={pivotTocItems}\n />\n ) : (\n <TableOfContents toc={toc} />\n )}\n </div>\n </aside>\n )}\n\n <div className={styles.contentArea}>\n {payload.title && (\n <header className={styles.header}>\n <div className={styles.headerInner}>\n <div className={styles.headerContent}>\n <h1 className={styles.title}>{payload.title}</h1>\n {pathname && (\n <PageContextMenu\n className={styles.contextMenu}\n pathname={pathname}\n markdownContent={markdownContent}\n />\n )}\n </div>\n {payload.description && (\n <p className={styles.description}>\n {payload.description}\n </p>\n )}\n </div>\n </header>\n )}\n\n {zonePivotGroups.length > 0 && (\n <div className={styles.pivotContainer}>\n {zonePivotGroups.map((group) => (\n <ZonePivotSelector\n key={group.id}\n group={group}\n className={styles.pivotSelector}\n />\n ))}\n </div>\n )}\n\n <div className={styles.mdxContent}>\n <MDXRenderer>\n <Content />\n </MDXRenderer>\n </div>\n <style>{`\n div h2,\n div h3 {\n scroll-margin-top: var(--scroll-mt);\n }\n `}</style>\n </div>\n </div>\n </ZonePivotProvider>\n </div>\n </div>\n </div>\n </div>\n );\n}\n"],"names":["DocsPage","payload","toc","navTree","dropdown","activeHref","theme","className","pathname","markdownContent","Content","zonePivotGroups","_a","pivotTocItems","_b","jsxs","styles","jsx","NavTree","ZonePivotProvider","TextAlignLeftFilled","PivotAwareTOC","TableOfContents","PageContextMenu","group","ZonePivotSelector","MDXRenderer"],"mappings":";;;;;;;;;;;AAcO,SAASA,EAAS;AAAA,EACvB,SAAAC;AAAA,EACA,KAAAC;AAAA,EACA,SAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAC;AAAA,EACA,OAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,UAAAC;AAAA,EACA,iBAAAC;AACF,GAAkB;;AAChB,QAAMC,
|
|
1
|
+
{"version":3,"file":"page.js","sources":["../../src/components/page.tsx"],"sourcesContent":["import { MDXRenderer } from \"./mdx-renderer\";\nimport { NavTree } from \"./nav-tree\";\nimport type { DocsPageProps } from \"../types\";\nimport { TableOfContents } from \"./toc\";\nimport { PivotAwareTOC } from \"./toc/pivot-aware-toc\";\nimport { TextAlignLeftFilled } from \"@fluentui/react-icons\";\nimport {\n ZonePivotProvider,\n ZonePivotSelector,\n} from \"./content-components/zone-pivots\";\nimport { PageContextMenu } from \"./page-context-menu\";\nimport styles from \"./page.module.css\";\nimport \"../styles.css\";\n\nexport function DocsPage({\n payload,\n toc,\n navTree,\n dropdown,\n activeHref,\n theme,\n className = \"\",\n pathname,\n markdownContent,\n allPages,\n baseUrl,\n}: DocsPageProps) {\n const Content = payload.serializedContent;\n const zonePivotGroups = payload.mdxExtracts?.zonePivotGroups || [];\n const pivotTocItems = payload.mdxExtracts?.pivotTocItems;\n\n return (\n <div className={`${theme === \"dark\" ? \"dark\" : \"\"} ${className}`}>\n <div id=\"page-container\" className={styles.pageContainer}>\n {navTree && (\n <aside className={styles.sidebar} aria-label=\"Sidebar navigation\">\n <div className={styles.sidebarInner}>\n <NavTree\n navTree={navTree}\n dropdown={dropdown}\n activeHref={activeHref}\n />\n </div>\n </aside>\n )}\n\n <div className={styles.mainWrapper}>\n <div id=\"main-content\" className={styles.mainContent}>\n <ZonePivotProvider groups={zonePivotGroups}>\n <div className={styles.contentWrapper}>\n {toc && toc.length > 0 && (\n <aside className={styles.tocSidebar}>\n <div className={styles.tocInner}>\n <div className={styles.tocHeader}>\n <TextAlignLeftFilled className={styles.tocIcon} />\n <h2 className={styles.tocTitle}>On this page</h2>\n </div>\n {pivotTocItems &&\n Object.keys(pivotTocItems).length > 0 ? (\n <PivotAwareTOC\n baseToc={toc}\n pivotTocItems={pivotTocItems}\n />\n ) : (\n <TableOfContents toc={toc} />\n )}\n </div>\n </aside>\n )}\n\n <div className={styles.contentArea}>\n {payload.title && (\n <header className={styles.header}>\n <div className={styles.headerInner}>\n <div className={styles.headerContent}>\n <h1 className={styles.title}>{payload.title}</h1>\n {pathname && (\n <PageContextMenu\n className={styles.contextMenu}\n pathname={pathname}\n markdownContent={markdownContent}\n allPages={allPages}\n baseUrl={baseUrl}\n />\n )}\n </div>\n {payload.description && (\n <p className={styles.description}>\n {payload.description}\n </p>\n )}\n </div>\n </header>\n )}\n\n {zonePivotGroups.length > 0 && (\n <div className={styles.pivotContainer}>\n {zonePivotGroups.map((group) => (\n <ZonePivotSelector\n key={group.id}\n group={group}\n className={styles.pivotSelector}\n />\n ))}\n </div>\n )}\n\n <div className={styles.mdxContent}>\n <MDXRenderer>\n <Content />\n </MDXRenderer>\n </div>\n <style>{`\n div h2,\n div h3 {\n scroll-margin-top: var(--scroll-mt);\n }\n `}</style>\n </div>\n </div>\n </ZonePivotProvider>\n </div>\n </div>\n </div>\n </div>\n );\n}\n"],"names":["DocsPage","payload","toc","navTree","dropdown","activeHref","theme","className","pathname","markdownContent","allPages","baseUrl","Content","zonePivotGroups","_a","pivotTocItems","_b","jsxs","styles","jsx","NavTree","ZonePivotProvider","TextAlignLeftFilled","PivotAwareTOC","TableOfContents","PageContextMenu","group","ZonePivotSelector","MDXRenderer"],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { jsx as o } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect as n } from "react";
|
|
3
|
+
import e from "./plain-text-page.module.css.js";
|
|
4
|
+
function l({ content: t }) {
|
|
5
|
+
return n(() => (document.body.style.backgroundColor = "#121212", document.body.style.margin = "0", document.body.style.overflowX = "hidden", document.documentElement.style.backgroundColor = "#121212", () => {
|
|
6
|
+
document.body.style.backgroundColor = "", document.body.style.margin = "", document.body.style.overflowX = "", document.documentElement.style.backgroundColor = "";
|
|
7
|
+
}), []), /* @__PURE__ */ o("div", { className: e.container, children: /* @__PURE__ */ o("pre", { className: e.content, children: t }) });
|
|
8
|
+
}
|
|
9
|
+
export {
|
|
10
|
+
l as PlainTextPage
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=plain-text-page.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plain-text-page.js","sources":["../../src/components/plain-text-page.tsx"],"sourcesContent":["import { useEffect } from \"react\";\nimport styles from \"./plain-text-page.module.css\";\n\nexport interface PlainTextPageProps {\n content: string;\n}\n\nexport function PlainTextPage({ content }: PlainTextPageProps) {\n useEffect(() => {\n document.body.style.backgroundColor = \"#121212\";\n document.body.style.margin = \"0\";\n document.body.style.overflowX = \"hidden\";\n document.documentElement.style.backgroundColor = \"#121212\";\n\n return () => {\n document.body.style.backgroundColor = \"\";\n document.body.style.margin = \"\";\n document.body.style.overflowX = \"\";\n document.documentElement.style.backgroundColor = \"\";\n };\n }, []);\n\n return (\n <div className={styles.container}>\n <pre className={styles.content}>{content}</pre>\n </div>\n );\n}\n"],"names":["PlainTextPage","content","useEffect","jsx","styles"],"mappings":";;;AAOO,SAASA,EAAc,EAAE,SAAAC,KAA+B;AAC7D,SAAAC,EAAU,OACR,SAAS,KAAK,MAAM,kBAAkB,WACtC,SAAS,KAAK,MAAM,SAAS,KAC7B,SAAS,KAAK,MAAM,YAAY,UAChC,SAAS,gBAAgB,MAAM,kBAAkB,WAE1C,MAAM;AACX,aAAS,KAAK,MAAM,kBAAkB,IACtC,SAAS,KAAK,MAAM,SAAS,IAC7B,SAAS,KAAK,MAAM,YAAY,IAChC,SAAS,gBAAgB,MAAM,kBAAkB;AAAA,EACnD,IACC,CAAA,CAAE,GAGH,gBAAAC,EAAC,OAAA,EAAI,WAAWC,EAAO,WACrB,UAAA,gBAAAD,EAAC,OAAA,EAAI,WAAWC,EAAO,SAAU,UAAAH,EAAA,CAAQ,GAC3C;AAEJ;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plain-text-page.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
package/dist/index.d.ts
CHANGED
|
@@ -60,7 +60,7 @@ declare interface DetailsProps {
|
|
|
60
60
|
open?: boolean;
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
-
export declare function DocsPage({ payload, toc, navTree, dropdown, activeHref, theme, className, pathname, markdownContent, }: DocsPageProps): JSX_2.Element;
|
|
63
|
+
export declare function DocsPage({ payload, toc, navTree, dropdown, activeHref, theme, className, pathname, markdownContent, allPages, baseUrl, }: DocsPageProps): JSX_2.Element;
|
|
64
64
|
|
|
65
65
|
export declare interface DocsPageProps {
|
|
66
66
|
payload: PayloadData;
|
|
@@ -72,6 +72,8 @@ export declare interface DocsPageProps {
|
|
|
72
72
|
className?: string;
|
|
73
73
|
pathname?: string;
|
|
74
74
|
markdownContent?: string;
|
|
75
|
+
allPages?: LlmsPageConfig[];
|
|
76
|
+
baseUrl?: string;
|
|
75
77
|
}
|
|
76
78
|
|
|
77
79
|
export declare interface DropdownConfig {
|
|
@@ -105,6 +107,10 @@ declare interface DropdownMenuProps {
|
|
|
105
107
|
className?: string;
|
|
106
108
|
}
|
|
107
109
|
|
|
110
|
+
export declare function generateLlmsFullTxt(pages: LlmsPageConfig[], baseUrl: string): Promise<string>;
|
|
111
|
+
|
|
112
|
+
export declare function generateLlmsTxt(pages: LlmsPageConfig[], baseUrl: string): string;
|
|
113
|
+
|
|
108
114
|
export declare function getPageMarkdown(pathname: string): Promise<string>;
|
|
109
115
|
|
|
110
116
|
export declare const Heading: ({ id, level, children, className }: HeadingProps) => JSX_2.Element;
|
|
@@ -124,6 +130,20 @@ declare interface LinkProps {
|
|
|
124
130
|
className?: string;
|
|
125
131
|
}
|
|
126
132
|
|
|
133
|
+
export declare interface LlmsPageConfig {
|
|
134
|
+
title: string;
|
|
135
|
+
slug: string;
|
|
136
|
+
payload: {
|
|
137
|
+
remoteContent: {
|
|
138
|
+
content: string;
|
|
139
|
+
rawMetadata: {
|
|
140
|
+
title?: string;
|
|
141
|
+
};
|
|
142
|
+
};
|
|
143
|
+
zonePivots?: unknown;
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
|
|
127
147
|
export declare interface MDXComponents {
|
|
128
148
|
h1?: default_2.ComponentType<any>;
|
|
129
149
|
h2?: default_2.ComponentType<any>;
|
|
@@ -206,7 +226,7 @@ declare interface NavTreeProps {
|
|
|
206
226
|
theme?: "light" | "dark" | "system";
|
|
207
227
|
}
|
|
208
228
|
|
|
209
|
-
export declare const PageContextMenu: ({ className, pathname, markdownContent, onCopyMarkdown, onViewMarkdown, }: PageContextMenuProps) => JSX_2.Element;
|
|
229
|
+
export declare const PageContextMenu: ({ className, pathname, markdownContent, onCopyMarkdown, onViewMarkdown, allPages, baseUrl, }: PageContextMenuProps) => JSX_2.Element;
|
|
210
230
|
|
|
211
231
|
export declare interface PageContextMenuProps {
|
|
212
232
|
className?: string;
|
|
@@ -214,6 +234,8 @@ export declare interface PageContextMenuProps {
|
|
|
214
234
|
markdownContent?: string;
|
|
215
235
|
onCopyMarkdown?: () => void;
|
|
216
236
|
onViewMarkdown?: (pathname: string) => void;
|
|
237
|
+
allPages?: LlmsPageConfig[];
|
|
238
|
+
baseUrl?: string;
|
|
217
239
|
}
|
|
218
240
|
|
|
219
241
|
declare function ParamName({ children }: ParamNameProps): JSX_2.Element;
|
|
@@ -231,6 +253,12 @@ export declare interface PayloadData {
|
|
|
231
253
|
mdxExtracts?: MdxExtracts;
|
|
232
254
|
}
|
|
233
255
|
|
|
256
|
+
export declare function PlainTextPage({ content }: PlainTextPageProps): JSX_2.Element;
|
|
257
|
+
|
|
258
|
+
export declare interface PlainTextPageProps {
|
|
259
|
+
content: string;
|
|
260
|
+
}
|
|
261
|
+
|
|
234
262
|
export declare function serializeMdx(mdxString: string): Promise<default_2.ComponentType>;
|
|
235
263
|
|
|
236
264
|
declare function Summary({ children, isOpen }: SummaryProps): JSX_2.Element;
|
package/dist/index.js
CHANGED
|
@@ -1,45 +1,50 @@
|
|
|
1
|
-
import { DocsPage as
|
|
1
|
+
import { DocsPage as r } from "./components/page.js";
|
|
2
2
|
import { MDXRenderer as p } from "./components/mdx-renderer.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
3
|
+
import { PlainTextPage as m } from "./components/plain-text-page.js";
|
|
4
|
+
import { NavTree as n } from "./components/nav-tree/index.js";
|
|
5
|
+
import { TableOfContents as l } from "./components/toc/index.js";
|
|
6
|
+
import { PageContextMenu as i } from "./components/page-context-menu.js";
|
|
7
|
+
import { copyMarkdownToClipboard as M, getPageMarkdown as P, useMarkdownCopy as T } from "./hooks/useMarkdownCopy.js";
|
|
8
|
+
import { generateLlmsFullTxt as C, generateLlmsTxt as v } from "./utils/generate-llms-txt.js";
|
|
9
|
+
import { convertHtmlToMdx as c } from "./parser/convert-html-to-mdx.js";
|
|
10
|
+
import { serializeMdx as w } from "./parser/serialize-mdx.js";
|
|
11
|
+
import { CodeBlock as b } from "./components/content-components/code-block.js";
|
|
12
|
+
import { Heading as L } from "./components/content-components/heading.js";
|
|
13
|
+
import { Link as H } from "./components/content-components/link.js";
|
|
14
|
+
import { Callout as z } from "./components/content-components/callouts.js";
|
|
15
|
+
import { ZonePivot as F } from "./components/content-components/zone-pivots/zone-pivot.js";
|
|
16
|
+
import { ZoneTarget as R } from "./components/content-components/zone-pivots/zone-target.js";
|
|
17
|
+
import { ZonePivotProvider as X } from "./components/content-components/zone-pivots/zone-pivot-context.js";
|
|
18
|
+
import { ZonePivotSelector as j } from "./components/content-components/zone-pivots/zone-pivot-selector.js";
|
|
19
|
+
import { allComponents as A } from "./components/content-components/all-components.js";
|
|
20
|
+
import { defaultComponents as G } from "./components/content-components/default-components.js";
|
|
21
|
+
import { DropdownMenu as J } from "./components/nav-tree/dropdown-menu.js";
|
|
22
|
+
import { MobileNavTree as Q } from "./components/nav-tree/mobile-nav.js";
|
|
21
23
|
export {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
24
|
+
z as Callout,
|
|
25
|
+
b as CodeBlock,
|
|
26
|
+
r as DocsPage,
|
|
27
|
+
J as DropdownMenu,
|
|
28
|
+
L as Heading,
|
|
29
|
+
H as Link,
|
|
28
30
|
p as MDXRenderer,
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
31
|
+
Q as MobileNavTree,
|
|
32
|
+
n as NavTree,
|
|
33
|
+
i as PageContextMenu,
|
|
34
|
+
m as PlainTextPage,
|
|
35
|
+
l as TableOfContents,
|
|
36
|
+
F as ZonePivot,
|
|
37
|
+
X as ZonePivotProvider,
|
|
38
|
+
j as ZonePivotSelector,
|
|
39
|
+
R as ZoneTarget,
|
|
40
|
+
A as allComponents,
|
|
41
|
+
c as convertHtmlToMdx,
|
|
42
|
+
M as copyMarkdownToClipboard,
|
|
43
|
+
G as defaultComponents,
|
|
44
|
+
C as generateLlmsFullTxt,
|
|
45
|
+
v as generateLlmsTxt,
|
|
46
|
+
P as getPageMarkdown,
|
|
47
|
+
w as serializeMdx,
|
|
48
|
+
T as useMarkdownCopy
|
|
44
49
|
};
|
|
45
50
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/styles.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
._container_1hsml_1{min-width:0;color:#424242}.dark ._container_1hsml_1{color:#d6d6d6}._prose_1ka1h_1{color:#424242;max-width:none;line-height:1.75}.dark ._prose_1ka1h_1{color:#d6d6d6}._prose_1ka1h_1 :where(p):not(:where([class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}._prose_1ka1h_1 :where([class~=lead]):not(:where([class~=not-prose] *)){color:#4b5563;font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}._prose_1ka1h_1 :where(a):not(:where([class~=not-prose] *)){color:#111827;text-decoration:underline;font-weight:500}._prose_1ka1h_1 :where(strong):not(:where([class~=not-prose] *)){color:#111827;font-weight:600}._prose_1ka1h_1 :where(a strong):not(:where([class~=not-prose] *)){color:inherit}._prose_1ka1h_1 :where(blockquote strong):not(:where([class~=not-prose] *)){color:inherit}._prose_1ka1h_1 :where(thead th strong):not(:where([class~=not-prose] *)){color:inherit}._prose_1ka1h_1 :where(ol):not(:where([class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-left:1.625em}._prose_1ka1h_1 :where(ol[type=A]):not(:where([class~=not-prose] *)){list-style-type:upper-alpha}._prose_1ka1h_1 :where(ol[type=a]):not(:where([class~=not-prose] *)){list-style-type:lower-alpha}._prose_1ka1h_1 :where(ol[type=A s]):not(:where([class~=not-prose] *)){list-style-type:upper-alpha}._prose_1ka1h_1 :where(ol[type=a s]):not(:where([class~=not-prose] *)){list-style-type:lower-alpha}._prose_1ka1h_1 :where(ol[type=I]):not(:where([class~=not-prose] *)){list-style-type:upper-roman}._prose_1ka1h_1 :where(ol[type=i]):not(:where([class~=not-prose] *)){list-style-type:lower-roman}._prose_1ka1h_1 :where(ol[type=I s]):not(:where([class~=not-prose] *)){list-style-type:upper-roman}._prose_1ka1h_1 :where(ol[type=i s]):not(:where([class~=not-prose] *)){list-style-type:lower-roman}._prose_1ka1h_1 :where(ol[type="1"]):not(:where([class~=not-prose] *)){list-style-type:decimal}._prose_1ka1h_1 :where(ul):not(:where([class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-left:1.625em}._prose_1ka1h_1 :where(ol>li):not(:where([class~=not-prose] *))::marker{font-weight:400;color:#6b7280}._prose_1ka1h_1 :where(ul>li):not(:where([class~=not-prose] *))::marker{color:#d1d5db}._prose_1ka1h_1 :where(hr):not(:where([class~=not-prose] *)){border-color:#e5e7eb;border-top-width:1px;margin-top:3em;margin-bottom:3em}._prose_1ka1h_1 :where(blockquote):not(:where([class~=not-prose] *)){font-weight:500;font-style:italic;color:#111827;border-left-width:.25rem;border-left-color:#e5e7eb;quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-left:1em}._prose_1ka1h_1 :where(blockquote p:first-of-type):not(:where([class~=not-prose] *)):before{content:open-quote}._prose_1ka1h_1 :where(blockquote p:last-of-type):not(:where([class~=not-prose] *)):after{content:close-quote}._prose_1ka1h_1 :where(h1):not(:where([class~=not-prose] *)){color:#111827;font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}._prose_1ka1h_1 :where(h1 strong):not(:where([class~=not-prose] *)){font-weight:900;color:inherit}._prose_1ka1h_1 :where(h2):not(:where([class~=not-prose] *)){color:#111827;font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}._prose_1ka1h_1 :where(h2 strong):not(:where([class~=not-prose] *)){font-weight:800;color:inherit}._prose_1ka1h_1 :where(h3):not(:where([class~=not-prose] *)){color:#111827;font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}._prose_1ka1h_1 :where(h3 strong):not(:where([class~=not-prose] *)){font-weight:700;color:inherit}._prose_1ka1h_1 :where(h4):not(:where([class~=not-prose] *)){color:#111827;font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}._prose_1ka1h_1 :where(h4 strong):not(:where([class~=not-prose] *)){font-weight:700;color:inherit}._prose_1ka1h_1 :where(img):not(:where([class~=not-prose] *)){margin-top:2em;margin-bottom:2em}._prose_1ka1h_1 :where(figure>*):not(:where([class~=not-prose] *)){margin-top:0;margin-bottom:0}._prose_1ka1h_1 :where(figcaption):not(:where([class~=not-prose] *)){color:#6b7280;font-size:.875em;line-height:1.4285714;margin-top:.8571429em}._prose_1ka1h_1 :where(code):not(:where([class~=not-prose] *)){color:#111827;font-weight:600;font-size:.875em}._prose_1ka1h_1 :where(a code):not(:where([class~=not-prose] *)){color:inherit}._prose_1ka1h_1 :where(h1 code):not(:where([class~=not-prose] *)){color:inherit}._prose_1ka1h_1 :where(h2 code):not(:where([class~=not-prose] *)){color:inherit}._prose_1ka1h_1 :where(h3 code):not(:where([class~=not-prose] *)){color:inherit}._prose_1ka1h_1 :where(h4 code):not(:where([class~=not-prose] *)){color:inherit}._prose_1ka1h_1 :where(blockquote code):not(:where([class~=not-prose] *)){color:inherit}._prose_1ka1h_1 :where(thead th code):not(:where([class~=not-prose] *)){color:inherit}._prose_1ka1h_1 :where(pre):not(:where([class~=not-prose] *)){color:#e5e7eb;background-color:#1f2937;overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding:.8571429em 1.1428571em}._prose_1ka1h_1 :where(pre code):not(:where([class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}._prose_1ka1h_1 :where(pre code):not(:where([class~=not-prose] *)):before{content:none}._prose_1ka1h_1 :where(pre code):not(:where([class~=not-prose] *)):after{content:none}._prose_1ka1h_1 :where(table):not(:where([class~=not-prose] *)){width:100%;table-layout:auto;text-align:left;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}._prose_1ka1h_1 :where(thead):not(:where([class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:#d1d5db}._prose_1ka1h_1 :where(thead th):not(:where([class~=not-prose] *)){color:#111827;font-weight:600;vertical-align:bottom;padding-right:.5714286em;padding-bottom:.5714286em;padding-left:.5714286em}._prose_1ka1h_1 :where(tbody tr):not(:where([class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:#e5e7eb}._prose_1ka1h_1 :where(tbody tr:last-child):not(:where([class~=not-prose] *)){border-bottom-width:0}._prose_1ka1h_1 :where(tbody td):not(:where([class~=not-prose] *)){vertical-align:baseline}._prose_1ka1h_1 :where(tfoot):not(:where([class~=not-prose] *)){border-top-width:1px;border-top-color:#d1d5db}._prose_1ka1h_1 :where(tfoot td):not(:where([class~=not-prose] *)){vertical-align:top}._prose_1ka1h_1 :where(video):not(:where([class~=not-prose] *)){margin-top:2em;margin-bottom:2em}._prose_1ka1h_1 :where(figure):not(:where([class~=not-prose] *)){margin-top:2em;margin-bottom:2em}._prose_1ka1h_1 :where(li):not(:where([class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}._prose_1ka1h_1 :where(ol>li):not(:where([class~=not-prose] *)){padding-left:.375em}._prose_1ka1h_1 :where(ul>li):not(:where([class~=not-prose] *)){padding-left:.375em}._prose_1ka1h_1 :where(._prose_1ka1h_1>ul>li p):not(:where([class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}._prose_1ka1h_1 :where(._prose_1ka1h_1>ul>li>*:first-child):not(:where([class~=not-prose] *)){margin-top:1.25em}._prose_1ka1h_1 :where(._prose_1ka1h_1>ul>li>*:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.25em}._prose_1ka1h_1 :where(._prose_1ka1h_1>ol>li>*:first-child):not(:where([class~=not-prose] *)){margin-top:1.25em}._prose_1ka1h_1 :where(._prose_1ka1h_1>ol>li>*:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.25em}._prose_1ka1h_1 :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}._prose_1ka1h_1 :where(hr+*):not(:where([class~=not-prose] *)){margin-top:0}._prose_1ka1h_1 :where(h2+*):not(:where([class~=not-prose] *)){margin-top:0}._prose_1ka1h_1 :where(h3+*):not(:where([class~=not-prose] *)){margin-top:0}._prose_1ka1h_1 :where(h4+*):not(:where([class~=not-prose] *)){margin-top:0}._prose_1ka1h_1 :where(thead th:first-child):not(:where([class~=not-prose] *)){padding-left:0}._prose_1ka1h_1 :where(thead th:last-child):not(:where([class~=not-prose] *)){padding-right:0}._prose_1ka1h_1 :where(tbody td,tfoot td):not(:where([class~=not-prose] *)){padding:.5714286em}._prose_1ka1h_1 :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose] *)){padding-left:0}._prose_1ka1h_1 :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose] *)){padding-right:0}._prose_1ka1h_1 :where(._prose_1ka1h_1>:first-child):not(:where([class~=not-prose] *)){margin-top:0}._prose_1ka1h_1 :where(._prose_1ka1h_1>:last-child):not(:where([class~=not-prose] *)){margin-bottom:0}._prose_1ka1h_1>:last-child:not(:where([class~=not-prose] *)){margin-bottom:0}.dark ._prose_1ka1h_1 :where([class~=lead]):not(:where([class~=not-prose] *)){color:#9ca3af}.dark ._prose_1ka1h_1 :where(a):not(:where([class~=not-prose] *)){color:#fff}.dark ._prose_1ka1h_1 :where(strong):not(:where([class~=not-prose] *)){color:#fff}.dark ._prose_1ka1h_1 :where(ol>li):not(:where([class~=not-prose] *))::marker{color:#9ca3af}.dark ._prose_1ka1h_1 :where(ul>li):not(:where([class~=not-prose] *))::marker{color:#6b7280}.dark ._prose_1ka1h_1 :where(hr):not(:where([class~=not-prose] *)){border-color:#374151}.dark ._prose_1ka1h_1 :where(blockquote):not(:where([class~=not-prose] *)){color:#fff;border-left-color:#374151}.dark ._prose_1ka1h_1 :where(h1):not(:where([class~=not-prose] *)){color:#fff}.dark ._prose_1ka1h_1 :where(h2):not(:where([class~=not-prose] *)){color:#fff}.dark ._prose_1ka1h_1 :where(h3):not(:where([class~=not-prose] *)){color:#fff}.dark ._prose_1ka1h_1 :where(h4):not(:where([class~=not-prose] *)){color:#fff}.dark ._prose_1ka1h_1 :where(figcaption):not(:where([class~=not-prose] *)){color:#9ca3af}.dark ._prose_1ka1h_1 :where(code):not(:where([class~=not-prose] *)){color:#fff}.dark ._prose_1ka1h_1 :where(pre):not(:where([class~=not-prose] *)){color:#e5e7eb;background-color:#1f2937}.dark ._prose_1ka1h_1 :where(thead th):not(:where([class~=not-prose] *)){color:#fff}.dark ._prose_1ka1h_1 :where(tbody tr):not(:where([class~=not-prose] *)){border-bottom-color:#4b5563}.dark ._prose_1ka1h_1 :where(thead):not(:where([class~=not-prose] *)){border-bottom-color:#6b7280}.dark ._prose_1ka1h_1 :where(tfoot):not(:where([class~=not-prose] *)){border-top-color:#6b7280}._overlay_oaifl_1{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}._modal_oaifl_12{position:relative;width:100%;max-width:80rem;max-height:90vh;overflow:auto;background-color:#fff;border-radius:1rem;box-shadow:0 25px 50px -12px #00000040;border:1px solid #e5e7eb}.dark ._modal_oaifl_12{background-color:#1f1f1f;border-color:#ffffff1a}._header_oaifl_29{position:sticky;top:0;right:0;z-index:10;display:flex;justify-content:flex-end;padding:.5rem 1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}._closeButton_oaifl_40{padding:.5rem;border-radius:.5rem;background:transparent;border:none;cursor:pointer}._closeButton_oaifl_40:hover{background-color:#f3f4f6}.dark ._closeButton_oaifl_40:hover{background-color:#141414}._closeIcon_oaifl_56{height:1.25rem;width:1.25rem;color:#374151}.dark ._closeIcon_oaifl_56{color:#fff}._content_oaifl_66{padding:1rem 1.5rem}._container_1yfm4_1{position:relative;display:block;margin-bottom:1rem;margin-top:2rem}._expandButton_1yfm4_8{margin-left:auto;display:flex;align-items:center;gap:.5rem;padding:.25rem .5rem;border-radius:.5rem;background:transparent;border:none;cursor:pointer}._expandButton_1yfm4_8:hover{background-color:#f3f4f6}.dark ._expandButton_1yfm4_8:hover{background-color:#2d2d2d}._expandIcon_1yfm4_28{height:1rem;width:1rem;color:#374151}.dark ._expandIcon_1yfm4_28{color:#e5e7eb}._expandText_1yfm4_38{font-size:.875rem;color:#374151}.dark ._expandText_1yfm4_38{color:#e5e7eb}._scrollContainer_1yfm4_47{margin-top:.5rem;overflow-x:auto}._table_1yfm4_52{margin-top:.5rem;border-collapse:collapse;font-size:.875rem;width:100%;border-radius:.75rem;overflow:hidden;background-color:#f9fafb}.dark ._table_1yfm4_52{background-color:#2d2d2d}._tableHeader_1yfm4_66{color:#374151;background-color:#f9fafb}.dark ._tableHeader_1yfm4_66{color:#d1d5db;background-color:#2d2d2d}._tableHeader_1yfm4_66 tr{border:0}._tableFooter_1yfm4_80{border-top:1px solid #e5e7eb;background-color:#f9fafb80;font-weight:500}.dark ._tableFooter_1yfm4_80{border-top-color:#4b5563;background-color:#2d2d2d80}._tableFooter_1yfm4_80 tr:last-child{border-bottom:0}._tableRow_1yfm4_95{border:1px solid #f9fafb}.dark ._tableRow_1yfm4_95{border-color:#2d2d2d}._tableHead_1yfm4_66{height:2rem;background-color:#f9fafb;overflow:hidden;padding:.5rem 1.5rem;text-align:left;font-weight:600;color:#374151}.dark ._tableHead_1yfm4_66{background-color:#2d2d2d;color:#d1d5db}._tableHead_1yfm4_66:first-child{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}._tableHead_1yfm4_66:last-child{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}._tableCell_1yfm4_128{background-color:#fff;border-color:#f9fafb;padding:.75rem 1.5rem;color:#141414}.dark ._tableCell_1yfm4_128{background-color:#252525;border-color:#2d2d2d;color:#e5e7eb}._tableCell_1yfm4_128:first-child{border-left:4px solid transparent}._tableCell_1yfm4_128:last-child{border-right:4px solid transparent}tbody>tr:first-child>._tableCell_1yfm4_128:first-child{border-top-left-radius:.75rem}tbody>tr:first-child>._tableCell_1yfm4_128:last-child{border-top-right-radius:.75rem}tbody>tr:last-child>._tableCell_1yfm4_128:first-child{border-bottom-left-radius:.75rem}tbody>tr:last-child>._tableCell_1yfm4_128:last-child{border-bottom-right-radius:.75rem}tbody>tr:last-child>._tableCell_1yfm4_128{border-bottom:4px solid transparent}._tableCaption_1yfm4_169{margin-top:1rem;font-size:.875rem;color:#6b7280}.dark ._tableCaption_1yfm4_169{color:#9ca3af}._inlineCode_16wxq_1{font-weight:500;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.875rem;background-color:#f3f4f6;box-shadow:0 0 0 1px #9ca3af4d;padding:.125rem .375rem;border-radius:.25rem}.dark ._inlineCode_16wxq_1{background-color:#1f1f1f;box-shadow:0 0 0 1px #37415180}._paragraph_16wxq_17{line-height:1.75}._blockquote_16wxq_21{border-left:4px solid #e5e7eb;padding-left:1.5rem;margin-bottom:1rem}.dark ._blockquote_16wxq_21{border-left-color:#fff3}._container_2biqe_1{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem;margin-bottom:1rem;border:1px solid #e5e5e5;padding:.625rem .5rem .5rem;border-radius:.75rem;overflow:hidden}.dark ._container_2biqe_1{border-color:#262626}._fileName_2biqe_20{font-size:.875rem;font-weight:500;padding-left:.5rem;padding-right:.5rem}._codeWrapper_2biqe_27{position:relative;border-radius:.75rem;background-color:#f5f5f5}.dark ._codeWrapper_2biqe_27{background-color:#141414}._header_2biqe_37{display:flex;align-items:center;justify-content:space-between;padding-left:.75rem;padding-right:.75rem;padding-top:.5rem}._language_2biqe_46{font-size:.75rem;font-weight:500;color:#737373}.dark ._language_2biqe_46{color:#a3a3a3}._copyButton_2biqe_56{display:flex;align-items:center;gap:.375rem;padding:.25rem .5rem;font-size:.75rem;color:#737373;border-radius:.25rem;transition-property:color;transition-duration:.15s;border:none;background:transparent;cursor:pointer}.dark ._copyButton_2biqe_56{color:#a3a3a3}._copyButton_2biqe_56:hover{color:#171717}.dark ._copyButton_2biqe_56:hover{color:#fafafa}._copyIcon_2biqe_86{width:1.25rem;height:1.25rem}._copiedIcon_2biqe_91{width:1.25rem;height:1.25rem;color:#16a34a}.dark ._copiedIcon_2biqe_91{color:#4ade80}._scrollContainer_2biqe_101{overflow-x:auto}._pre_2biqe_105{padding:.5rem .75rem .75rem;margin:0;white-space:pre;font-size:.875rem}._code_2biqe_27{display:block;color:#24292e}.dark ._code_2biqe_27{color:#e6edf3}._link_1rr6d_1{text-decoration:underline}._srOnly_1rr6d_5{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}._callout_1k3jj_1{margin-top:1rem;margin-bottom:1rem;display:flex;gap:.5rem;padding:.625rem .75rem;border-radius:.5rem;border-width:1px;overflow:hidden}._iconContainer_1k3jj_12{display:flex;align-items:flex-start;justify-content:center;margin-top:2px}._icon_1k3jj_12{width:1.25rem;height:1.25rem;flex-shrink:0}._content_1k3jj_25{font-size:.875rem;min-width:0;width:100%}._content_1k3jj_25>p:first-of-type{margin-bottom:0;font-weight:600}._content_1k3jj_25>p:nth-of-type(2){margin-top:.5rem}._tip_1k3jj_40{background-color:#f1faf1;border-color:#9fd89f;color:#0c5e0c}.dark ._tip_1k3jj_40{background-color:#052505;border-color:#54b054;color:#54b054}._note_1k3jj_52{background-color:#f5f5f5;border-color:#d1d1d1;color:#242424}.dark ._note_1k3jj_52{background-color:#141414;border-color:#666;color:#fff}._warning_1k3jj_64{background-color:#fff9f5;border-color:#fdcfb4;color:#8a3707}.dark ._warning_1k3jj_64{background-color:#4a1e04;border-color:#de590b;color:#faa06b}._caution_1k3jj_76{background-color:#fdf3f4;border-color:#eeacb2;color:#960b18}.dark ._caution_1k3jj_76{background-color:#3b0509;border-color:#c50f1f;color:#dc626d}._important_1k3jj_88{background-color:#e1cefc;border-color:#8251ee;color:#643fb2}.dark ._important_1k3jj_88{background-color:#1a1326;border-color:#9263f1;color:#9263f1}._nextstepaction_1k3jj_100{background-color:#f9fafb;border-color:#d1d1d1;color:#141414}.dark ._nextstepaction_1k3jj_100{background-color:#141414;border-color:#666;color:#fff}._nextstepaction_1k3jj_100 ._icon_1k3jj_12{color:#616161}.dark ._nextstepaction_1k3jj_100 ._icon_1k3jj_12{color:#fff}._paramName_b3gwo_1{display:inline-block;margin-top:.5rem;margin-right:.25rem;padding:.125rem .375rem;font-size:.875rem;font-weight:600;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;border-radius:.25rem;background-color:#f3f4f6}.dark ._paramName_b3gwo_1{background-color:#2d2d2d}._details_d3x6c_1{margin-top:1rem;margin-bottom:1rem;border:1px solid #e5e7eb;border-radius:.5rem;overflow:hidden}.dark ._details_d3x6c_1{border-color:#ffffff1a}._summary_d3x6c_13{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;cursor:pointer;list-style:none;font-size:.875rem;font-weight:600;color:#111827}.dark ._summary_d3x6c_13{color:#fff}._summary_d3x6c_13:hover{background-color:#f9fafb}.dark ._summary_d3x6c_13:hover{background-color:#ffffff0d}._icon_d3x6c_37{transition:transform .15s;flex-shrink:0}._iconOpen_d3x6c_42{transform:rotate(0)}._iconClosed_d3x6c_46{transform:rotate(-90deg)}._content_d3x6c_50{flex:1}._body_d3x6c_54{padding:.5rem .75rem 1rem;border-top:1px solid #e5e7eb}.dark ._body_d3x6c_54{border-top-color:#ffffff1a}._container_1099y_1{margin-top:1.5rem;margin-bottom:1.5rem}._tabList_1099y_6{display:flex;gap:.25rem;border-bottom:1px solid #e5e7eb;margin-bottom:1rem;overflow-x:auto}.dark ._tabList_1099y_6{border-bottom-color:#374151}._tab_1099y_6{padding:.5rem 1rem;font-size:.875rem;font-weight:500;border-bottom:2px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;background:transparent;cursor:pointer;transition:all .15s}._tab_1099y_6:focus{outline:none}._tab_1099y_6:focus-visible{box-shadow:0 0 0 2px #fff,0 0 0 4px #75b6e7;outline-offset:2px}._tabActive_1099y_39{border-bottom-color:#0078d4;color:#0078d4}.dark ._tabActive_1099y_39{border-bottom-color:#75b6e7;color:#75b6e7}._tabInactive_1099y_49{border-bottom-color:transparent;color:#4b5563}.dark ._tabInactive_1099y_49{color:#9ca3af}._tabInactive_1099y_49:hover{color:#111827;border-bottom-color:#d1d5db}.dark ._tabInactive_1099y_49:hover{color:#e5e7eb;border-bottom-color:#4b5563}._tabContent_1099y_68{display:flex;align-items:center;gap:.5rem}._panel_1099y_74{outline:none}._panelHidden_1099y_81{display:none}._container_1hsqx_1{margin-bottom:.5rem}@media (min-width: 1024px){._container_1hsqx_1{margin-bottom:.5rem}}._button_1hsqx_11{width:100%;padding:.5rem .75rem;border-radius:.75rem;background-color:#fff;border:1px solid rgba(229,231,235,.7);cursor:pointer}.dark ._button_1hsqx_11{background-color:#1f1f1f;border-color:#ffffff12}._button_1hsqx_11:hover{border-color:#d1d5db;background-color:#4b55630d}.dark ._button_1hsqx_11:hover{border-color:#ffffff26;background-color:#4b55630d}._button_1hsqx_11:focus-visible{outline:2px solid #643fb2;outline-offset:2px}._buttonActive_1hsqx_40{box-shadow:0 0 0 2px #643fb233;border-color:#643fb24d}._buttonContent_1hsqx_45{display:flex;align-items:center;gap:.5rem}._iconContainer_1hsqx_51{flex-shrink:0}._iconWrapper_1hsqx_55{width:2rem;height:2rem;border-radius:.5rem;display:flex;align-items:center;justify-content:center;background-color:#e1cefc;border:1px solid #643fb2}.dark ._iconWrapper_1hsqx_55{background-color:#38255e;border-color:#c9aaf9}._icon_1hsqx_51{width:1rem;height:1rem;color:#643fb2}.dark ._icon_1hsqx_51{color:#c9aaf9}._textContainer_1hsqx_81{flex:1;text-align:left;min-width:0}._title_1hsqx_87{font-size:.875rem;font-weight:500;color:#111827}.dark ._title_1hsqx_87{color:#fff}._description_1hsqx_97{font-size:.75rem;color:#4b5563;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.dark ._description_1hsqx_97{color:#9ca3af}._chevronContainer_1hsqx_110{flex-shrink:0}._chevron_1hsqx_110{width:1rem;height:1rem;color:#6b7280;transition:transform .2s}.dark ._chevron_1hsqx_110{color:#9ca3af}._chevronExpanded_1hsqx_125{transform:rotate(180deg)}._chevronCollapsed_1hsqx_129{transform:rotate(0)}._dropdownContainer_1hsqx_133{position:relative;margin-top:.5rem}._dropdown_1hsqx_133{position:absolute;top:0;left:0;right:0;z-index:10;width:100%;padding:.25rem;border-radius:.5rem;background-color:#fff;border:1px solid rgba(229,231,235,.7);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.dark ._dropdown_1hsqx_133{background-color:#1f1f1f;border-color:#ffffff12}._dropdownList_1hsqx_158{display:flex;flex-direction:column;gap:.25rem}._dropdownItem_1hsqx_164{display:flex;align-items:center;justify-content:space-between;padding:.375rem .5rem;font-size:.875rem;border-radius:.75rem;transition:all .15s;text-decoration:none;color:#111827}.dark ._dropdownItem_1hsqx_164{color:#fff}._dropdownItem_1hsqx_164:hover{background-color:#4b55630d;color:#111827}.dark ._dropdownItem_1hsqx_164:hover{background-color:#4b55630d;color:#e5e7eb}._dropdownItem_1hsqx_164:focus-visible{outline:2px solid #643fb2;outline-offset:2px}._dropdownItemContent_1hsqx_195{display:flex;align-items:center;gap:.5rem}._dropdownItemIconWrapper_1hsqx_201{width:1.75rem;height:1.75rem;border-radius:.5rem;display:flex;align-items:center;justify-content:center;background-color:#e1cefc;border:1px solid #643fb2}.dark ._dropdownItemIconWrapper_1hsqx_201{background-color:#38255e;border-color:#c9aaf9}._dropdownItemIcon_1hsqx_201{width:1rem;height:1rem;color:#643fb2}.dark ._dropdownItemIcon_1hsqx_201{color:#c9aaf9}._dropdownItemTitle_1hsqx_227{font-weight:500}._checkmark_1hsqx_231{width:.75rem;height:.75rem;color:#643fb2}.dark ._checkmark_1hsqx_231{color:#c9aaf9}._nav_2wanx_1{display:flex;flex-direction:column;gap:.5rem}._group_2wanx_7{margin-bottom:1.5rem}._groupHeader_2wanx_11{font-size:.875rem;font-weight:600;color:#141414;margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}.dark ._groupHeader_2wanx_11{color:#fff}._groupIcon_2wanx_25{width:1.25rem;height:1.25rem}._list_2wanx_30{display:flex;flex-direction:column;gap:.25rem}._listItem_2wanx_36{list-style:none}._expandButton_2wanx_40{position:relative;text-align:left;width:100%;display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;font-size:.875rem;border-radius:.5rem;transition:all .15s;background:transparent;border:none;cursor:pointer;color:#4b5563}.dark ._expandButton_2wanx_40{color:#9ca3af}._expandButton_2wanx_40:hover{background-color:#4b55630d;color:#141414}.dark ._expandButton_2wanx_40:hover{background-color:#4b55630d;color:#e5e7eb}._expandButton_2wanx_40:focus-visible{outline:2px solid #643fb2;outline-offset:2px}._hoverIndicator_2wanx_76{position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:60%;border-radius:9999px;background-color:#643fb2;opacity:0;transition:opacity .15s}.dark ._hoverIndicator_2wanx_76{background-color:#c9aaf9}._expandButton_2wanx_40:hover ._hoverIndicator_2wanx_76{opacity:1}._chevron_2wanx_97{width:1rem;height:1rem;transition:transform .15s;color:#6b7280}.dark ._chevron_2wanx_97{color:#9ca3af}._chevronExpanded_2wanx_108{transform:rotate(90deg)}._chevronCollapsed_2wanx_112{transform:rotate(0)}._link_2wanx_116{position:relative;display:block;padding:.5rem .75rem;font-size:.875rem;border-radius:.75rem;transition:all .15s;text-decoration:none;color:#4b5563}.dark ._link_2wanx_116{color:#9ca3af}._link_2wanx_116:hover{background-color:#4b55630d;color:#141414}.dark ._link_2wanx_116:hover{background-color:#4b55630d;color:#e5e7eb}._link_2wanx_116:focus-visible{outline:2px solid #643fb2;outline-offset:2px}._linkActive_2wanx_146{background-color:#643fb21a;color:#643fb2;font-weight:500}._link_2wanx_116:hover ._hoverIndicator_2wanx_76{opacity:1}._nestedList_2wanx_156{margin-top:.25rem;margin-left:.75rem;display:flex;flex-direction:column;gap:.25rem;border-left:1px solid #e5e7eb;padding-left:.75rem}.dark ._nestedList_2wanx_156{border-left-color:#374151}:root{--scroll-mt: 3rem}h1,h2,h3,h4,h5,h6{scroll-margin-top:var(--scroll-mt)}iframe{width:100%;aspect-ratio:attr(width) / attr(height)}iframe:not([width]):not([height]){aspect-ratio:16 / 9}.code-scrollbar::-webkit-scrollbar{height:8px;width:8px}.code-scrollbar::-webkit-scrollbar-track{background:transparent}.code-scrollbar::-webkit-scrollbar-thumb{background:#0003;border-radius:4px}.code-scrollbar::-webkit-scrollbar-thumb:hover{background:#0000004d}:is(.dark *)::-webkit-scrollbar-thumb{background:#fff3}:is(.dark *)::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#6a737d}:is(.dark *) .token.comment,:is(.dark *) .token.prolog,:is(.dark *) .token.doctype,:is(.dark *) .token.cdata{color:#8b949e}.token.punctuation{color:#24292e}:is(.dark *) .token.punctuation{color:#e6edf3}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol,.token.deleted{color:#005cc5}:is(.dark *) .token.property,:is(.dark *) .token.tag,:is(.dark *) .token.boolean,:is(.dark *) .token.number,:is(.dark *) .token.constant,:is(.dark *) .token.symbol,:is(.dark *) .token.deleted{color:#79c0ff}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.inserted{color:#032f62}:is(.dark *) .token.selector,:is(.dark *) .token.attr-name,:is(.dark *) .token.string,:is(.dark *) .token.char,:is(.dark *) .token.builtin,:is(.dark *) .token.inserted{color:#a5d6ff}.token.operator,.token.entity,.token.url,.language-css .token.string,.style .token.string{color:#d73a49}:is(.dark *) .token.operator,:is(.dark *) .token.entity,:is(.dark *) .token.url,:is(.dark *) .language-css .token.string,:is(.dark *) .style .token.string{color:#ff7b72}.token.atrule,.token.attr-value,.token.keyword{color:#d73a49}:is(.dark *) .token.atrule,:is(.dark *) .token.attr-value,:is(.dark *) .token.keyword{color:#ff7b72}.token.function,.token.class-name{color:#6f42c1}:is(.dark *) .token.function,:is(.dark *) .token.class-name{color:#d2a8ff}.token.regex,.token.important,.token.variable{color:#e36209}:is(.dark *) .token.regex,:is(.dark *) .token.important,:is(.dark *) .token.variable{color:#ffa657}._list_sdpe2_1{display:flex;flex-direction:column;gap:.25rem;font-size:.875rem;color:#6b7280;font-weight:500}.dark ._list_sdpe2_1{color:#9ca3af}._listItem_sdpe2_14{position:relative}._activeIndicator_sdpe2_18{position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:9999px;background-color:#643fb2}.dark ._activeIndicator_sdpe2_18{background-color:#c9aaf9}._link_sdpe2_32{display:block;padding-left:1.5rem;line-height:1.625;transition:color .15s;text-decoration:none}._linkActive_sdpe2_40{color:#643fb2}.dark ._linkActive_sdpe2_40{color:#c9aaf9}._linkInactive_sdpe2_48:hover{color:#111827}.dark ._linkInactive_sdpe2_48:hover{color:#d1d5db}._container_19j54_1{display:flex;align-items:center;flex-shrink:0}._mainButton_19j54_7{border-radius:.75rem;padding:.375rem .75rem;border:1px solid #e5e7eb;background-color:#fff;color:#374151;cursor:pointer;display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500}._mainButton_19j54_7:hover{background-color:#4b55630d}.dark ._mainButton_19j54_7{border-color:#ffffff12;background-color:#1a1a1a;color:#d1d5db}.dark ._mainButton_19j54_7:hover{background-color:#e5e7eb0d}._mainButton_19j54_7._split_19j54_35{border-top-right-radius:0;border-bottom-right-radius:0;border-right:0}._mainButton_19j54_7._copied_19j54_41{color:#6b7280}.dark ._mainButton_19j54_7._copied_19j54_41{color:#9ca3af}._buttonContent_19j54_49{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;color:#242424}.dark ._buttonContent_19j54_49{color:#dbdbdb}._icon_19j54_62{width:1.25rem;height:1.25rem;color:#424242}.dark ._icon_19j54_62{color:#b2b2b2}._dropdownToggle_19j54_72{border-radius:0;border-top-right-radius:.75rem;border-bottom-right-radius:.75rem;padding:.375rem .5rem;border:1px solid #e5e7eb;background-color:#fff;color:#374151;cursor:pointer}._dropdownToggle_19j54_72:hover{background-color:#4b55630d}.dark ._dropdownToggle_19j54_72{border-color:#ffffff12;background-color:#1a1a1a;color:#d1d5db}.dark ._dropdownToggle_19j54_72:hover{background-color:#e5e7eb0d}._chevron_19j54_97{width:1rem;height:1rem;transition:transform .15s}._chevron_19j54_97._open_19j54_103{transform:rotate(180deg)}._dropdownWrapper_19j54_107{position:relative}._dropdown_19j54_72{position:absolute;right:0;top:100%;margin-top:.25rem;z-index:50;max-height:420px;padding:.375rem;min-width:240px;border:1px solid #e5e7eb;background-color:#fff;border-radius:.75rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;overflow-y:auto}.dark ._dropdown_19j54_72{border-color:#ffffff12;background-color:#1a1a1a}._dropdownItem_19j54_133{width:100%;display:flex;align-items:center;gap:.75rem;padding:.5rem .625rem;cursor:pointer;border-radius:.75rem;transition:background-color .15s;border:none;background:none}._dropdownItem_19j54_133:hover{background-color:#4b55630d}.dark ._dropdownItem_19j54_133:hover{background-color:#e5e7eb0d}._dropdownIconWrapper_19j54_154{border:1px solid #e5e7eb;border-radius:.5rem;padding:.25rem;flex-shrink:0}.dark ._dropdownIconWrapper_19j54_154{border-color:#ffffff12}._dropdownIcon_19j54_154{width:1.25rem;height:1.25rem;color:#424242}.dark ._dropdownIcon_19j54_154{color:#b2b2b2}._dropdownItemContent_19j54_175{display:flex;flex-direction:column;flex:1;min-width:0;text-align:left}._dropdownItemTitle_19j54_183{font-size:.875rem;font-weight:500;color:#1f2937;display:flex;align-items:center;gap:.375rem}.dark ._dropdownItemTitle_19j54_183{color:#d1d5db}._externalIcon_19j54_196{width:.75rem;height:.75rem;color:#6b7280;flex-shrink:0}.dark ._externalIcon_19j54_196{color:#9ca3af}._dropdownItemDescription_19j54_207{font-size:.75rem;color:#6b7280;margin-top:.125rem}.dark ._dropdownItemDescription_19j54_207{color:#9ca3af}@media (max-width: 640px){._dropdown_19j54_72{right:auto;left:0;transform:translate(-123px)}}._pageContainer_1nz8v_1{padding-right:.5rem;background-color:#f0f0f0}.dark ._pageContainer_1nz8v_1{background-color:#0f0f0f}._sidebar_1nz8v_10{position:fixed;z-index:10;left:0;top:3.5rem;bottom:0;width:16.5rem;overflow-y:auto}@media (max-width: 1023px){._sidebar_1nz8v_10{display:none}}@media (min-width: 1024px){._sidebar_1nz8v_10{display:block}}._sidebarInner_1nz8v_32{padding:1.5rem}._mainWrapper_1nz8v_36{display:flex;border-radius:1rem;height:calc(100vh - 4.5rem)}._mainContent_1nz8v_42{flex:1;padding:2rem;overflow-y:auto;border-radius:1rem;background-color:#fff;border:1px solid rgba(229,231,235,.7);scrollbar-gutter:stable}@media (min-width: 1024px){._mainContent_1nz8v_42{margin-left:16.5rem;padding-left:4rem;padding-right:4rem;padding-top:3rem}}.dark ._mainContent_1nz8v_42{background-color:#1f1f1f;border-color:#ffffff12}._contentWrapper_1nz8v_66{display:flex;flex-direction:row-reverse;gap:3rem;justify-content:center;margin-left:auto;margin-right:auto;width:100%}._tocSidebar_1nz8v_76{width:16rem;flex-shrink:0;margin-left:2rem}@media (max-width: 1279px){._tocSidebar_1nz8v_76{display:none}}@media (min-width: 1280px){._tocSidebar_1nz8v_76{display:block}}._tocInner_1nz8v_94{position:sticky;top:.5rem;padding:0 .5rem 1.5rem;max-height:calc(100vh - 3.5rem);overflow-y:auto}._tocHeader_1nz8v_102{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}._tocIcon_1nz8v_109{width:1rem;height:1rem;color:#4b5563}.dark ._tocIcon_1nz8v_109{color:#9ca3af}._tocTitle_1nz8v_119{font-size:.875rem;font-weight:600;color:#141414}.dark ._tocTitle_1nz8v_119{color:#fff}._contentArea_1nz8v_129{width:100%;overflow-x:visible;max-width:42rem}._header_1nz8v_135{margin-bottom:2rem}._headerInner_1nz8v_139{margin-bottom:1rem}._headerContent_1nz8v_143{display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}@media (min-width: 640px){._headerContent_1nz8v_143{flex-direction:row;align-items:center;gap:1rem}}._title_1nz8v_158{font-size:1.875rem;font-weight:700;color:#141414;margin:0;line-height:1.2}._contextMenu_1nz8v_166{margin-left:auto}@media (max-width: 639px){._contextMenu_1nz8v_166{margin-left:0}}.dark ._title_1nz8v_158{color:#fff}._description_1nz8v_180{font-size:1.125rem;color:#4b5563}.dark ._description_1nz8v_180{color:#d1d5db}._pivotContainer_1nz8v_189{margin-bottom:1.5rem;display:flex;flex-wrap:wrap;gap:1rem}._pivotSelector_1nz8v_196{display:flex;align-items:center;gap:.5rem;font-size:.875rem}._mdxContent_1nz8v_203{padding-top:1rem}._container_gmrx7_1{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem;background-color:#f3f4f6;border-radius:.5rem}.dark ._container_gmrx7_1{background-color:#ffffff0d}._button_gmrx7_14{position:relative;padding:.375rem .75rem;font-size:.875rem;font-weight:500;border-radius:.375rem;background:transparent;border:none;cursor:pointer;transition:all .15s}._button_gmrx7_14:focus{outline:none}._button_gmrx7_14:focus-visible{box-shadow:0 0 0 2px #3b82f6;outline-offset:2px}._buttonSelected_gmrx7_35{background-color:#fff;color:#141414;box-shadow:0 1px 2px #0000000d}.dark ._buttonSelected_gmrx7_35{background-color:#ffffff1a;color:#fff}._buttonUnselected_gmrx7_46{color:#4b5563}.dark ._buttonUnselected_gmrx7_46{color:#9ca3af}._buttonUnselected_gmrx7_46:hover{color:#141414;background-color:#ffffff80}.dark ._buttonUnselected_gmrx7_46:hover{color:#fff;background-color:#ffffff1a}._dialog_1y5d2_1{position:fixed;top:0;right:0;bottom:0;left:0;overflow-y:auto;z-index:50}@media (min-width: 1024px){._dialog_1y5d2_1{display:none}}._backdrop_1y5d2_14{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0003;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:opacity .3s ease-out}.dark ._backdrop_1y5d2_14{background-color:#000c}._backdrop_1y5d2_14[data-closed]{opacity:0}._container_1y5d2_30{position:fixed;top:0;right:0;bottom:0;left:0;display:flex}._panel_1y5d2_36{display:flex;flex-direction:column;position:relative;background-color:#fff;width:85vw;min-width:19rem;max-width:22rem;min-height:100%;transition:transform .1s ease-in-out}.dark ._panel_1y5d2_36{background-color:#0f0f0f}._panel_1y5d2_36[data-closed]{transform:translate(-100%)}._content_1y5d2_56{display:flex;flex-direction:column;flex:1;padding:1rem 1rem 3rem;overflow-y:auto;height:100%}._closeButton_1y5d2_67{position:absolute;background-color:#fff;border-radius:9999px;top:1rem;right:1rem;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer}.dark ._closeButton_1y5d2_67{background-color:#0f0f0f}._closeIcon_1y5d2_86{width:1rem;height:1rem;color:#6b7280}.dark ._closeIcon_1y5d2_86{color:#9ca3af}._closeIcon_1y5d2_86:hover{color:#4b5563}.dark ._closeIcon_1y5d2_86:hover{color:#d1d5db}._srOnly_1y5d2_104{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}
|
|
1
|
+
._container_1hsml_1{min-width:0;color:#424242}.dark ._container_1hsml_1{color:#d6d6d6}._prose_1ka1h_1{color:#424242;max-width:none;line-height:1.75}.dark ._prose_1ka1h_1{color:#d6d6d6}._prose_1ka1h_1 :where(p):not(:where([class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}._prose_1ka1h_1 :where([class~=lead]):not(:where([class~=not-prose] *)){color:#4b5563;font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}._prose_1ka1h_1 :where(a):not(:where([class~=not-prose] *)){color:#111827;text-decoration:underline;font-weight:500}._prose_1ka1h_1 :where(strong):not(:where([class~=not-prose] *)){color:#111827;font-weight:600}._prose_1ka1h_1 :where(a strong):not(:where([class~=not-prose] *)){color:inherit}._prose_1ka1h_1 :where(blockquote strong):not(:where([class~=not-prose] *)){color:inherit}._prose_1ka1h_1 :where(thead th strong):not(:where([class~=not-prose] *)){color:inherit}._prose_1ka1h_1 :where(ol):not(:where([class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-left:1.625em}._prose_1ka1h_1 :where(ol[type=A]):not(:where([class~=not-prose] *)){list-style-type:upper-alpha}._prose_1ka1h_1 :where(ol[type=a]):not(:where([class~=not-prose] *)){list-style-type:lower-alpha}._prose_1ka1h_1 :where(ol[type=A s]):not(:where([class~=not-prose] *)){list-style-type:upper-alpha}._prose_1ka1h_1 :where(ol[type=a s]):not(:where([class~=not-prose] *)){list-style-type:lower-alpha}._prose_1ka1h_1 :where(ol[type=I]):not(:where([class~=not-prose] *)){list-style-type:upper-roman}._prose_1ka1h_1 :where(ol[type=i]):not(:where([class~=not-prose] *)){list-style-type:lower-roman}._prose_1ka1h_1 :where(ol[type=I s]):not(:where([class~=not-prose] *)){list-style-type:upper-roman}._prose_1ka1h_1 :where(ol[type=i s]):not(:where([class~=not-prose] *)){list-style-type:lower-roman}._prose_1ka1h_1 :where(ol[type="1"]):not(:where([class~=not-prose] *)){list-style-type:decimal}._prose_1ka1h_1 :where(ul):not(:where([class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-left:1.625em}._prose_1ka1h_1 :where(ol>li):not(:where([class~=not-prose] *))::marker{font-weight:400;color:#6b7280}._prose_1ka1h_1 :where(ul>li):not(:where([class~=not-prose] *))::marker{color:#d1d5db}._prose_1ka1h_1 :where(hr):not(:where([class~=not-prose] *)){border-color:#e5e7eb;border-top-width:1px;margin-top:3em;margin-bottom:3em}._prose_1ka1h_1 :where(blockquote):not(:where([class~=not-prose] *)){font-weight:500;font-style:italic;color:#111827;border-left-width:.25rem;border-left-color:#e5e7eb;quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-left:1em}._prose_1ka1h_1 :where(blockquote p:first-of-type):not(:where([class~=not-prose] *)):before{content:open-quote}._prose_1ka1h_1 :where(blockquote p:last-of-type):not(:where([class~=not-prose] *)):after{content:close-quote}._prose_1ka1h_1 :where(h1):not(:where([class~=not-prose] *)){color:#111827;font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}._prose_1ka1h_1 :where(h1 strong):not(:where([class~=not-prose] *)){font-weight:900;color:inherit}._prose_1ka1h_1 :where(h2):not(:where([class~=not-prose] *)){color:#111827;font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}._prose_1ka1h_1 :where(h2 strong):not(:where([class~=not-prose] *)){font-weight:800;color:inherit}._prose_1ka1h_1 :where(h3):not(:where([class~=not-prose] *)){color:#111827;font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}._prose_1ka1h_1 :where(h3 strong):not(:where([class~=not-prose] *)){font-weight:700;color:inherit}._prose_1ka1h_1 :where(h4):not(:where([class~=not-prose] *)){color:#111827;font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}._prose_1ka1h_1 :where(h4 strong):not(:where([class~=not-prose] *)){font-weight:700;color:inherit}._prose_1ka1h_1 :where(img):not(:where([class~=not-prose] *)){margin-top:2em;margin-bottom:2em}._prose_1ka1h_1 :where(figure>*):not(:where([class~=not-prose] *)){margin-top:0;margin-bottom:0}._prose_1ka1h_1 :where(figcaption):not(:where([class~=not-prose] *)){color:#6b7280;font-size:.875em;line-height:1.4285714;margin-top:.8571429em}._prose_1ka1h_1 :where(code):not(:where([class~=not-prose] *)){color:#111827;font-weight:600;font-size:.875em}._prose_1ka1h_1 :where(a code):not(:where([class~=not-prose] *)){color:inherit}._prose_1ka1h_1 :where(h1 code):not(:where([class~=not-prose] *)){color:inherit}._prose_1ka1h_1 :where(h2 code):not(:where([class~=not-prose] *)){color:inherit}._prose_1ka1h_1 :where(h3 code):not(:where([class~=not-prose] *)){color:inherit}._prose_1ka1h_1 :where(h4 code):not(:where([class~=not-prose] *)){color:inherit}._prose_1ka1h_1 :where(blockquote code):not(:where([class~=not-prose] *)){color:inherit}._prose_1ka1h_1 :where(thead th code):not(:where([class~=not-prose] *)){color:inherit}._prose_1ka1h_1 :where(pre):not(:where([class~=not-prose] *)){color:#e5e7eb;background-color:#1f2937;overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding:.8571429em 1.1428571em}._prose_1ka1h_1 :where(pre code):not(:where([class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}._prose_1ka1h_1 :where(pre code):not(:where([class~=not-prose] *)):before{content:none}._prose_1ka1h_1 :where(pre code):not(:where([class~=not-prose] *)):after{content:none}._prose_1ka1h_1 :where(table):not(:where([class~=not-prose] *)){width:100%;table-layout:auto;text-align:left;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}._prose_1ka1h_1 :where(thead):not(:where([class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:#d1d5db}._prose_1ka1h_1 :where(thead th):not(:where([class~=not-prose] *)){color:#111827;font-weight:600;vertical-align:bottom;padding-right:.5714286em;padding-bottom:.5714286em;padding-left:.5714286em}._prose_1ka1h_1 :where(tbody tr):not(:where([class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:#e5e7eb}._prose_1ka1h_1 :where(tbody tr:last-child):not(:where([class~=not-prose] *)){border-bottom-width:0}._prose_1ka1h_1 :where(tbody td):not(:where([class~=not-prose] *)){vertical-align:baseline}._prose_1ka1h_1 :where(tfoot):not(:where([class~=not-prose] *)){border-top-width:1px;border-top-color:#d1d5db}._prose_1ka1h_1 :where(tfoot td):not(:where([class~=not-prose] *)){vertical-align:top}._prose_1ka1h_1 :where(video):not(:where([class~=not-prose] *)){margin-top:2em;margin-bottom:2em}._prose_1ka1h_1 :where(figure):not(:where([class~=not-prose] *)){margin-top:2em;margin-bottom:2em}._prose_1ka1h_1 :where(li):not(:where([class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}._prose_1ka1h_1 :where(ol>li):not(:where([class~=not-prose] *)){padding-left:.375em}._prose_1ka1h_1 :where(ul>li):not(:where([class~=not-prose] *)){padding-left:.375em}._prose_1ka1h_1 :where(._prose_1ka1h_1>ul>li p):not(:where([class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}._prose_1ka1h_1 :where(._prose_1ka1h_1>ul>li>*:first-child):not(:where([class~=not-prose] *)){margin-top:1.25em}._prose_1ka1h_1 :where(._prose_1ka1h_1>ul>li>*:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.25em}._prose_1ka1h_1 :where(._prose_1ka1h_1>ol>li>*:first-child):not(:where([class~=not-prose] *)){margin-top:1.25em}._prose_1ka1h_1 :where(._prose_1ka1h_1>ol>li>*:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.25em}._prose_1ka1h_1 :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}._prose_1ka1h_1 :where(hr+*):not(:where([class~=not-prose] *)){margin-top:0}._prose_1ka1h_1 :where(h2+*):not(:where([class~=not-prose] *)){margin-top:0}._prose_1ka1h_1 :where(h3+*):not(:where([class~=not-prose] *)){margin-top:0}._prose_1ka1h_1 :where(h4+*):not(:where([class~=not-prose] *)){margin-top:0}._prose_1ka1h_1 :where(thead th:first-child):not(:where([class~=not-prose] *)){padding-left:0}._prose_1ka1h_1 :where(thead th:last-child):not(:where([class~=not-prose] *)){padding-right:0}._prose_1ka1h_1 :where(tbody td,tfoot td):not(:where([class~=not-prose] *)){padding:.5714286em}._prose_1ka1h_1 :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose] *)){padding-left:0}._prose_1ka1h_1 :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose] *)){padding-right:0}._prose_1ka1h_1 :where(._prose_1ka1h_1>:first-child):not(:where([class~=not-prose] *)){margin-top:0}._prose_1ka1h_1 :where(._prose_1ka1h_1>:last-child):not(:where([class~=not-prose] *)){margin-bottom:0}._prose_1ka1h_1>:last-child:not(:where([class~=not-prose] *)){margin-bottom:0}.dark ._prose_1ka1h_1 :where([class~=lead]):not(:where([class~=not-prose] *)){color:#9ca3af}.dark ._prose_1ka1h_1 :where(a):not(:where([class~=not-prose] *)){color:#fff}.dark ._prose_1ka1h_1 :where(strong):not(:where([class~=not-prose] *)){color:#fff}.dark ._prose_1ka1h_1 :where(ol>li):not(:where([class~=not-prose] *))::marker{color:#9ca3af}.dark ._prose_1ka1h_1 :where(ul>li):not(:where([class~=not-prose] *))::marker{color:#6b7280}.dark ._prose_1ka1h_1 :where(hr):not(:where([class~=not-prose] *)){border-color:#374151}.dark ._prose_1ka1h_1 :where(blockquote):not(:where([class~=not-prose] *)){color:#fff;border-left-color:#374151}.dark ._prose_1ka1h_1 :where(h1):not(:where([class~=not-prose] *)){color:#fff}.dark ._prose_1ka1h_1 :where(h2):not(:where([class~=not-prose] *)){color:#fff}.dark ._prose_1ka1h_1 :where(h3):not(:where([class~=not-prose] *)){color:#fff}.dark ._prose_1ka1h_1 :where(h4):not(:where([class~=not-prose] *)){color:#fff}.dark ._prose_1ka1h_1 :where(figcaption):not(:where([class~=not-prose] *)){color:#9ca3af}.dark ._prose_1ka1h_1 :where(code):not(:where([class~=not-prose] *)){color:#fff}.dark ._prose_1ka1h_1 :where(pre):not(:where([class~=not-prose] *)){color:#e5e7eb;background-color:#1f2937}.dark ._prose_1ka1h_1 :where(thead th):not(:where([class~=not-prose] *)){color:#fff}.dark ._prose_1ka1h_1 :where(tbody tr):not(:where([class~=not-prose] *)){border-bottom-color:#4b5563}.dark ._prose_1ka1h_1 :where(thead):not(:where([class~=not-prose] *)){border-bottom-color:#6b7280}.dark ._prose_1ka1h_1 :where(tfoot):not(:where([class~=not-prose] *)){border-top-color:#6b7280}._overlay_oaifl_1{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}._modal_oaifl_12{position:relative;width:100%;max-width:80rem;max-height:90vh;overflow:auto;background-color:#fff;border-radius:1rem;box-shadow:0 25px 50px -12px #00000040;border:1px solid #e5e7eb}.dark ._modal_oaifl_12{background-color:#1f1f1f;border-color:#ffffff1a}._header_oaifl_29{position:sticky;top:0;right:0;z-index:10;display:flex;justify-content:flex-end;padding:.5rem 1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}._closeButton_oaifl_40{padding:.5rem;border-radius:.5rem;background:transparent;border:none;cursor:pointer}._closeButton_oaifl_40:hover{background-color:#f3f4f6}.dark ._closeButton_oaifl_40:hover{background-color:#141414}._closeIcon_oaifl_56{height:1.25rem;width:1.25rem;color:#374151}.dark ._closeIcon_oaifl_56{color:#fff}._content_oaifl_66{padding:1rem 1.5rem}._container_1yfm4_1{position:relative;display:block;margin-bottom:1rem;margin-top:2rem}._expandButton_1yfm4_8{margin-left:auto;display:flex;align-items:center;gap:.5rem;padding:.25rem .5rem;border-radius:.5rem;background:transparent;border:none;cursor:pointer}._expandButton_1yfm4_8:hover{background-color:#f3f4f6}.dark ._expandButton_1yfm4_8:hover{background-color:#2d2d2d}._expandIcon_1yfm4_28{height:1rem;width:1rem;color:#374151}.dark ._expandIcon_1yfm4_28{color:#e5e7eb}._expandText_1yfm4_38{font-size:.875rem;color:#374151}.dark ._expandText_1yfm4_38{color:#e5e7eb}._scrollContainer_1yfm4_47{margin-top:.5rem;overflow-x:auto}._table_1yfm4_52{margin-top:.5rem;border-collapse:collapse;font-size:.875rem;width:100%;border-radius:.75rem;overflow:hidden;background-color:#f9fafb}.dark ._table_1yfm4_52{background-color:#2d2d2d}._tableHeader_1yfm4_66{color:#374151;background-color:#f9fafb}.dark ._tableHeader_1yfm4_66{color:#d1d5db;background-color:#2d2d2d}._tableHeader_1yfm4_66 tr{border:0}._tableFooter_1yfm4_80{border-top:1px solid #e5e7eb;background-color:#f9fafb80;font-weight:500}.dark ._tableFooter_1yfm4_80{border-top-color:#4b5563;background-color:#2d2d2d80}._tableFooter_1yfm4_80 tr:last-child{border-bottom:0}._tableRow_1yfm4_95{border:1px solid #f9fafb}.dark ._tableRow_1yfm4_95{border-color:#2d2d2d}._tableHead_1yfm4_66{height:2rem;background-color:#f9fafb;overflow:hidden;padding:.5rem 1.5rem;text-align:left;font-weight:600;color:#374151}.dark ._tableHead_1yfm4_66{background-color:#2d2d2d;color:#d1d5db}._tableHead_1yfm4_66:first-child{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}._tableHead_1yfm4_66:last-child{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}._tableCell_1yfm4_128{background-color:#fff;border-color:#f9fafb;padding:.75rem 1.5rem;color:#141414}.dark ._tableCell_1yfm4_128{background-color:#252525;border-color:#2d2d2d;color:#e5e7eb}._tableCell_1yfm4_128:first-child{border-left:4px solid transparent}._tableCell_1yfm4_128:last-child{border-right:4px solid transparent}tbody>tr:first-child>._tableCell_1yfm4_128:first-child{border-top-left-radius:.75rem}tbody>tr:first-child>._tableCell_1yfm4_128:last-child{border-top-right-radius:.75rem}tbody>tr:last-child>._tableCell_1yfm4_128:first-child{border-bottom-left-radius:.75rem}tbody>tr:last-child>._tableCell_1yfm4_128:last-child{border-bottom-right-radius:.75rem}tbody>tr:last-child>._tableCell_1yfm4_128{border-bottom:4px solid transparent}._tableCaption_1yfm4_169{margin-top:1rem;font-size:.875rem;color:#6b7280}.dark ._tableCaption_1yfm4_169{color:#9ca3af}._inlineCode_16wxq_1{font-weight:500;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.875rem;background-color:#f3f4f6;box-shadow:0 0 0 1px #9ca3af4d;padding:.125rem .375rem;border-radius:.25rem}.dark ._inlineCode_16wxq_1{background-color:#1f1f1f;box-shadow:0 0 0 1px #37415180}._paragraph_16wxq_17{line-height:1.75}._blockquote_16wxq_21{border-left:4px solid #e5e7eb;padding-left:1.5rem;margin-bottom:1rem}.dark ._blockquote_16wxq_21{border-left-color:#fff3}._container_2biqe_1{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem;margin-bottom:1rem;border:1px solid #e5e5e5;padding:.625rem .5rem .5rem;border-radius:.75rem;overflow:hidden}.dark ._container_2biqe_1{border-color:#262626}._fileName_2biqe_20{font-size:.875rem;font-weight:500;padding-left:.5rem;padding-right:.5rem}._codeWrapper_2biqe_27{position:relative;border-radius:.75rem;background-color:#f5f5f5}.dark ._codeWrapper_2biqe_27{background-color:#141414}._header_2biqe_37{display:flex;align-items:center;justify-content:space-between;padding-left:.75rem;padding-right:.75rem;padding-top:.5rem}._language_2biqe_46{font-size:.75rem;font-weight:500;color:#737373}.dark ._language_2biqe_46{color:#a3a3a3}._copyButton_2biqe_56{display:flex;align-items:center;gap:.375rem;padding:.25rem .5rem;font-size:.75rem;color:#737373;border-radius:.25rem;transition-property:color;transition-duration:.15s;border:none;background:transparent;cursor:pointer}.dark ._copyButton_2biqe_56{color:#a3a3a3}._copyButton_2biqe_56:hover{color:#171717}.dark ._copyButton_2biqe_56:hover{color:#fafafa}._copyIcon_2biqe_86{width:1.25rem;height:1.25rem}._copiedIcon_2biqe_91{width:1.25rem;height:1.25rem;color:#16a34a}.dark ._copiedIcon_2biqe_91{color:#4ade80}._scrollContainer_2biqe_101{overflow-x:auto}._pre_2biqe_105{padding:.5rem .75rem .75rem;margin:0;white-space:pre;font-size:.875rem}._code_2biqe_27{display:block;color:#24292e}.dark ._code_2biqe_27{color:#e6edf3}._link_1rr6d_1{text-decoration:underline}._srOnly_1rr6d_5{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}._callout_1k3jj_1{margin-top:1rem;margin-bottom:1rem;display:flex;gap:.5rem;padding:.625rem .75rem;border-radius:.5rem;border-width:1px;overflow:hidden}._iconContainer_1k3jj_12{display:flex;align-items:flex-start;justify-content:center;margin-top:2px}._icon_1k3jj_12{width:1.25rem;height:1.25rem;flex-shrink:0}._content_1k3jj_25{font-size:.875rem;min-width:0;width:100%}._content_1k3jj_25>p:first-of-type{margin-bottom:0;font-weight:600}._content_1k3jj_25>p:nth-of-type(2){margin-top:.5rem}._tip_1k3jj_40{background-color:#f1faf1;border-color:#9fd89f;color:#0c5e0c}.dark ._tip_1k3jj_40{background-color:#052505;border-color:#54b054;color:#54b054}._note_1k3jj_52{background-color:#f5f5f5;border-color:#d1d1d1;color:#242424}.dark ._note_1k3jj_52{background-color:#141414;border-color:#666;color:#fff}._warning_1k3jj_64{background-color:#fff9f5;border-color:#fdcfb4;color:#8a3707}.dark ._warning_1k3jj_64{background-color:#4a1e04;border-color:#de590b;color:#faa06b}._caution_1k3jj_76{background-color:#fdf3f4;border-color:#eeacb2;color:#960b18}.dark ._caution_1k3jj_76{background-color:#3b0509;border-color:#c50f1f;color:#dc626d}._important_1k3jj_88{background-color:#e1cefc;border-color:#8251ee;color:#643fb2}.dark ._important_1k3jj_88{background-color:#1a1326;border-color:#9263f1;color:#9263f1}._nextstepaction_1k3jj_100{background-color:#f9fafb;border-color:#d1d1d1;color:#141414}.dark ._nextstepaction_1k3jj_100{background-color:#141414;border-color:#666;color:#fff}._nextstepaction_1k3jj_100 ._icon_1k3jj_12{color:#616161}.dark ._nextstepaction_1k3jj_100 ._icon_1k3jj_12{color:#fff}._paramName_b3gwo_1{display:inline-block;margin-top:.5rem;margin-right:.25rem;padding:.125rem .375rem;font-size:.875rem;font-weight:600;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;border-radius:.25rem;background-color:#f3f4f6}.dark ._paramName_b3gwo_1{background-color:#2d2d2d}._details_d3x6c_1{margin-top:1rem;margin-bottom:1rem;border:1px solid #e5e7eb;border-radius:.5rem;overflow:hidden}.dark ._details_d3x6c_1{border-color:#ffffff1a}._summary_d3x6c_13{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;cursor:pointer;list-style:none;font-size:.875rem;font-weight:600;color:#111827}.dark ._summary_d3x6c_13{color:#fff}._summary_d3x6c_13:hover{background-color:#f9fafb}.dark ._summary_d3x6c_13:hover{background-color:#ffffff0d}._icon_d3x6c_37{transition:transform .15s;flex-shrink:0}._iconOpen_d3x6c_42{transform:rotate(0)}._iconClosed_d3x6c_46{transform:rotate(-90deg)}._content_d3x6c_50{flex:1}._body_d3x6c_54{padding:.5rem .75rem 1rem;border-top:1px solid #e5e7eb}.dark ._body_d3x6c_54{border-top-color:#ffffff1a}._container_1099y_1{margin-top:1.5rem;margin-bottom:1.5rem}._tabList_1099y_6{display:flex;gap:.25rem;border-bottom:1px solid #e5e7eb;margin-bottom:1rem;overflow-x:auto}.dark ._tabList_1099y_6{border-bottom-color:#374151}._tab_1099y_6{padding:.5rem 1rem;font-size:.875rem;font-weight:500;border-bottom:2px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;background:transparent;cursor:pointer;transition:all .15s}._tab_1099y_6:focus{outline:none}._tab_1099y_6:focus-visible{box-shadow:0 0 0 2px #fff,0 0 0 4px #75b6e7;outline-offset:2px}._tabActive_1099y_39{border-bottom-color:#0078d4;color:#0078d4}.dark ._tabActive_1099y_39{border-bottom-color:#75b6e7;color:#75b6e7}._tabInactive_1099y_49{border-bottom-color:transparent;color:#4b5563}.dark ._tabInactive_1099y_49{color:#9ca3af}._tabInactive_1099y_49:hover{color:#111827;border-bottom-color:#d1d5db}.dark ._tabInactive_1099y_49:hover{color:#e5e7eb;border-bottom-color:#4b5563}._tabContent_1099y_68{display:flex;align-items:center;gap:.5rem}._panel_1099y_74{outline:none}._panelHidden_1099y_81{display:none}._container_1hsqx_1{margin-bottom:.5rem}@media (min-width: 1024px){._container_1hsqx_1{margin-bottom:.5rem}}._button_1hsqx_11{width:100%;padding:.5rem .75rem;border-radius:.75rem;background-color:#fff;border:1px solid rgba(229,231,235,.7);cursor:pointer}.dark ._button_1hsqx_11{background-color:#1f1f1f;border-color:#ffffff12}._button_1hsqx_11:hover{border-color:#d1d5db;background-color:#4b55630d}.dark ._button_1hsqx_11:hover{border-color:#ffffff26;background-color:#4b55630d}._button_1hsqx_11:focus-visible{outline:2px solid #643fb2;outline-offset:2px}._buttonActive_1hsqx_40{box-shadow:0 0 0 2px #643fb233;border-color:#643fb24d}._buttonContent_1hsqx_45{display:flex;align-items:center;gap:.5rem}._iconContainer_1hsqx_51{flex-shrink:0}._iconWrapper_1hsqx_55{width:2rem;height:2rem;border-radius:.5rem;display:flex;align-items:center;justify-content:center;background-color:#e1cefc;border:1px solid #643fb2}.dark ._iconWrapper_1hsqx_55{background-color:#38255e;border-color:#c9aaf9}._icon_1hsqx_51{width:1rem;height:1rem;color:#643fb2}.dark ._icon_1hsqx_51{color:#c9aaf9}._textContainer_1hsqx_81{flex:1;text-align:left;min-width:0}._title_1hsqx_87{font-size:.875rem;font-weight:500;color:#111827}.dark ._title_1hsqx_87{color:#fff}._description_1hsqx_97{font-size:.75rem;color:#4b5563;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.dark ._description_1hsqx_97{color:#9ca3af}._chevronContainer_1hsqx_110{flex-shrink:0}._chevron_1hsqx_110{width:1rem;height:1rem;color:#6b7280;transition:transform .2s}.dark ._chevron_1hsqx_110{color:#9ca3af}._chevronExpanded_1hsqx_125{transform:rotate(180deg)}._chevronCollapsed_1hsqx_129{transform:rotate(0)}._dropdownContainer_1hsqx_133{position:relative;margin-top:.5rem}._dropdown_1hsqx_133{position:absolute;top:0;left:0;right:0;z-index:10;width:100%;padding:.25rem;border-radius:.5rem;background-color:#fff;border:1px solid rgba(229,231,235,.7);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.dark ._dropdown_1hsqx_133{background-color:#1f1f1f;border-color:#ffffff12}._dropdownList_1hsqx_158{display:flex;flex-direction:column;gap:.25rem}._dropdownItem_1hsqx_164{display:flex;align-items:center;justify-content:space-between;padding:.375rem .5rem;font-size:.875rem;border-radius:.75rem;transition:all .15s;text-decoration:none;color:#111827}.dark ._dropdownItem_1hsqx_164{color:#fff}._dropdownItem_1hsqx_164:hover{background-color:#4b55630d;color:#111827}.dark ._dropdownItem_1hsqx_164:hover{background-color:#4b55630d;color:#e5e7eb}._dropdownItem_1hsqx_164:focus-visible{outline:2px solid #643fb2;outline-offset:2px}._dropdownItemContent_1hsqx_195{display:flex;align-items:center;gap:.5rem}._dropdownItemIconWrapper_1hsqx_201{width:1.75rem;height:1.75rem;border-radius:.5rem;display:flex;align-items:center;justify-content:center;background-color:#e1cefc;border:1px solid #643fb2}.dark ._dropdownItemIconWrapper_1hsqx_201{background-color:#38255e;border-color:#c9aaf9}._dropdownItemIcon_1hsqx_201{width:1rem;height:1rem;color:#643fb2}.dark ._dropdownItemIcon_1hsqx_201{color:#c9aaf9}._dropdownItemTitle_1hsqx_227{font-weight:500}._checkmark_1hsqx_231{width:.75rem;height:.75rem;color:#643fb2}.dark ._checkmark_1hsqx_231{color:#c9aaf9}._nav_2wanx_1{display:flex;flex-direction:column;gap:.5rem}._group_2wanx_7{margin-bottom:1.5rem}._groupHeader_2wanx_11{font-size:.875rem;font-weight:600;color:#141414;margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}.dark ._groupHeader_2wanx_11{color:#fff}._groupIcon_2wanx_25{width:1.25rem;height:1.25rem}._list_2wanx_30{display:flex;flex-direction:column;gap:.25rem}._listItem_2wanx_36{list-style:none}._expandButton_2wanx_40{position:relative;text-align:left;width:100%;display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;font-size:.875rem;border-radius:.5rem;transition:all .15s;background:transparent;border:none;cursor:pointer;color:#4b5563}.dark ._expandButton_2wanx_40{color:#9ca3af}._expandButton_2wanx_40:hover{background-color:#4b55630d;color:#141414}.dark ._expandButton_2wanx_40:hover{background-color:#4b55630d;color:#e5e7eb}._expandButton_2wanx_40:focus-visible{outline:2px solid #643fb2;outline-offset:2px}._hoverIndicator_2wanx_76{position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:60%;border-radius:9999px;background-color:#643fb2;opacity:0;transition:opacity .15s}.dark ._hoverIndicator_2wanx_76{background-color:#c9aaf9}._expandButton_2wanx_40:hover ._hoverIndicator_2wanx_76{opacity:1}._chevron_2wanx_97{width:1rem;height:1rem;transition:transform .15s;color:#6b7280}.dark ._chevron_2wanx_97{color:#9ca3af}._chevronExpanded_2wanx_108{transform:rotate(90deg)}._chevronCollapsed_2wanx_112{transform:rotate(0)}._link_2wanx_116{position:relative;display:block;padding:.5rem .75rem;font-size:.875rem;border-radius:.75rem;transition:all .15s;text-decoration:none;color:#4b5563}.dark ._link_2wanx_116{color:#9ca3af}._link_2wanx_116:hover{background-color:#4b55630d;color:#141414}.dark ._link_2wanx_116:hover{background-color:#4b55630d;color:#e5e7eb}._link_2wanx_116:focus-visible{outline:2px solid #643fb2;outline-offset:2px}._linkActive_2wanx_146{background-color:#643fb21a;color:#643fb2;font-weight:500}._link_2wanx_116:hover ._hoverIndicator_2wanx_76{opacity:1}._nestedList_2wanx_156{margin-top:.25rem;margin-left:.75rem;display:flex;flex-direction:column;gap:.25rem;border-left:1px solid #e5e7eb;padding-left:.75rem}.dark ._nestedList_2wanx_156{border-left-color:#374151}:root{--scroll-mt: 3rem}h1,h2,h3,h4,h5,h6{scroll-margin-top:var(--scroll-mt)}iframe{width:100%;aspect-ratio:attr(width) / attr(height)}iframe:not([width]):not([height]){aspect-ratio:16 / 9}.code-scrollbar::-webkit-scrollbar{height:8px;width:8px}.code-scrollbar::-webkit-scrollbar-track{background:transparent}.code-scrollbar::-webkit-scrollbar-thumb{background:#0003;border-radius:4px}.code-scrollbar::-webkit-scrollbar-thumb:hover{background:#0000004d}:is(.dark *)::-webkit-scrollbar-thumb{background:#fff3}:is(.dark *)::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#6a737d}:is(.dark *) .token.comment,:is(.dark *) .token.prolog,:is(.dark *) .token.doctype,:is(.dark *) .token.cdata{color:#8b949e}.token.punctuation{color:#24292e}:is(.dark *) .token.punctuation{color:#e6edf3}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol,.token.deleted{color:#005cc5}:is(.dark *) .token.property,:is(.dark *) .token.tag,:is(.dark *) .token.boolean,:is(.dark *) .token.number,:is(.dark *) .token.constant,:is(.dark *) .token.symbol,:is(.dark *) .token.deleted{color:#79c0ff}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.inserted{color:#032f62}:is(.dark *) .token.selector,:is(.dark *) .token.attr-name,:is(.dark *) .token.string,:is(.dark *) .token.char,:is(.dark *) .token.builtin,:is(.dark *) .token.inserted{color:#a5d6ff}.token.operator,.token.entity,.token.url,.language-css .token.string,.style .token.string{color:#d73a49}:is(.dark *) .token.operator,:is(.dark *) .token.entity,:is(.dark *) .token.url,:is(.dark *) .language-css .token.string,:is(.dark *) .style .token.string{color:#ff7b72}.token.atrule,.token.attr-value,.token.keyword{color:#d73a49}:is(.dark *) .token.atrule,:is(.dark *) .token.attr-value,:is(.dark *) .token.keyword{color:#ff7b72}.token.function,.token.class-name{color:#6f42c1}:is(.dark *) .token.function,:is(.dark *) .token.class-name{color:#d2a8ff}.token.regex,.token.important,.token.variable{color:#e36209}:is(.dark *) .token.regex,:is(.dark *) .token.important,:is(.dark *) .token.variable{color:#ffa657}._list_sdpe2_1{display:flex;flex-direction:column;gap:.25rem;font-size:.875rem;color:#6b7280;font-weight:500}.dark ._list_sdpe2_1{color:#9ca3af}._listItem_sdpe2_14{position:relative}._activeIndicator_sdpe2_18{position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:9999px;background-color:#643fb2}.dark ._activeIndicator_sdpe2_18{background-color:#c9aaf9}._link_sdpe2_32{display:block;padding-left:1.5rem;line-height:1.625;transition:color .15s;text-decoration:none}._linkActive_sdpe2_40{color:#643fb2}.dark ._linkActive_sdpe2_40{color:#c9aaf9}._linkInactive_sdpe2_48:hover{color:#111827}.dark ._linkInactive_sdpe2_48:hover{color:#d1d5db}._container_19j54_1{display:flex;align-items:center;flex-shrink:0}._mainButton_19j54_7{border-radius:.75rem;padding:.375rem .75rem;border:1px solid #e5e7eb;background-color:#fff;color:#374151;cursor:pointer;display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500}._mainButton_19j54_7:hover{background-color:#4b55630d}.dark ._mainButton_19j54_7{border-color:#ffffff12;background-color:#1a1a1a;color:#d1d5db}.dark ._mainButton_19j54_7:hover{background-color:#e5e7eb0d}._mainButton_19j54_7._split_19j54_35{border-top-right-radius:0;border-bottom-right-radius:0;border-right:0}._mainButton_19j54_7._copied_19j54_41{color:#6b7280}.dark ._mainButton_19j54_7._copied_19j54_41{color:#9ca3af}._buttonContent_19j54_49{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;color:#242424}.dark ._buttonContent_19j54_49{color:#dbdbdb}._icon_19j54_62{width:1.25rem;height:1.25rem;color:#424242}.dark ._icon_19j54_62{color:#b2b2b2}._dropdownToggle_19j54_72{border-radius:0;border-top-right-radius:.75rem;border-bottom-right-radius:.75rem;padding:.375rem .5rem;border:1px solid #e5e7eb;background-color:#fff;color:#374151;cursor:pointer}._dropdownToggle_19j54_72:hover{background-color:#4b55630d}.dark ._dropdownToggle_19j54_72{border-color:#ffffff12;background-color:#1a1a1a;color:#d1d5db}.dark ._dropdownToggle_19j54_72:hover{background-color:#e5e7eb0d}._chevron_19j54_97{width:1rem;height:1rem;transition:transform .15s}._chevron_19j54_97._open_19j54_103{transform:rotate(180deg)}._dropdownWrapper_19j54_107{position:relative}._dropdown_19j54_72{position:absolute;right:0;top:100%;margin-top:.25rem;z-index:50;max-height:420px;padding:.375rem;min-width:240px;border:1px solid #e5e7eb;background-color:#fff;border-radius:.75rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;overflow-y:auto}.dark ._dropdown_19j54_72{border-color:#ffffff12;background-color:#1a1a1a}._dropdownItem_19j54_133{width:100%;display:flex;align-items:center;gap:.75rem;padding:.5rem .625rem;cursor:pointer;border-radius:.75rem;transition:background-color .15s;border:none;background:none}._dropdownItem_19j54_133:hover{background-color:#4b55630d}.dark ._dropdownItem_19j54_133:hover{background-color:#e5e7eb0d}._dropdownIconWrapper_19j54_154{border:1px solid #e5e7eb;border-radius:.5rem;padding:.25rem;flex-shrink:0}.dark ._dropdownIconWrapper_19j54_154{border-color:#ffffff12}._dropdownIcon_19j54_154{width:1.25rem;height:1.25rem;color:#424242}.dark ._dropdownIcon_19j54_154{color:#b2b2b2}._dropdownItemContent_19j54_175{display:flex;flex-direction:column;flex:1;min-width:0;text-align:left}._dropdownItemTitle_19j54_183{font-size:.875rem;font-weight:500;color:#1f2937;display:flex;align-items:center;gap:.375rem}.dark ._dropdownItemTitle_19j54_183{color:#d1d5db}._externalIcon_19j54_196{width:.75rem;height:.75rem;color:#6b7280;flex-shrink:0}.dark ._externalIcon_19j54_196{color:#9ca3af}._dropdownItemDescription_19j54_207{font-size:.75rem;color:#6b7280;margin-top:.125rem}.dark ._dropdownItemDescription_19j54_207{color:#9ca3af}@media (max-width: 640px){._dropdown_19j54_72{right:auto;left:0;transform:translate(-123px)}}._pageContainer_1nz8v_1{padding-right:.5rem;background-color:#f0f0f0}.dark ._pageContainer_1nz8v_1{background-color:#0f0f0f}._sidebar_1nz8v_10{position:fixed;z-index:10;left:0;top:3.5rem;bottom:0;width:16.5rem;overflow-y:auto}@media (max-width: 1023px){._sidebar_1nz8v_10{display:none}}@media (min-width: 1024px){._sidebar_1nz8v_10{display:block}}._sidebarInner_1nz8v_32{padding:1.5rem}._mainWrapper_1nz8v_36{display:flex;border-radius:1rem;height:calc(100vh - 4.5rem)}._mainContent_1nz8v_42{flex:1;padding:2rem;overflow-y:auto;border-radius:1rem;background-color:#fff;border:1px solid rgba(229,231,235,.7);scrollbar-gutter:stable}@media (min-width: 1024px){._mainContent_1nz8v_42{margin-left:16.5rem;padding-left:4rem;padding-right:4rem;padding-top:3rem}}.dark ._mainContent_1nz8v_42{background-color:#1f1f1f;border-color:#ffffff12}._contentWrapper_1nz8v_66{display:flex;flex-direction:row-reverse;gap:3rem;justify-content:center;margin-left:auto;margin-right:auto;width:100%}._tocSidebar_1nz8v_76{width:16rem;flex-shrink:0;margin-left:2rem}@media (max-width: 1279px){._tocSidebar_1nz8v_76{display:none}}@media (min-width: 1280px){._tocSidebar_1nz8v_76{display:block}}._tocInner_1nz8v_94{position:sticky;top:.5rem;padding:0 .5rem 1.5rem;max-height:calc(100vh - 3.5rem);overflow-y:auto}._tocHeader_1nz8v_102{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}._tocIcon_1nz8v_109{width:1rem;height:1rem;color:#4b5563}.dark ._tocIcon_1nz8v_109{color:#9ca3af}._tocTitle_1nz8v_119{font-size:.875rem;font-weight:600;color:#141414}.dark ._tocTitle_1nz8v_119{color:#fff}._contentArea_1nz8v_129{width:100%;overflow-x:visible;max-width:42rem}._header_1nz8v_135{margin-bottom:2rem}._headerInner_1nz8v_139{margin-bottom:1rem}._headerContent_1nz8v_143{display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}@media (min-width: 640px){._headerContent_1nz8v_143{flex-direction:row;align-items:center;gap:1rem}}._title_1nz8v_158{font-size:1.875rem;font-weight:700;color:#141414;margin:0;line-height:1.2}._contextMenu_1nz8v_166{margin-left:auto}@media (max-width: 639px){._contextMenu_1nz8v_166{margin-left:0}}.dark ._title_1nz8v_158{color:#fff}._description_1nz8v_180{font-size:1.125rem;color:#4b5563}.dark ._description_1nz8v_180{color:#d1d5db}._pivotContainer_1nz8v_189{margin-bottom:1.5rem;display:flex;flex-wrap:wrap;gap:1rem}._pivotSelector_1nz8v_196{display:flex;align-items:center;gap:.5rem;font-size:.875rem}._mdxContent_1nz8v_203{padding-top:1rem}._container_gmrx7_1{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem;background-color:#f3f4f6;border-radius:.5rem}.dark ._container_gmrx7_1{background-color:#ffffff0d}._button_gmrx7_14{position:relative;padding:.375rem .75rem;font-size:.875rem;font-weight:500;border-radius:.375rem;background:transparent;border:none;cursor:pointer;transition:all .15s}._button_gmrx7_14:focus{outline:none}._button_gmrx7_14:focus-visible{box-shadow:0 0 0 2px #3b82f6;outline-offset:2px}._buttonSelected_gmrx7_35{background-color:#fff;color:#141414;box-shadow:0 1px 2px #0000000d}.dark ._buttonSelected_gmrx7_35{background-color:#ffffff1a;color:#fff}._buttonUnselected_gmrx7_46{color:#4b5563}.dark ._buttonUnselected_gmrx7_46{color:#9ca3af}._buttonUnselected_gmrx7_46:hover{color:#141414;background-color:#ffffff80}.dark ._buttonUnselected_gmrx7_46:hover{color:#fff;background-color:#ffffff1a}._container_10m30_1{min-height:100vh;width:100%;background-color:#121212;overflow-x:hidden}._content_10m30_8{padding:.5rem .75rem .75rem;margin:0;white-space:pre-wrap;font-size:.875rem;color:#fff;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}._dialog_1y5d2_1{position:fixed;top:0;right:0;bottom:0;left:0;overflow-y:auto;z-index:50}@media (min-width: 1024px){._dialog_1y5d2_1{display:none}}._backdrop_1y5d2_14{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0003;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:opacity .3s ease-out}.dark ._backdrop_1y5d2_14{background-color:#000c}._backdrop_1y5d2_14[data-closed]{opacity:0}._container_1y5d2_30{position:fixed;top:0;right:0;bottom:0;left:0;display:flex}._panel_1y5d2_36{display:flex;flex-direction:column;position:relative;background-color:#fff;width:85vw;min-width:19rem;max-width:22rem;min-height:100%;transition:transform .1s ease-in-out}.dark ._panel_1y5d2_36{background-color:#0f0f0f}._panel_1y5d2_36[data-closed]{transform:translate(-100%)}._content_1y5d2_56{display:flex;flex-direction:column;flex:1;padding:1rem 1rem 3rem;overflow-y:auto;height:100%}._closeButton_1y5d2_67{position:absolute;background-color:#fff;border-radius:9999px;top:1rem;right:1rem;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer}.dark ._closeButton_1y5d2_67{background-color:#0f0f0f}._closeIcon_1y5d2_86{width:1rem;height:1rem;color:#6b7280}.dark ._closeIcon_1y5d2_86{color:#9ca3af}._closeIcon_1y5d2_86:hover{color:#4b5563}.dark ._closeIcon_1y5d2_86:hover{color:#d1d5db}._srOnly_1y5d2_104{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { convertHtmlToMdx as l } from "../parser/convert-html-to-mdx.js";
|
|
2
|
+
function i(e, n) {
|
|
3
|
+
return `# Documentation
|
|
4
|
+
|
|
5
|
+
## Docs
|
|
6
|
+
|
|
7
|
+
${e.map((t) => {
|
|
8
|
+
const o = t.payload.remoteContent.rawMetadata.title || t.title, r = `${n}/docs/${t.slug}`;
|
|
9
|
+
return `- [${o}](${r})`;
|
|
10
|
+
}).join(`
|
|
11
|
+
`)}`;
|
|
12
|
+
}
|
|
13
|
+
async function m(e, n) {
|
|
14
|
+
return (await Promise.all(
|
|
15
|
+
e.map(async (t) => {
|
|
16
|
+
try {
|
|
17
|
+
const { mdx: o } = await l(
|
|
18
|
+
t.payload.remoteContent.content,
|
|
19
|
+
{
|
|
20
|
+
metadata: {
|
|
21
|
+
...t.payload.remoteContent.rawMetadata,
|
|
22
|
+
zonePivots: t.payload.zonePivots
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
), r = t.payload.remoteContent.rawMetadata.title || t.title, s = `${n}/docs/${t.slug}`;
|
|
26
|
+
return `# ${r}
|
|
27
|
+
Source: ${s}
|
|
28
|
+
|
|
29
|
+
${o}
|
|
30
|
+
|
|
31
|
+
`;
|
|
32
|
+
} catch (o) {
|
|
33
|
+
return console.error(`Failed to process page ${t.slug}:`, o), "";
|
|
34
|
+
}
|
|
35
|
+
})
|
|
36
|
+
)).filter(Boolean).join(`
|
|
37
|
+
`);
|
|
38
|
+
}
|
|
39
|
+
export {
|
|
40
|
+
m as generateLlmsFullTxt,
|
|
41
|
+
i as generateLlmsTxt
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=generate-llms-txt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-llms-txt.js","sources":["../../src/utils/generate-llms-txt.ts"],"sourcesContent":["import { convertHtmlToMdx } from \"../parser/convert-html-to-mdx\";\n\nexport interface LlmsPageConfig {\n title: string;\n slug: string;\n payload: {\n remoteContent: {\n content: string;\n rawMetadata: {\n title?: string;\n };\n };\n zonePivots?: unknown;\n };\n}\n\nexport function generateLlmsTxt(\n pages: LlmsPageConfig[],\n baseUrl: string\n): string {\n const lines = pages.map((page) => {\n const title = page.payload.remoteContent.rawMetadata.title || page.title;\n const url = `${baseUrl}/docs/${page.slug}`;\n\n return `- [${title}](${url})`;\n });\n\n return `# Documentation\\n\\n## Docs\\n\\n${lines.join(\"\\n\")}`;\n}\n\nexport async function generateLlmsFullTxt(\n pages: LlmsPageConfig[],\n baseUrl: string\n): Promise<string> {\n const sections = await Promise.all(\n pages.map(async (page) => {\n try {\n const { mdx } = await convertHtmlToMdx(\n page.payload.remoteContent.content,\n {\n metadata: {\n ...page.payload.remoteContent.rawMetadata,\n zonePivots: page.payload.zonePivots,\n },\n }\n );\n\n const title =\n page.payload.remoteContent.rawMetadata.title || page.title;\n const sourceUrl = `${baseUrl}/docs/${page.slug}`;\n\n return `# ${title}\\nSource: ${sourceUrl}\\n\\n${mdx}\\n\\n`;\n } catch (error) {\n console.error(`Failed to process page ${page.slug}:`, error);\n return \"\";\n }\n })\n );\n\n return sections.filter(Boolean).join(\"\\n\");\n}\n"],"names":["generateLlmsTxt","pages","baseUrl","page","title","url","generateLlmsFullTxt","mdx","convertHtmlToMdx","sourceUrl","error"],"mappings":";AAgBO,SAASA,EACdC,GACAC,GACQ;AAQR,SAAO;AAAA;AAAA;AAAA;AAAA,EAPOD,EAAM,IAAI,CAACE,MAAS;AAChC,UAAMC,IAAQD,EAAK,QAAQ,cAAc,YAAY,SAASA,EAAK,OAC7DE,IAAM,GAAGH,CAAO,SAASC,EAAK,IAAI;AAExC,WAAO,MAAMC,CAAK,KAAKC,CAAG;AAAA,EAC5B,CAAC,EAE6C,KAAK;AAAA,CAAI,CAAC;AAC1D;AAEA,eAAsBC,EACpBL,GACAC,GACiB;AA0BjB,UAzBiB,MAAM,QAAQ;AAAA,IAC7BD,EAAM,IAAI,OAAOE,MAAS;AACxB,UAAI;AACF,cAAM,EAAE,KAAAI,EAAA,IAAQ,MAAMC;AAAA,UACpBL,EAAK,QAAQ,cAAc;AAAA,UAC3B;AAAA,YACE,UAAU;AAAA,cACR,GAAGA,EAAK,QAAQ,cAAc;AAAA,cAC9B,YAAYA,EAAK,QAAQ;AAAA,YAAA;AAAA,UAC3B;AAAA,QACF,GAGIC,IACJD,EAAK,QAAQ,cAAc,YAAY,SAASA,EAAK,OACjDM,IAAY,GAAGP,CAAO,SAASC,EAAK,IAAI;AAE9C,eAAO,KAAKC,CAAK;AAAA,UAAaK,CAAS;AAAA;AAAA,EAAOF,CAAG;AAAA;AAAA;AAAA,MACnD,SAASG,GAAO;AACd,uBAAQ,MAAM,0BAA0BP,EAAK,IAAI,KAAKO,CAAK,GACpD;AAAA,MACT;AAAA,IACF,CAAC;AAAA,EAAA,GAGa,OAAO,OAAO,EAAE,KAAK;AAAA,CAAI;AAC3C;"}
|