@mintlify/msft-sdk 1.1.47 → 1.1.49
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/api-playground/EndpointFields/ParamFields/RecursiveParamField.js +7 -6
- package/dist/api-playground/EndpointFields/ParamFields/RecursiveParamField.js.map +1 -1
- package/dist/api-playground/EndpointFields/index.js +4 -3
- package/dist/api-playground/EndpointFields/index.js.map +1 -1
- package/dist/components/Api/Markdown.js +36 -40
- package/dist/components/Api/Markdown.js.map +1 -1
- package/dist/components/content-components/all-components.js +25 -23
- package/dist/components/content-components/all-components.js.map +1 -1
- package/dist/components/content-components/callouts.js +12 -5
- package/dist/components/content-components/callouts.js.map +1 -1
- package/dist/components/content-components/latex.js +30 -0
- package/dist/components/content-components/latex.js.map +1 -0
- package/dist/components/mdx-renderer.js +1 -9
- package/dist/components/mdx-renderer.js.map +1 -1
- package/dist/components/nav-tree/index.js +80 -67
- package/dist/components/nav-tree/index.js.map +1 -1
- package/dist/index.d.ts +11 -0
- package/dist/index.js +59 -55
- package/dist/index.js.map +1 -1
- package/dist/parser/convert-html-to-mdx.js +17 -16
- package/dist/parser/convert-html-to-mdx.js.map +1 -1
- package/dist/parser/serialize-mdx.js +17 -15
- package/dist/parser/serialize-mdx.js.map +1 -1
- package/dist/plugins/sanitize/rehype-latex.js +31 -0
- package/dist/plugins/sanitize/rehype-latex.js.map +1 -0
- package/dist/plugins/sanitize/rehype-pre-to-mdx-fence.js +13 -13
- package/dist/plugins/sanitize/rehype-pre-to-mdx-fence.js.map +1 -1
- package/dist/plugins/sanitize/rehype-remark.js +4 -3
- package/dist/plugins/sanitize/rehype-remark.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +4 -1
|
@@ -2,14 +2,14 @@ import { jsxs as a, jsx as e, Fragment as I } from "react/jsx-runtime";
|
|
|
2
2
|
import C, { useRef as M, useEffect as z, useState as W } from "react";
|
|
3
3
|
import { useComponents as L } from "../../context/components-context.js";
|
|
4
4
|
/* empty css */
|
|
5
|
-
import { cn as
|
|
5
|
+
import { cn as h } from "../../utils/cn.js";
|
|
6
6
|
import { MethodPill as j } from "../Api/MethodPill.js";
|
|
7
7
|
function _({ isExpanded: n }) {
|
|
8
8
|
return /* @__PURE__ */ e(
|
|
9
9
|
"svg",
|
|
10
10
|
{
|
|
11
|
-
className:
|
|
12
|
-
"mint:w-[
|
|
11
|
+
className: h(
|
|
12
|
+
"mint:w-[12px] mint:h-[12px] mint:shrink-0 mint:text-[#707070] mint:dark:text-[#999999]",
|
|
13
13
|
n ? "mint:rotate-90" : "mint:rotate-0"
|
|
14
14
|
),
|
|
15
15
|
fill: "none",
|
|
@@ -20,24 +20,24 @@ function _({ isExpanded: n }) {
|
|
|
20
20
|
}
|
|
21
21
|
);
|
|
22
22
|
}
|
|
23
|
-
const S = "mint:bg-[#e6e6e6] mint:dark:bg-[#2e2e2e] mint:text-[#242424] mint:dark:text-[#ffffff] mint:font
|
|
23
|
+
const S = "mint:bg-[#e6e6e6] mint:dark:bg-[#2e2e2e] mint:text-[#242424] mint:dark:text-[#ffffff] mint:font";
|
|
24
24
|
function E({ item: n, activeId: g, level: u = 0, activeHref: s }) {
|
|
25
25
|
const b = n.children && n.children.length > 0, v = (i) => i ? i.startsWith("/") ? i : `/${i}` : "", x = (i, r) => {
|
|
26
26
|
if (!i || !r) return !1;
|
|
27
|
-
const o = v(i),
|
|
28
|
-
return o ===
|
|
27
|
+
const o = v(i), N = v(r);
|
|
28
|
+
return o === N || o.replace("/docs/", "/") === N.replace("/docs/", "/") || o === N.replace("/docs/", "/") || o.replace("/docs/", "/") === N;
|
|
29
29
|
}, k = (i) => x(i.href, s) ? !0 : i.children ? i.children.some(k) : !1, $ = u === 0 ? !0 : (n.expanded ?? !1) || b && k(n), [c, t] = W($);
|
|
30
30
|
z(() => {
|
|
31
31
|
b && k(n) && t(!0);
|
|
32
32
|
}, [s]);
|
|
33
|
-
const { LinkComponent: f } = L(), d = !n.href,
|
|
33
|
+
const { LinkComponent: f } = L(), d = !n.href, l = n.href && (x(n.href, g) || x(n.href, s)), p = n.icon;
|
|
34
34
|
if (d && u === 0)
|
|
35
35
|
return /* @__PURE__ */ a("div", { id: "nav-group", role: "group", "aria-label": n.toc_title, children: [
|
|
36
|
-
/* @__PURE__ */ a("div", { className: "mint:text-
|
|
37
|
-
|
|
36
|
+
/* @__PURE__ */ a("div", { className: "mint:text-sm mint:text-[#242424] mint:dark:text-[#ffffff] mint:mb-2 mint:flex mint:items-start mint:gap-2 mint:pl-3", children: [
|
|
37
|
+
p && /* @__PURE__ */ e(p, { className: "mint:w-5 mint:h-5", "aria-hidden": "true" }),
|
|
38
38
|
/* @__PURE__ */ e("span", { children: n.toc_title })
|
|
39
39
|
] }),
|
|
40
|
-
b && n.children && /* @__PURE__ */ e("ul", { className: "mint:flex mint:flex-col mint:pl-0 mint:mt-0", role: "list", children: n.children.map((i, r) => /* @__PURE__ */ e(
|
|
40
|
+
b && n.children && /* @__PURE__ */ e("ul", { className: "mint:flex mint:flex-col mint:pl-0 mint:mt-0 mint:gap-0.5", role: "list", children: n.children.map((i, r) => /* @__PURE__ */ e(
|
|
41
41
|
E,
|
|
42
42
|
{
|
|
43
43
|
item: i,
|
|
@@ -57,25 +57,32 @@ function E({ item: n, activeId: g, level: u = 0, activeHref: s }) {
|
|
|
57
57
|
onClick: () => t(!c),
|
|
58
58
|
"aria-expanded": c,
|
|
59
59
|
"aria-label": `${c ? "Collapse" : "Expand"} ${n.toc_title} section`,
|
|
60
|
-
className: "mint:relative mint:text-left mint:w-full mint:flex mint:items-center mint:justify-between mint:py-2 mint:px-3 mint:text-sm mint:rounded-lg mint:bg-transparent mint:border-none mint:cursor-pointer mint:text-[#
|
|
60
|
+
className: "mint:relative mint:text-left mint:w-full mint:flex mint:items-center mint:justify-between mint:py-2 mint:px-3 mint:text-sm mint:rounded-lg mint:bg-transparent mint:border-none mint:cursor-pointer mint:text-[#707070] mint:dark:text-[#999999] mint:hover:bg-[rgba(0,0,0,0.06)] mint:hover:text-[#242424] mint:dark:hover:bg-[rgba(128,128,128,0.05)] mint:dark:hover:text-[#ffffff] mint:focus-visible:outline-2 mint:focus-visible:outline-[#643fb2] mint:focus-visible:outline-offset-2",
|
|
61
61
|
children: [
|
|
62
62
|
/* @__PURE__ */ e("span", { className: "mint:flex-1 mint:min-w-0", children: n.toc_title }),
|
|
63
63
|
/* @__PURE__ */ e(_, { isExpanded: !!c })
|
|
64
64
|
]
|
|
65
65
|
}
|
|
66
66
|
),
|
|
67
|
-
b && c && n.children && /* @__PURE__ */ e(
|
|
68
|
-
|
|
67
|
+
b && c && n.children && /* @__PURE__ */ e(
|
|
68
|
+
"ul",
|
|
69
69
|
{
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
70
|
+
className: "mint:ml-3 mint:flex mint:flex-col mint:pl-0 mint:mt-0 mint:gap-0.5",
|
|
71
|
+
role: "group",
|
|
72
|
+
children: n.children.map((i, r) => /* @__PURE__ */ e(
|
|
73
|
+
E,
|
|
74
|
+
{
|
|
75
|
+
item: i,
|
|
76
|
+
activeId: g,
|
|
77
|
+
level: u + 1,
|
|
78
|
+
activeHref: s
|
|
79
|
+
},
|
|
80
|
+
`${i.href}-${r}`
|
|
81
|
+
))
|
|
82
|
+
}
|
|
83
|
+
)
|
|
77
84
|
] });
|
|
78
|
-
const
|
|
85
|
+
const m = f || "a";
|
|
79
86
|
return b ? /* @__PURE__ */ a("li", { className: "mint:list-none", children: [
|
|
80
87
|
/* @__PURE__ */ a(
|
|
81
88
|
"button",
|
|
@@ -84,39 +91,45 @@ function E({ item: n, activeId: g, level: u = 0, activeHref: s }) {
|
|
|
84
91
|
onClick: () => t(!c),
|
|
85
92
|
"aria-expanded": c,
|
|
86
93
|
"aria-label": `${c ? "Collapse" : "Expand"} ${n.toc_title} section`,
|
|
87
|
-
className:
|
|
88
|
-
"mint:font-aptos mint:relative mint:text-left mint:w-full mint:flex mint:items-center mint:justify-between mint:gap-2 mint:py-2 mint:px-3 mint:text-[14px] mint:font-normal mint:rounded-xl mint:bg-transparent mint:border-none mint:cursor-pointer mint:text-[#
|
|
89
|
-
|
|
94
|
+
className: h(
|
|
95
|
+
"mint:font-aptos mint:relative mint:text-left mint:w-full mint:flex mint:items-center mint:justify-between mint:gap-2 mint:py-2 mint:px-3 mint:text-[14px] mint:font-normal mint:rounded-xl mint:bg-transparent mint:border-none mint:cursor-pointer mint:text-[#707070] mint:dark:text-[#999999] mint:focus-visible:outline-2 mint:focus-visible:outline-[#643fb2] mint:focus-visible:outline-offset-2",
|
|
96
|
+
l ? S : "mint:hover:bg-[rgba(0,0,0,0.06)] mint:hover:text-[#242424] mint:dark:hover:bg-[rgba(128,128,128,0.05)] mint:dark:hover:text-[#ffffff]"
|
|
90
97
|
),
|
|
91
98
|
children: [
|
|
92
|
-
/* @__PURE__ */ e("span", { className: "mint:flex-1 mint:min-w-0", children: n.toc_title }),
|
|
99
|
+
/* @__PURE__ */ e("span", { className: "mint:flex-1 mint:min-w-0 mint:font-aptos", children: n.toc_title }),
|
|
93
100
|
/* @__PURE__ */ e(_, { isExpanded: !!c })
|
|
94
101
|
]
|
|
95
102
|
}
|
|
96
103
|
),
|
|
97
|
-
c && n.children && /* @__PURE__ */ e(
|
|
98
|
-
|
|
104
|
+
c && n.children && /* @__PURE__ */ e(
|
|
105
|
+
"ul",
|
|
99
106
|
{
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
+
className: "mint:ml-3 mint:flex mint:flex-col mint:pl-0 mint:mt-0 mint:gap-0.5",
|
|
108
|
+
role: "group",
|
|
109
|
+
children: n.children.map((i, r) => /* @__PURE__ */ e(
|
|
110
|
+
E,
|
|
111
|
+
{
|
|
112
|
+
item: i,
|
|
113
|
+
activeId: g,
|
|
114
|
+
level: u + 1,
|
|
115
|
+
activeHref: s
|
|
116
|
+
},
|
|
117
|
+
`${i.href}-${r}`
|
|
118
|
+
))
|
|
119
|
+
}
|
|
120
|
+
)
|
|
107
121
|
] }) : /* @__PURE__ */ e("li", { className: "mint:list-none", children: /* @__PURE__ */ a(
|
|
108
|
-
|
|
122
|
+
m,
|
|
109
123
|
{
|
|
110
124
|
id: "nav-item",
|
|
111
125
|
href: n.href,
|
|
112
|
-
"aria-current":
|
|
113
|
-
className:
|
|
114
|
-
"mint:relative mint:flex mint:items-center mint:gap-2 mint:py-2 mint:px-3 mint:text-[14px] mint:font-normal mint:rounded-xl mint:no-underline mint:text-[#
|
|
115
|
-
|
|
126
|
+
"aria-current": l ? "page" : void 0,
|
|
127
|
+
className: h(
|
|
128
|
+
"mint:relative mint:flex mint:items-center mint:gap-2 mint:py-2 mint:px-3 mint:text-[14px] mint:font-normal mint:rounded-xl mint:no-underline mint:text-[#707070] mint:dark:text-[#999999] mint:focus-visible:outline-2 mint:focus-visible:outline-[#643fb2] mint:focus-visible:outline-offset-2 mint:[&_span]:flex-1",
|
|
129
|
+
l ? S : "mint:hover:bg-[rgba(0,0,0,0.06)] mint:hover:text-[#242424] mint:dark:hover:bg-[rgba(128,128,128,0.05)] mint:dark:hover:text-[#ffffff]"
|
|
116
130
|
),
|
|
117
131
|
children: [
|
|
118
|
-
|
|
119
|
-
n.method && /* @__PURE__ */ e(j, { isActive: !!m, method: n.method, shortMethod: !0 }),
|
|
132
|
+
n.method && /* @__PURE__ */ e(j, { isActive: !!l, method: n.method, shortMethod: !0 }),
|
|
120
133
|
n.toc_title
|
|
121
134
|
]
|
|
122
135
|
}
|
|
@@ -139,16 +152,16 @@ function G({
|
|
|
139
152
|
if (f)
|
|
140
153
|
t.scrollTop = parseInt(f, 10);
|
|
141
154
|
else {
|
|
142
|
-
const
|
|
143
|
-
const r = m
|
|
155
|
+
const l = (m) => m ? m.startsWith("/") ? m : `/${m}` : "", p = (m, i) => {
|
|
156
|
+
const r = l(m), o = l(i);
|
|
144
157
|
return r === o || r.replace("/docs/", "/") === o.replace("/docs/", "/") || r === o.replace("/docs/", "/") || r.replace("/docs/", "/") === o;
|
|
145
158
|
};
|
|
146
159
|
requestAnimationFrame(() => {
|
|
147
|
-
const
|
|
160
|
+
const m = t.querySelectorAll("a[href]");
|
|
148
161
|
let i = null;
|
|
149
|
-
for (const r of Array.from(
|
|
162
|
+
for (const r of Array.from(m)) {
|
|
150
163
|
const o = r.getAttribute("href");
|
|
151
|
-
if (o &&
|
|
164
|
+
if (o && p(o, s)) {
|
|
152
165
|
i = r;
|
|
153
166
|
break;
|
|
154
167
|
}
|
|
@@ -171,7 +184,7 @@ function G({
|
|
|
171
184
|
"nav",
|
|
172
185
|
{
|
|
173
186
|
id: "nav-tree",
|
|
174
|
-
className:
|
|
187
|
+
className: h(
|
|
175
188
|
"mint:flex mint:flex-col mint:h-full mint:min-h-0",
|
|
176
189
|
u,
|
|
177
190
|
b === "dark" && "dark"
|
|
@@ -183,45 +196,45 @@ function G({
|
|
|
183
196
|
{
|
|
184
197
|
id: "nav-tree-content",
|
|
185
198
|
ref: $,
|
|
186
|
-
className:
|
|
199
|
+
className: h(
|
|
187
200
|
"mint:flex-1 mint:overflow-y-auto mint:overflow-x-hidden mint:min-h-0 mint:[scrollbar-gutter:stable] mint:md:px-4 mint:[scrollbar-width:thin] mint:[scrollbar-color:rgba(0,0,0,0.2)_transparent] mint: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 mint:space-y-6 mint:py-4"
|
|
188
201
|
),
|
|
189
202
|
children: [
|
|
190
203
|
x && x.length > 0 && /* @__PURE__ */ e("div", { id: "nav-anchors", className: "mint:shrink-0 mint:w-full mint:mb-3", children: /* @__PURE__ */ e("div", { className: "mint:flex mint:flex-col", children: x.map((t, f) => {
|
|
191
|
-
const d = t.icon,
|
|
204
|
+
const d = t.icon, l = (m) => m ? m.startsWith("/") ? m : `/${m}` : "", p = (() => {
|
|
192
205
|
if (!s || !t.href) return !1;
|
|
193
|
-
const
|
|
194
|
-
return r === o || r.startsWith(o + "/") ? x.filter((
|
|
195
|
-
if (!
|
|
196
|
-
const A =
|
|
206
|
+
const m = l(s), i = l(t.href), r = m.replace(/\/$/, ""), o = i.replace(/\/$/, "");
|
|
207
|
+
return r === o || r.startsWith(o + "/") ? x.filter((w) => {
|
|
208
|
+
if (!w.href) return !1;
|
|
209
|
+
const A = l(w.href).replace(/\/$/, "");
|
|
197
210
|
return r === A || r.startsWith(A + "/");
|
|
198
|
-
}).reduce((
|
|
199
|
-
const A =
|
|
211
|
+
}).reduce((w, y) => {
|
|
212
|
+
const A = l(w.href || "").replace(
|
|
200
213
|
/\/$/,
|
|
201
214
|
""
|
|
202
215
|
);
|
|
203
|
-
return
|
|
216
|
+
return l(y.href || "").replace(
|
|
204
217
|
/\/$/,
|
|
205
218
|
""
|
|
206
|
-
).length > A.length ? y :
|
|
219
|
+
).length > A.length ? y : w;
|
|
207
220
|
}, t) === t : !1;
|
|
208
221
|
})();
|
|
209
222
|
return /* @__PURE__ */ a(
|
|
210
223
|
c,
|
|
211
224
|
{
|
|
212
225
|
href: t.href,
|
|
213
|
-
"aria-current":
|
|
214
|
-
className:
|
|
226
|
+
"aria-current": p ? "page" : void 0,
|
|
227
|
+
className: h(
|
|
215
228
|
"mint:group mint:relative mint:flex mint:items-start mint:gap-2 mint:py-2 mint:px-3 mint:text-sm mint:rounded-lg mint:no-underline mint:focus-visible:outline-2 mint:focus-visible:outline-[#643fb2] mint:focus-visible:outline-offset-2 mint:hover:text-[#141414] mint:dark:hover:text-[#e5e7eb]",
|
|
216
|
-
|
|
229
|
+
p ? "mint:text-[#141414] mint:dark:text-[#ffffff]" : "mint:text-[#242424] mint:dark:text-[#adadad]"
|
|
217
230
|
),
|
|
218
231
|
children: [
|
|
219
232
|
d && /* @__PURE__ */ e(
|
|
220
233
|
d,
|
|
221
234
|
{
|
|
222
|
-
className:
|
|
235
|
+
className: h(
|
|
223
236
|
"mint:w-5 mint:h-5 mint:shrink-0",
|
|
224
|
-
|
|
237
|
+
p ? "mint:text-[#8251ee] mint:dark:text-[#9263f1]" : "mint:text-[#6b7280] mint:dark:text-[#adadad] mint:group-hover:text-[#8251ee] mint:dark:group-hover:text-[#9263f1]"
|
|
225
238
|
)
|
|
226
239
|
}
|
|
227
240
|
),
|
|
@@ -229,9 +242,9 @@ function G({
|
|
|
229
242
|
/* @__PURE__ */ e(
|
|
230
243
|
"span",
|
|
231
244
|
{
|
|
232
|
-
className:
|
|
245
|
+
className: h(
|
|
233
246
|
"mint:font-medium",
|
|
234
|
-
|
|
247
|
+
p ? "mint:text-[#8251ee] mint:dark:text-[#9263f1] mint:font-semibold" : "mint:text-[#141414] mint:dark:text-[#ffffff] mint:group-hover:text-[#8251ee] mint:dark:group-hover:text-[#9263f1]"
|
|
235
248
|
),
|
|
236
249
|
children: t.title
|
|
237
250
|
}
|
|
@@ -263,13 +276,13 @@ function G({
|
|
|
263
276
|
children: [
|
|
264
277
|
/* @__PURE__ */ e("div", { className: "mint:h-[0.5px] mint:w-full mint:bg-[#d1d1d1] mint:dark:bg-[#666666]" }),
|
|
265
278
|
/* @__PURE__ */ e("div", { className: "mint:flex mint:flex-col mint:py-3 mint:px-4", children: v.map((t, f) => {
|
|
266
|
-
var
|
|
279
|
+
var l;
|
|
267
280
|
const d = t.icon;
|
|
268
281
|
return t.component ? /* @__PURE__ */ e("div", { children: C.isValidElement(t.component) ? C.cloneElement(t.component, {
|
|
269
282
|
...t.component.props,
|
|
270
|
-
className:
|
|
283
|
+
className: h(
|
|
271
284
|
"mint:flex mint:items-center mint:py-2 mint:gap-2 mint:text-sm mint:text-[#242424] mint:dark:text-[#adadad] mint:hover:text-[#141414] mint:dark:hover:text-[#e5e7eb] mint:px-2 mint:cursor-pointer",
|
|
272
|
-
(
|
|
285
|
+
(l = t.component.props) == null ? void 0 : l.className
|
|
273
286
|
),
|
|
274
287
|
children: /* @__PURE__ */ a(I, { children: [
|
|
275
288
|
/* @__PURE__ */ e(d, { className: "mint:w-5 mint:h-5 mint:shrink-0" }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/components/nav-tree/index.tsx"],"sourcesContent":["import React, { useState, useRef, useEffect } from 'react';\n\nimport { useComponents } from '../../context/components-context';\nimport '../../styles.css';\nimport type { NavItem, NavTreeData, AnchorConfig } from '../../types';\nimport { cn } from '../../utils/cn';\nimport { MethodPill } from '../Api/MethodPill';\n\nexport { MobileNavTree } from './mobile-nav';\nexport type { MobileNavTreeProps } from './mobile-nav';\nexport type { AnchorConfig } from '../../types';\n\nexport interface BottomLinkConfig {\n href?: string;\n label: string;\n icon: React.ComponentType<{ className?: string }>;\n component?: React.ReactNode;\n}\n\ninterface NavTreeProps {\n navTree: NavTreeData;\n activeId?: string;\n className?: string;\n activeHref?: string;\n theme?: 'light' | 'dark' | 'system';\n bottomLinks?: BottomLinkConfig[];\n anchors?: AnchorConfig[];\n}\n\ninterface TreeItemProps {\n item: NavItem;\n activeId?: string;\n level?: number;\n activeHref?: string;\n}\n\nfunction ChevronIcon({ isExpanded }: { isExpanded: boolean }) {\n return (\n <svg\n className={cn(\n 'mint:w-[16px] mint:h-[16px] mint:shrink-0 mint:text-[#6b7280] mint:dark:text-[#adadad]',\n isExpanded ? 'mint:rotate-90' : 'mint:rotate-0'\n )}\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n aria-hidden=\"true\"\n >\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M9 5l7 7-7 7\" />\n </svg>\n );\n}\n\nconst ACTIVE_ITEM_CLASSES =\n 'mint:bg-[#e6e6e6] mint:dark:bg-[#2e2e2e] mint:text-[#242424] mint:dark:text-[#ffffff] mint:font-semibold';\n\nfunction TreeItemComponent({ item, activeId, level = 0, activeHref }: TreeItemProps) {\n const hasChildren = item.children && item.children.length > 0;\n\n const normalizeHref = (href?: string): string => {\n if (!href) return '';\n const normalized = href.startsWith('/') ? href : `/${href}`;\n return normalized;\n };\n\n const compareHrefs = (href1?: string, href2?: string): boolean => {\n if (!href1 || !href2) return false;\n const norm1 = normalizeHref(href1);\n const norm2 = normalizeHref(href2);\n return (\n norm1 === norm2 ||\n norm1.replace('/docs/', '/') === norm2.replace('/docs/', '/') ||\n norm1 === norm2.replace('/docs/', '/') ||\n norm1.replace('/docs/', '/') === norm2\n );\n };\n\n const hasActiveChild = (navItem: NavItem): boolean => {\n if (compareHrefs(navItem.href, activeHref)) return true;\n if (navItem.children) {\n return navItem.children.some(hasActiveChild);\n }\n return false;\n };\n\n const shouldBeExpanded =\n level === 0 ? true : (item.expanded ?? false) || (hasChildren && hasActiveChild(item));\n const [isExpanded, setIsExpanded] = useState(shouldBeExpanded);\n\n useEffect(() => {\n if (hasChildren && hasActiveChild(item)) {\n setIsExpanded(true);\n }\n }, [activeHref]);\n\n const { LinkComponent } = useComponents();\n const isGroup = !item.href;\n const isActive =\n item.href && (compareHrefs(item.href, activeId) || compareHrefs(item.href, activeHref));\n const Icon = item.icon;\n\n if (isGroup && level === 0) {\n return (\n <div id=\"nav-group\" role=\"group\" aria-label={item.toc_title}>\n <div className=\"mint:text-xs mint:font-semibold mint:text-[#808080] mint:dark:text-[#adadad] mint:mb-2 mint:flex mint:items-start mint:gap-2 mint:pl-3\">\n {Icon && <Icon className=\"mint:w-5 mint:h-5\" aria-hidden=\"true\" />}\n <span>{item.toc_title}</span>\n </div>\n {hasChildren && item.children && (\n <ul className=\"mint:flex mint:flex-col mint:pl-0 mint:mt-0\" role=\"list\">\n {item.children.map((child, index) => (\n <TreeItemComponent\n key={`${child.href}-${index}`}\n item={child}\n activeId={activeId}\n level={level + 1}\n activeHref={activeHref}\n />\n ))}\n </ul>\n )}\n </div>\n );\n }\n\n if (isGroup && level > 0) {\n return (\n <li className=\"mint:list-none\">\n <button\n id=\"nav-group-toggle\"\n onClick={() => setIsExpanded(!isExpanded)}\n aria-expanded={isExpanded}\n aria-label={`${isExpanded ? 'Collapse' : 'Expand'} ${item.toc_title} section`}\n className=\"mint:relative mint:text-left mint:w-full mint:flex mint:items-center mint:justify-between mint:py-2 mint:px-3 mint:text-sm mint:rounded-lg mint:bg-transparent mint:border-none mint:cursor-pointer mint:text-[#242424] mint:dark:text-white mint:hover:bg-[rgba(0,0,0,0.06)] mint:hover:text-[#141414] mint:dark:hover:bg-[rgba(128,128,128,0.05)] mint:dark:hover:text-[#e5e7eb] mint:focus-visible:outline-2 mint:focus-visible:outline-[#643fb2] mint:focus-visible:outline-offset-2\"\n >\n <span className=\"mint:flex-1 mint:min-w-0\">{item.toc_title}</span>\n <ChevronIcon isExpanded={!!isExpanded} />\n </button>\n {hasChildren && isExpanded && item.children && (\n <ul className=\"mint:ml-3 mint:flex mint:flex-col mint:pl-0 mint:mt-0\" role=\"group\">\n {item.children.map((child, index) => (\n <TreeItemComponent\n key={`${child.href}-${index}`}\n item={child}\n activeId={activeId}\n level={level + 1}\n activeHref={activeHref}\n />\n ))}\n </ul>\n )}\n </li>\n );\n }\n\n const LinkElement = LinkComponent || 'a';\n\n if (hasChildren) {\n return (\n <li className=\"mint:list-none\">\n <button\n id=\"nav-item-toggle\"\n onClick={() => setIsExpanded(!isExpanded)}\n aria-expanded={isExpanded}\n aria-label={`${isExpanded ? 'Collapse' : 'Expand'} ${item.toc_title} section`}\n className={cn(\n 'mint:font-aptos mint:relative mint:text-left mint:w-full mint:flex mint:items-center mint:justify-between mint:gap-2 mint:py-2 mint:px-3 mint:text-[14px] mint:font-normal mint:rounded-xl mint:bg-transparent mint:border-none mint:cursor-pointer mint:text-[#242424] mint:dark:text-white mint:focus-visible:outline-2 mint:focus-visible:outline-[#643fb2] mint:focus-visible:outline-offset-2',\n isActive\n ? ACTIVE_ITEM_CLASSES\n : 'mint:hover:bg-[rgba(0,0,0,0.06)] mint:hover:text-[#141414] mint:dark:hover:bg-[rgba(128,128,128,0.05)] mint:dark:hover:text-[#e5e7eb]'\n )}\n >\n <span className=\"mint:flex-1 mint:min-w-0\">{item.toc_title}</span>\n <ChevronIcon isExpanded={!!isExpanded} />\n </button>\n {isExpanded && item.children && (\n <ul className=\"mint:ml-3 mint:flex mint:flex-col mint:pl-0 mint:mt-0\" role=\"group\">\n {item.children.map((child, index) => (\n <TreeItemComponent\n key={`${child.href}-${index}`}\n item={child}\n activeId={activeId}\n level={level + 1}\n activeHref={activeHref}\n />\n ))}\n </ul>\n )}\n </li>\n );\n }\n\n return (\n <li className=\"mint:list-none\">\n <LinkElement\n id=\"nav-item\"\n href={item.href}\n aria-current={isActive ? 'page' : undefined}\n className={cn(\n 'mint:relative mint:flex mint:items-center mint:gap-2 mint:py-2 mint:px-3 mint:text-[14px] mint:font-normal mint:rounded-xl mint:no-underline mint:text-[#242424] mint:dark:text-white mint:focus-visible:outline-2 mint:focus-visible:outline-[#643fb2] mint:focus-visible:outline-offset-2 mint:[&_span]:flex-1',\n isActive\n ? ACTIVE_ITEM_CLASSES\n : 'mint:hover:bg-[rgba(0,0,0,0.06)] mint:hover:text-[#141414] mint:dark:hover:bg-[rgba(128,128,128,0.05)] mint:dark:hover:text-[#e5e7eb]'\n )}\n >\n {isActive && (\n <div className=\"mint:absolute mint:left-0 mint:my-2.5 mint:rounded-full mint:w-[3px] mint:top-0 mint:bottom-0 mint:bg-[#8251ee] mint:dark:bg-[#9263f1]\"></div>\n )}\n {item.method && (\n <MethodPill isActive={!!isActive} method={item.method} shortMethod={true} />\n )}\n {item.toc_title}\n </LinkElement>\n </li>\n );\n}\n\nexport function NavTree({\n navTree,\n activeId,\n className = '',\n activeHref,\n theme,\n bottomLinks,\n anchors,\n}: NavTreeProps) {\n const { LinkComponent } = useComponents();\n const navContentRef = useRef<HTMLDivElement>(null);\n\n // Save and restore scroll position\n useEffect(() => {\n const navElement = navContentRef.current;\n if (!navElement || !activeHref) return;\n\n const savedScrollPos = sessionStorage.getItem('nav-tree-scroll-position');\n\n if (savedScrollPos) {\n // Restore scroll position from sessionStorage\n navElement.scrollTop = parseInt(savedScrollPos, 10);\n } else {\n // If no saved position, scroll to active item\n const normalizeHref = (href: string): string => {\n if (!href) return '';\n return href.startsWith('/') ? href : `/${href}`;\n };\n\n const compareHrefs = (href1: string, href2: string): boolean => {\n const norm1 = normalizeHref(href1);\n const norm2 = normalizeHref(href2);\n return (\n norm1 === norm2 ||\n norm1.replace('/docs/', '/') === norm2.replace('/docs/', '/') ||\n norm1 === norm2.replace('/docs/', '/') ||\n norm1.replace('/docs/', '/') === norm2\n );\n };\n\n requestAnimationFrame(() => {\n const allLinks = navElement.querySelectorAll('a[href]');\n let activeLink: HTMLElement | null = null;\n\n for (const link of Array.from(allLinks)) {\n const href = link.getAttribute('href');\n if (href && compareHrefs(href, activeHref)) {\n activeLink = link as HTMLElement;\n break;\n }\n }\n\n if (activeLink) {\n activeLink.scrollIntoView({\n behavior: 'instant',\n block: 'center',\n inline: 'nearest',\n });\n }\n });\n }\n\n // Save scroll position on scroll\n const handleScroll = () => {\n sessionStorage.setItem('nav-tree-scroll-position', navElement.scrollTop.toString());\n };\n\n navElement.addEventListener('scroll', handleScroll);\n return () => navElement.removeEventListener('scroll', handleScroll);\n }, [activeHref]);\n\n if (!navTree || navTree.items.length === 0) {\n return null;\n }\n\n const LinkElement = LinkComponent || 'a';\n\n return (\n <nav\n id=\"nav-tree\"\n className={cn(\n 'mint:flex mint:flex-col mint:h-full mint:min-h-0',\n className,\n theme === 'dark' && 'dark'\n )}\n aria-label=\"Documentation navigation\"\n >\n <div\n id=\"nav-tree-content\"\n ref={navContentRef}\n className={cn(\n 'mint:flex-1 mint:overflow-y-auto mint:overflow-x-hidden mint:min-h-0 mint:[scrollbar-gutter:stable] mint:md:px-4 mint:[scrollbar-width:thin] mint:[scrollbar-color:rgba(0,0,0,0.2)_transparent] mint: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 mint:space-y-6 mint:py-4'\n )}\n >\n {anchors && anchors.length > 0 && (\n <div id=\"nav-anchors\" className=\"mint:shrink-0 mint:w-full mint:mb-3\">\n <div className=\"mint:flex mint:flex-col\">\n {anchors.map((anchor, index) => {\n const Icon = anchor.icon;\n\n const normalizeAnchorHref = (href: string): string => {\n if (!href) return '';\n return href.startsWith('/') ? href : `/${href}`;\n };\n\n const isAnchorActive = (() => {\n if (!activeHref || !anchor.href) return false;\n const normalizedActive = normalizeAnchorHref(activeHref);\n const normalizedAnchor = normalizeAnchorHref(anchor.href);\n\n const cleanActive = normalizedActive.replace(/\\/$/, '');\n const cleanAnchor = normalizedAnchor.replace(/\\/$/, '');\n\n const matches =\n cleanActive === cleanAnchor || cleanActive.startsWith(cleanAnchor + '/');\n if (!matches) return false;\n\n const longestMatchingAnchor = anchors\n .filter((a) => {\n if (!a.href) return false;\n const normalizedHref = normalizeAnchorHref(a.href);\n const cleanHref = normalizedHref.replace(/\\/$/, '');\n return cleanActive === cleanHref || cleanActive.startsWith(cleanHref + '/');\n })\n .reduce((longest, current) => {\n const longestHref = normalizeAnchorHref(longest.href || '').replace(\n /\\/$/,\n ''\n );\n const currentHref = normalizeAnchorHref(current.href || '').replace(\n /\\/$/,\n ''\n );\n return currentHref.length > longestHref.length ? current : longest;\n }, anchor);\n\n return longestMatchingAnchor === anchor;\n })();\n\n return (\n <LinkElement\n key={index}\n href={anchor.href}\n aria-current={isAnchorActive ? 'page' : undefined}\n className={cn(\n 'mint:group mint:relative mint:flex mint:items-start mint:gap-2 mint:py-2 mint:px-3 mint:text-sm mint:rounded-lg mint:no-underline mint:focus-visible:outline-2 mint:focus-visible:outline-[#643fb2] mint:focus-visible:outline-offset-2 mint:hover:text-[#141414] mint:dark:hover:text-[#e5e7eb]',\n isAnchorActive\n ? 'mint:text-[#141414] mint:dark:text-[#ffffff]'\n : 'mint:text-[#242424] mint:dark:text-[#adadad]'\n )}\n >\n {Icon && (\n <Icon\n className={cn(\n 'mint:w-5 mint:h-5 mint:shrink-0',\n isAnchorActive\n ? 'mint:text-[#8251ee] mint:dark:text-[#9263f1]'\n : 'mint:text-[#6b7280] mint:dark:text-[#adadad] mint:group-hover:text-[#8251ee] mint:dark:group-hover:text-[#9263f1]'\n )}\n />\n )}\n <div className=\"mint:flex mint:flex-col mint:gap-0.5 mint:min-w-0\">\n <span\n className={cn(\n 'mint:font-medium',\n isAnchorActive\n ? 'mint:text-[#8251ee] mint:dark:text-[#9263f1] mint:font-semibold'\n : 'mint:text-[#141414] mint:dark:text-[#ffffff] mint:group-hover:text-[#8251ee] mint:dark:group-hover:text-[#9263f1]'\n )}\n >\n {anchor.title}\n </span>\n {anchor.description && (\n <span className=\"mint:text-xs mint:text-[#6b7280] mint:dark:text-[#adadad] mint:leading-snug\">\n {anchor.description}\n </span>\n )}\n </div>\n </LinkElement>\n );\n })}\n </div>\n </div>\n )}\n {navTree.items.map((item, index) => (\n <TreeItemComponent\n key={`${item.href}-${index}`}\n item={item}\n activeId={activeId}\n activeHref={activeHref}\n />\n ))}\n </div>\n {bottomLinks && bottomLinks.length > 0 && (\n <div\n id=\"nav-tree-bottom-links\"\n className=\"mint:shrink-0 mint:w-full mint:bg-[#f0f0f0] mint:dark:bg-[#0f0f0f] mint:mt-auto\"\n >\n <div className=\"mint:h-[0.5px] mint:w-full mint:bg-[#d1d1d1] mint:dark:bg-[#666666]\"></div>\n <div className=\"mint:flex mint:flex-col mint:py-3 mint:px-4\">\n {bottomLinks.map((link, index) => {\n const Icon = link.icon;\n if (link.component) {\n return (\n <div key={index}>\n {React.isValidElement(link.component) ? (\n React.cloneElement(link.component as React.ReactElement, {\n ...(link.component as React.ReactElement).props,\n className: cn(\n 'mint:flex mint:items-center mint:py-2 mint:gap-2 mint:text-sm mint:text-[#242424] mint:dark:text-[#adadad] mint:hover:text-[#141414] mint:dark:hover:text-[#e5e7eb] mint:px-2 mint:cursor-pointer',\n (link.component as React.ReactElement).props?.className\n ),\n children: (\n <>\n <Icon className=\"mint:w-5 mint:h-5 mint:shrink-0\" />\n <span>{link.label}</span>\n </>\n ),\n })\n ) : (\n <div className=\"mint:flex mint:items-center mint:py-2 mint:gap-2 mint:text-sm mint:text-[#242424] mint:dark:text-[#adadad] mint:hover:text-[#141414] mint:dark:hover:text-[#e5e7eb] mint:px-2 mint:cursor-pointer\">\n <Icon className=\"mint:w-5 mint:h-5 mint:shrink-0\" />\n <span>{link.label}</span>\n {link.component}\n </div>\n )}\n </div>\n );\n }\n return (\n <LinkElement\n key={index}\n href={link.href}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"mint:flex mint:items-center mint:py-2 mint:gap-2 mint:text-sm mint:no-underline mint:text-[#242424] mint:dark:text-[#adadad] mint:hover:text-[#141414] mint:dark:hover:text-[#e5e7eb] mint:px-2 mint:[&>span]:flex mint:[&>span]:items-center mint:[&>span]:gap-2 mint:[&>svg:last-child]:hidden\"\n >\n <Icon className=\"mint:w-5 mint:h-5 mint:shrink-0\" />\n <span>{link.label}</span>\n </LinkElement>\n );\n })}\n </div>\n </div>\n )}\n </nav>\n );\n}\n"],"names":["ChevronIcon","isExpanded","jsx","cn","ACTIVE_ITEM_CLASSES","TreeItemComponent","item","activeId","level","activeHref","hasChildren","normalizeHref","href","compareHrefs","href1","href2","norm1","norm2","hasActiveChild","navItem","shouldBeExpanded","setIsExpanded","useState","useEffect","LinkComponent","useComponents","isGroup","isActive","Icon","jsxs","child","index","LinkElement","MethodPill","NavTree","navTree","className","theme","bottomLinks","anchors","navContentRef","useRef","navElement","savedScrollPos","allLinks","activeLink","link","handleScroll","anchor","normalizeAnchorHref","isAnchorActive","normalizedActive","normalizedAnchor","cleanActive","cleanAnchor","a","cleanHref","longest","current","longestHref","React","_a","Fragment"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/nav-tree/index.tsx"],"sourcesContent":["import React, { useState, useRef, useEffect } from 'react';\n\nimport { useComponents } from '../../context/components-context';\nimport '../../styles.css';\nimport type { NavItem, NavTreeData, AnchorConfig } from '../../types';\nimport { cn } from '../../utils/cn';\nimport { MethodPill } from '../Api/MethodPill';\n\nexport { MobileNavTree } from './mobile-nav';\nexport type { MobileNavTreeProps } from './mobile-nav';\nexport type { AnchorConfig } from '../../types';\n\nexport interface BottomLinkConfig {\n href?: string;\n label: string;\n icon: React.ComponentType<{ className?: string }>;\n component?: React.ReactNode;\n}\n\ninterface NavTreeProps {\n navTree: NavTreeData;\n activeId?: string;\n className?: string;\n activeHref?: string;\n theme?: 'light' | 'dark' | 'system';\n bottomLinks?: BottomLinkConfig[];\n anchors?: AnchorConfig[];\n}\n\ninterface TreeItemProps {\n item: NavItem;\n activeId?: string;\n level?: number;\n activeHref?: string;\n}\n\nfunction ChevronIcon({ isExpanded }: { isExpanded: boolean }) {\n return (\n <svg\n className={cn(\n 'mint:w-[12px] mint:h-[12px] mint:shrink-0 mint:text-[#707070] mint:dark:text-[#999999]',\n isExpanded ? 'mint:rotate-90' : 'mint:rotate-0'\n )}\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n aria-hidden=\"true\"\n >\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M9 5l7 7-7 7\" />\n </svg>\n );\n}\n\nconst ACTIVE_ITEM_CLASSES =\n 'mint:bg-[#e6e6e6] mint:dark:bg-[#2e2e2e] mint:text-[#242424] mint:dark:text-[#ffffff] mint:font';\n\nfunction TreeItemComponent({ item, activeId, level = 0, activeHref }: TreeItemProps) {\n const hasChildren = item.children && item.children.length > 0;\n\n const normalizeHref = (href?: string): string => {\n if (!href) return '';\n const normalized = href.startsWith('/') ? href : `/${href}`;\n return normalized;\n };\n\n const compareHrefs = (href1?: string, href2?: string): boolean => {\n if (!href1 || !href2) return false;\n const norm1 = normalizeHref(href1);\n const norm2 = normalizeHref(href2);\n return (\n norm1 === norm2 ||\n norm1.replace('/docs/', '/') === norm2.replace('/docs/', '/') ||\n norm1 === norm2.replace('/docs/', '/') ||\n norm1.replace('/docs/', '/') === norm2\n );\n };\n\n const hasActiveChild = (navItem: NavItem): boolean => {\n if (compareHrefs(navItem.href, activeHref)) return true;\n if (navItem.children) {\n return navItem.children.some(hasActiveChild);\n }\n return false;\n };\n\n const shouldBeExpanded =\n level === 0 ? true : (item.expanded ?? false) || (hasChildren && hasActiveChild(item));\n const [isExpanded, setIsExpanded] = useState(shouldBeExpanded);\n\n useEffect(() => {\n if (hasChildren && hasActiveChild(item)) {\n setIsExpanded(true);\n }\n }, [activeHref]);\n\n const { LinkComponent } = useComponents();\n const isGroup = !item.href;\n const isActive =\n item.href && (compareHrefs(item.href, activeId) || compareHrefs(item.href, activeHref));\n const Icon = item.icon;\n\n if (isGroup && level === 0) {\n return (\n <div id=\"nav-group\" role=\"group\" aria-label={item.toc_title}>\n <div className=\"mint:text-sm mint:text-[#242424] mint:dark:text-[#ffffff] mint:mb-2 mint:flex mint:items-start mint:gap-2 mint:pl-3\">\n {Icon && <Icon className=\"mint:w-5 mint:h-5\" aria-hidden=\"true\" />}\n <span>{item.toc_title}</span>\n </div>\n {hasChildren && item.children && (\n <ul className=\"mint:flex mint:flex-col mint:pl-0 mint:mt-0 mint:gap-0.5\" role=\"list\">\n {item.children.map((child, index) => (\n <TreeItemComponent\n key={`${child.href}-${index}`}\n item={child}\n activeId={activeId}\n level={level + 1}\n activeHref={activeHref}\n />\n ))}\n </ul>\n )}\n </div>\n );\n }\n\n if (isGroup && level > 0) {\n return (\n <li className=\"mint:list-none\">\n <button\n id=\"nav-group-toggle\"\n onClick={() => setIsExpanded(!isExpanded)}\n aria-expanded={isExpanded}\n aria-label={`${isExpanded ? 'Collapse' : 'Expand'} ${item.toc_title} section`}\n className=\"mint:relative mint:text-left mint:w-full mint:flex mint:items-center mint:justify-between mint:py-2 mint:px-3 mint:text-sm mint:rounded-lg mint:bg-transparent mint:border-none mint:cursor-pointer mint:text-[#707070] mint:dark:text-[#999999] mint:hover:bg-[rgba(0,0,0,0.06)] mint:hover:text-[#242424] mint:dark:hover:bg-[rgba(128,128,128,0.05)] mint:dark:hover:text-[#ffffff] mint:focus-visible:outline-2 mint:focus-visible:outline-[#643fb2] mint:focus-visible:outline-offset-2\"\n >\n <span className=\"mint:flex-1 mint:min-w-0\">{item.toc_title}</span>\n <ChevronIcon isExpanded={!!isExpanded} />\n </button>\n {hasChildren && isExpanded && item.children && (\n <ul\n className=\"mint:ml-3 mint:flex mint:flex-col mint:pl-0 mint:mt-0 mint:gap-0.5\"\n role=\"group\"\n >\n {item.children.map((child, index) => (\n <TreeItemComponent\n key={`${child.href}-${index}`}\n item={child}\n activeId={activeId}\n level={level + 1}\n activeHref={activeHref}\n />\n ))}\n </ul>\n )}\n </li>\n );\n }\n\n const LinkElement = LinkComponent || 'a';\n\n if (hasChildren) {\n return (\n <li className=\"mint:list-none\">\n <button\n id=\"nav-item-toggle\"\n onClick={() => setIsExpanded(!isExpanded)}\n aria-expanded={isExpanded}\n aria-label={`${isExpanded ? 'Collapse' : 'Expand'} ${item.toc_title} section`}\n className={cn(\n 'mint:font-aptos mint:relative mint:text-left mint:w-full mint:flex mint:items-center mint:justify-between mint:gap-2 mint:py-2 mint:px-3 mint:text-[14px] mint:font-normal mint:rounded-xl mint:bg-transparent mint:border-none mint:cursor-pointer mint:text-[#707070] mint:dark:text-[#999999] mint:focus-visible:outline-2 mint:focus-visible:outline-[#643fb2] mint:focus-visible:outline-offset-2',\n isActive\n ? ACTIVE_ITEM_CLASSES\n : 'mint:hover:bg-[rgba(0,0,0,0.06)] mint:hover:text-[#242424] mint:dark:hover:bg-[rgba(128,128,128,0.05)] mint:dark:hover:text-[#ffffff]'\n )}\n >\n <span className=\"mint:flex-1 mint:min-w-0 mint:font-aptos\">{item.toc_title}</span>\n <ChevronIcon isExpanded={!!isExpanded} />\n </button>\n {isExpanded && item.children && (\n <ul\n className=\"mint:ml-3 mint:flex mint:flex-col mint:pl-0 mint:mt-0 mint:gap-0.5\"\n role=\"group\"\n >\n {item.children.map((child, index) => (\n <TreeItemComponent\n key={`${child.href}-${index}`}\n item={child}\n activeId={activeId}\n level={level + 1}\n activeHref={activeHref}\n />\n ))}\n </ul>\n )}\n </li>\n );\n }\n\n return (\n <li className=\"mint:list-none\">\n <LinkElement\n id=\"nav-item\"\n href={item.href}\n aria-current={isActive ? 'page' : undefined}\n className={cn(\n 'mint:relative mint:flex mint:items-center mint:gap-2 mint:py-2 mint:px-3 mint:text-[14px] mint:font-normal mint:rounded-xl mint:no-underline mint:text-[#707070] mint:dark:text-[#999999] mint:focus-visible:outline-2 mint:focus-visible:outline-[#643fb2] mint:focus-visible:outline-offset-2 mint:[&_span]:flex-1',\n isActive\n ? ACTIVE_ITEM_CLASSES\n : 'mint:hover:bg-[rgba(0,0,0,0.06)] mint:hover:text-[#242424] mint:dark:hover:bg-[rgba(128,128,128,0.05)] mint:dark:hover:text-[#ffffff]'\n )}\n >\n {item.method && (\n <MethodPill isActive={!!isActive} method={item.method} shortMethod={true} />\n )}\n {item.toc_title}\n </LinkElement>\n </li>\n );\n}\n\nexport function NavTree({\n navTree,\n activeId,\n className = '',\n activeHref,\n theme,\n bottomLinks,\n anchors,\n}: NavTreeProps) {\n const { LinkComponent } = useComponents();\n const navContentRef = useRef<HTMLDivElement>(null);\n\n // Save and restore scroll position\n useEffect(() => {\n const navElement = navContentRef.current;\n if (!navElement || !activeHref) return;\n\n const savedScrollPos = sessionStorage.getItem('nav-tree-scroll-position');\n\n if (savedScrollPos) {\n // Restore scroll position from sessionStorage\n navElement.scrollTop = parseInt(savedScrollPos, 10);\n } else {\n // If no saved position, scroll to active item\n const normalizeHref = (href: string): string => {\n if (!href) return '';\n return href.startsWith('/') ? href : `/${href}`;\n };\n\n const compareHrefs = (href1: string, href2: string): boolean => {\n const norm1 = normalizeHref(href1);\n const norm2 = normalizeHref(href2);\n return (\n norm1 === norm2 ||\n norm1.replace('/docs/', '/') === norm2.replace('/docs/', '/') ||\n norm1 === norm2.replace('/docs/', '/') ||\n norm1.replace('/docs/', '/') === norm2\n );\n };\n\n requestAnimationFrame(() => {\n const allLinks = navElement.querySelectorAll('a[href]');\n let activeLink: HTMLElement | null = null;\n\n for (const link of Array.from(allLinks)) {\n const href = link.getAttribute('href');\n if (href && compareHrefs(href, activeHref)) {\n activeLink = link as HTMLElement;\n break;\n }\n }\n\n if (activeLink) {\n activeLink.scrollIntoView({\n behavior: 'instant',\n block: 'center',\n inline: 'nearest',\n });\n }\n });\n }\n\n // Save scroll position on scroll\n const handleScroll = () => {\n sessionStorage.setItem('nav-tree-scroll-position', navElement.scrollTop.toString());\n };\n\n navElement.addEventListener('scroll', handleScroll);\n return () => navElement.removeEventListener('scroll', handleScroll);\n }, [activeHref]);\n\n if (!navTree || navTree.items.length === 0) {\n return null;\n }\n\n const LinkElement = LinkComponent || 'a';\n\n return (\n <nav\n id=\"nav-tree\"\n className={cn(\n 'mint:flex mint:flex-col mint:h-full mint:min-h-0',\n className,\n theme === 'dark' && 'dark'\n )}\n aria-label=\"Documentation navigation\"\n >\n <div\n id=\"nav-tree-content\"\n ref={navContentRef}\n className={cn(\n 'mint:flex-1 mint:overflow-y-auto mint:overflow-x-hidden mint:min-h-0 mint:[scrollbar-gutter:stable] mint:md:px-4 mint:[scrollbar-width:thin] mint:[scrollbar-color:rgba(0,0,0,0.2)_transparent] mint: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 mint:space-y-6 mint:py-4'\n )}\n >\n {anchors && anchors.length > 0 && (\n <div id=\"nav-anchors\" className=\"mint:shrink-0 mint:w-full mint:mb-3\">\n <div className=\"mint:flex mint:flex-col\">\n {anchors.map((anchor, index) => {\n const Icon = anchor.icon;\n\n const normalizeAnchorHref = (href: string): string => {\n if (!href) return '';\n return href.startsWith('/') ? href : `/${href}`;\n };\n\n const isAnchorActive = (() => {\n if (!activeHref || !anchor.href) return false;\n const normalizedActive = normalizeAnchorHref(activeHref);\n const normalizedAnchor = normalizeAnchorHref(anchor.href);\n\n const cleanActive = normalizedActive.replace(/\\/$/, '');\n const cleanAnchor = normalizedAnchor.replace(/\\/$/, '');\n\n const matches =\n cleanActive === cleanAnchor || cleanActive.startsWith(cleanAnchor + '/');\n if (!matches) return false;\n\n const longestMatchingAnchor = anchors\n .filter((a) => {\n if (!a.href) return false;\n const normalizedHref = normalizeAnchorHref(a.href);\n const cleanHref = normalizedHref.replace(/\\/$/, '');\n return cleanActive === cleanHref || cleanActive.startsWith(cleanHref + '/');\n })\n .reduce((longest, current) => {\n const longestHref = normalizeAnchorHref(longest.href || '').replace(\n /\\/$/,\n ''\n );\n const currentHref = normalizeAnchorHref(current.href || '').replace(\n /\\/$/,\n ''\n );\n return currentHref.length > longestHref.length ? current : longest;\n }, anchor);\n\n return longestMatchingAnchor === anchor;\n })();\n\n return (\n <LinkElement\n key={index}\n href={anchor.href}\n aria-current={isAnchorActive ? 'page' : undefined}\n className={cn(\n 'mint:group mint:relative mint:flex mint:items-start mint:gap-2 mint:py-2 mint:px-3 mint:text-sm mint:rounded-lg mint:no-underline mint:focus-visible:outline-2 mint:focus-visible:outline-[#643fb2] mint:focus-visible:outline-offset-2 mint:hover:text-[#141414] mint:dark:hover:text-[#e5e7eb]',\n isAnchorActive\n ? 'mint:text-[#141414] mint:dark:text-[#ffffff]'\n : 'mint:text-[#242424] mint:dark:text-[#adadad]'\n )}\n >\n {Icon && (\n <Icon\n className={cn(\n 'mint:w-5 mint:h-5 mint:shrink-0',\n isAnchorActive\n ? 'mint:text-[#8251ee] mint:dark:text-[#9263f1]'\n : 'mint:text-[#6b7280] mint:dark:text-[#adadad] mint:group-hover:text-[#8251ee] mint:dark:group-hover:text-[#9263f1]'\n )}\n />\n )}\n <div className=\"mint:flex mint:flex-col mint:gap-0.5 mint:min-w-0\">\n <span\n className={cn(\n 'mint:font-medium',\n isAnchorActive\n ? 'mint:text-[#8251ee] mint:dark:text-[#9263f1] mint:font-semibold'\n : 'mint:text-[#141414] mint:dark:text-[#ffffff] mint:group-hover:text-[#8251ee] mint:dark:group-hover:text-[#9263f1]'\n )}\n >\n {anchor.title}\n </span>\n {anchor.description && (\n <span className=\"mint:text-xs mint:text-[#6b7280] mint:dark:text-[#adadad] mint:leading-snug\">\n {anchor.description}\n </span>\n )}\n </div>\n </LinkElement>\n );\n })}\n </div>\n </div>\n )}\n {navTree.items.map((item, index) => (\n <TreeItemComponent\n key={`${item.href}-${index}`}\n item={item}\n activeId={activeId}\n activeHref={activeHref}\n />\n ))}\n </div>\n {bottomLinks && bottomLinks.length > 0 && (\n <div\n id=\"nav-tree-bottom-links\"\n className=\"mint:shrink-0 mint:w-full mint:bg-[#f0f0f0] mint:dark:bg-[#0f0f0f] mint:mt-auto\"\n >\n <div className=\"mint:h-[0.5px] mint:w-full mint:bg-[#d1d1d1] mint:dark:bg-[#666666]\"></div>\n <div className=\"mint:flex mint:flex-col mint:py-3 mint:px-4\">\n {bottomLinks.map((link, index) => {\n const Icon = link.icon;\n if (link.component) {\n return (\n <div key={index}>\n {React.isValidElement(link.component) ? (\n React.cloneElement(link.component as React.ReactElement, {\n ...(link.component as React.ReactElement).props,\n className: cn(\n 'mint:flex mint:items-center mint:py-2 mint:gap-2 mint:text-sm mint:text-[#242424] mint:dark:text-[#adadad] mint:hover:text-[#141414] mint:dark:hover:text-[#e5e7eb] mint:px-2 mint:cursor-pointer',\n (link.component as React.ReactElement).props?.className\n ),\n children: (\n <>\n <Icon className=\"mint:w-5 mint:h-5 mint:shrink-0\" />\n <span>{link.label}</span>\n </>\n ),\n })\n ) : (\n <div className=\"mint:flex mint:items-center mint:py-2 mint:gap-2 mint:text-sm mint:text-[#242424] mint:dark:text-[#adadad] mint:hover:text-[#141414] mint:dark:hover:text-[#e5e7eb] mint:px-2 mint:cursor-pointer\">\n <Icon className=\"mint:w-5 mint:h-5 mint:shrink-0\" />\n <span>{link.label}</span>\n {link.component}\n </div>\n )}\n </div>\n );\n }\n return (\n <LinkElement\n key={index}\n href={link.href}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"mint:flex mint:items-center mint:py-2 mint:gap-2 mint:text-sm mint:no-underline mint:text-[#242424] mint:dark:text-[#adadad] mint:hover:text-[#141414] mint:dark:hover:text-[#e5e7eb] mint:px-2 mint:[&>span]:flex mint:[&>span]:items-center mint:[&>span]:gap-2 mint:[&>svg:last-child]:hidden\"\n >\n <Icon className=\"mint:w-5 mint:h-5 mint:shrink-0\" />\n <span>{link.label}</span>\n </LinkElement>\n );\n })}\n </div>\n </div>\n )}\n </nav>\n );\n}\n"],"names":["ChevronIcon","isExpanded","jsx","cn","ACTIVE_ITEM_CLASSES","TreeItemComponent","item","activeId","level","activeHref","hasChildren","normalizeHref","href","compareHrefs","href1","href2","norm1","norm2","hasActiveChild","navItem","shouldBeExpanded","setIsExpanded","useState","useEffect","LinkComponent","useComponents","isGroup","isActive","Icon","jsxs","child","index","LinkElement","MethodPill","NavTree","navTree","className","theme","bottomLinks","anchors","navContentRef","useRef","navElement","savedScrollPos","allLinks","activeLink","link","handleScroll","anchor","normalizeAnchorHref","isAnchorActive","normalizedActive","normalizedAnchor","cleanActive","cleanAnchor","a","cleanHref","longest","current","longestHref","React","_a","Fragment"],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -69,6 +69,7 @@ export declare const allComponents: {
|
|
|
69
69
|
Tab: typeof Tab;
|
|
70
70
|
Details: typeof Details;
|
|
71
71
|
Summary: typeof Summary;
|
|
72
|
+
LaTeX: typeof LaTeX;
|
|
72
73
|
};
|
|
73
74
|
|
|
74
75
|
export declare interface AnchorConfig {
|
|
@@ -555,6 +556,14 @@ export declare function isElement<T extends ElementType = Element_2>(node: Eleme
|
|
|
555
556
|
};
|
|
556
557
|
};
|
|
557
558
|
|
|
559
|
+
export declare function LaTeX({ children, latex, className }: LaTeXProps): JSX_2.Element;
|
|
560
|
+
|
|
561
|
+
declare interface LaTeXProps {
|
|
562
|
+
children: string;
|
|
563
|
+
latex: string;
|
|
564
|
+
className?: string;
|
|
565
|
+
}
|
|
566
|
+
|
|
558
567
|
export declare function Link({ href, children, className }: LinkProps): JSX_2.Element;
|
|
559
568
|
|
|
560
569
|
export declare type LinkComponent = default_2.ComponentType<LinkComponentProps>;
|
|
@@ -816,6 +825,8 @@ export declare const rehypeDetails: Plugin_2<[], Node_3>;
|
|
|
816
825
|
|
|
817
826
|
export declare const rehypeHeadingIds: Plugin_2<[], Node_3>;
|
|
818
827
|
|
|
828
|
+
export declare const rehypeLatex: Plugin_2<[], Node_3>;
|
|
829
|
+
|
|
819
830
|
export declare const rehypeParamName: Plugin_2<[], Node_3>;
|
|
820
831
|
|
|
821
832
|
export declare function rehypeRemark(): (tree: Root_2) => Root;
|