ardo 3.3.0 → 3.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/dist/{DocPage-B0Fr09xS.js → DocPage-Dy7OrCP2.js} +21 -19
  2. package/dist/DocPage-Dy7OrCP2.js.map +1 -0
  3. package/dist/assets/src/ui/{DocPage.css.ts.vanilla-BzG5Z7uL.css → DocPage.css.ts.vanilla-CWL92vUE.css} +8 -19
  4. package/dist/assets/src/ui/ErrorBoundary.css.ts.vanilla-C4usIU4z.css +112 -0
  5. package/dist/assets/src/ui/{Footer.css.ts.vanilla-YkYGSrJ5.css → Footer.css.ts.vanilla-DGTyff5Y.css} +39 -17
  6. package/dist/assets/src/ui/{Header.css.ts.vanilla-DoHPoq3b.css → Header.css.ts.vanilla-DEcLj8r0.css} +27 -45
  7. package/dist/assets/src/ui/{Layout.css.ts.vanilla-C7TVummJ.css → Layout.css.ts.vanilla-ClOa1YZm.css} +0 -3
  8. package/dist/assets/src/ui/{Sidebar.css.ts.vanilla-PyKaHp0J.css → Sidebar.css.ts.vanilla-IxNEQEBv.css} +57 -31
  9. package/dist/assets/src/ui/{Toc.css.ts.vanilla-Py3sLE1P.css → Toc.css.ts.vanilla-CQbpEdTg.css} +5 -5
  10. package/dist/assets/src/ui/components/{CodeBlock.css.ts.vanilla-DL4KE8dp.css → CodeBlock.css.ts.vanilla-BxDJ2gKc.css} +14 -12
  11. package/dist/assets/src/ui/components/{CopyButton.css.ts.vanilla-DSjVT6G0.css → CopyButton.css.ts.vanilla-CO2awD6S.css} +4 -5
  12. package/dist/assets/src/ui/components/HeaderSearch.css.ts.vanilla-KAo_Mlc-.css +68 -0
  13. package/dist/assets/src/ui/components/{Search.css.ts.vanilla-CX2EM6hW.css → Search.css.ts.vanilla-NQZH1eLo.css} +17 -6
  14. package/dist/assets/src/ui/theme/{dark.css.ts.vanilla-C40AfyaZ.css → dark.css.ts.vanilla-CQef5pk2.css} +11 -7
  15. package/dist/assets/src/ui/theme/{light.css.ts.vanilla-D0oxKOX2.css → light.css.ts.vanilla-D8gxaS1c.css} +11 -7
  16. package/dist/{brand-icons-DLJKqTun.js → brand-icons-Di8w0Nu9.js} +1 -1
  17. package/dist/{brand-icons-DLJKqTun.js.map → brand-icons-Di8w0Nu9.js.map} +1 -1
  18. package/dist/config/index.d.ts +1 -1
  19. package/dist/{contract.css-ZxmDpwAM.d.ts → contract.css-qPyk_asd.d.ts} +5 -1
  20. package/dist/contract.css-qPyk_asd.d.ts.map +1 -0
  21. package/dist/{generator-DX0PP1xf.js → generator-CYSyo4Vz.js} +7 -6
  22. package/dist/generator-CYSyo4Vz.js.map +1 -0
  23. package/dist/icons/index.js +1 -1
  24. package/dist/{index-CWfXolzQ.d.ts → index-BcekgOfA.d.ts} +68 -7
  25. package/dist/index-BcekgOfA.d.ts.map +1 -0
  26. package/dist/{index-BNKprp9_.d.ts → index-CuMTHUxX.d.ts} +8 -2
  27. package/dist/index-CuMTHUxX.d.ts.map +1 -0
  28. package/dist/index.d.ts +3 -3
  29. package/dist/index.js +3 -3
  30. package/dist/mdx/provider.js +1 -1
  31. package/dist/runtime/index.d.ts +1 -1
  32. package/dist/runtime/index.js +1 -1
  33. package/dist/{sidebar-utils-1Skqle1Q.js → sidebar-utils-C06DJsx4.js} +15 -4
  34. package/dist/sidebar-utils-C06DJsx4.js.map +1 -0
  35. package/dist/theme/index.d.ts +16 -4
  36. package/dist/theme/index.d.ts.map +1 -1
  37. package/dist/theme/index.js +46 -23
  38. package/dist/theme/index.js.map +1 -1
  39. package/dist/typedoc/components/index.d.ts +1 -1
  40. package/dist/typedoc/index.d.ts +1 -1
  41. package/dist/typedoc/index.d.ts.map +1 -1
  42. package/dist/typedoc/index.js +1 -1
  43. package/dist/{types-Do3OQY8G.d.ts → types-B75OhnGa.d.ts} +13 -2
  44. package/dist/types-B75OhnGa.d.ts.map +1 -0
  45. package/dist/{types-DvGYhH63.d.ts → types-Ck2Vm7NB.d.ts} +2 -2
  46. package/dist/{types-DvGYhH63.d.ts.map → types-Ck2Vm7NB.d.ts.map} +1 -1
  47. package/dist/ui/index.d.ts +2 -2
  48. package/dist/ui/index.js +3 -3
  49. package/dist/ui/styles.css +342 -306
  50. package/dist/ui/styles.js +11 -11
  51. package/dist/{ui-BzUIfYJm.js → ui-AGPGBunC.js} +584 -276
  52. package/dist/ui-AGPGBunC.js.map +1 -0
  53. package/dist/vite/index.d.ts +1 -1
  54. package/dist/vite/index.d.ts.map +1 -1
  55. package/dist/vite/index.js +165 -24
  56. package/dist/vite/index.js.map +1 -1
  57. package/package.json +13 -13
  58. package/dist/DocPage-B0Fr09xS.js.map +0 -1
  59. package/dist/contract.css-ZxmDpwAM.d.ts.map +0 -1
  60. package/dist/generator-DX0PP1xf.js.map +0 -1
  61. package/dist/index-BNKprp9_.d.ts.map +0 -1
  62. package/dist/index-CWfXolzQ.d.ts.map +0 -1
  63. package/dist/sidebar-utils-1Skqle1Q.js.map +0 -1
  64. package/dist/types-Do3OQY8G.d.ts.map +0 -1
  65. package/dist/ui-BzUIfYJm.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { a as PageData, c as ResolvedConfig, d as SocialLink, f as SponsorConfig, i as NavItem, l as SidebarConfig, m as TypeDocConfig, n as HeadConfig, o as PageFrontmatter, p as TOCItem, r as MarkdownConfig, s as ProjectMeta, t as ArdoConfig, u as SidebarItem } from "../types-Do3OQY8G.js";
1
+ import { a as NavItem, c as ProjectMeta, d as SidebarItem, f as SocialLink, h as TypeDocConfig, i as MarkdownConfig, l as ResolvedConfig, m as TOCItem, o as PageData, p as SponsorConfig, r as HeadConfig, s as PageFrontmatter, t as ArdoConfig, u as SidebarConfig } from "../types-B75OhnGa.js";
2
2
 
3
3
  //#region src/config/index.d.ts
4
4
  declare function defineConfig(config: ArdoConfig): ArdoConfig;
@@ -6,6 +6,10 @@ declare const vars: {
6
6
  brandDark: `var(--${string})`;
7
7
  brandSubtle: `var(--${string})`;
8
8
  brandGradient: `var(--${string})`;
9
+ accent: `var(--${string})`;
10
+ accentLight: `var(--${string})`;
11
+ accentDark: `var(--${string})`;
12
+ accentSubtle: `var(--${string})`;
9
13
  bg: `var(--${string})`;
10
14
  bgSoft: `var(--${string})`;
11
15
  bgMute: `var(--${string})`;
@@ -102,4 +106,4 @@ declare const vars: {
102
106
  };
103
107
  //#endregion
104
108
  export { vars as t };
105
- //# sourceMappingURL=contract.css-ZxmDpwAM.d.ts.map
109
+ //# sourceMappingURL=contract.css-qPyk_asd.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract.css-qPyk_asd.d.ts","names":[],"sources":["../src/ui/theme/contract.css.ts"],"mappings":";cAIa,IAAA"}
@@ -222,7 +222,7 @@ function createComponentsIndexPage(context, components) {
222
222
  title: "Components"
223
223
  }),
224
224
  frontmatter: {
225
- sidebar: false,
225
+ sidebar: "leaf",
226
226
  title: "Components"
227
227
  },
228
228
  path: "components/index.md"
@@ -239,7 +239,7 @@ function createInterfacesIndexPage(context, standaloneItems) {
239
239
  title: "Interfaces"
240
240
  }),
241
241
  frontmatter: {
242
- sidebar: false,
242
+ sidebar: "leaf",
243
243
  title: "Interfaces"
244
244
  },
245
245
  path: "interfaces/index.md"
@@ -256,7 +256,7 @@ function createClassesIndexPage(context, standaloneItems) {
256
256
  title: "Classes"
257
257
  }),
258
258
  frontmatter: {
259
- sidebar: false,
259
+ sidebar: "leaf",
260
260
  title: "Classes"
261
261
  },
262
262
  path: "classes/index.md"
@@ -285,7 +285,7 @@ function createFunctionsIndexPage(context, functionsByFile) {
285
285
  title: "Functions"
286
286
  }),
287
287
  frontmatter: {
288
- sidebar: false,
288
+ sidebar: "leaf",
289
289
  title: "Functions"
290
290
  },
291
291
  path: "functions/index.md"
@@ -302,7 +302,7 @@ function createTypesIndexPage(context, typesByFile) {
302
302
  title: "Types"
303
303
  }),
304
304
  frontmatter: {
305
- sidebar: false,
305
+ sidebar: "leaf",
306
306
  title: "Types"
307
307
  },
308
308
  path: "types/index.md"
@@ -1182,6 +1182,7 @@ function createFrontmatter(doc) {
1182
1182
  if (doc.frontmatter.description != null && doc.frontmatter.description.length > 0) lines.push(`description: ${doc.frontmatter.description}`);
1183
1183
  if (doc.frontmatter.sidebar_position != null) lines.push(`sidebar_position: ${doc.frontmatter.sidebar_position}`);
1184
1184
  if (doc.frontmatter.sidebar === false) lines.push("sidebar: false");
1185
+ else if (doc.frontmatter.sidebar === "leaf") lines.push("sidebar: leaf");
1185
1186
  lines.push("---", "");
1186
1187
  return `${lines.join("\n")}\n`;
1187
1188
  }
@@ -1191,4 +1192,4 @@ async function generateApiDocs(config, outputDir) {
1191
1192
  //#endregion
1192
1193
  export { generateApiDocs as n, TypeDocGenerator as t };
1193
1194
 
1194
- //# sourceMappingURL=generator-DX0PP1xf.js.map
1195
+ //# sourceMappingURL=generator-CYSyo4Vz.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator-CYSyo4Vz.js","names":["appendExamples","appendSourceLink"],"sources":["../src/typedoc/generator-config.ts","../src/typedoc/generator-shared.ts","../src/typedoc/generator-pages-categories.ts","../src/typedoc/generator-render-component.ts","../src/typedoc/generator-pages-components.ts","../src/typedoc/generator-render.ts","../src/typedoc/generator-pages-grouped.ts","../src/typedoc/generator-pages-index.ts","../src/typedoc/generator-reflection-tags.ts","../src/typedoc/generator-reflection.ts","../src/typedoc/generator-docs.ts","../src/typedoc/generator.ts"],"sourcesContent":["import type { ProjectReflection } from \"typedoc\"\n\nimport type { TypeDocConfig } from \"./types\"\n\nexport type ResolvedTypeDocConfig = {\n out: string\n sidebar: {\n title: string\n position: number\n collapsed: boolean\n }\n markdown: {\n breadcrumbs: boolean\n hierarchy: boolean\n sourceLinks: boolean\n codeBlocks: boolean\n sourceBaseUrl?: string\n }\n} & Omit<TypeDocConfig, \"markdown\" | \"out\" | \"sidebar\">\n\nexport type TypeDocRuntimeContext = {\n basePath: string\n config: ResolvedTypeDocConfig\n packageNameCache: Map<string, string | undefined>\n project: ProjectReflection\n}\n\nexport function resolveTypeDocConfig(config: TypeDocConfig): ResolvedTypeDocConfig {\n const sidebar = resolveSidebarConfig(config.sidebar)\n const markdown = resolveMarkdownConfig(config.markdown)\n\n return {\n ...config,\n excludeExternals: withDefault(config.excludeExternals, true),\n excludeInternal: withDefault(config.excludeInternal, true),\n excludePrivate: withDefault(config.excludePrivate, true),\n excludeProtected: withDefault(config.excludeProtected, false),\n markdown,\n out: withDefault(config.out, \"api\"),\n sidebar,\n sort: withDefault(config.sort, [\"source-order\"]),\n }\n}\n\nexport function getTypedocOptions(config: ResolvedTypeDocConfig): Record<string, unknown> {\n const options: Record<string, unknown> = {\n entryPoints: config.entryPoints,\n excludeExternals: config.excludeExternals,\n excludeInternal: config.excludeInternal,\n excludePrivate: config.excludePrivate,\n excludeProtected: config.excludeProtected,\n sort: config.sort,\n tsconfig: config.tsconfig,\n }\n\n applyOptionalOption(options, \"exclude\", config.exclude)\n applyOptionalOption(options, \"categoryOrder\", config.categoryOrder)\n applyOptionalOption(options, \"groupOrder\", config.groupOrder)\n applyOptionalOption(options, \"plugin\", config.plugin)\n applyOptionalOption(options, \"readme\", config.readme)\n\n return options\n}\n\nfunction applyOptionalOption(\n options: Record<string, unknown>,\n key: string,\n value: null | string | string[] | undefined\n): void {\n if (value != null) {\n options[key] = value\n }\n}\n\nfunction withDefault<T>(value: T | undefined, fallback: T): T {\n return value ?? fallback\n}\n\nfunction resolveSidebarConfig(sidebar: TypeDocConfig[\"sidebar\"]): ResolvedTypeDocConfig[\"sidebar\"] {\n return {\n collapsed: withDefault(sidebar?.collapsed, false),\n position: withDefault(sidebar?.position, 100),\n title: withDefault(sidebar?.title, \"API Reference\"),\n }\n}\n\nfunction resolveMarkdownConfig(\n markdown: TypeDocConfig[\"markdown\"]\n): ResolvedTypeDocConfig[\"markdown\"] {\n return {\n breadcrumbs: withDefault(markdown?.breadcrumbs, true),\n codeBlocks: withDefault(markdown?.codeBlocks, true),\n hierarchy: withDefault(markdown?.hierarchy, true),\n sourceBaseUrl: markdown?.sourceBaseUrl,\n sourceLinks: withDefault(markdown?.sourceLinks, true),\n }\n}\n","import { type DeclarationReflection, type ProjectReflection, ReflectionKind } from \"typedoc\"\n\nexport type GroupedReflections = {\n componentItems: DeclarationReflection[]\n functionsByFile: Map<string, DeclarationReflection[]>\n standaloneItems: DeclarationReflection[]\n typesByFile: Map<string, DeclarationReflection[]>\n}\n\nexport type ReflectionNavigation = {\n next: DeclarationReflection | null\n prev: DeclarationReflection | null\n}\n\nexport type ComponentProp = {\n description: string\n name: string\n optional: boolean\n type: string\n}\n\nexport type CommentPart = {\n kind: string\n text: string\n}\n\nexport function groupProjectChildren(\n project: ProjectReflection,\n isComponentName: (name: string) => boolean\n): GroupedReflections {\n const grouped: GroupedReflections = {\n componentItems: [],\n functionsByFile: new Map<string, DeclarationReflection[]>(),\n standaloneItems: [],\n typesByFile: new Map<string, DeclarationReflection[]>(),\n }\n\n const children = project.children ?? []\n for (const child of children) {\n if (appendFunctionReflection(grouped, child, isComponentName)) {\n continue\n }\n if (appendTypeAliasReflection(grouped, child)) {\n continue\n }\n grouped.standaloneItems.push(child)\n }\n\n return grouped\n}\n\nfunction appendFunctionReflection(\n grouped: GroupedReflections,\n child: DeclarationReflection,\n isComponentName: (name: string) => boolean\n): boolean {\n const sourceFile = child.sources?.[0]?.fileName\n if (child.kind !== ReflectionKind.Function || sourceFile == null) {\n return false\n }\n\n if (isComponentName(child.name)) {\n grouped.componentItems.push(child)\n return true\n }\n\n appendToMapList(grouped.functionsByFile, sourceFile, child)\n return true\n}\n\nfunction appendTypeAliasReflection(\n grouped: GroupedReflections,\n child: DeclarationReflection\n): boolean {\n const sourceFile = child.sources?.[0]?.fileName\n if (child.kind !== ReflectionKind.TypeAlias || sourceFile == null) {\n return false\n }\n\n appendToMapList(grouped.typesByFile, sourceFile, child)\n return true\n}\n\nexport function appendToMapList<T>(map: Map<string, T[]>, key: string, item: T): void {\n const items = map.get(key) ?? []\n items.push(item)\n map.set(key, items)\n}\n\nexport function sortReflectionsByName<T extends { name: string }>(items: T[]): T[] {\n return [...items].sort((left, right) => left.name.localeCompare(right.name))\n}\n\nexport function getModuleNameFromPath(\n filePath: string,\n packageNameCache: Map<string, string | undefined>\n): string {\n const parts = filePath.split(\"/\")\n const filePart = parts.pop() ?? filePath\n const basename = filePart.replace(/\\.(?:ts|tsx|js|jsx)$/u, \"\")\n const parent = parts.pop()\n\n if (parent != null && parent !== \"src\") {\n return `${parent}/${basename}`\n }\n\n if (basename === \"index\") {\n for (const packageName of packageNameCache.values()) {\n if (packageName != null && packageName.length > 0) {\n return packageName\n }\n }\n }\n\n return basename\n}\n\nexport function renderComment(parts: CommentPart[]): string {\n return parts.map((part) => part.text).join(\"\")\n}\n\nexport function renderCommentShort(parts: CommentPart[]): string {\n const text = renderComment(parts)\n const firstSentence = text.split(/[!.?]\\s/u)[0]\n if (firstSentence.length < text.length) {\n return `${firstSentence}.`\n }\n return text\n}\n\nexport function getSlug(name: string): string {\n return name\n .toLowerCase()\n .replaceAll(/[^\\da-z]+/gu, \"-\")\n .replaceAll(/^-|-$/gu, \"\")\n}\n\nexport function buildLink(basePath: string, category: string, slug: string): string {\n if (slug === \"index\") {\n return `${basePath}/${category}`\n }\n return `${basePath}/${category}/${slug}`\n}\n\nexport function getSourceUrl(\n sourceBaseUrl: string | undefined,\n fileName: string,\n line: number\n): null | string {\n if (sourceBaseUrl == null || sourceBaseUrl.length === 0) {\n return null\n }\n const baseUrl = sourceBaseUrl.replace(/\\/$/u, \"\")\n return `${baseUrl}/${fileName}#L${line}`\n}\n\nexport function getKindName(kind: ReflectionKind): string {\n const kindNames: Partial<Record<ReflectionKind, string>> = {\n [ReflectionKind.Project]: \"Project\",\n [ReflectionKind.Module]: \"Module\",\n [ReflectionKind.Namespace]: \"Namespace\",\n [ReflectionKind.Enum]: \"Enum\",\n [ReflectionKind.EnumMember]: \"Enum Member\",\n [ReflectionKind.Variable]: \"Variable\",\n [ReflectionKind.Function]: \"Function\",\n [ReflectionKind.Class]: \"Class\",\n [ReflectionKind.Interface]: \"Interface\",\n [ReflectionKind.Constructor]: \"Constructor\",\n [ReflectionKind.Property]: \"Property\",\n [ReflectionKind.Method]: \"Method\",\n [ReflectionKind.TypeAlias]: \"Type\",\n }\n return kindNames[kind] ?? \"Unknown\"\n}\n\nexport function getGroupUrlPrefix(kind: ReflectionKind): string {\n const prefixes: Partial<Record<ReflectionKind, string>> = {\n [ReflectionKind.Enum]: \"enums\",\n [ReflectionKind.Variable]: \"variables\",\n [ReflectionKind.Class]: \"classes\",\n [ReflectionKind.Interface]: \"interfaces\",\n [ReflectionKind.Namespace]: \"namespaces\",\n [ReflectionKind.Module]: \"modules\",\n }\n return prefixes[kind] ?? \"other\"\n}\n\nexport function getKindGroupName(kind: ReflectionKind, name: string): string {\n if (kind === ReflectionKind.Function) {\n if (name.startsWith(\"use\")) {\n return \"React Hooks\"\n }\n if (isReactComponent(name)) {\n return \"React Components\"\n }\n return \"Functions\"\n }\n\n const groupNames: Partial<Record<ReflectionKind, string>> = {\n [ReflectionKind.Class]: \"Classes\",\n [ReflectionKind.Enum]: \"Enums\",\n [ReflectionKind.Interface]: \"Interfaces\",\n [ReflectionKind.TypeAlias]: \"Types\",\n [ReflectionKind.Variable]: \"Variables\",\n }\n\n return groupNames[kind] ?? \"Other\"\n}\n\nexport function isReactComponent(name: string): boolean {\n const first = name.slice(0, 1)\n if (first.length === 0 || first !== first.toUpperCase()) {\n return false\n }\n if (name.includes(\"_\") || name.startsWith(\"use\")) {\n return false\n }\n if (name.endsWith(\"Props\") || name.endsWith(\"Options\") || name.endsWith(\"Config\")) {\n return false\n }\n return true\n}\n\nexport function createBreadcrumbs(basePath: string, pagePath: string): string {\n const parts = pagePath.split(\"/\")\n const breadcrumbs: string[] = [`[API](${basePath})`]\n let currentPath = \"\"\n\n for (const part of parts.slice(0, -1)) {\n currentPath = currentPath.length > 0 ? `${currentPath}/${part}` : part\n breadcrumbs.push(`[${part}](${basePath}/${currentPath})`)\n }\n\n const leaf = parts.at(-1)\n if (leaf != null) {\n breadcrumbs.push(leaf)\n }\n\n return breadcrumbs.join(\" / \")\n}\n\nexport function createNavigationLine(params: {\n basePath: string\n kind: ReflectionKind\n navigation: ReflectionNavigation\n}): null | string {\n const { basePath, kind, navigation } = params\n const prefix = getGroupUrlPrefix(kind)\n const prevLink =\n navigation.prev == null\n ? \"\"\n : `[← ${navigation.prev.name}](${buildLink(basePath, prefix, getSlug(navigation.prev.name))})`\n const nextLink =\n navigation.next == null\n ? \"\"\n : `[${navigation.next.name} →](${buildLink(basePath, prefix, getSlug(navigation.next.name))})`\n\n if (prevLink.length > 0 && nextLink.length > 0) {\n return `${prevLink} | ${nextLink}`\n }\n\n if (prevLink.length > 0) {\n return prevLink\n }\n\n if (nextLink.length > 0) {\n return nextLink\n }\n\n return null\n}\n","import { type DeclarationReflection, ReflectionKind } from \"typedoc\"\n\nimport type { TypeDocRuntimeContext } from \"./generator-config\"\nimport type { GeneratedApiDoc } from \"./types\"\n\nimport {\n buildLink,\n getModuleNameFromPath,\n getSlug,\n type GroupedReflections,\n renderCommentShort,\n sortReflectionsByName,\n} from \"./generator-shared\"\n\nexport function generateCategoryIndexPages(\n context: TypeDocRuntimeContext,\n grouped: GroupedReflections\n): GeneratedApiDoc[] {\n const pages: GeneratedApiDoc[] = []\n\n pushIfNotNull(pages, createComponentsIndexPage(context, grouped.componentItems))\n pushIfNotNull(pages, createFunctionsIndexPage(context, grouped.functionsByFile))\n pushIfNotNull(pages, createInterfacesIndexPage(context, grouped.standaloneItems))\n pushIfNotNull(pages, createTypesIndexPage(context, grouped.typesByFile))\n pushIfNotNull(pages, createClassesIndexPage(context, grouped.standaloneItems))\n\n return pages\n}\n\nfunction pushIfNotNull(docs: GeneratedApiDoc[], doc: GeneratedApiDoc | null): void {\n if (doc != null) {\n docs.push(doc)\n }\n}\n\nfunction createComponentsIndexPage(\n context: TypeDocRuntimeContext,\n components: DeclarationReflection[]\n): GeneratedApiDoc | null {\n if (components.length === 0) {\n return null\n }\n\n return {\n content: renderSimpleItemIndex({\n basePath: context.basePath,\n category: \"components\",\n items: components,\n title: \"Components\",\n }),\n frontmatter: { sidebar: \"leaf\", title: \"Components\" },\n path: \"components/index.md\",\n }\n}\n\nfunction createInterfacesIndexPage(\n context: TypeDocRuntimeContext,\n standaloneItems: DeclarationReflection[]\n): GeneratedApiDoc | null {\n const interfaces = standaloneItems.filter((item) => item.kind === ReflectionKind.Interface)\n if (interfaces.length === 0) {\n return null\n }\n\n return {\n content: renderSimpleItemIndex({\n basePath: context.basePath,\n category: \"interfaces\",\n items: interfaces,\n title: \"Interfaces\",\n }),\n frontmatter: { sidebar: \"leaf\", title: \"Interfaces\" },\n path: \"interfaces/index.md\",\n }\n}\n\nfunction createClassesIndexPage(\n context: TypeDocRuntimeContext,\n standaloneItems: DeclarationReflection[]\n): GeneratedApiDoc | null {\n const classes = standaloneItems.filter((item) => item.kind === ReflectionKind.Class)\n if (classes.length === 0) {\n return null\n }\n\n return {\n content: renderSimpleItemIndex({\n basePath: context.basePath,\n category: \"classes\",\n items: classes,\n title: \"Classes\",\n }),\n frontmatter: { sidebar: \"leaf\", title: \"Classes\" },\n path: \"classes/index.md\",\n }\n}\n\nfunction renderSimpleItemIndex(params: {\n basePath: string\n category: string\n items: DeclarationReflection[]\n title: string\n}): string {\n const lines: string[] = [`# ${params.title}`, \"\"]\n const sortedItems = sortReflectionsByName(params.items)\n\n for (const item of sortedItems) {\n const summary = item.comment?.summary\n const description = summary == null ? \"\" : ` - ${renderCommentShort(summary)}`\n const link = buildLink(params.basePath, params.category, getSlug(item.name))\n lines.push(`- [${item.name}](${link})${description}`)\n }\n\n lines.push(\"\")\n return lines.join(\"\\n\")\n}\n\nfunction createFunctionsIndexPage(\n context: TypeDocRuntimeContext,\n functionsByFile: Map<string, DeclarationReflection[]>\n): GeneratedApiDoc | null {\n if (functionsByFile.size === 0) {\n return null\n }\n\n return {\n content: renderModuleIndex({\n basePath: context.basePath,\n category: \"functions\",\n modules: functionsByFile,\n packageNameCache: context.packageNameCache,\n title: \"Functions\",\n }),\n frontmatter: { sidebar: \"leaf\", title: \"Functions\" },\n path: \"functions/index.md\",\n }\n}\n\nfunction createTypesIndexPage(\n context: TypeDocRuntimeContext,\n typesByFile: Map<string, DeclarationReflection[]>\n): GeneratedApiDoc | null {\n if (typesByFile.size === 0) {\n return null\n }\n\n return {\n content: renderModuleIndex({\n basePath: context.basePath,\n category: \"types\",\n modules: typesByFile,\n packageNameCache: context.packageNameCache,\n title: \"Types\",\n }),\n frontmatter: { sidebar: \"leaf\", title: \"Types\" },\n path: \"types/index.md\",\n }\n}\n\nfunction renderModuleIndex(params: {\n basePath: string\n category: string\n modules: Map<string, DeclarationReflection[]>\n packageNameCache: Map<string, string | undefined>\n title: string\n}): string {\n const lines: string[] = [`# ${params.title}`, \"\"]\n const sortedModules = [...params.modules.entries()].sort(([left], [right]) => {\n const leftName = getModuleNameFromPath(left, params.packageNameCache)\n const rightName = getModuleNameFromPath(right, params.packageNameCache)\n return leftName.localeCompare(rightName)\n })\n\n for (const [sourceFile, items] of sortedModules) {\n const moduleName = getModuleNameFromPath(sourceFile, params.packageNameCache)\n const slug = getSlug(moduleName)\n const itemNames = items\n .map((item) => item.name)\n .sort()\n .join(\", \")\n lines.push(\n `- [${moduleName}](${buildLink(params.basePath, params.category, slug)}) - ${itemNames}`\n )\n }\n\n lines.push(\"\")\n return lines.join(\"\\n\")\n}\n","import { DeclarationReflection, type SignatureReflection } from \"typedoc\"\n\nimport type { TypeDocRuntimeContext } from \"./generator-config\"\n\nimport { buildLink, type ComponentProp, getSlug, renderCommentShort } from \"./generator-shared\"\n\nexport function getTypeName(paramType: unknown): null | string {\n if (!isRecord(paramType)) {\n return null\n }\n\n if (typeof paramType.name === \"string\" && paramType.name.length > 0) {\n return paramType.name\n }\n\n if (paramType.type !== \"reference\") {\n return null\n }\n\n if (typeof paramType.qualifiedName === \"string\" && paramType.qualifiedName.length > 0) {\n return paramType.qualifiedName\n }\n\n return null\n}\n\nexport function getPropsFromType(\n context: TypeDocRuntimeContext,\n paramType: unknown\n): ComponentProp[] {\n const inlineProps = getInlineDeclarationProps(paramType)\n if (inlineProps.length > 0) {\n return inlineProps\n }\n\n const typeName = getTypeName(paramType)\n if (typeName == null) {\n return []\n }\n\n const reflection = findReflectionByName(context, typeName)\n if (reflection == null) {\n return []\n }\n\n return extractPropsFromChildren(reflection.children ?? [])\n}\n\nfunction getInlineDeclarationProps(paramType: unknown): ComponentProp[] {\n if (!isRecord(paramType)) {\n return []\n }\n\n const declaration = paramType.declaration\n if (declaration == null) {\n return []\n }\n\n return declaration instanceof DeclarationReflection\n ? extractPropsFromChildren(declaration.children ?? [])\n : []\n}\n\nfunction findReflectionByName(\n context: TypeDocRuntimeContext,\n typeName: string\n): DeclarationReflection | null {\n const direct = context.project.getChildByName(typeName)\n if (direct instanceof DeclarationReflection) {\n return direct\n }\n\n const children = context.project.children ?? []\n for (const child of children) {\n if (child.name === typeName) {\n return child\n }\n }\n\n return null\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return value != null && typeof value === \"object\"\n}\n\nfunction extractPropsFromChildren(children: DeclarationReflection[]): ComponentProp[] {\n return children.map((child) => ({\n description: child.comment?.summary == null ? \"\" : renderCommentShort(child.comment.summary),\n name: child.name,\n optional: child.flags.isOptional,\n type: child.type == null ? \"unknown\" : child.type.toString(),\n }))\n}\n\nexport function renderComponentSignature(\n context: TypeDocRuntimeContext,\n signature: SignatureReflection,\n componentName: string\n): string {\n const lines: string[] = []\n const propsParam = signature.parameters?.[0]\n const props = propsParam == null ? [] : getPropsFromType(context, propsParam.type)\n const propsTypeName = propsParam == null ? null : getTypeName(propsParam.type)\n\n appendComponentUsageBlock(lines, componentName, props)\n appendComponentPropsTable({\n context,\n lines,\n props,\n propsTypeName,\n })\n\n return lines.join(\"\\n\")\n}\n\nfunction appendComponentUsageBlock(\n lines: string[],\n componentName: string,\n props: ComponentProp[]\n): void {\n const hasChildren = props.some((prop) => prop.name === \"children\")\n const displayProps = props.filter((prop) => prop.name !== \"children\")\n\n lines.push(\"```tsx\")\n lines.push(`<${componentName}`)\n\n if (displayProps.length > 0) {\n for (const prop of displayProps) {\n const optionalMark = prop.optional ? \"?\" : \"\"\n lines.push(` ${prop.name}${optionalMark}={${prop.type}}`)\n }\n } else if (!hasChildren) {\n lines.push(\" {...props}\")\n }\n\n if (hasChildren) {\n lines.push(\">\")\n lines.push(\" {children}\")\n lines.push(`</${componentName}>`)\n } else {\n lines.push(\"/>\")\n }\n\n lines.push(\"```\")\n}\n\nfunction appendComponentPropsTable(params: {\n context: TypeDocRuntimeContext\n lines: string[]\n props: ComponentProp[]\n propsTypeName: null | string\n}): void {\n const { context, lines, props, propsTypeName } = params\n if (props.length === 0) {\n return\n }\n\n lines.push(\"\")\n lines.push(getPropsHeading(context.basePath, propsTypeName))\n\n lines.push(\"\")\n lines.push(\"| Prop | Type | Required | Description |\")\n lines.push(\"|------|------|----------|-------------|\")\n\n for (const prop of props) {\n const required = prop.optional ? \"No\" : \"Yes\"\n const description = prop.description.length > 0 ? prop.description : \"-\"\n lines.push(`| ${prop.name} | \\`${prop.type}\\` | ${required} | ${description} |`)\n }\n}\n\nfunction getPropsHeading(basePath: string, propsTypeName: null | string): string {\n if (propsTypeName == null) {\n return \"## Props\"\n }\n\n const propsSlug = getSlug(propsTypeName)\n const propsLink = buildLink(basePath, \"interfaces\", propsSlug)\n return `## [Props](${propsLink})`\n}\n","import type { DeclarationReflection } from \"typedoc\"\n\nimport type { TypeDocRuntimeContext } from \"./generator-config\"\nimport type { GeneratedApiDoc } from \"./types\"\n\nimport { renderComponentSignature } from \"./generator-render-component\"\nimport {\n createNavigationLine,\n getSlug,\n getSourceUrl,\n type ReflectionNavigation,\n renderComment,\n renderCommentShort,\n} from \"./generator-shared\"\n\nexport function generateComponentPage(params: {\n component: DeclarationReflection\n context: TypeDocRuntimeContext\n navigation: ReflectionNavigation\n}): GeneratedApiDoc {\n const { component, context, navigation } = params\n const slug = getSlug(component.name)\n const content = createComponentContent(context, component, navigation)\n\n return {\n content,\n frontmatter: {\n description:\n component.comment?.summary == null\n ? `${component.name} component`\n : renderCommentShort(component.comment.summary),\n title: component.name,\n },\n path: `components/${slug}.md`,\n }\n}\n\nfunction createComponentContent(\n context: TypeDocRuntimeContext,\n component: DeclarationReflection,\n navigation: ReflectionNavigation\n): string {\n const lines: string[] = [`# ${component.name}`, \"\"]\n\n const summary = component.comment?.summary\n if (summary != null) {\n lines.push(renderComment(summary))\n lines.push(\"\")\n }\n\n appendComponentUsage(lines, context, component)\n appendExamples(lines, component)\n appendSourceLink(lines, context, component)\n appendComponentNavigation({\n component,\n context,\n lines,\n navigation,\n })\n\n return lines.join(\"\\n\")\n}\n\nfunction appendComponentUsage(\n lines: string[],\n context: TypeDocRuntimeContext,\n component: DeclarationReflection\n): void {\n const signatures = component.signatures ?? []\n if (signatures.length === 0) {\n return\n }\n\n lines.push(\"## Usage\")\n lines.push(\"\")\n\n for (const signature of signatures) {\n lines.push(renderComponentSignature(context, signature, component.name))\n lines.push(\"\")\n }\n}\n\nfunction appendExamples(lines: string[], reflection: DeclarationReflection): void {\n const tags = reflection.comment?.blockTags ?? []\n const examples = tags.filter((tag) => tag.tag === \"@example\")\n if (examples.length === 0) {\n return\n }\n\n lines.push(\"## Example\")\n lines.push(\"\")\n\n for (const example of examples) {\n lines.push(renderComment(example.content))\n lines.push(\"\")\n }\n}\n\nfunction appendSourceLink(\n lines: string[],\n context: TypeDocRuntimeContext,\n reflection: DeclarationReflection\n): void {\n if (!context.config.markdown.sourceLinks) {\n return\n }\n\n const source = reflection.sources?.[0]\n if (source == null) {\n return\n }\n\n const sourceUrl = getSourceUrl(\n context.config.markdown.sourceBaseUrl,\n source.fileName,\n source.line\n )\n if (sourceUrl == null) {\n return\n }\n\n lines.push(`[Source](${sourceUrl})`)\n lines.push(\"\")\n}\n\nfunction appendComponentNavigation(params: {\n component: DeclarationReflection\n context: TypeDocRuntimeContext\n lines: string[]\n navigation: ReflectionNavigation\n}): void {\n const { component, context, lines, navigation } = params\n const line = createNavigationLine({\n basePath: context.basePath,\n kind: component.kind,\n navigation,\n })\n\n if (line == null) {\n return\n }\n\n lines.push(\"---\")\n lines.push(\"\")\n lines.push(line)\n lines.push(\"\")\n}\n","import type {\n DeclarationReflection,\n ParameterReflection,\n SignatureReflection,\n TypeParameterReflection,\n} from \"typedoc\"\n\nimport type { TypeDocRuntimeContext } from \"./generator-config\"\n\nimport { renderComment, renderCommentShort } from \"./generator-shared\"\n\nexport function renderSignature(\n context: TypeDocRuntimeContext,\n signature: SignatureReflection\n): string {\n const lines: string[] = []\n\n appendCodeFenceStart(lines, context)\n lines.push(getSignatureLine(signature))\n appendCodeFenceEnd(lines, context)\n appendSignatureParameters(lines, signature)\n appendSignatureReturn(lines, signature)\n\n return lines.join(\"\\n\")\n}\n\nfunction appendCodeFenceStart(lines: string[], context: TypeDocRuntimeContext): void {\n if (context.config.markdown.codeBlocks) {\n lines.push(\"```typescript\")\n }\n}\n\nfunction appendCodeFenceEnd(lines: string[], context: TypeDocRuntimeContext): void {\n if (context.config.markdown.codeBlocks) {\n lines.push(\"```\")\n }\n}\n\nfunction getSignatureLine(signature: SignatureReflection): string {\n const typeParameters = renderTypeParameterNames(signature.typeParameters)\n const parameters = renderSignatureParameters(signature)\n const returnType = signature.type == null ? \"\" : `: ${signature.type.toString()}`\n return `function ${signature.name}${typeParameters}(${parameters})${returnType}`\n}\n\nfunction renderTypeParameterNames(typeParameters: SignatureReflection[\"typeParameters\"]): string {\n if (typeParameters == null || typeParameters.length === 0) {\n return \"\"\n }\n return `<${typeParameters.map((item) => item.name).join(\", \")}>`\n}\n\nfunction renderSignatureParameters(signature: SignatureReflection): string {\n const parameters = signature.parameters ?? []\n return parameters\n .map((parameter) => {\n const optional = parameter.flags.isOptional ? \"?\" : \"\"\n const type = parameter.type == null ? \"\" : `: ${parameter.type.toString()}`\n return `${parameter.name}${optional}${type}`\n })\n .join(\", \")\n}\n\nfunction appendSignatureParameters(lines: string[], signature: SignatureReflection): void {\n const parameters = signature.parameters ?? []\n if (parameters.length === 0) {\n return\n }\n\n lines.push(\"\")\n lines.push(\"### Parameters\")\n lines.push(\"\")\n lines.push(\"| Name | Type | Description |\")\n lines.push(\"|------|------|-------------|\")\n\n for (const parameter of parameters) {\n lines.push(renderSignatureParameterRow(parameter))\n }\n}\n\nfunction renderSignatureParameterRow(parameter: ParameterReflection): string {\n const optional = parameter.flags.isOptional ? \" (optional)\" : \"\"\n const type = parameter.type == null ? \"-\" : `\\`${parameter.type.toString()}\\``\n const summary = parameter.comment?.summary\n const description = summary == null ? \"-\" : renderCommentShort(summary)\n return `| ${parameter.name}${optional} | ${type} | ${description} |`\n}\n\nfunction appendSignatureReturn(lines: string[], signature: SignatureReflection): void {\n const returnType = signature.type\n if (returnType == null || returnType.toString() === \"void\") {\n return\n }\n\n lines.push(\"\")\n lines.push(\"### Returns\")\n lines.push(\"\")\n lines.push(`\\`${returnType.toString()}\\``)\n\n const returnTag = signature.comment?.blockTags.find((tag) => tag.tag === \"@returns\")\n if (returnTag == null) {\n return\n }\n\n lines.push(\"\")\n lines.push(renderComment(returnTag.content))\n}\n\nexport function renderProperty(property: DeclarationReflection): string {\n const lines: string[] = []\n const flags = getPropertyFlags(property)\n\n lines.push(`### ${property.name}`)\n if (flags.length > 0) {\n lines.push(`*${flags.join(\", \")}*`)\n }\n lines.push(\"\")\n\n appendPropertyType(lines, property)\n appendPropertySummary(lines, property)\n appendPropertyDefaultValue(lines, property)\n\n return lines.join(\"\\n\")\n}\n\nfunction getPropertyFlags(property: DeclarationReflection): string[] {\n const flags: string[] = []\n if (property.flags.isOptional) flags.push(\"optional\")\n if (property.flags.isReadonly) flags.push(\"readonly\")\n if (property.flags.isStatic) flags.push(\"static\")\n return flags\n}\n\nfunction appendPropertyType(lines: string[], property: DeclarationReflection): void {\n if (property.type == null) {\n return\n }\n lines.push(\"```typescript\")\n lines.push(`${property.name}: ${property.type.toString()}`)\n lines.push(\"```\")\n lines.push(\"\")\n}\n\nfunction appendPropertySummary(lines: string[], property: DeclarationReflection): void {\n const summary = property.comment?.summary\n if (summary != null) {\n lines.push(renderComment(summary))\n }\n}\n\nfunction appendPropertyDefaultValue(lines: string[], property: DeclarationReflection): void {\n if (property.defaultValue == null || property.defaultValue.length === 0) {\n return\n }\n lines.push(\"\")\n lines.push(`**Default:** \\`${property.defaultValue}\\``)\n}\n\nexport function renderMethod(\n context: TypeDocRuntimeContext,\n method: DeclarationReflection\n): string {\n const lines: string[] = []\n lines.push(`### ${method.name}()`)\n lines.push(\"\")\n\n const signatures = method.signatures ?? []\n for (const signature of signatures) {\n appendMethodSignature(lines, context, signature)\n }\n\n return lines.join(\"\\n\")\n}\n\nfunction appendMethodSignature(\n lines: string[],\n context: TypeDocRuntimeContext,\n signature: SignatureReflection\n): void {\n const summary = signature.comment?.summary\n if (summary != null) {\n lines.push(renderComment(summary))\n lines.push(\"\")\n }\n\n lines.push(renderSignature(context, signature))\n lines.push(\"\")\n}\n\nexport function renderTypeParameters(typeParameters: TypeParameterReflection[]): string {\n const lines: string[] = []\n lines.push(\"| Name | Constraint | Default | Description |\")\n lines.push(\"|------|------------|---------|-------------|\")\n\n for (const typeParameter of typeParameters) {\n lines.push(renderTypeParameterRow(typeParameter))\n }\n\n return lines.join(\"\\n\")\n}\n\nfunction renderTypeParameterRow(typeParameter: TypeParameterReflection): string {\n const constraint = typeParameter.type == null ? \"-\" : `\\`${typeParameter.type.toString()}\\``\n const defaultValue =\n typeParameter.default == null ? \"-\" : `\\`${typeParameter.default.toString()}\\``\n const summary = typeParameter.comment?.summary\n const description = summary == null ? \"-\" : renderCommentShort(summary)\n return `| ${typeParameter.name} | ${constraint} | ${defaultValue} | ${description} |`\n}\n\nexport function renderHierarchy(reflection: DeclarationReflection): null | string {\n const lines: string[] = []\n\n appendHierarchySection(lines, \"**Extends:**\", reflection.extendedTypes)\n appendHierarchySection(lines, \"**Implements:**\", reflection.implementedTypes)\n appendHierarchySection(lines, \"**Extended by:**\", reflection.extendedBy)\n appendHierarchySection(lines, \"**Implemented by:**\", reflection.implementedBy)\n\n return lines.length === 0 ? null : lines.join(\"\\n\")\n}\n\nfunction appendHierarchySection(\n lines: string[],\n title: string,\n types: DeclarationReflection[\"extendedTypes\"]\n): void {\n if (types == null || types.length === 0) {\n return\n }\n\n lines.push(title)\n for (const item of types) {\n lines.push(`- \\`${item.toString()}\\``)\n }\n}\n","import type { DeclarationReflection } from \"typedoc\"\n\nimport type { TypeDocRuntimeContext } from \"./generator-config\"\nimport type { GeneratedApiDoc } from \"./types\"\n\nimport { renderSignature } from \"./generator-render\"\nimport {\n getModuleNameFromPath,\n getSlug,\n getSourceUrl,\n renderComment,\n sortReflectionsByName,\n} from \"./generator-shared\"\n\nexport function generateGroupedFunctionsPage(params: {\n context: TypeDocRuntimeContext\n functions: DeclarationReflection[]\n sourceFile: string\n}): GeneratedApiDoc {\n const { context, functions, sourceFile } = params\n const moduleName = getModuleNameFromPath(sourceFile, context.packageNameCache)\n const content = createGroupedFunctionsContent({\n context,\n functions,\n moduleName,\n sourceFile,\n })\n\n return {\n content,\n frontmatter: {\n description: `Functions from ${sourceFile}`,\n title: `${moduleName} Functions`,\n },\n path: `functions/${getSlug(moduleName)}.md`,\n }\n}\n\nfunction createGroupedFunctionsContent(params: {\n context: TypeDocRuntimeContext\n functions: DeclarationReflection[]\n moduleName: string\n sourceFile: string\n}): string {\n const { context, functions, moduleName, sourceFile } = params\n const lines: string[] = [\n `# ${moduleName} Functions`,\n \"\",\n `Functions exported from \\`${sourceFile}\\``,\n \"\",\n ]\n const sortedFunctions = sortReflectionsByName(functions)\n\n for (const fn of sortedFunctions) {\n appendGroupedFunction(lines, context, fn)\n }\n\n return lines.join(\"\\n\")\n}\n\nfunction appendGroupedFunction(\n lines: string[],\n context: TypeDocRuntimeContext,\n fn: DeclarationReflection\n): void {\n lines.push(`## ${fn.name}`)\n lines.push(\"\")\n\n const summary = fn.comment?.summary\n if (summary != null) {\n lines.push(renderComment(summary))\n lines.push(\"\")\n }\n\n const signatures = fn.signatures ?? []\n for (const signature of signatures) {\n lines.push(renderSignature(context, signature))\n lines.push(\"\")\n }\n\n appendExamples(lines, fn)\n appendSourceLink(lines, context, fn)\n lines.push(\"---\")\n lines.push(\"\")\n}\n\nfunction appendExamples(lines: string[], reflection: DeclarationReflection): void {\n const tags = reflection.comment?.blockTags ?? []\n const examples = tags.filter((tag) => tag.tag === \"@example\")\n if (examples.length === 0) {\n return\n }\n\n lines.push(\"### Example\")\n lines.push(\"\")\n\n for (const example of examples) {\n lines.push(renderComment(example.content))\n lines.push(\"\")\n }\n}\n\nfunction appendSourceLink(\n lines: string[],\n context: TypeDocRuntimeContext,\n reflection: DeclarationReflection\n): void {\n if (!context.config.markdown.sourceLinks) {\n return\n }\n\n const source = reflection.sources?.[0]\n if (source == null) {\n return\n }\n\n const sourceUrl = getSourceUrl(\n context.config.markdown.sourceBaseUrl,\n source.fileName,\n source.line\n )\n if (sourceUrl == null) {\n return\n }\n\n lines.push(`[Source](${sourceUrl})`)\n lines.push(\"\")\n}\n\nexport function generateGroupedTypesPage(params: {\n context: TypeDocRuntimeContext\n sourceFile: string\n types: DeclarationReflection[]\n}): GeneratedApiDoc {\n const { context, sourceFile, types } = params\n const moduleName = getModuleNameFromPath(sourceFile, context.packageNameCache)\n const content = createGroupedTypesContent({\n context,\n moduleName,\n sourceFile,\n types,\n })\n\n return {\n content,\n frontmatter: {\n description: `Type definitions from ${sourceFile}`,\n title: `${moduleName} Types`,\n },\n path: `types/${getSlug(moduleName)}.md`,\n }\n}\n\nfunction createGroupedTypesContent(params: {\n context: TypeDocRuntimeContext\n moduleName: string\n sourceFile: string\n types: DeclarationReflection[]\n}): string {\n const { context, moduleName, sourceFile, types } = params\n const lines: string[] = [\n `# ${moduleName} Types`,\n \"\",\n `Type definitions from \\`${sourceFile}\\``,\n \"\",\n ]\n const sortedTypes = sortReflectionsByName(types)\n\n for (const typeAlias of sortedTypes) {\n appendGroupedType(lines, context, typeAlias)\n }\n\n return lines.join(\"\\n\")\n}\n\nfunction appendGroupedType(\n lines: string[],\n context: TypeDocRuntimeContext,\n typeAlias: DeclarationReflection\n): void {\n lines.push(`## ${typeAlias.name}`)\n lines.push(\"\")\n\n const summary = typeAlias.comment?.summary\n if (summary != null) {\n lines.push(renderComment(summary))\n lines.push(\"\")\n }\n\n if (typeAlias.type != null) {\n lines.push(\"```typescript\")\n lines.push(`type ${typeAlias.name} = ${typeAlias.type.toString()}`)\n lines.push(\"```\")\n lines.push(\"\")\n }\n\n appendSourceLink(lines, context, typeAlias)\n lines.push(\"---\")\n lines.push(\"\")\n}\n","import type { DeclarationReflection } from \"typedoc\"\n\nimport type { TypeDocRuntimeContext } from \"./generator-config\"\nimport type { GeneratedApiDoc } from \"./types\"\n\nimport {\n appendToMapList,\n buildLink,\n getKindGroupName,\n getModuleNameFromPath,\n getSlug,\n type GroupedReflections,\n renderComment,\n renderCommentShort,\n sortReflectionsByName,\n} from \"./generator-shared\"\n\nexport function generateIndexPage(\n context: TypeDocRuntimeContext,\n grouped: GroupedReflections\n): GeneratedApiDoc {\n const lines: string[] = [`# ${context.config.sidebar.title}`, \"\", getProjectSummary(context), \"\"]\n\n appendComponentSection(lines, context, grouped.componentItems)\n appendFunctionsSection(lines, context, grouped.functionsByFile)\n appendTypesSection(lines, context, grouped.typesByFile)\n appendStandaloneSections(lines, context, grouped.standaloneItems)\n\n return {\n content: lines.join(\"\\n\"),\n frontmatter: {\n description: \"Auto-generated API documentation\",\n sidebar_position: 0,\n title: context.config.sidebar.title,\n },\n path: \"index.md\",\n }\n}\n\nfunction getProjectSummary(context: TypeDocRuntimeContext): string {\n const summary = context.project.comment?.summary\n if (summary == null) {\n return \"Auto-generated API documentation.\"\n }\n return renderComment(summary)\n}\n\nfunction appendComponentSection(\n lines: string[],\n context: TypeDocRuntimeContext,\n components: DeclarationReflection[]\n): void {\n if (components.length === 0) {\n return\n }\n\n lines.push(\"## Components\")\n lines.push(\"\")\n\n for (const component of sortReflectionsByName(components)) {\n const description = component.comment?.summary\n const suffix = description == null ? \"\" : ` - ${renderCommentShort(description)}`\n const link = buildLink(context.basePath, \"components\", getSlug(component.name))\n lines.push(`- [${component.name}](${link})${suffix}`)\n }\n\n lines.push(\"\")\n}\n\nfunction appendFunctionsSection(\n lines: string[],\n context: TypeDocRuntimeContext,\n functionsByFile: Map<string, DeclarationReflection[]>\n): void {\n if (functionsByFile.size === 0) {\n return\n }\n\n lines.push(\"## Functions\")\n lines.push(\"\")\n lines.push(...renderModuleSectionItems(context, functionsByFile, \"functions\"))\n lines.push(\"\")\n}\n\nfunction appendTypesSection(\n lines: string[],\n context: TypeDocRuntimeContext,\n typesByFile: Map<string, DeclarationReflection[]>\n): void {\n if (typesByFile.size === 0) {\n return\n }\n\n lines.push(\"## Type Aliases\")\n lines.push(\"\")\n lines.push(...renderModuleSectionItems(context, typesByFile, \"types\"))\n lines.push(\"\")\n}\n\nfunction renderModuleSectionItems(\n context: TypeDocRuntimeContext,\n modules: Map<string, DeclarationReflection[]>,\n category: string\n): string[] {\n const sortedModules = [...modules.entries()].sort(([left], [right]) => {\n const leftName = getModuleNameFromPath(left, context.packageNameCache)\n const rightName = getModuleNameFromPath(right, context.packageNameCache)\n return leftName.localeCompare(rightName)\n })\n\n return sortedModules.map(([sourceFile, items]) => {\n const moduleName = getModuleNameFromPath(sourceFile, context.packageNameCache)\n const itemNames = items\n .map((item) => item.name)\n .sort()\n .join(\", \")\n const link = buildLink(context.basePath, category, getSlug(moduleName))\n return `- [${moduleName}](${link}) - ${itemNames}`\n })\n}\n\nfunction appendStandaloneSections(\n lines: string[],\n context: TypeDocRuntimeContext,\n standaloneItems: DeclarationReflection[]\n): void {\n const groups = new Map<string, DeclarationReflection[]>()\n for (const item of standaloneItems) {\n appendToMapList(groups, getKindGroupName(item.kind, item.name), item)\n }\n\n const orderedGroups = [\"Interfaces\", \"Classes\", \"Variables\", \"Enums\", \"Other\"]\n for (const groupName of orderedGroups) {\n const groupItems = groups.get(groupName)\n if (groupItems == null || groupItems.length === 0) {\n continue\n }\n appendStandaloneGroup({\n context,\n groupItems,\n groupName,\n lines,\n })\n }\n}\n\nfunction appendStandaloneGroup(params: {\n context: TypeDocRuntimeContext\n groupItems: DeclarationReflection[]\n groupName: string\n lines: string[]\n}): void {\n const { context, groupItems, groupName, lines } = params\n lines.push(`## ${groupName}`)\n lines.push(\"\")\n\n for (const item of sortReflectionsByName(groupItems)) {\n const description = item.comment?.summary\n const suffix = description == null ? \"\" : ` - ${renderCommentShort(description)}`\n const prefix = groupName.toLowerCase()\n const link = buildLink(context.basePath, prefix, getSlug(item.name))\n lines.push(`- [${item.name}](${link})${suffix}`)\n }\n\n lines.push(\"\")\n}\n","import type { DeclarationReflection } from \"typedoc\"\n\nimport { renderComment } from \"./generator-shared\"\n\nexport function appendReflectionCommentTags(\n lines: string[],\n reflection: DeclarationReflection\n): void {\n const blockTags = reflection.comment?.blockTags ?? []\n\n appendTagExamples(lines, blockTags)\n appendTagDeprecated(lines, blockTags)\n appendTagSeeAlso(lines, blockTags)\n}\n\nfunction appendTagExamples(\n lines: string[],\n blockTags: NonNullable<DeclarationReflection[\"comment\"]>[\"blockTags\"]\n): void {\n const examples = blockTags.filter((tag) => tag.tag === \"@example\")\n if (examples.length === 0) {\n return\n }\n\n lines.push(\"## Examples\")\n lines.push(\"\")\n\n for (const example of examples) {\n lines.push(renderComment(example.content))\n lines.push(\"\")\n }\n}\n\nfunction appendTagDeprecated(\n lines: string[],\n blockTags: NonNullable<DeclarationReflection[\"comment\"]>[\"blockTags\"]\n): void {\n const deprecatedTag = blockTags.find((tag) => tag.tag === \"@deprecated\")\n if (deprecatedTag == null) {\n return\n }\n\n lines.push('<Warning title=\"Deprecated\">')\n lines.push(renderComment(deprecatedTag.content))\n lines.push(\"</Warning>\")\n lines.push(\"\")\n}\n\nfunction appendTagSeeAlso(\n lines: string[],\n blockTags: NonNullable<DeclarationReflection[\"comment\"]>[\"blockTags\"]\n): void {\n const seeTags = blockTags.filter((tag) => tag.tag === \"@see\")\n if (seeTags.length === 0) {\n return\n }\n\n lines.push(\"## See Also\")\n lines.push(\"\")\n for (const seeTag of seeTags) {\n lines.push(`- ${renderComment(seeTag.content)}`)\n }\n lines.push(\"\")\n}\n","import { type DeclarationReflection, ReflectionKind } from \"typedoc\"\n\nimport type { TypeDocRuntimeContext } from \"./generator-config\"\nimport type { GeneratedApiDoc } from \"./types\"\n\nimport { appendReflectionCommentTags } from \"./generator-reflection-tags\"\nimport {\n renderHierarchy,\n renderMethod,\n renderProperty,\n renderSignature,\n renderTypeParameters,\n} from \"./generator-render\"\nimport {\n createBreadcrumbs,\n createNavigationLine,\n getGroupUrlPrefix,\n getKindName,\n getSlug,\n getSourceUrl,\n type ReflectionNavigation,\n renderComment,\n renderCommentShort,\n} from \"./generator-shared\"\n\nexport function generateReflectionDocs(params: {\n context: TypeDocRuntimeContext\n navigation: ReflectionNavigation\n parentPath: string\n reflection: DeclarationReflection\n}): GeneratedApiDoc[] {\n const { context, navigation, parentPath, reflection } = params\n const pagePath = getReflectionPagePath(reflection, parentPath)\n const docs: GeneratedApiDoc[] = [\n generateReflectionPage({ context, navigation, pagePath, reflection }),\n ]\n const childRefs = reflection.children ?? []\n for (const child of childRefs) {\n if (hasOwnPage(child.kind)) {\n docs.push(\n ...generateReflectionDocs({\n context,\n navigation: { next: null, prev: null },\n parentPath: pagePath,\n reflection: child,\n })\n )\n }\n }\n return docs\n}\nfunction getReflectionPagePath(reflection: DeclarationReflection, parentPath: string): string {\n const slug = getSlug(reflection.name)\n if (parentPath.length > 0) {\n return `${parentPath}/${slug}`\n }\n const prefix = getGroupUrlPrefix(reflection.kind)\n return prefix.length === 0 ? slug : `${prefix}/${slug}`\n}\nfunction hasOwnPage(kind: ReflectionKind): boolean {\n return [\n ReflectionKind.Class,\n ReflectionKind.Enum,\n ReflectionKind.Interface,\n ReflectionKind.Module,\n ReflectionKind.Namespace,\n ].includes(kind)\n}\nexport function generateReflectionPage(params: {\n context: TypeDocRuntimeContext\n navigation: ReflectionNavigation\n pagePath: string\n reflection: DeclarationReflection\n}): GeneratedApiDoc {\n const { context, navigation, pagePath, reflection } = params\n const lines: string[] = []\n appendReflectionSections({\n context,\n lines,\n navigation,\n pagePath,\n reflection,\n })\n return {\n content: lines.join(\"\\n\"),\n frontmatter: {\n description:\n reflection.comment?.summary == null\n ? `${getKindName(reflection.kind)} ${reflection.name}`\n : renderCommentShort(reflection.comment.summary),\n title: reflection.name,\n },\n path: `${pagePath}.md`,\n }\n}\nfunction appendReflectionSections(params: {\n context: TypeDocRuntimeContext\n lines: string[]\n navigation: ReflectionNavigation\n pagePath: string\n reflection: DeclarationReflection\n}): void {\n const { context, lines, navigation, pagePath, reflection } = params\n appendBreadcrumbs(lines, context, pagePath)\n appendTitle(lines, reflection)\n appendDescription(lines, reflection)\n appendTypeParameters(lines, reflection)\n appendHierarchy(lines, context, reflection)\n appendSignatures(lines, context, reflection)\n appendProperties(lines, reflection)\n appendMethods(lines, context, reflection)\n appendEnumMembers(lines, reflection)\n appendTypeAlias(lines, reflection)\n appendSourceSection(lines, context, reflection)\n appendReflectionCommentTags(lines, reflection)\n appendNavigation({ context, lines, navigation, reflection })\n}\nfunction appendBreadcrumbs(\n lines: string[],\n context: TypeDocRuntimeContext,\n pagePath: string\n): void {\n if (!context.config.markdown.breadcrumbs) {\n return\n }\n lines.push(createBreadcrumbs(context.basePath, pagePath))\n lines.push(\"\")\n}\nfunction appendTitle(lines: string[], reflection: DeclarationReflection): void {\n const kind = getKindName(reflection.kind)\n lines.push(`# ${kind}: ${reflection.name}`)\n lines.push(\"\")\n}\nfunction appendDescription(lines: string[], reflection: DeclarationReflection): void {\n const summary = reflection.comment?.summary\n if (summary == null) {\n return\n }\n lines.push(renderComment(summary))\n lines.push(\"\")\n}\nfunction appendTypeParameters(lines: string[], reflection: DeclarationReflection): void {\n const typeParameters = reflection.typeParameters ?? []\n if (typeParameters.length === 0) {\n return\n }\n lines.push(\"## Type Parameters\")\n lines.push(\"\")\n lines.push(renderTypeParameters(typeParameters))\n lines.push(\"\")\n}\nfunction appendHierarchy(\n lines: string[],\n context: TypeDocRuntimeContext,\n reflection: DeclarationReflection\n): void {\n if (!context.config.markdown.hierarchy) {\n return\n }\n const hierarchy = renderHierarchy(reflection)\n if (hierarchy == null) {\n return\n }\n lines.push(\"## Hierarchy\")\n lines.push(\"\")\n lines.push(hierarchy)\n lines.push(\"\")\n}\nfunction appendSignatures(\n lines: string[],\n context: TypeDocRuntimeContext,\n reflection: DeclarationReflection\n): void {\n const signatures = reflection.signatures ?? []\n if (signatures.length === 0) {\n return\n }\n lines.push(\"## Signature\")\n lines.push(\"\")\n for (const signature of signatures) {\n lines.push(renderSignature(context, signature))\n lines.push(\"\")\n }\n}\nfunction appendProperties(lines: string[], reflection: DeclarationReflection): void {\n const children = reflection.children ?? []\n const properties = children.filter((child) => child.kind === ReflectionKind.Property)\n if (properties.length === 0) {\n return\n }\n lines.push(\"## Properties\")\n lines.push(\"\")\n for (const property of properties) {\n lines.push(renderProperty(property))\n lines.push(\"\")\n }\n}\nfunction appendMethods(\n lines: string[],\n context: TypeDocRuntimeContext,\n reflection: DeclarationReflection\n): void {\n const children = reflection.children ?? []\n const methods = children.filter((child) => child.kind === ReflectionKind.Method)\n if (methods.length === 0) {\n return\n }\n lines.push(\"## Methods\")\n lines.push(\"\")\n for (const method of methods) {\n lines.push(renderMethod(context, method))\n lines.push(\"\")\n }\n}\nfunction appendEnumMembers(lines: string[], reflection: DeclarationReflection): void {\n const children = reflection.children ?? []\n const enumMembers = children.filter((child) => child.kind === ReflectionKind.EnumMember)\n if (enumMembers.length === 0) {\n return\n }\n lines.push(\"## Members\")\n lines.push(\"\")\n lines.push(\"| Member | Value | Description |\")\n lines.push(\"|--------|-------|-------------|\")\n for (const member of enumMembers) {\n const value = member.defaultValue ?? \"\"\n const summary = member.comment?.summary\n const description = summary == null ? \"\" : renderCommentShort(summary)\n lines.push(`| \\`${member.name}\\` | \\`${value}\\` | ${description} |`)\n }\n lines.push(\"\")\n}\nfunction appendTypeAlias(lines: string[], reflection: DeclarationReflection): void {\n if (reflection.kind !== ReflectionKind.TypeAlias || reflection.type == null) {\n return\n }\n lines.push(\"## Type\")\n lines.push(\"\")\n lines.push(\"```typescript\")\n lines.push(`type ${reflection.name} = ${reflection.type.toString()}`)\n lines.push(\"```\")\n lines.push(\"\")\n}\nfunction appendSourceSection(\n lines: string[],\n context: TypeDocRuntimeContext,\n reflection: DeclarationReflection\n): void {\n if (!context.config.markdown.sourceLinks) {\n return\n }\n const source = reflection.sources?.[0]\n if (source == null) {\n return\n }\n lines.push(\"## Source\")\n lines.push(\"\")\n const sourceUrl = getSourceUrl(\n context.config.markdown.sourceBaseUrl,\n source.fileName,\n source.line\n )\n if (sourceUrl == null) {\n lines.push(`${source.fileName}:${source.line}`)\n } else {\n lines.push(`[${source.fileName}:${source.line}](${sourceUrl})`)\n }\n lines.push(\"\")\n}\nfunction appendNavigation(params: {\n context: TypeDocRuntimeContext\n lines: string[]\n navigation: ReflectionNavigation\n reflection: DeclarationReflection\n}): void {\n const { context, lines, navigation, reflection } = params\n const line = createNavigationLine({\n basePath: context.basePath,\n kind: reflection.kind,\n navigation,\n })\n if (line == null) {\n return\n }\n lines.push(\"---\")\n lines.push(\"\")\n lines.push(line)\n lines.push(\"\")\n}\n","import type { DeclarationReflection, ReflectionKind } from \"typedoc\"\n\nimport type { TypeDocRuntimeContext } from \"./generator-config\"\nimport type { GeneratedApiDoc } from \"./types\"\n\nimport { generateCategoryIndexPages } from \"./generator-pages-categories\"\nimport { generateComponentPage } from \"./generator-pages-components\"\nimport { generateGroupedFunctionsPage, generateGroupedTypesPage } from \"./generator-pages-grouped\"\nimport { generateIndexPage } from \"./generator-pages-index\"\nimport { generateReflectionDocs } from \"./generator-reflection\"\nimport {\n groupProjectChildren,\n isReactComponent,\n type ReflectionNavigation,\n sortReflectionsByName,\n} from \"./generator-shared\"\n\nexport function generateMarkdownDocs(context: TypeDocRuntimeContext): GeneratedApiDoc[] {\n const grouped = groupProjectChildren(context.project, isReactComponent)\n const docs: GeneratedApiDoc[] = [generateIndexPage(context, grouped)]\n\n addGroupedFunctionPages(context, docs, grouped.functionsByFile)\n addGroupedTypePages(context, docs, grouped.typesByFile)\n addComponentPages(context, docs, grouped.componentItems)\n addStandalonePages(context, docs, grouped.standaloneItems)\n\n docs.push(...generateCategoryIndexPages(context, grouped))\n return docs\n}\n\nfunction addGroupedFunctionPages(\n context: TypeDocRuntimeContext,\n docs: GeneratedApiDoc[],\n functionsByFile: Map<string, DeclarationReflection[]>\n): void {\n for (const [sourceFile, functions] of functionsByFile) {\n docs.push(generateGroupedFunctionsPage({ context, functions, sourceFile }))\n }\n}\n\nfunction addGroupedTypePages(\n context: TypeDocRuntimeContext,\n docs: GeneratedApiDoc[],\n typesByFile: Map<string, DeclarationReflection[]>\n): void {\n for (const [sourceFile, types] of typesByFile) {\n docs.push(generateGroupedTypesPage({ context, sourceFile, types }))\n }\n}\n\nfunction addComponentPages(\n context: TypeDocRuntimeContext,\n docs: GeneratedApiDoc[],\n componentItems: DeclarationReflection[]\n): void {\n const sorted = sortReflectionsByName(componentItems)\n for (const [index, component] of sorted.entries()) {\n docs.push(\n generateComponentPage({ component, context, navigation: getNavigation(sorted, index) })\n )\n }\n}\n\nfunction addStandalonePages(\n context: TypeDocRuntimeContext,\n docs: GeneratedApiDoc[],\n standaloneItems: DeclarationReflection[]\n): void {\n const itemsByKind = groupStandaloneByKind(standaloneItems)\n\n for (const items of itemsByKind.values()) {\n const sorted = sortReflectionsByName(items)\n for (const [index, reflection] of sorted.entries()) {\n docs.push(\n ...generateReflectionDocs({\n context,\n navigation: getNavigation(sorted, index),\n parentPath: \"\",\n reflection,\n })\n )\n }\n }\n}\n\nfunction groupStandaloneByKind(\n standaloneItems: DeclarationReflection[]\n): Map<ReflectionKind, DeclarationReflection[]> {\n const itemsByKind = new Map<ReflectionKind, DeclarationReflection[]>()\n\n for (const item of standaloneItems) {\n const existing = itemsByKind.get(item.kind) ?? []\n existing.push(item)\n itemsByKind.set(item.kind, existing)\n }\n\n return itemsByKind\n}\n\nfunction getNavigation(sortedItems: DeclarationReflection[], index: number): ReflectionNavigation {\n return {\n next: index < sortedItems.length - 1 ? sortedItems[index + 1] : null,\n prev: index > 0 ? sortedItems[index - 1] : null,\n }\n}\n","import fs from \"node:fs/promises\"\nimport path from \"node:path\"\nimport { readPackageUp } from \"read-package-up\"\nimport { Application, TSConfigReader, TypeDocReader } from \"typedoc\"\n\nimport type { GeneratedApiDoc, TypeDocConfig } from \"./types\"\n\nimport {\n getTypedocOptions,\n type ResolvedTypeDocConfig,\n resolveTypeDocConfig,\n type TypeDocRuntimeContext,\n} from \"./generator-config\"\nimport { generateMarkdownDocs } from \"./generator-docs\"\n\nexport class TypeDocGenerator {\n private readonly basePath: string\n private readonly config: ResolvedTypeDocConfig\n private readonly packageNameCache = new Map<string, string | undefined>()\n\n constructor(config: TypeDocConfig) {\n this.config = resolveTypeDocConfig(config)\n this.basePath = `/${this.config.out}`\n }\n\n async generate(outputDir: string): Promise<GeneratedApiDoc[]> {\n await this.populatePackageNameCache()\n\n const app = await Application.bootstrapWithPlugins(getTypedocOptions(this.config), [\n new TSConfigReader(),\n new TypeDocReader(),\n ])\n\n const project = await app.convert()\n if (project == null) {\n throw new Error(\"TypeDoc conversion failed\")\n }\n\n const context: TypeDocRuntimeContext = {\n basePath: this.basePath,\n config: this.config,\n packageNameCache: this.packageNameCache,\n project,\n }\n\n const docs = generateMarkdownDocs(context)\n await this.writeDocs(outputDir, docs)\n return docs\n }\n\n private async populatePackageNameCache(): Promise<void> {\n for (const entryPoint of this.config.entryPoints) {\n await this.resolvePackageName(entryPoint)\n }\n }\n\n private async resolvePackageName(filePath: string): Promise<string | undefined> {\n const directory = path.dirname(path.resolve(filePath))\n\n if (this.packageNameCache.has(directory)) {\n return this.packageNameCache.get(directory)\n }\n\n const packageResult = await readPackageUp({ cwd: directory })\n const packageName = packageResult?.packageJson.name\n const resolvedName =\n packageName == null || packageName.length === 0\n ? undefined\n : packageName.replace(/^@[^/]+\\//u, \"\")\n\n this.packageNameCache.set(directory, resolvedName)\n return resolvedName\n }\n\n private async writeDocs(outputDir: string, docs: GeneratedApiDoc[]): Promise<void> {\n const apiDirectory = path.join(outputDir, this.config.out)\n await fs.rm(apiDirectory, { force: true, recursive: true })\n await fs.mkdir(apiDirectory, { recursive: true })\n\n for (const doc of docs) {\n await this.writeSingleDoc(apiDirectory, doc)\n }\n }\n\n private async writeSingleDoc(apiDirectory: string, doc: GeneratedApiDoc): Promise<void> {\n const filePath = path.join(apiDirectory, doc.path)\n await fs.mkdir(path.dirname(filePath), { recursive: true })\n\n const frontmatter = createFrontmatter(doc)\n await fs.writeFile(filePath, `${frontmatter}${doc.content}`)\n }\n}\n\nfunction createFrontmatter(doc: GeneratedApiDoc): string {\n const lines: string[] = [\"---\", `title: ${doc.frontmatter.title}`]\n\n if (doc.frontmatter.description != null && doc.frontmatter.description.length > 0) {\n lines.push(`description: ${doc.frontmatter.description}`)\n }\n\n if (doc.frontmatter.sidebar_position != null) {\n lines.push(`sidebar_position: ${doc.frontmatter.sidebar_position}`)\n }\n\n if (doc.frontmatter.sidebar === false) {\n lines.push(\"sidebar: false\")\n } else if (doc.frontmatter.sidebar === \"leaf\") {\n lines.push(\"sidebar: leaf\")\n }\n\n lines.push(\"---\", \"\")\n return `${lines.join(\"\\n\")}\\n`\n}\n\nexport async function generateApiDocs(\n config: TypeDocConfig,\n outputDir: string\n): Promise<GeneratedApiDoc[]> {\n const generator = new TypeDocGenerator(config)\n return generator.generate(outputDir)\n}\n"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import { a as Npm, c as TwitterIcon, i as LinkedinIcon, l as Youtube, n as GithubIcon, o as NpmIcon, r as Linkedin, s as Twitter, t as Github, u as YoutubeIcon } from "../brand-icons-DLJKqTun.js";
1
+ import { a as Npm, c as TwitterIcon, i as LinkedinIcon, l as Youtube, n as GithubIcon, o as NpmIcon, r as Linkedin, s as Twitter, t as Github, u as YoutubeIcon } from "../brand-icons-Di8w0Nu9.js";
2
2
  export * from "lucide-react";
3
3
  export { Github, GithubIcon, Linkedin, LinkedinIcon, Npm, NpmIcon, Twitter, TwitterIcon, Youtube, YoutubeIcon };
@@ -1,4 +1,4 @@
1
- import { f as SponsorConfig, s as ProjectMeta, t as ArdoConfig, u as SidebarItem } from "./types-Do3OQY8G.js";
1
+ import { c as ProjectMeta, d as SidebarItem, n as ArdoContextItem, p as SponsorConfig, t as ArdoConfig } from "./types-B75OhnGa.js";
2
2
  import { ComponentProps, ComponentType, ReactNode, SVGAttributes } from "react";
3
3
  import * as _$react_jsx_runtime0 from "react/jsx-runtime";
4
4
  import { Link, NavLink } from "react-router";
@@ -176,8 +176,23 @@ declare function ArdoSidebarLink({
176
176
  //#endregion
177
177
  //#region src/ui/ArdoRoot.d.ts
178
178
  type ArdoRootProps = {
179
- /** Ardo config (from virtual:ardo/config) */config: ArdoConfig; /** Sidebar data (from virtual:ardo/sidebar) */
180
- sidebar: SidebarItem[]; /** Custom header element (overrides auto-generated header) */
179
+ /** Ardo config (from virtual:ardo/config) */config: ArdoConfig;
180
+ /**
181
+ * Sidebar data.
182
+ *
183
+ * - `SidebarItem[]` — a single sidebar shown for every non-bare route
184
+ * (from `virtual:ardo/sidebar`, back-compat).
185
+ * - `Record<string, SidebarItem[]>` — a per-context sidebar map
186
+ * (from `virtual:ardo/sidebars`). The active context's sidebar is
187
+ * shown; the key matches the `id` of the matching `ArdoContextItem`.
188
+ */
189
+ sidebar: Record<string, SidebarItem[]> | SidebarItem[];
190
+ /**
191
+ * Top-level navigation contexts shown in the sidebar rail. When provided,
192
+ * the rail renders these as world-switcher items and `sidebar` is treated
193
+ * as a map keyed by context id.
194
+ */
195
+ contexts?: ArdoContextItem[]; /** Custom header element (overrides auto-generated header) */
181
196
  header?: ReactNode; /** Custom sidebar element (overrides auto-generated sidebar) */
182
197
  sidebarContent?: ReactNode; /** Custom footer element (overrides auto-generated footer) */
183
198
  footer?: ReactNode; /** Props passed to auto-generated ArdoHeader (ignored when header is provided) */
@@ -200,6 +215,7 @@ type ArdoRootProps = {
200
215
  declare function ArdoRoot({
201
216
  config,
202
217
  sidebar,
218
+ contexts,
203
219
  header,
204
220
  sidebarContent,
205
221
  footer,
@@ -493,10 +509,12 @@ declare function ArdoIcon({
493
509
  //#endregion
494
510
  //#region src/ui/components/Search.d.ts
495
511
  type ArdoSearchProps = {
496
- /** Placeholder text for the search input (default: "Search...") */placeholder?: string;
512
+ /** Placeholder text for the search input (default: "Search...") */placeholder?: string; /** Focus the input on mount (used by the mobile search overlay). */
513
+ autoFocus?: boolean;
497
514
  };
498
515
  declare function ArdoSearch({
499
- placeholder
516
+ placeholder,
517
+ autoFocus
500
518
  }: ArdoSearchProps): _$react_jsx_runtime0.JSX.Element;
501
519
  //#endregion
502
520
  //#region src/ui/components/Steps.d.ts
@@ -678,6 +696,33 @@ declare function ArdoDocLayout({
678
696
  content
679
697
  }: DocLayoutProps): _$react_jsx_runtime0.JSX.Element;
680
698
  //#endregion
699
+ //#region src/ui/ErrorBoundary.d.ts
700
+ type ArdoErrorBoundaryProps = {
701
+ /** Override the heading/description shown for 404 responses. */notFound?: {
702
+ title?: string;
703
+ description?: string;
704
+ homeLabel?: string;
705
+ homeHref?: string;
706
+ }; /** Override the heading/description shown for non-404 errors. */
707
+ error?: {
708
+ title?: string;
709
+ description?: string;
710
+ homeLabel?: string;
711
+ homeHref?: string;
712
+ };
713
+ };
714
+ /**
715
+ * Themed error/404 page. Drop into a React Router route as `ErrorBoundary`
716
+ * to replace the default unstyled fallback with a layout-aware page.
717
+ *
718
+ * @example
719
+ * ```tsx
720
+ * // app/root.tsx
721
+ * export { ArdoErrorBoundary as ErrorBoundary } from "ardo/ui"
722
+ * ```
723
+ */
724
+ declare function ArdoErrorBoundary(props?: ArdoErrorBoundaryProps): _$react_jsx_runtime0.JSX.Element;
725
+ //#endregion
681
726
  //#region src/ui/HomePage.d.ts
682
727
  type ArdoHomePageProps = {
683
728
  /** Props passed to the Header component */headerProps?: ArdoHeaderProps; /** Props passed to the Footer component */
@@ -804,6 +849,22 @@ declare function ArdoNavLink({
804
849
  activeMatch: _activeMatch
805
850
  }: ArdoNavLinkProps): _$react_jsx_runtime0.JSX.Element;
806
851
  //#endregion
852
+ //#region src/ui/OwlMark.d.ts
853
+ type ArdoOwlMarkProps = {
854
+ size?: number | string;
855
+ title?: string;
856
+ } & Omit<ComponentProps<"svg">, "children">;
857
+ /**
858
+ * Decorative line-art owl, drawn in `currentColor`. Used by the default
859
+ * error and empty states. Set `color` on the parent (or `style.color`)
860
+ * to recolor; set `title` to give it accessible meaning.
861
+ */
862
+ declare function ArdoOwlMark({
863
+ size,
864
+ title,
865
+ ...props
866
+ }: ArdoOwlMarkProps): _$react_jsx_runtime0.JSX.Element;
867
+ //#endregion
807
868
  //#region src/ui/Toc.d.ts
808
869
  type ArdoTOCProps = {
809
870
  /** Label for the TOC heading (default: "On this page") */label?: string;
@@ -812,5 +873,5 @@ declare function ArdoTOC({
812
873
  label: labelProp
813
874
  }?: ArdoTOCProps): _$react_jsx_runtime0.JSX.Element | null;
814
875
  //#endregion
815
- export { ArdoTip as $, ArdoSearch as A, ArdoFeatureCardProps as B, ArdoTabPanels as C, ArdoFooterProps as Ct, ArdoTabsProps as D, ArdoTabs as E, ArdoHero as F, ArdoContainerProps as G, ArdoFeaturesProps as H, ArdoHeroAction as I, ArdoDangerProps as J, ArdoContainerType as K, ArdoHeroImage as L, ArdoIconProps as M, getRegisteredIconNames as N, ArdoSteps as O, registerIcons as P, ArdoNoteProps as Q, ArdoHeroProps as R, ArdoTabPanelProps as S, ArdoFooterMessageProps as St, ArdoTabProps as T, ArdoCopyButton as U, ArdoFeatures as V, ArdoContainer as W, ArdoInfoProps as X, ArdoInfo as Y, ArdoNote as Z, ArdoThemeToggle as _, ArdoHeaderProps as _t, ArdoNavLinkProps as a, ArdoCodeGroup as at, ArdoTabListProps as b, ArdoFooter as bt, ArdoLayoutProps as c, ArdoRoot as ct, ArdoHomePage as d, ArdoSidebarGroup as dt, ArdoTipProps as et, ArdoHomePageProps as f, ArdoSidebarGroupProps as ft, ArdoContent as g, ArdoHeader as gt, ArdoDocPage as h, ArdoSidebarProps as ht, ArdoNavLink as i, ArdoCodeBlockProps as it, ArdoIcon as j, ArdoStepsProps as k, ArdoRootLayout as l, ArdoRootProps as lt, ArdoDocLayout as m, ArdoSidebarLinkProps as mt, ArdoTOCProps as n, ArdoWarningProps as nt, ArdoNavProps as o, ArdoCodeGroupProps as ot, ArdoDocContent as p, ArdoSidebarLink as pt, ArdoDanger as q, ArdoNav as r, ArdoCodeBlock as rt, ArdoLayout as s, ArdoBareContent as st, ArdoTOC as t, ArdoWarning as tt, ArdoRootLayoutProps as u, ArdoSidebar as ut, ArdoTab as v, ArdoSocialLink as vt, ArdoTabPanelsProps as w, ArdoTabPanel as x, ArdoFooterCopyrightProps as xt, ArdoTabList as y, ArdoSocialLinkProps as yt, ArdoFeatureCard as z };
816
- //# sourceMappingURL=index-CWfXolzQ.d.ts.map
876
+ export { ArdoInfo as $, ArdoTabs as A, ArdoHeroAction as B, ArdoTabList as C, ArdoSocialLinkProps as Ct, ArdoTabPanels as D, ArdoFooterProps as Dt, ArdoTabPanelProps as E, ArdoFooterMessageProps as Et, ArdoIcon as F, ArdoFeatures as G, ArdoHeroProps as H, ArdoIconProps as I, ArdoContainer as J, ArdoFeaturesProps as K, getRegisteredIconNames as L, ArdoSteps as M, ArdoStepsProps as N, ArdoTabPanelsProps as O, ArdoSearch as P, ArdoDangerProps as Q, registerIcons as R, ArdoTab as S, ArdoSocialLink as St, ArdoTabPanel as T, ArdoFooterCopyrightProps as Tt, ArdoFeatureCard as U, ArdoHeroImage as V, ArdoFeatureCardProps as W, ArdoContainerType as X, ArdoContainerProps as Y, ArdoDanger as Z, ArdoDocContent as _, ArdoSidebarLink as _t, ArdoNav as a, ArdoWarning as at, ArdoContent as b, ArdoHeader as bt, ArdoNavProps as c, ArdoCodeBlockProps as ct, ArdoRootLayout as d, ArdoBareContent as dt, ArdoInfoProps as et, ArdoRootLayoutProps as f, ArdoRoot as ft, ArdoErrorBoundaryProps as g, ArdoSidebarGroupProps as gt, ArdoErrorBoundary as h, ArdoSidebarGroup as ht, ArdoOwlMarkProps as i, ArdoTipProps as it, ArdoTabsProps as j, ArdoTabProps as k, ArdoLayout as l, ArdoCodeGroup as lt, ArdoHomePageProps as m, ArdoSidebar as mt, ArdoTOCProps as n, ArdoNoteProps as nt, ArdoNavLink as o, ArdoWarningProps as ot, ArdoHomePage as p, ArdoRootProps as pt, ArdoCopyButton as q, ArdoOwlMark as r, ArdoTip as rt, ArdoNavLinkProps as s, ArdoCodeBlock as st, ArdoTOC as t, ArdoNote as tt, ArdoLayoutProps as u, ArdoCodeGroupProps as ut, ArdoDocLayout as v, ArdoSidebarLinkProps as vt, ArdoTabListProps as w, ArdoFooter as wt, ArdoThemeToggle as x, ArdoHeaderProps as xt, ArdoDocPage as y, ArdoSidebarProps as yt, ArdoHero as z };
877
+ //# sourceMappingURL=index-BcekgOfA.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-BcekgOfA.d.ts","names":[],"sources":["../src/ui/Footer.tsx","../src/ui/Header.tsx","../src/ui/Sidebar.tsx","../src/ui/ArdoRoot.tsx","../src/ui/BareContent.tsx","../src/ui/components/CodeBlock.tsx","../src/ui/components/Container.tsx","../src/ui/components/CopyButton.tsx","../src/ui/components/Features.tsx","../src/ui/components/Hero.tsx","../src/ui/components/Icon.tsx","../src/ui/components/Search.tsx","../src/ui/components/Steps.tsx","../src/ui/components/Tabs.tsx","../src/ui/components/ThemeToggle.tsx","../src/ui/Content.tsx","../src/ui/DocPage.tsx","../src/ui/ErrorBoundary.tsx","../src/ui/HomePage.tsx","../src/ui/Layout.tsx","../src/ui/Nav.tsx","../src/ui/OwlMark.tsx","../src/ui/Toc.tsx"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { a as PageData, p as TOCItem, t as ArdoConfig, u as SidebarItem } from "./types-Do3OQY8G.js";
1
+ import { d as SidebarItem, m as TOCItem, n as ArdoContextItem, o as PageData, t as ArdoConfig } from "./types-B75OhnGa.js";
2
2
  import * as _$react from "react";
3
3
  import { ReactNode } from "react";
4
4
  import * as _$react_jsx_runtime0 from "react/jsx-runtime";
@@ -7,6 +7,8 @@ import * as _$react_jsx_runtime0 from "react/jsx-runtime";
7
7
  type ArdoContextValue = {
8
8
  config: ArdoConfig;
9
9
  sidebar: SidebarItem[];
10
+ contexts?: ArdoContextItem[];
11
+ activeContextId?: string;
10
12
  currentPage?: PageData;
11
13
  };
12
14
  declare const ArdoContext: _$react.Context<ArdoContextValue | null>;
@@ -18,12 +20,16 @@ declare function useArdoTOC(): TOCItem[];
18
20
  type ArdoProviderProps = {
19
21
  config: ArdoConfig;
20
22
  sidebar: SidebarItem[];
23
+ contexts?: ArdoContextItem[];
24
+ activeContextId?: string;
21
25
  currentPage?: PageData;
22
26
  children: ReactNode;
23
27
  };
24
28
  declare function ArdoProvider({
25
29
  config,
26
30
  sidebar,
31
+ contexts,
32
+ activeContextId,
27
33
  currentPage,
28
34
  children
29
35
  }: ArdoProviderProps): _$react_jsx_runtime0.JSX.Element;
@@ -75,4 +81,4 @@ declare function getPrevNextLinks(sidebar: SidebarItem[], currentPath: string):
75
81
  };
76
82
  //#endregion
77
83
  export { ArdoProvider as a, useArdoConfig as c, useArdoSidebar as d, useArdoSiteConfig as f, ArdoPageDataProvider as i, useArdoContext as l, getPrevNextLinks as n, ArdoSiteConfig as o, useArdoTOC as p, ArdoContext as r, ArdoSiteConfigProvider as s, findCurrentSidebarItem as t, useArdoPageData as u };
78
- //# sourceMappingURL=index-BNKprp9_.d.ts.map
84
+ //# sourceMappingURL=index-CuMTHUxX.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-CuMTHUxX.d.ts","names":[],"sources":["../src/runtime/hooks.tsx","../src/runtime/sidebar-utils.ts"],"mappings":";;;;;;KAIK,gBAAA;EACH,MAAA,EAAQ,UAAA;EACR,OAAA,EAAS,WAAA;EACT,QAAA,GAAW,eAAA;EACX,eAAA;EACA,WAAA,GAAc,QAAA;AAAA;AAAA,cAGV,WAAA,EAAW,OAAA,CAAA,OAAA,CAAA,gBAAA;AAAA,iBAED,cAAA,CAAA,GAAkB,gBAAA;AAAA,iBAQlB,aAAA,CAAA,GAAiB,UAAA;AAAA,iBAKjB,cAAA,CAAA,GAAkB,WAAA;AAAA,iBAalB,eAAA,CAAA,GAAmB,QAAA;AAAA,iBAKnB,UAAA,CAAA,GAAc,OAAA;AAAA,KAKzB,iBAAA;EACH,MAAA,EAAQ,UAAA;EACR,OAAA,EAAS,WAAA;EACT,QAAA,GAAW,eAAA;EACX,eAAA;EACA,WAAA,GAAc,QAAA;EACd,QAAA,EAAU,SAAA;AAAA;AAAA,iBAGI,YAAA,CAAA;EACd,MAAA;EACA,OAAA;EACA,QAAA;EACA,eAAA;EACA,WAAA;EACA;AAAA,GACC,iBAAA,GAAiB,oBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,KAef,yBAAA;EACH,WAAA,EAAa,QAAA;EACb,GAAA,EAAK,OAAA;EACL,QAAA,EAAU,SAAA;AAAA;AAAA,iBAGI,oBAAA,CAAA;EAAuB,WAAA;EAAa,GAAA;EAAK;AAAA,GAAY,yBAAA,GAAyB,oBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,KA0BlF,cAAA;EACV,QAAA;IAAa,OAAA;IAAiB,IAAA;EAAA;EAC9B,WAAA;IAAgB,OAAA;IAAmB,IAAA;IAAe,aAAA,GAAgB,IAAA,CAAK,qBAAA;EAAA;EACvE,QAAA;AAAA;AAAA,iBAKc,iBAAA,CAAA,GAAqB,cAAA;AAAA,KAIhC,2BAAA;EACH,KAAA,EAAO,cAAA;EACP,QAAA,EAAU,SAAA;AAAA;AAAA,iBAGI,sBAAA,CAAA;EAAyB,KAAA;EAAO;AAAA,GAAY,2BAAA,GAA2B,oBAAA,CAAA,GAAA,CAAA,OAAA;;;;;;;iBC5HvE,sBAAA,CACd,OAAA,EAAS,WAAA,IACT,WAAA,WACC,WAAA;ADP+F;;;;AAAA,iBC4BlF,gBAAA,CACd,OAAA,EAAS,WAAA,IACT,WAAA;EACG,IAAA,GAAO,WAAA;EAAa,IAAA,GAAO,WAAA;AAAA"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { a as PageData, c as ResolvedConfig, d as SocialLink, i as NavItem, l as SidebarConfig, m as TypeDocConfig, n as HeadConfig, o as PageFrontmatter, p as TOCItem, r as MarkdownConfig, s as ProjectMeta, t as ArdoConfig, u as SidebarItem } from "./types-Do3OQY8G.js";
1
+ import { a as NavItem, c as ProjectMeta, d as SidebarItem, f as SocialLink, h as TypeDocConfig, i as MarkdownConfig, l as ResolvedConfig, m as TOCItem, o as PageData, r as HeadConfig, s as PageFrontmatter, t as ArdoConfig, u as SidebarConfig } from "./types-B75OhnGa.js";
2
2
  import { defineConfig, loadConfig, resolveConfig } from "./config/index.js";
3
- import { a as ArdoProvider, c as useArdoConfig, d as useArdoSidebar, f as useArdoSiteConfig, l as useArdoContext, n as getPrevNextLinks, o as ArdoSiteConfig, p as useArdoTOC, s as ArdoSiteConfigProvider, t as findCurrentSidebarItem, u as useArdoPageData } from "./index-BNKprp9_.js";
4
- import { $ as ArdoTip, A as ArdoSearch, B as ArdoFeatureCardProps, C as ArdoTabPanels, D as ArdoTabsProps, E as ArdoTabs, F as ArdoHero, G as ArdoContainerProps, H as ArdoFeaturesProps, I as ArdoHeroAction, J as ArdoDangerProps, K as ArdoContainerType, L as ArdoHeroImage, O as ArdoSteps, Q as ArdoNoteProps, R as ArdoHeroProps, S as ArdoTabPanelProps, T as ArdoTabProps, U as ArdoCopyButton, V as ArdoFeatures, W as ArdoContainer, X as ArdoInfoProps, Y as ArdoInfo, Z as ArdoNote, _ as ArdoThemeToggle, at as ArdoCodeGroup, b as ArdoTabListProps, bt as ArdoFooter, d as ArdoHomePage, et as ArdoTipProps, g as ArdoContent, gt as ArdoHeader, h as ArdoDocPage, it as ArdoCodeBlockProps, k as ArdoStepsProps, m as ArdoDocLayout, nt as ArdoWarningProps, ot as ArdoCodeGroupProps, q as ArdoDanger, rt as ArdoCodeBlock, s as ArdoLayout, t as ArdoTOC, tt as ArdoWarning, ut as ArdoSidebar, v as ArdoTab, w as ArdoTabPanelsProps, x as ArdoTabPanel, y as ArdoTabList, z as ArdoFeatureCard } from "./index-CWfXolzQ.js";
3
+ import { a as ArdoProvider, c as useArdoConfig, d as useArdoSidebar, f as useArdoSiteConfig, l as useArdoContext, n as getPrevNextLinks, o as ArdoSiteConfig, p as useArdoTOC, s as ArdoSiteConfigProvider, t as findCurrentSidebarItem, u as useArdoPageData } from "./index-CuMTHUxX.js";
4
+ import { $ as ArdoInfo, A as ArdoTabs, B as ArdoHeroAction, C as ArdoTabList, D as ArdoTabPanels, E as ArdoTabPanelProps, G as ArdoFeatures, H as ArdoHeroProps, J as ArdoContainer, K as ArdoFeaturesProps, M as ArdoSteps, N as ArdoStepsProps, O as ArdoTabPanelsProps, P as ArdoSearch, Q as ArdoDangerProps, S as ArdoTab, T as ArdoTabPanel, U as ArdoFeatureCard, V as ArdoHeroImage, W as ArdoFeatureCardProps, X as ArdoContainerType, Y as ArdoContainerProps, Z as ArdoDanger, at as ArdoWarning, b as ArdoContent, bt as ArdoHeader, ct as ArdoCodeBlockProps, et as ArdoInfoProps, it as ArdoTipProps, j as ArdoTabsProps, k as ArdoTabProps, l as ArdoLayout, lt as ArdoCodeGroup, mt as ArdoSidebar, nt as ArdoNoteProps, ot as ArdoWarningProps, p as ArdoHomePage, q as ArdoCopyButton, rt as ArdoTip, st as ArdoCodeBlock, t as ArdoTOC, tt as ArdoNote, ut as ArdoCodeGroupProps, v as ArdoDocLayout, w as ArdoTabListProps, wt as ArdoFooter, x as ArdoThemeToggle, y as ArdoDocPage, z as ArdoHero } from "./index-BcekgOfA.js";
5
5
  export { ArdoCodeBlock, type ArdoCodeBlockProps, ArdoCodeGroup, type ArdoCodeGroupProps, type ArdoConfig, ArdoContainer, type ArdoContainerProps, type ArdoContainerType, ArdoContent, ArdoCopyButton, ArdoDanger, type ArdoDangerProps, ArdoDocLayout, ArdoDocPage, ArdoFeatureCard, type ArdoFeatureCardProps, ArdoFeatures, type ArdoFeaturesProps, ArdoFooter, ArdoHeader, ArdoHero, type ArdoHeroAction, type ArdoHeroImage, type ArdoHeroProps, ArdoHomePage, ArdoInfo, type ArdoInfoProps, ArdoLayout, ArdoNote, type ArdoNoteProps, ArdoProvider, ArdoSearch, ArdoSidebar, type ArdoSiteConfig, ArdoSiteConfigProvider, ArdoSteps, type ArdoStepsProps, ArdoTOC, ArdoTab, ArdoTabList, type ArdoTabListProps, ArdoTabPanel, type ArdoTabPanelProps, ArdoTabPanels, type ArdoTabPanelsProps, type ArdoTabProps, ArdoTabs, type ArdoTabsProps, ArdoThemeToggle, ArdoTip, type ArdoTipProps, ArdoWarning, type ArdoWarningProps, type HeadConfig, type MarkdownConfig, type NavItem, type PageData, type PageFrontmatter, type ProjectMeta, type ResolvedConfig, type SidebarConfig, type SidebarItem, type SocialLink, type TOCItem, type TypeDocConfig, defineConfig, findCurrentSidebarItem, getPrevNextLinks, loadConfig, resolveConfig, useArdoConfig, useArdoContext, useArdoPageData, useArdoSidebar, useArdoSiteConfig, useArdoTOC };
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { defineConfig, loadConfig, resolveConfig } from "./config/index.js";
2
- import { a as ArdoProvider, c as useArdoContext, d as useArdoSiteConfig, f as useArdoTOC, l as useArdoPageData, n as getPrevNextLinks, o as ArdoSiteConfigProvider, s as useArdoConfig, t as findCurrentSidebarItem, u as useArdoSidebar } from "./sidebar-utils-1Skqle1Q.js";
2
+ import { a as ArdoProvider, c as useArdoContext, d as useArdoSidebar, f as useArdoSiteConfig, n as getPrevNextLinks, o as ArdoSiteConfigProvider, p as useArdoTOC, s as useArdoConfig, t as findCurrentSidebarItem, u as useArdoPageData } from "./sidebar-utils-C06DJsx4.js";
3
3
  import "./runtime/index.js";
4
- import { C as ArdoCopyButton, O as ArdoLayout, S as ArdoCodeGroup, _ as ArdoInfo, a as ArdoContent, b as ArdoWarning, c as ArdoTabPanel, d as ArdoSteps, g as ArdoDanger, h as ArdoContainer, i as ArdoTOC, l as ArdoTabPanels, n as ArdoDocLayout, o as ArdoTab, r as ArdoDocPage, s as ArdoTabList, u as ArdoTabs, v as ArdoNote, x as ArdoCodeBlock, y as ArdoTip } from "./DocPage-B0Fr09xS.js";
5
- import { a as ArdoFeatureCard, c as ArdoSidebar, d as ArdoHeader, h as ArdoSearch, i as ArdoHero, m as ArdoFooter, o as ArdoFeatures, p as ArdoThemeToggle, r as ArdoHomePage } from "./ui-BzUIfYJm.js";
4
+ import { C as ArdoCopyButton, O as ArdoLayout, S as ArdoCodeGroup, _ as ArdoInfo, a as ArdoContent, b as ArdoWarning, c as ArdoTabPanel, d as ArdoSteps, g as ArdoDanger, h as ArdoContainer, i as ArdoTOC, l as ArdoTabPanels, n as ArdoDocLayout, o as ArdoTab, r as ArdoDocPage, s as ArdoTabList, u as ArdoTabs, v as ArdoNote, x as ArdoCodeBlock, y as ArdoTip } from "./DocPage-Dy7OrCP2.js";
5
+ import { a as ArdoHero, f as ArdoHeader, g as ArdoFooter, h as ArdoSearch, l as ArdoSidebar, m as ArdoThemeToggle, o as ArdoFeatureCard, r as ArdoHomePage, s as ArdoFeatures } from "./ui-AGPGBunC.js";
6
6
  export { ArdoCodeBlock, ArdoCodeGroup, ArdoContainer, ArdoContent, ArdoCopyButton, ArdoDanger, ArdoDocLayout, ArdoDocPage, ArdoFeatureCard, ArdoFeatures, ArdoFooter, ArdoHeader, ArdoHero, ArdoHomePage, ArdoInfo, ArdoLayout, ArdoNote, ArdoProvider, ArdoSearch, ArdoSidebar, ArdoSiteConfigProvider, ArdoSteps, ArdoTOC, ArdoTab, ArdoTabList, ArdoTabPanel, ArdoTabPanels, ArdoTabs, ArdoThemeToggle, ArdoTip, ArdoWarning, defineConfig, findCurrentSidebarItem, getPrevNextLinks, loadConfig, resolveConfig, useArdoConfig, useArdoContext, useArdoPageData, useArdoSidebar, useArdoSiteConfig, useArdoTOC };
@@ -1,4 +1,4 @@
1
- import { C as ArdoCopyButton, E as codeWrapper, S as ArdoCodeGroup, _ as ArdoInfo, b as ArdoWarning, c as ArdoTabPanel, d as ArdoSteps, f as ArdoIcon, g as ArdoDanger, l as ArdoTabPanels, o as ArdoTab, s as ArdoTabList, t as ArdoDocContent, u as ArdoTabs, v as ArdoNote, w as codeBlock, x as ArdoCodeBlock, y as ArdoTip } from "../DocPage-B0Fr09xS.js";
1
+ import { C as ArdoCopyButton, E as codeWrapper, S as ArdoCodeGroup, _ as ArdoInfo, b as ArdoWarning, c as ArdoTabPanel, d as ArdoSteps, f as ArdoIcon, g as ArdoDanger, l as ArdoTabPanels, o as ArdoTab, s as ArdoTabList, t as ArdoDocContent, u as ArdoTabs, v as ArdoNote, w as codeBlock, x as ArdoCodeBlock, y as ArdoTip } from "../DocPage-Dy7OrCP2.js";
2
2
  import { isValidElement } from "react";
3
3
  import { jsx, jsxs } from "react/jsx-runtime";
4
4
  import { Link } from "react-router";
@@ -1,2 +1,2 @@
1
- import { a as ArdoProvider, c as useArdoConfig, d as useArdoSidebar, f as useArdoSiteConfig, i as ArdoPageDataProvider, l as useArdoContext, n as getPrevNextLinks, o as ArdoSiteConfig, p as useArdoTOC, r as ArdoContext, s as ArdoSiteConfigProvider, t as findCurrentSidebarItem, u as useArdoPageData } from "../index-BNKprp9_.js";
1
+ import { a as ArdoProvider, c as useArdoConfig, d as useArdoSidebar, f as useArdoSiteConfig, i as ArdoPageDataProvider, l as useArdoContext, n as getPrevNextLinks, o as ArdoSiteConfig, p as useArdoTOC, r as ArdoContext, s as ArdoSiteConfigProvider, t as findCurrentSidebarItem, u as useArdoPageData } from "../index-CuMTHUxX.js";
2
2
  export { ArdoContext, ArdoPageDataProvider, ArdoProvider, ArdoSiteConfig, ArdoSiteConfigProvider, findCurrentSidebarItem, getPrevNextLinks, useArdoConfig, useArdoContext, useArdoPageData, useArdoSidebar, useArdoSiteConfig, useArdoTOC };
@@ -1,2 +1,2 @@
1
- import { a as ArdoProvider, c as useArdoContext, d as useArdoSiteConfig, f as useArdoTOC, i as ArdoPageDataProvider, l as useArdoPageData, n as getPrevNextLinks, o as ArdoSiteConfigProvider, r as ArdoContext, s as useArdoConfig, t as findCurrentSidebarItem, u as useArdoSidebar } from "../sidebar-utils-1Skqle1Q.js";
1
+ import { a as ArdoProvider, c as useArdoContext, d as useArdoSidebar, f as useArdoSiteConfig, i as ArdoPageDataProvider, n as getPrevNextLinks, o as ArdoSiteConfigProvider, p as useArdoTOC, r as ArdoContext, s as useArdoConfig, t as findCurrentSidebarItem, u as useArdoPageData } from "../sidebar-utils-C06DJsx4.js";
2
2
  export { ArdoContext, ArdoPageDataProvider, ArdoProvider, ArdoSiteConfigProvider, findCurrentSidebarItem, getPrevNextLinks, useArdoConfig, useArdoContext, useArdoPageData, useArdoSidebar, useArdoSiteConfig, useArdoTOC };
@@ -15,6 +15,13 @@ function useArdoSidebar() {
15
15
  const { sidebar } = useArdoContext();
16
16
  return sidebar;
17
17
  }
18
+ function useArdoContexts() {
19
+ const { contexts, activeContextId } = useArdoContext();
20
+ return {
21
+ items: contexts ?? [],
22
+ activeId: activeContextId
23
+ };
24
+ }
18
25
  function useArdoPageData() {
19
26
  const { currentPage } = useArdoContext();
20
27
  return currentPage;
@@ -23,16 +30,20 @@ function useArdoTOC() {
23
30
  const { currentPage } = useArdoContext();
24
31
  return currentPage?.toc ?? [];
25
32
  }
26
- function ArdoProvider({ config, sidebar, currentPage, children }) {
33
+ function ArdoProvider({ config, sidebar, contexts, activeContextId, currentPage, children }) {
27
34
  return /* @__PURE__ */ jsx(ArdoContext, {
28
35
  value: useMemo(() => ({
29
36
  config,
30
37
  sidebar,
38
+ contexts,
39
+ activeContextId,
31
40
  currentPage
32
41
  }), [
33
42
  config,
34
43
  currentPage,
35
- sidebar
44
+ sidebar,
45
+ contexts,
46
+ activeContextId
36
47
  ]),
37
48
  children
38
49
  });
@@ -104,6 +115,6 @@ function flattenSidebar(sidebar) {
104
115
  return result;
105
116
  }
106
117
  //#endregion
107
- export { ArdoProvider as a, useArdoContext as c, useArdoSiteConfig as d, useArdoTOC as f, ArdoPageDataProvider as i, useArdoPageData as l, getPrevNextLinks as n, ArdoSiteConfigProvider as o, ArdoContext as r, useArdoConfig as s, findCurrentSidebarItem as t, useArdoSidebar as u };
118
+ export { ArdoProvider as a, useArdoContext as c, useArdoSidebar as d, useArdoSiteConfig as f, ArdoPageDataProvider as i, useArdoContexts as l, getPrevNextLinks as n, ArdoSiteConfigProvider as o, useArdoTOC as p, ArdoContext as r, useArdoConfig as s, findCurrentSidebarItem as t, useArdoPageData as u };
108
119
 
109
- //# sourceMappingURL=sidebar-utils-1Skqle1Q.js.map
120
+ //# sourceMappingURL=sidebar-utils-C06DJsx4.js.map