@mintlify/msft-sdk 1.1.41 → 1.1.42

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,14 +1,13 @@
1
1
  import "react/jsx-runtime";
2
- import i from "@sindresorhus/slugify";
3
- import "../../../contexts/EndpointLocationContext.js";
4
- const s = (r, t, e, $) => i(
5
- `${r ? `${r}-` : ""}${e ? `${e}-` : ""}${t || ""}-`,
2
+ import $ from "@sindresorhus/slugify";
3
+ const c = (r, e, t, i) => $(
4
+ `${r ? `${r}-` : ""}${t ? `${t}-` : ""}${e || ""}-`,
6
5
  {
7
6
  decamelize: !0
8
7
  }
9
- ), m = (r, t) => r ? `${t ? `${t}` : ""}${r}.` : "";
8
+ ), s = (r, e) => r ? `${e ? `${e}` : ""}${r}.` : "";
10
9
  export {
11
- s as buildRecursiveParamFieldId,
12
- m as getRecursiveParentName
10
+ c as buildRecursiveParamFieldId,
11
+ s as getRecursiveParentName
13
12
  };
14
13
  //# sourceMappingURL=RecursiveParamField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RecursiveParamField.js","sources":["../../../../src/api-playground/EndpointFields/ParamFields/RecursiveParamField.tsx"],"sourcesContent":["\nimport { DataSchema, DataSchemaArray, IncrementalDataSchemaArray } from '@mintlify/validation';\nimport slugify from '@sindresorhus/slugify';\n\nimport { useEndpointLocation } from '@/contexts/EndpointLocationContext';\nimport { getConstFilteredSchemaArray } from '@/openapi/filterEnums';\nimport {\n getAuthFilteredSchemaArray,\n isDataSchemaArrayOrIncrementalDataSchemaArray,\n} from '@/openapi/getAuthFilteredSchemaArray';\nimport { getNextPropertiesByType } from '@/utils/api-reference/getNextPropertiesByType';\n\nimport { RecursiveParamFieldWithChildrenObserver } from './RecursiveParamFieldWithChildrenObserver';\nimport { RecursiveParamFieldWithObserver } from './RecursiveParamFieldWithObserver';\nimport { FieldType, RenderedRefs } from '@/api-playground-2/types/api';\n\nexport type RecursiveParamFieldParams = {\n fieldType: FieldType;\n schemaArray: DataSchemaArray | IncrementalDataSchemaArray;\n renderedRefs?: RenderedRefs;\n name?: string | null;\n location?: string;\n parentName?: string;\n depth?: number;\n hideDescription?: boolean;\n circularRefs?: string[];\n paramId?: string;\n style?: string;\n explode?: boolean;\n};\n\nexport const RecursiveParamField = ({\n fieldType,\n schemaArray,\n name,\n location,\n parentName,\n depth = 0,\n hideDescription = false,\n renderedRefs = new Set(),\n circularRefs,\n paramId,\n style,\n explode,\n}: RecursiveParamFieldParams) => {\n const { anchor } = useEndpointLocation();\n let filteredSchemaArray: DataSchemaArray | IncrementalDataSchemaArray | null = schemaArray;\n filteredSchemaArray = getAuthFilteredSchemaArray({ schemaArray, userGroups: undefined });\n\n if (\n filteredSchemaArray &&\n filteredSchemaArray.some((schema) => 'enum' in schema && 'const' in schema)\n ) {\n filteredSchemaArray = getConstFilteredSchemaArray({ schemaArray });\n }\n\n if (!isDataSchemaArrayOrIncrementalDataSchemaArray(filteredSchemaArray)) {\n return null;\n }\n\n const RecursiveParamFieldType = anchor\n ? RecursiveParamFieldWithChildrenObserver\n : RecursiveParamFieldWithObserver;\n\n return (\n <RecursiveParamFieldType\n fieldType={fieldType}\n schemaArray={filteredSchemaArray}\n name={name}\n location={location}\n parentName={parentName}\n depth={depth}\n style={style}\n explode={explode}\n hideDescription={hideDescription}\n renderedRefs={renderedRefs}\n circularRefs={circularRefs}\n paramId={paramId}\n />\n );\n};\n\ntype RenderNextPropertiesRecursivelyParams = {\n properties: [string, DataSchemaArray | IncrementalDataSchemaArray][];\n fieldType: FieldType;\n depth: number;\n refs: Set<string>;\n parentName?: string;\n name?: string | null;\n currentSchemaRef: string | undefined;\n style?: string;\n explode?: boolean;\n hideParentName?: boolean;\n};\n\nexport const renderNextPropertiesRecursively = ({\n currentSchemaRef,\n properties,\n fieldType,\n parentName,\n name,\n depth,\n refs,\n style,\n explode,\n hideParentName,\n}: RenderNextPropertiesRecursivelyParams) => {\n // Create a new set with the current refs for this level\n const currentLevelRefs = new Set(refs);\n\n if (currentSchemaRef) {\n currentLevelRefs.add(currentSchemaRef);\n }\n\n if (currentLevelRefs.size > 0) {\n return properties.map((property) => {\n const [propertyName, schemaArray] = property;\n const nextSchemaArray = schemaArray[0];\n const nextSchemaArrayProperties = getNextPropertiesByType(nextSchemaArray);\n const paramId = buildRecursiveParamFieldId(fieldType, name, parentName, propertyName);\n const passedName = hideParentName ? '' : name;\n let circularReferences: string[] = [];\n if (\n Object.values(nextSchemaArrayProperties).some(\n (value: unknown) => typeof value === 'string' && currentLevelRefs.has(value)\n )\n ) {\n circularReferences = Object.values(nextSchemaArrayProperties).filter(\n (value: unknown) => typeof value === 'string' && currentLevelRefs.has(value)\n );\n }\n return (\n <RecursiveParamField\n paramId={paramId}\n fieldType={fieldType}\n key={propertyName}\n schemaArray={schemaArray}\n name={propertyName}\n parentName={\n style === 'deepObject' && explode\n ? getDeepObjectParentName(passedName, parentName)\n : getRecursiveParentName(passedName, parentName)\n }\n depth={depth + 1}\n renderedRefs={new Set(currentLevelRefs)}\n circularRefs={circularReferences}\n style={style}\n explode={explode}\n />\n );\n });\n } else {\n return properties.map(([propertyName, schemaArray]) => {\n const paramId = buildRecursiveParamFieldId(fieldType, name, parentName, propertyName);\n const passedName = hideParentName ? '' : name;\n return (\n <RecursiveParamField\n paramId={paramId}\n fieldType={fieldType}\n key={propertyName}\n schemaArray={schemaArray}\n name={propertyName}\n parentName={\n style === 'deepObject' && explode\n ? getDeepObjectParentName(passedName, parentName)\n : getRecursiveParentName(passedName, parentName)\n }\n depth={depth + 1}\n renderedRefs={new Set()}\n style={style}\n explode={explode}\n />\n );\n });\n }\n};\n\ntype RenderTruncatedNextPropertiesParams = {\n properties: [string, DataSchemaArray | IncrementalDataSchemaArray][];\n fieldType: FieldType;\n parentName?: string;\n name?: string | null;\n depth: number;\n};\n\nexport const renderTruncatedNextProperties = ({\n properties,\n fieldType,\n parentName,\n name,\n depth,\n}: RenderTruncatedNextPropertiesParams) => {\n return properties.map((property) => {\n const [propertyName, schemaArray] = property;\n const nextSchemaArray = schemaArray[0];\n const baseSchema: DataSchema = nextSchemaArray as DataSchema;\n if (baseSchema.type === 'array') {\n baseSchema.items = [{ type: 'any' }];\n } else if (baseSchema.type === 'object') {\n baseSchema.properties = {};\n }\n const paramId = buildRecursiveParamFieldId(fieldType, name, parentName);\n const id = `${paramId}-${propertyName}`;\n return (\n <RecursiveParamField\n fieldType={fieldType}\n key={propertyName}\n schemaArray={[baseSchema]}\n name={propertyName}\n paramId={id}\n depth={depth + 1}\n renderedRefs={new Set()}\n />\n );\n });\n};\n\nexport const buildRecursiveParamFieldId = (\n fieldType: FieldType | undefined,\n name: string | undefined | null,\n parentName: string | undefined,\n propertyName?: string | undefined\n) => {\n return slugify(\n `${fieldType ? `${fieldType}-` : ''}${parentName ? `${parentName}-` : ''}${name ? name : ''}-${propertyName ? propertyName : ''}`,\n {\n decamelize: true,\n }\n );\n};\n\nexport const getRecursiveParentName = (name?: string | null, parentName?: string): string => {\n if (!name) {\n return '';\n }\n\n return `${parentName ? `${parentName}` : ''}${name}.`;\n};\n\nexport const getDeepObjectParentName = (name?: string | null, parentName?: string): string => {\n if (!name) {\n return '';\n }\n\n return parentName ? `${parentName}${name}][` : `${name}[`;\n};\n"],"names":["buildRecursiveParamFieldId","fieldType","name","parentName","propertyName","slugify","getRecursiveParentName"],"mappings":";;;AAyNO,MAAMA,IAA6B,CACxCC,GACAC,GACAC,GACAC,MAEOC;AAAA,EACL,GAAGJ,IAAY,GAAGA,CAAS,MAAM,EAAE,GAAGE,IAAa,GAAGA,CAAU,MAAM,EAAE,GAAGD,KAAc,EAAE;AAAA,EAC3F;AAAA,IACE,YAAY;AAAA,EAAA;AACd,GAISI,IAAyB,CAACJ,GAAsBC,MACtDD,IAIE,GAAGC,IAAa,GAAGA,CAAU,KAAK,EAAE,GAAGD,CAAI,MAHzC;"}
1
+ {"version":3,"file":"RecursiveParamField.js","sources":["../../../../src/api-playground/EndpointFields/ParamFields/RecursiveParamField.tsx"],"sourcesContent":["\nimport { DataSchema, DataSchemaArray, IncrementalDataSchemaArray } from '@mintlify/validation';\nimport slugify from '@sindresorhus/slugify';\n\nimport { useEndpointLocation } from '@/contexts/EndpointLocationContext';\nimport { getConstFilteredSchemaArray } from '@/openapi/filterEnums';\nimport {\n getAuthFilteredSchemaArray,\n isDataSchemaArrayOrIncrementalDataSchemaArray,\n} from '@/openapi/getAuthFilteredSchemaArray';\nimport { getNextPropertiesByType } from '@/utils/api-reference/getNextPropertiesByType';\n\nimport { RecursiveParamFieldWithChildrenObserver } from './RecursiveParamFieldWithChildrenObserver';\nimport { RecursiveParamFieldWithObserver } from './RecursiveParamFieldWithObserver';\nimport { FieldType, RenderedRefs } from '@/api-playground-2/types/api';\n\nexport type RecursiveParamFieldParams = {\n fieldType: FieldType;\n schemaArray: DataSchemaArray | IncrementalDataSchemaArray;\n renderedRefs?: RenderedRefs;\n name?: string | null;\n location?: string;\n parentName?: string;\n depth?: number;\n hideDescription?: boolean;\n circularRefs?: string[];\n paramId?: string;\n style?: string;\n explode?: boolean;\n};\n\nexport const RecursiveParamField = ({\n fieldType,\n schemaArray,\n name,\n location,\n parentName,\n depth = 0,\n hideDescription = false,\n renderedRefs = new Set(),\n circularRefs,\n paramId,\n style,\n explode,\n}: RecursiveParamFieldParams) => {\n const { anchor } = useEndpointLocation();\n let filteredSchemaArray: DataSchemaArray | IncrementalDataSchemaArray | null = schemaArray;\n filteredSchemaArray = getAuthFilteredSchemaArray({ schemaArray, userGroups: undefined });\n\n if (\n filteredSchemaArray &&\n filteredSchemaArray.some((schema) => 'enum' in schema && 'const' in schema)\n ) {\n filteredSchemaArray = getConstFilteredSchemaArray({ schemaArray });\n }\n\n if (!isDataSchemaArrayOrIncrementalDataSchemaArray(filteredSchemaArray)) {\n return null;\n }\n\n const RecursiveParamFieldType = anchor\n ? RecursiveParamFieldWithChildrenObserver\n : RecursiveParamFieldWithObserver;\n\n return (\n <RecursiveParamFieldType\n fieldType={fieldType}\n schemaArray={filteredSchemaArray}\n name={name}\n location={location}\n parentName={parentName}\n depth={depth}\n style={style}\n explode={explode}\n hideDescription={hideDescription}\n renderedRefs={renderedRefs}\n circularRefs={circularRefs}\n paramId={paramId}\n />\n );\n};\n\ntype RenderNextPropertiesRecursivelyParams = {\n properties: [string, DataSchemaArray | IncrementalDataSchemaArray][];\n fieldType: FieldType;\n depth: number;\n refs: Set<string>;\n parentName?: string;\n name?: string | null;\n currentSchemaRef: string | undefined;\n style?: string;\n explode?: boolean;\n hideParentName?: boolean;\n};\n\nexport const renderNextPropertiesRecursively = ({\n currentSchemaRef,\n properties,\n fieldType,\n parentName,\n name,\n depth,\n refs,\n style,\n explode,\n hideParentName,\n}: RenderNextPropertiesRecursivelyParams) => {\n // Create a new set with the current refs for this level\n const currentLevelRefs = new Set(refs);\n\n if (currentSchemaRef) {\n currentLevelRefs.add(currentSchemaRef);\n }\n\n if (currentLevelRefs.size > 0) {\n return properties.map((property) => {\n const [propertyName, schemaArray] = property;\n const nextSchemaArray = schemaArray[0];\n const nextSchemaArrayProperties = getNextPropertiesByType(nextSchemaArray);\n const paramId = buildRecursiveParamFieldId(fieldType, name, parentName, propertyName);\n const passedName = hideParentName ? '' : name;\n let circularReferences: string[] = [];\n if (\n Object.values(nextSchemaArrayProperties).some(\n (value: unknown) => typeof value === 'string' && currentLevelRefs.has(value)\n )\n ) {\n circularReferences = Object.values(nextSchemaArrayProperties).filter(\n (value: unknown) => typeof value === 'string' && currentLevelRefs.has(value)\n );\n }\n return (\n <RecursiveParamField\n paramId={paramId}\n fieldType={fieldType}\n key={propertyName}\n schemaArray={schemaArray}\n name={propertyName}\n parentName={\n style === 'deepObject' && explode\n ? getDeepObjectParentName(passedName, parentName)\n : getRecursiveParentName(passedName, parentName)\n }\n depth={depth + 1}\n renderedRefs={new Set(currentLevelRefs)}\n circularRefs={circularReferences}\n style={style}\n explode={explode}\n />\n );\n });\n } else {\n return properties.map(([propertyName, schemaArray]) => {\n const paramId = buildRecursiveParamFieldId(fieldType, name, parentName, propertyName);\n const passedName = hideParentName ? '' : name;\n return (\n <RecursiveParamField\n paramId={paramId}\n fieldType={fieldType}\n key={propertyName}\n schemaArray={schemaArray}\n name={propertyName}\n parentName={\n style === 'deepObject' && explode\n ? getDeepObjectParentName(passedName, parentName)\n : getRecursiveParentName(passedName, parentName)\n }\n depth={depth + 1}\n renderedRefs={new Set()}\n style={style}\n explode={explode}\n />\n );\n });\n }\n};\n\ntype RenderTruncatedNextPropertiesParams = {\n properties: [string, DataSchemaArray | IncrementalDataSchemaArray][];\n fieldType: FieldType;\n parentName?: string;\n name?: string | null;\n depth: number;\n};\n\nexport const renderTruncatedNextProperties = ({\n properties,\n fieldType,\n parentName,\n name,\n depth,\n}: RenderTruncatedNextPropertiesParams) => {\n return properties.map((property) => {\n const [propertyName, schemaArray] = property;\n const nextSchemaArray = schemaArray[0];\n const baseSchema: DataSchema = nextSchemaArray as DataSchema;\n if (baseSchema.type === 'array') {\n baseSchema.items = [{ type: 'any' }];\n } else if (baseSchema.type === 'object') {\n baseSchema.properties = {};\n }\n const paramId = buildRecursiveParamFieldId(fieldType, name, parentName);\n const id = `${paramId}-${propertyName}`;\n return (\n <RecursiveParamField\n fieldType={fieldType}\n key={propertyName}\n schemaArray={[baseSchema]}\n name={propertyName}\n paramId={id}\n depth={depth + 1}\n renderedRefs={new Set()}\n />\n );\n });\n};\n\nexport const buildRecursiveParamFieldId = (\n fieldType: FieldType | undefined,\n name: string | undefined | null,\n parentName: string | undefined,\n propertyName?: string | undefined\n) => {\n return slugify(\n `${fieldType ? `${fieldType}-` : ''}${parentName ? `${parentName}-` : ''}${name ? name : ''}-${propertyName ? propertyName : ''}`,\n {\n decamelize: true,\n }\n );\n};\n\nexport const getRecursiveParentName = (name?: string | null, parentName?: string): string => {\n if (!name) {\n return '';\n }\n\n return `${parentName ? `${parentName}` : ''}${name}.`;\n};\n\nexport const getDeepObjectParentName = (name?: string | null, parentName?: string): string => {\n if (!name) {\n return '';\n }\n\n return parentName ? `${parentName}${name}][` : `${name}[`;\n};\n"],"names":["buildRecursiveParamFieldId","fieldType","name","parentName","propertyName","slugify","getRecursiveParentName"],"mappings":";;AAyNO,MAAMA,IAA6B,CACxCC,GACAC,GACAC,GACAC,MAEOC;AAAA,EACL,GAAGJ,IAAY,GAAGA,CAAS,MAAM,EAAE,GAAGE,IAAa,GAAGA,CAAU,MAAM,EAAE,GAAGD,KAAc,EAAE;AAAA,EAC3F;AAAA,IACE,YAAY;AAAA,EAAA;AACd,GAISI,IAAyB,CAACJ,GAAsBC,MACtDD,IAIE,GAAGC,IAAa,GAAGA,CAAU,KAAK,EAAE,GAAGD,CAAI,MAHzC;"}
@@ -1,8 +1,7 @@
1
1
  import "react/jsx-runtime";
2
- import "../../contexts/EndpointLocationContext.js";
3
- import { useOpenApiEndpoint as t } from "../../hooks/useEndpoint.js";
4
- const i = () => (t(), null);
2
+ import { useOpenApiEndpoint as n } from "../../hooks/useEndpoint.js";
3
+ const p = () => (n(), null);
5
4
  export {
6
- i as default
5
+ p as default
7
6
  };
8
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/api-playground/EndpointFields/index.tsx"],"sourcesContent":["\nimport { EndpointLocationProvider } from '@/contexts/EndpointLocationContext';\nimport { useOpenApiEndpoint } from '@/hooks/useEndpoint';\nimport { getFilteredSecurityOptions } from '@/utils/api-reference/getFilteredSecurityOptions';\n\nimport { EndpointBody } from './EndpointBody';\nimport { EndpointParameters } from './EndpointParameters';\nimport { EndpointResponse } from './EndpointResponse';\nimport { EndpointSecurity } from './EndpointSecurity';\n\nconst EndpointFields = () => {\n const endpoint = useOpenApiEndpoint();\n const newApiReferencePage = true;\n\n if (endpoint === undefined || newApiReferencePage) {\n return null;\n }\n\n // TODO(ronan): remove when all security options are handled (none should be empty)\n const filteredSecurityOptions = getFilteredSecurityOptions(endpoint);\n\n return (\n <>\n {filteredSecurityOptions.length > 0 && (\n <EndpointSecurity securityOptions={filteredSecurityOptions} />\n )}\n <EndpointParameters parameters={endpoint.request.parameters} />\n <EndpointLocationProvider location=\"request\">\n <EndpointBody body={endpoint.request.body} />\n </EndpointLocationProvider>\n <EndpointLocationProvider location=\"response\">\n {Object.entries(endpoint.response)[0] && <EndpointResponse response={endpoint.response} />}\n </EndpointLocationProvider>\n </>\n );\n};\n\nexport default EndpointFields;\n"],"names":["EndpointFields","useOpenApiEndpoint"],"mappings":";;;AAUA,MAAMA,IAAiB,OACJC,EAAA,GAIR;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/api-playground/EndpointFields/index.tsx"],"sourcesContent":["\nimport { EndpointLocationProvider } from '@/contexts/EndpointLocationContext';\nimport { useOpenApiEndpoint } from '@/hooks/useEndpoint';\nimport { getFilteredSecurityOptions } from '@/utils/api-reference/getFilteredSecurityOptions';\n\nimport { EndpointBody } from './EndpointBody';\nimport { EndpointParameters } from './EndpointParameters';\nimport { EndpointResponse } from './EndpointResponse';\nimport { EndpointSecurity } from './EndpointSecurity';\n\nconst EndpointFields = () => {\n const endpoint = useOpenApiEndpoint();\n const newApiReferencePage = true;\n\n if (endpoint === undefined || newApiReferencePage) {\n return null;\n }\n\n // TODO(ronan): remove when all security options are handled (none should be empty)\n const filteredSecurityOptions = getFilteredSecurityOptions(endpoint);\n\n return (\n <>\n {filteredSecurityOptions.length > 0 && (\n <EndpointSecurity securityOptions={filteredSecurityOptions} />\n )}\n <EndpointParameters parameters={endpoint.request.parameters} />\n <EndpointLocationProvider location=\"request\">\n <EndpointBody body={endpoint.request.body} />\n </EndpointLocationProvider>\n <EndpointLocationProvider location=\"response\">\n {Object.entries(endpoint.response)[0] && <EndpointResponse response={endpoint.response} />}\n </EndpointLocationProvider>\n </>\n );\n};\n\nexport default EndpointFields;\n"],"names":["EndpointFields","useOpenApiEndpoint"],"mappings":";;AAUA,MAAMA,IAAiB,OACJC,EAAA,GAIR;"}
@@ -1,288 +1,297 @@
1
- import { jsxs as l, jsx as n, Fragment as W } from "react/jsx-runtime";
2
- import C, { useRef as j, useEffect as L, useState as S } from "react";
3
- import { useComponents as M } from "../../context/components-context.js";
1
+ import { jsxs as a, jsx as e, Fragment as I } from "react/jsx-runtime";
2
+ import C, { useRef as M, useEffect as z, useState as W } from "react";
3
+ import { useComponents as L } from "../../context/components-context.js";
4
4
  /* empty css */
5
- import { cn as h } from "../../utils/cn.js";
6
- import { MethodPill as I } from "../Api/MethodPill.js";
7
- function _({ isExpanded: t }) {
8
- return /* @__PURE__ */ n(
5
+ import { cn as p } from "../../utils/cn.js";
6
+ import { MethodPill as j } from "../Api/MethodPill.js";
7
+ function _({ isExpanded: n }) {
8
+ return /* @__PURE__ */ e(
9
9
  "svg",
10
10
  {
11
- className: h(
11
+ className: p(
12
12
  "mint:w-[16px] mint:h-[16px] mint:shrink-0 mint:text-[#6b7280] mint:dark:text-[#adadad]",
13
- t ? "mint:rotate-90" : "mint:rotate-0"
13
+ n ? "mint:rotate-90" : "mint:rotate-0"
14
14
  ),
15
15
  fill: "none",
16
16
  stroke: "currentColor",
17
17
  viewBox: "0 0 24 24",
18
18
  "aria-hidden": "true",
19
- children: /* @__PURE__ */ n("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 5l7 7-7 7" })
19
+ children: /* @__PURE__ */ e("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 5l7 7-7 7" })
20
20
  }
21
21
  );
22
22
  }
23
- const z = "mint:bg-[#e6e6e6] mint:dark:bg-[#2e2e2e] mint:text-[#242424] mint:dark:text-[#ffffff] mint:font-semibold";
24
- function y({ item: t, activeId: g, level: p = 0, activeHref: o }) {
25
- const x = t.children && t.children.length > 0, v = (i) => i ? i.startsWith("/") ? i : `/${i}` : "", u = (i, a) => {
26
- if (!i || !a) return !1;
27
- const b = v(i), N = v(a);
28
- return b === N || b.replace("/docs/", "/") === N.replace("/docs/", "/") || b === N.replace("/docs/", "/") || b.replace("/docs/", "/") === N;
29
- }, k = (i) => u(i.href, o) ? !0 : i.children ? i.children.some(k) : !1, $ = p === 0 ? !0 : (t.expanded ?? !1) || x && k(t), [s, e] = S($);
30
- L(() => {
31
- x && k(t) && e(!0);
32
- }, [o]);
33
- const { LinkComponent: d } = M(), f = !t.href, r = t.href && (u(t.href, g) || u(t.href, o)), c = t.icon;
34
- if (f && p === 0)
35
- return /* @__PURE__ */ l("div", { id: "nav-group", role: "group", "aria-label": t.toc_title, children: [
36
- /* @__PURE__ */ l("div", { className: "mint:text-sm mint:font-semibold mint:text-[#141414] mint:dark:text-white mint:mb-3 mint:flex mint:items-start mint:gap-2 mint:pl-2.5", children: [
37
- c && /* @__PURE__ */ n(c, { className: "mint:w-5 mint:h-5", "aria-hidden": "true" }),
38
- /* @__PURE__ */ n("span", { children: t.toc_title })
23
+ const S = "mint:bg-[#e6e6e6] mint:dark:bg-[#2e2e2e] mint:text-[#242424] mint:dark:text-[#ffffff] mint:font-semibold";
24
+ function E({ item: n, activeId: g, level: u = 0, activeHref: s }) {
25
+ const b = n.children && n.children.length > 0, v = (i) => i ? i.startsWith("/") ? i : `/${i}` : "", x = (i, r) => {
26
+ if (!i || !r) return !1;
27
+ const o = v(i), N = v(r);
28
+ return o === N || o.replace("/docs/", "/") === N.replace("/docs/", "/") || o === N.replace("/docs/", "/") || o.replace("/docs/", "/") === N;
29
+ }, k = (i) => x(i.href, s) ? !0 : i.children ? i.children.some(k) : !1, $ = u === 0 ? !0 : (n.expanded ?? !1) || b && k(n), [c, t] = W($);
30
+ z(() => {
31
+ b && k(n) && t(!0);
32
+ }, [s]);
33
+ const { LinkComponent: f } = L(), d = !n.href, m = n.href && (x(n.href, g) || x(n.href, s)), h = n.icon;
34
+ if (d && u === 0)
35
+ return /* @__PURE__ */ a("div", { id: "nav-group", role: "group", "aria-label": n.toc_title, children: [
36
+ /* @__PURE__ */ a("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
+ h && /* @__PURE__ */ e(h, { className: "mint:w-5 mint:h-5", "aria-hidden": "true" }),
38
+ /* @__PURE__ */ e("span", { children: n.toc_title })
39
39
  ] }),
40
- x && t.children && /* @__PURE__ */ n("ul", { className: "mint:flex mint:flex-col mint:pl-0", role: "list", children: t.children.map((i, a) => /* @__PURE__ */ n(
41
- y,
40
+ b && n.children && /* @__PURE__ */ e("ul", { className: "mint:flex mint:flex-col mint:pl-0", role: "list", children: n.children.map((i, r) => /* @__PURE__ */ e(
41
+ E,
42
42
  {
43
43
  item: i,
44
44
  activeId: g,
45
- level: p + 1,
46
- activeHref: o
45
+ level: u + 1,
46
+ activeHref: s
47
47
  },
48
- `${i.href}-${a}`
48
+ `${i.href}-${r}`
49
49
  )) })
50
50
  ] });
51
- if (f && p > 0)
52
- return /* @__PURE__ */ l("li", { className: "mint:list-none", children: [
53
- /* @__PURE__ */ l(
51
+ if (d && u > 0)
52
+ return /* @__PURE__ */ a("li", { className: "mint:list-none", children: [
53
+ /* @__PURE__ */ a(
54
54
  "button",
55
55
  {
56
56
  id: "nav-group-toggle",
57
- onClick: () => e(!s),
58
- "aria-expanded": s,
59
- "aria-label": `${s ? "Collapse" : "Expand"} ${t.toc_title} section`,
57
+ onClick: () => t(!c),
58
+ "aria-expanded": c,
59
+ "aria-label": `${c ? "Collapse" : "Expand"} ${n.toc_title} section`,
60
60
  className: "mint:relative mint:text-left mint:w-full mint:flex mint:items-center mint:justify-between mint:py-2 mint:px-3 mint:text-sm mint:rounded-lg mint:bg-transparent mint:border-none mint:cursor-pointer mint:text-[#4b5563] mint:dark:text-[#adadad] mint:hover:bg-[rgba(75,85,99,0.05)] mint:hover:text-[#141414] mint:dark:hover:bg-[rgba(75,85,99,0.05)] mint:dark:hover:text-[#e5e7eb] mint:focus-visible:outline-2 mint:focus-visible:outline-[#643fb2] mint:focus-visible:outline-offset-2",
61
61
  children: [
62
- /* @__PURE__ */ n("span", { className: "mint:flex-1 mint:min-w-0", children: t.toc_title }),
63
- /* @__PURE__ */ n(_, { isExpanded: !!s })
62
+ /* @__PURE__ */ e("span", { className: "mint:flex-1 mint:min-w-0", children: n.toc_title }),
63
+ /* @__PURE__ */ e(_, { isExpanded: !!c })
64
64
  ]
65
65
  }
66
66
  ),
67
- x && s && t.children && /* @__PURE__ */ n("ul", { className: "mint:ml-3 mint:flex mint:flex-col mint:pl-0", role: "group", children: t.children.map((i, a) => /* @__PURE__ */ n(
68
- y,
67
+ b && c && n.children && /* @__PURE__ */ e("ul", { className: "mint:ml-3 mint:flex mint:flex-col mint:pl-0", role: "group", children: n.children.map((i, r) => /* @__PURE__ */ e(
68
+ E,
69
69
  {
70
70
  item: i,
71
71
  activeId: g,
72
- level: p + 1,
73
- activeHref: o
72
+ level: u + 1,
73
+ activeHref: s
74
74
  },
75
- `${i.href}-${a}`
75
+ `${i.href}-${r}`
76
76
  )) })
77
77
  ] });
78
- const m = d || "a";
79
- return x ? /* @__PURE__ */ l("li", { className: "mint:list-none", children: [
80
- /* @__PURE__ */ l(
78
+ const l = f || "a";
79
+ return b ? /* @__PURE__ */ a("li", { className: "mint:list-none", children: [
80
+ /* @__PURE__ */ a(
81
81
  "button",
82
82
  {
83
83
  id: "nav-item-toggle",
84
- onClick: () => e(!s),
85
- "aria-expanded": s,
86
- "aria-label": `${s ? "Collapse" : "Expand"} ${t.toc_title} section`,
87
- className: h(
84
+ onClick: () => t(!c),
85
+ "aria-expanded": c,
86
+ "aria-label": `${c ? "Collapse" : "Expand"} ${n.toc_title} section`,
87
+ className: p(
88
88
  "mint:relative mint:text-left mint:w-full mint:flex mint:items-center mint:justify-between mint:gap-2 mint:py-2 mint:px-3 mint:text-[14px] mint:font-normal mint:rounded-xl mint:bg-transparent mint:border-none mint:cursor-pointer mint:text-[#424242] mint:dark:text-[#adadad] mint:focus-visible:outline-2 mint:focus-visible:outline-[#643fb2] mint:focus-visible:outline-offset-2",
89
- r ? z : "mint:hover:bg-[rgba(75,85,99,0.05)] mint:hover:text-[#141414] mint:dark:hover:bg-[rgba(75,85,99,0.05)] mint:dark:hover:text-[#e5e7eb]"
89
+ m ? S : "mint:hover:bg-[rgba(75,85,99,0.05)] mint:hover:text-[#141414] mint:dark:hover:bg-[rgba(75,85,99,0.05)] mint:dark:hover:text-[#e5e7eb]"
90
90
  ),
91
91
  children: [
92
- /* @__PURE__ */ n("span", { className: "mint:flex-1 mint:min-w-0", children: t.toc_title }),
93
- /* @__PURE__ */ n(_, { isExpanded: !!s })
92
+ /* @__PURE__ */ e("span", { className: "mint:flex-1 mint:min-w-0", children: n.toc_title }),
93
+ /* @__PURE__ */ e(_, { isExpanded: !!c })
94
94
  ]
95
95
  }
96
96
  ),
97
- s && t.children && /* @__PURE__ */ n("ul", { className: "mint:ml-3 mint:flex mint:flex-col mint:pl-0", role: "group", children: t.children.map((i, a) => /* @__PURE__ */ n(
98
- y,
97
+ c && n.children && /* @__PURE__ */ e("ul", { className: "mint:ml-3 mint:flex mint:flex-col mint:pl-0", role: "group", children: n.children.map((i, r) => /* @__PURE__ */ e(
98
+ E,
99
99
  {
100
100
  item: i,
101
101
  activeId: g,
102
- level: p + 1,
103
- activeHref: o
102
+ level: u + 1,
103
+ activeHref: s
104
104
  },
105
- `${i.href}-${a}`
105
+ `${i.href}-${r}`
106
106
  )) })
107
- ] }) : /* @__PURE__ */ n("li", { className: "mint:list-none", children: /* @__PURE__ */ l(
108
- m,
107
+ ] }) : /* @__PURE__ */ e("li", { className: "mint:list-none", children: /* @__PURE__ */ a(
108
+ l,
109
109
  {
110
110
  id: "nav-item",
111
- href: t.href,
112
- "aria-current": r ? "page" : void 0,
113
- className: h(
111
+ href: n.href,
112
+ "aria-current": m ? "page" : void 0,
113
+ className: p(
114
114
  "mint:relative mint:flex mint:items-center mint:gap-2 mint:py-2 mint:px-3 mint:text-[14px] mint:font-normal mint:rounded-xl mint:no-underline mint:text-[#424242] mint:dark:text-[#adadad] mint:focus-visible:outline-2 mint:focus-visible:outline-[#643fb2] mint:focus-visible:outline-offset-2 mint:[&_span]:flex-1",
115
- r ? z : "mint:hover:bg-[rgba(75,85,99,0.05)] mint:hover:text-[#141414] mint:dark:hover:bg-[rgba(75,85,99,0.05)] mint:dark:hover:text-[#e5e7eb]"
115
+ m ? S : "mint:hover:bg-[rgba(75,85,99,0.05)] mint:hover:text-[#141414] mint:dark:hover:bg-[rgba(75,85,99,0.05)] mint:dark:hover:text-[#e5e7eb]"
116
116
  ),
117
117
  children: [
118
- r && /* @__PURE__ */ n("div", { className: "mint:absolute mint:left-0 mint:my-2.5 mint:rounded-full mint:w-[3px] mint:top-0 mint:bottom-0 mint:bg-[#8251ee] mint:dark:bg-[#9263f1]" }),
119
- t.method && /* @__PURE__ */ n(I, { isActive: !!r, method: t.method, shortMethod: !0 }),
120
- t.toc_title
118
+ m && /* @__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]" }),
119
+ n.method && /* @__PURE__ */ e(j, { isActive: !!m, method: n.method, shortMethod: !0 }),
120
+ n.toc_title
121
121
  ]
122
122
  }
123
123
  ) });
124
124
  }
125
- function H({
126
- navTree: t,
125
+ function G({
126
+ navTree: n,
127
127
  activeId: g,
128
- className: p = "",
129
- activeHref: o,
130
- theme: x,
128
+ className: u = "",
129
+ activeHref: s,
130
+ theme: b,
131
131
  bottomLinks: v,
132
- anchors: u
132
+ anchors: x
133
133
  }) {
134
- const { LinkComponent: k } = M(), $ = j(null);
135
- if (L(() => {
136
- const e = $.current;
137
- if (!e || !o) return;
138
- const d = (r) => r ? r.startsWith("/") ? r : `/${r}` : "", f = (r, c) => {
139
- const m = d(r), i = d(c);
140
- return m === i || m.replace("/docs/", "/") === i.replace("/docs/", "/") || m === i.replace("/docs/", "/") || m.replace("/docs/", "/") === i;
141
- };
142
- requestAnimationFrame(() => {
143
- const r = e.querySelectorAll("a[href]");
144
- let c = null;
145
- for (const m of Array.from(r)) {
146
- const i = m.getAttribute("href");
147
- if (i && f(i, o)) {
148
- c = m;
149
- break;
134
+ const { LinkComponent: k } = L(), $ = M(null);
135
+ if (z(() => {
136
+ const t = $.current;
137
+ if (!t || !s) return;
138
+ const f = sessionStorage.getItem("nav-tree-scroll-position");
139
+ if (f)
140
+ t.scrollTop = parseInt(f, 10);
141
+ else {
142
+ const m = (l) => l ? l.startsWith("/") ? l : `/${l}` : "", h = (l, i) => {
143
+ const r = m(l), o = m(i);
144
+ return r === o || r.replace("/docs/", "/") === o.replace("/docs/", "/") || r === o.replace("/docs/", "/") || r.replace("/docs/", "/") === o;
145
+ };
146
+ requestAnimationFrame(() => {
147
+ const l = t.querySelectorAll("a[href]");
148
+ let i = null;
149
+ for (const r of Array.from(l)) {
150
+ const o = r.getAttribute("href");
151
+ if (o && h(o, s)) {
152
+ i = r;
153
+ break;
154
+ }
150
155
  }
151
- }
152
- c && c.scrollIntoView({
153
- behavior: "instant",
154
- block: "center",
155
- inline: "nearest"
156
+ i && i.scrollIntoView({
157
+ behavior: "instant",
158
+ block: "center",
159
+ inline: "nearest"
160
+ });
156
161
  });
157
- });
158
- }, [o]), !t || t.items.length === 0)
162
+ }
163
+ const d = () => {
164
+ sessionStorage.setItem("nav-tree-scroll-position", t.scrollTop.toString());
165
+ };
166
+ return t.addEventListener("scroll", d), () => t.removeEventListener("scroll", d);
167
+ }, [s]), !n || n.items.length === 0)
159
168
  return null;
160
- const s = k || "a";
161
- return /* @__PURE__ */ l(
169
+ const c = k || "a";
170
+ return /* @__PURE__ */ a(
162
171
  "nav",
163
172
  {
164
173
  id: "nav-tree",
165
- className: h(
174
+ className: p(
166
175
  "mint:flex mint:flex-col mint:h-full mint:min-h-0",
167
- p,
168
- x === "dark" && "dark"
176
+ u,
177
+ b === "dark" && "dark"
169
178
  ),
170
179
  "aria-label": "Documentation navigation",
171
180
  children: [
172
- /* @__PURE__ */ l(
181
+ /* @__PURE__ */ a(
173
182
  "div",
174
183
  {
175
184
  id: "nav-tree-content",
176
185
  ref: $,
177
- className: h(
186
+ className: p(
178
187
  "mint:flex-1 mint:overflow-y-auto mint:overflow-x-hidden mint:min-h-0 mint:[scrollbar-gutter:stable] mint:md:px-4 mint:[scrollbar-width:thin] mint:[scrollbar-color:rgba(0,0,0,0.2)_transparent] mint:dark:[scrollbar-color:rgba(255,255,255,0.2)_transparent] mint:[&::-webkit-scrollbar]:w-1 mint:[&::-webkit-scrollbar-track]:bg-transparent mint:[&::-webkit-scrollbar-thumb]:bg-black/20 mint:dark:[&::-webkit-scrollbar-thumb]:bg-white/20 mint:[&::-webkit-scrollbar-thumb]:rounded mint:[&::-webkit-scrollbar-thumb:hover]:bg-black/30 mint:dark:[&::-webkit-scrollbar-thumb:hover]:bg-white/30 mint:space-y-6 mint:py-4"
179
188
  ),
180
189
  children: [
181
- u && u.length > 0 && /* @__PURE__ */ n("div", { id: "nav-anchors", className: "mint:shrink-0 mint:w-full mint:mb-3", children: /* @__PURE__ */ n("div", { className: "mint:flex mint:flex-col", children: u.map((e, d) => {
182
- const f = e.icon, r = (m) => m ? m.startsWith("/") ? m : `/${m}` : "", c = (() => {
183
- if (!o || !e.href) return !1;
184
- const m = r(o), i = r(e.href), a = m.replace(/\/$/, ""), b = i.replace(/\/$/, "");
185
- return a === b || a.startsWith(b + "/") ? u.filter((w) => {
190
+ x && x.length > 0 && /* @__PURE__ */ e("div", { id: "nav-anchors", className: "mint:shrink-0 mint:w-full mint:mb-3", children: /* @__PURE__ */ e("div", { className: "mint:flex mint:flex-col", children: x.map((t, f) => {
191
+ const d = t.icon, m = (l) => l ? l.startsWith("/") ? l : `/${l}` : "", h = (() => {
192
+ if (!s || !t.href) return !1;
193
+ const l = m(s), i = m(t.href), r = l.replace(/\/$/, ""), o = i.replace(/\/$/, "");
194
+ return r === o || r.startsWith(o + "/") ? x.filter((w) => {
186
195
  if (!w.href) return !1;
187
- const A = r(w.href).replace(/\/$/, "");
188
- return a === A || a.startsWith(A + "/");
189
- }).reduce((w, E) => {
190
- const A = r(w.href || "").replace(
196
+ const A = m(w.href).replace(/\/$/, "");
197
+ return r === A || r.startsWith(A + "/");
198
+ }).reduce((w, y) => {
199
+ const A = m(w.href || "").replace(
191
200
  /\/$/,
192
201
  ""
193
202
  );
194
- return r(E.href || "").replace(
203
+ return m(y.href || "").replace(
195
204
  /\/$/,
196
205
  ""
197
- ).length > A.length ? E : w;
198
- }, e) === e : !1;
206
+ ).length > A.length ? y : w;
207
+ }, t) === t : !1;
199
208
  })();
200
- return /* @__PURE__ */ l(
201
- s,
209
+ return /* @__PURE__ */ a(
210
+ c,
202
211
  {
203
- href: e.href,
204
- "aria-current": c ? "page" : void 0,
205
- className: h(
212
+ href: t.href,
213
+ "aria-current": h ? "page" : void 0,
214
+ className: p(
206
215
  "mint:group mint:relative mint:flex mint:items-start mint:gap-2 mint:py-2 mint:px-3 mint:text-sm mint:rounded-lg mint:no-underline mint:focus-visible:outline-2 mint:focus-visible:outline-[#643fb2] mint:focus-visible:outline-offset-2 mint:hover:text-[#141414] mint:dark:hover:text-[#e5e7eb]",
207
- c ? "mint:text-[#141414] mint:dark:text-[#ffffff]" : "mint:text-[#424242] mint:dark:text-[#adadad]"
216
+ h ? "mint:text-[#141414] mint:dark:text-[#ffffff]" : "mint:text-[#424242] mint:dark:text-[#adadad]"
208
217
  ),
209
218
  children: [
210
- f && /* @__PURE__ */ n(
211
- f,
219
+ d && /* @__PURE__ */ e(
220
+ d,
212
221
  {
213
- className: h(
222
+ className: p(
214
223
  "mint:w-5 mint:h-5 mint:shrink-0",
215
- c ? "mint:text-[#8251ee] mint:dark:text-[#9263f1]" : "mint:text-[#6b7280] mint:dark:text-[#adadad] mint:group-hover:text-[#8251ee] mint:dark:group-hover:text-[#9263f1]"
224
+ h ? "mint:text-[#8251ee] mint:dark:text-[#9263f1]" : "mint:text-[#6b7280] mint:dark:text-[#adadad] mint:group-hover:text-[#8251ee] mint:dark:group-hover:text-[#9263f1]"
216
225
  )
217
226
  }
218
227
  ),
219
- /* @__PURE__ */ l("div", { className: "mint:flex mint:flex-col mint:gap-0.5 mint:min-w-0", children: [
220
- /* @__PURE__ */ n(
228
+ /* @__PURE__ */ a("div", { className: "mint:flex mint:flex-col mint:gap-0.5 mint:min-w-0", children: [
229
+ /* @__PURE__ */ e(
221
230
  "span",
222
231
  {
223
- className: h(
232
+ className: p(
224
233
  "mint:font-medium",
225
- c ? "mint:text-[#8251ee] mint:dark:text-[#9263f1] mint:font-semibold" : "mint:text-[#141414] mint:dark:text-[#ffffff] mint:group-hover:text-[#8251ee] mint:dark:group-hover:text-[#9263f1]"
234
+ h ? "mint:text-[#8251ee] mint:dark:text-[#9263f1] mint:font-semibold" : "mint:text-[#141414] mint:dark:text-[#ffffff] mint:group-hover:text-[#8251ee] mint:dark:group-hover:text-[#9263f1]"
226
235
  ),
227
- children: e.title
236
+ children: t.title
228
237
  }
229
238
  ),
230
- e.description && /* @__PURE__ */ n("span", { className: "mint:text-xs mint:text-[#6b7280] mint:dark:text-[#adadad] mint:leading-snug", children: e.description })
239
+ t.description && /* @__PURE__ */ e("span", { className: "mint:text-xs mint:text-[#6b7280] mint:dark:text-[#adadad] mint:leading-snug", children: t.description })
231
240
  ] })
232
241
  ]
233
242
  },
234
- d
243
+ f
235
244
  );
236
245
  }) }) }),
237
- t.items.map((e, d) => /* @__PURE__ */ n(
238
- y,
246
+ n.items.map((t, f) => /* @__PURE__ */ e(
247
+ E,
239
248
  {
240
- item: e,
249
+ item: t,
241
250
  activeId: g,
242
- activeHref: o
251
+ activeHref: s
243
252
  },
244
- `${e.href}-${d}`
253
+ `${t.href}-${f}`
245
254
  ))
246
255
  ]
247
256
  }
248
257
  ),
249
- v && v.length > 0 && /* @__PURE__ */ l(
258
+ v && v.length > 0 && /* @__PURE__ */ a(
250
259
  "div",
251
260
  {
252
261
  id: "nav-tree-bottom-links",
253
262
  className: "mint:shrink-0 mint:w-full mint:bg-[#f0f0f0] mint:dark:bg-[#0f0f0f] mint:mt-auto",
254
263
  children: [
255
- /* @__PURE__ */ n("div", { className: "mint:h-[0.5px] mint:w-full mint:bg-[#d1d1d1] mint:dark:bg-[#666666]" }),
256
- /* @__PURE__ */ n("div", { className: "mint:flex mint:flex-col mint:py-3 mint:px-4", children: v.map((e, d) => {
257
- var r;
258
- const f = e.icon;
259
- return e.component ? /* @__PURE__ */ n("div", { children: C.isValidElement(e.component) ? C.cloneElement(e.component, {
260
- ...e.component.props,
261
- className: h(
264
+ /* @__PURE__ */ e("div", { className: "mint:h-[0.5px] mint:w-full mint:bg-[#d1d1d1] mint:dark:bg-[#666666]" }),
265
+ /* @__PURE__ */ e("div", { className: "mint:flex mint:flex-col mint:py-3 mint:px-4", children: v.map((t, f) => {
266
+ var m;
267
+ const d = t.icon;
268
+ return t.component ? /* @__PURE__ */ e("div", { children: C.isValidElement(t.component) ? C.cloneElement(t.component, {
269
+ ...t.component.props,
270
+ className: p(
262
271
  "mint:flex mint:items-center mint:py-2 mint:gap-2 mint:text-sm mint:text-[#424242] mint:dark:text-[#adadad] mint:hover:text-[#141414] mint:dark:hover:text-[#e5e7eb] mint:px-2 mint:cursor-pointer",
263
- (r = e.component.props) == null ? void 0 : r.className
272
+ (m = t.component.props) == null ? void 0 : m.className
264
273
  ),
265
- children: /* @__PURE__ */ l(W, { children: [
266
- /* @__PURE__ */ n(f, { className: "mint:w-5 mint:h-5 mint:shrink-0" }),
267
- /* @__PURE__ */ n("span", { children: e.label })
274
+ children: /* @__PURE__ */ a(I, { children: [
275
+ /* @__PURE__ */ e(d, { className: "mint:w-5 mint:h-5 mint:shrink-0" }),
276
+ /* @__PURE__ */ e("span", { children: t.label })
268
277
  ] })
269
- }) : /* @__PURE__ */ l("div", { className: "mint:flex mint:items-center mint:py-2 mint:gap-2 mint:text-sm mint:text-[#424242] mint:dark:text-[#adadad] mint:hover:text-[#141414] mint:dark:hover:text-[#e5e7eb] mint:px-2 mint:cursor-pointer", children: [
270
- /* @__PURE__ */ n(f, { className: "mint:w-5 mint:h-5 mint:shrink-0" }),
271
- /* @__PURE__ */ n("span", { children: e.label }),
272
- e.component
273
- ] }) }, d) : /* @__PURE__ */ l(
274
- s,
278
+ }) : /* @__PURE__ */ a("div", { className: "mint:flex mint:items-center mint:py-2 mint:gap-2 mint:text-sm mint:text-[#424242] mint:dark:text-[#adadad] mint:hover:text-[#141414] mint:dark:hover:text-[#e5e7eb] mint:px-2 mint:cursor-pointer", children: [
279
+ /* @__PURE__ */ e(d, { className: "mint:w-5 mint:h-5 mint:shrink-0" }),
280
+ /* @__PURE__ */ e("span", { children: t.label }),
281
+ t.component
282
+ ] }) }, f) : /* @__PURE__ */ a(
283
+ c,
275
284
  {
276
- href: e.href,
285
+ href: t.href,
277
286
  target: "_blank",
278
287
  rel: "noopener noreferrer",
279
288
  className: "mint:flex mint:items-center mint:py-2 mint:gap-2 mint:text-sm mint:no-underline mint:text-[#424242] mint:dark:text-[#adadad] mint:hover:text-[#141414] mint:dark:hover:text-[#e5e7eb] mint:px-2 mint:[&>span]:flex mint:[&>span]:items-center mint:[&>span]:gap-2 mint:[&>svg:last-child]:hidden",
280
289
  children: [
281
- /* @__PURE__ */ n(f, { className: "mint:w-5 mint:h-5 mint:shrink-0" }),
282
- /* @__PURE__ */ n("span", { children: e.label })
290
+ /* @__PURE__ */ e(d, { className: "mint:w-5 mint:h-5 mint:shrink-0" }),
291
+ /* @__PURE__ */ e("span", { children: t.label })
283
292
  ]
284
293
  },
285
- d
294
+ f
286
295
  );
287
296
  }) })
288
297
  ]
@@ -293,6 +302,6 @@ function H({
293
302
  );
294
303
  }
295
304
  export {
296
- H as NavTree
305
+ G as NavTree
297
306
  };
298
307
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/nav-tree/index.tsx"],"sourcesContent":["import React, { useState, useRef, useEffect } from 'react';\n\nimport { useComponents } from '../../context/components-context';\nimport '../../styles.css';\nimport type { NavItem, NavTreeData, AnchorConfig } from '../../types';\nimport { cn } from '../../utils/cn';\nimport { MethodPill } from '../Api/MethodPill';\n\nexport { MobileNavTree } from './mobile-nav';\nexport type { MobileNavTreeProps } from './mobile-nav';\nexport type { AnchorConfig } from '../../types';\n\nexport interface BottomLinkConfig {\n href?: string;\n label: string;\n icon: React.ComponentType<{ className?: string }>;\n component?: React.ReactNode;\n}\n\ninterface NavTreeProps {\n navTree: NavTreeData;\n activeId?: string;\n className?: string;\n activeHref?: string;\n theme?: 'light' | 'dark' | 'system';\n bottomLinks?: BottomLinkConfig[];\n anchors?: AnchorConfig[];\n}\n\ninterface TreeItemProps {\n item: NavItem;\n activeId?: string;\n level?: number;\n activeHref?: string;\n}\n\nfunction ChevronIcon({ isExpanded }: { isExpanded: boolean }) {\n return (\n <svg\n className={cn(\n 'mint:w-[16px] mint:h-[16px] mint:shrink-0 mint:text-[#6b7280] mint:dark:text-[#adadad]',\n isExpanded ? 'mint:rotate-90' : 'mint:rotate-0'\n )}\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n aria-hidden=\"true\"\n >\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M9 5l7 7-7 7\" />\n </svg>\n );\n}\n\nconst ACTIVE_ITEM_CLASSES =\n 'mint:bg-[#e6e6e6] mint:dark:bg-[#2e2e2e] mint:text-[#242424] mint:dark:text-[#ffffff] mint:font-semibold';\n\nfunction TreeItemComponent({ item, activeId, level = 0, activeHref }: TreeItemProps) {\n const hasChildren = item.children && item.children.length > 0;\n\n const normalizeHref = (href?: string): string => {\n if (!href) return '';\n const normalized = href.startsWith('/') ? href : `/${href}`;\n return normalized;\n };\n\n const compareHrefs = (href1?: string, href2?: string): boolean => {\n if (!href1 || !href2) return false;\n const norm1 = normalizeHref(href1);\n const norm2 = normalizeHref(href2);\n return (\n norm1 === norm2 ||\n norm1.replace('/docs/', '/') === norm2.replace('/docs/', '/') ||\n norm1 === norm2.replace('/docs/', '/') ||\n norm1.replace('/docs/', '/') === norm2\n );\n };\n\n const hasActiveChild = (navItem: NavItem): boolean => {\n if (compareHrefs(navItem.href, activeHref)) return true;\n if (navItem.children) {\n return navItem.children.some(hasActiveChild);\n }\n return false;\n };\n\n const shouldBeExpanded =\n level === 0 ? true : (item.expanded ?? false) || (hasChildren && hasActiveChild(item));\n const [isExpanded, setIsExpanded] = useState(shouldBeExpanded);\n\n useEffect(() => {\n if (hasChildren && hasActiveChild(item)) {\n setIsExpanded(true);\n }\n }, [activeHref]);\n\n const { LinkComponent } = useComponents();\n const isGroup = !item.href;\n const isActive =\n item.href && (compareHrefs(item.href, activeId) || compareHrefs(item.href, activeHref));\n const Icon = item.icon;\n\n if (isGroup && level === 0) {\n return (\n <div id=\"nav-group\" role=\"group\" aria-label={item.toc_title}>\n <div className=\"mint:text-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-[#adadad] mint:hover:bg-[rgba(75,85,99,0.05)] mint:hover:text-[#141414] mint:dark:hover:bg-[rgba(75,85,99,0.05)] mint:dark:hover:text-[#e5e7eb] mint:focus-visible:outline-2 mint:focus-visible:outline-[#643fb2] mint:focus-visible:outline-offset-2\"\n >\n <span className=\"mint:flex-1 mint:min-w-0\">{item.toc_title}</span>\n <ChevronIcon isExpanded={!!isExpanded} />\n </button>\n {hasChildren && isExpanded && item.children && (\n <ul className=\"mint:ml-3 mint:flex mint:flex-col mint:pl-0\" role=\"group\">\n {item.children.map((child, index) => (\n <TreeItemComponent\n key={`${child.href}-${index}`}\n item={child}\n activeId={activeId}\n level={level + 1}\n activeHref={activeHref}\n />\n ))}\n </ul>\n )}\n </li>\n );\n }\n\n const LinkElement = LinkComponent || 'a';\n\n if (hasChildren) {\n return (\n <li className=\"mint:list-none\">\n <button\n id=\"nav-item-toggle\"\n onClick={() => setIsExpanded(!isExpanded)}\n aria-expanded={isExpanded}\n aria-label={`${isExpanded ? 'Collapse' : 'Expand'} ${item.toc_title} section`}\n className={cn(\n 'mint:relative mint:text-left mint:w-full mint:flex mint:items-center mint:justify-between mint:gap-2 mint:py-2 mint:px-3 mint:text-[14px] mint:font-normal mint:rounded-xl mint:bg-transparent mint:border-none mint:cursor-pointer mint:text-[#424242] mint:dark:text-[#adadad] mint:focus-visible:outline-2 mint:focus-visible:outline-[#643fb2] mint:focus-visible:outline-offset-2',\n isActive\n ? ACTIVE_ITEM_CLASSES\n : 'mint:hover:bg-[rgba(75,85,99,0.05)] mint:hover:text-[#141414] mint:dark:hover:bg-[rgba(75,85,99,0.05)] mint:dark:hover:text-[#e5e7eb]'\n )}\n >\n <span className=\"mint:flex-1 mint:min-w-0\">{item.toc_title}</span>\n <ChevronIcon isExpanded={!!isExpanded} />\n </button>\n {isExpanded && item.children && (\n <ul className=\"mint:ml-3 mint:flex mint:flex-col mint:pl-0\" role=\"group\">\n {item.children.map((child, index) => (\n <TreeItemComponent\n key={`${child.href}-${index}`}\n item={child}\n activeId={activeId}\n level={level + 1}\n activeHref={activeHref}\n />\n ))}\n </ul>\n )}\n </li>\n );\n }\n\n return (\n <li className=\"mint:list-none\">\n <LinkElement\n id=\"nav-item\"\n href={item.href}\n aria-current={isActive ? 'page' : undefined}\n className={cn(\n 'mint:relative mint:flex mint:items-center mint:gap-2 mint:py-2 mint:px-3 mint:text-[14px] mint:font-normal mint:rounded-xl mint:no-underline mint:text-[#424242] mint:dark:text-[#adadad] mint:focus-visible:outline-2 mint:focus-visible:outline-[#643fb2] mint:focus-visible:outline-offset-2 mint:[&_span]:flex-1',\n isActive\n ? ACTIVE_ITEM_CLASSES\n : 'mint:hover:bg-[rgba(75,85,99,0.05)] mint:hover:text-[#141414] mint:dark:hover:bg-[rgba(75,85,99,0.05)] mint:dark:hover:text-[#e5e7eb]'\n )}\n >\n {isActive && (\n <div className=\"mint:absolute mint:left-0 mint:my-2.5 mint:rounded-full mint:w-[3px] mint:top-0 mint:bottom-0 mint:bg-[#8251ee] mint:dark:bg-[#9263f1]\"></div>\n )}\n {item.method && (\n <MethodPill isActive={!!isActive} method={item.method} shortMethod={true} />\n )}\n {item.toc_title}\n </LinkElement>\n </li>\n );\n}\n\nexport function NavTree({\n navTree,\n activeId,\n className = '',\n activeHref,\n theme,\n bottomLinks,\n anchors,\n}: NavTreeProps) {\n const { LinkComponent } = useComponents();\n const navContentRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const navElement = navContentRef.current;\n if (!navElement || !activeHref) return;\n\n const normalizeHref = (href: string): string => {\n if (!href) return '';\n return href.startsWith('/') ? href : `/${href}`;\n };\n\n const compareHrefs = (href1: string, href2: string): boolean => {\n const norm1 = normalizeHref(href1);\n const norm2 = normalizeHref(href2);\n return (\n norm1 === norm2 ||\n norm1.replace('/docs/', '/') === norm2.replace('/docs/', '/') ||\n norm1 === norm2.replace('/docs/', '/') ||\n norm1.replace('/docs/', '/') === norm2\n );\n };\n\n requestAnimationFrame(() => {\n const allLinks = navElement.querySelectorAll('a[href]');\n let activeLink: HTMLElement | null = null;\n\n for (const link of Array.from(allLinks)) {\n const href = link.getAttribute('href');\n if (href && compareHrefs(href, activeHref)) {\n activeLink = link as HTMLElement;\n break;\n }\n }\n\n if (activeLink) {\n activeLink.scrollIntoView({\n behavior: 'instant',\n block: 'center',\n inline: 'nearest',\n });\n }\n });\n }, [activeHref]);\n\n if (!navTree || navTree.items.length === 0) {\n return null;\n }\n\n const LinkElement = LinkComponent || 'a';\n\n return (\n <nav\n id=\"nav-tree\"\n className={cn(\n 'mint:flex mint:flex-col mint:h-full mint:min-h-0',\n className,\n theme === 'dark' && 'dark'\n )}\n aria-label=\"Documentation navigation\"\n >\n <div\n id=\"nav-tree-content\"\n ref={navContentRef}\n className={cn(\n 'mint:flex-1 mint:overflow-y-auto mint:overflow-x-hidden mint:min-h-0 mint:[scrollbar-gutter:stable] mint:md:px-4 mint:[scrollbar-width:thin] mint:[scrollbar-color:rgba(0,0,0,0.2)_transparent] mint:dark:[scrollbar-color:rgba(255,255,255,0.2)_transparent] mint:[&::-webkit-scrollbar]:w-1 mint:[&::-webkit-scrollbar-track]:bg-transparent mint:[&::-webkit-scrollbar-thumb]:bg-black/20 mint:dark:[&::-webkit-scrollbar-thumb]:bg-white/20 mint:[&::-webkit-scrollbar-thumb]:rounded mint:[&::-webkit-scrollbar-thumb:hover]:bg-black/30 mint:dark:[&::-webkit-scrollbar-thumb:hover]:bg-white/30 mint:space-y-6 mint:py-4',\n )}\n >\n {anchors && anchors.length > 0 && (\n <div id=\"nav-anchors\" className=\"mint:shrink-0 mint:w-full mint:mb-3\">\n <div className=\"mint:flex mint:flex-col\">\n {anchors.map((anchor, index) => {\n const Icon = anchor.icon;\n\n const normalizeAnchorHref = (href: string): string => {\n if (!href) return '';\n return href.startsWith('/') ? href : `/${href}`;\n };\n\n const isAnchorActive = (() => {\n if (!activeHref || !anchor.href) return false;\n const normalizedActive = normalizeAnchorHref(activeHref);\n const normalizedAnchor = normalizeAnchorHref(anchor.href);\n\n const cleanActive = normalizedActive.replace(/\\/$/, '');\n const cleanAnchor = normalizedAnchor.replace(/\\/$/, '');\n\n const matches =\n cleanActive === cleanAnchor || cleanActive.startsWith(cleanAnchor + '/');\n if (!matches) return false;\n\n const longestMatchingAnchor = anchors\n .filter((a) => {\n if (!a.href) return false;\n const normalizedHref = normalizeAnchorHref(a.href);\n const cleanHref = normalizedHref.replace(/\\/$/, '');\n return cleanActive === cleanHref || cleanActive.startsWith(cleanHref + '/');\n })\n .reduce((longest, current) => {\n const longestHref = normalizeAnchorHref(longest.href || '').replace(\n /\\/$/,\n ''\n );\n const currentHref = normalizeAnchorHref(current.href || '').replace(\n /\\/$/,\n ''\n );\n return currentHref.length > longestHref.length ? current : longest;\n }, anchor);\n\n return longestMatchingAnchor === anchor;\n })();\n\n return (\n <LinkElement\n key={index}\n href={anchor.href}\n aria-current={isAnchorActive ? 'page' : undefined}\n className={cn(\n 'mint:group mint:relative mint:flex mint:items-start mint:gap-2 mint:py-2 mint:px-3 mint:text-sm mint:rounded-lg mint:no-underline mint:focus-visible:outline-2 mint:focus-visible:outline-[#643fb2] mint:focus-visible:outline-offset-2 mint:hover:text-[#141414] mint:dark:hover:text-[#e5e7eb]',\n isAnchorActive\n ? 'mint:text-[#141414] mint:dark:text-[#ffffff]'\n : 'mint:text-[#424242] mint:dark:text-[#adadad]'\n )}\n >\n {Icon && (\n <Icon\n className={cn(\n 'mint:w-5 mint:h-5 mint:shrink-0',\n isAnchorActive\n ? 'mint:text-[#8251ee] mint:dark:text-[#9263f1]'\n : 'mint:text-[#6b7280] mint:dark:text-[#adadad] mint:group-hover:text-[#8251ee] mint:dark:group-hover:text-[#9263f1]'\n )}\n />\n )}\n <div className=\"mint:flex mint:flex-col mint:gap-0.5 mint:min-w-0\">\n <span\n className={cn(\n 'mint:font-medium',\n isAnchorActive\n ? 'mint:text-[#8251ee] mint:dark:text-[#9263f1] mint:font-semibold'\n : 'mint:text-[#141414] mint:dark:text-[#ffffff] mint:group-hover:text-[#8251ee] mint:dark:group-hover:text-[#9263f1]'\n )}\n >\n {anchor.title}\n </span>\n {anchor.description && (\n <span className=\"mint:text-xs mint:text-[#6b7280] mint:dark:text-[#adadad] mint:leading-snug\">\n {anchor.description}\n </span>\n )}\n </div>\n </LinkElement>\n );\n })}\n </div>\n </div>\n )}\n {navTree.items.map((item, index) => (\n <TreeItemComponent\n key={`${item.href}-${index}`}\n item={item}\n activeId={activeId}\n activeHref={activeHref}\n />\n ))}\n </div>\n {bottomLinks && bottomLinks.length > 0 && (\n <div\n id=\"nav-tree-bottom-links\"\n className=\"mint:shrink-0 mint:w-full mint:bg-[#f0f0f0] mint:dark:bg-[#0f0f0f] mint:mt-auto\"\n >\n <div className=\"mint:h-[0.5px] mint:w-full mint:bg-[#d1d1d1] mint:dark:bg-[#666666]\"></div>\n <div className=\"mint:flex mint:flex-col mint:py-3 mint:px-4\">\n {bottomLinks.map((link, index) => {\n const Icon = link.icon;\n if (link.component) {\n return (\n <div key={index}>\n {React.isValidElement(link.component)\n ? React.cloneElement(link.component as React.ReactElement, {\n ...(link.component as React.ReactElement).props,\n className: cn(\n 'mint:flex mint:items-center mint:py-2 mint:gap-2 mint:text-sm mint:text-[#424242] mint:dark:text-[#adadad] mint:hover:text-[#141414] mint:dark:hover:text-[#e5e7eb] mint:px-2 mint:cursor-pointer',\n (link.component as React.ReactElement).props?.className\n ),\n children: (\n <>\n <Icon className=\"mint:w-5 mint:h-5 mint:shrink-0\" />\n <span>{link.label}</span>\n </>\n ),\n })\n : (\n <div className=\"mint:flex mint:items-center mint:py-2 mint:gap-2 mint:text-sm mint:text-[#424242] mint:dark:text-[#adadad] mint:hover:text-[#141414] mint:dark:hover:text-[#e5e7eb] mint:px-2 mint:cursor-pointer\">\n <Icon className=\"mint:w-5 mint:h-5 mint:shrink-0\" />\n <span>{link.label}</span>\n {link.component}\n </div>\n )}\n </div>\n );\n }\n return (\n <LinkElement\n key={index}\n href={link.href}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"mint:flex mint:items-center mint:py-2 mint:gap-2 mint:text-sm mint:no-underline mint:text-[#424242] mint:dark:text-[#adadad] mint:hover:text-[#141414] mint:dark:hover:text-[#e5e7eb] mint:px-2 mint:[&>span]:flex mint:[&>span]:items-center mint:[&>span]:gap-2 mint:[&>svg:last-child]:hidden\"\n >\n <Icon className=\"mint:w-5 mint:h-5 mint:shrink-0\" />\n <span>{link.label}</span>\n </LinkElement>\n );\n })}\n </div>\n </div>\n )}\n </nav>\n );\n}\n"],"names":["ChevronIcon","isExpanded","jsx","cn","ACTIVE_ITEM_CLASSES","TreeItemComponent","item","activeId","level","activeHref","hasChildren","normalizeHref","href","compareHrefs","href1","href2","norm1","norm2","hasActiveChild","navItem","shouldBeExpanded","setIsExpanded","useState","useEffect","LinkComponent","useComponents","isGroup","isActive","Icon","jsxs","child","index","LinkElement","MethodPill","NavTree","navTree","className","theme","bottomLinks","anchors","navContentRef","useRef","navElement","allLinks","activeLink","link","anchor","normalizeAnchorHref","isAnchorActive","normalizedActive","normalizedAnchor","cleanActive","cleanAnchor","a","cleanHref","longest","current","longestHref","React","_a","Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/nav-tree/index.tsx"],"sourcesContent":["import React, { useState, useRef, useEffect } from 'react';\n\nimport { useComponents } from '../../context/components-context';\nimport '../../styles.css';\nimport type { NavItem, NavTreeData, AnchorConfig } from '../../types';\nimport { cn } from '../../utils/cn';\nimport { MethodPill } from '../Api/MethodPill';\n\nexport { MobileNavTree } from './mobile-nav';\nexport type { MobileNavTreeProps } from './mobile-nav';\nexport type { AnchorConfig } from '../../types';\n\nexport interface BottomLinkConfig {\n href?: string;\n label: string;\n icon: React.ComponentType<{ className?: string }>;\n component?: React.ReactNode;\n}\n\ninterface NavTreeProps {\n navTree: NavTreeData;\n activeId?: string;\n className?: string;\n activeHref?: string;\n theme?: 'light' | 'dark' | 'system';\n bottomLinks?: BottomLinkConfig[];\n anchors?: AnchorConfig[];\n}\n\ninterface TreeItemProps {\n item: NavItem;\n activeId?: string;\n level?: number;\n activeHref?: string;\n}\n\nfunction ChevronIcon({ isExpanded }: { isExpanded: boolean }) {\n return (\n <svg\n className={cn(\n 'mint:w-[16px] mint:h-[16px] mint:shrink-0 mint:text-[#6b7280] mint:dark:text-[#adadad]',\n isExpanded ? 'mint:rotate-90' : 'mint:rotate-0'\n )}\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n aria-hidden=\"true\"\n >\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M9 5l7 7-7 7\" />\n </svg>\n );\n}\n\nconst ACTIVE_ITEM_CLASSES =\n 'mint:bg-[#e6e6e6] mint:dark:bg-[#2e2e2e] mint:text-[#242424] mint:dark:text-[#ffffff] mint:font-semibold';\n\nfunction TreeItemComponent({ item, activeId, level = 0, activeHref }: TreeItemProps) {\n const hasChildren = item.children && item.children.length > 0;\n\n const normalizeHref = (href?: string): string => {\n if (!href) return '';\n const normalized = href.startsWith('/') ? href : `/${href}`;\n return normalized;\n };\n\n const compareHrefs = (href1?: string, href2?: string): boolean => {\n if (!href1 || !href2) return false;\n const norm1 = normalizeHref(href1);\n const norm2 = normalizeHref(href2);\n return (\n norm1 === norm2 ||\n norm1.replace('/docs/', '/') === norm2.replace('/docs/', '/') ||\n norm1 === norm2.replace('/docs/', '/') ||\n norm1.replace('/docs/', '/') === norm2\n );\n };\n\n const hasActiveChild = (navItem: NavItem): boolean => {\n if (compareHrefs(navItem.href, activeHref)) return true;\n if (navItem.children) {\n return navItem.children.some(hasActiveChild);\n }\n return false;\n };\n\n const shouldBeExpanded =\n level === 0 ? true : (item.expanded ?? false) || (hasChildren && hasActiveChild(item));\n const [isExpanded, setIsExpanded] = useState(shouldBeExpanded);\n\n useEffect(() => {\n if (hasChildren && hasActiveChild(item)) {\n setIsExpanded(true);\n }\n }, [activeHref]);\n\n const { LinkComponent } = useComponents();\n const isGroup = !item.href;\n const isActive =\n item.href && (compareHrefs(item.href, activeId) || compareHrefs(item.href, activeHref));\n const Icon = item.icon;\n\n if (isGroup && level === 0) {\n return (\n <div id=\"nav-group\" role=\"group\" aria-label={item.toc_title}>\n <div className=\"mint:text-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-[#adadad] mint:hover:bg-[rgba(75,85,99,0.05)] mint:hover:text-[#141414] mint:dark:hover:bg-[rgba(75,85,99,0.05)] mint:dark:hover:text-[#e5e7eb] mint:focus-visible:outline-2 mint:focus-visible:outline-[#643fb2] mint:focus-visible:outline-offset-2\"\n >\n <span className=\"mint:flex-1 mint:min-w-0\">{item.toc_title}</span>\n <ChevronIcon isExpanded={!!isExpanded} />\n </button>\n {hasChildren && isExpanded && item.children && (\n <ul className=\"mint:ml-3 mint:flex mint:flex-col mint:pl-0\" role=\"group\">\n {item.children.map((child, index) => (\n <TreeItemComponent\n key={`${child.href}-${index}`}\n item={child}\n activeId={activeId}\n level={level + 1}\n activeHref={activeHref}\n />\n ))}\n </ul>\n )}\n </li>\n );\n }\n\n const LinkElement = LinkComponent || 'a';\n\n if (hasChildren) {\n return (\n <li className=\"mint:list-none\">\n <button\n id=\"nav-item-toggle\"\n onClick={() => setIsExpanded(!isExpanded)}\n aria-expanded={isExpanded}\n aria-label={`${isExpanded ? 'Collapse' : 'Expand'} ${item.toc_title} section`}\n className={cn(\n 'mint:relative mint:text-left mint:w-full mint:flex mint:items-center mint:justify-between mint:gap-2 mint:py-2 mint:px-3 mint:text-[14px] mint:font-normal mint:rounded-xl mint:bg-transparent mint:border-none mint:cursor-pointer mint:text-[#424242] mint:dark:text-[#adadad] mint:focus-visible:outline-2 mint:focus-visible:outline-[#643fb2] mint:focus-visible:outline-offset-2',\n isActive\n ? ACTIVE_ITEM_CLASSES\n : 'mint:hover:bg-[rgba(75,85,99,0.05)] mint:hover:text-[#141414] mint:dark:hover:bg-[rgba(75,85,99,0.05)] mint:dark:hover:text-[#e5e7eb]'\n )}\n >\n <span className=\"mint:flex-1 mint:min-w-0\">{item.toc_title}</span>\n <ChevronIcon isExpanded={!!isExpanded} />\n </button>\n {isExpanded && item.children && (\n <ul className=\"mint:ml-3 mint:flex mint:flex-col mint:pl-0\" role=\"group\">\n {item.children.map((child, index) => (\n <TreeItemComponent\n key={`${child.href}-${index}`}\n item={child}\n activeId={activeId}\n level={level + 1}\n activeHref={activeHref}\n />\n ))}\n </ul>\n )}\n </li>\n );\n }\n\n return (\n <li className=\"mint:list-none\">\n <LinkElement\n id=\"nav-item\"\n href={item.href}\n aria-current={isActive ? 'page' : undefined}\n className={cn(\n 'mint:relative mint:flex mint:items-center mint:gap-2 mint:py-2 mint:px-3 mint:text-[14px] mint:font-normal mint:rounded-xl mint:no-underline mint:text-[#424242] mint:dark:text-[#adadad] mint:focus-visible:outline-2 mint:focus-visible:outline-[#643fb2] mint:focus-visible:outline-offset-2 mint:[&_span]:flex-1',\n isActive\n ? ACTIVE_ITEM_CLASSES\n : 'mint:hover:bg-[rgba(75,85,99,0.05)] mint:hover:text-[#141414] mint:dark:hover:bg-[rgba(75,85,99,0.05)] mint:dark:hover:text-[#e5e7eb]'\n )}\n >\n {isActive && (\n <div className=\"mint:absolute mint:left-0 mint:my-2.5 mint:rounded-full mint:w-[3px] mint:top-0 mint:bottom-0 mint:bg-[#8251ee] mint:dark:bg-[#9263f1]\"></div>\n )}\n {item.method && (\n <MethodPill isActive={!!isActive} method={item.method} shortMethod={true} />\n )}\n {item.toc_title}\n </LinkElement>\n </li>\n );\n}\n\nexport function NavTree({\n navTree,\n activeId,\n className = '',\n activeHref,\n theme,\n bottomLinks,\n anchors,\n}: NavTreeProps) {\n const { LinkComponent } = useComponents();\n const navContentRef = useRef<HTMLDivElement>(null);\n\n // Save and restore scroll position\n useEffect(() => {\n const navElement = navContentRef.current;\n if (!navElement || !activeHref) return;\n\n const savedScrollPos = sessionStorage.getItem('nav-tree-scroll-position');\n\n if (savedScrollPos) {\n // Restore scroll position from sessionStorage\n navElement.scrollTop = parseInt(savedScrollPos, 10);\n } else {\n // If no saved position, scroll to active item\n const normalizeHref = (href: string): string => {\n if (!href) return '';\n return href.startsWith('/') ? href : `/${href}`;\n };\n\n const compareHrefs = (href1: string, href2: string): boolean => {\n const norm1 = normalizeHref(href1);\n const norm2 = normalizeHref(href2);\n return (\n norm1 === norm2 ||\n norm1.replace('/docs/', '/') === norm2.replace('/docs/', '/') ||\n norm1 === norm2.replace('/docs/', '/') ||\n norm1.replace('/docs/', '/') === norm2\n );\n };\n\n requestAnimationFrame(() => {\n const allLinks = navElement.querySelectorAll('a[href]');\n let activeLink: HTMLElement | null = null;\n\n for (const link of Array.from(allLinks)) {\n const href = link.getAttribute('href');\n if (href && compareHrefs(href, activeHref)) {\n activeLink = link as HTMLElement;\n break;\n }\n }\n\n if (activeLink) {\n activeLink.scrollIntoView({\n behavior: 'instant',\n block: 'center',\n inline: 'nearest',\n });\n }\n });\n }\n\n // Save scroll position on scroll\n const handleScroll = () => {\n sessionStorage.setItem('nav-tree-scroll-position', navElement.scrollTop.toString());\n };\n\n navElement.addEventListener('scroll', handleScroll);\n return () => navElement.removeEventListener('scroll', handleScroll);\n }, [activeHref]);\n\n if (!navTree || navTree.items.length === 0) {\n return null;\n }\n\n const LinkElement = LinkComponent || 'a';\n\n return (\n <nav\n id=\"nav-tree\"\n className={cn(\n 'mint:flex mint:flex-col mint:h-full mint:min-h-0',\n className,\n theme === 'dark' && 'dark'\n )}\n aria-label=\"Documentation navigation\"\n >\n <div\n id=\"nav-tree-content\"\n ref={navContentRef}\n className={cn(\n 'mint:flex-1 mint:overflow-y-auto mint:overflow-x-hidden mint:min-h-0 mint:[scrollbar-gutter:stable] mint:md:px-4 mint:[scrollbar-width:thin] mint:[scrollbar-color:rgba(0,0,0,0.2)_transparent] mint:dark:[scrollbar-color:rgba(255,255,255,0.2)_transparent] mint:[&::-webkit-scrollbar]:w-1 mint:[&::-webkit-scrollbar-track]:bg-transparent mint:[&::-webkit-scrollbar-thumb]:bg-black/20 mint:dark:[&::-webkit-scrollbar-thumb]:bg-white/20 mint:[&::-webkit-scrollbar-thumb]:rounded mint:[&::-webkit-scrollbar-thumb:hover]:bg-black/30 mint:dark:[&::-webkit-scrollbar-thumb:hover]:bg-white/30 mint:space-y-6 mint:py-4'\n )}\n >\n {anchors && anchors.length > 0 && (\n <div id=\"nav-anchors\" className=\"mint:shrink-0 mint:w-full mint:mb-3\">\n <div className=\"mint:flex mint:flex-col\">\n {anchors.map((anchor, index) => {\n const Icon = anchor.icon;\n\n const normalizeAnchorHref = (href: string): string => {\n if (!href) return '';\n return href.startsWith('/') ? href : `/${href}`;\n };\n\n const isAnchorActive = (() => {\n if (!activeHref || !anchor.href) return false;\n const normalizedActive = normalizeAnchorHref(activeHref);\n const normalizedAnchor = normalizeAnchorHref(anchor.href);\n\n const cleanActive = normalizedActive.replace(/\\/$/, '');\n const cleanAnchor = normalizedAnchor.replace(/\\/$/, '');\n\n const matches =\n cleanActive === cleanAnchor || cleanActive.startsWith(cleanAnchor + '/');\n if (!matches) return false;\n\n const longestMatchingAnchor = anchors\n .filter((a) => {\n if (!a.href) return false;\n const normalizedHref = normalizeAnchorHref(a.href);\n const cleanHref = normalizedHref.replace(/\\/$/, '');\n return cleanActive === cleanHref || cleanActive.startsWith(cleanHref + '/');\n })\n .reduce((longest, current) => {\n const longestHref = normalizeAnchorHref(longest.href || '').replace(\n /\\/$/,\n ''\n );\n const currentHref = normalizeAnchorHref(current.href || '').replace(\n /\\/$/,\n ''\n );\n return currentHref.length > longestHref.length ? current : longest;\n }, anchor);\n\n return longestMatchingAnchor === anchor;\n })();\n\n return (\n <LinkElement\n key={index}\n href={anchor.href}\n aria-current={isAnchorActive ? 'page' : undefined}\n className={cn(\n 'mint:group mint:relative mint:flex mint:items-start mint:gap-2 mint:py-2 mint:px-3 mint:text-sm mint:rounded-lg mint:no-underline mint:focus-visible:outline-2 mint:focus-visible:outline-[#643fb2] mint:focus-visible:outline-offset-2 mint:hover:text-[#141414] mint:dark:hover:text-[#e5e7eb]',\n isAnchorActive\n ? 'mint:text-[#141414] mint:dark:text-[#ffffff]'\n : 'mint:text-[#424242] mint:dark:text-[#adadad]'\n )}\n >\n {Icon && (\n <Icon\n className={cn(\n 'mint:w-5 mint:h-5 mint:shrink-0',\n isAnchorActive\n ? 'mint:text-[#8251ee] mint:dark:text-[#9263f1]'\n : 'mint:text-[#6b7280] mint:dark:text-[#adadad] mint:group-hover:text-[#8251ee] mint:dark:group-hover:text-[#9263f1]'\n )}\n />\n )}\n <div className=\"mint:flex mint:flex-col mint:gap-0.5 mint:min-w-0\">\n <span\n className={cn(\n 'mint:font-medium',\n isAnchorActive\n ? 'mint:text-[#8251ee] mint:dark:text-[#9263f1] mint:font-semibold'\n : 'mint:text-[#141414] mint:dark:text-[#ffffff] mint:group-hover:text-[#8251ee] mint:dark:group-hover:text-[#9263f1]'\n )}\n >\n {anchor.title}\n </span>\n {anchor.description && (\n <span className=\"mint:text-xs mint:text-[#6b7280] mint:dark:text-[#adadad] mint:leading-snug\">\n {anchor.description}\n </span>\n )}\n </div>\n </LinkElement>\n );\n })}\n </div>\n </div>\n )}\n {navTree.items.map((item, index) => (\n <TreeItemComponent\n key={`${item.href}-${index}`}\n item={item}\n activeId={activeId}\n activeHref={activeHref}\n />\n ))}\n </div>\n {bottomLinks && bottomLinks.length > 0 && (\n <div\n id=\"nav-tree-bottom-links\"\n className=\"mint:shrink-0 mint:w-full mint:bg-[#f0f0f0] mint:dark:bg-[#0f0f0f] mint:mt-auto\"\n >\n <div className=\"mint:h-[0.5px] mint:w-full mint:bg-[#d1d1d1] mint:dark:bg-[#666666]\"></div>\n <div className=\"mint:flex mint:flex-col mint:py-3 mint:px-4\">\n {bottomLinks.map((link, index) => {\n const Icon = link.icon;\n if (link.component) {\n return (\n <div key={index}>\n {React.isValidElement(link.component)\n ? React.cloneElement(link.component as React.ReactElement, {\n ...(link.component as React.ReactElement).props,\n className: cn(\n 'mint:flex mint:items-center mint:py-2 mint:gap-2 mint:text-sm mint:text-[#424242] mint:dark:text-[#adadad] mint:hover:text-[#141414] mint:dark:hover:text-[#e5e7eb] mint:px-2 mint:cursor-pointer',\n (link.component as React.ReactElement).props?.className\n ),\n children: (\n <>\n <Icon className=\"mint:w-5 mint:h-5 mint:shrink-0\" />\n <span>{link.label}</span>\n </>\n ),\n })\n : (\n <div className=\"mint:flex mint:items-center mint:py-2 mint:gap-2 mint:text-sm mint:text-[#424242] mint:dark:text-[#adadad] mint:hover:text-[#141414] mint:dark:hover:text-[#e5e7eb] mint:px-2 mint:cursor-pointer\">\n <Icon className=\"mint:w-5 mint:h-5 mint:shrink-0\" />\n <span>{link.label}</span>\n {link.component}\n </div>\n )}\n </div>\n );\n }\n return (\n <LinkElement\n key={index}\n href={link.href}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"mint:flex mint:items-center mint:py-2 mint:gap-2 mint:text-sm mint:no-underline mint:text-[#424242] mint:dark:text-[#adadad] mint:hover:text-[#141414] mint:dark:hover:text-[#e5e7eb] mint:px-2 mint:[&>span]:flex mint:[&>span]:items-center mint:[&>span]:gap-2 mint:[&>svg:last-child]:hidden\"\n >\n <Icon className=\"mint:w-5 mint:h-5 mint:shrink-0\" />\n <span>{link.label}</span>\n </LinkElement>\n );\n })}\n </div>\n </div>\n )}\n </nav>\n );\n}\n"],"names":["ChevronIcon","isExpanded","jsx","cn","ACTIVE_ITEM_CLASSES","TreeItemComponent","item","activeId","level","activeHref","hasChildren","normalizeHref","href","compareHrefs","href1","href2","norm1","norm2","hasActiveChild","navItem","shouldBeExpanded","setIsExpanded","useState","useEffect","LinkComponent","useComponents","isGroup","isActive","Icon","jsxs","child","index","LinkElement","MethodPill","NavTree","navTree","className","theme","bottomLinks","anchors","navContentRef","useRef","navElement","savedScrollPos","allLinks","activeLink","link","handleScroll","anchor","normalizeAnchorHref","isAnchorActive","normalizedActive","normalizedAnchor","cleanActive","cleanAnchor","a","cleanHref","longest","current","longestHref","React","_a","Fragment"],"mappings":";;;;;;AAoCA,SAASA,EAAY,EAAE,YAAAC,KAAuC;AAC5D,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACT;AAAA,QACAF,IAAa,mBAAmB;AAAA,MAAA;AAAA,MAElC,MAAK;AAAA,MACL,QAAO;AAAA,MACP,SAAQ;AAAA,MACR,eAAY;AAAA,MAEZ,UAAA,gBAAAC,EAAC,UAAK,eAAc,SAAQ,gBAAe,SAAQ,aAAa,GAAG,GAAE,eAAA,CAAe;AAAA,IAAA;AAAA,EAAA;AAG1F;AAEA,MAAME,IACJ;AAEF,SAASC,EAAkB,EAAE,MAAAC,GAAM,UAAAC,GAAU,OAAAC,IAAQ,GAAG,YAAAC,KAA6B;AACnF,QAAMC,IAAcJ,EAAK,YAAYA,EAAK,SAAS,SAAS,GAEtDK,IAAgB,CAACC,MAChBA,IACcA,EAAK,WAAW,GAAG,IAAIA,IAAO,IAAIA,CAAI,KADvC,IAKdC,IAAe,CAACC,GAAgBC,MAA4B;AAChE,QAAI,CAACD,KAAS,CAACC,EAAO,QAAO;AAC7B,UAAMC,IAAQL,EAAcG,CAAK,GAC3BG,IAAQN,EAAcI,CAAK;AACjC,WACEC,MAAUC,KACVD,EAAM,QAAQ,UAAU,GAAG,MAAMC,EAAM,QAAQ,UAAU,GAAG,KAC5DD,MAAUC,EAAM,QAAQ,UAAU,GAAG,KACrCD,EAAM,QAAQ,UAAU,GAAG,MAAMC;AAAA,EAErC,GAEMC,IAAiB,CAACC,MAClBN,EAAaM,EAAQ,MAAMV,CAAU,IAAU,KAC/CU,EAAQ,WACHA,EAAQ,SAAS,KAAKD,CAAc,IAEtC,IAGHE,IACJZ,MAAU,IAAI,MAAQF,EAAK,YAAY,OAAWI,KAAeQ,EAAeZ,CAAI,GAChF,CAACL,GAAYoB,CAAa,IAAIC,EAASF,CAAgB;AAE7D,EAAAG,EAAU,MAAM;AACd,IAAIb,KAAeQ,EAAeZ,CAAI,KACpCe,EAAc,EAAI;AAAA,EAEtB,GAAG,CAACZ,CAAU,CAAC;AAEf,QAAM,EAAE,eAAAe,EAAA,IAAkBC,EAAA,GACpBC,IAAU,CAACpB,EAAK,MAChBqB,IACJrB,EAAK,SAASO,EAAaP,EAAK,MAAMC,CAAQ,KAAKM,EAAaP,EAAK,MAAMG,CAAU,IACjFmB,IAAOtB,EAAK;AAElB,MAAIoB,KAAWlB,MAAU;AACvB,WACE,gBAAAqB,EAAC,SAAI,IAAG,aAAY,MAAK,SAAQ,cAAYvB,EAAK,WAChD,UAAA;AAAA,MAAA,gBAAAuB,EAAC,OAAA,EAAI,WAAU,wIACZ,UAAA;AAAA,QAAAD,KAAQ,gBAAA1B,EAAC0B,GAAA,EAAK,WAAU,qBAAoB,eAAY,QAAO;AAAA,QAChE,gBAAA1B,EAAC,QAAA,EAAM,UAAAI,EAAK,UAAA,CAAU;AAAA,MAAA,GACxB;AAAA,MACCI,KAAeJ,EAAK,YACnB,gBAAAJ,EAAC,QAAG,WAAU,qCAAoC,MAAK,QACpD,UAAAI,EAAK,SAAS,IAAI,CAACwB,GAAOC,MACzB,gBAAA7B;AAAA,QAACG;AAAA,QAAA;AAAA,UAEC,MAAMyB;AAAA,UACN,UAAAvB;AAAA,UACA,OAAOC,IAAQ;AAAA,UACf,YAAAC;AAAA,QAAA;AAAA,QAJK,GAAGqB,EAAM,IAAI,IAAIC,CAAK;AAAA,MAAA,CAM9B,EAAA,CACH;AAAA,IAAA,GAEJ;AAIJ,MAAIL,KAAWlB,IAAQ;AACrB,WACE,gBAAAqB,EAAC,MAAA,EAAG,WAAU,kBACZ,UAAA;AAAA,MAAA,gBAAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,IAAG;AAAA,UACH,SAAS,MAAMR,EAAc,CAACpB,CAAU;AAAA,UACxC,iBAAeA;AAAA,UACf,cAAY,GAAGA,IAAa,aAAa,QAAQ,IAAIK,EAAK,SAAS;AAAA,UACnE,WAAU;AAAA,UAEV,UAAA;AAAA,YAAA,gBAAAJ,EAAC,QAAA,EAAK,WAAU,4BAA4B,UAAAI,EAAK,WAAU;AAAA,YAC3D,gBAAAJ,EAACF,GAAA,EAAY,YAAY,CAAC,CAACC,EAAA,CAAY;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,MAExCS,KAAeT,KAAcK,EAAK,8BAChC,MAAA,EAAG,WAAU,+CAA8C,MAAK,SAC9D,UAAAA,EAAK,SAAS,IAAI,CAACwB,GAAOC,MACzB,gBAAA7B;AAAA,QAACG;AAAA,QAAA;AAAA,UAEC,MAAMyB;AAAA,UACN,UAAAvB;AAAA,UACA,OAAOC,IAAQ;AAAA,UACf,YAAAC;AAAA,QAAA;AAAA,QAJK,GAAGqB,EAAM,IAAI,IAAIC,CAAK;AAAA,MAAA,CAM9B,EAAA,CACH;AAAA,IAAA,GAEJ;AAIJ,QAAMC,IAAcR,KAAiB;AAErC,SAAId,IAEA,gBAAAmB,EAAC,MAAA,EAAG,WAAU,kBACZ,UAAA;AAAA,IAAA,gBAAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,SAAS,MAAMR,EAAc,CAACpB,CAAU;AAAA,QACxC,iBAAeA;AAAA,QACf,cAAY,GAAGA,IAAa,aAAa,QAAQ,IAAIK,EAAK,SAAS;AAAA,QACnE,WAAWH;AAAA,UACT;AAAA,UACAwB,IACIvB,IACA;AAAA,QAAA;AAAA,QAGN,UAAA;AAAA,UAAA,gBAAAF,EAAC,QAAA,EAAK,WAAU,4BAA4B,UAAAI,EAAK,WAAU;AAAA,UAC3D,gBAAAJ,EAACF,GAAA,EAAY,YAAY,CAAC,CAACC,EAAA,CAAY;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,IAExCA,KAAcK,EAAK,YAClB,gBAAAJ,EAAC,QAAG,WAAU,+CAA8C,MAAK,SAC9D,UAAAI,EAAK,SAAS,IAAI,CAACwB,GAAOC,MACzB,gBAAA7B;AAAA,MAACG;AAAA,MAAA;AAAA,QAEC,MAAMyB;AAAA,QACN,UAAAvB;AAAA,QACA,OAAOC,IAAQ;AAAA,QACf,YAAAC;AAAA,MAAA;AAAA,MAJK,GAAGqB,EAAM,IAAI,IAAIC,CAAK;AAAA,IAAA,CAM9B,EAAA,CACH;AAAA,EAAA,GAEJ,IAKF,gBAAA7B,EAAC,MAAA,EAAG,WAAU,kBACZ,UAAA,gBAAA2B;AAAA,IAACG;AAAA,IAAA;AAAA,MACC,IAAG;AAAA,MACH,MAAM1B,EAAK;AAAA,MACX,gBAAcqB,IAAW,SAAS;AAAA,MAClC,WAAWxB;AAAA,QACT;AAAA,QACAwB,IACIvB,IACA;AAAA,MAAA;AAAA,MAGL,UAAA;AAAA,QAAAuB,KACC,gBAAAzB,EAAC,OAAA,EAAI,WAAU,yIAAA,CAAyI;AAAA,QAEzJI,EAAK,UACJ,gBAAAJ,EAAC+B,GAAA,EAAW,UAAU,CAAC,CAACN,GAAU,QAAQrB,EAAK,QAAQ,aAAa,GAAA,CAAM;AAAA,QAE3EA,EAAK;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA,GAEV;AAEJ;AAEO,SAAS4B,EAAQ;AAAA,EACtB,SAAAC;AAAA,EACA,UAAA5B;AAAA,EACA,WAAA6B,IAAY;AAAA,EACZ,YAAA3B;AAAA,EACA,OAAA4B;AAAA,EACA,aAAAC;AAAA,EACA,SAAAC;AACF,GAAiB;AACf,QAAM,EAAE,eAAAf,EAAA,IAAkBC,EAAA,GACpBe,IAAgBC,EAAuB,IAAI;AA6DjD,MA1DAlB,EAAU,MAAM;AACd,UAAMmB,IAAaF,EAAc;AACjC,QAAI,CAACE,KAAc,CAACjC,EAAY;AAEhC,UAAMkC,IAAiB,eAAe,QAAQ,0BAA0B;AAExE,QAAIA;AAEF,MAAAD,EAAW,YAAY,SAASC,GAAgB,EAAE;AAAA,SAC7C;AAEL,YAAMhC,IAAgB,CAACC,MAChBA,IACEA,EAAK,WAAW,GAAG,IAAIA,IAAO,IAAIA,CAAI,KAD3B,IAIdC,IAAe,CAACC,GAAeC,MAA2B;AAC9D,cAAMC,IAAQL,EAAcG,CAAK,GAC3BG,IAAQN,EAAcI,CAAK;AACjC,eACEC,MAAUC,KACVD,EAAM,QAAQ,UAAU,GAAG,MAAMC,EAAM,QAAQ,UAAU,GAAG,KAC5DD,MAAUC,EAAM,QAAQ,UAAU,GAAG,KACrCD,EAAM,QAAQ,UAAU,GAAG,MAAMC;AAAA,MAErC;AAEA,4BAAsB,MAAM;AAC1B,cAAM2B,IAAWF,EAAW,iBAAiB,SAAS;AACtD,YAAIG,IAAiC;AAErC,mBAAWC,KAAQ,MAAM,KAAKF,CAAQ,GAAG;AACvC,gBAAMhC,IAAOkC,EAAK,aAAa,MAAM;AACrC,cAAIlC,KAAQC,EAAaD,GAAMH,CAAU,GAAG;AAC1C,YAAAoC,IAAaC;AACb;AAAA,UACF;AAAA,QACF;AAEA,QAAID,KACFA,EAAW,eAAe;AAAA,UACxB,UAAU;AAAA,UACV,OAAO;AAAA,UACP,QAAQ;AAAA,QAAA,CACT;AAAA,MAEL,CAAC;AAAA,IACH;AAGA,UAAME,IAAe,MAAM;AACzB,qBAAe,QAAQ,4BAA4BL,EAAW,UAAU,UAAU;AAAA,IACpF;AAEA,WAAAA,EAAW,iBAAiB,UAAUK,CAAY,GAC3C,MAAML,EAAW,oBAAoB,UAAUK,CAAY;AAAA,EACpE,GAAG,CAACtC,CAAU,CAAC,GAEX,CAAC0B,KAAWA,EAAQ,MAAM,WAAW;AACvC,WAAO;AAGT,QAAMH,IAAcR,KAAiB;AAErC,SACE,gBAAAK;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,IAAG;AAAA,MACH,WAAW1B;AAAA,QACT;AAAA,QACAiC;AAAA,QACAC,MAAU,UAAU;AAAA,MAAA;AAAA,MAEtB,cAAW;AAAA,MAEX,UAAA;AAAA,QAAA,gBAAAR;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,IAAG;AAAA,YACH,KAAKW;AAAA,YACL,WAAWrC;AAAA,cACT;AAAA,YAAA;AAAA,YAGD,UAAA;AAAA,cAAAoC,KAAWA,EAAQ,SAAS,KAC3B,gBAAArC,EAAC,OAAA,EAAI,IAAG,eAAc,WAAU,uCAC9B,UAAA,gBAAAA,EAAC,SAAI,WAAU,2BACZ,YAAQ,IAAI,CAAC8C,GAAQjB,MAAU;AAC9B,sBAAMH,IAAOoB,EAAO,MAEdC,IAAsB,CAACrC,MACtBA,IACEA,EAAK,WAAW,GAAG,IAAIA,IAAO,IAAIA,CAAI,KAD3B,IAIdsC,KAAkB,MAAM;AAC5B,sBAAI,CAACzC,KAAc,CAACuC,EAAO,KAAM,QAAO;AACxC,wBAAMG,IAAmBF,EAAoBxC,CAAU,GACjD2C,IAAmBH,EAAoBD,EAAO,IAAI,GAElDK,IAAcF,EAAiB,QAAQ,OAAO,EAAE,GAChDG,IAAcF,EAAiB,QAAQ,OAAO,EAAE;AAItD,yBADEC,MAAgBC,KAAeD,EAAY,WAAWC,IAAc,GAAG,IAG3Cf,EAC3B,OAAO,CAACgB,MAAM;AACb,wBAAI,CAACA,EAAE,KAAM,QAAO;AAEpB,0BAAMC,IADiBP,EAAoBM,EAAE,IAAI,EAChB,QAAQ,OAAO,EAAE;AAClD,2BAAOF,MAAgBG,KAAaH,EAAY,WAAWG,IAAY,GAAG;AAAA,kBAC5E,CAAC,EACA,OAAO,CAACC,GAASC,MAAY;AAC5B,0BAAMC,IAAcV,EAAoBQ,EAAQ,QAAQ,EAAE,EAAE;AAAA,sBAC1D;AAAA,sBACA;AAAA,oBAAA;AAMF,2BAJoBR,EAAoBS,EAAQ,QAAQ,EAAE,EAAE;AAAA,sBAC1D;AAAA,sBACA;AAAA,oBAAA,EAEiB,SAASC,EAAY,SAASD,IAAUD;AAAA,kBAC7D,GAAGT,CAAM,MAEsBA,IArBZ;AAAA,gBAsBvB,GAAA;AAEA,uBACE,gBAAAnB;AAAA,kBAACG;AAAA,kBAAA;AAAA,oBAEC,MAAMgB,EAAO;AAAA,oBACb,gBAAcE,IAAiB,SAAS;AAAA,oBACxC,WAAW/C;AAAA,sBACT;AAAA,sBACA+C,IACI,iDACA;AAAA,oBAAA;AAAA,oBAGL,UAAA;AAAA,sBAAAtB,KACC,gBAAA1B;AAAA,wBAAC0B;AAAA,wBAAA;AAAA,0BACC,WAAWzB;AAAA,4BACT;AAAA,4BACA+C,IACI,iDACA;AAAA,0BAAA;AAAA,wBACN;AAAA,sBAAA;AAAA,sBAGJ,gBAAArB,EAAC,OAAA,EAAI,WAAU,qDACb,UAAA;AAAA,wBAAA,gBAAA3B;AAAA,0BAAC;AAAA,0BAAA;AAAA,4BACC,WAAWC;AAAA,8BACT;AAAA,8BACA+C,IACI,oEACA;AAAA,4BAAA;AAAA,4BAGL,UAAAF,EAAO;AAAA,0BAAA;AAAA,wBAAA;AAAA,wBAETA,EAAO,eACN,gBAAA9C,EAAC,UAAK,WAAU,+EACb,YAAO,YAAA,CACV;AAAA,sBAAA,EAAA,CAEJ;AAAA,oBAAA;AAAA,kBAAA;AAAA,kBApCK6B;AAAA,gBAAA;AAAA,cAuCX,CAAC,GACH,GACF;AAAA,cAEDI,EAAQ,MAAM,IAAI,CAAC7B,GAAMyB,MACxB,gBAAA7B;AAAA,gBAACG;AAAA,gBAAA;AAAA,kBAEC,MAAAC;AAAA,kBACA,UAAAC;AAAA,kBACA,YAAAE;AAAA,gBAAA;AAAA,gBAHK,GAAGH,EAAK,IAAI,IAAIyB,CAAK;AAAA,cAAA,CAK7B;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,QAEFO,KAAeA,EAAY,SAAS,KACnC,gBAAAT;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,IAAG;AAAA,YACH,WAAU;AAAA,YAEV,UAAA;AAAA,cAAA,gBAAA3B,EAAC,OAAA,EAAI,WAAU,sEAAA,CAAsE;AAAA,cACrF,gBAAAA,EAAC,SAAI,WAAU,+CACZ,YAAY,IAAI,CAAC4C,GAAMf,MAAU;;AAChC,sBAAMH,IAAOkB,EAAK;AAClB,uBAAIA,EAAK,YAEL,gBAAA5C,EAAC,OAAA,EACE,UAAA0D,EAAM,eAAed,EAAK,SAAS,IAChCc,EAAM,aAAad,EAAK,WAAiC;AAAA,kBACvD,GAAIA,EAAK,UAAiC;AAAA,kBAC1C,WAAW3C;AAAA,oBACT;AAAA,qBACC0D,IAAAf,EAAK,UAAiC,UAAtC,gBAAAe,EAA6C;AAAA,kBAAA;AAAA,kBAEhD,UACE,gBAAAhC,EAAAiC,GAAA,EACE,UAAA;AAAA,oBAAA,gBAAA5D,EAAC0B,GAAA,EAAK,WAAU,kCAAA,CAAkC;AAAA,oBAClD,gBAAA1B,EAAC,QAAA,EAAM,UAAA4C,EAAK,MAAA,CAAM;AAAA,kBAAA,EAAA,CACpB;AAAA,gBAAA,CAEH,IAED,gBAAAjB,EAAC,OAAA,EAAI,WAAU,qMACb,UAAA;AAAA,kBAAA,gBAAA3B,EAAC0B,GAAA,EAAK,WAAU,kCAAA,CAAkC;AAAA,kBAClD,gBAAA1B,EAAC,QAAA,EAAM,UAAA4C,EAAK,MAAA,CAAM;AAAA,kBACjBA,EAAK;AAAA,gBAAA,EAAA,CACR,KApBIf,CAsBV,IAIF,gBAAAF;AAAA,kBAACG;AAAA,kBAAA;AAAA,oBAEC,MAAMc,EAAK;AAAA,oBACX,QAAO;AAAA,oBACP,KAAI;AAAA,oBACJ,WAAU;AAAA,oBAEV,UAAA;AAAA,sBAAA,gBAAA5C,EAAC0B,GAAA,EAAK,WAAU,kCAAA,CAAkC;AAAA,sBAClD,gBAAA1B,EAAC,QAAA,EAAM,UAAA4C,EAAK,MAAA,CAAM;AAAA,oBAAA;AAAA,kBAAA;AAAA,kBAPbf;AAAA,gBAAA;AAAA,cAUX,CAAC,EAAA,CACH;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,EAAA;AAIR;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mintlify/msft-sdk",
3
- "version": "1.1.41",
3
+ "version": "1.1.42",
4
4
  "description": "Lightweight SDK for Microsoft documentation with MDX rendering",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",