@mintlify/msft-sdk 1.1.1 → 1.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/content-components/callouts.js +35 -20
- package/dist/components/content-components/callouts.js.map +1 -1
- package/dist/components/content-components/code-block.js +87 -60
- package/dist/components/content-components/code-block.js.map +1 -1
- package/dist/components/content-components/default-components.js +52 -33
- package/dist/components/content-components/default-components.js.map +1 -1
- package/dist/components/content-components/details/details.js +28 -25
- package/dist/components/content-components/details/details.js.map +1 -1
- package/dist/components/content-components/heading.js +6 -1
- package/dist/components/content-components/heading.js.map +1 -1
- package/dist/components/content-components/home.js +256 -163
- package/dist/components/content-components/home.js.map +1 -1
- package/dist/components/content-components/link.js +7 -7
- package/dist/components/content-components/link.js.map +1 -1
- package/dist/components/content-components/param-name.js +4 -5
- package/dist/components/content-components/param-name.js.map +1 -1
- package/dist/components/content-components/table/index.js +101 -67
- package/dist/components/content-components/table/index.js.map +1 -1
- package/dist/components/content-components/table/table-modal.js +31 -32
- package/dist/components/content-components/table/table-modal.js.map +1 -1
- package/dist/components/content-components/tabs/tabs.js +51 -46
- package/dist/components/content-components/tabs/tabs.js.map +1 -1
- package/dist/components/content-components/zone-pivots/zone-pivot-selector.js +39 -36
- package/dist/components/content-components/zone-pivots/zone-pivot-selector.js.map +1 -1
- package/dist/components/mdx-renderer.js +16 -8
- package/dist/components/mdx-renderer.js.map +1 -1
- package/dist/components/nav-tree/dropdown-menu.js +40 -33
- package/dist/components/nav-tree/dropdown-menu.js.map +1 -1
- package/dist/components/nav-tree/index.js +121 -92
- package/dist/components/nav-tree/index.js.map +1 -1
- package/dist/components/nav-tree/mobile-nav.js +60 -41
- package/dist/components/nav-tree/mobile-nav.js.map +1 -1
- package/dist/components/page-context-menu.js +107 -90
- package/dist/components/page-context-menu.js.map +1 -1
- package/dist/components/page.js +108 -86
- package/dist/components/page.js.map +1 -1
- package/dist/components/plain-text-page.js +3 -4
- package/dist/components/plain-text-page.js.map +1 -1
- package/dist/components/toc/index.js +45 -42
- package/dist/components/toc/index.js.map +1 -1
- package/dist/context/components-context.js +17 -0
- package/dist/context/components-context.js.map +1 -0
- package/dist/index.d.ts +34 -5
- package/dist/index.js +109 -103
- package/dist/index.js.map +1 -1
- package/dist/node_modules/.pnpm/tailwind-merge@3.3.1/node_modules/tailwind-merge/dist/bundle-mjs.js +2732 -0
- package/dist/node_modules/.pnpm/tailwind-merge@3.3.1/node_modules/tailwind-merge/dist/bundle-mjs.js.map +1 -0
- package/dist/styles.css +1 -1
- package/dist/utils/cn.js +9 -0
- package/dist/utils/cn.js.map +1 -0
- package/package.json +5 -1
- package/dist/components/content-components/callouts.module.css.js +0 -26
- package/dist/components/content-components/callouts.module.css.js.map +0 -1
- package/dist/components/content-components/code-block.module.css.js +0 -32
- package/dist/components/content-components/code-block.module.css.js.map +0 -1
- package/dist/components/content-components/default-components.module.css.js +0 -12
- package/dist/components/content-components/default-components.module.css.js.map +0 -1
- package/dist/components/content-components/details/details.module.css.js +0 -20
- package/dist/components/content-components/details/details.module.css.js.map +0 -1
- package/dist/components/content-components/home.module.css.js +0 -74
- package/dist/components/content-components/home.module.css.js.map +0 -1
- package/dist/components/content-components/link.module.css.js +0 -10
- package/dist/components/content-components/link.module.css.js.map +0 -1
- package/dist/components/content-components/param-name.module.css.js +0 -8
- package/dist/components/content-components/param-name.module.css.js.map +0 -1
- package/dist/components/content-components/table/table-modal.module.css.js +0 -18
- package/dist/components/content-components/table/table-modal.module.css.js.map +0 -1
- package/dist/components/content-components/table/table.module.css.js +0 -30
- package/dist/components/content-components/table/table.module.css.js.map +0 -1
- package/dist/components/content-components/tabs/tabs.module.css.js +0 -24
- package/dist/components/content-components/tabs/tabs.module.css.js.map +0 -1
- package/dist/components/content-components/zone-pivots/zone-pivot-selector.module.css.js +0 -14
- package/dist/components/content-components/zone-pivots/zone-pivot-selector.module.css.js.map +0 -1
- package/dist/components/mdx-renderer.module.css.js +0 -8
- package/dist/components/mdx-renderer.module.css.js.map +0 -1
- package/dist/components/nav-tree/dropdown-menu.module.css.js +0 -52
- package/dist/components/nav-tree/dropdown-menu.module.css.js.map +0 -1
- package/dist/components/nav-tree/mobile-nav.module.css.js +0 -22
- package/dist/components/nav-tree/mobile-nav.module.css.js.map +0 -1
- package/dist/components/nav-tree/nav-tree.module.css.js +0 -50
- package/dist/components/nav-tree/nav-tree.module.css.js.map +0 -1
- package/dist/components/page-context-menu.module.css.js +0 -42
- package/dist/components/page-context-menu.module.css.js.map +0 -1
- package/dist/components/page.module.css.js +0 -52
- package/dist/components/page.module.css.js.map +0 -1
- package/dist/components/plain-text-page.module.css.js +0 -10
- package/dist/components/plain-text-page.module.css.js.map +0 -1
- package/dist/components/prose.module.css.js +0 -8
- package/dist/components/prose.module.css.js.map +0 -1
- package/dist/components/toc/toc.module.css.js +0 -18
- package/dist/components/toc/toc.module.css.js.map +0 -1
|
@@ -1,143 +1,160 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import { useState as
|
|
3
|
-
import { CopyRegular as
|
|
4
|
-
import { copyMarkdownToClipboard as
|
|
5
|
-
import
|
|
1
|
+
import { jsxs as i, jsx as e, Fragment as f } from "react/jsx-runtime";
|
|
2
|
+
import { useState as h, useRef as P, useEffect as w } from "react";
|
|
3
|
+
import { CopyRegular as k, MarkdownRegular as C, ChevronDownRegular as F, ArrowUpRightRegular as T, DocumentOnePageSparkleRegular as A, DocumentOnePageMultipleSparkleRegular as I } from "@fluentui/react-icons";
|
|
4
|
+
import { copyMarkdownToClipboard as S } from "../hooks/useMarkdownCopy.js";
|
|
5
|
+
import { cn as x } from "../utils/cn.js";
|
|
6
6
|
const B = ({
|
|
7
|
-
className:
|
|
7
|
+
className: v,
|
|
8
8
|
pathname: d,
|
|
9
|
-
markdownContent:
|
|
10
|
-
onCopyMarkdown:
|
|
11
|
-
onViewMarkdown:
|
|
12
|
-
allPages:
|
|
13
|
-
baseUrl:
|
|
9
|
+
markdownContent: u,
|
|
10
|
+
onCopyMarkdown: n,
|
|
11
|
+
onViewMarkdown: p,
|
|
12
|
+
allPages: N,
|
|
13
|
+
baseUrl: _
|
|
14
14
|
}) => {
|
|
15
|
-
const [
|
|
16
|
-
|
|
17
|
-
if (
|
|
15
|
+
const [r, s] = h(!1), [a, g] = h(!1), c = P(null);
|
|
16
|
+
w(() => {
|
|
17
|
+
if (a) {
|
|
18
18
|
const t = setTimeout(() => {
|
|
19
19
|
g(!1);
|
|
20
20
|
}, 2e3);
|
|
21
21
|
return () => clearTimeout(t);
|
|
22
22
|
}
|
|
23
|
-
}, [
|
|
24
|
-
const t = (
|
|
25
|
-
|
|
23
|
+
}, [a]), w(() => {
|
|
24
|
+
const t = (b) => {
|
|
25
|
+
c.current && !c.current.contains(b.target) && s(!1);
|
|
26
26
|
};
|
|
27
|
-
return
|
|
27
|
+
return r && document.addEventListener("mousedown", t), () => {
|
|
28
28
|
document.removeEventListener("mousedown", t);
|
|
29
29
|
};
|
|
30
|
-
}, [
|
|
30
|
+
}, [r]);
|
|
31
31
|
const R = async () => {
|
|
32
32
|
g(!0);
|
|
33
33
|
try {
|
|
34
|
-
if (
|
|
34
|
+
if (u) {
|
|
35
35
|
const t = new ClipboardItem({
|
|
36
|
-
"text/plain": new Blob([
|
|
36
|
+
"text/plain": new Blob([u], { type: "text/plain" })
|
|
37
37
|
});
|
|
38
|
-
await navigator.clipboard.write([t]),
|
|
38
|
+
await navigator.clipboard.write([t]), n == null || n();
|
|
39
39
|
} else
|
|
40
|
-
|
|
40
|
+
S({
|
|
41
41
|
pathname: d,
|
|
42
42
|
onSuccess: () => {
|
|
43
|
-
|
|
43
|
+
n == null || n();
|
|
44
44
|
}
|
|
45
45
|
});
|
|
46
46
|
} catch (t) {
|
|
47
47
|
console.error("Failed to copy markdown:", t);
|
|
48
48
|
}
|
|
49
|
+
}, y = () => {
|
|
50
|
+
p ? p(d) : window.open(`${d}.md`, "_blank");
|
|
49
51
|
}, L = () => {
|
|
50
|
-
f ? f(d) : window.open(`${d}.md`, "_blank");
|
|
51
|
-
}, $ = () => {
|
|
52
52
|
window.open("/docs/llms.txt", "_blank");
|
|
53
|
-
},
|
|
53
|
+
}, O = () => {
|
|
54
54
|
window.open("/docs/llms-full.txt", "_blank");
|
|
55
|
-
},
|
|
56
|
-
|
|
57
|
-
},
|
|
55
|
+
}, l = (t) => () => {
|
|
56
|
+
s(!1), t();
|
|
57
|
+
}, m = [
|
|
58
58
|
{
|
|
59
59
|
id: "copy",
|
|
60
60
|
title: "Copy Page",
|
|
61
61
|
description: "Copy page as markdown",
|
|
62
|
-
icon:
|
|
63
|
-
action:
|
|
62
|
+
icon: k,
|
|
63
|
+
action: l(R)
|
|
64
64
|
},
|
|
65
65
|
{
|
|
66
66
|
id: "view",
|
|
67
67
|
title: "View as Markdown",
|
|
68
68
|
description: "View this page as plain text",
|
|
69
|
-
icon:
|
|
70
|
-
action:
|
|
69
|
+
icon: C,
|
|
70
|
+
action: l(y),
|
|
71
71
|
externalLink: !0
|
|
72
72
|
}
|
|
73
73
|
];
|
|
74
|
-
|
|
74
|
+
N && _ && (m.push({
|
|
75
75
|
id: "llms",
|
|
76
76
|
title: "View llms.txt",
|
|
77
77
|
description: "View generated llms.txt file",
|
|
78
|
-
icon:
|
|
79
|
-
action:
|
|
78
|
+
icon: A,
|
|
79
|
+
action: l(L),
|
|
80
80
|
externalLink: !0
|
|
81
|
-
}),
|
|
81
|
+
}), m.push({
|
|
82
82
|
id: "llms-full",
|
|
83
83
|
title: "View llms-full.txt",
|
|
84
84
|
description: "Generated llms-full.txt file",
|
|
85
|
-
icon:
|
|
86
|
-
action:
|
|
85
|
+
icon: I,
|
|
86
|
+
action: l(O),
|
|
87
87
|
externalLink: !0
|
|
88
88
|
}));
|
|
89
|
-
const
|
|
90
|
-
return /* @__PURE__ */
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
89
|
+
const o = m[0];
|
|
90
|
+
return /* @__PURE__ */ i(
|
|
91
|
+
"div",
|
|
92
|
+
{
|
|
93
|
+
className: x(
|
|
94
|
+
"mint:flex mint:items-center mint:flex-shrink-0",
|
|
95
|
+
v
|
|
96
|
+
),
|
|
97
|
+
ref: c,
|
|
98
|
+
children: [
|
|
99
|
+
/* @__PURE__ */ e(
|
|
100
|
+
"button",
|
|
101
|
+
{
|
|
102
|
+
className: x(
|
|
103
|
+
"mint:rounded-xl mint:py-1.5 mint:px-3 mint:border mint:border-[#e5e7eb] mint:dark:border-[rgba(255,255,255,0.07)] mint:bg-white mint:dark:bg-[#1a1a1a] mint:text-[#374151] mint:dark:text-[#d1d5db] mint:cursor-pointer mint:flex mint:items-center mint:gap-2 mint:text-sm mint:font-medium mint:hover:bg-[rgba(75,85,99,0.05)] mint:dark:hover:bg-[rgba(229,231,235,0.05)]",
|
|
104
|
+
m.length > 1 && "mint:rounded-tr-none mint:rounded-br-none mint:border-r-0",
|
|
105
|
+
a && "mint:text-[#6b7280] mint:dark:text-[#9ca3af]"
|
|
106
|
+
),
|
|
107
|
+
onClick: () => {
|
|
108
|
+
o.action();
|
|
109
|
+
},
|
|
110
|
+
children: /* @__PURE__ */ e("div", { className: "mint:flex mint:items-center mint:gap-2 mint:text-sm mint:font-medium mint:text-[#242424] mint:dark:text-[#dbdbdb]", children: o.id === "copy" ? /* @__PURE__ */ i(f, { children: [
|
|
111
|
+
/* @__PURE__ */ e(k, { className: "mint:w-5 mint:h-5 mint:text-[#424242] mint:dark:text-[#b2b2b2]" }),
|
|
112
|
+
/* @__PURE__ */ e("span", { children: a ? "Copied" : "Copy Page" })
|
|
113
|
+
] }) : /* @__PURE__ */ i(f, { children: [
|
|
114
|
+
/* @__PURE__ */ e(o.icon, { className: "mint:w-5 mint:h-5 mint:text-[#424242] mint:dark:text-[#b2b2b2]" }),
|
|
115
|
+
/* @__PURE__ */ e("span", { children: o.title })
|
|
116
|
+
] }) })
|
|
117
|
+
}
|
|
118
|
+
),
|
|
119
|
+
m.length > 1 && /* @__PURE__ */ i("div", { className: "mint:relative", children: [
|
|
120
|
+
/* @__PURE__ */ e(
|
|
121
|
+
"button",
|
|
115
122
|
{
|
|
116
|
-
className:
|
|
123
|
+
className: "mint:rounded-none mint:rounded-tr-xl mint:rounded-br-xl mint:py-1.5 mint:px-2 mint:border mint:border-[#e5e7eb] mint:dark:border-[rgba(255,255,255,0.07)] mint:bg-white mint:dark:bg-[#1a1a1a] mint:text-[#374151] mint:dark:text-[#d1d5db] mint:cursor-pointer mint:hover:bg-[rgba(75,85,99,0.05)] mint:dark:hover:bg-[rgba(229,231,235,0.05)]",
|
|
124
|
+
onClick: () => s(!r),
|
|
125
|
+
children: /* @__PURE__ */ e(
|
|
126
|
+
F,
|
|
127
|
+
{
|
|
128
|
+
className: x(
|
|
129
|
+
"mint:w-4 mint:h-4 mint:transition-transform mint:duration-150",
|
|
130
|
+
r && "mint:rotate-180"
|
|
131
|
+
)
|
|
132
|
+
}
|
|
133
|
+
)
|
|
117
134
|
}
|
|
118
|
-
)
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
135
|
+
),
|
|
136
|
+
r && /* @__PURE__ */ e("div", { className: "mint:absolute mint:right-0 mint:top-full mint:mt-1 mint:z-50 mint:max-h-[420px] mint:py-1.5 mint:min-w-[240px] mint:border mint:border-[#e5e7eb] mint:dark:border-[rgba(255,255,255,0.07)] mint:bg-white mint:dark:bg-[#1a1a1a] mint:rounded-xl mint:shadow-[0_20px_25px_-5px_rgba(0,0,0,0.1),0_10px_10px_-5px_rgba(0,0,0,0.04)] mint:overflow-y-auto", children: m.map((t, b) => /* @__PURE__ */ i(
|
|
137
|
+
"button",
|
|
138
|
+
{
|
|
139
|
+
onClick: t.action,
|
|
140
|
+
className: "mint:w-full mint:flex mint:items-center mint:gap-3 mint:py-2 mint:px-2.5 mint:cursor-pointer mint:rounded-xl mint:transition-colors mint:duration-150 mint:border-none mint:bg-none mint:hover:bg-[rgba(75,85,99,0.05)] mint:dark:hover:bg-[rgba(229,231,235,0.05)]",
|
|
141
|
+
children: [
|
|
142
|
+
/* @__PURE__ */ e("div", { className: "mint:border mint:border-[#e5e7eb] mint:dark:border-[rgba(255,255,255,0.07)] mint:rounded-lg mint:p-1 mint:flex-shrink-0", children: /* @__PURE__ */ e(t.icon, { className: "mint:w-5 mint:h-5 mint:text-[#424242] mint:dark:text-[#b2b2b2]" }) }),
|
|
143
|
+
/* @__PURE__ */ i("div", { className: "mint:flex mint:flex-col mint:flex-1 mint:min-w-0 mint:text-left", children: [
|
|
144
|
+
/* @__PURE__ */ i("div", { className: "mint:text-sm mint:font-medium mint:text-[#1f2937] mint:dark:text-[#d1d5db] mint:flex mint:items-center mint:gap-1.5", children: [
|
|
145
|
+
t.title,
|
|
146
|
+
t.externalLink && /* @__PURE__ */ e(T, { className: "mint:w-3 mint:h-3 mint:text-[#6b7280] mint:dark:text-[#9ca3af] mint:flex-shrink-0" })
|
|
147
|
+
] }),
|
|
148
|
+
/* @__PURE__ */ e("div", { className: "mint:text-xs mint:text-[#6b7280] mint:dark:text-[#9ca3af] mint:mt-0.5", children: t.description })
|
|
149
|
+
] })
|
|
150
|
+
]
|
|
151
|
+
},
|
|
152
|
+
t.id + b
|
|
153
|
+
)) })
|
|
154
|
+
] })
|
|
155
|
+
]
|
|
156
|
+
}
|
|
157
|
+
);
|
|
141
158
|
};
|
|
142
159
|
export {
|
|
143
160
|
B as PageContextMenu
|
|
@@ -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 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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"}
|
|
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 { cn } from \"../utils/cn\";\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\n className={cn(\n \"mint:flex mint:items-center mint:flex-shrink-0\",\n className\n )}\n ref={dropdownRef}\n >\n <button\n className={cn(\n \"mint:rounded-xl mint:py-1.5 mint:px-3 mint:border mint:border-[#e5e7eb] mint:dark:border-[rgba(255,255,255,0.07)] mint:bg-white mint:dark:bg-[#1a1a1a] mint:text-[#374151] mint:dark:text-[#d1d5db] mint:cursor-pointer mint:flex mint:items-center mint:gap-2 mint:text-sm mint:font-medium mint:hover:bg-[rgba(75,85,99,0.05)] mint:dark:hover:bg-[rgba(229,231,235,0.05)]\",\n options.length > 1 &&\n \"mint:rounded-tr-none mint:rounded-br-none mint:border-r-0\",\n isCopied && \"mint:text-[#6b7280] mint:dark:text-[#9ca3af]\"\n )}\n onClick={() => {\n void firstOption.action();\n }}\n >\n <div className=\"mint:flex mint:items-center mint:gap-2 mint:text-sm mint:font-medium mint:text-[#242424] mint:dark:text-[#dbdbdb]\">\n {firstOption.id === \"copy\" ? (\n <>\n <CopyRegular className=\"mint:w-5 mint:h-5 mint:text-[#424242] mint:dark:text-[#b2b2b2]\" />\n <span>{isCopied ? \"Copied\" : \"Copy Page\"}</span>\n </>\n ) : (\n <>\n <firstOption.icon className=\"mint:w-5 mint:h-5 mint:text-[#424242] mint:dark:text-[#b2b2b2]\" />\n <span>{firstOption.title}</span>\n </>\n )}\n </div>\n </button>\n\n {options.length > 1 && (\n <div className=\"mint:relative\">\n <button\n className=\"mint:rounded-none mint:rounded-tr-xl mint:rounded-br-xl mint:py-1.5 mint:px-2 mint:border mint:border-[#e5e7eb] mint:dark:border-[rgba(255,255,255,0.07)] mint:bg-white mint:dark:bg-[#1a1a1a] mint:text-[#374151] mint:dark:text-[#d1d5db] mint:cursor-pointer mint:hover:bg-[rgba(75,85,99,0.05)] mint:dark:hover:bg-[rgba(229,231,235,0.05)]\"\n onClick={() => setIsOpen(!isOpen)}\n >\n <ChevronDownRegular\n className={cn(\n \"mint:w-4 mint:h-4 mint:transition-transform mint:duration-150\",\n isOpen && \"mint:rotate-180\"\n )}\n />\n </button>\n\n {isOpen && (\n <div className=\"mint:absolute mint:right-0 mint:top-full mint:mt-1 mint:z-50 mint:max-h-[420px] mint:py-1.5 mint:min-w-[240px] mint:border mint:border-[#e5e7eb] mint:dark:border-[rgba(255,255,255,0.07)] mint:bg-white mint:dark:bg-[#1a1a1a] mint:rounded-xl mint:shadow-[0_20px_25px_-5px_rgba(0,0,0,0.1),0_10px_10px_-5px_rgba(0,0,0,0.04)] mint:overflow-y-auto\">\n {options.map((option, index) => (\n <button\n key={option.id + index}\n onClick={option.action}\n className=\"mint:w-full mint:flex mint:items-center mint:gap-3 mint:py-2 mint:px-2.5 mint:cursor-pointer mint:rounded-xl mint:transition-colors mint:duration-150 mint:border-none mint:bg-none mint:hover:bg-[rgba(75,85,99,0.05)] mint:dark:hover:bg-[rgba(229,231,235,0.05)]\"\n >\n <div className=\"mint:border mint:border-[#e5e7eb] mint:dark:border-[rgba(255,255,255,0.07)] mint:rounded-lg mint:p-1 mint:flex-shrink-0\">\n <option.icon className=\"mint:w-5 mint:h-5 mint:text-[#424242] mint:dark:text-[#b2b2b2]\" />\n </div>\n <div className=\"mint:flex mint:flex-col mint:flex-1 mint:min-w-0 mint:text-left\">\n <div className=\"mint:text-sm mint:font-medium mint:text-[#1f2937] mint:dark:text-[#d1d5db] mint:flex mint:items-center mint:gap-1.5\">\n {option.title}\n {option.externalLink && (\n <ArrowUpRightRegular className=\"mint:w-3 mint:h-3 mint:text-[#6b7280] mint:dark:text-[#9ca3af] mint:flex-shrink-0\" />\n )}\n </div>\n <div className=\"mint:text-xs mint:text-[#6b7280] mint:dark:text-[#9ca3af] mint:mt-0.5\">\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","cn","jsx","Fragment","ChevronDownRegular","option","index","ArrowUpRightRegular"],"mappings":"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"}
|
package/dist/components/page.js
CHANGED
|
@@ -1,98 +1,120 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { MDXRenderer as
|
|
3
|
-
import { NavTree as
|
|
4
|
-
import { TableOfContents as
|
|
5
|
-
import { PivotAwareTOC as
|
|
6
|
-
import { TextAlignLeftFilled as
|
|
1
|
+
import { jsx as t, jsxs as m } from "react/jsx-runtime";
|
|
2
|
+
import { MDXRenderer as P } from "./mdx-renderer.js";
|
|
3
|
+
import { NavTree as C } from "./nav-tree/index.js";
|
|
4
|
+
import { TableOfContents as T } from "./toc/index.js";
|
|
5
|
+
import { PivotAwareTOC as j } from "./toc/pivot-aware-toc.js";
|
|
6
|
+
import { TextAlignLeftFilled as z } from "@fluentui/react-icons";
|
|
7
7
|
import { PageContextMenu as O } from "./page-context-menu.js";
|
|
8
|
-
import
|
|
8
|
+
import { ComponentsProvider as A } from "../context/components-context.js";
|
|
9
|
+
import { cn as l } from "../utils/cn.js";
|
|
9
10
|
/* empty css */
|
|
10
|
-
import { ZonePivotProvider as
|
|
11
|
-
import { ZonePivotSelector as
|
|
12
|
-
function
|
|
13
|
-
payload:
|
|
14
|
-
toc:
|
|
15
|
-
navTree:
|
|
16
|
-
dropdown:
|
|
17
|
-
activeHref:
|
|
18
|
-
theme:
|
|
19
|
-
className:
|
|
11
|
+
import { ZonePivotProvider as D } from "./content-components/zone-pivots/zone-pivot-context.js";
|
|
12
|
+
import { ZonePivotSelector as E } from "./content-components/zone-pivots/zone-pivot-selector.js";
|
|
13
|
+
function B({
|
|
14
|
+
payload: i,
|
|
15
|
+
toc: n,
|
|
16
|
+
navTree: a,
|
|
17
|
+
dropdown: h,
|
|
18
|
+
activeHref: f,
|
|
19
|
+
theme: x,
|
|
20
|
+
className: p = "",
|
|
20
21
|
pathname: o,
|
|
21
22
|
markdownContent: g,
|
|
22
|
-
allPages:
|
|
23
|
-
baseUrl:
|
|
24
|
-
bottomLinks:
|
|
23
|
+
allPages: v,
|
|
24
|
+
baseUrl: w,
|
|
25
|
+
bottomLinks: k,
|
|
26
|
+
LinkComponent: u
|
|
25
27
|
}) {
|
|
26
|
-
var
|
|
27
|
-
const
|
|
28
|
-
return /* @__PURE__ */
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
id: "main-content",
|
|
42
|
-
className: `${e.mainContent} ${l ? e.mainContentNoTopPadding : ""}`,
|
|
43
|
-
children: /* @__PURE__ */ i(S, { groups: s, children: /* @__PURE__ */ n("div", { className: e.contentWrapper, children: [
|
|
44
|
-
r && r.length > 0 && /* @__PURE__ */ i("aside", { className: e.tocSidebar, children: /* @__PURE__ */ n("div", { className: e.tocInner, children: [
|
|
45
|
-
/* @__PURE__ */ n("div", { className: e.tocHeader, children: [
|
|
46
|
-
/* @__PURE__ */ i(A, { className: e.tocIcon }),
|
|
47
|
-
/* @__PURE__ */ i("h2", { className: e.tocTitle, children: "On this page" })
|
|
48
|
-
] }),
|
|
49
|
-
a && Object.keys(a).length > 0 ? /* @__PURE__ */ i(
|
|
50
|
-
$,
|
|
28
|
+
var c, d;
|
|
29
|
+
const N = i.serializedContent, e = ((c = i.mdxExtracts) == null ? void 0 : c.zonePivotGroups) || [], r = (d = i.mdxExtracts) == null ? void 0 : d.pivotTocItems, s = !i.title;
|
|
30
|
+
return /* @__PURE__ */ t(A, { LinkComponent: u, children: /* @__PURE__ */ t("div", { className: l(x === "dark" && "dark", p), children: /* @__PURE__ */ m(
|
|
31
|
+
"div",
|
|
32
|
+
{
|
|
33
|
+
id: "page-container",
|
|
34
|
+
className: "mint:pr-2 mint:bg-[#f0f0f0] mint:dark:bg-[#0f0f0f]",
|
|
35
|
+
children: [
|
|
36
|
+
a && /* @__PURE__ */ t(
|
|
37
|
+
"aside",
|
|
38
|
+
{
|
|
39
|
+
className: "mint:fixed mint:z-10 mint:left-0 mint:top-14 mint:bottom-0 mint:w-[16.5rem] mint:overflow-hidden max-mint:lg:hidden mint:lg:block",
|
|
40
|
+
"aria-label": "Sidebar navigation",
|
|
41
|
+
children: /* @__PURE__ */ t("div", { className: "mint:p-4 mint:h-full mint:flex mint:flex-col", children: /* @__PURE__ */ t(
|
|
42
|
+
C,
|
|
51
43
|
{
|
|
52
|
-
|
|
53
|
-
|
|
44
|
+
navTree: a,
|
|
45
|
+
dropdown: h,
|
|
46
|
+
activeHref: f,
|
|
47
|
+
bottomLinks: k
|
|
54
48
|
}
|
|
55
|
-
)
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
)
|
|
75
|
-
] }),
|
|
76
|
-
t.description && /* @__PURE__ */ i("p", { className: e.description, children: t.description })
|
|
77
|
-
] }) }),
|
|
78
|
-
s.length > 0 && /* @__PURE__ */ i("div", { className: e.pivotContainer, children: s.map((h) => /* @__PURE__ */ i(
|
|
79
|
-
W,
|
|
49
|
+
) })
|
|
50
|
+
}
|
|
51
|
+
),
|
|
52
|
+
/* @__PURE__ */ t("div", { className: "mint:flex mint:rounded-2xl mint:h-[calc(100vh-4.5rem)]", children: /* @__PURE__ */ t(
|
|
53
|
+
"div",
|
|
54
|
+
{
|
|
55
|
+
id: "main-content",
|
|
56
|
+
className: l(
|
|
57
|
+
"mint:flex-1 mint:p-8 mint:overflow-y-auto mint:overflow-x-hidden mint:rounded-2xl mint:bg-white mint:dark:bg-[#1f1f1f] mint:border mint:border-[rgba(229,231,235,0.7)] mint:dark:border-[rgba(255,255,255,0.07)] [scrollbar-gutter:stable] mint:overscroll-contain mint:lg:ml-[16.5rem] mint:lg:px-16 mint:lg:pt-12 [scrollbar-width:thin] [scrollbar-color:rgba(0,0,0,0.2)_transparent] dark:[scrollbar-color:rgba(255,255,255,0.2)_transparent] mint:[&::-webkit-scrollbar]:w-1 mint:[&::-webkit-scrollbar-track]:bg-transparent mint:[&::-webkit-scrollbar-thumb]:bg-black/20 mint:dark:[&::-webkit-scrollbar-thumb]:bg-white/20 mint:[&::-webkit-scrollbar-thumb]:rounded mint:[&::-webkit-scrollbar-thumb:hover]:bg-black/30 mint:dark:[&::-webkit-scrollbar-thumb:hover]:bg-white/30",
|
|
58
|
+
s && "!mint:pt-0"
|
|
59
|
+
),
|
|
60
|
+
children: /* @__PURE__ */ t(D, { groups: e, children: /* @__PURE__ */ m("div", { className: "mint:flex mint:flex-row-reverse mint:gap-12 mint:justify-center mint:mx-auto mint:w-full", children: [
|
|
61
|
+
n && n.length > 0 && /* @__PURE__ */ t("aside", { className: "mint:w-64 mint:flex-shrink-0 mint:ml-8 mint:max-xl:hidden mint:xl:block", children: /* @__PURE__ */ m("div", { className: "mint:sticky mint:top-2 mint:p-2 mint:pb-6 mint:max-h-[calc(100vh-3.5rem)] mint:overflow-y-auto", children: [
|
|
62
|
+
/* @__PURE__ */ m("div", { className: "mint:flex mint:items-center mint:gap-2 mint:mb-4", children: [
|
|
63
|
+
/* @__PURE__ */ t(z, { className: "mint:w-4 mint:h-4 mint:text-[#4b5563] mint:dark:text-[#9ca3af]" }),
|
|
64
|
+
/* @__PURE__ */ t("h2", { className: "mint:text-sm mint:font-semibold mint:text-[#141414] mint:dark:text-white", children: "On this page" })
|
|
65
|
+
] }),
|
|
66
|
+
r && Object.keys(r).length > 0 ? /* @__PURE__ */ t(
|
|
67
|
+
j,
|
|
80
68
|
{
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
69
|
+
baseToc: n,
|
|
70
|
+
pivotTocItems: r
|
|
71
|
+
}
|
|
72
|
+
) : /* @__PURE__ */ t(T, { toc: n })
|
|
73
|
+
] }) }),
|
|
74
|
+
/* @__PURE__ */ m(
|
|
75
|
+
"div",
|
|
76
|
+
{
|
|
77
|
+
className: l(
|
|
78
|
+
"mint:w-full mint:overflow-x-visible mint:max-w-[42rem]",
|
|
79
|
+
s && "!mint:max-w-none"
|
|
80
|
+
),
|
|
81
|
+
children: [
|
|
82
|
+
i.title && /* @__PURE__ */ t("header", { className: "mint:mb-8", children: /* @__PURE__ */ m("div", { className: "mint:mb-4", children: [
|
|
83
|
+
/* @__PURE__ */ m("div", { className: "mint:flex mint:flex-col mint:gap-2 mint:items-start mint:sm:flex-row mint:sm:items-center mint:sm:gap-4", children: [
|
|
84
|
+
/* @__PURE__ */ t("h1", { className: "mint:text-[1.875rem] mint:font-bold mint:text-[#141414] mint:dark:text-white mint:m-0 mint:leading-[1.2]", children: i.title }),
|
|
85
|
+
o && /* @__PURE__ */ t(
|
|
86
|
+
O,
|
|
87
|
+
{
|
|
88
|
+
className: "mint:ml-auto max-mint:sm:ml-0",
|
|
89
|
+
pathname: o,
|
|
90
|
+
markdownContent: g,
|
|
91
|
+
allPages: v,
|
|
92
|
+
baseUrl: w
|
|
93
|
+
}
|
|
94
|
+
)
|
|
95
|
+
] }),
|
|
96
|
+
i.description && /* @__PURE__ */ t("p", { className: "mint:text-lg mint:text-[#4b5563] mint:dark:text-[#d1d5db]", children: i.description })
|
|
97
|
+
] }) }),
|
|
98
|
+
e.length > 0 && /* @__PURE__ */ t("div", { className: "mint:mb-6 mint:flex mint:flex-wrap mint:gap-4", children: e.map((b) => /* @__PURE__ */ t(
|
|
99
|
+
E,
|
|
100
|
+
{
|
|
101
|
+
group: b,
|
|
102
|
+
className: "mint:flex mint:items-center mint:gap-2 mint:text-sm"
|
|
103
|
+
},
|
|
104
|
+
b.id
|
|
105
|
+
)) }),
|
|
106
|
+
/* @__PURE__ */ t("div", { className: "mint:pt-4", children: /* @__PURE__ */ t(P, { children: /* @__PURE__ */ t(N, {}) }) })
|
|
107
|
+
]
|
|
108
|
+
}
|
|
109
|
+
)
|
|
110
|
+
] }) })
|
|
111
|
+
}
|
|
112
|
+
) })
|
|
113
|
+
]
|
|
114
|
+
}
|
|
115
|
+
) }) });
|
|
94
116
|
}
|
|
95
117
|
export {
|
|
96
|
-
|
|
118
|
+
B as DocsPage
|
|
97
119
|
};
|
|
98
120
|
//# 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 allPages,\n baseUrl,\n bottomLinks,\n}: DocsPageProps) {\n const Content = payload.serializedContent;\n const zonePivotGroups = payload.mdxExtracts?.zonePivotGroups || [];\n const pivotTocItems = payload.mdxExtracts?.pivotTocItems;\n\n // Check if we should use full width (no title means likely a custom component like Home)\n const isFullWidth = !payload.title;\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 bottomLinks={bottomLinks}\n />\n </div>\n </aside>\n )}\n\n <div className={styles.mainWrapper}>\n <div\n id=\"main-content\"\n className={`${styles.mainContent} ${\n isFullWidth ? styles.mainContentNoTopPadding : \"\"\n }`}\n >\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\n className={`${styles.contentArea} ${\n isFullWidth ? styles.contentAreaFullWidth : \"\"\n }`}\n >\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 </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","bottomLinks","Content","zonePivotGroups","_a","pivotTocItems","_b","isFullWidth","jsxs","styles","jsx","NavTree","ZonePivotProvider","TextAlignLeftFilled","PivotAwareTOC","TableOfContents","PageContextMenu","group","ZonePivotSelector","MDXRenderer"],"mappings":"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"}
|
|
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 { ComponentsProvider } from \"../context/components-context\";\nimport { cn } from \"../utils/cn\";\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 bottomLinks,\n LinkComponent,\n}: DocsPageProps) {\n const Content = payload.serializedContent;\n const zonePivotGroups = payload.mdxExtracts?.zonePivotGroups || [];\n const pivotTocItems = payload.mdxExtracts?.pivotTocItems;\n\n // Check if we should use full width (no title means likely a custom component like Home)\n const isFullWidth = !payload.title;\n\n return (\n <ComponentsProvider LinkComponent={LinkComponent}>\n <div className={cn(theme === \"dark\" && \"dark\", className)}>\n <div\n id=\"page-container\"\n className=\"mint:pr-2 mint:bg-[#f0f0f0] mint:dark:bg-[#0f0f0f]\"\n >\n {navTree && (\n <aside\n className=\"mint:fixed mint:z-10 mint:left-0 mint:top-14 mint:bottom-0 mint:w-[16.5rem] mint:overflow-hidden max-mint:lg:hidden mint:lg:block\"\n aria-label=\"Sidebar navigation\"\n >\n <div className=\"mint:p-4 mint:h-full mint:flex mint:flex-col\">\n <NavTree\n navTree={navTree}\n dropdown={dropdown}\n activeHref={activeHref}\n bottomLinks={bottomLinks}\n />\n </div>\n </aside>\n )}\n\n <div className=\"mint:flex mint:rounded-2xl mint:h-[calc(100vh-4.5rem)]\">\n <div\n id=\"main-content\"\n className={cn(\n \"mint:flex-1 mint:p-8 mint:overflow-y-auto mint:overflow-x-hidden mint:rounded-2xl mint:bg-white mint:dark:bg-[#1f1f1f] mint:border mint:border-[rgba(229,231,235,0.7)] mint:dark:border-[rgba(255,255,255,0.07)] [scrollbar-gutter:stable] mint:overscroll-contain mint:lg:ml-[16.5rem] mint:lg:px-16 mint:lg:pt-12 [scrollbar-width:thin] [scrollbar-color:rgba(0,0,0,0.2)_transparent] dark:[scrollbar-color:rgba(255,255,255,0.2)_transparent] mint:[&::-webkit-scrollbar]:w-1 mint:[&::-webkit-scrollbar-track]:bg-transparent mint:[&::-webkit-scrollbar-thumb]:bg-black/20 mint:dark:[&::-webkit-scrollbar-thumb]:bg-white/20 mint:[&::-webkit-scrollbar-thumb]:rounded mint:[&::-webkit-scrollbar-thumb:hover]:bg-black/30 mint:dark:[&::-webkit-scrollbar-thumb:hover]:bg-white/30\",\n isFullWidth && \"!mint:pt-0\"\n )}\n >\n <ZonePivotProvider groups={zonePivotGroups}>\n <div className=\"mint:flex mint:flex-row-reverse mint:gap-12 mint:justify-center mint:mx-auto mint:w-full\">\n {toc && toc.length > 0 && (\n <aside className=\"mint:w-64 mint:flex-shrink-0 mint:ml-8 mint:max-xl:hidden mint:xl:block\">\n <div className=\"mint:sticky mint:top-2 mint:p-2 mint:pb-6 mint:max-h-[calc(100vh-3.5rem)] mint:overflow-y-auto\">\n <div className=\"mint:flex mint:items-center mint:gap-2 mint:mb-4\">\n <TextAlignLeftFilled className=\"mint:w-4 mint:h-4 mint:text-[#4b5563] mint:dark:text-[#9ca3af]\" />\n <h2 className=\"mint:text-sm mint:font-semibold mint:text-[#141414] mint:dark:text-white\">\n On this page\n </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\n className={cn(\n \"mint:w-full mint:overflow-x-visible mint:max-w-[42rem]\",\n isFullWidth && \"!mint:max-w-none\"\n )}\n >\n {payload.title && (\n <header className=\"mint:mb-8\">\n <div className=\"mint:mb-4\">\n <div className=\"mint:flex mint:flex-col mint:gap-2 mint:items-start mint:sm:flex-row mint:sm:items-center mint:sm:gap-4\">\n <h1 className=\"mint:text-[1.875rem] mint:font-bold mint:text-[#141414] mint:dark:text-white mint:m-0 mint:leading-[1.2]\">\n {payload.title}\n </h1>\n {pathname && (\n <PageContextMenu\n className=\"mint:ml-auto max-mint:sm:ml-0\"\n pathname={pathname}\n markdownContent={markdownContent}\n allPages={allPages}\n baseUrl={baseUrl}\n />\n )}\n </div>\n {payload.description && (\n <p className=\"mint:text-lg mint:text-[#4b5563] mint:dark:text-[#d1d5db]\">\n {payload.description}\n </p>\n )}\n </div>\n </header>\n )}\n\n {zonePivotGroups.length > 0 && (\n <div className=\"mint:mb-6 mint:flex mint:flex-wrap mint:gap-4\">\n {zonePivotGroups.map((group) => (\n <ZonePivotSelector\n key={group.id}\n group={group}\n className=\"mint:flex mint:items-center mint:gap-2 mint:text-sm\"\n />\n ))}\n </div>\n )}\n\n <div className=\"mint:pt-4\">\n <MDXRenderer>\n <Content />\n </MDXRenderer>\n </div>\n </div>\n </div>\n </ZonePivotProvider>\n </div>\n </div>\n </div>\n </div>\n </ComponentsProvider>\n );\n}\n"],"names":["DocsPage","payload","toc","navTree","dropdown","activeHref","theme","className","pathname","markdownContent","allPages","baseUrl","bottomLinks","LinkComponent","Content","zonePivotGroups","_a","pivotTocItems","_b","isFullWidth","jsx","ComponentsProvider","cn","jsxs","NavTree","ZonePivotProvider","TextAlignLeftFilled","PivotAwareTOC","TableOfContents","PageContextMenu","group","ZonePivotSelector","MDXRenderer"],"mappings":"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"}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { jsx as o } from "react/jsx-runtime";
|
|
2
2
|
import { useEffect as n } from "react";
|
|
3
|
-
|
|
4
|
-
function l({ content: t }) {
|
|
3
|
+
function r({ content: e }) {
|
|
5
4
|
return n(() => (document.body.style.backgroundColor = "#121212", document.body.style.margin = "0", document.body.style.overflowX = "hidden", document.documentElement.style.backgroundColor = "#121212", () => {
|
|
6
5
|
document.body.style.backgroundColor = "", document.body.style.margin = "", document.body.style.overflowX = "", document.documentElement.style.backgroundColor = "";
|
|
7
|
-
}), []), /* @__PURE__ */ o("div", { className:
|
|
6
|
+
}), []), /* @__PURE__ */ o("div", { className: "mint:min-h-screen mint:w-full mint:bg-[#121212] mint:overflow-x-hidden", children: /* @__PURE__ */ o("pre", { className: "mint:px-3 mint:pb-3 mint:pt-2 mint:m-0 mint:whitespace-pre-wrap mint:text-sm mint:text-white mint:font-[ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,'Liberation_Mono','Courier_New',monospace]", children: e }) });
|
|
8
7
|
}
|
|
9
8
|
export {
|
|
10
|
-
|
|
9
|
+
r as PlainTextPage
|
|
11
10
|
};
|
|
12
11
|
//# sourceMappingURL=plain-text-page.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plain-text-page.js","sources":["../../src/components/plain-text-page.tsx"],"sourcesContent":["import { useEffect } from \"react\";\
|
|
1
|
+
{"version":3,"file":"plain-text-page.js","sources":["../../src/components/plain-text-page.tsx"],"sourcesContent":["import { useEffect } from \"react\";\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=\"mint:min-h-screen mint:w-full mint:bg-[#121212] mint:overflow-x-hidden\">\n <pre className=\"mint:px-3 mint:pb-3 mint:pt-2 mint:m-0 mint:whitespace-pre-wrap mint:text-sm mint:text-white mint:font-[ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,'Liberation_Mono','Courier_New',monospace]\">\n {content}\n </pre>\n </div>\n );\n}\n"],"names":["PlainTextPage","content","useEffect","jsx"],"mappings":";;AAMO,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,SAAI,WAAU,0EACb,4BAAC,OAAA,EAAI,WAAU,wMACZ,UAAAF,EAAA,CACH,EAAA,CACF;AAEJ;"}
|