@mintlify/msft-sdk 1.1.10 → 1.1.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/content-components/code-block.js +3 -3
- package/dist/components/content-components/code-block.js.map +1 -1
- package/dist/components/content-components/default-components.js +21 -26
- package/dist/components/content-components/default-components.js.map +1 -1
- package/dist/components/content-components/details/details.js +1 -1
- package/dist/components/content-components/details/details.js.map +1 -1
- package/dist/components/content-components/home.js +3 -278
- package/dist/components/content-components/home.js.map +1 -1
- package/dist/components/content-components/image.js +80 -0
- package/dist/components/content-components/image.js.map +1 -0
- package/dist/components/content-components/param-name.js +1 -1
- package/dist/components/content-components/param-name.js.map +1 -1
- package/dist/components/content-components/zone-pivots/zone-pivot-selector.js +22 -19
- package/dist/components/content-components/zone-pivots/zone-pivot-selector.js.map +1 -1
- package/dist/components/docsLayout.js +60 -0
- package/dist/components/docsLayout.js.map +1 -0
- package/dist/components/docsPage.js +128 -0
- package/dist/components/docsPage.js.map +1 -0
- package/dist/components/nav-tree/index.js +127 -159
- package/dist/components/nav-tree/index.js.map +1 -1
- package/dist/components/nav-tree/mobile-nav.js +21 -23
- package/dist/components/nav-tree/mobile-nav.js.map +1 -1
- package/dist/components/page-context-menu.js +47 -53
- package/dist/components/page-context-menu.js.map +1 -1
- package/dist/components/toc/index.js +5 -5
- package/dist/components/toc/index.js.map +1 -1
- package/dist/index.d.ts +180 -40
- package/dist/index.js +62 -64
- package/dist/index.js.map +1 -1
- package/dist/parser/serialize-mdx.js +27 -22
- package/dist/parser/serialize-mdx.js.map +1 -1
- package/dist/plugins/extract-headings.js +23 -17
- package/dist/plugins/extract-headings.js.map +1 -1
- package/dist/plugins/remark/remark-heading-ids.js +21 -14
- package/dist/plugins/remark/remark-heading-ids.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +1 -1
- package/dist/components/Api/Api.js +0 -42
- package/dist/components/Api/Api.js.map +0 -1
- package/dist/components/Api/Api.module.css.js +0 -22
- package/dist/components/Api/Api.module.css.js.map +0 -1
- package/dist/components/nav-tree/dropdown-menu.js +0 -75
- package/dist/components/nav-tree/dropdown-menu.js.map +0 -1
- package/dist/components/page.js +0 -120
- package/dist/components/page.js.map +0 -1
|
@@ -1,16 +1,15 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import { useRef as
|
|
3
|
-
import { useComponents as
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { MethodPill as E } from "../Api/MethodPill.js";
|
|
1
|
+
import { jsxs as s, jsx as n } from "react/jsx-runtime";
|
|
2
|
+
import { useRef as A, useEffect as y, useState as L } from "react";
|
|
3
|
+
import { useComponents as _ } from "../../context/components-context.js";
|
|
4
|
+
import { cn as N } from "../../utils/cn.js";
|
|
5
|
+
import { MethodPill as j } from "../Api/MethodPill.js";
|
|
7
6
|
/* empty css */
|
|
8
|
-
function
|
|
7
|
+
function E({ isExpanded: t }) {
|
|
9
8
|
return /* @__PURE__ */ n(
|
|
10
9
|
"svg",
|
|
11
10
|
{
|
|
12
|
-
className:
|
|
13
|
-
"mint:w-[16px] mint:h-[16px] mint:shrink-0 mint:
|
|
11
|
+
className: N(
|
|
12
|
+
"mint:w-[16px] mint:h-[16px] mint:shrink-0 mint:text-[#6b7280] mint:dark:text-[#9ca3af]",
|
|
14
13
|
t ? "mint:rotate-90" : "mint:rotate-0"
|
|
15
14
|
),
|
|
16
15
|
fill: "none",
|
|
@@ -29,156 +28,128 @@ function g({ isExpanded: t }) {
|
|
|
29
28
|
}
|
|
30
29
|
);
|
|
31
30
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
{
|
|
46
|
-
d: "M2.49999 1C1.67157 1 0.999995 1.67157 0.999995 2.5V9.5C0.999995 10.3284 1.67157 11 2.49999 11H9.49996C10.3284 11 10.9999 10.3284 10.9999 9.5V7.26923C10.9999 6.99309 11.2238 6.76923 11.4999 6.76923C11.7761 6.76923 11.9999 6.99309 11.9999 7.26923V9.5C11.9999 10.8807 10.8807 12 9.49996 12H2.49999C1.11928 12 0 10.8807 0 9.5V2.5C0 1.11929 1.11928 0 2.49999 0H4.73075C5.00689 0 5.23074 0.223858 5.23074 0.5C5.23074 0.776142 5.00689 1 4.73075 1H2.49999ZM6.76926 0.5C6.76926 0.223858 6.99311 0 7.26925 0H11.5C11.7761 0 12 0.223858 12 0.5V4.73077C12 5.00691 11.7761 5.23077 11.5 5.23077C11.2239 5.23077 11 5.00691 11 4.73077V1.70711L7.6228 5.08433C7.42754 5.27959 7.11096 5.27959 6.9157 5.08433C6.72044 4.88906 6.72044 4.57248 6.9157 4.37722L10.2929 1H7.26925C6.99311 1 6.76926 0.776142 6.76926 0.5Z",
|
|
47
|
-
fill: "#707070"
|
|
48
|
-
}
|
|
49
|
-
)
|
|
50
|
-
}
|
|
51
|
-
),
|
|
52
|
-
/* @__PURE__ */ n(
|
|
53
|
-
"svg",
|
|
54
|
-
{
|
|
55
|
-
className: "mint:hidden mint:dark:block",
|
|
56
|
-
width: "12",
|
|
57
|
-
height: "12",
|
|
58
|
-
viewBox: "0 0 12 12",
|
|
59
|
-
fill: "none",
|
|
60
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
61
|
-
children: /* @__PURE__ */ n(
|
|
62
|
-
"path",
|
|
63
|
-
{
|
|
64
|
-
d: "M2.49999 1C1.67157 1 0.999995 1.67157 0.999995 2.5V9.5C0.999995 10.3284 1.67157 11 2.49999 11H9.49996C10.3284 11 10.9999 10.3284 10.9999 9.5V7.26923C10.9999 6.99309 11.2238 6.76923 11.4999 6.76923C11.7761 6.76923 11.9999 6.99309 11.9999 7.26923V9.5C11.9999 10.8807 10.8807 12 9.49996 12H2.49999C1.11928 12 0 10.8807 0 9.5V2.5C0 1.11929 1.11928 0 2.49999 0H4.73075C5.00689 0 5.23074 0.223858 5.23074 0.5C5.23074 0.776142 5.00689 1 4.73075 1H2.49999ZM6.76926 0.5C6.76926 0.223858 6.99311 0 7.26925 0H11.5C11.7761 0 12 0.223858 12 0.5V4.73077C12 5.00691 11.7761 5.23077 11.5 5.23077C11.2239 5.23077 11 5.00691 11 4.73077V1.70711L7.6228 5.08433C7.42754 5.27959 7.11096 5.27959 6.9157 5.08433C6.72044 4.88906 6.72044 4.57248 6.9157 4.37722L10.2929 1H7.26925C6.99311 1 6.76926 0.776142 6.76926 0.5Z",
|
|
65
|
-
fill: "#999999"
|
|
66
|
-
}
|
|
67
|
-
)
|
|
68
|
-
}
|
|
69
|
-
)
|
|
70
|
-
] });
|
|
71
|
-
}
|
|
72
|
-
function p({ item: t, activeId: s, level: a = 0 }) {
|
|
73
|
-
const h = a === 0 ? !0 : t.expanded ?? !1, [r, b] = w(h), { LinkComponent: c } = v(), d = t.children && t.children.length > 0, f = !t.href, o = t.href && s === t.href, u = t.icon;
|
|
74
|
-
if (f && a === 0)
|
|
75
|
-
return /* @__PURE__ */ m(
|
|
31
|
+
const $ = "mint:bg-[#e6e6e6] mint:dark:bg-[#2e2e2e] mint:text-[#242424] mint:dark:text-[#ffffff] mint:font-semibold";
|
|
32
|
+
function w({ item: t, activeId: h, level: f = 0, activeHref: r }) {
|
|
33
|
+
const u = t.children && t.children.length > 0, b = (i) => i ? i.startsWith("/") ? i : `/${i}` : "", x = (i, d) => {
|
|
34
|
+
if (!i || !d) return !1;
|
|
35
|
+
const k = b(i), v = b(d);
|
|
36
|
+
return k === v || k.replace("/docs/", "/") === v.replace("/docs/", "/") || k === v.replace("/docs/", "/") || k.replace("/docs/", "/") === v;
|
|
37
|
+
}, p = (i) => x(i.href, r) ? !0 : i.children ? i.children.some(p) : !1, C = f === 0 ? !0 : (t.expanded ?? !1) || u && p(t), [e, o] = L(C);
|
|
38
|
+
y(() => {
|
|
39
|
+
u && p(t) && o(!0);
|
|
40
|
+
}, [r]);
|
|
41
|
+
const { LinkComponent: g } = _(), m = !t.href, l = t.href && (x(t.href, h) || x(t.href, r)), a = t.icon;
|
|
42
|
+
if (m && f === 0)
|
|
43
|
+
return /* @__PURE__ */ s(
|
|
76
44
|
"div",
|
|
77
45
|
{
|
|
78
46
|
id: "nav-group",
|
|
79
|
-
className: "mint:mb-6",
|
|
80
47
|
role: "group",
|
|
81
48
|
"aria-label": t.toc_title,
|
|
82
49
|
children: [
|
|
83
|
-
/* @__PURE__ */
|
|
84
|
-
|
|
50
|
+
/* @__PURE__ */ s("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-3", children: [
|
|
51
|
+
a && /* @__PURE__ */ n(a, { className: "mint:w-5 mint:h-5", "aria-hidden": "true" }),
|
|
85
52
|
/* @__PURE__ */ n("span", { children: t.toc_title })
|
|
86
53
|
] }),
|
|
87
|
-
|
|
88
|
-
|
|
54
|
+
u && t.children && /* @__PURE__ */ n("ul", { className: "mint:flex mint:flex-col", role: "list", children: t.children.map((i, d) => /* @__PURE__ */ n(
|
|
55
|
+
w,
|
|
89
56
|
{
|
|
90
57
|
item: i,
|
|
91
|
-
activeId:
|
|
92
|
-
level:
|
|
58
|
+
activeId: h,
|
|
59
|
+
level: f + 1,
|
|
60
|
+
activeHref: r
|
|
93
61
|
},
|
|
94
|
-
`${i.href}-${
|
|
62
|
+
`${i.href}-${d}`
|
|
95
63
|
)) })
|
|
96
64
|
]
|
|
97
65
|
}
|
|
98
66
|
);
|
|
99
|
-
if (
|
|
100
|
-
return /* @__PURE__ */
|
|
101
|
-
/* @__PURE__ */
|
|
67
|
+
if (m && f > 0)
|
|
68
|
+
return /* @__PURE__ */ s("li", { className: "mint:list-none", children: [
|
|
69
|
+
/* @__PURE__ */ s(
|
|
102
70
|
"button",
|
|
103
71
|
{
|
|
104
72
|
id: "nav-group-toggle",
|
|
105
|
-
onClick: () =>
|
|
106
|
-
"aria-expanded":
|
|
107
|
-
"aria-label": `${
|
|
108
|
-
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:
|
|
73
|
+
onClick: () => o(!e),
|
|
74
|
+
"aria-expanded": e,
|
|
75
|
+
"aria-label": `${e ? "Collapse" : "Expand"} ${t.toc_title} section`,
|
|
76
|
+
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",
|
|
109
77
|
children: [
|
|
110
78
|
/* @__PURE__ */ n("span", { className: "mint:flex-1 mint:min-w-0", children: t.toc_title }),
|
|
111
|
-
/* @__PURE__ */ n(
|
|
79
|
+
/* @__PURE__ */ n(E, { isExpanded: !!e })
|
|
112
80
|
]
|
|
113
81
|
}
|
|
114
82
|
),
|
|
115
|
-
|
|
83
|
+
u && e && t.children && /* @__PURE__ */ n(
|
|
116
84
|
"ul",
|
|
117
85
|
{
|
|
118
86
|
className: "mint:mt-1 mint:ml-2 mint:flex mint:flex-col mint:gap-1 mint:pl-3",
|
|
119
87
|
role: "group",
|
|
120
|
-
children: t.children.map((i,
|
|
121
|
-
|
|
88
|
+
children: t.children.map((i, d) => /* @__PURE__ */ n(
|
|
89
|
+
w,
|
|
122
90
|
{
|
|
123
91
|
item: i,
|
|
124
|
-
activeId:
|
|
125
|
-
level:
|
|
92
|
+
activeId: h,
|
|
93
|
+
level: f + 1,
|
|
94
|
+
activeHref: r
|
|
126
95
|
},
|
|
127
|
-
`${i.href}-${
|
|
96
|
+
`${i.href}-${d}`
|
|
128
97
|
))
|
|
129
98
|
}
|
|
130
99
|
)
|
|
131
100
|
] });
|
|
132
|
-
const
|
|
133
|
-
return
|
|
134
|
-
/* @__PURE__ */
|
|
101
|
+
const c = g || "a";
|
|
102
|
+
return u ? /* @__PURE__ */ s("li", { className: "mint:list-none", children: [
|
|
103
|
+
/* @__PURE__ */ s(
|
|
135
104
|
"button",
|
|
136
105
|
{
|
|
137
106
|
id: "nav-item-toggle",
|
|
138
|
-
onClick: () =>
|
|
139
|
-
"aria-expanded":
|
|
140
|
-
"aria-label": `${
|
|
141
|
-
className:
|
|
142
|
-
"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-sans mint:font-normal mint:rounded-xl mint:
|
|
143
|
-
|
|
107
|
+
onClick: () => o(!e),
|
|
108
|
+
"aria-expanded": e,
|
|
109
|
+
"aria-label": `${e ? "Collapse" : "Expand"} ${t.toc_title} section`,
|
|
110
|
+
className: N(
|
|
111
|
+
"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-sans 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",
|
|
112
|
+
l ? $ : "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]"
|
|
144
113
|
),
|
|
145
114
|
children: [
|
|
146
115
|
/* @__PURE__ */ n("span", { className: "mint:flex-1 mint:min-w-0", children: t.toc_title }),
|
|
147
|
-
/* @__PURE__ */ n(
|
|
116
|
+
/* @__PURE__ */ n(E, { isExpanded: !!e })
|
|
148
117
|
]
|
|
149
118
|
}
|
|
150
119
|
),
|
|
151
|
-
|
|
120
|
+
e && t.children && /* @__PURE__ */ n(
|
|
152
121
|
"ul",
|
|
153
122
|
{
|
|
154
123
|
className: "mint:mt-1 mint:ml-2 mint:flex mint:flex-col mint:gap-1 mint:pl-3",
|
|
155
124
|
role: "group",
|
|
156
|
-
children: t.children.map((i,
|
|
157
|
-
|
|
125
|
+
children: t.children.map((i, d) => /* @__PURE__ */ n(
|
|
126
|
+
w,
|
|
158
127
|
{
|
|
159
128
|
item: i,
|
|
160
|
-
activeId:
|
|
161
|
-
level:
|
|
129
|
+
activeId: h,
|
|
130
|
+
level: f + 1,
|
|
131
|
+
activeHref: r
|
|
162
132
|
},
|
|
163
|
-
`${i.href}-${
|
|
133
|
+
`${i.href}-${d}`
|
|
164
134
|
))
|
|
165
135
|
}
|
|
166
136
|
)
|
|
167
|
-
] }) : /* @__PURE__ */ n("li", { className: "mint:list-none", children: /* @__PURE__ */
|
|
168
|
-
|
|
137
|
+
] }) : /* @__PURE__ */ n("li", { className: "mint:list-none", children: /* @__PURE__ */ s(
|
|
138
|
+
c,
|
|
169
139
|
{
|
|
170
140
|
id: "nav-item",
|
|
171
141
|
href: t.href,
|
|
172
|
-
"aria-current":
|
|
173
|
-
className:
|
|
174
|
-
"mint:relative mint:flex mint:items-center mint:gap-2 mint:py-2 mint:px-3 mint:text-[14px] mint:font-sans mint:font-normal mint:rounded-xl mint:
|
|
175
|
-
|
|
142
|
+
"aria-current": l ? "page" : void 0,
|
|
143
|
+
className: N(
|
|
144
|
+
"mint:relative mint:flex mint:items-center mint:gap-2 mint:py-2 mint:px-3 mint:text-[14px] mint:font-sans 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",
|
|
145
|
+
l ? $ : "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]"
|
|
176
146
|
),
|
|
177
147
|
children: [
|
|
148
|
+
l && /* @__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]" }),
|
|
178
149
|
t.method && /* @__PURE__ */ n(
|
|
179
|
-
|
|
150
|
+
j,
|
|
180
151
|
{
|
|
181
|
-
isActive: !!
|
|
152
|
+
isActive: !!l,
|
|
182
153
|
method: t.method,
|
|
183
154
|
shortMethod: !0
|
|
184
155
|
}
|
|
@@ -188,93 +159,91 @@ function p({ item: t, activeId: s, level: a = 0 }) {
|
|
|
188
159
|
}
|
|
189
160
|
) });
|
|
190
161
|
}
|
|
191
|
-
function
|
|
162
|
+
function B({
|
|
192
163
|
navTree: t,
|
|
193
|
-
activeId:
|
|
194
|
-
className:
|
|
195
|
-
dropdown: h,
|
|
164
|
+
activeId: h,
|
|
165
|
+
className: f = "",
|
|
196
166
|
activeHref: r,
|
|
197
|
-
theme:
|
|
198
|
-
bottomLinks:
|
|
167
|
+
theme: u,
|
|
168
|
+
bottomLinks: b
|
|
199
169
|
}) {
|
|
200
|
-
const { LinkComponent:
|
|
201
|
-
if (
|
|
202
|
-
const e =
|
|
203
|
-
if (!e) return;
|
|
204
|
-
const
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
sessionStorage.setItem(
|
|
208
|
-
o,
|
|
209
|
-
e.scrollTop.toString()
|
|
210
|
-
);
|
|
211
|
-
};
|
|
212
|
-
return e.addEventListener("scroll", l), () => {
|
|
213
|
-
e.removeEventListener("scroll", l);
|
|
170
|
+
const { LinkComponent: x } = _(), p = A(null);
|
|
171
|
+
if (y(() => {
|
|
172
|
+
const e = p.current;
|
|
173
|
+
if (!e || !r) return;
|
|
174
|
+
const o = (m) => m ? m.startsWith("/") ? m : `/${m}` : "", g = (m, l) => {
|
|
175
|
+
const a = o(m), c = o(l);
|
|
176
|
+
return a === c || a.replace("/docs/", "/") === c.replace("/docs/", "/") || a === c.replace("/docs/", "/") || a.replace("/docs/", "/") === c;
|
|
214
177
|
};
|
|
215
|
-
|
|
178
|
+
requestAnimationFrame(() => {
|
|
179
|
+
const m = e.querySelectorAll("a[href]");
|
|
180
|
+
let l = null;
|
|
181
|
+
for (const a of Array.from(m)) {
|
|
182
|
+
const c = a.getAttribute("href");
|
|
183
|
+
if (c && g(c, r)) {
|
|
184
|
+
l = a;
|
|
185
|
+
break;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
l && l.scrollIntoView({
|
|
189
|
+
behavior: "instant",
|
|
190
|
+
block: "center",
|
|
191
|
+
inline: "nearest"
|
|
192
|
+
});
|
|
193
|
+
});
|
|
194
|
+
}, [r]), !t || t.items.length === 0)
|
|
216
195
|
return null;
|
|
217
|
-
const
|
|
218
|
-
return /* @__PURE__ */
|
|
196
|
+
const C = x || "a";
|
|
197
|
+
return /* @__PURE__ */ s(
|
|
219
198
|
"nav",
|
|
220
199
|
{
|
|
221
200
|
id: "nav-tree",
|
|
222
|
-
className:
|
|
223
|
-
"mint:flex mint:flex-col mint:
|
|
224
|
-
|
|
225
|
-
|
|
201
|
+
className: N(
|
|
202
|
+
"mint:flex mint:flex-col mint:h-full mint:min-h-0",
|
|
203
|
+
f,
|
|
204
|
+
u === "dark" && "mint:dark"
|
|
226
205
|
),
|
|
227
206
|
"aria-label": "Documentation navigation",
|
|
228
207
|
children: [
|
|
229
|
-
/* @__PURE__ */
|
|
208
|
+
/* @__PURE__ */ n(
|
|
230
209
|
"div",
|
|
231
210
|
{
|
|
232
211
|
id: "nav-tree-content",
|
|
233
|
-
ref:
|
|
234
|
-
className: "mint:flex-1 mint:overflow-y-auto mint:overflow-x-hidden mint:min-h-0 mint:[scrollbar-gutter:stable] mint:
|
|
235
|
-
children:
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
t.items.map((e, i) => /* @__PURE__ */ n(
|
|
245
|
-
p,
|
|
246
|
-
{
|
|
247
|
-
item: e,
|
|
248
|
-
activeId: s
|
|
249
|
-
},
|
|
250
|
-
`${e.href}-${i}`
|
|
251
|
-
))
|
|
252
|
-
]
|
|
212
|
+
ref: p,
|
|
213
|
+
className: "mint:flex-1 mint:overflow-y-auto mint:overflow-x-hidden mint:min-h-0 mint:[scrollbar-gutter:stable] mint:px-3 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",
|
|
214
|
+
children: t.items.map((e, o) => /* @__PURE__ */ n(
|
|
215
|
+
w,
|
|
216
|
+
{
|
|
217
|
+
item: e,
|
|
218
|
+
activeId: h,
|
|
219
|
+
activeHref: r
|
|
220
|
+
},
|
|
221
|
+
`${e.href}-${o}`
|
|
222
|
+
))
|
|
253
223
|
}
|
|
254
224
|
),
|
|
255
|
-
|
|
225
|
+
b && b.length > 0 && /* @__PURE__ */ s(
|
|
256
226
|
"div",
|
|
257
227
|
{
|
|
258
228
|
id: "nav-tree-bottom-links",
|
|
259
229
|
className: "mint:shrink-0 mint:w-full mint:bg-[#f0f0f0] mint:dark:bg-[#0f0f0f] mint:mt-auto",
|
|
260
230
|
children: [
|
|
261
231
|
/* @__PURE__ */ n("div", { className: "mint:h-[0.5px] mint:w-full mint:bg-[#d1d1d1] mint:dark:bg-[#666666]" }),
|
|
262
|
-
/* @__PURE__ */ n("div", { className: "mint:flex mint:flex-col mint:
|
|
263
|
-
const
|
|
264
|
-
return /* @__PURE__ */
|
|
265
|
-
|
|
232
|
+
/* @__PURE__ */ n("div", { className: "mint:flex mint:flex-col mint:py-3 mint:px-3", children: b.map((e, o) => {
|
|
233
|
+
const g = e.icon;
|
|
234
|
+
return /* @__PURE__ */ s(
|
|
235
|
+
C,
|
|
266
236
|
{
|
|
267
237
|
href: e.href,
|
|
268
238
|
target: "_blank",
|
|
269
239
|
rel: "noopener noreferrer",
|
|
270
|
-
className: "mint:flex mint:items-center 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",
|
|
240
|
+
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",
|
|
271
241
|
children: [
|
|
272
|
-
/* @__PURE__ */ n(
|
|
273
|
-
/* @__PURE__ */ n("span", { children: e.label })
|
|
274
|
-
/* @__PURE__ */ n(H, {})
|
|
242
|
+
/* @__PURE__ */ n(g, { className: "mint:w-5 mint:h-5 mint:shrink-0" }),
|
|
243
|
+
/* @__PURE__ */ n("span", { children: e.label })
|
|
275
244
|
]
|
|
276
245
|
},
|
|
277
|
-
|
|
246
|
+
o
|
|
278
247
|
);
|
|
279
248
|
}) })
|
|
280
249
|
]
|
|
@@ -285,7 +254,6 @@ function y({
|
|
|
285
254
|
);
|
|
286
255
|
}
|
|
287
256
|
export {
|
|
288
|
-
|
|
289
|
-
y as NavTree
|
|
257
|
+
B as NavTree
|
|
290
258
|
};
|
|
291
259
|
//# 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\";\nimport type { NavItem, NavTreeData } from \"../../types\";\nimport { useComponents } from \"../../context/components-context\";\nimport { DropdownConfig, DropdownMenu } from \"./dropdown-menu\";\nimport { cn } from \"../../utils/cn\";\nimport { MethodPill } from \"../Api/MethodPill\";\nexport { DropdownMenu } from \"./dropdown-menu\";\nexport type { DropdownConfig, DropdownItem } from \"./dropdown-menu\";\nexport { MobileNavTree } from \"./mobile-nav\";\nexport type { MobileNavTreeProps } from \"./mobile-nav\";\nimport \"../../styles.css\";\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 dropdown?: DropdownConfig;\n activeHref?: string;\n theme?: \"light\" | \"dark\" | \"system\";\n bottomLinks?: BottomLinkConfig[];\n}\n\ninterface TreeItemProps {\n item: NavItem;\n activeId?: string;\n level?: number;\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:transition-transform mint:duration-150 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\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M9 5l7 7-7 7\"\n />\n </svg>\n );\n}\n\nfunction ExternalIcon() {\n return (\n <div className=\"mint:ml-auto\">\n <svg\n className=\"mint:block mint:dark:hidden\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M2.49999 1C1.67157 1 0.999995 1.67157 0.999995 2.5V9.5C0.999995 10.3284 1.67157 11 2.49999 11H9.49996C10.3284 11 10.9999 10.3284 10.9999 9.5V7.26923C10.9999 6.99309 11.2238 6.76923 11.4999 6.76923C11.7761 6.76923 11.9999 6.99309 11.9999 7.26923V9.5C11.9999 10.8807 10.8807 12 9.49996 12H2.49999C1.11928 12 0 10.8807 0 9.5V2.5C0 1.11929 1.11928 0 2.49999 0H4.73075C5.00689 0 5.23074 0.223858 5.23074 0.5C5.23074 0.776142 5.00689 1 4.73075 1H2.49999ZM6.76926 0.5C6.76926 0.223858 6.99311 0 7.26925 0H11.5C11.7761 0 12 0.223858 12 0.5V4.73077C12 5.00691 11.7761 5.23077 11.5 5.23077C11.2239 5.23077 11 5.00691 11 4.73077V1.70711L7.6228 5.08433C7.42754 5.27959 7.11096 5.27959 6.9157 5.08433C6.72044 4.88906 6.72044 4.57248 6.9157 4.37722L10.2929 1H7.26925C6.99311 1 6.76926 0.776142 6.76926 0.5Z\"\n fill=\"#707070\"\n />\n </svg>\n <svg\n className=\"mint:hidden mint:dark:block\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M2.49999 1C1.67157 1 0.999995 1.67157 0.999995 2.5V9.5C0.999995 10.3284 1.67157 11 2.49999 11H9.49996C10.3284 11 10.9999 10.3284 10.9999 9.5V7.26923C10.9999 6.99309 11.2238 6.76923 11.4999 6.76923C11.7761 6.76923 11.9999 6.99309 11.9999 7.26923V9.5C11.9999 10.8807 10.8807 12 9.49996 12H2.49999C1.11928 12 0 10.8807 0 9.5V2.5C0 1.11929 1.11928 0 2.49999 0H4.73075C5.00689 0 5.23074 0.223858 5.23074 0.5C5.23074 0.776142 5.00689 1 4.73075 1H2.49999ZM6.76926 0.5C6.76926 0.223858 6.99311 0 7.26925 0H11.5C11.7761 0 12 0.223858 12 0.5V4.73077C12 5.00691 11.7761 5.23077 11.5 5.23077C11.2239 5.23077 11 5.00691 11 4.73077V1.70711L7.6228 5.08433C7.42754 5.27959 7.11096 5.27959 6.9157 5.08433C6.72044 4.88906 6.72044 4.57248 6.9157 4.37722L10.2929 1H7.26925C6.99311 1 6.76926 0.776142 6.76926 0.5Z\"\n fill=\"#999999\"\n />\n </svg>\n </div>\n );\n}\n\nfunction TreeItemComponent({ item, activeId, level = 0 }: TreeItemProps) {\n const defaultExpanded = level === 0 ? true : item.expanded ?? false;\n const [isExpanded, setIsExpanded] = useState(defaultExpanded);\n const { LinkComponent } = useComponents();\n const hasChildren = item.children && item.children.length > 0;\n const isGroup = !item.href; // A group is any item without an href\n const isActive = item.href && activeId === item.href;\n const Icon = item.icon;\n\n if (isGroup && level === 0) {\n return (\n <div\n id=\"nav-group\"\n className=\"mint:mb-6\"\n role=\"group\"\n aria-label={item.toc_title}\n >\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-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:gap-1\" 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 />\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\"} ${\n item.toc_title\n } 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:transition-all mint:duration-150 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\n className=\"mint:mt-1 mint:ml-2 mint:flex mint:flex-col mint:gap-1 mint:pl-3\"\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 />\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\"} ${\n item.toc_title\n } 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-sans mint:font-normal mint:rounded-xl mint:transition-all mint:duration-150 mint:bg-transparent mint:border-none mint:cursor-pointer mint:text-[#424242] 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 isActive &&\n \"mint:bg-[#e6e6e6] mint:dark:bg-[#2e2e2e] mint:text-[#643fb2] mint:dark:text-[#c9aaf9]\"\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\n className=\"mint:mt-1 mint:ml-2 mint:flex mint:flex-col mint:gap-1 mint:pl-3\"\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 />\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-sans mint:font-normal mint:rounded-xl mint:transition-all mint:duration-150 mint:no-underline mint:text-[#424242] 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 isActive &&\n \"mint:bg-[#e6e6e6] mint:dark:bg-[#2e2e2e] mint:text-[#643fb2] mint:dark:text-[#c9aaf9]\"\n )}\n >\n {item.method && (\n <MethodPill\n isActive={!!isActive}\n method={item.method}\n shortMethod={true}\n />\n )}\n {item.toc_title}\n </LinkElement>\n </li>\n );\n}\n\nexport function NavTree({\n navTree,\n activeId,\n className = \"\",\n dropdown,\n activeHref,\n theme,\n bottomLinks,\n}: NavTreeProps) {\n const { LinkComponent } = useComponents();\n const navContentRef = useRef<HTMLDivElement>(null);\n const SCROLL_POSITION_KEY = \"mint-nav-scroll-position\";\n\n useEffect(() => {\n const navElement = navContentRef.current;\n if (!navElement) return;\n\n const savedScrollPosition = sessionStorage.getItem(SCROLL_POSITION_KEY);\n if (savedScrollPosition) {\n navElement.scrollTop = parseInt(savedScrollPosition, 10);\n }\n\n const handleScroll = () => {\n sessionStorage.setItem(\n SCROLL_POSITION_KEY,\n navElement.scrollTop.toString()\n );\n };\n\n navElement.addEventListener(\"scroll\", handleScroll);\n\n return () => {\n navElement.removeEventListener(\"scroll\", handleScroll);\n };\n }, []);\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:gap-2 mint:h-full mint:min-h-0\",\n className,\n theme === \"dark\" && \"mint:dark\"\n )}\n aria-label=\"Documentation navigation\"\n >\n <div\n id=\"nav-tree-content\"\n ref={navContentRef}\n className=\"mint:flex-1 mint:overflow-y-auto mint:overflow-x-hidden mint:min-h-0 mint:[scrollbar-gutter:stable] mint:pr-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\"\n >\n {dropdown && (\n <DropdownMenu\n dropdown={dropdown}\n activeHref={activeHref}\n className=\"mint:mb-6\"\n />\n )}\n {navTree.items.map((item, index) => (\n <TreeItemComponent\n key={`${item.href}-${index}`}\n item={item}\n activeId={activeId}\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:gap-3 mint:py-4 mint:px-3\">\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: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\"\n >\n <Icon className=\"mint:w-5 mint:h-5 mint:shrink-0\" />\n <span>{link.label}</span>\n <ExternalIcon />\n </LinkElement>\n );\n })}\n </div>\n </div>\n )}\n </nav>\n );\n}\n"],"names":["ChevronIcon","isExpanded","jsx","cn","ExternalIcon","jsxs","TreeItemComponent","item","activeId","level","defaultExpanded","setIsExpanded","useState","LinkComponent","useComponents","hasChildren","isGroup","isActive","Icon","child","index","LinkElement","MethodPill","NavTree","navTree","className","dropdown","activeHref","theme","bottomLinks","navContentRef","useRef","SCROLL_POSITION_KEY","useEffect","navElement","savedScrollPosition","handleScroll","DropdownMenu","link"],"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\";\nimport type { NavItem, NavTreeData } from \"../../types\";\nimport { useComponents } from \"../../context/components-context\";\nimport { cn } from \"../../utils/cn\";\nimport { MethodPill } from \"../Api/MethodPill\";\nexport { MobileNavTree } from \"./mobile-nav\";\nexport type { MobileNavTreeProps } from \"./mobile-nav\";\nimport \"../../styles.css\";\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}\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\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M9 5l7 7-7 7\"\n />\n </svg>\n );\n}\n\nconst ACTIVE_ITEM_CLASSES = \"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 norm1 === norm2 || \n norm1.replace('/docs/', '/') === norm2.replace('/docs/', '/') ||\n norm1 === norm2.replace('/docs/', '/') ||\n norm1.replace('/docs/', '/') === norm2;\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 = 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 = 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\n id=\"nav-group\"\n role=\"group\"\n aria-label={item.toc_title}\n >\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-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\" 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\"} ${\n item.toc_title\n } 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\n className=\"mint:mt-1 mint:ml-2 mint:flex mint:flex-col mint:gap-1 mint:pl-3\"\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\"} ${\n item.toc_title\n } 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-sans 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 ? ACTIVE_ITEM_CLASSES : '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\n className=\"mint:mt-1 mint:ml-2 mint:flex mint:flex-col mint:gap-1 mint:pl-3\"\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-sans 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\",\n isActive ? ACTIVE_ITEM_CLASSES : '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\n isActive={!!isActive}\n method={item.method}\n shortMethod={true}\n />\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}: 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 norm1 === norm2 || \n norm1.replace('/docs/', '/') === norm2.replace('/docs/', '/') ||\n norm1 === norm2.replace('/docs/', '/') ||\n norm1.replace('/docs/', '/') === norm2;\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\" && \"mint:dark\"\n )}\n aria-label=\"Documentation navigation\"\n >\n <div\n id=\"nav-tree-content\"\n ref={navContentRef}\n className=\"mint:flex-1 mint:overflow-y-auto mint:overflow-x-hidden mint:min-h-0 mint:[scrollbar-gutter:stable] mint:px-3 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 {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-3\">\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\"\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","navContentRef","useRef","navElement","allLinks","activeLink","link"],"mappings":"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"}
|
|
@@ -1,57 +1,55 @@
|
|
|
1
1
|
import { jsx as t, jsxs as n } from "react/jsx-runtime";
|
|
2
|
-
import { Dialog as
|
|
3
|
-
import { NavTree as
|
|
4
|
-
import { Dismiss16Regular as
|
|
5
|
-
import { ComponentsProvider as
|
|
6
|
-
import { cn as
|
|
2
|
+
import { Dialog as c, DialogBackdrop as f, DialogPanel as p } from "@headlessui/react";
|
|
3
|
+
import { NavTree as u } from "./index.js";
|
|
4
|
+
import { Dismiss16Regular as b } from "@fluentui/react-icons";
|
|
5
|
+
import { ComponentsProvider as x } from "../../context/components-context.js";
|
|
6
|
+
import { cn as h } from "../../utils/cn.js";
|
|
7
7
|
/* empty css */
|
|
8
|
-
function
|
|
8
|
+
function j({
|
|
9
9
|
isOpen: i,
|
|
10
10
|
setIsOpen: m,
|
|
11
11
|
navTree: o,
|
|
12
12
|
activeId: r,
|
|
13
13
|
className: a = "",
|
|
14
14
|
theme: e,
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
LinkComponent: c
|
|
15
|
+
activeHref: l,
|
|
16
|
+
bottomLinks: s,
|
|
17
|
+
LinkComponent: d
|
|
19
18
|
}) {
|
|
20
|
-
return /* @__PURE__ */ t(
|
|
21
|
-
|
|
19
|
+
return /* @__PURE__ */ t(x, { LinkComponent: d, children: /* @__PURE__ */ n(
|
|
20
|
+
c,
|
|
22
21
|
{
|
|
23
22
|
open: i,
|
|
24
23
|
onClose: () => m(!1),
|
|
25
|
-
className:
|
|
24
|
+
className: h(
|
|
26
25
|
"mint:fixed mint:inset-0 mint:overflow-y-auto mint:z-50 mint:lg:hidden",
|
|
27
26
|
e === "dark" && "mint:dark"
|
|
28
27
|
),
|
|
29
28
|
children: [
|
|
30
29
|
/* @__PURE__ */ t(
|
|
31
|
-
|
|
30
|
+
f,
|
|
32
31
|
{
|
|
33
32
|
transition: !0,
|
|
34
33
|
className: "mint:fixed mint:inset-0 mint:bg-black/20 mint:dark:bg-black/80 mint:backdrop-blur mint:transition-opacity mint:duration-300 mint:ease-out mint:data-[closed]:opacity-0"
|
|
35
34
|
}
|
|
36
35
|
),
|
|
37
36
|
/* @__PURE__ */ n("div", { className: "mint:fixed mint:inset-0 mint:flex", children: [
|
|
38
|
-
i && /* @__PURE__ */ t(
|
|
37
|
+
i && /* @__PURE__ */ t(k, { setIsOpen: m }),
|
|
39
38
|
/* @__PURE__ */ t(
|
|
40
|
-
|
|
39
|
+
p,
|
|
41
40
|
{
|
|
42
41
|
id: "mobile-nav",
|
|
43
42
|
transition: !0,
|
|
44
43
|
className: "mint:flex mint:flex-col mint:relative mint:bg-white mint:dark:bg-[#0f0f0f] mint:w-[85vw] mint:min-w-[19rem] mint:max-w-[22rem] mint:min-h-full mint:transition-transform mint:duration-100 mint:ease-in-out mint:data-[closed]:-translate-x-full",
|
|
45
44
|
children: /* @__PURE__ */ t("div", { className: "mint:flex mint:flex-col mint:flex-1 mint:p-4 mint:pt-4 mint:pb-12 mint:overflow-y-auto mint:h-full", children: /* @__PURE__ */ t(
|
|
46
|
-
|
|
45
|
+
u,
|
|
47
46
|
{
|
|
48
47
|
navTree: o,
|
|
49
48
|
activeId: r,
|
|
50
49
|
className: a,
|
|
51
|
-
|
|
52
|
-
activeHref: s,
|
|
50
|
+
activeHref: l,
|
|
53
51
|
theme: e,
|
|
54
|
-
bottomLinks:
|
|
52
|
+
bottomLinks: s
|
|
55
53
|
}
|
|
56
54
|
) })
|
|
57
55
|
}
|
|
@@ -61,7 +59,7 @@ function B({
|
|
|
61
59
|
}
|
|
62
60
|
) });
|
|
63
61
|
}
|
|
64
|
-
const
|
|
62
|
+
const k = ({
|
|
65
63
|
setIsOpen: i
|
|
66
64
|
}) => /* @__PURE__ */ n(
|
|
67
65
|
"button",
|
|
@@ -71,11 +69,11 @@ const v = ({
|
|
|
71
69
|
className: "mint:absolute mint:bg-white mint:dark:bg-[#0f0f0f] mint:rounded-full mint:top-4 mint:right-4 mint:w-8 mint:h-8 mint:flex mint:items-center mint:justify-center mint:border-none mint:cursor-pointer",
|
|
72
70
|
children: [
|
|
73
71
|
/* @__PURE__ */ t("span", { className: "mint:absolute mint:w-px mint:h-px mint:p-0 mint:-m-px mint:overflow-hidden mint:whitespace-nowrap mint:border-0 mint:[clip:rect(0,0,0,0)]", children: "Close navigation" }),
|
|
74
|
-
/* @__PURE__ */ t(
|
|
72
|
+
/* @__PURE__ */ t(b, { className: "mint:w-4 mint:h-4 mint:text-[#6b7280] mint:dark:text-[#9ca3af] mint:hover:text-[#4b5563] mint:dark:hover:text-[#d1d5db]" })
|
|
75
73
|
]
|
|
76
74
|
}
|
|
77
75
|
);
|
|
78
76
|
export {
|
|
79
|
-
|
|
77
|
+
j as MobileNavTree
|
|
80
78
|
};
|
|
81
79
|
//# sourceMappingURL=mobile-nav.js.map
|