@mintlify/msft-sdk 1.1.25 → 1.1.26

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 (106) hide show
  1. package/dist/api-playground/ApiPlayground/ApiPlaygroundContext.js.map +1 -1
  2. package/dist/api-playground/ApiPlayground/Request/BodySection.js.map +1 -1
  3. package/dist/api-playground/ApiPlayground/Request/ParameterSection.js.map +1 -1
  4. package/dist/api-playground/ApiPlayground/Request/PlaygroundModal.js.map +1 -1
  5. package/dist/api-playground/ApiPlayground/Request/SecuritySection.js.map +1 -1
  6. package/dist/api-playground/ApiPlayground/Request/ServerSection.js.map +1 -1
  7. package/dist/api-playground/ApiPlayground/Request/index.js.map +1 -1
  8. package/dist/api-playground/ApiPlayground/Request/inputs/ArrayInput.js.map +1 -1
  9. package/dist/api-playground/ApiPlayground/Request/inputs/FileInput.js.map +1 -1
  10. package/dist/api-playground/ApiPlayground/Request/inputs/NullInput.js.map +1 -1
  11. package/dist/api-playground/ApiPlayground/Request/inputs/NumberInput.js.map +1 -1
  12. package/dist/api-playground/ApiPlayground/Request/inputs/ObjectInput.js.map +1 -1
  13. package/dist/api-playground/ApiPlayground/Request/inputs/RecursiveInput.js.map +1 -1
  14. package/dist/api-playground/ApiPlayground/Request/inputs/SelectInput.js.map +1 -1
  15. package/dist/api-playground/ApiPlayground/Request/inputs/StringInput.js.map +1 -1
  16. package/dist/api-playground/ApiPlayground/Request/inputs/TextInput.js.map +1 -1
  17. package/dist/api-playground/ApiPlayground/Response/CopyFileToClipboardButton.js.map +1 -1
  18. package/dist/api-playground/ApiPlayground/Response/DownloadFileButton.js.map +1 -1
  19. package/dist/api-playground/ApiPlayground/Response/ResponseBody/CodeResponseContent.js.map +1 -1
  20. package/dist/api-playground/ApiPlayground/Response/ResponseBody/index.js.map +1 -1
  21. package/dist/api-playground/ApiPlayground/Response/ResponseError.js.map +1 -1
  22. package/dist/api-playground/ApiPlayground/Response/ResponseHeaders.js.map +1 -1
  23. package/dist/api-playground/ApiPlayground/Response/ResponsePlaceholder.js.map +1 -1
  24. package/dist/api-playground/ApiPlayground/Response/ResponseTable.js.map +1 -1
  25. package/dist/api-playground/ApiPlayground/Response/ResponseTopbar.js.map +1 -1
  26. package/dist/api-playground/ApiPlayground/Response/index.js.map +1 -1
  27. package/dist/api-playground/ApiPlayground/components/AdditionalPropertyButton.js.map +1 -1
  28. package/dist/api-playground/ApiPlayground/components/ArrayCount.js.map +1 -1
  29. package/dist/api-playground/ApiPlayground/components/EndpointsMenuLink.js.map +1 -1
  30. package/dist/api-playground/ApiPlayground/components/InputContainer.js.map +1 -1
  31. package/dist/api-playground/ApiPlayground/components/InputSectionContainer.js.map +1 -1
  32. package/dist/api-playground/ApiPlayground/components/ObjectExpandButton.js.map +1 -1
  33. package/dist/api-playground/ApiPlayground/components/PathHeader.js.map +1 -1
  34. package/dist/api-playground/ApiPlayground/components/PlaygroundModalWrapper.js.map +1 -1
  35. package/dist/api-playground/ApiPlayground/components/TrashButton.js.map +1 -1
  36. package/dist/api-playground/ApiPlayground/components/TypeDropdown.js.map +1 -1
  37. package/dist/api-playground/ApiPlayground/index.js.map +1 -1
  38. package/dist/api-playground/EndpointFields/ParamFields/PrimitiveParamField/NumberMetadata.js.map +1 -1
  39. package/dist/api-playground/EndpointFields/ParamFields/PrimitiveParamField/StringMetadata.js.map +1 -1
  40. package/dist/api-playground/EndpointFields/ParamFields/PrimitiveParamField/index.js.map +1 -1
  41. package/dist/api-playground/EndpointFields/ParamFields/RecursiveParamField.js.map +1 -1
  42. package/dist/api-playground/EndpointFields/components/Description.js.map +1 -1
  43. package/dist/api-playground/EndpointFields/components/OneOfDropdown.js.map +1 -1
  44. package/dist/api-playground/EndpointFields/components/OptionDropdown.js.map +1 -1
  45. package/dist/api-playground/EndpointFields/components/SectionHeading.js.map +1 -1
  46. package/dist/api-playground/EndpointFields/index.js.map +1 -1
  47. package/dist/api-playground-2/Api.js.map +1 -1
  48. package/dist/api-playground-2/ApiExamples.js.map +1 -1
  49. package/dist/api-playground-2/ApiFields.js.map +1 -1
  50. package/dist/api-playground-2/components/EndpointFields/EndpointSecurity.js.map +1 -1
  51. package/dist/api-playground-2/components/EndpointFields/fields/NumberMetadata.js.map +1 -1
  52. package/dist/api-playground-2/components/EndpointFields/fields/PrimitiveParamField.js.map +1 -1
  53. package/dist/api-playground-2/components/EndpointFields/fields/SimpleArrayParamField.js.map +1 -1
  54. package/dist/api-playground-2/components/EndpointFields/fields/SimpleObjectParamField.js.map +1 -1
  55. package/dist/api-playground-2/components/EndpointFields/fields/SimplePrimitiveParamField.js.map +1 -1
  56. package/dist/api-playground-2/components/EndpointFields/fields/StringMetadata.js.map +1 -1
  57. package/dist/api-playground-2/components/Example/RequestExample.js +17 -15
  58. package/dist/api-playground-2/components/Example/RequestExample.js.map +1 -1
  59. package/dist/api-playground-2/components/Example/ResponseExample.js.map +1 -1
  60. package/dist/api-playground-2/components/Request/InputSectionContainer.js.map +1 -1
  61. package/dist/api-playground-2/components/TypeDropdown.js.map +1 -1
  62. package/dist/api-playground-2/contexts/ApiPlaygroundContext.js.map +1 -1
  63. package/dist/api-playground-2/generators/generateInteractiveCodeSample.js +10 -10
  64. package/dist/api-playground-2/generators/generateInteractiveCodeSample.js.map +1 -1
  65. package/dist/api-playground-2/generators/generateSnippetMap.js +24 -24
  66. package/dist/api-playground-2/generators/generateSnippetMap.js.map +1 -1
  67. package/dist/api-playground-2/hooks/useSendPlaygroundRequest.js.map +1 -1
  68. package/dist/components/Api/ErrorBoundary.js.map +1 -1
  69. package/dist/components/Api/Expandable.js.map +1 -1
  70. package/dist/components/Api/Markdown.js.map +1 -1
  71. package/dist/components/Api/MethodPill.js.map +1 -1
  72. package/dist/components/Api/Param.js.map +1 -1
  73. package/dist/components/Api/colors.js.map +1 -1
  74. package/dist/components/content-components/CodeGroupSelect/CodeGroupCopyButton.js.map +1 -1
  75. package/dist/components/content-components/CodeGroupSelect/CodeSelectDropdown.js.map +1 -1
  76. package/dist/components/content-components/CodeGroupSelect/index.js.map +1 -1
  77. package/dist/components/content-components/code-block.js.map +1 -1
  78. package/dist/components/content-components/code-group.js.map +1 -1
  79. package/dist/components/content-components/code-snippet.js.map +1 -1
  80. package/dist/components/content-components/code-snippets.js.map +1 -1
  81. package/dist/components/content-components/getNodeText.js.map +1 -1
  82. package/dist/components/docsLayout.js +29 -27
  83. package/dist/components/docsLayout.js.map +1 -1
  84. package/dist/components/nav-tree/index.js +161 -178
  85. package/dist/components/nav-tree/index.js.map +1 -1
  86. package/dist/contexts/CodeExampleLabelContext.js.map +1 -1
  87. package/dist/contexts/ConfigContext.js.map +1 -1
  88. package/dist/contexts/EndpointLocationContext.js.map +1 -1
  89. package/dist/contexts/MDXContentContext.js.map +1 -1
  90. package/dist/hooks/useApiPlaygroundDisplay.js.map +1 -1
  91. package/dist/hooks/useApiPlaygroundInputs.js.map +1 -1
  92. package/dist/hooks/useBaseUrlOptions.js.map +1 -1
  93. package/dist/hooks/useEndpoint.js.map +1 -1
  94. package/dist/hooks/useKeyboardShortcut.js.map +1 -1
  95. package/dist/hooks/useMDXContent.js.map +1 -1
  96. package/dist/hooks/useMDXContentController/useApiPlaygroundInputs.js.map +1 -1
  97. package/dist/hooks/useMDXContentController/useMDXContentCallbacks/useSetApiBaseIndexCallback.js.map +1 -1
  98. package/dist/hooks/useMDXContentController/useMDXContentCallbacks/useSetApiPlaygroundInputsCallback.js.map +1 -1
  99. package/dist/hooks/usePlaygroundSchemaOptions.js.map +1 -1
  100. package/dist/hooks/usePrefilledInputs/index.js.map +1 -1
  101. package/dist/hooks/usePrefilledInputs/storedServerVariables.js.map +1 -1
  102. package/dist/hooks/useSecurityOption.js.map +1 -1
  103. package/dist/hooks/useSendPlaygroundRequest.js.map +1 -1
  104. package/dist/index.d.ts +4 -2
  105. package/dist/styles.css +1 -1
  106. package/package.json +1 -1
@@ -1,14 +1,14 @@
1
- import { jsxs as l, jsx as e } from "react/jsx-runtime";
2
- import { useRef as A, useEffect as $, useState as L } from "react";
3
- import { useComponents as _ } from "../../context/components-context.js";
4
- import { cn as y } from "../../utils/cn.js";
5
- import { MethodPill as j } from "../Api/MethodPill.js";
1
+ import { jsxs as s, jsx as e } from "react/jsx-runtime";
2
+ import { useRef as _, useEffect as y, useState as z } from "react";
3
+ import { useComponents as E } from "../../context/components-context.js";
6
4
  /* empty css */
7
- function C({ isExpanded: t }) {
5
+ import { cn as b } from "../../utils/cn.js";
6
+ import { MethodPill as L } from "../Api/MethodPill.js";
7
+ function A({ isExpanded: t }) {
8
8
  return /* @__PURE__ */ e(
9
9
  "svg",
10
10
  {
11
- className: y(
11
+ className: b(
12
12
  "mint:w-[16px] mint:h-[16px] mint:shrink-0 mint:text-[#6b7280] mint:dark:text-[#9ca3af]",
13
13
  t ? "mint:rotate-90" : "mint:rotate-0"
14
14
  ),
@@ -16,144 +16,107 @@ function C({ isExpanded: t }) {
16
16
  stroke: "currentColor",
17
17
  viewBox: "0 0 24 24",
18
18
  "aria-hidden": "true",
19
- children: /* @__PURE__ */ e(
20
- "path",
21
- {
22
- strokeLinecap: "round",
23
- strokeLinejoin: "round",
24
- strokeWidth: 2,
25
- d: "M9 5l7 7-7 7"
26
- }
27
- )
19
+ children: /* @__PURE__ */ e("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 5l7 7-7 7" })
28
20
  }
29
21
  );
30
22
  }
31
- const E = "mint:bg-[#e6e6e6] mint:dark:bg-[#2e2e2e] mint:text-[#242424] mint:dark:text-[#ffffff] mint:font-semibold";
32
- function N({ item: t, activeId: p, level: f = 0, activeHref: o }) {
33
- const h = t.children && t.children.length > 0, x = (n) => n ? n.startsWith("/") ? n : `/${n}` : "", b = (n, d) => {
34
- if (!n || !d) return !1;
35
- const v = x(n), w = x(d);
36
- return v === w || v.replace("/docs/", "/") === w.replace("/docs/", "/") || v === w.replace("/docs/", "/") || v.replace("/docs/", "/") === w;
37
- }, g = (n) => b(n.href, o) ? !0 : n.children ? n.children.some(g) : !1, k = f === 0 ? !0 : (t.expanded ?? !1) || h && g(t), [m, i] = L(k);
38
- $(() => {
39
- h && g(t) && i(!0);
40
- }, [o]);
41
- const { LinkComponent: a } = _(), s = !t.href, r = t.href && (b(t.href, p) || b(t.href, o)), u = t.icon;
42
- if (s && f === 0)
43
- return /* @__PURE__ */ l(
44
- "div",
45
- {
46
- id: "nav-group",
47
- role: "group",
48
- "aria-label": t.toc_title,
49
- children: [
50
- /* @__PURE__ */ l("div", { className: "mint:text-sm mint:font-semibold mint:text-[#141414] mint:dark:text-white mint:mb-3 mint:flex mint:items-start mint:gap-2 mint:pl-2.5", children: [
51
- u && /* @__PURE__ */ e(u, { className: "mint:w-5 mint:h-5", "aria-hidden": "true" }),
52
- /* @__PURE__ */ e("span", { children: t.toc_title })
53
- ] }),
54
- h && t.children && /* @__PURE__ */ e("ul", { className: "mint:flex mint:flex-col mint:pl-0", role: "list", children: t.children.map((n, d) => /* @__PURE__ */ e(
55
- N,
56
- {
57
- item: n,
58
- activeId: p,
59
- level: f + 1,
60
- activeHref: o
61
- },
62
- `${n.href}-${d}`
63
- )) })
64
- ]
65
- }
66
- );
67
- if (s && f > 0)
68
- return /* @__PURE__ */ l("li", { className: "mint:list-none", children: [
69
- /* @__PURE__ */ l(
23
+ const C = "mint:bg-[#e6e6e6] mint:dark:bg-[#2e2e2e] mint:text-[#242424] mint:dark:text-[#ffffff] mint:font-semibold";
24
+ function $({ item: t, activeId: g, level: u = 0, activeHref: l }) {
25
+ const h = t.children && t.children.length > 0, k = (n) => n ? n.startsWith("/") ? n : `/${n}` : "", p = (n, c) => {
26
+ if (!n || !c) return !1;
27
+ const x = k(n), N = k(c);
28
+ return x === N || x.replace("/docs/", "/") === N.replace("/docs/", "/") || x === N.replace("/docs/", "/") || x.replace("/docs/", "/") === N;
29
+ }, v = (n) => p(n.href, l) ? !0 : n.children ? n.children.some(v) : !1, w = u === 0 ? !0 : (t.expanded ?? !1) || h && v(t), [o, i] = z(w);
30
+ y(() => {
31
+ h && v(t) && i(!0);
32
+ }, [l]);
33
+ const { LinkComponent: d } = E(), f = !t.href, r = t.href && (p(t.href, g) || p(t.href, l)), a = t.icon;
34
+ if (f && u === 0)
35
+ return /* @__PURE__ */ s("div", { id: "nav-group", role: "group", "aria-label": t.toc_title, children: [
36
+ /* @__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-2.5", children: [
37
+ a && /* @__PURE__ */ e(a, { className: "mint:w-5 mint:h-5", "aria-hidden": "true" }),
38
+ /* @__PURE__ */ e("span", { children: t.toc_title })
39
+ ] }),
40
+ h && t.children && /* @__PURE__ */ e("ul", { className: "mint:flex mint:flex-col mint:pl-0", role: "list", children: t.children.map((n, c) => /* @__PURE__ */ e(
41
+ $,
42
+ {
43
+ item: n,
44
+ activeId: g,
45
+ level: u + 1,
46
+ activeHref: l
47
+ },
48
+ `${n.href}-${c}`
49
+ )) })
50
+ ] });
51
+ if (f && u > 0)
52
+ return /* @__PURE__ */ s("li", { className: "mint:list-none", children: [
53
+ /* @__PURE__ */ s(
70
54
  "button",
71
55
  {
72
56
  id: "nav-group-toggle",
73
- onClick: () => i(!m),
74
- "aria-expanded": m,
75
- "aria-label": `${m ? "Collapse" : "Expand"} ${t.toc_title} section`,
57
+ onClick: () => i(!o),
58
+ "aria-expanded": o,
59
+ "aria-label": `${o ? "Collapse" : "Expand"} ${t.toc_title} section`,
76
60
  className: "mint:relative mint:text-left mint:w-full mint:flex mint:items-center mint:justify-between mint:py-2 mint:px-3 mint:text-sm mint:rounded-lg mint:bg-transparent mint:border-none mint:cursor-pointer mint:text-[#4b5563] mint:dark:text-[#9ca3af] mint:hover:bg-[rgba(75,85,99,0.05)] mint:hover:text-[#141414] mint:dark:hover:bg-[rgba(75,85,99,0.05)] mint:dark:hover:text-[#e5e7eb] mint:focus-visible:outline-2 mint:focus-visible:outline-[#643fb2] mint:focus-visible:outline-offset-2",
77
61
  children: [
78
62
  /* @__PURE__ */ e("span", { className: "mint:flex-1 mint:min-w-0", children: t.toc_title }),
79
- /* @__PURE__ */ e(C, { isExpanded: !!m })
63
+ /* @__PURE__ */ e(A, { isExpanded: !!o })
80
64
  ]
81
65
  }
82
66
  ),
83
- h && m && t.children && /* @__PURE__ */ e(
84
- "ul",
67
+ h && o && t.children && /* @__PURE__ */ e("ul", { className: "mint:ml-3 mint:flex mint:flex-col mint:pl-0", role: "group", children: t.children.map((n, c) => /* @__PURE__ */ e(
68
+ $,
85
69
  {
86
- className: "mint:ml-3 mint:flex mint:flex-col mint:pl-0",
87
- role: "group",
88
- children: t.children.map((n, d) => /* @__PURE__ */ e(
89
- N,
90
- {
91
- item: n,
92
- activeId: p,
93
- level: f + 1,
94
- activeHref: o
95
- },
96
- `${n.href}-${d}`
97
- ))
98
- }
99
- )
70
+ item: n,
71
+ activeId: g,
72
+ level: u + 1,
73
+ activeHref: l
74
+ },
75
+ `${n.href}-${c}`
76
+ )) })
100
77
  ] });
101
- const c = a || "a";
102
- return h ? /* @__PURE__ */ l("li", { className: "mint:list-none", children: [
103
- /* @__PURE__ */ l(
78
+ const m = d || "a";
79
+ return h ? /* @__PURE__ */ s("li", { className: "mint:list-none", children: [
80
+ /* @__PURE__ */ s(
104
81
  "button",
105
82
  {
106
83
  id: "nav-item-toggle",
107
- onClick: () => i(!m),
108
- "aria-expanded": m,
109
- "aria-label": `${m ? "Collapse" : "Expand"} ${t.toc_title} section`,
110
- className: y(
84
+ onClick: () => i(!o),
85
+ "aria-expanded": o,
86
+ "aria-label": `${o ? "Collapse" : "Expand"} ${t.toc_title} section`,
87
+ className: b(
111
88
  "mint:relative mint:text-left mint:w-full mint:flex mint:items-center mint:justify-between mint:gap-2 mint:py-2 mint:px-3 mint:text-[14px] mint:font-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
- r ? E : "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]"
89
+ r ? C : "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]"
113
90
  ),
114
91
  children: [
115
92
  /* @__PURE__ */ e("span", { className: "mint:flex-1 mint:min-w-0", children: t.toc_title }),
116
- /* @__PURE__ */ e(C, { isExpanded: !!m })
93
+ /* @__PURE__ */ e(A, { isExpanded: !!o })
117
94
  ]
118
95
  }
119
96
  ),
120
- m && t.children && /* @__PURE__ */ e(
121
- "ul",
97
+ o && t.children && /* @__PURE__ */ e("ul", { className: "mint:ml-3 mint:flex mint:flex-col mint:pl-0", role: "group", children: t.children.map((n, c) => /* @__PURE__ */ e(
98
+ $,
122
99
  {
123
- className: "mint:ml-3 mint:flex mint:flex-col mint:pl-0",
124
- role: "group",
125
- children: t.children.map((n, d) => /* @__PURE__ */ e(
126
- N,
127
- {
128
- item: n,
129
- activeId: p,
130
- level: f + 1,
131
- activeHref: o
132
- },
133
- `${n.href}-${d}`
134
- ))
135
- }
136
- )
137
- ] }) : /* @__PURE__ */ e("li", { className: "mint:list-none", children: /* @__PURE__ */ l(
138
- c,
100
+ item: n,
101
+ activeId: g,
102
+ level: u + 1,
103
+ activeHref: l
104
+ },
105
+ `${n.href}-${c}`
106
+ )) })
107
+ ] }) : /* @__PURE__ */ e("li", { className: "mint:list-none", children: /* @__PURE__ */ s(
108
+ m,
139
109
  {
140
110
  id: "nav-item",
141
111
  href: t.href,
142
112
  "aria-current": r ? "page" : void 0,
143
- className: y(
113
+ className: b(
144
114
  "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
- r ? E : "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]"
115
+ r ? C : "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]"
146
116
  ),
147
117
  children: [
148
118
  r && /* @__PURE__ */ e("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]" }),
149
- t.method && /* @__PURE__ */ e(
150
- j,
151
- {
152
- isActive: !!r,
153
- method: t.method,
154
- shortMethod: !0
155
- }
156
- ),
119
+ t.method && /* @__PURE__ */ e(L, { isActive: !!r, method: t.method, shortMethod: !0 }),
157
120
  t.toc_title
158
121
  ]
159
122
  }
@@ -161,115 +124,135 @@ function N({ item: t, activeId: p, level: f = 0, activeHref: o }) {
161
124
  }
162
125
  function B({
163
126
  navTree: t,
164
- activeId: p,
165
- className: f = "",
166
- activeHref: o,
127
+ activeId: g,
128
+ className: u = "",
129
+ activeHref: l,
167
130
  theme: h,
168
- bottomLinks: x,
169
- anchors: b
131
+ bottomLinks: k,
132
+ anchors: p
170
133
  }) {
171
- const { LinkComponent: g } = _(), k = A(null);
172
- if ($(() => {
173
- const i = k.current;
174
- if (!i || !o) return;
175
- const a = (r) => r ? r.startsWith("/") ? r : `/${r}` : "", s = (r, u) => {
176
- const c = a(r), n = a(u);
177
- return c === n || c.replace("/docs/", "/") === n.replace("/docs/", "/") || c === n.replace("/docs/", "/") || c.replace("/docs/", "/") === n;
134
+ const { LinkComponent: v } = E(), w = _(null);
135
+ if (y(() => {
136
+ const i = w.current;
137
+ if (!i || !l) return;
138
+ const d = (r) => r ? r.startsWith("/") ? r : `/${r}` : "", f = (r, a) => {
139
+ const m = d(r), n = d(a);
140
+ return m === n || m.replace("/docs/", "/") === n.replace("/docs/", "/") || m === n.replace("/docs/", "/") || m.replace("/docs/", "/") === n;
178
141
  };
179
142
  requestAnimationFrame(() => {
180
143
  const r = i.querySelectorAll("a[href]");
181
- let u = null;
182
- for (const c of Array.from(r)) {
183
- const n = c.getAttribute("href");
184
- if (n && s(n, o)) {
185
- u = c;
144
+ let a = null;
145
+ for (const m of Array.from(r)) {
146
+ const n = m.getAttribute("href");
147
+ if (n && f(n, l)) {
148
+ a = m;
186
149
  break;
187
150
  }
188
151
  }
189
- u && u.scrollIntoView({
152
+ a && a.scrollIntoView({
190
153
  behavior: "instant",
191
154
  block: "center",
192
155
  inline: "nearest"
193
156
  });
194
157
  });
195
- }, [o]), !t || t.items.length === 0)
158
+ }, [l]), !t || t.items.length === 0)
196
159
  return null;
197
- const m = g || "a";
198
- return /* @__PURE__ */ l(
160
+ const o = v || "a";
161
+ return /* @__PURE__ */ s(
199
162
  "nav",
200
163
  {
201
164
  id: "nav-tree",
202
- className: y(
165
+ className: b(
203
166
  "mint:flex mint:flex-col mint:h-full mint:min-h-0",
204
- f,
167
+ u,
205
168
  h === "dark" && "dark"
206
169
  ),
207
170
  "aria-label": "Documentation navigation",
208
171
  children: [
209
- b && b.length > 0 && /* @__PURE__ */ e(
210
- "div",
211
- {
212
- id: "nav-anchors",
213
- className: "mint:shrink-0 mint:w-full mint:bg-[#fafafa] mint:dark:bg-[#0a0a0a] mint:border-b mint:border-[#e5e5e5] mint:dark:border-[#2e2e2e]",
214
- children: /* @__PURE__ */ e("div", { className: "mint:flex mint:flex-col mint:py-3 mint:px-4 mint:gap-1", children: b.map((i, a) => {
215
- const s = i.icon;
216
- return /* @__PURE__ */ l(
217
- m,
218
- {
219
- href: i.href,
220
- className: "mint:group mint:flex mint:items-start mint:gap-3 mint:py-2 mint:px-3 mint:text-sm mint:rounded-lg mint:no-underline mint:text-[#424242] mint:dark:text-[#9ca3af] mint:hover:bg-[#f0f0f0] mint:dark:hover:bg-[#1a1a1a] mint:hover:text-[#141414] mint:dark:hover:text-[#e5e7eb] mint:transition-colors mint:focus-visible:outline-2 mint:focus-visible:outline-[#643fb2] mint:focus-visible:outline-offset-2",
221
- children: [
222
- s && /* @__PURE__ */ e(s, { className: "mint:w-5 mint:h-5 mint:shrink-0 mint:mt-0.5 mint:text-[#6b7280] mint:dark:text-[#9ca3af] mint:group-hover:text-[#8251ee] mint:dark:group-hover:text-[#9263f1] mint:transition-colors" }),
223
- /* @__PURE__ */ l("div", { className: "mint:flex mint:flex-col mint:gap-0.5 mint:min-w-0", children: [
224
- /* @__PURE__ */ e("span", { className: "mint:font-medium mint:text-[#141414] mint:dark:text-[#ffffff] mint:group-hover:text-[#8251ee] mint:dark:group-hover:text-[#9263f1] mint:transition-colors", children: i.title }),
225
- i.description && /* @__PURE__ */ e("span", { className: "mint:text-xs mint:text-[#6b7280] mint:dark:text-[#9ca3af] mint:leading-snug", children: i.description })
226
- ] })
227
- ]
228
- },
229
- a
230
- );
231
- }) })
232
- }
233
- ),
234
- /* @__PURE__ */ e(
172
+ /* @__PURE__ */ s(
235
173
  "div",
236
174
  {
237
175
  id: "nav-tree-content",
238
- ref: k,
176
+ ref: w,
239
177
  className: "mint:flex-1 mint:overflow-y-auto mint:overflow-x-hidden mint:min-h-0 mint:[scrollbar-gutter:stable] mint:px-4 mint:[scrollbar-width:thin] mint:[scrollbar-color:rgba(0,0,0,0.2)_transparent] mint:dark:[scrollbar-color:rgba(255,255,255,0.2)_transparent] mint:[&::-webkit-scrollbar]:w-1 mint:[&::-webkit-scrollbar-track]:bg-transparent mint:[&::-webkit-scrollbar-thumb]:bg-black/20 mint:dark:[&::-webkit-scrollbar-thumb]:bg-white/20 mint:[&::-webkit-scrollbar-thumb]:rounded mint:[&::-webkit-scrollbar-thumb:hover]:bg-black/30 mint:dark:[&::-webkit-scrollbar-thumb:hover]:bg-white/30 mint:space-y-6 mint:py-4",
240
- children: t.items.map((i, a) => /* @__PURE__ */ e(
241
- N,
242
- {
243
- item: i,
244
- activeId: p,
245
- activeHref: o
246
- },
247
- `${i.href}-${a}`
248
- ))
178
+ children: [
179
+ p && p.length > 0 && /* @__PURE__ */ e("div", { id: "nav-anchors", className: "mint:shrink-0 mint:w-full mint:mb-3", children: /* @__PURE__ */ e("div", { className: "mint:flex mint:flex-col mint:gap-1", children: p.map((i, d) => {
180
+ const f = i.icon, r = (m) => m ? m.startsWith("/") ? m : `/${m}` : "", a = (() => {
181
+ if (!l || !i.href) return !1;
182
+ const m = r(l), n = r(i.href), c = m.replace(/\/$/, ""), x = n.replace(/\/$/, "");
183
+ return c === x || c.startsWith(x + "/");
184
+ })();
185
+ return /* @__PURE__ */ s(
186
+ o,
187
+ {
188
+ href: i.href,
189
+ "aria-current": a ? "page" : void 0,
190
+ className: b(
191
+ "mint:group mint:relative mint:flex mint:items-start mint:gap-2 mint:py-2 mint:px-3 mint:text-sm mint:rounded-lg mint:no-underline mint:focus-visible:outline-2 mint:focus-visible:outline-[#643fb2] mint:focus-visible:outline-offset-2",
192
+ a ? "mint:text-[#141414] mint:dark:text-[#ffffff]" : "mint:text-[#424242] mint:dark:text-[#9ca3af] mint:hover:bg-[#f0f0f0] mint:dark:hover:bg-[#1a1a1a] mint:hover:text-[#141414] mint:dark:hover:text-[#e5e7eb]"
193
+ ),
194
+ children: [
195
+ f && /* @__PURE__ */ e(
196
+ f,
197
+ {
198
+ className: b(
199
+ "mint:w-5 mint:h-5 mint:shrink-0",
200
+ a ? "mint:text-[#8251ee] mint:dark:text-[#9263f1]" : "mint:text-[#6b7280] mint:dark:text-[#9ca3af] mint:group-hover:text-[#8251ee] mint:dark:group-hover:text-[#9263f1]"
201
+ )
202
+ }
203
+ ),
204
+ /* @__PURE__ */ s("div", { className: "mint:flex mint:flex-col mint:gap-0.5 mint:min-w-0", children: [
205
+ /* @__PURE__ */ e(
206
+ "span",
207
+ {
208
+ className: b(
209
+ "mint:font-medium",
210
+ a ? "mint:text-[#8251ee] mint:dark:text-[#9263f1] mint:font-semibold" : "mint:text-[#141414] mint:dark:text-[#ffffff] mint:group-hover:text-[#8251ee] mint:dark:group-hover:text-[#9263f1]"
211
+ ),
212
+ children: i.title
213
+ }
214
+ ),
215
+ i.description && /* @__PURE__ */ e("span", { className: "mint:text-xs mint:text-[#6b7280] mint:dark:text-[#9ca3af] mint:leading-snug", children: i.description })
216
+ ] })
217
+ ]
218
+ },
219
+ d
220
+ );
221
+ }) }) }),
222
+ t.items.map((i, d) => /* @__PURE__ */ e(
223
+ $,
224
+ {
225
+ item: i,
226
+ activeId: g,
227
+ activeHref: l
228
+ },
229
+ `${i.href}-${d}`
230
+ ))
231
+ ]
249
232
  }
250
233
  ),
251
- x && x.length > 0 && /* @__PURE__ */ l(
234
+ k && k.length > 0 && /* @__PURE__ */ s(
252
235
  "div",
253
236
  {
254
237
  id: "nav-tree-bottom-links",
255
238
  className: "mint:shrink-0 mint:w-full mint:bg-[#f0f0f0] mint:dark:bg-[#0f0f0f] mint:mt-auto",
256
239
  children: [
257
240
  /* @__PURE__ */ e("div", { className: "mint:h-[0.5px] mint:w-full mint:bg-[#d1d1d1] mint:dark:bg-[#666666]" }),
258
- /* @__PURE__ */ e("div", { className: "mint:flex mint:flex-col mint:py-3 mint:px-4", children: x.map((i, a) => {
259
- const s = i.icon;
260
- return /* @__PURE__ */ l(
261
- m,
241
+ /* @__PURE__ */ e("div", { className: "mint:flex mint:flex-col mint:py-3 mint:px-4", children: k.map((i, d) => {
242
+ const f = i.icon;
243
+ return /* @__PURE__ */ s(
244
+ o,
262
245
  {
263
246
  href: i.href,
264
247
  target: "_blank",
265
248
  rel: "noopener noreferrer",
266
249
  className: "mint:flex mint:items-center mint:py-2 mint:gap-2 mint:text-sm mint:no-underline mint:text-[#424242] mint:dark:text-[#9ca3af] mint:hover:text-[#141414] mint:dark:hover:text-[#e5e7eb] mint:px-2 mint:[&>span]:flex mint:[&>span]:items-center mint:[&>span]:gap-2 mint:[&>svg:last-child]:hidden",
267
250
  children: [
268
- /* @__PURE__ */ e(s, { className: "mint:w-5 mint:h-5 mint:shrink-0" }),
251
+ /* @__PURE__ */ e(f, { className: "mint:w-5 mint:h-5 mint:shrink-0" }),
269
252
  /* @__PURE__ */ e("span", { children: i.label })
270
253
  ]
271
254
  },
272
- a
255
+ d
273
256
  );
274
257
  }) })
275
258
  ]
@@ -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, AnchorConfig } 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\";\nexport type { AnchorConfig } from \"../../types\";\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 anchors?: AnchorConfig[];\n}\n\ninterface TreeItemProps {\n item: NavItem;\n activeId?: string;\n level?: number;\n activeHref?: string;\n}\n\nfunction ChevronIcon({ isExpanded }: { isExpanded: boolean }) {\n return (\n <svg\n className={cn(\n \"mint:w-[16px] mint:h-[16px] mint:shrink-0 mint:text-[#6b7280] mint:dark:text-[#9ca3af]\",\n isExpanded ? \"mint:rotate-90\" : \"mint:rotate-0\"\n )}\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n aria-hidden=\"true\"\n >\n <path\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-2.5\">\n {Icon && <Icon className=\"mint:w-5 mint:h-5\" aria-hidden=\"true\" />}\n <span>{item.toc_title}</span>\n </div>\n {hasChildren && item.children && (\n <ul className=\"mint:flex mint:flex-col mint:pl-0\" role=\"list\">\n {item.children.map((child, index) => (\n <TreeItemComponent\n key={`${child.href}-${index}`}\n item={child}\n activeId={activeId}\n level={level + 1}\n activeHref={activeHref}\n />\n ))}\n </ul>\n )}\n </div>\n );\n }\n\n if (isGroup && level > 0) {\n return (\n <li className=\"mint:list-none\">\n <button\n id=\"nav-group-toggle\"\n onClick={() => setIsExpanded(!isExpanded)}\n aria-expanded={isExpanded}\n aria-label={`${isExpanded ? \"Collapse\" : \"Expand\"} ${\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:ml-3 mint:flex mint:flex-col mint:pl-0\"\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:ml-3 mint:flex mint:flex-col mint:pl-0\"\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 anchors,\n}: NavTreeProps) {\n const { LinkComponent } = useComponents();\n const navContentRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const navElement = navContentRef.current;\n if (!navElement || !activeHref) return;\n\n const normalizeHref = (href: string): string => {\n if (!href) return '';\n return href.startsWith('/') ? href : `/${href}`;\n };\n\n const compareHrefs = (href1: string, href2: string): boolean => {\n const norm1 = normalizeHref(href1);\n const norm2 = normalizeHref(href2);\n return 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\" && \"dark\"\n )}\n aria-label=\"Documentation navigation\"\n >\n {anchors && anchors.length > 0 && (\n <div\n id=\"nav-anchors\"\n className=\"mint:shrink-0 mint:w-full mint:bg-[#fafafa] mint:dark:bg-[#0a0a0a] mint:border-b mint:border-[#e5e5e5] mint:dark:border-[#2e2e2e]\"\n >\n <div className=\"mint:flex mint:flex-col mint:py-3 mint:px-4 mint:gap-1\">\n {anchors.map((anchor, index) => {\n const Icon = anchor.icon;\n return (\n <LinkElement\n key={index}\n href={anchor.href}\n className=\"mint:group mint:flex mint:items-start mint:gap-3 mint:py-2 mint:px-3 mint:text-sm mint:rounded-lg mint:no-underline mint:text-[#424242] mint:dark:text-[#9ca3af] mint:hover:bg-[#f0f0f0] mint:dark:hover:bg-[#1a1a1a] mint:hover:text-[#141414] mint:dark:hover:text-[#e5e7eb] mint:transition-colors mint:focus-visible:outline-2 mint:focus-visible:outline-[#643fb2] mint:focus-visible:outline-offset-2\"\n >\n {Icon && (\n <Icon className=\"mint:w-5 mint:h-5 mint:shrink-0 mint:mt-0.5 mint:text-[#6b7280] mint:dark:text-[#9ca3af] mint:group-hover:text-[#8251ee] mint:dark:group-hover:text-[#9263f1] mint:transition-colors\" />\n )}\n <div className=\"mint:flex mint:flex-col mint:gap-0.5 mint:min-w-0\">\n <span className=\"mint:font-medium mint:text-[#141414] mint:dark:text-[#ffffff] mint:group-hover:text-[#8251ee] mint:dark:group-hover:text-[#9263f1] mint:transition-colors\">\n {anchor.title}\n </span>\n {anchor.description && (\n <span className=\"mint:text-xs mint:text-[#6b7280] mint:dark:text-[#9ca3af] mint:leading-snug\">\n {anchor.description}\n </span>\n )}\n </div>\n </LinkElement>\n );\n })}\n </div>\n </div>\n )}\n <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-4 mint:[scrollbar-width:thin] mint:[scrollbar-color:rgba(0,0,0,0.2)_transparent] mint:dark:[scrollbar-color:rgba(255,255,255,0.2)_transparent] mint:[&::-webkit-scrollbar]:w-1 mint:[&::-webkit-scrollbar-track]:bg-transparent mint:[&::-webkit-scrollbar-thumb]:bg-black/20 mint:dark:[&::-webkit-scrollbar-thumb]:bg-white/20 mint:[&::-webkit-scrollbar-thumb]:rounded mint:[&::-webkit-scrollbar-thumb:hover]:bg-black/30 mint:dark:[&::-webkit-scrollbar-thumb:hover]:bg-white/30 mint:space-y-6 mint:py-4\"\n >\n {navTree.items.map((item, index) => (\n <TreeItemComponent\n key={`${item.href}-${index}`}\n item={item}\n activeId={activeId}\n activeHref={activeHref}\n />\n ))}\n </div>\n {bottomLinks && bottomLinks.length > 0 && (\n <div\n id=\"nav-tree-bottom-links\"\n className=\"mint:shrink-0 mint:w-full mint:bg-[#f0f0f0] mint:dark:bg-[#0f0f0f] mint:mt-auto\"\n >\n <div className=\"mint:h-[0.5px] mint:w-full mint:bg-[#d1d1d1] mint:dark:bg-[#666666]\"></div>\n <div className=\"mint:flex mint:flex-col mint:py-3 mint:px-4\">\n {bottomLinks.map((link, index) => {\n const Icon = link.icon;\n return (\n <LinkElement\n key={index}\n href={link.href}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"mint:flex mint:items-center mint:py-2 mint:gap-2 mint:text-sm mint:no-underline mint:text-[#424242] mint:dark:text-[#9ca3af] mint:hover:text-[#141414] mint:dark:hover:text-[#e5e7eb] mint:px-2 mint:[&>span]:flex mint:[&>span]:items-center mint:[&>span]:gap-2 mint:[&>svg:last-child]:hidden\"\n >\n <Icon className=\"mint:w-5 mint:h-5 mint:shrink-0\" />\n <span>{link.label}</span>\n </LinkElement>\n );\n })}\n </div>\n </div>\n )}\n </nav>\n );\n}\n"],"names":["ChevronIcon","isExpanded","jsx","cn","ACTIVE_ITEM_CLASSES","TreeItemComponent","item","activeId","level","activeHref","hasChildren","normalizeHref","href","compareHrefs","href1","href2","norm1","norm2","hasActiveChild","navItem","shouldBeExpanded","setIsExpanded","useState","useEffect","LinkComponent","useComponents","isGroup","isActive","Icon","jsxs","child","index","LinkElement","MethodPill","NavTree","navTree","className","theme","bottomLinks","anchors","navContentRef","useRef","navElement","allLinks","activeLink","link","anchor"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/nav-tree/index.tsx"],"sourcesContent":["import React, { useState, useRef, useEffect } from 'react';\n\nimport { useComponents } from '../../context/components-context';\nimport '../../styles.css';\nimport type { NavItem, NavTreeData, AnchorConfig } from '../../types';\nimport { cn } from '../../utils/cn';\nimport { MethodPill } from '../Api/MethodPill';\n\nexport { MobileNavTree } from './mobile-nav';\nexport type { MobileNavTreeProps } from './mobile-nav';\nexport type { AnchorConfig } from '../../types';\n\nexport interface BottomLinkConfig {\n href: string;\n label: string;\n icon: React.ComponentType<{ className?: string }>;\n}\n\ninterface NavTreeProps {\n navTree: NavTreeData;\n activeId?: string;\n className?: string;\n activeHref?: string;\n theme?: 'light' | 'dark' | 'system';\n bottomLinks?: BottomLinkConfig[];\n anchors?: AnchorConfig[];\n}\n\ninterface TreeItemProps {\n item: NavItem;\n activeId?: string;\n level?: number;\n activeHref?: string;\n}\n\nfunction ChevronIcon({ isExpanded }: { isExpanded: boolean }) {\n return (\n <svg\n className={cn(\n 'mint:w-[16px] mint:h-[16px] mint:shrink-0 mint:text-[#6b7280] mint:dark:text-[#9ca3af]',\n isExpanded ? 'mint:rotate-90' : 'mint:rotate-0'\n )}\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n aria-hidden=\"true\"\n >\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M9 5l7 7-7 7\" />\n </svg>\n );\n}\n\nconst ACTIVE_ITEM_CLASSES =\n 'mint:bg-[#e6e6e6] mint:dark:bg-[#2e2e2e] mint:text-[#242424] mint:dark:text-[#ffffff] mint:font-semibold';\n\nfunction TreeItemComponent({ item, activeId, level = 0, activeHref }: TreeItemProps) {\n const hasChildren = item.children && item.children.length > 0;\n\n const normalizeHref = (href?: string): string => {\n if (!href) return '';\n const normalized = href.startsWith('/') ? href : `/${href}`;\n return normalized;\n };\n\n const compareHrefs = (href1?: string, href2?: string): boolean => {\n if (!href1 || !href2) return false;\n const norm1 = normalizeHref(href1);\n const norm2 = normalizeHref(href2);\n return (\n norm1 === norm2 ||\n norm1.replace('/docs/', '/') === norm2.replace('/docs/', '/') ||\n norm1 === norm2.replace('/docs/', '/') ||\n norm1.replace('/docs/', '/') === norm2\n );\n };\n\n const hasActiveChild = (navItem: NavItem): boolean => {\n if (compareHrefs(navItem.href, activeHref)) return true;\n if (navItem.children) {\n return navItem.children.some(hasActiveChild);\n }\n return false;\n };\n\n const shouldBeExpanded =\n level === 0 ? true : (item.expanded ?? false) || (hasChildren && hasActiveChild(item));\n const [isExpanded, setIsExpanded] = useState(shouldBeExpanded);\n\n useEffect(() => {\n if (hasChildren && hasActiveChild(item)) {\n setIsExpanded(true);\n }\n }, [activeHref]);\n\n const { LinkComponent } = useComponents();\n const isGroup = !item.href;\n const isActive =\n item.href && (compareHrefs(item.href, activeId) || compareHrefs(item.href, activeHref));\n const Icon = item.icon;\n\n if (isGroup && level === 0) {\n return (\n <div id=\"nav-group\" role=\"group\" aria-label={item.toc_title}>\n <div className=\"mint:text-sm mint:font-semibold mint:text-[#141414] mint:dark:text-white mint:mb-3 mint:flex mint:items-start mint:gap-2 mint:pl-2.5\">\n {Icon && <Icon className=\"mint:w-5 mint:h-5\" aria-hidden=\"true\" />}\n <span>{item.toc_title}</span>\n </div>\n {hasChildren && item.children && (\n <ul className=\"mint:flex mint:flex-col mint:pl-0\" role=\"list\">\n {item.children.map((child, index) => (\n <TreeItemComponent\n key={`${child.href}-${index}`}\n item={child}\n activeId={activeId}\n level={level + 1}\n activeHref={activeHref}\n />\n ))}\n </ul>\n )}\n </div>\n );\n }\n\n if (isGroup && level > 0) {\n return (\n <li className=\"mint:list-none\">\n <button\n id=\"nav-group-toggle\"\n onClick={() => setIsExpanded(!isExpanded)}\n aria-expanded={isExpanded}\n aria-label={`${isExpanded ? 'Collapse' : 'Expand'} ${item.toc_title} section`}\n className=\"mint:relative mint:text-left mint:w-full mint:flex mint:items-center mint:justify-between mint:py-2 mint:px-3 mint:text-sm mint:rounded-lg mint:bg-transparent mint:border-none mint:cursor-pointer mint:text-[#4b5563] mint:dark:text-[#9ca3af] mint:hover:bg-[rgba(75,85,99,0.05)] mint:hover:text-[#141414] mint:dark:hover:bg-[rgba(75,85,99,0.05)] mint:dark:hover:text-[#e5e7eb] mint:focus-visible:outline-2 mint:focus-visible:outline-[#643fb2] mint:focus-visible:outline-offset-2\"\n >\n <span className=\"mint:flex-1 mint:min-w-0\">{item.toc_title}</span>\n <ChevronIcon isExpanded={!!isExpanded} />\n </button>\n {hasChildren && isExpanded && item.children && (\n <ul className=\"mint:ml-3 mint:flex mint:flex-col mint:pl-0\" role=\"group\">\n {item.children.map((child, index) => (\n <TreeItemComponent\n key={`${child.href}-${index}`}\n item={child}\n activeId={activeId}\n level={level + 1}\n activeHref={activeHref}\n />\n ))}\n </ul>\n )}\n </li>\n );\n }\n\n const LinkElement = LinkComponent || 'a';\n\n if (hasChildren) {\n return (\n <li className=\"mint:list-none\">\n <button\n id=\"nav-item-toggle\"\n onClick={() => setIsExpanded(!isExpanded)}\n aria-expanded={isExpanded}\n aria-label={`${isExpanded ? 'Collapse' : 'Expand'} ${item.toc_title} section`}\n className={cn(\n 'mint:relative mint:text-left mint:w-full mint:flex mint:items-center mint:justify-between mint:gap-2 mint:py-2 mint:px-3 mint:text-[14px] mint:font-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\n ? ACTIVE_ITEM_CLASSES\n : 'mint:hover:bg-[rgba(75,85,99,0.05)] mint:hover:text-[#141414] mint:dark:hover:bg-[rgba(75,85,99,0.05)] mint:dark:hover:text-[#e5e7eb]'\n )}\n >\n <span className=\"mint:flex-1 mint:min-w-0\">{item.toc_title}</span>\n <ChevronIcon isExpanded={!!isExpanded} />\n </button>\n {isExpanded && item.children && (\n <ul className=\"mint:ml-3 mint:flex mint:flex-col mint:pl-0\" role=\"group\">\n {item.children.map((child, index) => (\n <TreeItemComponent\n key={`${child.href}-${index}`}\n item={child}\n activeId={activeId}\n level={level + 1}\n activeHref={activeHref}\n />\n ))}\n </ul>\n )}\n </li>\n );\n }\n\n return (\n <li className=\"mint:list-none\">\n <LinkElement\n id=\"nav-item\"\n href={item.href}\n aria-current={isActive ? 'page' : undefined}\n className={cn(\n 'mint:relative mint:flex mint:items-center mint:gap-2 mint:py-2 mint:px-3 mint:text-[14px] mint:font-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\n ? ACTIVE_ITEM_CLASSES\n : 'mint:hover:bg-[rgba(75,85,99,0.05)] mint:hover:text-[#141414] mint:dark:hover:bg-[rgba(75,85,99,0.05)] mint:dark:hover:text-[#e5e7eb]'\n )}\n >\n {isActive && (\n <div className=\"mint:absolute mint:left-0 mint:my-2.5 mint:rounded-full mint:w-[3px] mint:top-0 mint:bottom-0 mint:bg-[#8251ee] mint:dark:bg-[#9263f1]\"></div>\n )}\n {item.method && (\n <MethodPill isActive={!!isActive} method={item.method} shortMethod={true} />\n )}\n {item.toc_title}\n </LinkElement>\n </li>\n );\n}\n\nexport function NavTree({\n navTree,\n activeId,\n className = '',\n activeHref,\n theme,\n bottomLinks,\n anchors,\n}: NavTreeProps) {\n const { LinkComponent } = useComponents();\n const navContentRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const navElement = navContentRef.current;\n if (!navElement || !activeHref) return;\n\n const normalizeHref = (href: string): string => {\n if (!href) return '';\n return href.startsWith('/') ? href : `/${href}`;\n };\n\n const compareHrefs = (href1: string, href2: string): boolean => {\n const norm1 = normalizeHref(href1);\n const norm2 = normalizeHref(href2);\n return (\n norm1 === norm2 ||\n norm1.replace('/docs/', '/') === norm2.replace('/docs/', '/') ||\n norm1 === norm2.replace('/docs/', '/') ||\n norm1.replace('/docs/', '/') === norm2\n );\n };\n\n requestAnimationFrame(() => {\n const allLinks = navElement.querySelectorAll('a[href]');\n let activeLink: HTMLElement | null = null;\n\n for (const link of Array.from(allLinks)) {\n const href = link.getAttribute('href');\n if (href && compareHrefs(href, activeHref)) {\n activeLink = link as HTMLElement;\n break;\n }\n }\n\n if (activeLink) {\n activeLink.scrollIntoView({\n behavior: 'instant',\n block: 'center',\n inline: 'nearest',\n });\n }\n });\n }, [activeHref]);\n\n if (!navTree || navTree.items.length === 0) {\n return null;\n }\n\n const LinkElement = LinkComponent || 'a';\n\n return (\n <nav\n id=\"nav-tree\"\n className={cn(\n 'mint:flex mint:flex-col mint:h-full mint:min-h-0',\n className,\n theme === 'dark' && 'dark'\n )}\n aria-label=\"Documentation navigation\"\n >\n <div\n id=\"nav-tree-content\"\n ref={navContentRef}\n className=\"mint:flex-1 mint:overflow-y-auto mint:overflow-x-hidden mint:min-h-0 mint:[scrollbar-gutter:stable] mint:px-4 mint:[scrollbar-width:thin] mint:[scrollbar-color:rgba(0,0,0,0.2)_transparent] mint:dark:[scrollbar-color:rgba(255,255,255,0.2)_transparent] mint:[&::-webkit-scrollbar]:w-1 mint:[&::-webkit-scrollbar-track]:bg-transparent mint:[&::-webkit-scrollbar-thumb]:bg-black/20 mint:dark:[&::-webkit-scrollbar-thumb]:bg-white/20 mint:[&::-webkit-scrollbar-thumb]:rounded mint:[&::-webkit-scrollbar-thumb:hover]:bg-black/30 mint:dark:[&::-webkit-scrollbar-thumb:hover]:bg-white/30 mint:space-y-6 mint:py-4\"\n >\n {anchors && anchors.length > 0 && (\n <div id=\"nav-anchors\" className=\"mint:shrink-0 mint:w-full mint:mb-3\">\n <div className=\"mint:flex mint:flex-col mint:gap-1\">\n {anchors.map((anchor, index) => {\n const Icon = anchor.icon;\n\n const normalizeAnchorHref = (href: string): string => {\n if (!href) return '';\n return href.startsWith('/') ? href : `/${href}`;\n };\n\n const isAnchorActive = (() => {\n if (!activeHref || !anchor.href) return false;\n const normalizedActive = normalizeAnchorHref(activeHref);\n const normalizedAnchor = normalizeAnchorHref(anchor.href);\n\n const cleanActive = normalizedActive.replace(/\\/$/, '');\n const cleanAnchor = normalizedAnchor.replace(/\\/$/, '');\n\n return cleanActive === cleanAnchor || cleanActive.startsWith(cleanAnchor + '/');\n })();\n\n return (\n <LinkElement\n key={index}\n href={anchor.href}\n aria-current={isAnchorActive ? 'page' : undefined}\n className={cn(\n 'mint:group mint:relative mint:flex mint:items-start mint:gap-2 mint:py-2 mint:px-3 mint:text-sm mint:rounded-lg mint:no-underline mint:focus-visible:outline-2 mint:focus-visible:outline-[#643fb2] mint:focus-visible:outline-offset-2',\n isAnchorActive\n ? 'mint:text-[#141414] mint:dark:text-[#ffffff]'\n : 'mint:text-[#424242] mint:dark:text-[#9ca3af] mint:hover:bg-[#f0f0f0] mint:dark:hover:bg-[#1a1a1a] mint:hover:text-[#141414] mint:dark:hover:text-[#e5e7eb]'\n )}\n >\n {Icon && (\n <Icon\n className={cn(\n 'mint:w-5 mint:h-5 mint:shrink-0',\n isAnchorActive\n ? 'mint:text-[#8251ee] mint:dark:text-[#9263f1]'\n : 'mint:text-[#6b7280] mint:dark:text-[#9ca3af] mint:group-hover:text-[#8251ee] mint:dark:group-hover:text-[#9263f1]'\n )}\n />\n )}\n <div className=\"mint:flex mint:flex-col mint:gap-0.5 mint:min-w-0\">\n <span\n className={cn(\n 'mint:font-medium',\n isAnchorActive\n ? 'mint:text-[#8251ee] mint:dark:text-[#9263f1] mint:font-semibold'\n : 'mint:text-[#141414] mint:dark:text-[#ffffff] mint:group-hover:text-[#8251ee] mint:dark:group-hover:text-[#9263f1]'\n )}\n >\n {anchor.title}\n </span>\n {anchor.description && (\n <span className=\"mint:text-xs mint:text-[#6b7280] mint:dark:text-[#9ca3af] mint:leading-snug\">\n {anchor.description}\n </span>\n )}\n </div>\n </LinkElement>\n );\n })}\n </div>\n </div>\n )}\n {navTree.items.map((item, index) => (\n <TreeItemComponent\n key={`${item.href}-${index}`}\n item={item}\n activeId={activeId}\n activeHref={activeHref}\n />\n ))}\n </div>\n {bottomLinks && bottomLinks.length > 0 && (\n <div\n id=\"nav-tree-bottom-links\"\n className=\"mint:shrink-0 mint:w-full mint:bg-[#f0f0f0] mint:dark:bg-[#0f0f0f] mint:mt-auto\"\n >\n <div className=\"mint:h-[0.5px] mint:w-full mint:bg-[#d1d1d1] mint:dark:bg-[#666666]\"></div>\n <div className=\"mint:flex mint:flex-col mint:py-3 mint:px-4\">\n {bottomLinks.map((link, index) => {\n const Icon = link.icon;\n return (\n <LinkElement\n key={index}\n href={link.href}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"mint:flex mint:items-center mint:py-2 mint:gap-2 mint:text-sm mint:no-underline mint:text-[#424242] mint:dark:text-[#9ca3af] mint:hover:text-[#141414] mint:dark:hover:text-[#e5e7eb] mint:px-2 mint:[&>span]:flex mint:[&>span]:items-center mint:[&>span]:gap-2 mint:[&>svg:last-child]:hidden\"\n >\n <Icon className=\"mint:w-5 mint:h-5 mint:shrink-0\" />\n <span>{link.label}</span>\n </LinkElement>\n );\n })}\n </div>\n </div>\n )}\n </nav>\n );\n}\n"],"names":["ChevronIcon","isExpanded","jsx","cn","ACTIVE_ITEM_CLASSES","TreeItemComponent","item","activeId","level","activeHref","hasChildren","normalizeHref","href","compareHrefs","href1","href2","norm1","norm2","hasActiveChild","navItem","shouldBeExpanded","setIsExpanded","useState","useEffect","LinkComponent","useComponents","isGroup","isActive","Icon","jsxs","child","index","LinkElement","MethodPill","NavTree","navTree","className","theme","bottomLinks","anchors","navContentRef","useRef","navElement","allLinks","activeLink","link","anchor","normalizeAnchorHref","isAnchorActive","normalizedActive","normalizedAnchor","cleanActive","cleanAnchor"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"CodeExampleLabelContext.js","sources":["../../src/contexts/CodeExampleLabelContext.tsx"],"sourcesContent":["'use client';\n\nimport { createContext, useContext } from 'react';\n\nexport type CodeExampleLabelContextValue = {\n selectedLabel?: string;\n setSelectedLabel: (label: string | undefined) => void;\n};\n\nexport const CodeExampleLabelContext = createContext<CodeExampleLabelContextValue | undefined>(\n undefined\n);\n\nexport const useCodeExampleLabel = (): CodeExampleLabelContextValue => {\n const ctx = useContext(CodeExampleLabelContext);\n if (ctx === undefined) {\n throw new Error('useCodeExampleLabel must be used within a CodeExampleLabelContext.Provider');\n }\n return ctx;\n};\n"],"names":["CodeExampleLabelContext","createContext","useCodeExampleLabel","ctx","useContext"],"mappings":";AASO,MAAMA,IAA0BC;AAAA,EACrC;AACF,GAEaC,IAAsB,MAAoC;AACrE,QAAMC,IAAMC,EAAWJ,CAAuB;AAC9C,MAAIG,MAAQ;AACV,UAAM,IAAI,MAAM,4EAA4E;AAE9F,SAAOA;AACT;"}
1
+ {"version":3,"file":"CodeExampleLabelContext.js","sources":["../../src/contexts/CodeExampleLabelContext.tsx"],"sourcesContent":["\nimport { createContext, useContext } from 'react';\n\nexport type CodeExampleLabelContextValue = {\n selectedLabel?: string;\n setSelectedLabel: (label: string | undefined) => void;\n};\n\nexport const CodeExampleLabelContext = createContext<CodeExampleLabelContextValue | undefined>(\n undefined\n);\n\nexport const useCodeExampleLabel = (): CodeExampleLabelContextValue => {\n const ctx = useContext(CodeExampleLabelContext);\n if (ctx === undefined) {\n throw new Error('useCodeExampleLabel must be used within a CodeExampleLabelContext.Provider');\n }\n return ctx;\n};\n"],"names":["CodeExampleLabelContext","createContext","useCodeExampleLabel","ctx","useContext"],"mappings":";AAQO,MAAMA,IAA0BC;AAAA,EACrC;AACF,GAEaC,IAAsB,MAAoC;AACrE,QAAMC,IAAMC,EAAWJ,CAAuB;AAC9C,MAAIG,MAAQ;AACV,UAAM,IAAI,MAAM,4EAA4E;AAE9F,SAAOA;AACT;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigContext.js","sources":["../../src/contexts/ConfigContext.tsx"],"sourcesContent":["'use client';\n\nimport type { MdxExtracts } from '@mintlify/common';\nimport { SerializeSuccess } from '@mintlify/mdx/types';\nimport { InkeepType, MintConfig, PageMetaTags } from '@mintlify/models';\nimport { PageType } from '@mintlify/models';\nimport {\n DeploymentEntitlements,\n GitSource,\n DeploymentFeedbackType,\n DocsConfig,\n DecoratedNavigationConfig,\n TrieveType,\n DeploymentPreviewType,\n} from '@mintlify/validation';\nimport { createContext, ReactNode } from 'react';\n\nimport { addApiReferenceDataFromMdxAndDocsConfig } from '@/api-playground-2/schemaGraph/addApiReferenceDataFromMdxAndDocsConfig';\nimport { processSecurityOptions } from '@/api-playground-2/schemaGraph/processSecurityOptions';\nimport type { ApiReferenceDataV2 } from '@/api-playground-2/types';\nimport { ApiReferenceData } from '../utils/api-reference/getApiReferenceData';\n\nexport type PageContextType = {\n pageMetadata: PageMetaTags;\n pageType?: PageType;\n mdxExtracts?: MdxExtracts;\n description?: SerializeSuccess | string | null;\n panelMdxSource?: SerializeSuccess;\n panelMdxSourceWithNoJs?: SerializeSuccess;\n pathname?: string;\n};\n\nexport type DeploymentMetadataContextType = {\n subdomain?: string;\n actualSubdomain?: string;\n gitSource?: GitSource;\n inkeep?: InkeepType;\n trieve?: TrieveType;\n feedback?: DeploymentFeedbackType;\n entitlements?: DeploymentEntitlements;\n buildId?: string;\n clientVersion?: string;\n preview?: DeploymentPreviewType;\n};\n\nexport type DocsConfigContextType = {\n mintConfig?: MintConfig;\n docsConfig?: DocsConfig;\n docsNavWithMetadata?: DecoratedNavigationConfig;\n};\n\nexport type ApiReferenceContextType = {\n apiReferenceData: ApiReferenceData;\n};\n\nexport type ApiReferenceContext2Type = {\n apiReferenceData2: ApiReferenceDataV2;\n};\n\nexport type ApiReferenceProvider2Props = {\n pageMetadata: PageMetaTags;\n docsConfig: DocsConfig | undefined;\n mdxExtracts: MdxExtracts | undefined;\n apiReferenceData2: ApiReferenceDataV2 | undefined;\n children: ReactNode;\n};\n\nexport const PageContext = createContext<PageContextType>({ pageMetadata: {} });\n\nexport const DeploymentMetadataContext = createContext<DeploymentMetadataContextType>({});\n\nexport const DocsConfigContext = createContext<DocsConfigContextType>({});\n\nexport const ApiReferenceContext = createContext<ApiReferenceContextType>({ apiReferenceData: {} });\n\nexport const ApiReferenceContext2 = createContext<ApiReferenceContext2Type>({\n apiReferenceData2: {},\n});\n\nPageContext.displayName = 'PageContext';\nDeploymentMetadataContext.displayName = 'DeploymentMetadataContext';\nDocsConfigContext.displayName = 'DocsConfigContext';\nApiReferenceContext.displayName = 'ApiReferenceContext';\n\nexport function PageProvider({ value, children }: { value: PageContextType; children: ReactNode }) {\n return <PageContext.Provider value={value}>{children}</PageContext.Provider>;\n}\n\nexport function DeploymentMetadataProvider({\n value,\n children,\n}: {\n value: DeploymentMetadataContextType;\n children: ReactNode;\n}) {\n return (\n <DeploymentMetadataContext.Provider value={value}>\n {children}\n </DeploymentMetadataContext.Provider>\n );\n}\n\nexport function DocsConfigProvider({\n value,\n children,\n}: {\n value: DocsConfigContextType;\n children: ReactNode;\n}) {\n return <DocsConfigContext.Provider value={value}>{children}</DocsConfigContext.Provider>;\n}\n\nexport function ApiReferenceProvider({\n value,\n children,\n}: {\n value: ApiReferenceContextType;\n children: ReactNode;\n}) {\n return <ApiReferenceContext.Provider value={value}>{children}</ApiReferenceContext.Provider>;\n}\n\nexport function ApiReferenceProvider2({\n pageMetadata,\n docsConfig,\n mdxExtracts,\n apiReferenceData2,\n children,\n}: ApiReferenceProvider2Props) {\n // combine apiReferenceData2 from page props with mdxExtracts and docsConfig so we don't\n // have to go hunting per component for things that can come from other sources\n const apiReferenceDataFromPageProps = apiReferenceData2;\n\n const apiReferenceDataWithMdxAndDocsConfig = addApiReferenceDataFromMdxAndDocsConfig({\n apiReferenceData2: apiReferenceDataFromPageProps,\n mdxExtracts,\n docsConfig,\n pageMetadata,\n });\n\n // after we have the apiReferenceDataWithMdxAndDocsConfig, we can process the security options - some may have come from docs config\n const processedSecurityOptions = processSecurityOptions(apiReferenceDataWithMdxAndDocsConfig);\n if (processedSecurityOptions.length > 0) {\n if (!apiReferenceDataWithMdxAndDocsConfig.dependencies) {\n apiReferenceDataWithMdxAndDocsConfig.dependencies = {\n servers: {},\n security: {},\n processedSecurityOptions: [],\n };\n }\n apiReferenceDataWithMdxAndDocsConfig.dependencies.processedSecurityOptions =\n processedSecurityOptions;\n }\n\n const filteredApiReferenceData = apiReferenceDataWithMdxAndDocsConfig;\n return (\n <ApiReferenceContext2.Provider value={{ apiReferenceData2: filteredApiReferenceData ?? {} }}>\n {children}\n </ApiReferenceContext2.Provider>\n );\n}\n"],"names":["PageContext","createContext","DeploymentMetadataContext","DocsConfigContext","ApiReferenceContext","ApiReferenceContext2","PageProvider","value","children","jsx","DeploymentMetadataProvider","DocsConfigProvider","ApiReferenceProvider","ApiReferenceProvider2","pageMetadata","docsConfig","mdxExtracts","apiReferenceData2","apiReferenceDataWithMdxAndDocsConfig","addApiReferenceDataFromMdxAndDocsConfig","processedSecurityOptions","processSecurityOptions","filteredApiReferenceData"],"mappings":";;;;AAmEO,MAAMA,IAAcC,EAA+B,EAAE,cAAc,IAAI,GAEjEC,IAA4BD,EAA6C,CAAA,CAAE,GAE3EE,IAAoBF,EAAqC,CAAA,CAAE,GAE3DG,IAAsBH,EAAuC,EAAE,kBAAkB,IAAI,GAErFI,IAAuBJ,EAAwC;AAAA,EAC1E,mBAAmB,CAAA;AACrB,CAAC;AAEDD,EAAY,cAAc;AAC1BE,EAA0B,cAAc;AACxCC,EAAkB,cAAc;AAChCC,EAAoB,cAAc;AAE3B,SAASE,EAAa,EAAE,OAAAC,GAAO,UAAAC,KAA6D;AACjG,SAAO,gBAAAC,EAACT,EAAY,UAAZ,EAAqB,OAAAO,GAAe,UAAAC,EAAA,CAAS;AACvD;AAEO,SAASE,EAA2B;AAAA,EACzC,OAAAH;AAAA,EACA,UAAAC;AACF,GAGG;AACD,SACE,gBAAAC,EAACP,EAA0B,UAA1B,EAAmC,OAAAK,GACjC,UAAAC,EAAA,CACH;AAEJ;AAEO,SAASG,EAAmB;AAAA,EACjC,OAAAJ;AAAA,EACA,UAAAC;AACF,GAGG;AACD,SAAO,gBAAAC,EAACN,EAAkB,UAAlB,EAA2B,OAAAI,GAAe,UAAAC,EAAA,CAAS;AAC7D;AAEO,SAASI,EAAqB;AAAA,EACnC,OAAAL;AAAA,EACA,UAAAC;AACF,GAGG;AACD,SAAO,gBAAAC,EAACL,EAAoB,UAApB,EAA6B,OAAAG,GAAe,UAAAC,EAAA,CAAS;AAC/D;AAEO,SAASK,EAAsB;AAAA,EACpC,cAAAC;AAAA,EACA,YAAAC;AAAA,EACA,aAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,UAAAT;AACF,GAA+B;AAK7B,QAAMU,IAAuCC,EAAwC;AAAA,IACnF,mBAHoCF;AAAA,IAIpC,aAAAD;AAAA,IACA,YAAAD;AAAA,IACA,cAAAD;AAAA,EAAA,CACD,GAGKM,IAA2BC,EAAuBH,CAAoC;AAC5F,EAAIE,EAAyB,SAAS,MAC/BF,EAAqC,iBACxCA,EAAqC,eAAe;AAAA,IAClD,SAAS,CAAA;AAAA,IACT,UAAU,CAAA;AAAA,IACV,0BAA0B,CAAA;AAAA,EAAC,IAG/BA,EAAqC,aAAa,2BAChDE;AAGJ,QAAME,IAA2BJ;AACjC,SACE,gBAAAT,EAACJ,EAAqB,UAArB,EAA8B,OAAO,EAAE,mBAAmBiB,KAA4B,CAAA,KACpF,UAAAd,GACH;AAEJ;"}
1
+ {"version":3,"file":"ConfigContext.js","sources":["../../src/contexts/ConfigContext.tsx"],"sourcesContent":["\nimport type { MdxExtracts } from '@mintlify/common';\nimport { SerializeSuccess } from '@mintlify/mdx/types';\nimport { InkeepType, MintConfig, PageMetaTags } from '@mintlify/models';\nimport { PageType } from '@mintlify/models';\nimport {\n DeploymentEntitlements,\n GitSource,\n DeploymentFeedbackType,\n DocsConfig,\n DecoratedNavigationConfig,\n TrieveType,\n DeploymentPreviewType,\n} from '@mintlify/validation';\nimport { createContext, ReactNode } from 'react';\n\nimport { addApiReferenceDataFromMdxAndDocsConfig } from '@/api-playground-2/schemaGraph/addApiReferenceDataFromMdxAndDocsConfig';\nimport { processSecurityOptions } from '@/api-playground-2/schemaGraph/processSecurityOptions';\nimport type { ApiReferenceDataV2 } from '@/api-playground-2/types';\nimport { ApiReferenceData } from '../utils/api-reference/getApiReferenceData';\n\nexport type PageContextType = {\n pageMetadata: PageMetaTags;\n pageType?: PageType;\n mdxExtracts?: MdxExtracts;\n description?: SerializeSuccess | string | null;\n panelMdxSource?: SerializeSuccess;\n panelMdxSourceWithNoJs?: SerializeSuccess;\n pathname?: string;\n};\n\nexport type DeploymentMetadataContextType = {\n subdomain?: string;\n actualSubdomain?: string;\n gitSource?: GitSource;\n inkeep?: InkeepType;\n trieve?: TrieveType;\n feedback?: DeploymentFeedbackType;\n entitlements?: DeploymentEntitlements;\n buildId?: string;\n clientVersion?: string;\n preview?: DeploymentPreviewType;\n};\n\nexport type DocsConfigContextType = {\n mintConfig?: MintConfig;\n docsConfig?: DocsConfig;\n docsNavWithMetadata?: DecoratedNavigationConfig;\n};\n\nexport type ApiReferenceContextType = {\n apiReferenceData: ApiReferenceData;\n};\n\nexport type ApiReferenceContext2Type = {\n apiReferenceData2: ApiReferenceDataV2;\n};\n\nexport type ApiReferenceProvider2Props = {\n pageMetadata: PageMetaTags;\n docsConfig: DocsConfig | undefined;\n mdxExtracts: MdxExtracts | undefined;\n apiReferenceData2: ApiReferenceDataV2 | undefined;\n children: ReactNode;\n};\n\nexport const PageContext = createContext<PageContextType>({ pageMetadata: {} });\n\nexport const DeploymentMetadataContext = createContext<DeploymentMetadataContextType>({});\n\nexport const DocsConfigContext = createContext<DocsConfigContextType>({});\n\nexport const ApiReferenceContext = createContext<ApiReferenceContextType>({ apiReferenceData: {} });\n\nexport const ApiReferenceContext2 = createContext<ApiReferenceContext2Type>({\n apiReferenceData2: {},\n});\n\nPageContext.displayName = 'PageContext';\nDeploymentMetadataContext.displayName = 'DeploymentMetadataContext';\nDocsConfigContext.displayName = 'DocsConfigContext';\nApiReferenceContext.displayName = 'ApiReferenceContext';\n\nexport function PageProvider({ value, children }: { value: PageContextType; children: ReactNode }) {\n return <PageContext.Provider value={value}>{children}</PageContext.Provider>;\n}\n\nexport function DeploymentMetadataProvider({\n value,\n children,\n}: {\n value: DeploymentMetadataContextType;\n children: ReactNode;\n}) {\n return (\n <DeploymentMetadataContext.Provider value={value}>\n {children}\n </DeploymentMetadataContext.Provider>\n );\n}\n\nexport function DocsConfigProvider({\n value,\n children,\n}: {\n value: DocsConfigContextType;\n children: ReactNode;\n}) {\n return <DocsConfigContext.Provider value={value}>{children}</DocsConfigContext.Provider>;\n}\n\nexport function ApiReferenceProvider({\n value,\n children,\n}: {\n value: ApiReferenceContextType;\n children: ReactNode;\n}) {\n return <ApiReferenceContext.Provider value={value}>{children}</ApiReferenceContext.Provider>;\n}\n\nexport function ApiReferenceProvider2({\n pageMetadata,\n docsConfig,\n mdxExtracts,\n apiReferenceData2,\n children,\n}: ApiReferenceProvider2Props) {\n // combine apiReferenceData2 from page props with mdxExtracts and docsConfig so we don't\n // have to go hunting per component for things that can come from other sources\n const apiReferenceDataFromPageProps = apiReferenceData2;\n\n const apiReferenceDataWithMdxAndDocsConfig = addApiReferenceDataFromMdxAndDocsConfig({\n apiReferenceData2: apiReferenceDataFromPageProps,\n mdxExtracts,\n docsConfig,\n pageMetadata,\n });\n\n // after we have the apiReferenceDataWithMdxAndDocsConfig, we can process the security options - some may have come from docs config\n const processedSecurityOptions = processSecurityOptions(apiReferenceDataWithMdxAndDocsConfig);\n if (processedSecurityOptions.length > 0) {\n if (!apiReferenceDataWithMdxAndDocsConfig.dependencies) {\n apiReferenceDataWithMdxAndDocsConfig.dependencies = {\n servers: {},\n security: {},\n processedSecurityOptions: [],\n };\n }\n apiReferenceDataWithMdxAndDocsConfig.dependencies.processedSecurityOptions =\n processedSecurityOptions;\n }\n\n const filteredApiReferenceData = apiReferenceDataWithMdxAndDocsConfig;\n return (\n <ApiReferenceContext2.Provider value={{ apiReferenceData2: filteredApiReferenceData ?? {} }}>\n {children}\n </ApiReferenceContext2.Provider>\n );\n}\n"],"names":["PageContext","createContext","DeploymentMetadataContext","DocsConfigContext","ApiReferenceContext","ApiReferenceContext2","PageProvider","value","children","jsx","DeploymentMetadataProvider","DocsConfigProvider","ApiReferenceProvider","ApiReferenceProvider2","pageMetadata","docsConfig","mdxExtracts","apiReferenceData2","apiReferenceDataWithMdxAndDocsConfig","addApiReferenceDataFromMdxAndDocsConfig","processedSecurityOptions","processSecurityOptions","filteredApiReferenceData"],"mappings":";;;;AAkEO,MAAMA,IAAcC,EAA+B,EAAE,cAAc,IAAI,GAEjEC,IAA4BD,EAA6C,CAAA,CAAE,GAE3EE,IAAoBF,EAAqC,CAAA,CAAE,GAE3DG,IAAsBH,EAAuC,EAAE,kBAAkB,IAAI,GAErFI,IAAuBJ,EAAwC;AAAA,EAC1E,mBAAmB,CAAA;AACrB,CAAC;AAEDD,EAAY,cAAc;AAC1BE,EAA0B,cAAc;AACxCC,EAAkB,cAAc;AAChCC,EAAoB,cAAc;AAE3B,SAASE,EAAa,EAAE,OAAAC,GAAO,UAAAC,KAA6D;AACjG,SAAO,gBAAAC,EAACT,EAAY,UAAZ,EAAqB,OAAAO,GAAe,UAAAC,EAAA,CAAS;AACvD;AAEO,SAASE,EAA2B;AAAA,EACzC,OAAAH;AAAA,EACA,UAAAC;AACF,GAGG;AACD,SACE,gBAAAC,EAACP,EAA0B,UAA1B,EAAmC,OAAAK,GACjC,UAAAC,EAAA,CACH;AAEJ;AAEO,SAASG,EAAmB;AAAA,EACjC,OAAAJ;AAAA,EACA,UAAAC;AACF,GAGG;AACD,SAAO,gBAAAC,EAACN,EAAkB,UAAlB,EAA2B,OAAAI,GAAe,UAAAC,EAAA,CAAS;AAC7D;AAEO,SAASI,EAAqB;AAAA,EACnC,OAAAL;AAAA,EACA,UAAAC;AACF,GAGG;AACD,SAAO,gBAAAC,EAACL,EAAoB,UAApB,EAA6B,OAAAG,GAAe,UAAAC,EAAA,CAAS;AAC/D;AAEO,SAASK,EAAsB;AAAA,EACpC,cAAAC;AAAA,EACA,YAAAC;AAAA,EACA,aAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,UAAAT;AACF,GAA+B;AAK7B,QAAMU,IAAuCC,EAAwC;AAAA,IACnF,mBAHoCF;AAAA,IAIpC,aAAAD;AAAA,IACA,YAAAD;AAAA,IACA,cAAAD;AAAA,EAAA,CACD,GAGKM,IAA2BC,EAAuBH,CAAoC;AAC5F,EAAIE,EAAyB,SAAS,MAC/BF,EAAqC,iBACxCA,EAAqC,eAAe;AAAA,IAClD,SAAS,CAAA;AAAA,IACT,UAAU,CAAA;AAAA,IACV,0BAA0B,CAAA;AAAA,EAAC,IAG/BA,EAAqC,aAAa,2BAChDE;AAGJ,QAAME,IAA2BJ;AACjC,SACE,gBAAAT,EAACJ,EAAqB,UAArB,EAA8B,OAAO,EAAE,mBAAmBiB,KAA4B,CAAA,KACpF,UAAAd,GACH;AAEJ;"}
@@ -1 +1 @@
1
- {"version":3,"file":"EndpointLocationContext.js","sources":["../../src/contexts/EndpointLocationContext.tsx"],"sourcesContent":["'use client';\n\nimport { createContext, ReactElement, MutableRefObject, useContext, useRef } from 'react';\n\nimport { useCheckHash } from '../hooks/useCheckHash';\nimport { LocationType } from '../api-playground-2/types/api';\n\nexport type EndpointLocationContextType = {\n location?: LocationType;\n anchor?: string;\n hasScrolledToAnchorRef?: MutableRefObject<boolean>;\n};\n\nexport const EndpointLocationContext = createContext<EndpointLocationContextType>({});\n\nexport const useEndpointLocation = () => useContext(EndpointLocationContext);\n\nexport function EndpointLocationProvider({\n location,\n children,\n}: {\n location?: LocationType;\n children?: ReactElement;\n}) {\n const hasScrolledToAnchorRef = useRef(false);\n const anchor = useCheckHash();\n return (\n <EndpointLocationContext.Provider value={{ location, anchor, hasScrolledToAnchorRef }}>\n {children}\n </EndpointLocationContext.Provider>\n );\n}\n\nEndpointLocationContext.displayName = 'EndpointLocationContext';\n"],"names":["EndpointLocationContext","createContext","useEndpointLocation","useContext","EndpointLocationProvider","location","children","hasScrolledToAnchorRef","useRef","anchor","useCheckHash","jsx"],"mappings":";;;AAaO,MAAMA,IAA0BC,EAA2C,CAAA,CAAE,GAEvEC,IAAsB,MAAMC,EAAWH,CAAuB;AAEpE,SAASI,EAAyB;AAAA,EACvC,UAAAC;AAAA,EACA,UAAAC;AACF,GAGG;AACD,QAAMC,IAAyBC,EAAO,EAAK,GACrCC,IAASC,EAAA;AACf,SACE,gBAAAC,EAACX,EAAwB,UAAxB,EAAiC,OAAO,EAAE,UAAAK,GAAU,QAAAI,GAAQ,wBAAAF,KAC1D,UAAAD,GACH;AAEJ;AAEAN,EAAwB,cAAc;"}
1
+ {"version":3,"file":"EndpointLocationContext.js","sources":["../../src/contexts/EndpointLocationContext.tsx"],"sourcesContent":["\nimport { createContext, ReactElement, MutableRefObject, useContext, useRef } from 'react';\n\nimport { useCheckHash } from '../hooks/useCheckHash';\nimport { LocationType } from '../api-playground-2/types/api';\n\nexport type EndpointLocationContextType = {\n location?: LocationType;\n anchor?: string;\n hasScrolledToAnchorRef?: MutableRefObject<boolean>;\n};\n\nexport const EndpointLocationContext = createContext<EndpointLocationContextType>({});\n\nexport const useEndpointLocation = () => useContext(EndpointLocationContext);\n\nexport function EndpointLocationProvider({\n location,\n children,\n}: {\n location?: LocationType;\n children?: ReactElement;\n}) {\n const hasScrolledToAnchorRef = useRef(false);\n const anchor = useCheckHash();\n return (\n <EndpointLocationContext.Provider value={{ location, anchor, hasScrolledToAnchorRef }}>\n {children}\n </EndpointLocationContext.Provider>\n );\n}\n\nEndpointLocationContext.displayName = 'EndpointLocationContext';\n"],"names":["EndpointLocationContext","createContext","useEndpointLocation","useContext","EndpointLocationProvider","location","children","hasScrolledToAnchorRef","useRef","anchor","useCheckHash","jsx"],"mappings":";;;AAYO,MAAMA,IAA0BC,EAA2C,CAAA,CAAE,GAEvEC,IAAsB,MAAMC,EAAWH,CAAuB;AAEpE,SAASI,EAAyB;AAAA,EACvC,UAAAC;AAAA,EACA,UAAAC;AACF,GAGG;AACD,QAAMC,IAAyBC,EAAO,EAAK,GACrCC,IAASC,EAAA;AACf,SACE,gBAAAC,EAACX,EAAwB,UAAxB,EAAiC,OAAO,EAAE,UAAAK,GAAU,QAAAI,GAAQ,wBAAAF,KAC1D,UAAAD,GACH;AAEJ;AAEAN,EAAwB,cAAc;"}