@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.
Files changed (45) hide show
  1. package/dist/components/content-components/code-block.js +3 -3
  2. package/dist/components/content-components/code-block.js.map +1 -1
  3. package/dist/components/content-components/default-components.js +21 -26
  4. package/dist/components/content-components/default-components.js.map +1 -1
  5. package/dist/components/content-components/details/details.js +1 -1
  6. package/dist/components/content-components/details/details.js.map +1 -1
  7. package/dist/components/content-components/home.js +3 -278
  8. package/dist/components/content-components/home.js.map +1 -1
  9. package/dist/components/content-components/image.js +80 -0
  10. package/dist/components/content-components/image.js.map +1 -0
  11. package/dist/components/content-components/param-name.js +1 -1
  12. package/dist/components/content-components/param-name.js.map +1 -1
  13. package/dist/components/content-components/zone-pivots/zone-pivot-selector.js +22 -19
  14. package/dist/components/content-components/zone-pivots/zone-pivot-selector.js.map +1 -1
  15. package/dist/components/docsLayout.js +60 -0
  16. package/dist/components/docsLayout.js.map +1 -0
  17. package/dist/components/docsPage.js +128 -0
  18. package/dist/components/docsPage.js.map +1 -0
  19. package/dist/components/nav-tree/index.js +127 -159
  20. package/dist/components/nav-tree/index.js.map +1 -1
  21. package/dist/components/nav-tree/mobile-nav.js +21 -23
  22. package/dist/components/nav-tree/mobile-nav.js.map +1 -1
  23. package/dist/components/page-context-menu.js +47 -53
  24. package/dist/components/page-context-menu.js.map +1 -1
  25. package/dist/components/toc/index.js +5 -5
  26. package/dist/components/toc/index.js.map +1 -1
  27. package/dist/index.d.ts +180 -40
  28. package/dist/index.js +62 -64
  29. package/dist/index.js.map +1 -1
  30. package/dist/parser/serialize-mdx.js +27 -22
  31. package/dist/parser/serialize-mdx.js.map +1 -1
  32. package/dist/plugins/extract-headings.js +23 -17
  33. package/dist/plugins/extract-headings.js.map +1 -1
  34. package/dist/plugins/remark/remark-heading-ids.js +21 -14
  35. package/dist/plugins/remark/remark-heading-ids.js.map +1 -1
  36. package/dist/styles.css +1 -1
  37. package/package.json +1 -1
  38. package/dist/components/Api/Api.js +0 -42
  39. package/dist/components/Api/Api.js.map +0 -1
  40. package/dist/components/Api/Api.module.css.js +0 -22
  41. package/dist/components/Api/Api.module.css.js.map +0 -1
  42. package/dist/components/nav-tree/dropdown-menu.js +0 -75
  43. package/dist/components/nav-tree/dropdown-menu.js.map +0 -1
  44. package/dist/components/page.js +0 -120
  45. package/dist/components/page.js.map +0 -1
@@ -1,16 +1,15 @@
1
- import { jsxs as m, jsx as n } from "react/jsx-runtime";
2
- import { useRef as k, useEffect as C, useState as w } from "react";
3
- import { useComponents as v } from "../../context/components-context.js";
4
- import { DropdownMenu as N } from "./dropdown-menu.js";
5
- import { cn as x } from "../../utils/cn.js";
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 g({ isExpanded: t }) {
7
+ function E({ isExpanded: t }) {
9
8
  return /* @__PURE__ */ n(
10
9
  "svg",
11
10
  {
12
- className: x(
13
- "mint:w-[16px] mint:h-[16px] mint:shrink-0 mint:transition-transform mint:duration-150 mint:text-[#6b7280] mint:dark:text-[#9ca3af]",
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
- function H() {
33
- return /* @__PURE__ */ m("div", { className: "mint:ml-auto", children: [
34
- /* @__PURE__ */ n(
35
- "svg",
36
- {
37
- className: "mint:block mint:dark:hidden",
38
- width: "12",
39
- height: "12",
40
- viewBox: "0 0 12 12",
41
- fill: "none",
42
- xmlns: "http://www.w3.org/2000/svg",
43
- children: /* @__PURE__ */ n(
44
- "path",
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__ */ m("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: [
84
- u && /* @__PURE__ */ n(u, { className: "mint:w-5 mint:h-5", "aria-hidden": "true" }),
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
- d && t.children && /* @__PURE__ */ n("ul", { className: "mint:flex mint:flex-col mint:gap-1", role: "list", children: t.children.map((i, l) => /* @__PURE__ */ n(
88
- p,
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: s,
92
- level: a + 1
58
+ activeId: h,
59
+ level: f + 1,
60
+ activeHref: r
93
61
  },
94
- `${i.href}-${l}`
62
+ `${i.href}-${d}`
95
63
  )) })
96
64
  ]
97
65
  }
98
66
  );
99
- if (f && a > 0)
100
- return /* @__PURE__ */ m("li", { className: "mint:list-none", children: [
101
- /* @__PURE__ */ m(
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: () => b(!r),
106
- "aria-expanded": r,
107
- "aria-label": `${r ? "Collapse" : "Expand"} ${t.toc_title} section`,
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: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",
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(g, { isExpanded: r })
79
+ /* @__PURE__ */ n(E, { isExpanded: !!e })
112
80
  ]
113
81
  }
114
82
  ),
115
- d && r && t.children && /* @__PURE__ */ n(
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, l) => /* @__PURE__ */ n(
121
- p,
88
+ children: t.children.map((i, d) => /* @__PURE__ */ n(
89
+ w,
122
90
  {
123
91
  item: i,
124
- activeId: s,
125
- level: a + 1
92
+ activeId: h,
93
+ level: f + 1,
94
+ activeHref: r
126
95
  },
127
- `${i.href}-${l}`
96
+ `${i.href}-${d}`
128
97
  ))
129
98
  }
130
99
  )
131
100
  ] });
132
- const e = c || "a";
133
- return d ? /* @__PURE__ */ m("li", { className: "mint:list-none", children: [
134
- /* @__PURE__ */ m(
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: () => b(!r),
139
- "aria-expanded": r,
140
- "aria-label": `${r ? "Collapse" : "Expand"} ${t.toc_title} section`,
141
- className: x(
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: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",
143
- o && "mint:bg-[#e6e6e6] mint:dark:bg-[#2e2e2e] mint:text-[#643fb2] mint:dark:text-[#c9aaf9]"
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(g, { isExpanded: r })
116
+ /* @__PURE__ */ n(E, { isExpanded: !!e })
148
117
  ]
149
118
  }
150
119
  ),
151
- r && t.children && /* @__PURE__ */ n(
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, l) => /* @__PURE__ */ n(
157
- p,
125
+ children: t.children.map((i, d) => /* @__PURE__ */ n(
126
+ w,
158
127
  {
159
128
  item: i,
160
- activeId: s,
161
- level: a + 1
129
+ activeId: h,
130
+ level: f + 1,
131
+ activeHref: r
162
132
  },
163
- `${i.href}-${l}`
133
+ `${i.href}-${d}`
164
134
  ))
165
135
  }
166
136
  )
167
- ] }) : /* @__PURE__ */ n("li", { className: "mint:list-none", children: /* @__PURE__ */ m(
168
- e,
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": o ? "page" : void 0,
173
- className: x(
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: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",
175
- o && "mint:bg-[#e6e6e6] mint:dark:bg-[#2e2e2e] mint:text-[#643fb2] mint:dark:text-[#c9aaf9]"
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
- E,
150
+ j,
180
151
  {
181
- isActive: !!o,
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 y({
162
+ function B({
192
163
  navTree: t,
193
- activeId: s,
194
- className: a = "",
195
- dropdown: h,
164
+ activeId: h,
165
+ className: f = "",
196
166
  activeHref: r,
197
- theme: b,
198
- bottomLinks: c
167
+ theme: u,
168
+ bottomLinks: b
199
169
  }) {
200
- const { LinkComponent: d } = v(), f = k(null), o = "mint-nav-scroll-position";
201
- if (C(() => {
202
- const e = f.current;
203
- if (!e) return;
204
- const i = sessionStorage.getItem(o);
205
- i && (e.scrollTop = parseInt(i, 10));
206
- const l = () => {
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
- }, []), !t || t.items.length === 0)
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 u = d || "a";
218
- return /* @__PURE__ */ m(
196
+ const C = x || "a";
197
+ return /* @__PURE__ */ s(
219
198
  "nav",
220
199
  {
221
200
  id: "nav-tree",
222
- className: x(
223
- "mint:flex mint:flex-col mint:gap-2 mint:h-full mint:min-h-0",
224
- a,
225
- b === "dark" && "mint:dark"
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__ */ m(
208
+ /* @__PURE__ */ n(
230
209
  "div",
231
210
  {
232
211
  id: "nav-tree-content",
233
- ref: f,
234
- 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",
235
- children: [
236
- h && /* @__PURE__ */ n(
237
- N,
238
- {
239
- dropdown: h,
240
- activeHref: r,
241
- className: "mint:mb-6"
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
- c && c.length > 0 && /* @__PURE__ */ m(
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:gap-3 mint:py-4 mint:px-3", children: c.map((e, i) => {
263
- const l = e.icon;
264
- return /* @__PURE__ */ m(
265
- u,
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(l, { className: "mint:w-5 mint:h-5 mint:shrink-0" }),
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
- i
246
+ o
278
247
  );
279
248
  }) })
280
249
  ]
@@ -285,7 +254,6 @@ function y({
285
254
  );
286
255
  }
287
256
  export {
288
- N as DropdownMenu,
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 f, DialogBackdrop as p, DialogPanel as u } from "@headlessui/react";
3
- import { NavTree as b } from "./index.js";
4
- import { Dismiss16Regular as x } from "@fluentui/react-icons";
5
- import { ComponentsProvider as h } from "../../context/components-context.js";
6
- import { cn as k } from "../../utils/cn.js";
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 B({
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
- dropdown: l,
16
- activeHref: s,
17
- bottomLinks: d,
18
- LinkComponent: c
15
+ activeHref: l,
16
+ bottomLinks: s,
17
+ LinkComponent: d
19
18
  }) {
20
- return /* @__PURE__ */ t(h, { LinkComponent: c, children: /* @__PURE__ */ n(
21
- f,
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: k(
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
- p,
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(v, { setIsOpen: m }),
37
+ i && /* @__PURE__ */ t(k, { setIsOpen: m }),
39
38
  /* @__PURE__ */ t(
40
- u,
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
- b,
45
+ u,
47
46
  {
48
47
  navTree: o,
49
48
  activeId: r,
50
49
  className: a,
51
- dropdown: l,
52
- activeHref: s,
50
+ activeHref: l,
53
51
  theme: e,
54
- bottomLinks: d
52
+ bottomLinks: s
55
53
  }
56
54
  ) })
57
55
  }
@@ -61,7 +59,7 @@ function B({
61
59
  }
62
60
  ) });
63
61
  }
64
- const v = ({
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(x, { className: "mint:w-4 mint:h-4 mint:text-[#6b7280] mint:dark:text-[#9ca3af] mint:hover:text-[#4b5563] mint:dark:hover:text-[#d1d5db]" })
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
- B as MobileNavTree
77
+ j as MobileNavTree
80
78
  };
81
79
  //# sourceMappingURL=mobile-nav.js.map