@mintlify/msft-sdk 1.1.39 → 1.1.40
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.
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import { useRef as
|
|
3
|
-
import { useComponents as
|
|
1
|
+
import { jsxs as l, jsx as n, Fragment as W } from "react/jsx-runtime";
|
|
2
|
+
import C, { useRef as j, useEffect as L, useState as S } from "react";
|
|
3
|
+
import { useComponents as M } from "../../context/components-context.js";
|
|
4
4
|
/* empty css */
|
|
5
|
-
import { cn as
|
|
6
|
-
import { MethodPill as
|
|
7
|
-
function
|
|
8
|
-
return /* @__PURE__ */
|
|
5
|
+
import { cn as h } from "../../utils/cn.js";
|
|
6
|
+
import { MethodPill as I } from "../Api/MethodPill.js";
|
|
7
|
+
function _({ isExpanded: t }) {
|
|
8
|
+
return /* @__PURE__ */ n(
|
|
9
9
|
"svg",
|
|
10
10
|
{
|
|
11
|
-
className:
|
|
11
|
+
className: h(
|
|
12
12
|
"mint:w-[16px] mint:h-[16px] mint:shrink-0 mint:text-[#6b7280] mint:dark:text-[#9ca3af]",
|
|
13
13
|
t ? "mint:rotate-90" : "mint:rotate-0"
|
|
14
14
|
),
|
|
@@ -16,255 +16,270 @@ function E({ isExpanded: t }) {
|
|
|
16
16
|
stroke: "currentColor",
|
|
17
17
|
viewBox: "0 0 24 24",
|
|
18
18
|
"aria-hidden": "true",
|
|
19
|
-
children: /* @__PURE__ */
|
|
19
|
+
children: /* @__PURE__ */ n("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 5l7 7-7 7" })
|
|
20
20
|
}
|
|
21
21
|
);
|
|
22
22
|
}
|
|
23
|
-
const
|
|
24
|
-
function
|
|
25
|
-
const x = t.children && t.children.length > 0,
|
|
26
|
-
if (!
|
|
27
|
-
const b =
|
|
28
|
-
return b ===
|
|
29
|
-
},
|
|
30
|
-
|
|
31
|
-
x &&
|
|
32
|
-
}, [
|
|
33
|
-
const { LinkComponent: d } =
|
|
34
|
-
if (f &&
|
|
35
|
-
return /* @__PURE__ */
|
|
36
|
-
/* @__PURE__ */
|
|
37
|
-
|
|
38
|
-
/* @__PURE__ */
|
|
23
|
+
const z = "mint:bg-[#e6e6e6] mint:dark:bg-[#2e2e2e] mint:text-[#242424] mint:dark:text-[#ffffff] mint:font-semibold";
|
|
24
|
+
function y({ item: t, activeId: g, level: p = 0, activeHref: a }) {
|
|
25
|
+
const x = t.children && t.children.length > 0, v = (i) => i ? i.startsWith("/") ? i : `/${i}` : "", u = (i, o) => {
|
|
26
|
+
if (!i || !o) return !1;
|
|
27
|
+
const b = v(i), N = v(o);
|
|
28
|
+
return b === N || b.replace("/docs/", "/") === N.replace("/docs/", "/") || b === N.replace("/docs/", "/") || b.replace("/docs/", "/") === N;
|
|
29
|
+
}, k = (i) => u(i.href, a) ? !0 : i.children ? i.children.some(k) : !1, $ = p === 0 ? !0 : (t.expanded ?? !1) || x && k(t), [s, e] = S($);
|
|
30
|
+
L(() => {
|
|
31
|
+
x && k(t) && e(!0);
|
|
32
|
+
}, [a]);
|
|
33
|
+
const { LinkComponent: d } = M(), f = !t.href, r = t.href && (u(t.href, g) || u(t.href, a)), c = t.icon;
|
|
34
|
+
if (f && p === 0)
|
|
35
|
+
return /* @__PURE__ */ l("div", { id: "nav-group", role: "group", "aria-label": t.toc_title, children: [
|
|
36
|
+
/* @__PURE__ */ l("div", { className: "mint:text-sm mint:font-semibold mint:text-[#141414] mint:dark:text-white mint:mb-3 mint:flex mint:items-start mint:gap-2 mint:pl-2.5", children: [
|
|
37
|
+
c && /* @__PURE__ */ n(c, { className: "mint:w-5 mint:h-5", "aria-hidden": "true" }),
|
|
38
|
+
/* @__PURE__ */ n("span", { children: t.toc_title })
|
|
39
39
|
] }),
|
|
40
|
-
x && t.children && /* @__PURE__ */
|
|
41
|
-
|
|
40
|
+
x && t.children && /* @__PURE__ */ n("ul", { className: "mint:flex mint:flex-col mint:pl-0", role: "list", children: t.children.map((i, o) => /* @__PURE__ */ n(
|
|
41
|
+
y,
|
|
42
42
|
{
|
|
43
|
-
item:
|
|
43
|
+
item: i,
|
|
44
44
|
activeId: g,
|
|
45
|
-
level:
|
|
46
|
-
activeHref:
|
|
45
|
+
level: p + 1,
|
|
46
|
+
activeHref: a
|
|
47
47
|
},
|
|
48
|
-
`${
|
|
48
|
+
`${i.href}-${o}`
|
|
49
49
|
)) })
|
|
50
50
|
] });
|
|
51
|
-
if (f &&
|
|
52
|
-
return /* @__PURE__ */
|
|
53
|
-
/* @__PURE__ */
|
|
51
|
+
if (f && p > 0)
|
|
52
|
+
return /* @__PURE__ */ l("li", { className: "mint:list-none", children: [
|
|
53
|
+
/* @__PURE__ */ l(
|
|
54
54
|
"button",
|
|
55
55
|
{
|
|
56
56
|
id: "nav-group-toggle",
|
|
57
|
-
onClick: () =>
|
|
58
|
-
"aria-expanded":
|
|
59
|
-
"aria-label": `${
|
|
57
|
+
onClick: () => e(!s),
|
|
58
|
+
"aria-expanded": s,
|
|
59
|
+
"aria-label": `${s ? "Collapse" : "Expand"} ${t.toc_title} section`,
|
|
60
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-[#4b5563] mint:dark:text-[#9ca3af] mint:hover:bg-[rgba(75,85,99,0.05)] mint:hover:text-[#141414] mint:dark:hover:bg-[rgba(75,85,99,0.05)] mint:dark:hover:text-[#e5e7eb] mint:focus-visible:outline-2 mint:focus-visible:outline-[#643fb2] mint:focus-visible:outline-offset-2",
|
|
61
61
|
children: [
|
|
62
|
-
/* @__PURE__ */
|
|
63
|
-
/* @__PURE__ */
|
|
62
|
+
/* @__PURE__ */ n("span", { className: "mint:flex-1 mint:min-w-0", children: t.toc_title }),
|
|
63
|
+
/* @__PURE__ */ n(_, { isExpanded: !!s })
|
|
64
64
|
]
|
|
65
65
|
}
|
|
66
66
|
),
|
|
67
|
-
x &&
|
|
68
|
-
|
|
67
|
+
x && s && t.children && /* @__PURE__ */ n("ul", { className: "mint:ml-3 mint:flex mint:flex-col mint:pl-0", role: "group", children: t.children.map((i, o) => /* @__PURE__ */ n(
|
|
68
|
+
y,
|
|
69
69
|
{
|
|
70
|
-
item:
|
|
70
|
+
item: i,
|
|
71
71
|
activeId: g,
|
|
72
|
-
level:
|
|
73
|
-
activeHref:
|
|
72
|
+
level: p + 1,
|
|
73
|
+
activeHref: a
|
|
74
74
|
},
|
|
75
|
-
`${
|
|
75
|
+
`${i.href}-${o}`
|
|
76
76
|
)) })
|
|
77
77
|
] });
|
|
78
78
|
const m = d || "a";
|
|
79
|
-
return x ? /* @__PURE__ */
|
|
80
|
-
/* @__PURE__ */
|
|
79
|
+
return x ? /* @__PURE__ */ l("li", { className: "mint:list-none", children: [
|
|
80
|
+
/* @__PURE__ */ l(
|
|
81
81
|
"button",
|
|
82
82
|
{
|
|
83
83
|
id: "nav-item-toggle",
|
|
84
|
-
onClick: () =>
|
|
85
|
-
"aria-expanded":
|
|
86
|
-
"aria-label": `${
|
|
87
|
-
className:
|
|
84
|
+
onClick: () => e(!s),
|
|
85
|
+
"aria-expanded": s,
|
|
86
|
+
"aria-label": `${s ? "Collapse" : "Expand"} ${t.toc_title} section`,
|
|
87
|
+
className: h(
|
|
88
88
|
"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-[#424242] mint:dark:text-[#9ca3af] mint:focus-visible:outline-2 mint:focus-visible:outline-[#643fb2] mint:focus-visible:outline-offset-2",
|
|
89
|
-
r ?
|
|
89
|
+
r ? z : "mint:hover:bg-[rgba(75,85,99,0.05)] mint:hover:text-[#141414] mint:dark:hover:bg-[rgba(75,85,99,0.05)] mint:dark:hover:text-[#e5e7eb]"
|
|
90
90
|
),
|
|
91
91
|
children: [
|
|
92
|
-
/* @__PURE__ */
|
|
93
|
-
/* @__PURE__ */
|
|
92
|
+
/* @__PURE__ */ n("span", { className: "mint:flex-1 mint:min-w-0", children: t.toc_title }),
|
|
93
|
+
/* @__PURE__ */ n(_, { isExpanded: !!s })
|
|
94
94
|
]
|
|
95
95
|
}
|
|
96
96
|
),
|
|
97
|
-
|
|
98
|
-
|
|
97
|
+
s && t.children && /* @__PURE__ */ n("ul", { className: "mint:ml-3 mint:flex mint:flex-col mint:pl-0", role: "group", children: t.children.map((i, o) => /* @__PURE__ */ n(
|
|
98
|
+
y,
|
|
99
99
|
{
|
|
100
|
-
item:
|
|
100
|
+
item: i,
|
|
101
101
|
activeId: g,
|
|
102
|
-
level:
|
|
103
|
-
activeHref:
|
|
102
|
+
level: p + 1,
|
|
103
|
+
activeHref: a
|
|
104
104
|
},
|
|
105
|
-
`${
|
|
105
|
+
`${i.href}-${o}`
|
|
106
106
|
)) })
|
|
107
|
-
] }) : /* @__PURE__ */
|
|
107
|
+
] }) : /* @__PURE__ */ n("li", { className: "mint:list-none", children: /* @__PURE__ */ l(
|
|
108
108
|
m,
|
|
109
109
|
{
|
|
110
110
|
id: "nav-item",
|
|
111
111
|
href: t.href,
|
|
112
112
|
"aria-current": r ? "page" : void 0,
|
|
113
|
-
className:
|
|
113
|
+
className: h(
|
|
114
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-[#424242] mint:dark:text-[#9ca3af] mint:focus-visible:outline-2 mint:focus-visible:outline-[#643fb2] mint:focus-visible:outline-offset-2 mint:[&_span]:flex-1",
|
|
115
|
-
r ?
|
|
115
|
+
r ? z : "mint:hover:bg-[rgba(75,85,99,0.05)] mint:hover:text-[#141414] mint:dark:hover:bg-[rgba(75,85,99,0.05)] mint:dark:hover:text-[#e5e7eb]"
|
|
116
116
|
),
|
|
117
117
|
children: [
|
|
118
|
-
r && /* @__PURE__ */
|
|
119
|
-
t.method && /* @__PURE__ */
|
|
118
|
+
r && /* @__PURE__ */ 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]" }),
|
|
119
|
+
t.method && /* @__PURE__ */ n(I, { isActive: !!r, method: t.method, shortMethod: !0 }),
|
|
120
120
|
t.toc_title
|
|
121
121
|
]
|
|
122
122
|
}
|
|
123
123
|
) });
|
|
124
124
|
}
|
|
125
|
-
function
|
|
125
|
+
function H({
|
|
126
126
|
navTree: t,
|
|
127
127
|
activeId: g,
|
|
128
|
-
className:
|
|
129
|
-
activeHref:
|
|
128
|
+
className: p = "",
|
|
129
|
+
activeHref: a,
|
|
130
130
|
theme: x,
|
|
131
|
-
bottomLinks:
|
|
132
|
-
anchors:
|
|
131
|
+
bottomLinks: v,
|
|
132
|
+
anchors: u
|
|
133
133
|
}) {
|
|
134
|
-
const { LinkComponent:
|
|
135
|
-
if (
|
|
136
|
-
const
|
|
137
|
-
if (!
|
|
138
|
-
const d = (r) => r ? r.startsWith("/") ? r : `/${r}` : "", f = (r,
|
|
139
|
-
const m = d(r),
|
|
140
|
-
return m ===
|
|
134
|
+
const { LinkComponent: k } = M(), $ = j(null);
|
|
135
|
+
if (L(() => {
|
|
136
|
+
const e = $.current;
|
|
137
|
+
if (!e || !a) return;
|
|
138
|
+
const d = (r) => r ? r.startsWith("/") ? r : `/${r}` : "", f = (r, c) => {
|
|
139
|
+
const m = d(r), i = d(c);
|
|
140
|
+
return m === i || m.replace("/docs/", "/") === i.replace("/docs/", "/") || m === i.replace("/docs/", "/") || m.replace("/docs/", "/") === i;
|
|
141
141
|
};
|
|
142
142
|
requestAnimationFrame(() => {
|
|
143
|
-
const r =
|
|
144
|
-
let
|
|
143
|
+
const r = e.querySelectorAll("a[href]");
|
|
144
|
+
let c = null;
|
|
145
145
|
for (const m of Array.from(r)) {
|
|
146
|
-
const
|
|
147
|
-
if (
|
|
148
|
-
|
|
146
|
+
const i = m.getAttribute("href");
|
|
147
|
+
if (i && f(i, a)) {
|
|
148
|
+
c = m;
|
|
149
149
|
break;
|
|
150
150
|
}
|
|
151
151
|
}
|
|
152
|
-
|
|
152
|
+
c && c.scrollIntoView({
|
|
153
153
|
behavior: "instant",
|
|
154
154
|
block: "center",
|
|
155
155
|
inline: "nearest"
|
|
156
156
|
});
|
|
157
157
|
});
|
|
158
|
-
}, [
|
|
158
|
+
}, [a]), !t || t.items.length === 0)
|
|
159
159
|
return null;
|
|
160
|
-
const
|
|
161
|
-
return /* @__PURE__ */
|
|
160
|
+
const s = k || "a";
|
|
161
|
+
return /* @__PURE__ */ l(
|
|
162
162
|
"nav",
|
|
163
163
|
{
|
|
164
164
|
id: "nav-tree",
|
|
165
|
-
className:
|
|
165
|
+
className: h(
|
|
166
166
|
"mint:flex mint:flex-col mint:h-full mint:min-h-0",
|
|
167
|
-
|
|
167
|
+
p,
|
|
168
168
|
x === "dark" && "dark"
|
|
169
169
|
),
|
|
170
170
|
"aria-label": "Documentation navigation",
|
|
171
171
|
children: [
|
|
172
|
-
/* @__PURE__ */
|
|
172
|
+
/* @__PURE__ */ l(
|
|
173
173
|
"div",
|
|
174
174
|
{
|
|
175
175
|
id: "nav-tree-content",
|
|
176
176
|
ref: $,
|
|
177
|
-
className:
|
|
177
|
+
className: h(
|
|
178
178
|
"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"
|
|
179
179
|
),
|
|
180
180
|
children: [
|
|
181
|
-
|
|
182
|
-
const f =
|
|
183
|
-
if (!
|
|
184
|
-
const m = r(
|
|
185
|
-
return
|
|
186
|
-
if (!
|
|
187
|
-
const A = r(
|
|
188
|
-
return
|
|
189
|
-
}).reduce((
|
|
190
|
-
const A = r(
|
|
181
|
+
u && u.length > 0 && /* @__PURE__ */ n("div", { id: "nav-anchors", className: "mint:shrink-0 mint:w-full mint:mb-3", children: /* @__PURE__ */ n("div", { className: "mint:flex mint:flex-col", children: u.map((e, d) => {
|
|
182
|
+
const f = e.icon, r = (m) => m ? m.startsWith("/") ? m : `/${m}` : "", c = (() => {
|
|
183
|
+
if (!a || !e.href) return !1;
|
|
184
|
+
const m = r(a), i = r(e.href), o = m.replace(/\/$/, ""), b = i.replace(/\/$/, "");
|
|
185
|
+
return o === b || o.startsWith(b + "/") ? u.filter((w) => {
|
|
186
|
+
if (!w.href) return !1;
|
|
187
|
+
const A = r(w.href).replace(/\/$/, "");
|
|
188
|
+
return o === A || o.startsWith(A + "/");
|
|
189
|
+
}).reduce((w, E) => {
|
|
190
|
+
const A = r(w.href || "").replace(
|
|
191
191
|
/\/$/,
|
|
192
192
|
""
|
|
193
193
|
);
|
|
194
|
-
return r(
|
|
194
|
+
return r(E.href || "").replace(
|
|
195
195
|
/\/$/,
|
|
196
196
|
""
|
|
197
|
-
).length > A.length ?
|
|
198
|
-
},
|
|
197
|
+
).length > A.length ? E : w;
|
|
198
|
+
}, e) === e : !1;
|
|
199
199
|
})();
|
|
200
|
-
return /* @__PURE__ */
|
|
201
|
-
|
|
200
|
+
return /* @__PURE__ */ l(
|
|
201
|
+
s,
|
|
202
202
|
{
|
|
203
|
-
href:
|
|
204
|
-
"aria-current":
|
|
205
|
-
className:
|
|
203
|
+
href: e.href,
|
|
204
|
+
"aria-current": c ? "page" : void 0,
|
|
205
|
+
className: h(
|
|
206
206
|
"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]",
|
|
207
|
-
|
|
207
|
+
c ? "mint:text-[#141414] mint:dark:text-[#ffffff]" : "mint:text-[#424242] mint:dark:text-[#9ca3af]"
|
|
208
208
|
),
|
|
209
209
|
children: [
|
|
210
|
-
f && /* @__PURE__ */
|
|
210
|
+
f && /* @__PURE__ */ n(
|
|
211
211
|
f,
|
|
212
212
|
{
|
|
213
|
-
className:
|
|
213
|
+
className: h(
|
|
214
214
|
"mint:w-5 mint:h-5 mint:shrink-0",
|
|
215
|
-
|
|
215
|
+
c ? "mint:text-[#8251ee] mint:dark:text-[#9263f1]" : "mint:text-[#6b7280] mint:dark:text-[#9ca3af] mint:group-hover:text-[#8251ee] mint:dark:group-hover:text-[#9263f1]"
|
|
216
216
|
)
|
|
217
217
|
}
|
|
218
218
|
),
|
|
219
|
-
/* @__PURE__ */
|
|
220
|
-
/* @__PURE__ */
|
|
219
|
+
/* @__PURE__ */ l("div", { className: "mint:flex mint:flex-col mint:gap-0.5 mint:min-w-0", children: [
|
|
220
|
+
/* @__PURE__ */ n(
|
|
221
221
|
"span",
|
|
222
222
|
{
|
|
223
|
-
className:
|
|
223
|
+
className: h(
|
|
224
224
|
"mint:font-medium",
|
|
225
|
-
|
|
225
|
+
c ? "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]"
|
|
226
226
|
),
|
|
227
|
-
children:
|
|
227
|
+
children: e.title
|
|
228
228
|
}
|
|
229
229
|
),
|
|
230
|
-
|
|
230
|
+
e.description && /* @__PURE__ */ n("span", { className: "mint:text-xs mint:text-[#6b7280] mint:dark:text-[#9ca3af] mint:leading-snug", children: e.description })
|
|
231
231
|
] })
|
|
232
232
|
]
|
|
233
233
|
},
|
|
234
234
|
d
|
|
235
235
|
);
|
|
236
236
|
}) }) }),
|
|
237
|
-
t.items.map((
|
|
238
|
-
|
|
237
|
+
t.items.map((e, d) => /* @__PURE__ */ n(
|
|
238
|
+
y,
|
|
239
239
|
{
|
|
240
|
-
item:
|
|
240
|
+
item: e,
|
|
241
241
|
activeId: g,
|
|
242
|
-
activeHref:
|
|
242
|
+
activeHref: a
|
|
243
243
|
},
|
|
244
|
-
`${
|
|
244
|
+
`${e.href}-${d}`
|
|
245
245
|
))
|
|
246
246
|
]
|
|
247
247
|
}
|
|
248
248
|
),
|
|
249
|
-
|
|
249
|
+
v && v.length > 0 && /* @__PURE__ */ l(
|
|
250
250
|
"div",
|
|
251
251
|
{
|
|
252
252
|
id: "nav-tree-bottom-links",
|
|
253
253
|
className: "mint:shrink-0 mint:w-full mint:bg-[#f0f0f0] mint:dark:bg-[#0f0f0f] mint:mt-auto",
|
|
254
254
|
children: [
|
|
255
|
-
/* @__PURE__ */
|
|
256
|
-
/* @__PURE__ */
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
255
|
+
/* @__PURE__ */ n("div", { className: "mint:h-[0.5px] mint:w-full mint:bg-[#d1d1d1] mint:dark:bg-[#666666]" }),
|
|
256
|
+
/* @__PURE__ */ n("div", { className: "mint:flex mint:flex-col mint:py-3 mint:px-4", children: v.map((e, d) => {
|
|
257
|
+
var r;
|
|
258
|
+
const f = e.icon;
|
|
259
|
+
return e.component ? /* @__PURE__ */ n("div", { children: C.isValidElement(e.component) ? C.cloneElement(e.component, {
|
|
260
|
+
...e.component.props,
|
|
261
|
+
className: h(
|
|
262
|
+
"mint:flex mint:items-center mint:py-2 mint:gap-2 mint:text-sm mint:text-[#424242] mint:dark:text-[#9ca3af] mint:hover:text-[#141414] mint:dark:hover:text-[#e5e7eb] mint:px-2 mint:cursor-pointer",
|
|
263
|
+
(r = e.component.props) == null ? void 0 : r.className
|
|
264
|
+
),
|
|
265
|
+
children: /* @__PURE__ */ l(W, { children: [
|
|
266
|
+
/* @__PURE__ */ n(f, { className: "mint:w-5 mint:h-5 mint:shrink-0" }),
|
|
267
|
+
/* @__PURE__ */ n("span", { children: e.label })
|
|
268
|
+
] })
|
|
269
|
+
}) : /* @__PURE__ */ l("div", { className: "mint:flex mint:items-center mint:py-2 mint:gap-2 mint:text-sm mint:text-[#424242] mint:dark:text-[#9ca3af] mint:hover:text-[#141414] mint:dark:hover:text-[#e5e7eb] mint:px-2 mint:cursor-pointer", children: [
|
|
270
|
+
/* @__PURE__ */ n(f, { className: "mint:w-5 mint:h-5 mint:shrink-0" }),
|
|
271
|
+
/* @__PURE__ */ n("span", { children: e.label }),
|
|
272
|
+
e.component
|
|
273
|
+
] }) }, d) : /* @__PURE__ */ l(
|
|
274
|
+
s,
|
|
260
275
|
{
|
|
261
|
-
href:
|
|
276
|
+
href: e.href,
|
|
262
277
|
target: "_blank",
|
|
263
278
|
rel: "noopener noreferrer",
|
|
264
279
|
className: "mint:flex mint:items-center mint:py-2 mint:gap-2 mint:text-sm mint:no-underline mint:text-[#424242] mint:dark:text-[#9ca3af] 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",
|
|
265
280
|
children: [
|
|
266
|
-
/* @__PURE__ */
|
|
267
|
-
/* @__PURE__ */
|
|
281
|
+
/* @__PURE__ */ n(f, { className: "mint:w-5 mint:h-5 mint:shrink-0" }),
|
|
282
|
+
/* @__PURE__ */ n("span", { children: e.label })
|
|
268
283
|
]
|
|
269
284
|
},
|
|
270
285
|
d
|
|
@@ -278,6 +293,6 @@ function F({
|
|
|
278
293
|
);
|
|
279
294
|
}
|
|
280
295
|
export {
|
|
281
|
-
|
|
296
|
+
H as NavTree
|
|
282
297
|
};
|
|
283
298
|
//# sourceMappingURL=index.js.map
|
|
@@ -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}\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-[#9ca3af]',\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-sm mint:font-semibold mint:text-[#141414] mint:dark:text-white mint:mb-3 mint:flex mint:items-start mint:gap-2 mint:pl-2.5\">\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\" 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-[#4b5563] mint:dark:text-[#9ca3af] mint:hover:bg-[rgba(75,85,99,0.05)] mint:hover:text-[#141414] mint:dark:hover:bg-[rgba(75,85,99,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\" 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: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-[#424242] mint:dark:text-[#9ca3af] 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(75,85,99,0.05)] mint:hover:text-[#141414] mint:dark:hover:bg-[rgba(75,85,99,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\" 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-[#424242] mint:dark:text-[#9ca3af] 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(75,85,99,0.05)] mint:hover:text-[#141414] mint:dark:hover:bg-[rgba(75,85,99,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 useEffect(() => {\n const navElement = navContentRef.current;\n if (!navElement || !activeHref) return;\n\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 }, [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-[#424242] mint:dark:text-[#9ca3af]'\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-[#9ca3af] 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-[#9ca3af] 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 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-[#424242] mint:dark:text-[#9ca3af] 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","allLinks","activeLink","link","anchor","normalizeAnchorHref","isAnchorActive","normalizedActive","normalizedAnchor","cleanActive","cleanAnchor","a","cleanHref","longest","current","longestHref"],"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-[16px] mint:h-[16px] mint:shrink-0 mint:text-[#6b7280] mint:dark:text-[#9ca3af]',\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-sm mint:font-semibold mint:text-[#141414] mint:dark:text-white mint:mb-3 mint:flex mint:items-start mint:gap-2 mint:pl-2.5\">\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\" 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-[#4b5563] mint:dark:text-[#9ca3af] mint:hover:bg-[rgba(75,85,99,0.05)] mint:hover:text-[#141414] mint:dark:hover:bg-[rgba(75,85,99,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\" 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: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-[#424242] mint:dark:text-[#9ca3af] 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(75,85,99,0.05)] mint:hover:text-[#141414] mint:dark:hover:bg-[rgba(75,85,99,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\" 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-[#424242] mint:dark:text-[#9ca3af] 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(75,85,99,0.05)] mint:hover:text-[#141414] mint:dark:hover:bg-[rgba(75,85,99,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 useEffect(() => {\n const navElement = navContentRef.current;\n if (!navElement || !activeHref) return;\n\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 }, [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-[#424242] mint:dark:text-[#9ca3af]'\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-[#9ca3af] 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-[#9ca3af] 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-[#424242] mint:dark:text-[#9ca3af] 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-[#424242] mint:dark:text-[#9ca3af] 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-[#424242] mint:dark:text-[#9ca3af] 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","allLinks","activeLink","link","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
|
@@ -195,11 +195,12 @@ export declare type ApiReferenceProvider2Props = {
|
|
|
195
195
|
};
|
|
196
196
|
|
|
197
197
|
export declare interface BottomLinkConfig {
|
|
198
|
-
href
|
|
198
|
+
href?: string;
|
|
199
199
|
label: string;
|
|
200
200
|
icon: default_2.ComponentType<{
|
|
201
201
|
className?: string;
|
|
202
202
|
}>;
|
|
203
|
+
component?: default_2.ReactNode;
|
|
203
204
|
}
|
|
204
205
|
|
|
205
206
|
export declare function Callout({ type, children }: CalloutProps): JSX_2.Element;
|