@mintlify/msft-sdk 1.1.39 → 1.1.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/docsPage.js +1 -1
- package/dist/components/docsPage.js.map +1 -1
- package/dist/components/nav-tree/index.js +146 -131
- package/dist/components/nav-tree/index.js.map +1 -1
- package/dist/components/nav-tree/mobile-nav.js +1 -1
- package/dist/components/nav-tree/mobile-nav.js.map +1 -1
- package/dist/components/toc/index.js +8 -8
- package/dist/components/toc/index.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/styles.css +1 -1
- package/package.json +1 -1
|
@@ -85,7 +85,7 @@ function at({
|
|
|
85
85
|
children: [
|
|
86
86
|
l != null && l.operation ? /* @__PURE__ */ t("div", { className: "mint:hidden mint:xl:flex! mint:self-start mint:sticky mint:flex-col mint:max-w-md mint:top-0 mint:gap-6", children: /* @__PURE__ */ t(B, { apiReferenceData: l }) }) : o && o.length > 0 ? /* @__PURE__ */ t("aside", { className: "mint:w-68 mint:shrink-0 mint:ml-8 mint:max-xl:hidden mint:xl:block", children: /* @__PURE__ */ e("div", { className: "mint:sticky mint:top-2 mint:p-2 mint:pb-6 mint:max-h-[calc(100vh-3.5rem)] mint:overflow-y-auto", children: [
|
|
87
87
|
/* @__PURE__ */ e("div", { className: "mint:flex mint:items-center mint:gap-2 mint:mb-4", children: [
|
|
88
|
-
/* @__PURE__ */ t(S, { className: "mint:w-4 mint:h-4 mint:text-[#4b5563] mint:dark:text-[#
|
|
88
|
+
/* @__PURE__ */ t(S, { className: "mint:w-4 mint:h-4 mint:text-[#4b5563] mint:dark:text-[#adadad]" }),
|
|
89
89
|
/* @__PURE__ */ t("h2", { className: "mint:text-sm mint:font-semibold mint:text-[#141414] mint:dark:text-white", children: C.onThisPage })
|
|
90
90
|
] }),
|
|
91
91
|
c && Object.keys(c).length > 0 ? /* @__PURE__ */ t(G, { baseToc: o, pivotTocItems: c }) : /* @__PURE__ */ t(V, { toc: o })
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docsPage.js","sources":["../../src/components/docsPage.tsx"],"sourcesContent":["import { TextAlignLeftFilled } from '@fluentui/react-icons';\nimport { useEffect } from 'react';\n\nimport { ApiExamples } from '../api-playground-2/ApiExamples';\nimport { ComponentsProvider } from '../context/components-context';\nimport '../styles.css';\nimport type { DocsPageProps, PayloadData } from '../types';\nimport { cn } from '../utils/cn';\nimport { ZonePivotProvider, ZonePivotSelector } from './content-components/zone-pivots';\nimport { MDXRenderer } from './mdx-renderer';\nimport { PageContextMenu, type ContextualOption } from './page-context-menu';\nimport { TableOfContents } from './toc';\nimport { PivotAwareTOC } from './toc/pivot-aware-toc';\n\n/**\n * Localization strings for DocsPage component\n */\nexport interface DocsPageLocalization {\n /** Text for \"On this page\" heading. Default: \"On this page\" */\n onThisPage?: string;\n /** Loading message. Default: \"Loading...\" */\n loading?: string;\n /** Error title. Default: \"Error\" */\n errorTitle?: string;\n /** Generic error message. Default: \"Something went wrong\" */\n errorMessage?: string;\n /** Not found title. Default: \"Page not found\" */\n notFoundTitle?: string;\n /** Not found message. Default: \"The page you're looking for doesn't exist\" */\n notFoundMessage?: string;\n}\n\n/**\n * Telemetry configuration for DocsPage\n */\nexport interface DocsPageTelemetry {\n /** Activity name for page context menu interactions */\n contextMenuActivity?: string;\n /** Phase for context menu interactions */\n contextMenuPhase?: string;\n /** Activity name for TOC link clicks */\n tocLinkActivity?: string;\n /** Phase for TOC link clicks */\n tocLinkPhase?: string;\n /** Activity name for zone pivot selector changes */\n zonePivotActivity?: string;\n /** Phase for zone pivot changes */\n zonePivotPhase?: string;\n}\n\n/**\n * Configuration for the page context menu\n */\nexport interface PageContextMenuConfig {\n /** Custom actions for the page context menu. If provided, these will replace the default actions. */\n customActions?: ContextualOption[];\n /** Callback fired after markdown is successfully copied */\n onCopyMarkdown?: () => void;\n /** Custom handler for \"Copy Page\" action. If provided, replaces default copy behavior. */\n onCopyPage?: () => void | Promise<void>;\n /** Custom handler for \"View as Markdown\" action. If provided, replaces default view behavior. */\n onViewMarkdown?: (pathname?: string) => void;\n /** Custom handler for \"View llms.txt\" action. If provided, replaces default behavior. */\n onViewLlmsTxt?: () => void;\n /** Custom handler for \"View llms-full.txt\" action. If provided, replaces default behavior. */\n onViewLlmsFullTxt?: () => void;\n}\n\n/**\n * Enhanced DocsPageProps with localization and telemetry support\n */\nexport interface EnhancedDocsPageProps extends DocsPageProps {\n /** Localization strings */\n localization?: DocsPageLocalization;\n /** Telemetry configuration */\n telemetry?: DocsPageTelemetry;\n /** Context menu configuration */\n contextMenu?: PageContextMenuConfig;\n}\n\n/**\n * DocsPage component renders a documentation page with MDX content, table of contents,\n * zone pivot selectors, and page context menu. It supports full customization through\n * props for localization, telemetry, and custom components.\n *\n * @example\n * ```tsx\n * <DocsPage\n * payload={{\n * content: \"...\",\n * serializedContent: Content,\n * title: \"Getting Started\",\n * description: \"Learn how to get started\"\n * }}\n * toc={[{ title: \"Introduction\", slug: \"intro\", level: 2 }]}\n * theme=\"dark\"\n * pathname=\"/docs/getting-started\"\n * LinkComponent={Link}\n * localization={{\n * onThisPage: \"In this article\"\n * }}\n * telemetry={{\n * contextMenuActivity: \"DocsPageContextMenu\",\n * contextMenuPhase: \"Start\"\n * }}\n * />\n * ```\n */\nexport function DocsPage({\n payload,\n toc,\n navTree,\n activeHref,\n theme,\n className = '',\n pathname,\n markdownContent,\n allPages,\n baseUrl,\n bottomLinks,\n LinkComponent,\n localization,\n telemetry,\n contextMenu,\n apiReferenceData2,\n}: EnhancedDocsPageProps) {\n const Content = payload.serializedContent;\n const zonePivotGroups = payload.mdxExtracts?.zonePivotGroups || [];\n const pivotTocItems = payload.mdxExtracts?.pivotTocItems;\n const isFullWidth = !payload.title;\n\n // Default localization\n const defaultLocalization: Required<DocsPageLocalization> = {\n onThisPage: 'On this page',\n loading: 'Loading...',\n errorTitle: 'Error',\n errorMessage: 'Something went wrong',\n notFoundTitle: 'Page not found',\n notFoundMessage: \"The page you're looking for doesn't exist\",\n };\n\n const loc = { ...defaultLocalization, ...localization };\n\n useEffect(() => {\n const { hash } = window.location;\n if (!hash) return;\n\n const scrollToHash = () => {\n const targetId = hash.substring(1);\n const scrollContainer = document.getElementById('main-content');\n const targetElement = document.getElementById(targetId);\n\n if (scrollContainer && targetElement) {\n const style = window.getComputedStyle(document.documentElement);\n const scrollMtRem = parseFloat(style.getPropertyValue('--scroll-mt') || '0');\n const fontSize = parseFloat(style.fontSize);\n const scrollOffset = scrollMtRem * fontSize;\n\n const containerRect = scrollContainer.getBoundingClientRect();\n const targetRect = targetElement.getBoundingClientRect();\n const relativeTop =\n targetRect.top - containerRect.top + scrollContainer.scrollTop - scrollOffset;\n\n scrollContainer.scrollTo({\n top: relativeTop,\n behavior: 'instant',\n });\n }\n };\n\n const timeoutId = setTimeout(scrollToHash, 100);\n\n return () => clearTimeout(timeoutId);\n }, [pathname]);\n\n return (\n <ComponentsProvider LinkComponent={LinkComponent}>\n <div\n className={cn(\n theme === 'dark' && 'dark',\n className,\n 'mint:flex mint:flex-col mint:flex-1 mint:min-h-0 mint:h-full mint:overflow-hidden'\n )}\n >\n <div\n id=\"page-container\"\n className=\"mint:bg-[#f0f0f0] mint:dark:bg-[#0f0f0f] mint:flex-1 mint:min-h-0 mint:h-full mint:flex mint:flex-col mint:overflow-hidden\"\n >\n <div\n id=\"page-wrapper\"\n className=\"mint:flex mint:rounded-tl-2xl mint:flex-1 mint:min-h-0 mint:h-full mint:overflow-hidden\"\n >\n <div\n id=\"main-content\"\n className={cn(\n 'mint:flex-1 mint:p-8 mint:overflow-y-auto mint:overflow-x-hidden mint:rounded-tl-2xl mint:bg-white mint:dark:bg-[#1f1f1f] [scrollbar-gutter:stable] mint:overscroll-contain mint:lg:px-16 mint:lg:pt-12 [scrollbar-width:thin] [scrollbar-color:rgba(0,0,0,0.2)_transparent] dark:[scrollbar-color:rgba(255,255,255,0.2)_transparent] mint:[&::-webkit-scrollbar]:w-1 mint:[&::-webkit-scrollbar-track]:bg-transparent mint:[&::-webkit-scrollbar-thumb]:bg-black/20 mint:dark:[&::-webkit-scrollbar-thumb]:bg-white/20 mint:[&::-webkit-scrollbar-thumb]:rounded mint:[&::-webkit-scrollbar-thumb:hover]:bg-black/30 mint:dark:[&::-webkit-scrollbar-thumb:hover]:bg-white/30'\n )}\n >\n <ZonePivotProvider groups={zonePivotGroups}>\n <div\n className=\"mint:flex mint:flex-row-reverse mint:gap-12 mint:justify-center mint:mx-auto mint:w-full\"\n id=\"content-layout-container\"\n >\n {apiReferenceData2?.operation ? (\n <div className=\"mint:hidden mint:xl:flex! mint:self-start mint:sticky mint:flex-col mint:max-w-md mint:top-0 mint:gap-6\">\n <ApiExamples apiReferenceData={apiReferenceData2} />\n </div>\n ) : toc && toc.length > 0 ? (\n <aside className=\"mint:w-68 mint:shrink-0 mint:ml-8 mint:max-xl:hidden mint:xl:block\">\n <div className=\"mint:sticky mint:top-2 mint:p-2 mint:pb-6 mint:max-h-[calc(100vh-3.5rem)] mint:overflow-y-auto\">\n <div className=\"mint:flex mint:items-center mint:gap-2 mint:mb-4\">\n <TextAlignLeftFilled className=\"mint:w-4 mint:h-4 mint:text-[#4b5563] mint:dark:text-[#9ca3af]\" />\n <h2 className=\"mint:text-sm mint:font-semibold mint:text-[#141414] mint:dark:text-white\">\n {loc.onThisPage}\n </h2>\n </div>\n {pivotTocItems && Object.keys(pivotTocItems).length > 0 ? (\n <PivotAwareTOC baseToc={toc} pivotTocItems={pivotTocItems} />\n ) : (\n <TableOfContents toc={toc} />\n )}\n </div>\n </aside>\n ) : null}\n\n <div\n className={cn(\n 'mint:w-full mint:overflow-x-visible mint:max-w-[730px]',\n isFullWidth && 'mint:max-w-none!'\n )}\n >\n {payload.title && (\n <header className=\"mint:mb-6\">\n <div className=\"mint:flex mint:flex-col mint:gap-5\">\n <div className=\"mint:flex mint:flex-col mint:gap-2 mint:items-start\">\n <h1 className=\"mint:text-[1.875rem] mint:font-bold mint:text-[#141414] mint:dark:text-white mint:m-0 mint:leading-[1.2] mint:pt-3\">\n {payload.title}\n </h1>\n {payload.description && (\n <p className=\"mint:text-lg mint:text-[#4b5563] mint:dark:text-[#d1d5db] mint:m-0\">\n {payload.description}\n </p>\n )}\n </div>\n {pathname && (\n <PageContextMenu\n className=\"mint:shrink-0\"\n pathname={pathname}\n markdownContent={markdownContent}\n allPages={allPages}\n baseUrl={baseUrl}\n onCopyMarkdown={contextMenu?.onCopyMarkdown}\n onViewMarkdown={contextMenu?.onViewMarkdown}\n />\n )}\n </div>\n </header>\n )}\n\n {zonePivotGroups.length > 0 && (\n <div className=\"mint:mb-6 mint:flex mint:flex-wrap mint:gap-4\">\n {zonePivotGroups.map((group) => (\n <ZonePivotSelector\n key={group.id}\n group={group}\n className=\"mint:flex mint:items-center mint:gap-2 mint:text-sm\"\n />\n ))}\n </div>\n )}\n\n <div className=\"mint:pt-4\">\n <MDXRenderer>\n <Content />\n </MDXRenderer>\n </div>\n </div>\n </div>\n </ZonePivotProvider>\n </div>\n </div>\n </div>\n </div>\n </ComponentsProvider>\n );\n}\n\nexport type { DocsPageProps, PayloadData } from '../types';\n\nexport type { EnhancedDocsPageProps as DocsPagePropsWithCustomization };\n\nexport type { ContextualOption };\n"],"names":["DocsPage","payload","toc","navTree","activeHref","theme","className","pathname","markdownContent","allPages","baseUrl","bottomLinks","LinkComponent","localization","telemetry","contextMenu","apiReferenceData2","Content","zonePivotGroups","_a","pivotTocItems","_b","isFullWidth","loc","useEffect","hash","timeoutId","targetId","scrollContainer","targetElement","style","scrollMtRem","fontSize","scrollOffset","containerRect","relativeTop","jsx","ComponentsProvider","cn","ZonePivotProvider","jsxs","ApiExamples","TextAlignLeftFilled","PivotAwareTOC","TableOfContents","PageContextMenu","group","ZonePivotSelector","MDXRenderer"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"docsPage.js","sources":["../../src/components/docsPage.tsx"],"sourcesContent":["import { TextAlignLeftFilled } from '@fluentui/react-icons';\nimport { useEffect } from 'react';\n\nimport { ApiExamples } from '../api-playground-2/ApiExamples';\nimport { ComponentsProvider } from '../context/components-context';\nimport '../styles.css';\nimport type { DocsPageProps, PayloadData } from '../types';\nimport { cn } from '../utils/cn';\nimport { ZonePivotProvider, ZonePivotSelector } from './content-components/zone-pivots';\nimport { MDXRenderer } from './mdx-renderer';\nimport { PageContextMenu, type ContextualOption } from './page-context-menu';\nimport { TableOfContents } from './toc';\nimport { PivotAwareTOC } from './toc/pivot-aware-toc';\n\n/**\n * Localization strings for DocsPage component\n */\nexport interface DocsPageLocalization {\n /** Text for \"On this page\" heading. Default: \"On this page\" */\n onThisPage?: string;\n /** Loading message. Default: \"Loading...\" */\n loading?: string;\n /** Error title. Default: \"Error\" */\n errorTitle?: string;\n /** Generic error message. Default: \"Something went wrong\" */\n errorMessage?: string;\n /** Not found title. Default: \"Page not found\" */\n notFoundTitle?: string;\n /** Not found message. Default: \"The page you're looking for doesn't exist\" */\n notFoundMessage?: string;\n}\n\n/**\n * Telemetry configuration for DocsPage\n */\nexport interface DocsPageTelemetry {\n /** Activity name for page context menu interactions */\n contextMenuActivity?: string;\n /** Phase for context menu interactions */\n contextMenuPhase?: string;\n /** Activity name for TOC link clicks */\n tocLinkActivity?: string;\n /** Phase for TOC link clicks */\n tocLinkPhase?: string;\n /** Activity name for zone pivot selector changes */\n zonePivotActivity?: string;\n /** Phase for zone pivot changes */\n zonePivotPhase?: string;\n}\n\n/**\n * Configuration for the page context menu\n */\nexport interface PageContextMenuConfig {\n /** Custom actions for the page context menu. If provided, these will replace the default actions. */\n customActions?: ContextualOption[];\n /** Callback fired after markdown is successfully copied */\n onCopyMarkdown?: () => void;\n /** Custom handler for \"Copy Page\" action. If provided, replaces default copy behavior. */\n onCopyPage?: () => void | Promise<void>;\n /** Custom handler for \"View as Markdown\" action. If provided, replaces default view behavior. */\n onViewMarkdown?: (pathname?: string) => void;\n /** Custom handler for \"View llms.txt\" action. If provided, replaces default behavior. */\n onViewLlmsTxt?: () => void;\n /** Custom handler for \"View llms-full.txt\" action. If provided, replaces default behavior. */\n onViewLlmsFullTxt?: () => void;\n}\n\n/**\n * Enhanced DocsPageProps with localization and telemetry support\n */\nexport interface EnhancedDocsPageProps extends DocsPageProps {\n /** Localization strings */\n localization?: DocsPageLocalization;\n /** Telemetry configuration */\n telemetry?: DocsPageTelemetry;\n /** Context menu configuration */\n contextMenu?: PageContextMenuConfig;\n}\n\n/**\n * DocsPage component renders a documentation page with MDX content, table of contents,\n * zone pivot selectors, and page context menu. It supports full customization through\n * props for localization, telemetry, and custom components.\n *\n * @example\n * ```tsx\n * <DocsPage\n * payload={{\n * content: \"...\",\n * serializedContent: Content,\n * title: \"Getting Started\",\n * description: \"Learn how to get started\"\n * }}\n * toc={[{ title: \"Introduction\", slug: \"intro\", level: 2 }]}\n * theme=\"dark\"\n * pathname=\"/docs/getting-started\"\n * LinkComponent={Link}\n * localization={{\n * onThisPage: \"In this article\"\n * }}\n * telemetry={{\n * contextMenuActivity: \"DocsPageContextMenu\",\n * contextMenuPhase: \"Start\"\n * }}\n * />\n * ```\n */\nexport function DocsPage({\n payload,\n toc,\n navTree,\n activeHref,\n theme,\n className = '',\n pathname,\n markdownContent,\n allPages,\n baseUrl,\n bottomLinks,\n LinkComponent,\n localization,\n telemetry,\n contextMenu,\n apiReferenceData2,\n}: EnhancedDocsPageProps) {\n const Content = payload.serializedContent;\n const zonePivotGroups = payload.mdxExtracts?.zonePivotGroups || [];\n const pivotTocItems = payload.mdxExtracts?.pivotTocItems;\n const isFullWidth = !payload.title;\n\n // Default localization\n const defaultLocalization: Required<DocsPageLocalization> = {\n onThisPage: 'On this page',\n loading: 'Loading...',\n errorTitle: 'Error',\n errorMessage: 'Something went wrong',\n notFoundTitle: 'Page not found',\n notFoundMessage: \"The page you're looking for doesn't exist\",\n };\n\n const loc = { ...defaultLocalization, ...localization };\n\n useEffect(() => {\n const { hash } = window.location;\n if (!hash) return;\n\n const scrollToHash = () => {\n const targetId = hash.substring(1);\n const scrollContainer = document.getElementById('main-content');\n const targetElement = document.getElementById(targetId);\n\n if (scrollContainer && targetElement) {\n const style = window.getComputedStyle(document.documentElement);\n const scrollMtRem = parseFloat(style.getPropertyValue('--scroll-mt') || '0');\n const fontSize = parseFloat(style.fontSize);\n const scrollOffset = scrollMtRem * fontSize;\n\n const containerRect = scrollContainer.getBoundingClientRect();\n const targetRect = targetElement.getBoundingClientRect();\n const relativeTop =\n targetRect.top - containerRect.top + scrollContainer.scrollTop - scrollOffset;\n\n scrollContainer.scrollTo({\n top: relativeTop,\n behavior: 'instant',\n });\n }\n };\n\n const timeoutId = setTimeout(scrollToHash, 100);\n\n return () => clearTimeout(timeoutId);\n }, [pathname]);\n\n return (\n <ComponentsProvider LinkComponent={LinkComponent}>\n <div\n className={cn(\n theme === 'dark' && 'dark',\n className,\n 'mint:flex mint:flex-col mint:flex-1 mint:min-h-0 mint:h-full mint:overflow-hidden'\n )}\n >\n <div\n id=\"page-container\"\n className=\"mint:bg-[#f0f0f0] mint:dark:bg-[#0f0f0f] mint:flex-1 mint:min-h-0 mint:h-full mint:flex mint:flex-col mint:overflow-hidden\"\n >\n <div\n id=\"page-wrapper\"\n className=\"mint:flex mint:rounded-tl-2xl mint:flex-1 mint:min-h-0 mint:h-full mint:overflow-hidden\"\n >\n <div\n id=\"main-content\"\n className={cn(\n 'mint:flex-1 mint:p-8 mint:overflow-y-auto mint:overflow-x-hidden mint:rounded-tl-2xl mint:bg-white mint:dark:bg-[#1f1f1f] [scrollbar-gutter:stable] mint:overscroll-contain mint:lg:px-16 mint:lg:pt-12 [scrollbar-width:thin] [scrollbar-color:rgba(0,0,0,0.2)_transparent] dark:[scrollbar-color:rgba(255,255,255,0.2)_transparent] mint:[&::-webkit-scrollbar]:w-1 mint:[&::-webkit-scrollbar-track]:bg-transparent mint:[&::-webkit-scrollbar-thumb]:bg-black/20 mint:dark:[&::-webkit-scrollbar-thumb]:bg-white/20 mint:[&::-webkit-scrollbar-thumb]:rounded mint:[&::-webkit-scrollbar-thumb:hover]:bg-black/30 mint:dark:[&::-webkit-scrollbar-thumb:hover]:bg-white/30'\n )}\n >\n <ZonePivotProvider groups={zonePivotGroups}>\n <div\n className=\"mint:flex mint:flex-row-reverse mint:gap-12 mint:justify-center mint:mx-auto mint:w-full\"\n id=\"content-layout-container\"\n >\n {apiReferenceData2?.operation ? (\n <div className=\"mint:hidden mint:xl:flex! mint:self-start mint:sticky mint:flex-col mint:max-w-md mint:top-0 mint:gap-6\">\n <ApiExamples apiReferenceData={apiReferenceData2} />\n </div>\n ) : toc && toc.length > 0 ? (\n <aside className=\"mint:w-68 mint:shrink-0 mint:ml-8 mint:max-xl:hidden mint:xl:block\">\n <div className=\"mint:sticky mint:top-2 mint:p-2 mint:pb-6 mint:max-h-[calc(100vh-3.5rem)] mint:overflow-y-auto\">\n <div className=\"mint:flex mint:items-center mint:gap-2 mint:mb-4\">\n <TextAlignLeftFilled className=\"mint:w-4 mint:h-4 mint:text-[#4b5563] mint:dark:text-[#adadad]\" />\n <h2 className=\"mint:text-sm mint:font-semibold mint:text-[#141414] mint:dark:text-white\">\n {loc.onThisPage}\n </h2>\n </div>\n {pivotTocItems && Object.keys(pivotTocItems).length > 0 ? (\n <PivotAwareTOC baseToc={toc} pivotTocItems={pivotTocItems} />\n ) : (\n <TableOfContents toc={toc} />\n )}\n </div>\n </aside>\n ) : null}\n\n <div\n className={cn(\n 'mint:w-full mint:overflow-x-visible mint:max-w-[730px]',\n isFullWidth && 'mint:max-w-none!'\n )}\n >\n {payload.title && (\n <header className=\"mint:mb-6\">\n <div className=\"mint:flex mint:flex-col mint:gap-5\">\n <div className=\"mint:flex mint:flex-col mint:gap-2 mint:items-start\">\n <h1 className=\"mint:text-[1.875rem] mint:font-bold mint:text-[#141414] mint:dark:text-white mint:m-0 mint:leading-[1.2] mint:pt-3\">\n {payload.title}\n </h1>\n {payload.description && (\n <p className=\"mint:text-lg mint:text-[#4b5563] mint:dark:text-[#d1d5db] mint:m-0\">\n {payload.description}\n </p>\n )}\n </div>\n {pathname && (\n <PageContextMenu\n className=\"mint:shrink-0\"\n pathname={pathname}\n markdownContent={markdownContent}\n allPages={allPages}\n baseUrl={baseUrl}\n onCopyMarkdown={contextMenu?.onCopyMarkdown}\n onViewMarkdown={contextMenu?.onViewMarkdown}\n />\n )}\n </div>\n </header>\n )}\n\n {zonePivotGroups.length > 0 && (\n <div className=\"mint:mb-6 mint:flex mint:flex-wrap mint:gap-4\">\n {zonePivotGroups.map((group) => (\n <ZonePivotSelector\n key={group.id}\n group={group}\n className=\"mint:flex mint:items-center mint:gap-2 mint:text-sm\"\n />\n ))}\n </div>\n )}\n\n <div className=\"mint:pt-4\">\n <MDXRenderer>\n <Content />\n </MDXRenderer>\n </div>\n </div>\n </div>\n </ZonePivotProvider>\n </div>\n </div>\n </div>\n </div>\n </ComponentsProvider>\n );\n}\n\nexport type { DocsPageProps, PayloadData } from '../types';\n\nexport type { EnhancedDocsPageProps as DocsPagePropsWithCustomization };\n\nexport type { ContextualOption };\n"],"names":["DocsPage","payload","toc","navTree","activeHref","theme","className","pathname","markdownContent","allPages","baseUrl","bottomLinks","LinkComponent","localization","telemetry","contextMenu","apiReferenceData2","Content","zonePivotGroups","_a","pivotTocItems","_b","isFullWidth","loc","useEffect","hash","timeoutId","targetId","scrollContainer","targetElement","style","scrollMtRem","fontSize","scrollOffset","containerRect","relativeTop","jsx","ComponentsProvider","cn","ZonePivotProvider","jsxs","ApiExamples","TextAlignLeftFilled","PivotAwareTOC","TableOfContents","PageContextMenu","group","ZonePivotSelector","MDXRenderer"],"mappings":"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"}
|
|
@@ -1,155 +1,155 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import { useRef as
|
|
3
|
-
import { useComponents as
|
|
1
|
+
import { jsxs as l, jsx as n, Fragment as W } from "react/jsx-runtime";
|
|
2
|
+
import C, { useRef as j, useEffect as L, useState as S } from "react";
|
|
3
|
+
import { useComponents as M } from "../../context/components-context.js";
|
|
4
4
|
/* empty css */
|
|
5
|
-
import { cn as
|
|
6
|
-
import { MethodPill as
|
|
7
|
-
function
|
|
8
|
-
return /* @__PURE__ */
|
|
5
|
+
import { cn as h } from "../../utils/cn.js";
|
|
6
|
+
import { MethodPill as I } from "../Api/MethodPill.js";
|
|
7
|
+
function _({ isExpanded: t }) {
|
|
8
|
+
return /* @__PURE__ */ n(
|
|
9
9
|
"svg",
|
|
10
10
|
{
|
|
11
|
-
className:
|
|
12
|
-
"mint:w-[16px] mint:h-[16px] mint:shrink-0 mint:text-[#6b7280] mint:dark:text-[#
|
|
11
|
+
className: h(
|
|
12
|
+
"mint:w-[16px] mint:h-[16px] mint:shrink-0 mint:text-[#6b7280] mint:dark:text-[#adadad]",
|
|
13
13
|
t ? "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__ */
|
|
19
|
+
children: /* @__PURE__ */ n("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 5l7 7-7 7" })
|
|
20
20
|
}
|
|
21
21
|
);
|
|
22
22
|
}
|
|
23
|
-
const
|
|
24
|
-
function
|
|
25
|
-
const x = t.children && t.children.length > 0,
|
|
26
|
-
if (!
|
|
27
|
-
const b =
|
|
28
|
-
return b ===
|
|
29
|
-
},
|
|
30
|
-
|
|
31
|
-
x &&
|
|
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
32
|
}, [o]);
|
|
33
|
-
const { LinkComponent: d } =
|
|
34
|
-
if (f &&
|
|
35
|
-
return /* @__PURE__ */
|
|
36
|
-
/* @__PURE__ */
|
|
37
|
-
|
|
38
|
-
/* @__PURE__ */
|
|
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 })
|
|
39
39
|
] }),
|
|
40
|
-
x && t.children && /* @__PURE__ */
|
|
41
|
-
|
|
40
|
+
x && t.children && /* @__PURE__ */ n("ul", { className: "mint:flex mint:flex-col mint:pl-0", role: "list", children: t.children.map((i, a) => /* @__PURE__ */ n(
|
|
41
|
+
y,
|
|
42
42
|
{
|
|
43
|
-
item:
|
|
43
|
+
item: i,
|
|
44
44
|
activeId: g,
|
|
45
|
-
level:
|
|
45
|
+
level: p + 1,
|
|
46
46
|
activeHref: o
|
|
47
47
|
},
|
|
48
|
-
`${
|
|
48
|
+
`${i.href}-${a}`
|
|
49
49
|
)) })
|
|
50
50
|
] });
|
|
51
|
-
if (f &&
|
|
52
|
-
return /* @__PURE__ */
|
|
53
|
-
/* @__PURE__ */
|
|
51
|
+
if (f && p > 0)
|
|
52
|
+
return /* @__PURE__ */ l("li", { className: "mint:list-none", children: [
|
|
53
|
+
/* @__PURE__ */ l(
|
|
54
54
|
"button",
|
|
55
55
|
{
|
|
56
56
|
id: "nav-group-toggle",
|
|
57
|
-
onClick: () =>
|
|
58
|
-
"aria-expanded":
|
|
59
|
-
"aria-label": `${
|
|
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-[#
|
|
57
|
+
onClick: () => e(!s),
|
|
58
|
+
"aria-expanded": s,
|
|
59
|
+
"aria-label": `${s ? "Collapse" : "Expand"} ${t.toc_title} section`,
|
|
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__ */
|
|
63
|
-
/* @__PURE__ */
|
|
62
|
+
/* @__PURE__ */ n("span", { className: "mint:flex-1 mint:min-w-0", children: t.toc_title }),
|
|
63
|
+
/* @__PURE__ */ n(_, { isExpanded: !!s })
|
|
64
64
|
]
|
|
65
65
|
}
|
|
66
66
|
),
|
|
67
|
-
x &&
|
|
68
|
-
|
|
67
|
+
x && s && t.children && /* @__PURE__ */ n("ul", { className: "mint:ml-3 mint:flex mint:flex-col mint:pl-0", role: "group", children: t.children.map((i, a) => /* @__PURE__ */ n(
|
|
68
|
+
y,
|
|
69
69
|
{
|
|
70
|
-
item:
|
|
70
|
+
item: i,
|
|
71
71
|
activeId: g,
|
|
72
|
-
level:
|
|
72
|
+
level: p + 1,
|
|
73
73
|
activeHref: o
|
|
74
74
|
},
|
|
75
|
-
`${
|
|
75
|
+
`${i.href}-${a}`
|
|
76
76
|
)) })
|
|
77
77
|
] });
|
|
78
78
|
const m = d || "a";
|
|
79
|
-
return x ? /* @__PURE__ */
|
|
80
|
-
/* @__PURE__ */
|
|
79
|
+
return x ? /* @__PURE__ */ l("li", { className: "mint:list-none", children: [
|
|
80
|
+
/* @__PURE__ */ l(
|
|
81
81
|
"button",
|
|
82
82
|
{
|
|
83
83
|
id: "nav-item-toggle",
|
|
84
|
-
onClick: () =>
|
|
85
|
-
"aria-expanded":
|
|
86
|
-
"aria-label": `${
|
|
87
|
-
className:
|
|
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-[#
|
|
89
|
-
r ?
|
|
84
|
+
onClick: () => e(!s),
|
|
85
|
+
"aria-expanded": s,
|
|
86
|
+
"aria-label": `${s ? "Collapse" : "Expand"} ${t.toc_title} section`,
|
|
87
|
+
className: h(
|
|
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]"
|
|
90
90
|
),
|
|
91
91
|
children: [
|
|
92
|
-
/* @__PURE__ */
|
|
93
|
-
/* @__PURE__ */
|
|
92
|
+
/* @__PURE__ */ n("span", { className: "mint:flex-1 mint:min-w-0", children: t.toc_title }),
|
|
93
|
+
/* @__PURE__ */ n(_, { isExpanded: !!s })
|
|
94
94
|
]
|
|
95
95
|
}
|
|
96
96
|
),
|
|
97
|
-
|
|
98
|
-
|
|
97
|
+
s && t.children && /* @__PURE__ */ n("ul", { className: "mint:ml-3 mint:flex mint:flex-col mint:pl-0", role: "group", children: t.children.map((i, a) => /* @__PURE__ */ n(
|
|
98
|
+
y,
|
|
99
99
|
{
|
|
100
|
-
item:
|
|
100
|
+
item: i,
|
|
101
101
|
activeId: g,
|
|
102
|
-
level:
|
|
102
|
+
level: p + 1,
|
|
103
103
|
activeHref: o
|
|
104
104
|
},
|
|
105
|
-
`${
|
|
105
|
+
`${i.href}-${a}`
|
|
106
106
|
)) })
|
|
107
|
-
] }) : /* @__PURE__ */
|
|
107
|
+
] }) : /* @__PURE__ */ n("li", { className: "mint:list-none", children: /* @__PURE__ */ l(
|
|
108
108
|
m,
|
|
109
109
|
{
|
|
110
110
|
id: "nav-item",
|
|
111
111
|
href: t.href,
|
|
112
112
|
"aria-current": r ? "page" : void 0,
|
|
113
|
-
className:
|
|
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-[#
|
|
115
|
-
r ?
|
|
113
|
+
className: h(
|
|
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]"
|
|
116
116
|
),
|
|
117
117
|
children: [
|
|
118
|
-
r && /* @__PURE__ */
|
|
119
|
-
t.method && /* @__PURE__ */
|
|
118
|
+
r && /* @__PURE__ */ n("div", { className: "mint:absolute mint:left-0 mint:my-2.5 mint:rounded-full mint:w-[3px] mint:top-0 mint:bottom-0 mint:bg-[#8251ee] mint:dark:bg-[#9263f1]" }),
|
|
119
|
+
t.method && /* @__PURE__ */ n(I, { isActive: !!r, method: t.method, shortMethod: !0 }),
|
|
120
120
|
t.toc_title
|
|
121
121
|
]
|
|
122
122
|
}
|
|
123
123
|
) });
|
|
124
124
|
}
|
|
125
|
-
function
|
|
125
|
+
function H({
|
|
126
126
|
navTree: t,
|
|
127
127
|
activeId: g,
|
|
128
|
-
className:
|
|
128
|
+
className: p = "",
|
|
129
129
|
activeHref: o,
|
|
130
130
|
theme: x,
|
|
131
|
-
bottomLinks:
|
|
132
|
-
anchors:
|
|
131
|
+
bottomLinks: v,
|
|
132
|
+
anchors: u
|
|
133
133
|
}) {
|
|
134
|
-
const { LinkComponent:
|
|
135
|
-
if (
|
|
136
|
-
const
|
|
137
|
-
if (!
|
|
138
|
-
const d = (r) => r ? r.startsWith("/") ? r : `/${r}` : "", f = (r,
|
|
139
|
-
const m = d(r),
|
|
140
|
-
return m ===
|
|
134
|
+
const { LinkComponent: k } = M(), $ = j(null);
|
|
135
|
+
if (L(() => {
|
|
136
|
+
const e = $.current;
|
|
137
|
+
if (!e || !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
141
|
};
|
|
142
142
|
requestAnimationFrame(() => {
|
|
143
|
-
const r =
|
|
144
|
-
let
|
|
143
|
+
const r = e.querySelectorAll("a[href]");
|
|
144
|
+
let c = null;
|
|
145
145
|
for (const m of Array.from(r)) {
|
|
146
|
-
const
|
|
147
|
-
if (
|
|
148
|
-
|
|
146
|
+
const i = m.getAttribute("href");
|
|
147
|
+
if (i && f(i, o)) {
|
|
148
|
+
c = m;
|
|
149
149
|
break;
|
|
150
150
|
}
|
|
151
151
|
}
|
|
152
|
-
|
|
152
|
+
c && c.scrollIntoView({
|
|
153
153
|
behavior: "instant",
|
|
154
154
|
block: "center",
|
|
155
155
|
inline: "nearest"
|
|
@@ -157,114 +157,129 @@ function F({
|
|
|
157
157
|
});
|
|
158
158
|
}, [o]), !t || t.items.length === 0)
|
|
159
159
|
return null;
|
|
160
|
-
const
|
|
161
|
-
return /* @__PURE__ */
|
|
160
|
+
const s = k || "a";
|
|
161
|
+
return /* @__PURE__ */ l(
|
|
162
162
|
"nav",
|
|
163
163
|
{
|
|
164
164
|
id: "nav-tree",
|
|
165
|
-
className:
|
|
165
|
+
className: h(
|
|
166
166
|
"mint:flex mint:flex-col mint:h-full mint:min-h-0",
|
|
167
|
-
|
|
167
|
+
p,
|
|
168
168
|
x === "dark" && "dark"
|
|
169
169
|
),
|
|
170
170
|
"aria-label": "Documentation navigation",
|
|
171
171
|
children: [
|
|
172
|
-
/* @__PURE__ */
|
|
172
|
+
/* @__PURE__ */ l(
|
|
173
173
|
"div",
|
|
174
174
|
{
|
|
175
175
|
id: "nav-tree-content",
|
|
176
176
|
ref: $,
|
|
177
|
-
className:
|
|
177
|
+
className: h(
|
|
178
178
|
"mint:flex-1 mint:overflow-y-auto mint:overflow-x-hidden mint:min-h-0 mint:[scrollbar-gutter:stable] mint:md:px-4 mint:[scrollbar-width:thin] mint:[scrollbar-color:rgba(0,0,0,0.2)_transparent] mint:dark:[scrollbar-color:rgba(255,255,255,0.2)_transparent] mint:[&::-webkit-scrollbar]:w-1 mint:[&::-webkit-scrollbar-track]:bg-transparent mint:[&::-webkit-scrollbar-thumb]:bg-black/20 mint:dark:[&::-webkit-scrollbar-thumb]:bg-white/20 mint:[&::-webkit-scrollbar-thumb]:rounded mint:[&::-webkit-scrollbar-thumb:hover]:bg-black/30 mint:dark:[&::-webkit-scrollbar-thumb:hover]:bg-white/30 mint:space-y-6 mint:py-4"
|
|
179
179
|
),
|
|
180
180
|
children: [
|
|
181
|
-
|
|
182
|
-
const f =
|
|
183
|
-
if (!o || !
|
|
184
|
-
const m = r(o),
|
|
185
|
-
return
|
|
186
|
-
if (!
|
|
187
|
-
const A = r(
|
|
188
|
-
return
|
|
189
|
-
}).reduce((
|
|
190
|
-
const A = r(
|
|
181
|
+
u && u.length > 0 && /* @__PURE__ */ n("div", { id: "nav-anchors", className: "mint:shrink-0 mint:w-full mint:mb-3", children: /* @__PURE__ */ n("div", { className: "mint:flex mint:flex-col", children: u.map((e, d) => {
|
|
182
|
+
const f = e.icon, r = (m) => m ? m.startsWith("/") ? m : `/${m}` : "", c = (() => {
|
|
183
|
+
if (!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) => {
|
|
186
|
+
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(
|
|
191
191
|
/\/$/,
|
|
192
192
|
""
|
|
193
193
|
);
|
|
194
|
-
return r(
|
|
194
|
+
return r(E.href || "").replace(
|
|
195
195
|
/\/$/,
|
|
196
196
|
""
|
|
197
|
-
).length > A.length ?
|
|
198
|
-
},
|
|
197
|
+
).length > A.length ? E : w;
|
|
198
|
+
}, e) === e : !1;
|
|
199
199
|
})();
|
|
200
|
-
return /* @__PURE__ */
|
|
201
|
-
|
|
200
|
+
return /* @__PURE__ */ l(
|
|
201
|
+
s,
|
|
202
202
|
{
|
|
203
|
-
href:
|
|
204
|
-
"aria-current":
|
|
205
|
-
className:
|
|
203
|
+
href: e.href,
|
|
204
|
+
"aria-current": c ? "page" : void 0,
|
|
205
|
+
className: h(
|
|
206
206
|
"mint:group mint:relative mint:flex mint:items-start mint:gap-2 mint:py-2 mint:px-3 mint:text-sm mint:rounded-lg mint:no-underline mint:focus-visible:outline-2 mint:focus-visible:outline-[#643fb2] mint:focus-visible:outline-offset-2 mint:hover:text-[#141414] mint:dark:hover:text-[#e5e7eb]",
|
|
207
|
-
|
|
207
|
+
c ? "mint:text-[#141414] mint:dark:text-[#ffffff]" : "mint:text-[#424242] mint:dark:text-[#adadad]"
|
|
208
208
|
),
|
|
209
209
|
children: [
|
|
210
|
-
f && /* @__PURE__ */
|
|
210
|
+
f && /* @__PURE__ */ n(
|
|
211
211
|
f,
|
|
212
212
|
{
|
|
213
|
-
className:
|
|
213
|
+
className: h(
|
|
214
214
|
"mint:w-5 mint:h-5 mint:shrink-0",
|
|
215
|
-
|
|
215
|
+
c ? "mint:text-[#8251ee] mint:dark:text-[#9263f1]" : "mint:text-[#6b7280] mint:dark:text-[#adadad] mint:group-hover:text-[#8251ee] mint:dark:group-hover:text-[#9263f1]"
|
|
216
216
|
)
|
|
217
217
|
}
|
|
218
218
|
),
|
|
219
|
-
/* @__PURE__ */
|
|
220
|
-
/* @__PURE__ */
|
|
219
|
+
/* @__PURE__ */ l("div", { className: "mint:flex mint:flex-col mint:gap-0.5 mint:min-w-0", children: [
|
|
220
|
+
/* @__PURE__ */ n(
|
|
221
221
|
"span",
|
|
222
222
|
{
|
|
223
|
-
className:
|
|
223
|
+
className: h(
|
|
224
224
|
"mint:font-medium",
|
|
225
|
-
|
|
225
|
+
c ? "mint:text-[#8251ee] mint:dark:text-[#9263f1] mint:font-semibold" : "mint:text-[#141414] mint:dark:text-[#ffffff] mint:group-hover:text-[#8251ee] mint:dark:group-hover:text-[#9263f1]"
|
|
226
226
|
),
|
|
227
|
-
children:
|
|
227
|
+
children: e.title
|
|
228
228
|
}
|
|
229
229
|
),
|
|
230
|
-
|
|
230
|
+
e.description && /* @__PURE__ */ n("span", { className: "mint:text-xs mint:text-[#6b7280] mint:dark:text-[#adadad] mint:leading-snug", children: e.description })
|
|
231
231
|
] })
|
|
232
232
|
]
|
|
233
233
|
},
|
|
234
234
|
d
|
|
235
235
|
);
|
|
236
236
|
}) }) }),
|
|
237
|
-
t.items.map((
|
|
238
|
-
|
|
237
|
+
t.items.map((e, d) => /* @__PURE__ */ n(
|
|
238
|
+
y,
|
|
239
239
|
{
|
|
240
|
-
item:
|
|
240
|
+
item: e,
|
|
241
241
|
activeId: g,
|
|
242
242
|
activeHref: o
|
|
243
243
|
},
|
|
244
|
-
`${
|
|
244
|
+
`${e.href}-${d}`
|
|
245
245
|
))
|
|
246
246
|
]
|
|
247
247
|
}
|
|
248
248
|
),
|
|
249
|
-
|
|
249
|
+
v && v.length > 0 && /* @__PURE__ */ l(
|
|
250
250
|
"div",
|
|
251
251
|
{
|
|
252
252
|
id: "nav-tree-bottom-links",
|
|
253
253
|
className: "mint:shrink-0 mint:w-full mint:bg-[#f0f0f0] mint:dark:bg-[#0f0f0f] mint:mt-auto",
|
|
254
254
|
children: [
|
|
255
|
-
/* @__PURE__ */
|
|
256
|
-
/* @__PURE__ */
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
255
|
+
/* @__PURE__ */ n("div", { className: "mint:h-[0.5px] mint:w-full mint:bg-[#d1d1d1] mint:dark:bg-[#666666]" }),
|
|
256
|
+
/* @__PURE__ */ n("div", { className: "mint:flex mint:flex-col mint:py-3 mint:px-4", children: v.map((e, d) => {
|
|
257
|
+
var r;
|
|
258
|
+
const f = e.icon;
|
|
259
|
+
return e.component ? /* @__PURE__ */ n("div", { children: C.isValidElement(e.component) ? C.cloneElement(e.component, {
|
|
260
|
+
...e.component.props,
|
|
261
|
+
className: h(
|
|
262
|
+
"mint:flex mint:items-center mint:py-2 mint:gap-2 mint:text-sm mint:text-[#424242] mint:dark:text-[#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
|
|
264
|
+
),
|
|
265
|
+
children: /* @__PURE__ */ l(W, { children: [
|
|
266
|
+
/* @__PURE__ */ n(f, { className: "mint:w-5 mint:h-5 mint:shrink-0" }),
|
|
267
|
+
/* @__PURE__ */ n("span", { children: e.label })
|
|
268
|
+
] })
|
|
269
|
+
}) : /* @__PURE__ */ l("div", { className: "mint:flex mint:items-center mint:py-2 mint:gap-2 mint:text-sm mint:text-[#424242] mint:dark:text-[#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,
|
|
260
275
|
{
|
|
261
|
-
href:
|
|
276
|
+
href: e.href,
|
|
262
277
|
target: "_blank",
|
|
263
278
|
rel: "noopener noreferrer",
|
|
264
|
-
className: "mint:flex mint:items-center mint:py-2 mint:gap-2 mint:text-sm mint:no-underline mint:text-[#424242] mint:dark:text-[#
|
|
279
|
+
className: "mint:flex mint:items-center mint:py-2 mint:gap-2 mint:text-sm mint:no-underline mint:text-[#424242] mint:dark:text-[#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",
|
|
265
280
|
children: [
|
|
266
|
-
/* @__PURE__ */
|
|
267
|
-
/* @__PURE__ */
|
|
281
|
+
/* @__PURE__ */ n(f, { className: "mint:w-5 mint:h-5 mint:shrink-0" }),
|
|
282
|
+
/* @__PURE__ */ n("span", { children: e.label })
|
|
268
283
|
]
|
|
269
284
|
},
|
|
270
285
|
d
|
|
@@ -278,6 +293,6 @@ function F({
|
|
|
278
293
|
);
|
|
279
294
|
}
|
|
280
295
|
export {
|
|
281
|
-
|
|
296
|
+
H as NavTree
|
|
282
297
|
};
|
|
283
298
|
//# sourceMappingURL=index.js.map
|