ardo 3.1.0 → 3.2.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.
- package/README.md +9 -19
- package/dist/DocPage-BVibJR9O.js +997 -0
- package/dist/DocPage-BVibJR9O.js.map +1 -0
- package/dist/assets/src/ui/Breadcrumb.css.ts.vanilla-Dpgq-C_p.css +20 -0
- package/dist/assets/src/ui/DocPage.css.ts.vanilla-CXKuz4U-.css +34 -0
- package/dist/assets/src/ui/Footer.css.ts.vanilla-BSzPIPt4.css +100 -0
- package/dist/assets/src/ui/Header.css.ts.vanilla-8QL0Jzgk.css +156 -0
- package/dist/assets/src/ui/Layout.css.ts.vanilla-Bpx_-gJt.css +67 -0
- package/dist/assets/src/ui/Nav.css.ts.vanilla-CsAQjogy.css +51 -0
- package/dist/assets/src/ui/Sidebar.css.ts.vanilla-D70qXTEr.css +115 -0
- package/dist/assets/src/ui/TOC.css.ts.vanilla-435FKDcl.css +52 -0
- package/dist/assets/src/ui/components/ApiItem.css.ts.vanilla-B_DW-1iJ.css +218 -0
- package/dist/assets/src/ui/components/CodeBlock.css.ts.vanilla-lNKqskjQ.css +182 -0
- package/dist/assets/src/ui/components/Container.css.ts.vanilla-CUhRUA9t.css +80 -0
- package/dist/assets/src/ui/components/CopyButton.css.ts.vanilla-DZZ5jgTM.css +24 -0
- package/dist/assets/src/ui/components/Features.css.ts.vanilla-D-pNXM9Q.css +129 -0
- package/dist/assets/src/ui/components/Hero.css.ts.vanilla-DHJVZ6GX.css +134 -0
- package/dist/assets/src/ui/components/Search.css.ts.vanilla-BYpWHzky.css +135 -0
- package/dist/assets/src/ui/components/Steps.css.ts.vanilla-CisaxeNj.css +59 -0
- package/dist/assets/src/ui/components/Tabs.css.ts.vanilla-C4-vJSnf.css +30 -0
- package/dist/assets/src/ui/components/ThemeToggle.css.ts.vanilla---sSUELC.css +22 -0
- package/dist/assets/src/ui/content.css.ts.vanilla-O_RaSPXm.css +106 -0
- package/dist/assets/src/ui/theme/animations.css.ts.vanilla-D6ImVUKy.css +10 -0
- package/dist/assets/src/ui/theme/dark.css.ts.vanilla-2iJgcpbU.css +87 -0
- package/dist/assets/src/ui/theme/light.css.ts.vanilla-CwinfWSf.css +87 -0
- package/dist/assets/src/ui/theme/reset.css.ts.vanilla-0Q3pLjfC.css +34 -0
- package/dist/config/index.d.ts +5 -5
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +54 -11
- package/dist/config/index.js.map +1 -1
- package/dist/contract.css-QS0y3-CM.d.ts +105 -0
- package/dist/contract.css-QS0y3-CM.d.ts.map +1 -0
- package/dist/generator-DcUomVnD.js +1193 -0
- package/dist/generator-DcUomVnD.js.map +1 -0
- package/dist/icons/index.d.ts +1 -1
- package/dist/icons/index.js +1 -2
- package/dist/index-DNKCjxv5.d.ts +78 -0
- package/dist/index-DNKCjxv5.d.ts.map +1 -0
- package/dist/index-DSeJoaxz.d.ts +938 -0
- package/dist/index-DSeJoaxz.d.ts.map +1 -0
- package/dist/index.d.ts +5 -8
- package/dist/index.js +6 -100
- package/dist/mdx/provider.d.ts +61 -4
- package/dist/mdx/provider.d.ts.map +1 -0
- package/dist/mdx/provider.js +89 -117
- package/dist/mdx/provider.js.map +1 -1
- package/dist/runtime/index.d.ts +2 -41
- package/dist/runtime/index.js +2 -28
- package/dist/sidebar-utils-1Skqle1Q.js +109 -0
- package/dist/sidebar-utils-1Skqle1Q.js.map +1 -0
- package/dist/theme/index.d.ts +201 -182
- package/dist/theme/index.d.ts.map +1 -0
- package/dist/theme/index.js +288 -128
- package/dist/theme/index.js.map +1 -1
- package/dist/typedoc/components/index.d.ts +55 -0
- package/dist/typedoc/components/index.d.ts.map +1 -0
- package/dist/typedoc/components/index.js +328 -0
- package/dist/typedoc/components/index.js.map +1 -0
- package/dist/typedoc/index.d.ts +34 -303
- package/dist/typedoc/index.d.ts.map +1 -0
- package/dist/typedoc/index.js +97 -268
- package/dist/typedoc/index.js.map +1 -1
- package/dist/types-DAZHcySL.d.ts +182 -0
- package/dist/types-DAZHcySL.d.ts.map +1 -0
- package/dist/types-DVodb4lK.d.ts +198 -0
- package/dist/types-DVodb4lK.d.ts.map +1 -0
- package/dist/ui/index.d.ts +2 -178
- package/dist/ui/index.js +3 -95
- package/dist/ui/styles.css +1401 -1335
- package/dist/ui/styles.d.ts +1 -2
- package/dist/ui/styles.js +23 -4
- package/dist/ui-NhRDIFUN.js +1301 -0
- package/dist/ui-NhRDIFUN.js.map +1 -0
- package/dist/vite/index.d.ts +72 -78
- package/dist/vite/index.d.ts.map +1 -0
- package/dist/vite/index.js +2918 -1282
- package/dist/vite/index.js.map +1 -1
- package/package.json +25 -17
- package/dist/Features-D_Pt7zpA.d.ts +0 -615
- package/dist/Search-DOJMNI2T.css +0 -193
- package/dist/Search-DOJMNI2T.css.map +0 -1
- package/dist/Search-VYYG3D43.js +0 -10
- package/dist/Search-VYYG3D43.js.map +0 -1
- package/dist/chunk-4YQE3TNM.js +0 -1
- package/dist/chunk-4YQE3TNM.js.map +0 -1
- package/dist/chunk-AXLJDGQL.js +0 -1
- package/dist/chunk-AXLJDGQL.js.map +0 -1
- package/dist/chunk-CZM5NX27.js +0 -909
- package/dist/chunk-CZM5NX27.js.map +0 -1
- package/dist/chunk-FZP2AVJL.js +0 -43
- package/dist/chunk-FZP2AVJL.js.map +0 -1
- package/dist/chunk-IEPSORG5.js +0 -444
- package/dist/chunk-IEPSORG5.js.map +0 -1
- package/dist/chunk-KUWEUO37.js +0 -1
- package/dist/chunk-KUWEUO37.js.map +0 -1
- package/dist/chunk-NBRHGTR2.js +0 -79
- package/dist/chunk-NBRHGTR2.js.map +0 -1
- package/dist/chunk-PGHUPTGL.js +0 -1035
- package/dist/chunk-PGHUPTGL.js.map +0 -1
- package/dist/chunk-PMS3P4MA.js +0 -43
- package/dist/chunk-PMS3P4MA.js.map +0 -1
- package/dist/chunk-QELSOHIY.js +0 -46
- package/dist/chunk-QELSOHIY.js.map +0 -1
- package/dist/chunk-R2QKY6G3.js +0 -1
- package/dist/chunk-R2QKY6G3.js.map +0 -1
- package/dist/chunk-ZPYQQZ7J.js +0 -210
- package/dist/chunk-ZPYQQZ7J.js.map +0 -1
- package/dist/icons/index.js.map +0 -1
- package/dist/index.css +0 -1290
- package/dist/index.css.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/mdx/provider.css +0 -403
- package/dist/mdx/provider.css.map +0 -1
- package/dist/runtime/index.js.map +0 -1
- package/dist/types-CLkHwCch.d.ts +0 -248
- package/dist/ui/index.css +0 -1290
- package/dist/ui/index.css.map +0 -1
- package/dist/ui/index.js.map +0 -1
- package/dist/ui/styles.css.map +0 -1
- package/dist/ui/styles.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generator-DcUomVnD.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 interface ResolvedTypeDocConfig extends Omit<TypeDocConfig, \"markdown\" | \"out\" | \"sidebar\"> {\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}\n\nexport interface 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 interface GroupedReflections {\n componentItems: DeclarationReflection[]\n functionsByFile: Map<string, DeclarationReflection[]>\n standaloneItems: DeclarationReflection[]\n typesByFile: Map<string, DeclarationReflection[]>\n}\n\nexport interface ReflectionNavigation {\n next: DeclarationReflection | null\n prev: DeclarationReflection | null\n}\n\nexport interface ComponentProp {\n description: string\n name: string\n optional: boolean\n type: string\n}\n\nexport interface 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 switch (kind) {\n case ReflectionKind.Interface:\n return \"Interfaces\"\n case ReflectionKind.TypeAlias:\n return \"Types\"\n case ReflectionKind.Class:\n return \"Classes\"\n case ReflectionKind.Variable:\n return \"Variables\"\n case ReflectionKind.Enum:\n return \"Enums\"\n default:\n return \"Other\"\n }\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: false, 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: false, 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: false, 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: false, 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: false, 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 type { DeclarationReflection, 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 (paramType == null || typeof paramType !== \"object\") {\n return null\n }\n\n const typeRecord = paramType as Record<string, unknown>\n if (typeof typeRecord.name === \"string\" && typeRecord.name.length > 0) {\n return typeRecord.name\n }\n\n if (typeRecord.type !== \"reference\") {\n return null\n }\n\n if (typeof typeRecord.qualifiedName === \"string\" && typeRecord.qualifiedName.length > 0) {\n return typeRecord.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 (paramType == null || typeof paramType !== \"object\") {\n return []\n }\n\n const withDeclaration = paramType as { declaration?: DeclarationReflection }\n const declaration = withDeclaration.declaration\n if (declaration == null) {\n return []\n }\n\n return extractPropsFromChildren(declaration.children ?? [])\n}\n\nfunction findReflectionByName(\n context: TypeDocRuntimeContext,\n typeName: string\n): DeclarationReflection | null {\n const direct = context.project.getChildByName(typeName)\n if (direct != null && \"children\" in direct) {\n return direct as DeclarationReflection\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 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 { type CommentPart, 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 as CommentPart[])\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 as CommentPart[]))\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 as CommentPart[]))\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 as CommentPart[]))\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 as CommentPart[])\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 }\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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"}
|
package/dist/icons/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from
|
|
1
|
+
export * from "lucide-react";
|
package/dist/icons/index.js
CHANGED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { a as PageData, f as TOCItem, l as SidebarItem, t as ArdoConfig } from "./types-DVodb4lK.js";
|
|
2
|
+
import * as _$react from "react";
|
|
3
|
+
import { ReactNode } from "react";
|
|
4
|
+
import * as _$react_jsx_runtime0 from "react/jsx-runtime";
|
|
5
|
+
|
|
6
|
+
//#region src/runtime/hooks.d.ts
|
|
7
|
+
interface ArdoContextValue {
|
|
8
|
+
config: ArdoConfig;
|
|
9
|
+
sidebar: SidebarItem[];
|
|
10
|
+
currentPage?: PageData;
|
|
11
|
+
}
|
|
12
|
+
declare const ArdoContext: _$react.Context<ArdoContextValue | null>;
|
|
13
|
+
declare function useArdoContext(): ArdoContextValue;
|
|
14
|
+
declare function useArdoConfig(): ArdoConfig;
|
|
15
|
+
declare function useArdoSidebar(): SidebarItem[];
|
|
16
|
+
declare function useArdoPageData(): PageData | undefined;
|
|
17
|
+
declare function useArdoTOC(): TOCItem[];
|
|
18
|
+
interface ArdoProviderProps {
|
|
19
|
+
config: ArdoConfig;
|
|
20
|
+
sidebar: SidebarItem[];
|
|
21
|
+
currentPage?: PageData;
|
|
22
|
+
children: ReactNode;
|
|
23
|
+
}
|
|
24
|
+
declare function ArdoProvider({
|
|
25
|
+
config,
|
|
26
|
+
sidebar,
|
|
27
|
+
currentPage,
|
|
28
|
+
children
|
|
29
|
+
}: ArdoProviderProps): _$react_jsx_runtime0.JSX.Element;
|
|
30
|
+
interface ArdoPageDataProviderProps {
|
|
31
|
+
frontmatter: PageData["frontmatter"];
|
|
32
|
+
toc: TOCItem[];
|
|
33
|
+
children: ReactNode;
|
|
34
|
+
}
|
|
35
|
+
declare function ArdoPageDataProvider({
|
|
36
|
+
frontmatter,
|
|
37
|
+
toc,
|
|
38
|
+
children
|
|
39
|
+
}: ArdoPageDataProviderProps): _$react_jsx_runtime0.JSX.Element;
|
|
40
|
+
interface ArdoSiteConfig {
|
|
41
|
+
editLink?: {
|
|
42
|
+
pattern: string;
|
|
43
|
+
text?: string;
|
|
44
|
+
};
|
|
45
|
+
lastUpdated?: {
|
|
46
|
+
enabled?: boolean;
|
|
47
|
+
text?: string;
|
|
48
|
+
formatOptions?: Intl.DateTimeFormatOptions;
|
|
49
|
+
};
|
|
50
|
+
tocLabel?: string;
|
|
51
|
+
}
|
|
52
|
+
declare function useArdoSiteConfig(): ArdoSiteConfig;
|
|
53
|
+
interface ArdoSiteConfigProviderProps {
|
|
54
|
+
value: ArdoSiteConfig;
|
|
55
|
+
children: ReactNode;
|
|
56
|
+
}
|
|
57
|
+
declare function ArdoSiteConfigProvider({
|
|
58
|
+
value,
|
|
59
|
+
children
|
|
60
|
+
}: ArdoSiteConfigProviderProps): _$react_jsx_runtime0.JSX.Element;
|
|
61
|
+
//#endregion
|
|
62
|
+
//#region src/runtime/sidebar-utils.d.ts
|
|
63
|
+
/**
|
|
64
|
+
* Find the current sidebar item based on the current path.
|
|
65
|
+
* This is client-safe and does not use any Node.js modules.
|
|
66
|
+
*/
|
|
67
|
+
declare function findCurrentSidebarItem(sidebar: SidebarItem[], currentPath: string): SidebarItem | undefined;
|
|
68
|
+
/**
|
|
69
|
+
* Get the previous and next sidebar items for navigation.
|
|
70
|
+
* This is client-safe and does not use any Node.js modules.
|
|
71
|
+
*/
|
|
72
|
+
declare function getPrevNextLinks(sidebar: SidebarItem[], currentPath: string): {
|
|
73
|
+
prev?: SidebarItem;
|
|
74
|
+
next?: SidebarItem;
|
|
75
|
+
};
|
|
76
|
+
//#endregion
|
|
77
|
+
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-DNKCjxv5.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-DNKCjxv5.d.ts","names":[],"sources":["../src/runtime/hooks.tsx","../src/runtime/sidebar-utils.ts"],"mappings":";;;;;;UAIU,gBAAA;EACR,MAAA,EAAQ,UAAA;EACR,OAAA,EAAS,WAAA;EACT,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,iBAKlB,eAAA,CAAA,GAAmB,QAAA;AAAA,iBAKnB,UAAA,CAAA,GAAc,OAAA;AAAA,UAKpB,iBAAA;EACR,MAAA,EAAQ,UAAA;EACR,OAAA,EAAS,WAAA;EACT,WAAA,GAAc,QAAA;EACd,QAAA,EAAU,SAAA;AAAA;AAAA,iBAGI,YAAA,CAAA;EAAe,MAAA;EAAQ,OAAA;EAAS,WAAA;EAAa;AAAA,GAAY,iBAAA,GAAiB,oBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,UAehF,yBAAA;EACR,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,UA0B7E,cAAA;EACf,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,UAI3B,2BAAA;EACR,KAAA,EAAO,cAAA;EACP,QAAA,EAAU,SAAA;AAAA;AAAA,iBAGI,sBAAA,CAAA;EAAyB,KAAA;EAAO;AAAA,GAAY,2BAAA,GAA2B,oBAAA,CAAA,GAAA,CAAA,OAAA;;;;;;;iBCzGvE,sBAAA,CACd,OAAA,EAAS,WAAA,IACT,WAAA,WACC,WAAA;ADP8E;;;;AAAA,iBC4BjE,gBAAA,CACd,OAAA,EAAS,WAAA,IACT,WAAA;EACG,IAAA,GAAO,WAAA;EAAa,IAAA,GAAO,WAAA;AAAA"}
|