ardo 3.5.0 → 3.6.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 (70) hide show
  1. package/README.md +1 -1
  2. package/dist/{DocPage-EIVMae_6.js → DocPage-Yt8MMpBg.js} +351 -67
  3. package/dist/DocPage-Yt8MMpBg.js.map +1 -0
  4. package/dist/assets/src/ui/components/Accordion.css.ts.vanilla-BPEoNgJt.css +103 -0
  5. package/dist/assets/src/ui/components/Badge.css.ts.vanilla-D9jsj0rg.css +44 -0
  6. package/dist/assets/src/ui/components/Card.css.ts.vanilla-CO6uiEzC.css +97 -0
  7. package/dist/assets/src/ui/theme/{dark.css.ts.vanilla-CSJkJvIz.css → dark.css.ts.vanilla-yFCWJiX4.css} +3 -0
  8. package/dist/assets/src/ui/theme/{light.css.ts.vanilla-CFz9jeJK.css → light.css.ts.vanilla-DDKnXFOi.css} +3 -0
  9. package/dist/{brand-icons-Di8w0Nu9.js → brand-icons-DBTSSnty.js} +1 -1
  10. package/dist/{brand-icons-Di8w0Nu9.js.map → brand-icons-DBTSSnty.js.map} +1 -1
  11. package/dist/config/index.d.ts +2 -2
  12. package/dist/config/index.d.ts.map +1 -1
  13. package/dist/config/index.js +5 -0
  14. package/dist/config/index.js.map +1 -1
  15. package/dist/{contract.css-eFQbUr4z.d.ts → contract.css-BwTjjNXQ.d.ts} +4 -1
  16. package/dist/contract.css-BwTjjNXQ.d.ts.map +1 -0
  17. package/dist/{favicon-Cx-inut3.js → favicon-DN3ymUVm.js} +1 -1
  18. package/dist/{favicon-Cx-inut3.js.map → favicon-DN3ymUVm.js.map} +1 -1
  19. package/dist/{generator-CYSyo4Vz.js → generator-Cc4WGRdf.js} +1 -1
  20. package/dist/{generator-CYSyo4Vz.js.map → generator-Cc4WGRdf.js.map} +1 -1
  21. package/dist/icons/index.d.ts +5 -6
  22. package/dist/icons/index.d.ts.map +1 -1
  23. package/dist/icons/index.js +1 -1
  24. package/dist/{index-CuMTHUxX.d.ts → index-BSWG2TdH.d.ts} +6 -8
  25. package/dist/index-BSWG2TdH.d.ts.map +1 -0
  26. package/dist/{index-BcekgOfA.d.ts → index-Dg1xEJ_Y.d.ts} +132 -45
  27. package/dist/index-Dg1xEJ_Y.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.d.ts +1 -1
  31. package/dist/mdx/provider.d.ts.map +1 -1
  32. package/dist/mdx/provider.js +6 -1
  33. package/dist/mdx/provider.js.map +1 -1
  34. package/dist/runtime/index.d.ts +2 -2
  35. package/dist/runtime/index.js +1 -1
  36. package/dist/{sidebar-utils-C06DJsx4.js → sidebar-utils-tTBVAPLE.js} +1 -1
  37. package/dist/{sidebar-utils-C06DJsx4.js.map → sidebar-utils-tTBVAPLE.js.map} +1 -1
  38. package/dist/theme/index.d.ts +7 -1
  39. package/dist/theme/index.d.ts.map +1 -1
  40. package/dist/theme/index.js +9 -0
  41. package/dist/theme/index.js.map +1 -1
  42. package/dist/typedoc/components/index.d.ts +8 -8
  43. package/dist/typedoc/components/index.d.ts.map +1 -1
  44. package/dist/typedoc/components/index.js.map +1 -1
  45. package/dist/typedoc/index.d.ts +1 -1
  46. package/dist/typedoc/index.d.ts.map +1 -1
  47. package/dist/typedoc/index.js +3 -3
  48. package/dist/typedoc/index.js.map +1 -1
  49. package/dist/{types-Ck2Vm7NB.d.ts → types-DZKj8kWR.d.ts} +1 -1
  50. package/dist/types-DZKj8kWR.d.ts.map +1 -0
  51. package/dist/{types-B75OhnGa.d.ts → types-iGO1oGpR.d.ts} +49 -4
  52. package/dist/types-iGO1oGpR.d.ts.map +1 -0
  53. package/dist/ui/index.d.ts +2 -2
  54. package/dist/ui/index.js +3 -3
  55. package/dist/ui/styles.css +206 -0
  56. package/dist/ui/styles.js +4 -2
  57. package/dist/{ui-B6X8gAvz.js → ui-Cs2nhBpA.js} +288 -131
  58. package/dist/ui-Cs2nhBpA.js.map +1 -0
  59. package/dist/vite/index.d.ts +1 -1
  60. package/dist/vite/index.d.ts.map +1 -1
  61. package/dist/vite/index.js +543 -33
  62. package/dist/vite/index.js.map +1 -1
  63. package/package.json +15 -15
  64. package/dist/DocPage-EIVMae_6.js.map +0 -1
  65. package/dist/contract.css-eFQbUr4z.d.ts.map +0 -1
  66. package/dist/index-BcekgOfA.d.ts.map +0 -1
  67. package/dist/index-CuMTHUxX.d.ts.map +0 -1
  68. package/dist/types-B75OhnGa.d.ts.map +0 -1
  69. package/dist/types-Ck2Vm7NB.d.ts.map +0 -1
  70. package/dist/ui-B6X8gAvz.js.map +0 -1
@@ -1,2 +1,2 @@
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";
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-tTBVAPLE.js";
2
2
  export { ArdoContext, ArdoPageDataProvider, ArdoProvider, ArdoSiteConfigProvider, findCurrentSidebarItem, getPrevNextLinks, useArdoConfig, useArdoContext, useArdoPageData, useArdoSidebar, useArdoSiteConfig, useArdoTOC };
@@ -117,4 +117,4 @@ function flattenSidebar(sidebar) {
117
117
  //#endregion
118
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 };
119
119
 
120
- //# sourceMappingURL=sidebar-utils-C06DJsx4.js.map
120
+ //# sourceMappingURL=sidebar-utils-tTBVAPLE.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar-utils-C06DJsx4.js","names":[],"sources":["../src/runtime/hooks.tsx","../src/runtime/sidebar-utils.ts"],"sourcesContent":["import { createContext, type ReactNode, use, useMemo } from \"react\"\n\nimport type { ArdoConfig, ArdoContextItem, PageData, SidebarItem, TOCItem } from \"../config/types\"\n\ntype ArdoContextValue = {\n config: ArdoConfig\n sidebar: SidebarItem[]\n contexts?: ArdoContextItem[]\n activeContextId?: string\n currentPage?: PageData\n}\n\nconst ArdoContext = createContext<ArdoContextValue | null>(null)\n\nexport function useArdoContext(): ArdoContextValue {\n const context = use(ArdoContext)\n if (!context) {\n throw new Error(\"useArdoContext must be used within an ArdoProvider\")\n }\n return context\n}\n\nexport function useArdoConfig(): ArdoConfig {\n const { config } = useArdoContext()\n return config\n}\n\nexport function useArdoSidebar(): SidebarItem[] {\n const { sidebar } = useArdoContext()\n return sidebar\n}\n\nexport function useArdoContexts(): {\n activeId: string | undefined\n items: ArdoContextItem[]\n} {\n const { contexts, activeContextId } = useArdoContext()\n return { items: contexts ?? [], activeId: activeContextId }\n}\n\nexport function useArdoPageData(): PageData | undefined {\n const { currentPage } = useArdoContext()\n return currentPage\n}\n\nexport function useArdoTOC(): TOCItem[] {\n const { currentPage } = useArdoContext()\n return currentPage?.toc ?? []\n}\n\ntype ArdoProviderProps = {\n config: ArdoConfig\n sidebar: SidebarItem[]\n contexts?: ArdoContextItem[]\n activeContextId?: string\n currentPage?: PageData\n children: ReactNode\n}\n\nexport function ArdoProvider({\n config,\n sidebar,\n contexts,\n activeContextId,\n currentPage,\n children,\n}: ArdoProviderProps) {\n const contextValue = useMemo(\n () => ({ config, sidebar, contexts, activeContextId, currentPage }),\n [config, currentPage, sidebar, contexts, activeContextId]\n )\n return <ArdoContext value={contextValue}>{children}</ArdoContext>\n}\n\nexport { ArdoContext }\n\n// =============================================================================\n// ArdoPageDataProvider — injects page-level data (frontmatter, toc) into context\n// Used by the Vite transform to wrap MDX default exports.\n// =============================================================================\n\ntype ArdoPageDataProviderProps = {\n frontmatter: PageData[\"frontmatter\"]\n toc: TOCItem[]\n children: ReactNode\n}\n\nexport function ArdoPageDataProvider({ frontmatter, toc, children }: ArdoPageDataProviderProps) {\n const parent = use(ArdoContext)\n const pageData: PageData = useMemo(\n () => ({\n title: typeof frontmatter.title === \"string\" ? frontmatter.title : \"\",\n frontmatter,\n toc,\n content: \"\",\n filePath: \"\",\n relativePath: \"\",\n }),\n [frontmatter, toc]\n )\n const value = useMemo(\n () => (parent ? { ...parent, currentPage: pageData } : null),\n [parent, pageData]\n )\n\n if (!value) return <>{children}</>\n return <ArdoContext value={value}>{children}</ArdoContext>\n}\n\n// =============================================================================\n// ArdoSiteConfig — cross-cutting content settings (editLink, lastUpdated, TOC)\n// =============================================================================\n\nexport type ArdoSiteConfig = {\n editLink?: { pattern: string; text?: string }\n lastUpdated?: { enabled?: boolean; text?: string; formatOptions?: Intl.DateTimeFormatOptions }\n tocLabel?: string\n}\n\nconst ArdoSiteConfigContext = createContext<ArdoSiteConfig>({})\n\nexport function useArdoSiteConfig(): ArdoSiteConfig {\n return use(ArdoSiteConfigContext)\n}\n\ntype ArdoSiteConfigProviderProps = {\n value: ArdoSiteConfig\n children: ReactNode\n}\n\nexport function ArdoSiteConfigProvider({ value, children }: ArdoSiteConfigProviderProps) {\n return <ArdoSiteConfigContext value={value}>{children}</ArdoSiteConfigContext>\n}\n","import type { SidebarItem } from \"../config/types\"\n\n/**\n * Find the current sidebar item based on the current path.\n * This is client-safe and does not use any Node.js modules.\n */\nexport function findCurrentSidebarItem(\n sidebar: SidebarItem[],\n currentPath: string\n): SidebarItem | undefined {\n for (const item of sidebar) {\n if (item.link === currentPath) {\n return item\n }\n\n if (item.items) {\n const found = findCurrentSidebarItem(item.items, currentPath)\n if (found) {\n return found\n }\n }\n }\n\n return undefined\n}\n\n/**\n * Get the previous and next sidebar items for navigation.\n * This is client-safe and does not use any Node.js modules.\n */\nexport function getPrevNextLinks(\n sidebar: SidebarItem[],\n currentPath: string\n): { prev?: SidebarItem; next?: SidebarItem } {\n const flatItems = flattenSidebar(sidebar)\n const currentIndex = flatItems.findIndex((item) => item.link === currentPath)\n\n if (currentIndex === -1) {\n return {}\n }\n\n const prev = currentIndex > 0 ? flatItems[currentIndex - 1] : undefined\n const next = currentIndex < flatItems.length - 1 ? flatItems[currentIndex + 1] : undefined\n\n return { prev, next }\n}\n\nfunction flattenSidebar(sidebar: SidebarItem[]): SidebarItem[] {\n const result: SidebarItem[] = []\n\n for (const item of sidebar) {\n if ((item.link ?? \"\") !== \"\") {\n result.push(item)\n }\n\n if (item.items) {\n result.push(...flattenSidebar(item.items))\n }\n }\n\n return result\n}\n"],"mappings":";;;AAYA,MAAM,cAAc,cAAuC,KAAK;AAEhE,SAAgB,iBAAmC;CACjD,MAAM,UAAU,IAAI,YAAY;CAChC,IAAI,CAAC,SACH,MAAM,IAAI,MAAM,qDAAqD;CAEvE,OAAO;;AAGT,SAAgB,gBAA4B;CAC1C,MAAM,EAAE,WAAW,gBAAgB;CACnC,OAAO;;AAGT,SAAgB,iBAAgC;CAC9C,MAAM,EAAE,YAAY,gBAAgB;CACpC,OAAO;;AAGT,SAAgB,kBAGd;CACA,MAAM,EAAE,UAAU,oBAAoB,gBAAgB;CACtD,OAAO;EAAE,OAAO,YAAY,EAAE;EAAE,UAAU;EAAiB;;AAG7D,SAAgB,kBAAwC;CACtD,MAAM,EAAE,gBAAgB,gBAAgB;CACxC,OAAO;;AAGT,SAAgB,aAAwB;CACtC,MAAM,EAAE,gBAAgB,gBAAgB;CACxC,OAAO,aAAa,OAAO,EAAE;;AAY/B,SAAgB,aAAa,EAC3B,QACA,SACA,UACA,iBACA,aACA,YACoB;CAKpB,OAAO,oBAAC,aAAD;EAAa,OAJC,eACZ;GAAE;GAAQ;GAAS;GAAU;GAAiB;GAAa,GAClE;GAAC;GAAQ;GAAa;GAAS;GAAU;GAAgB,CAEpB;EAAG;EAAuB,CAAA;;AAgBnE,SAAgB,qBAAqB,EAAE,aAAa,KAAK,YAAuC;CAC9F,MAAM,SAAS,IAAI,YAAY;CAC/B,MAAM,WAAqB,eAClB;EACL,OAAO,OAAO,YAAY,UAAU,WAAW,YAAY,QAAQ;EACnE;EACA;EACA,SAAS;EACT,UAAU;EACV,cAAc;EACf,GACD,CAAC,aAAa,IAAI,CACnB;CACD,MAAM,QAAQ,cACL,SAAS;EAAE,GAAG;EAAQ,aAAa;EAAU,GAAG,MACvD,CAAC,QAAQ,SAAS,CACnB;CAED,IAAI,CAAC,OAAO,OAAO,oBAAA,UAAA,EAAG,UAAY,CAAA;CAClC,OAAO,oBAAC,aAAD;EAAoB;EAAQ;EAAuB,CAAA;;AAa5D,MAAM,wBAAwB,cAA8B,EAAE,CAAC;AAE/D,SAAgB,oBAAoC;CAClD,OAAO,IAAI,sBAAsB;;AAQnC,SAAgB,uBAAuB,EAAE,OAAO,YAAyC;CACvF,OAAO,oBAAC,uBAAD;EAA8B;EAAQ;EAAiC,CAAA;;;;;;;;AC7HhF,SAAgB,uBACd,SACA,aACyB;CACzB,KAAK,MAAM,QAAQ,SAAS;EAC1B,IAAI,KAAK,SAAS,aAChB,OAAO;EAGT,IAAI,KAAK,OAAO;GACd,MAAM,QAAQ,uBAAuB,KAAK,OAAO,YAAY;GAC7D,IAAI,OACF,OAAO;;;;;;;;AAYf,SAAgB,iBACd,SACA,aAC4C;CAC5C,MAAM,YAAY,eAAe,QAAQ;CACzC,MAAM,eAAe,UAAU,WAAW,SAAS,KAAK,SAAS,YAAY;CAE7E,IAAI,iBAAiB,IACnB,OAAO,EAAE;CAMX,OAAO;EAAE,MAHI,eAAe,IAAI,UAAU,eAAe,KAAK,KAAA;EAG/C,MAFF,eAAe,UAAU,SAAS,IAAI,UAAU,eAAe,KAAK,KAAA;EAE5D;;AAGvB,SAAS,eAAe,SAAuC;CAC7D,MAAM,SAAwB,EAAE;CAEhC,KAAK,MAAM,QAAQ,SAAS;EAC1B,KAAK,KAAK,QAAQ,QAAQ,IACxB,OAAO,KAAK,KAAK;EAGnB,IAAI,KAAK,OACP,OAAO,KAAK,GAAG,eAAe,KAAK,MAAM,CAAC;;CAI9C,OAAO"}
1
+ {"version":3,"file":"sidebar-utils-tTBVAPLE.js","names":[],"sources":["../src/runtime/hooks.tsx","../src/runtime/sidebar-utils.ts"],"sourcesContent":["import { createContext, type ReactNode, use, useMemo } from \"react\"\n\nimport type { ArdoConfig, ArdoContextItem, PageData, SidebarItem, TOCItem } from \"../config/types\"\n\ntype ArdoContextValue = {\n config: ArdoConfig\n sidebar: SidebarItem[]\n contexts?: ArdoContextItem[]\n activeContextId?: string\n currentPage?: PageData\n}\n\nconst ArdoContext = createContext<ArdoContextValue | null>(null)\n\nexport function useArdoContext(): ArdoContextValue {\n const context = use(ArdoContext)\n if (!context) {\n throw new Error(\"useArdoContext must be used within an ArdoProvider\")\n }\n return context\n}\n\nexport function useArdoConfig(): ArdoConfig {\n const { config } = useArdoContext()\n return config\n}\n\nexport function useArdoSidebar(): SidebarItem[] {\n const { sidebar } = useArdoContext()\n return sidebar\n}\n\nexport function useArdoContexts(): {\n activeId: string | undefined\n items: ArdoContextItem[]\n} {\n const { contexts, activeContextId } = useArdoContext()\n return { items: contexts ?? [], activeId: activeContextId }\n}\n\nexport function useArdoPageData(): PageData | undefined {\n const { currentPage } = useArdoContext()\n return currentPage\n}\n\nexport function useArdoTOC(): TOCItem[] {\n const { currentPage } = useArdoContext()\n return currentPage?.toc ?? []\n}\n\ntype ArdoProviderProps = {\n config: ArdoConfig\n sidebar: SidebarItem[]\n contexts?: ArdoContextItem[]\n activeContextId?: string\n currentPage?: PageData\n children: ReactNode\n}\n\nexport function ArdoProvider({\n config,\n sidebar,\n contexts,\n activeContextId,\n currentPage,\n children,\n}: ArdoProviderProps) {\n const contextValue = useMemo(\n () => ({ config, sidebar, contexts, activeContextId, currentPage }),\n [config, currentPage, sidebar, contexts, activeContextId]\n )\n return <ArdoContext value={contextValue}>{children}</ArdoContext>\n}\n\nexport { ArdoContext }\n\n// =============================================================================\n// ArdoPageDataProvider — injects page-level data (frontmatter, toc) into context\n// Used by the Vite transform to wrap MDX default exports.\n// =============================================================================\n\ntype ArdoPageDataProviderProps = {\n frontmatter: PageData[\"frontmatter\"]\n toc: TOCItem[]\n children: ReactNode\n}\n\nexport function ArdoPageDataProvider({ frontmatter, toc, children }: ArdoPageDataProviderProps) {\n const parent = use(ArdoContext)\n const pageData: PageData = useMemo(\n () => ({\n title: typeof frontmatter.title === \"string\" ? frontmatter.title : \"\",\n frontmatter,\n toc,\n content: \"\",\n filePath: \"\",\n relativePath: \"\",\n }),\n [frontmatter, toc]\n )\n const value = useMemo(\n () => (parent ? { ...parent, currentPage: pageData } : null),\n [parent, pageData]\n )\n\n if (!value) return <>{children}</>\n return <ArdoContext value={value}>{children}</ArdoContext>\n}\n\n// =============================================================================\n// ArdoSiteConfig — cross-cutting content settings (editLink, lastUpdated, TOC)\n// =============================================================================\n\nexport type ArdoSiteConfig = {\n editLink?: { pattern: string; text?: string }\n lastUpdated?: { enabled?: boolean; text?: string; formatOptions?: Intl.DateTimeFormatOptions }\n tocLabel?: string\n}\n\nconst ArdoSiteConfigContext = createContext<ArdoSiteConfig>({})\n\nexport function useArdoSiteConfig(): ArdoSiteConfig {\n return use(ArdoSiteConfigContext)\n}\n\ntype ArdoSiteConfigProviderProps = {\n value: ArdoSiteConfig\n children: ReactNode\n}\n\nexport function ArdoSiteConfigProvider({ value, children }: ArdoSiteConfigProviderProps) {\n return <ArdoSiteConfigContext value={value}>{children}</ArdoSiteConfigContext>\n}\n","import type { SidebarItem } from \"../config/types\"\n\n/**\n * Find the current sidebar item based on the current path.\n * This is client-safe and does not use any Node.js modules.\n */\nexport function findCurrentSidebarItem(\n sidebar: SidebarItem[],\n currentPath: string\n): SidebarItem | undefined {\n for (const item of sidebar) {\n if (item.link === currentPath) {\n return item\n }\n\n if (item.items) {\n const found = findCurrentSidebarItem(item.items, currentPath)\n if (found) {\n return found\n }\n }\n }\n\n return undefined\n}\n\n/**\n * Get the previous and next sidebar items for navigation.\n * This is client-safe and does not use any Node.js modules.\n */\nexport function getPrevNextLinks(\n sidebar: SidebarItem[],\n currentPath: string\n): { prev?: SidebarItem; next?: SidebarItem } {\n const flatItems = flattenSidebar(sidebar)\n const currentIndex = flatItems.findIndex((item) => item.link === currentPath)\n\n if (currentIndex === -1) {\n return {}\n }\n\n const prev = currentIndex > 0 ? flatItems[currentIndex - 1] : undefined\n const next = currentIndex < flatItems.length - 1 ? flatItems[currentIndex + 1] : undefined\n\n return { prev, next }\n}\n\nfunction flattenSidebar(sidebar: SidebarItem[]): SidebarItem[] {\n const result: SidebarItem[] = []\n\n for (const item of sidebar) {\n if ((item.link ?? \"\") !== \"\") {\n result.push(item)\n }\n\n if (item.items) {\n result.push(...flattenSidebar(item.items))\n }\n }\n\n return result\n}\n"],"mappings":";;;AAYA,MAAM,cAAc,cAAuC,IAAI;AAE/D,SAAgB,iBAAmC;CACjD,MAAM,UAAU,IAAI,WAAW;CAC/B,IAAI,CAAC,SACH,MAAM,IAAI,MAAM,oDAAoD;CAEtE,OAAO;AACT;AAEA,SAAgB,gBAA4B;CAC1C,MAAM,EAAE,WAAW,eAAe;CAClC,OAAO;AACT;AAEA,SAAgB,iBAAgC;CAC9C,MAAM,EAAE,YAAY,eAAe;CACnC,OAAO;AACT;AAEA,SAAgB,kBAGd;CACA,MAAM,EAAE,UAAU,oBAAoB,eAAe;CACrD,OAAO;EAAE,OAAO,YAAY,CAAC;EAAG,UAAU;CAAgB;AAC5D;AAEA,SAAgB,kBAAwC;CACtD,MAAM,EAAE,gBAAgB,eAAe;CACvC,OAAO;AACT;AAEA,SAAgB,aAAwB;CACtC,MAAM,EAAE,gBAAgB,eAAe;CACvC,OAAO,aAAa,OAAO,CAAC;AAC9B;AAWA,SAAgB,aAAa,EAC3B,QACA,SACA,UACA,iBACA,aACA,YACoB;CAKpB,OAAO,oBAAC,aAAD;EAAa,OAJC,eACZ;GAAE;GAAQ;GAAS;GAAU;GAAiB;EAAY,IACjE;GAAC;GAAQ;GAAa;GAAS;GAAU;EAAe,CAEpB;EAAI;CAAsB,CAAA;AAClE;AAeA,SAAgB,qBAAqB,EAAE,aAAa,KAAK,YAAuC;CAC9F,MAAM,SAAS,IAAI,WAAW;CAC9B,MAAM,WAAqB,eAClB;EACL,OAAO,OAAO,YAAY,UAAU,WAAW,YAAY,QAAQ;EACnE;EACA;EACA,SAAS;EACT,UAAU;EACV,cAAc;CAChB,IACA,CAAC,aAAa,GAAG,CACnB;CACA,MAAM,QAAQ,cACL,SAAS;EAAE,GAAG;EAAQ,aAAa;CAAS,IAAI,MACvD,CAAC,QAAQ,QAAQ,CACnB;CAEA,IAAI,CAAC,OAAO,OAAO,oBAAA,UAAA,EAAG,SAAW,CAAA;CACjC,OAAO,oBAAC,aAAD;EAAoB;EAAQ;CAAsB,CAAA;AAC3D;AAYA,MAAM,wBAAwB,cAA8B,CAAC,CAAC;AAE9D,SAAgB,oBAAoC;CAClD,OAAO,IAAI,qBAAqB;AAClC;AAOA,SAAgB,uBAAuB,EAAE,OAAO,YAAyC;CACvF,OAAO,oBAAC,uBAAD;EAA8B;EAAQ;CAAgC,CAAA;AAC/E;;;;;;;AC9HA,SAAgB,uBACd,SACA,aACyB;CACzB,KAAK,MAAM,QAAQ,SAAS;EAC1B,IAAI,KAAK,SAAS,aAChB,OAAO;EAGT,IAAI,KAAK,OAAO;GACd,MAAM,QAAQ,uBAAuB,KAAK,OAAO,WAAW;GAC5D,IAAI,OACF,OAAO;EAEX;CACF;AAGF;;;;;AAMA,SAAgB,iBACd,SACA,aAC4C;CAC5C,MAAM,YAAY,eAAe,OAAO;CACxC,MAAM,eAAe,UAAU,WAAW,SAAS,KAAK,SAAS,WAAW;CAE5E,IAAI,iBAAiB,IACnB,OAAO,CAAC;CAMV,OAAO;EAAE,MAHI,eAAe,IAAI,UAAU,eAAe,KAAK,KAAA;EAG/C,MAFF,eAAe,UAAU,SAAS,IAAI,UAAU,eAAe,KAAK,KAAA;CAE7D;AACtB;AAEA,SAAS,eAAe,SAAuC;CAC7D,MAAM,SAAwB,CAAC;CAE/B,KAAK,MAAM,QAAQ,SAAS;EAC1B,KAAK,KAAK,QAAQ,QAAQ,IACxB,OAAO,KAAK,IAAI;EAGlB,IAAI,KAAK,OACP,OAAO,KAAK,GAAG,eAAe,KAAK,KAAK,CAAC;CAE7C;CAEA,OAAO;AACT"}
@@ -1,4 +1,4 @@
1
- import { t as vars } from "../contract.css-eFQbUr4z.js";
1
+ import { t as vars } from "../contract.css-BwTjjNXQ.js";
2
2
 
3
3
  //#region src/ui/theme/tokens.d.ts
4
4
  /**
@@ -108,6 +108,9 @@ declare function createTheme(primaryOrHues: ArdoBrandHues | number, secondaryArg
108
108
  badgeAmber: string;
109
109
  badgeAmberBg: string;
110
110
  badgeAmberBorder: string;
111
+ badgeRed: string;
112
+ badgeRedBg: string;
113
+ badgeRedBorder: string;
111
114
  badgePurple: string;
112
115
  badgePurpleBg: string;
113
116
  badgePurpleBorder: string;
@@ -214,6 +217,9 @@ declare function createTheme(primaryOrHues: ArdoBrandHues | number, secondaryArg
214
217
  badgeAmber: string;
215
218
  badgeAmberBg: string;
216
219
  badgeAmberBorder: string;
220
+ badgeRed: string;
221
+ badgeRedBg: string;
222
+ badgeRedBorder: string;
217
223
  badgePurple: string;
218
224
  badgePurpleBg: string;
219
225
  badgePurpleBorder: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../../src/ui/theme/tokens.ts"],"mappings":";;;;;;AAqNA;KAAY,aAAA;EACV,OAAA;EACA,SAAA;AAAA;AAAA,iBAGc,WAAA,CAAY,aAAA,EAAe,aAAA,WAAwB,YAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAenD,eAAA,CAAgB,aAAA,EAAe,aAAA,WAAwB,YAAA"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../src/ui/theme/tokens.ts"],"mappings":";;;;;;AA2NA;KAAY,aAAA;EACV,OAAA;EACA,SAAS;AAAA;AAAA,iBAGK,WAAA,CAAY,aAAA,EAAe,aAAa,WAAW,YAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAenD,eAAA,CAAgB,aAAA,EAAe,aAAa,WAAW,YAAA"}
@@ -53,6 +53,9 @@ var vars = {
53
53
  badgeAmber: "var(--ardo-color-badgeAmber)",
54
54
  badgeAmberBg: "var(--ardo-color-badgeAmberBg)",
55
55
  badgeAmberBorder: "var(--ardo-color-badgeAmberBorder)",
56
+ badgeRed: "var(--ardo-color-badgeRed)",
57
+ badgeRedBg: "var(--ardo-color-badgeRedBg)",
58
+ badgeRedBorder: "var(--ardo-color-badgeRedBorder)",
56
59
  badgePurple: "var(--ardo-color-badgePurple)",
57
60
  badgePurpleBg: "var(--ardo-color-badgePurpleBg)",
58
61
  badgePurpleBorder: "var(--ardo-color-badgePurpleBorder)",
@@ -215,6 +218,9 @@ function createLightColors(primary, secondary) {
215
218
  badgeAmber: oklch(.5, .14, 70),
216
219
  badgeAmberBg: oklch(.97, .03, 70),
217
220
  badgeAmberBorder: oklch(.88, .08, 70),
221
+ badgeRed: oklch(.5, .16, 25),
222
+ badgeRedBg: oklch(.97, .02, 25),
223
+ badgeRedBorder: oklch(.88, .07, 25),
218
224
  badgePurple: oklch(.45, .15, 300),
219
225
  badgePurpleBg: oklch(.97, .02, 300),
220
226
  badgePurpleBorder: oklch(.88, .06, 300),
@@ -277,6 +283,9 @@ function createDarkColors(primary, secondary) {
277
283
  badgeAmber: oklch(.7, .14, 70),
278
284
  badgeAmberBg: oklch(.22, .05, 70),
279
285
  badgeAmberBorder: oklch(.38, .1, 70),
286
+ badgeRed: oklch(.7, .14, 25),
287
+ badgeRedBg: oklch(.22, .04, 25),
288
+ badgeRedBorder: oklch(.35, .08, 25),
280
289
  badgePurple: oklch(.7, .14, 300),
281
290
  badgePurpleBg: oklch(.22, .04, 300),
282
291
  badgePurpleBorder: oklch(.35, .08, 300),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["fontHeading"],"sources":["../../src/ui/theme/contract.css.ts","../../src/ui/theme/tokens.ts"],"sourcesContent":["import { createGlobalThemeContract } from \"@vanilla-extract/css\"\n\nconst prefix = (value: string) => `ardo-${value}`\n\nexport const vars = createGlobalThemeContract(\n {\n color: {\n brand: null,\n brandLight: null,\n brandDark: null,\n brandSubtle: null,\n brandGradient: null,\n accent: null,\n accentLight: null,\n accentDark: null,\n accentSubtle: null,\n bg: null,\n bgSoft: null,\n bgMute: null,\n bgAlt: null,\n text: null,\n textLight: null,\n textLighter: null,\n border: null,\n borderLight: null,\n divider: null,\n sidebarBg: null,\n sidebarBorder: null,\n codeBg: null,\n codeBorder: null,\n codeShadow: null,\n shadowSm: null,\n shadowMd: null,\n shadowLg: null,\n tip: null,\n tipBg: null,\n tipBorder: null,\n warning: null,\n warningBg: null,\n warningBorder: null,\n danger: null,\n dangerBg: null,\n dangerBorder: null,\n info: null,\n infoBg: null,\n infoBorder: null,\n note: null,\n noteBg: null,\n noteBorder: null,\n badgeBlue: null,\n badgeBlueBg: null,\n badgeBlueBorder: null,\n badgeGreen: null,\n badgeGreenBg: null,\n badgeGreenBorder: null,\n badgeAmber: null,\n badgeAmberBg: null,\n badgeAmberBorder: null,\n badgePurple: null,\n badgePurpleBg: null,\n badgePurpleBorder: null,\n badgePink: null,\n badgePinkBg: null,\n badgePinkBorder: null,\n },\n layout: {\n sidebarWidth: null,\n tocWidth: null,\n contentMaxWidth: null,\n headerHeight: null,\n },\n transition: {\n fast: null,\n base: null,\n slow: null,\n },\n font: {\n family: null,\n mono: null,\n familyHeading: null,\n size: null,\n lineHeight: null,\n },\n fontSize: {\n xs: null,\n sm: null,\n base: null,\n lg: null,\n xl: null,\n \"2xl\": null,\n \"3xl\": null,\n },\n space: {\n xs: null,\n sm: null,\n smd: null,\n md: null,\n lg: null,\n xl: null,\n \"2xl\": null,\n \"3xl\": null,\n \"4xl\": null,\n section: null,\n content: null,\n },\n radius: {\n sm: null,\n base: null,\n lg: null,\n },\n },\n (_value, path) => prefix(path.join(\"-\"))\n)\n","/**\n * Pre-computed OKLCH color values for both light and dark themes.\n * No more `calc(var(...))` chains — all values are resolved here.\n */\n\nimport { createGlobalTheme } from \"@vanilla-extract/css\"\n\nimport { vars } from \"./contract.css\"\n\n// eslint-disable-next-line max-params -- mirrors CSS oklch() syntax\nconst oklch = (l: number, c: number, h: number, alpha?: number) =>\n alpha !== undefined ? `oklch(${l} ${c} ${h} / ${alpha})` : `oklch(${l} ${c} ${h})`\n\nconst fontFamily =\n 'system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif'\nconst fontMono =\n 'ui-monospace, SFMono-Regular, \"SF Mono\", Menlo, Consolas, \"Liberation Mono\", monospace'\n\nconst fontHeading = fontFamily\n\nconst shared = {\n layout: {\n sidebarWidth: \"20rem\",\n tocWidth: \"15rem\",\n contentMaxWidth: \"68ch\",\n headerHeight: \"3.5rem\",\n },\n transition: {\n fast: \"0.12s ease-out\",\n base: \"0.2s ease-out\",\n slow: \"0.35s ease-out\",\n },\n font: {\n family: fontFamily,\n mono: fontMono,\n familyHeading: fontHeading,\n size: \"1rem\",\n lineHeight: \"1.72\",\n },\n fontSize: {\n xs: \"0.75rem\",\n sm: \"0.875rem\",\n base: \"1rem\",\n lg: \"1.125rem\",\n xl: \"1.25rem\",\n \"2xl\": \"1.5rem\",\n \"3xl\": \"2rem\",\n },\n space: {\n xs: \"0.25rem\",\n sm: \"0.5rem\",\n smd: \"0.75rem\",\n md: \"1rem\",\n lg: \"1.5rem\",\n xl: \"2rem\",\n \"2xl\": \"3rem\",\n \"3xl\": \"4rem\",\n \"4xl\": \"6rem\",\n section: \"clamp(3rem, 6vw, 5rem)\",\n content: \"clamp(1.5rem, 3vw, 2.5rem)\",\n },\n radius: {\n sm: \"0.25rem\",\n base: \"0.5rem\",\n lg: \"0.75rem\",\n },\n}\n\nfunction createLightColors(primary: number, secondary: number) {\n // Neutrals carry the *primary* hue at very low chroma — the whole page\n // reads as faintly warm, never blue or pink. Code surfaces (further down)\n // explicitly use the secondary hue so they stay visibly cool against this\n // warm base.\n const neutralHue = primary\n return {\n brand: oklch(0.5, 0.1, primary),\n brandLight: oklch(0.62, 0.09, primary),\n brandDark: oklch(0.39, 0.11, primary),\n brandSubtle: oklch(0.955, 0.025, primary),\n brandGradient: `linear-gradient(135deg, ${oklch(0.5, 0.1, primary)} 0%, ${oklch(0.6, 0.075, primary + 16)} 100%)`,\n accent: oklch(0.5, 0.075, secondary),\n accentLight: oklch(0.62, 0.07, secondary),\n accentDark: oklch(0.38, 0.085, secondary),\n accentSubtle: oklch(0.963, 0.012, secondary),\n bg: oklch(0.992, 0.0015, neutralHue),\n bgSoft: oklch(0.975, 0.003, neutralHue),\n bgMute: oklch(0.955, 0.004, neutralHue),\n bgAlt: oklch(0.935, 0.005, neutralHue),\n text: oklch(0.17, 0.008, neutralHue),\n textLight: oklch(0.4, 0.007, neutralHue),\n textLighter: oklch(0.56, 0.005, neutralHue),\n border: oklch(0.88, 0.005, neutralHue),\n borderLight: oklch(0.925, 0.003, neutralHue),\n divider: oklch(0.89, 0.004, neutralHue),\n sidebarBg: oklch(0.965, 0.004, neutralHue),\n sidebarBorder: oklch(0.885, 0.005, neutralHue),\n // Code blocks live on the secondary (cool) hue — a visible step away\n // from the warm neutrals so the two surfaces never read as the same.\n codeBg: oklch(0.965, 0.012, secondary),\n codeBorder: oklch(0.88, 0.016, secondary),\n codeShadow: \"0 1px 2px oklch(0 0 0 / 0.025)\",\n shadowSm: \"0 1px 2px oklch(0 0 0 / 0.035), 0 1px 3px oklch(0 0 0 / 0.045)\",\n shadowMd: \"0 8px 18px oklch(0 0 0 / 0.045), 0 2px 6px oklch(0 0 0 / 0.035)\",\n shadowLg: \"0 18px 42px oklch(0 0 0 / 0.075), 0 6px 18px oklch(0 0 0 / 0.045)\",\n tip: oklch(0.5, 0.15, 155),\n tipBg: oklch(0.97, 0.025, 155),\n tipBorder: oklch(0.85, 0.08, 155),\n warning: oklch(0.55, 0.16, 45),\n warningBg: oklch(0.98, 0.03, 45),\n warningBorder: oklch(0.88, 0.1, 45),\n danger: oklch(0.5, 0.18, 25),\n dangerBg: oklch(0.97, 0.02, 25),\n dangerBorder: oklch(0.85, 0.1, 25),\n info: oklch(0.5, 0.14, 220),\n infoBg: oklch(0.97, 0.02, 220),\n infoBorder: oklch(0.85, 0.08, 220),\n note: oklch(0.5, 0.14, 270),\n noteBg: oklch(0.97, 0.02, 270),\n noteBorder: oklch(0.88, 0.08, 270),\n badgeBlue: oklch(0.45, 0.12, 250),\n badgeBlueBg: oklch(0.97, 0.02, 250),\n badgeBlueBorder: oklch(0.88, 0.06, 250),\n badgeGreen: oklch(0.42, 0.12, 155),\n badgeGreenBg: oklch(0.97, 0.02, 155),\n badgeGreenBorder: oklch(0.88, 0.06, 155),\n badgeAmber: oklch(0.5, 0.14, 70),\n badgeAmberBg: oklch(0.97, 0.03, 70),\n badgeAmberBorder: oklch(0.88, 0.08, 70),\n badgePurple: oklch(0.45, 0.15, 300),\n badgePurpleBg: oklch(0.97, 0.02, 300),\n badgePurpleBorder: oklch(0.88, 0.06, 300),\n badgePink: oklch(0.5, 0.14, 350),\n badgePinkBg: oklch(0.97, 0.02, 350),\n badgePinkBorder: oklch(0.88, 0.06, 350),\n }\n}\n\nfunction createDarkColors(primary: number, secondary: number) {\n // See note in createLightColors — neutrals follow the primary hue.\n const neutralHue = primary\n return {\n brand: oklch(0.74, 0.115, primary),\n brandLight: oklch(0.84, 0.1, primary),\n brandDark: oklch(0.62, 0.125, primary),\n brandSubtle: oklch(0.275, 0.06, primary),\n brandGradient: `linear-gradient(135deg, ${oklch(0.74, 0.115, primary)} 0%, ${oklch(0.81, 0.08, primary + 16)} 100%)`,\n accent: oklch(0.74, 0.08, secondary),\n accentLight: oklch(0.84, 0.07, secondary),\n accentDark: oklch(0.6, 0.09, secondary),\n accentSubtle: oklch(0.26, 0.03, secondary),\n bg: oklch(0.155, 0.008, neutralHue),\n bgSoft: oklch(0.195, 0.009, neutralHue),\n bgMute: oklch(0.255, 0.01, neutralHue),\n bgAlt: oklch(0.33, 0.01, neutralHue),\n text: oklch(0.94, 0.004, neutralHue),\n textLight: oklch(0.72, 0.007, neutralHue),\n textLighter: oklch(0.55, 0.007, neutralHue),\n border: oklch(0.285, 0.011, neutralHue),\n borderLight: oklch(0.35, 0.01, neutralHue),\n divider: oklch(0.29, 0.01, neutralHue),\n sidebarBg: oklch(0.13, 0.008, neutralHue),\n sidebarBorder: oklch(0.265, 0.011, neutralHue),\n // Code blocks live on the secondary (cool) hue — same split as light.\n codeBg: oklch(0.21, 0.016, secondary),\n codeBorder: oklch(0.33, 0.024, secondary),\n codeShadow: \"0 10px 26px oklch(0 0 0 / 0.18)\",\n shadowSm: \"0 1px 2px oklch(0 0 0 / 0.14), 0 1px 3px oklch(0 0 0 / 0.18)\",\n shadowMd: \"0 8px 18px oklch(0 0 0 / 0.18), 0 2px 6px oklch(0 0 0 / 0.12)\",\n shadowLg: \"0 20px 50px oklch(0 0 0 / 0.28), 0 8px 20px oklch(0 0 0 / 0.18)\",\n tip: oklch(0.5, 0.15, 155),\n tipBg: oklch(0.2, 0.04, 155),\n tipBorder: oklch(0.35, 0.1, 155),\n warning: oklch(0.55, 0.16, 45),\n warningBg: oklch(0.22, 0.05, 45),\n warningBorder: oklch(0.4, 0.12, 45),\n danger: oklch(0.5, 0.18, 25),\n dangerBg: oklch(0.2, 0.04, 25),\n dangerBorder: oklch(0.35, 0.1, 25),\n info: oklch(0.5, 0.14, 220),\n infoBg: oklch(0.2, 0.04, 220),\n infoBorder: oklch(0.35, 0.08, 220),\n note: oklch(0.5, 0.14, 270),\n noteBg: oklch(0.2, 0.04, 270),\n noteBorder: oklch(0.35, 0.08, 270),\n badgeBlue: oklch(0.7, 0.12, 250),\n badgeBlueBg: oklch(0.22, 0.04, 250),\n badgeBlueBorder: oklch(0.35, 0.08, 250),\n badgeGreen: oklch(0.65, 0.12, 155),\n badgeGreenBg: oklch(0.22, 0.04, 155),\n badgeGreenBorder: oklch(0.35, 0.08, 155),\n badgeAmber: oklch(0.7, 0.14, 70),\n badgeAmberBg: oklch(0.22, 0.05, 70),\n badgeAmberBorder: oklch(0.38, 0.1, 70),\n badgePurple: oklch(0.7, 0.14, 300),\n badgePurpleBg: oklch(0.22, 0.04, 300),\n badgePurpleBorder: oklch(0.35, 0.08, 300),\n badgePink: oklch(0.7, 0.14, 350),\n badgePinkBg: oklch(0.22, 0.04, 350),\n badgePinkBorder: oklch(0.35, 0.08, 350),\n }\n}\n\n/**\n * Default offset between primary and secondary hue. With the default primary\n * 356 this lands at 230 (cool slate-blue) — the documented duo-tone. Any\n * custom primary picks up an approximately complementary secondary.\n */\nconst DEFAULT_SECONDARY_OFFSET = 234\n\nfunction defaultSecondary(primary: number): number {\n return (primary + DEFAULT_SECONDARY_OFFSET) % 360\n}\n\nexport type ArdoBrandHues = {\n primary: number\n secondary?: number\n}\n\nexport function createTheme(primaryOrHues: ArdoBrandHues | number, secondaryArg?: number) {\n const primary = typeof primaryOrHues === \"number\" ? primaryOrHues : primaryOrHues.primary\n const explicitSecondary =\n typeof primaryOrHues === \"number\" ? secondaryArg : primaryOrHues.secondary\n const secondary = explicitSecondary ?? defaultSecondary(primary)\n return {\n light: { color: createLightColors(primary, secondary), ...shared },\n dark: { color: createDarkColors(primary, secondary), ...shared },\n }\n}\n\nconst defaultTheme = createTheme(356)\nexport const lightTokens = defaultTheme.light\nexport const darkTokens = defaultTheme.dark\n\nexport function applyBrandTheme(primaryOrHues: ArdoBrandHues | number, secondaryArg?: number) {\n const theme = createTheme(primaryOrHues, secondaryArg)\n createGlobalTheme(\":root\", vars, theme.light)\n createGlobalTheme(\".dark\", vars, theme.dark)\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["fontHeading"],"sources":["../../src/ui/theme/contract.css.ts","../../src/ui/theme/tokens.ts"],"sourcesContent":["import { createGlobalThemeContract } from \"@vanilla-extract/css\"\n\nconst prefix = (value: string) => `ardo-${value}`\n\nexport const vars = createGlobalThemeContract(\n {\n color: {\n brand: null,\n brandLight: null,\n brandDark: null,\n brandSubtle: null,\n brandGradient: null,\n accent: null,\n accentLight: null,\n accentDark: null,\n accentSubtle: null,\n bg: null,\n bgSoft: null,\n bgMute: null,\n bgAlt: null,\n text: null,\n textLight: null,\n textLighter: null,\n border: null,\n borderLight: null,\n divider: null,\n sidebarBg: null,\n sidebarBorder: null,\n codeBg: null,\n codeBorder: null,\n codeShadow: null,\n shadowSm: null,\n shadowMd: null,\n shadowLg: null,\n tip: null,\n tipBg: null,\n tipBorder: null,\n warning: null,\n warningBg: null,\n warningBorder: null,\n danger: null,\n dangerBg: null,\n dangerBorder: null,\n info: null,\n infoBg: null,\n infoBorder: null,\n note: null,\n noteBg: null,\n noteBorder: null,\n badgeBlue: null,\n badgeBlueBg: null,\n badgeBlueBorder: null,\n badgeGreen: null,\n badgeGreenBg: null,\n badgeGreenBorder: null,\n badgeAmber: null,\n badgeAmberBg: null,\n badgeAmberBorder: null,\n badgeRed: null,\n badgeRedBg: null,\n badgeRedBorder: null,\n badgePurple: null,\n badgePurpleBg: null,\n badgePurpleBorder: null,\n badgePink: null,\n badgePinkBg: null,\n badgePinkBorder: null,\n },\n layout: {\n sidebarWidth: null,\n tocWidth: null,\n contentMaxWidth: null,\n headerHeight: null,\n },\n transition: {\n fast: null,\n base: null,\n slow: null,\n },\n font: {\n family: null,\n mono: null,\n familyHeading: null,\n size: null,\n lineHeight: null,\n },\n fontSize: {\n xs: null,\n sm: null,\n base: null,\n lg: null,\n xl: null,\n \"2xl\": null,\n \"3xl\": null,\n },\n space: {\n xs: null,\n sm: null,\n smd: null,\n md: null,\n lg: null,\n xl: null,\n \"2xl\": null,\n \"3xl\": null,\n \"4xl\": null,\n section: null,\n content: null,\n },\n radius: {\n sm: null,\n base: null,\n lg: null,\n },\n },\n (_value, path) => prefix(path.join(\"-\"))\n)\n","/**\n * Pre-computed OKLCH color values for both light and dark themes.\n * No more `calc(var(...))` chains — all values are resolved here.\n */\n\nimport { createGlobalTheme } from \"@vanilla-extract/css\"\n\nimport { vars } from \"./contract.css\"\n\n// eslint-disable-next-line max-params -- mirrors CSS oklch() syntax\nconst oklch = (l: number, c: number, h: number, alpha?: number) =>\n alpha !== undefined ? `oklch(${l} ${c} ${h} / ${alpha})` : `oklch(${l} ${c} ${h})`\n\nconst fontFamily =\n 'system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif'\nconst fontMono =\n 'ui-monospace, SFMono-Regular, \"SF Mono\", Menlo, Consolas, \"Liberation Mono\", monospace'\n\nconst fontHeading = fontFamily\n\nconst shared = {\n layout: {\n sidebarWidth: \"20rem\",\n tocWidth: \"15rem\",\n contentMaxWidth: \"68ch\",\n headerHeight: \"3.5rem\",\n },\n transition: {\n fast: \"0.12s ease-out\",\n base: \"0.2s ease-out\",\n slow: \"0.35s ease-out\",\n },\n font: {\n family: fontFamily,\n mono: fontMono,\n familyHeading: fontHeading,\n size: \"1rem\",\n lineHeight: \"1.72\",\n },\n fontSize: {\n xs: \"0.75rem\",\n sm: \"0.875rem\",\n base: \"1rem\",\n lg: \"1.125rem\",\n xl: \"1.25rem\",\n \"2xl\": \"1.5rem\",\n \"3xl\": \"2rem\",\n },\n space: {\n xs: \"0.25rem\",\n sm: \"0.5rem\",\n smd: \"0.75rem\",\n md: \"1rem\",\n lg: \"1.5rem\",\n xl: \"2rem\",\n \"2xl\": \"3rem\",\n \"3xl\": \"4rem\",\n \"4xl\": \"6rem\",\n section: \"clamp(3rem, 6vw, 5rem)\",\n content: \"clamp(1.5rem, 3vw, 2.5rem)\",\n },\n radius: {\n sm: \"0.25rem\",\n base: \"0.5rem\",\n lg: \"0.75rem\",\n },\n}\n\nfunction createLightColors(primary: number, secondary: number) {\n // Neutrals carry the *primary* hue at very low chroma — the whole page\n // reads as faintly warm, never blue or pink. Code surfaces (further down)\n // explicitly use the secondary hue so they stay visibly cool against this\n // warm base.\n const neutralHue = primary\n return {\n brand: oklch(0.5, 0.1, primary),\n brandLight: oklch(0.62, 0.09, primary),\n brandDark: oklch(0.39, 0.11, primary),\n brandSubtle: oklch(0.955, 0.025, primary),\n brandGradient: `linear-gradient(135deg, ${oklch(0.5, 0.1, primary)} 0%, ${oklch(0.6, 0.075, primary + 16)} 100%)`,\n accent: oklch(0.5, 0.075, secondary),\n accentLight: oklch(0.62, 0.07, secondary),\n accentDark: oklch(0.38, 0.085, secondary),\n accentSubtle: oklch(0.963, 0.012, secondary),\n bg: oklch(0.992, 0.0015, neutralHue),\n bgSoft: oklch(0.975, 0.003, neutralHue),\n bgMute: oklch(0.955, 0.004, neutralHue),\n bgAlt: oklch(0.935, 0.005, neutralHue),\n text: oklch(0.17, 0.008, neutralHue),\n textLight: oklch(0.4, 0.007, neutralHue),\n textLighter: oklch(0.56, 0.005, neutralHue),\n border: oklch(0.88, 0.005, neutralHue),\n borderLight: oklch(0.925, 0.003, neutralHue),\n divider: oklch(0.89, 0.004, neutralHue),\n sidebarBg: oklch(0.965, 0.004, neutralHue),\n sidebarBorder: oklch(0.885, 0.005, neutralHue),\n // Code blocks live on the secondary (cool) hue — a visible step away\n // from the warm neutrals so the two surfaces never read as the same.\n codeBg: oklch(0.965, 0.012, secondary),\n codeBorder: oklch(0.88, 0.016, secondary),\n codeShadow: \"0 1px 2px oklch(0 0 0 / 0.025)\",\n shadowSm: \"0 1px 2px oklch(0 0 0 / 0.035), 0 1px 3px oklch(0 0 0 / 0.045)\",\n shadowMd: \"0 8px 18px oklch(0 0 0 / 0.045), 0 2px 6px oklch(0 0 0 / 0.035)\",\n shadowLg: \"0 18px 42px oklch(0 0 0 / 0.075), 0 6px 18px oklch(0 0 0 / 0.045)\",\n tip: oklch(0.5, 0.15, 155),\n tipBg: oklch(0.97, 0.025, 155),\n tipBorder: oklch(0.85, 0.08, 155),\n warning: oklch(0.55, 0.16, 45),\n warningBg: oklch(0.98, 0.03, 45),\n warningBorder: oklch(0.88, 0.1, 45),\n danger: oklch(0.5, 0.18, 25),\n dangerBg: oklch(0.97, 0.02, 25),\n dangerBorder: oklch(0.85, 0.1, 25),\n info: oklch(0.5, 0.14, 220),\n infoBg: oklch(0.97, 0.02, 220),\n infoBorder: oklch(0.85, 0.08, 220),\n note: oklch(0.5, 0.14, 270),\n noteBg: oklch(0.97, 0.02, 270),\n noteBorder: oklch(0.88, 0.08, 270),\n badgeBlue: oklch(0.45, 0.12, 250),\n badgeBlueBg: oklch(0.97, 0.02, 250),\n badgeBlueBorder: oklch(0.88, 0.06, 250),\n badgeGreen: oklch(0.42, 0.12, 155),\n badgeGreenBg: oklch(0.97, 0.02, 155),\n badgeGreenBorder: oklch(0.88, 0.06, 155),\n badgeAmber: oklch(0.5, 0.14, 70),\n badgeAmberBg: oklch(0.97, 0.03, 70),\n badgeAmberBorder: oklch(0.88, 0.08, 70),\n badgeRed: oklch(0.5, 0.16, 25),\n badgeRedBg: oklch(0.97, 0.02, 25),\n badgeRedBorder: oklch(0.88, 0.07, 25),\n badgePurple: oklch(0.45, 0.15, 300),\n badgePurpleBg: oklch(0.97, 0.02, 300),\n badgePurpleBorder: oklch(0.88, 0.06, 300),\n badgePink: oklch(0.5, 0.14, 350),\n badgePinkBg: oklch(0.97, 0.02, 350),\n badgePinkBorder: oklch(0.88, 0.06, 350),\n }\n}\n\nfunction createDarkColors(primary: number, secondary: number) {\n // See note in createLightColors — neutrals follow the primary hue.\n const neutralHue = primary\n return {\n brand: oklch(0.74, 0.115, primary),\n brandLight: oklch(0.84, 0.1, primary),\n brandDark: oklch(0.62, 0.125, primary),\n brandSubtle: oklch(0.275, 0.06, primary),\n brandGradient: `linear-gradient(135deg, ${oklch(0.74, 0.115, primary)} 0%, ${oklch(0.81, 0.08, primary + 16)} 100%)`,\n accent: oklch(0.74, 0.08, secondary),\n accentLight: oklch(0.84, 0.07, secondary),\n accentDark: oklch(0.6, 0.09, secondary),\n accentSubtle: oklch(0.26, 0.03, secondary),\n bg: oklch(0.155, 0.008, neutralHue),\n bgSoft: oklch(0.195, 0.009, neutralHue),\n bgMute: oklch(0.255, 0.01, neutralHue),\n bgAlt: oklch(0.33, 0.01, neutralHue),\n text: oklch(0.94, 0.004, neutralHue),\n textLight: oklch(0.72, 0.007, neutralHue),\n textLighter: oklch(0.55, 0.007, neutralHue),\n border: oklch(0.285, 0.011, neutralHue),\n borderLight: oklch(0.35, 0.01, neutralHue),\n divider: oklch(0.29, 0.01, neutralHue),\n sidebarBg: oklch(0.13, 0.008, neutralHue),\n sidebarBorder: oklch(0.265, 0.011, neutralHue),\n // Code blocks live on the secondary (cool) hue — same split as light.\n codeBg: oklch(0.21, 0.016, secondary),\n codeBorder: oklch(0.33, 0.024, secondary),\n codeShadow: \"0 10px 26px oklch(0 0 0 / 0.18)\",\n shadowSm: \"0 1px 2px oklch(0 0 0 / 0.14), 0 1px 3px oklch(0 0 0 / 0.18)\",\n shadowMd: \"0 8px 18px oklch(0 0 0 / 0.18), 0 2px 6px oklch(0 0 0 / 0.12)\",\n shadowLg: \"0 20px 50px oklch(0 0 0 / 0.28), 0 8px 20px oklch(0 0 0 / 0.18)\",\n tip: oklch(0.5, 0.15, 155),\n tipBg: oklch(0.2, 0.04, 155),\n tipBorder: oklch(0.35, 0.1, 155),\n warning: oklch(0.55, 0.16, 45),\n warningBg: oklch(0.22, 0.05, 45),\n warningBorder: oklch(0.4, 0.12, 45),\n danger: oklch(0.5, 0.18, 25),\n dangerBg: oklch(0.2, 0.04, 25),\n dangerBorder: oklch(0.35, 0.1, 25),\n info: oklch(0.5, 0.14, 220),\n infoBg: oklch(0.2, 0.04, 220),\n infoBorder: oklch(0.35, 0.08, 220),\n note: oklch(0.5, 0.14, 270),\n noteBg: oklch(0.2, 0.04, 270),\n noteBorder: oklch(0.35, 0.08, 270),\n badgeBlue: oklch(0.7, 0.12, 250),\n badgeBlueBg: oklch(0.22, 0.04, 250),\n badgeBlueBorder: oklch(0.35, 0.08, 250),\n badgeGreen: oklch(0.65, 0.12, 155),\n badgeGreenBg: oklch(0.22, 0.04, 155),\n badgeGreenBorder: oklch(0.35, 0.08, 155),\n badgeAmber: oklch(0.7, 0.14, 70),\n badgeAmberBg: oklch(0.22, 0.05, 70),\n badgeAmberBorder: oklch(0.38, 0.1, 70),\n badgeRed: oklch(0.7, 0.14, 25),\n badgeRedBg: oklch(0.22, 0.04, 25),\n badgeRedBorder: oklch(0.35, 0.08, 25),\n badgePurple: oklch(0.7, 0.14, 300),\n badgePurpleBg: oklch(0.22, 0.04, 300),\n badgePurpleBorder: oklch(0.35, 0.08, 300),\n badgePink: oklch(0.7, 0.14, 350),\n badgePinkBg: oklch(0.22, 0.04, 350),\n badgePinkBorder: oklch(0.35, 0.08, 350),\n }\n}\n\n/**\n * Default offset between primary and secondary hue. With the default primary\n * 356 this lands at 230 (cool slate-blue) — the documented duo-tone. Any\n * custom primary picks up an approximately complementary secondary.\n */\nconst DEFAULT_SECONDARY_OFFSET = 234\n\nfunction defaultSecondary(primary: number): number {\n return (primary + DEFAULT_SECONDARY_OFFSET) % 360\n}\n\nexport type ArdoBrandHues = {\n primary: number\n secondary?: number\n}\n\nexport function createTheme(primaryOrHues: ArdoBrandHues | number, secondaryArg?: number) {\n const primary = typeof primaryOrHues === \"number\" ? primaryOrHues : primaryOrHues.primary\n const explicitSecondary =\n typeof primaryOrHues === \"number\" ? secondaryArg : primaryOrHues.secondary\n const secondary = explicitSecondary ?? defaultSecondary(primary)\n return {\n light: { color: createLightColors(primary, secondary), ...shared },\n dark: { color: createDarkColors(primary, secondary), ...shared },\n }\n}\n\nconst defaultTheme = createTheme(356)\nexport const lightTokens = defaultTheme.light\nexport const darkTokens = defaultTheme.dark\n\nexport function applyBrandTheme(primaryOrHues: ArdoBrandHues | number, secondaryArg?: number) {\n const theme = createTheme(primaryOrHues, secondaryArg)\n createGlobalTheme(\":root\", vars, theme.light)\n createGlobalTheme(\".dark\", vars, theme.dark)\n}\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { a as ApiDocReturn, c as ApiDocTypeParameter, i as ApiDocParameter, n as ApiDocItem, r as ApiDocKind } from "../../types-Ck2Vm7NB.js";
2
- import * as _$react_jsx_runtime0 from "react/jsx-runtime";
1
+ import { a as ApiDocReturn, c as ApiDocTypeParameter, i as ApiDocParameter, n as ApiDocItem, r as ApiDocKind } from "../../types-DZKj8kWR.js";
2
+ import { JSX } from "react";
3
3
 
4
4
  //#region src/typedoc/components/ApiItem.d.ts
5
5
  type ApiItemProps = {
@@ -9,19 +9,19 @@ type ApiItemProps = {
9
9
  declare function ApiItem({
10
10
  item,
11
11
  level
12
- }: ApiItemProps): _$react_jsx_runtime0.JSX.Element;
12
+ }: ApiItemProps): JSX.Element;
13
13
  type ApiKindBadgeProps = {
14
14
  kind: ApiDocKind;
15
15
  };
16
16
  declare function ApiKindBadge({
17
17
  kind
18
- }: ApiKindBadgeProps): _$react_jsx_runtime0.JSX.Element;
18
+ }: ApiKindBadgeProps): JSX.Element;
19
19
  type ApiHierarchyProps = {
20
20
  hierarchy: ApiDocItem["hierarchy"];
21
21
  };
22
22
  declare function ApiHierarchy({
23
23
  hierarchy
24
- }: ApiHierarchyProps): _$react_jsx_runtime0.JSX.Element | null;
24
+ }: ApiHierarchyProps): JSX.Element | null;
25
25
  //#endregion
26
26
  //#region src/typedoc/components/ApiSignature.d.ts
27
27
  type ApiSignatureProps = {
@@ -37,19 +37,19 @@ declare function ApiSignature({
37
37
  parameters,
38
38
  returns,
39
39
  className
40
- }: ApiSignatureProps): _$react_jsx_runtime0.JSX.Element;
40
+ }: ApiSignatureProps): import("react").JSX.Element;
41
41
  type ApiParametersTableProps = {
42
42
  parameters: ApiDocParameter[];
43
43
  };
44
44
  declare function ApiParametersTable({
45
45
  parameters
46
- }: ApiParametersTableProps): _$react_jsx_runtime0.JSX.Element | null;
46
+ }: ApiParametersTableProps): import("react").JSX.Element | null;
47
47
  type ApiReturnsProps = {
48
48
  returns: ApiDocReturn;
49
49
  };
50
50
  declare function ApiReturns({
51
51
  returns
52
- }: ApiReturnsProps): _$react_jsx_runtime0.JSX.Element;
52
+ }: ApiReturnsProps): import("react").JSX.Element;
53
53
  //#endregion
54
54
  export { ApiHierarchy, ApiItem, ApiKindBadge, ApiParametersTable, ApiReturns, ApiSignature };
55
55
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/typedoc/components/ApiItem.tsx","../../../src/typedoc/components/ApiSignature.tsx"],"mappings":";;;;KASK,YAAA;EACH,IAAA,EAAM,UAAA;EACN,KAAA;AAAA;AAAA,iBAGc,OAAA,CAAA;EAAU,IAAA;EAAM;AAAA,GAAa,YAAA,GAAY,oBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,KA2IpD,iBAAA;EACH,IAAA,EAAM,UAAA;AAAA;AAAA,iBAgBQ,YAAA,CAAA;EAAe;AAAA,GAAQ,iBAAA,GAAiB,oBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,KAsBnD,iBAAA;EACH,SAAA,EAAW,UAAA;AAAA;AAAA,iBAQG,YAAA,CAAA;EAAe;AAAA,GAAa,iBAAA,GAAiB,oBAAA,CAAA,GAAA,CAAA,OAAA;;;KCrMxD,iBAAA;EACH,IAAA;EACA,cAAA,GAAiB,mBAAA;EACjB,UAAA,GAAa,eAAA;EACb,OAAA,GAAU,YAAA;EACV,SAAA;AAAA;AAAA,iBAGc,YAAA,CAAA;EACd,IAAA;EACA,cAAA;EACA,UAAA;EACA,OAAA;EACA;AAAA,GACC,iBAAA,GAAiB,oBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,KAmDf,uBAAA;EACH,UAAA,EAAY,eAAA;AAAA;AAAA,iBAGE,kBAAA,CAAA;EAAqB;AAAA,GAAc,uBAAA,GAAuB,oBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,KA6CrE,eAAA;EACH,OAAA,EAAS,YAAA;AAAA;AAAA,iBAGK,UAAA,CAAA;EAAa;AAAA,GAAW,eAAA,GAAe,oBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/typedoc/components/ApiItem.tsx","../../../src/typedoc/components/ApiSignature.tsx"],"mappings":";;;;KASK,YAAA;EACH,IAAA,EAAM,UAAU;EAChB,KAAA;AAAA;AAAA,iBAGc,OAAA;EAAU,IAAA;EAAM;AAAA,GAAa,YAAA,GAAY,GAAA,CAAA,OAAA;AAAA,KA2IpD,iBAAA;EACH,IAAA,EAAM,UAAU;AAAA;AAAA,iBAgBF,YAAA;EAAe;AAAA,GAAQ,iBAAA,GAAiB,GAAA,CAAA,OAAA;AAAA,KAsBnD,iBAAA;EACH,SAAA,EAAW,UAAU;AAAA;AAAA,iBAQP,YAAA;EAAe;AAAA,GAAa,iBAAA,GAAiB,GAAA,CAAA,OAAA;;;KCrMxD,iBAAA;EACH,IAAA;EACA,cAAA,GAAiB,mBAAA;EACjB,UAAA,GAAa,eAAA;EACb,OAAA,GAAU,YAAA;EACV,SAAA;AAAA;AAAA,iBAGc,YAAA;EACd,IAAA;EACA,cAAA;EACA,UAAA;EACA,OAAA;EACA;AAAA,GACC,iBAAA,mBAAiB,GAAA,CAAA,OAAA;AAAA,KAmDf,uBAAA;EACH,UAAA,EAAY,eAAe;AAAA;AAAA,iBAGb,kBAAA;EAAqB;AAAA,GAAc,uBAAuB,mBAAA,GAAA,CAAA,OAAA;AAAA,KA6CrE,eAAA;EACH,OAAA,EAAS,YAAY;AAAA;AAAA,iBAGP,UAAA;EAAa;AAAA,GAAW,eAAe,mBAAA,GAAA,CAAA,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["styles.apiSignature","styles.apiSignatureCode","styles.apiKeyword","styles.apiFunctionName","styles.apiTypeParams","styles.apiParams","styles.apiReturnType","styles.apiParameters","styles.apiSectionTitle","styles.apiTable","styles.apiOptional","styles.apiDefault","styles.apiReturns","styles.apiItem","styles.apiItemDescription","styles.apiItemTitle","styles.apiItemName","styles.apiAnchor","styles.apiExamples","styles.apiSectionTitle","styles.apiExample","styles.apiSource","styles.apiChildren","styles.apiBadge","styles.apiHierarchy","styles.apiHierarchyList","styles.apiHierarchyLabel"],"sources":["../../../src/ui/components/ApiItem.css.ts","../../../src/typedoc/components/ApiSignature.tsx","../../../src/typedoc/components/ApiItem.tsx"],"sourcesContent":["import { globalStyle, style } from \"@vanilla-extract/css\"\nimport { recipe } from \"@vanilla-extract/recipes\"\n\nimport { vars } from \"../theme/contract.css\"\n\nexport const apiItem = style({\n margin: `${vars.space.xl} 0`,\n paddingBottom: vars.space.xl,\n borderBottom: `1px solid ${vars.color.border}`,\n selectors: {\n \"&:last-child\": {\n borderBottom: \"none\",\n },\n },\n})\n\nexport const apiItemTitle = style({\n display: \"flex\",\n alignItems: \"center\",\n gap: \"0.75rem\",\n marginBottom: \"0.75rem\",\n})\n\nexport const apiItemName = style({\n fontFamily: vars.font.mono,\n fontSize: vars.fontSize.base,\n fontWeight: 700,\n letterSpacing: \"-0.01em\",\n})\n\nexport const apiAnchor = style({\n color: vars.color.textLighter,\n textDecoration: \"none\",\n opacity: 0.4,\n transition: `opacity ${vars.transition.fast}`,\n})\n\nglobalStyle(`${apiItemTitle}:hover ${apiAnchor}`, {\n opacity: 0.8,\n})\n\nexport const apiItemDescription = style({\n color: vars.color.textLight,\n marginBottom: vars.space.md,\n lineHeight: 1.6,\n})\n\nexport const apiBadge = recipe({\n base: {\n display: \"inline-flex\",\n padding: \"0.125rem 0.5rem\",\n fontSize: vars.fontSize.xs,\n fontWeight: 700,\n textTransform: \"uppercase\",\n letterSpacing: \"0.05em\",\n borderRadius: vars.radius.sm,\n border: \"1px solid\",\n },\n variants: {\n kind: {\n class: {\n background: vars.color.badgeBlueBg,\n borderColor: vars.color.badgeBlueBorder,\n color: vars.color.badgeBlue,\n },\n interface: {\n background: vars.color.badgeGreenBg,\n borderColor: vars.color.badgeGreenBorder,\n color: vars.color.badgeGreen,\n },\n type: {\n background: vars.color.badgeAmberBg,\n borderColor: vars.color.badgeAmberBorder,\n color: vars.color.badgeAmber,\n },\n enum: {\n background: vars.color.badgePurpleBg,\n borderColor: vars.color.badgePurpleBorder,\n color: vars.color.badgePurple,\n },\n function: {\n background: vars.color.badgePinkBg,\n borderColor: vars.color.badgePinkBorder,\n color: vars.color.badgePink,\n },\n method: {\n background: vars.color.badgeBlueBg,\n borderColor: vars.color.badgeBlueBorder,\n color: vars.color.badgeBlue,\n },\n property: {\n background: vars.color.badgePurpleBg,\n borderColor: vars.color.badgePurpleBorder,\n color: vars.color.badgePurple,\n },\n },\n },\n})\n\nexport const apiSignature = style({\n margin: `${vars.space.md} 0`,\n})\n\nexport const apiSignatureCode = style({\n padding: `${vars.space.md} 1.25rem`,\n background: vars.color.codeBg,\n border: `1px solid ${vars.color.codeBorder}`,\n borderRadius: vars.radius.base,\n overflowX: \"auto\",\n fontFamily: vars.font.mono,\n fontSize: vars.fontSize.sm,\n lineHeight: 1.6,\n})\n\nexport const apiKeyword = style({\n color: \"oklch(0.55 0.2 25)\",\n selectors: { \".dark &\": { color: \"oklch(0.75 0.15 25)\" } },\n})\n\nexport const apiFunctionName = style({\n color: \"oklch(0.45 0.18 300)\",\n selectors: { \".dark &\": { color: \"oklch(0.75 0.14 300)\" } },\n})\n\nexport const apiTypeParams = style({\n color: \"oklch(0.45 0.14 250)\",\n selectors: { \".dark &\": { color: \"oklch(0.72 0.12 250)\" } },\n})\n\nexport const apiParams = style({\n color: vars.color.text,\n})\n\nexport const apiReturnType = style({\n color: \"oklch(0.45 0.14 250)\",\n selectors: { \".dark &\": { color: \"oklch(0.72 0.12 250)\" } },\n})\n\nexport const apiSectionTitle = style({\n fontSize: vars.fontSize.sm,\n fontWeight: 700,\n textTransform: \"uppercase\",\n letterSpacing: \"0.05em\",\n color: vars.color.textLighter,\n marginTop: vars.space.lg,\n marginBottom: \"0.75rem\",\n})\n\nexport const apiTable = style({\n width: \"100%\",\n margin: `0.75rem 0`,\n borderCollapse: \"collapse\",\n fontSize: vars.fontSize.sm,\n borderRadius: vars.radius.base,\n overflow: \"hidden\",\n border: `1px solid ${vars.color.border}`,\n})\n\nglobalStyle(`${apiTable} th, ${apiTable} td`, {\n padding: `0.75rem ${vars.space.sm}`,\n borderBottom: `1px solid ${vars.color.borderLight}`,\n textAlign: \"left\",\n})\n\nglobalStyle(`${apiTable} th`, {\n background: vars.color.bgSoft,\n fontWeight: 600,\n fontSize: vars.fontSize.xs,\n textTransform: \"uppercase\",\n letterSpacing: \"0.04em\",\n color: vars.color.textLighter,\n})\n\nglobalStyle(`${apiTable} code`, {\n fontSize: vars.fontSize.sm,\n})\n\nexport const apiOptional = style({\n fontSize: vars.fontSize.xs,\n color: vars.color.textLighter,\n marginLeft: vars.space.xs,\n})\n\nexport const apiDefault = style({\n display: \"block\",\n marginTop: vars.space.xs,\n fontSize: vars.fontSize.xs,\n color: vars.color.textLighter,\n})\n\nexport const apiReturns = style({\n margin: `${vars.space.md} 0`,\n})\n\nexport const apiExamples = style({\n margin: `${vars.space.md} 0`,\n})\n\nexport const apiExample = style({\n margin: `${vars.space.sm} 0`,\n padding: vars.space.md,\n background: vars.color.codeBg,\n border: `1px solid ${vars.color.codeBorder}`,\n borderRadius: vars.radius.base,\n overflowX: \"auto\",\n fontFamily: vars.font.mono,\n fontSize: vars.fontSize.sm,\n})\n\nexport const apiSource = style({\n marginTop: vars.space.md,\n fontSize: vars.fontSize.xs,\n color: vars.color.textLighter,\n})\n\nglobalStyle(`${apiSource} a`, {\n color: vars.color.brand,\n textDecoration: \"none\",\n})\n\nglobalStyle(`${apiSource} a:hover`, {\n textDecoration: \"underline\",\n})\n\nexport const apiHierarchy = style({\n margin: `${vars.space.md} 0`,\n})\n\nexport const apiHierarchyList = style({\n listStyle: \"none\",\n padding: 0,\n})\n\nglobalStyle(`${apiHierarchyList} li`, {\n display: \"flex\",\n alignItems: \"center\",\n gap: vars.space.sm,\n marginBottom: vars.space.xs,\n})\n\nexport const apiHierarchyLabel = style({\n fontSize: vars.fontSize.xs,\n color: vars.color.textLighter,\n minWidth: \"6.25rem\",\n})\n\nexport const apiChildren = style({\n marginTop: vars.space.lg,\n paddingLeft: \"1.25rem\",\n borderLeft: `2px solid ${vars.color.border}`,\n})\n\nexport const apiParameters = style({\n margin: `${vars.space.md} 0`,\n})\n","import type { ApiDocParameter, ApiDocReturn, ApiDocTypeParameter } from \"../types\"\n\nimport * as styles from \"../../ui/components/ApiItem.css\"\n\ntype ApiSignatureProps = {\n name: string\n typeParameters?: ApiDocTypeParameter[]\n parameters?: ApiDocParameter[]\n returns?: ApiDocReturn\n className?: string\n}\n\nexport function ApiSignature({\n name,\n typeParameters,\n parameters,\n returns,\n className = \"\",\n}: ApiSignatureProps) {\n const typeParamsStr = getTypeParametersText(typeParameters)\n const paramsStr = getParametersText(parameters)\n const returnStr = getReturnText(returns)\n\n return (\n <div className={`${styles.apiSignature} ${className}`}>\n <pre className={styles.apiSignatureCode}>\n <code>\n <span className={styles.apiKeyword}>function</span>{\" \"}\n <span className={styles.apiFunctionName}>{name}</span>\n {typeParamsStr.length > 0 ? (\n <span className={styles.apiTypeParams}>{typeParamsStr}</span>\n ) : null}\n <span className={styles.apiParams}>({paramsStr})</span>\n {returnStr.length > 0 ? <span className={styles.apiReturnType}>{returnStr}</span> : null}\n </code>\n </pre>\n </div>\n )\n}\n\nfunction getTypeParametersText(typeParameters: ApiDocTypeParameter[] | undefined): string {\n if (typeParameters == null || typeParameters.length === 0) {\n return \"\"\n }\n\n return `<${typeParameters.map((typeParameter) => typeParameter.name).join(\", \")}>`\n}\n\nfunction getParametersText(parameters: ApiDocParameter[] | undefined): string {\n if (parameters == null || parameters.length === 0) {\n return \"\"\n }\n\n return parameters\n .map((parameter) => {\n const optional = parameter.optional ? \"?\" : \"\"\n return `${parameter.name}${optional}: ${parameter.type}`\n })\n .join(\", \")\n}\n\nfunction getReturnText(returns: ApiDocReturn | undefined): string {\n if (returns?.type == null || returns.type.length === 0) {\n return \"\"\n }\n\n return `: ${returns.type}`\n}\n\ntype ApiParametersTableProps = {\n parameters: ApiDocParameter[]\n}\n\nexport function ApiParametersTable({ parameters }: ApiParametersTableProps) {\n if (parameters.length === 0) return null\n\n return (\n <div className={styles.apiParameters}>\n <h4 className={styles.apiSectionTitle}>Parameters</h4>\n <table className={styles.apiTable}>\n <thead>\n <tr>\n <th>Name</th>\n <th>Type</th>\n <th>Description</th>\n </tr>\n </thead>\n <tbody>\n {parameters.map((param) => {\n const hasDescription = param.description != null && param.description.length > 0\n const hasDefaultValue = param.defaultValue != null && param.defaultValue.length > 0\n\n return (\n <tr key={param.name}>\n <td>\n <code>{param.name}</code>\n {param.optional ? <span className={styles.apiOptional}>(optional)</span> : null}\n </td>\n <td>\n <code>{param.type}</code>\n </td>\n <td>\n {hasDescription ? param.description : null}\n {hasDefaultValue ? (\n <span className={styles.apiDefault}>\n Default: <code>{param.defaultValue}</code>\n </span>\n ) : null}\n </td>\n </tr>\n )\n })}\n </tbody>\n </table>\n </div>\n )\n}\n\ntype ApiReturnsProps = {\n returns: ApiDocReturn\n}\n\nexport function ApiReturns({ returns }: ApiReturnsProps) {\n const hasDescription = returns.description != null && returns.description.length > 0\n\n return (\n <div className={styles.apiReturns}>\n <h4 className={styles.apiSectionTitle}>Returns</h4>\n <p>\n <code>{returns.type}</code>\n {hasDescription ? <span> - {returns.description}</span> : null}\n </p>\n </div>\n )\n}\n","import type { JSX } from \"react\"\n\nimport type { ApiDocItem, ApiDocKind } from \"../types\"\n\nimport * as styles from \"../../ui/components/ApiItem.css\"\nimport { ApiParametersTable, ApiReturns, ApiSignature } from \"./ApiSignature\"\n\nconst HEADING_TAGS = [\"h1\", \"h2\", \"h3\", \"h4\", \"h5\", \"h6\"] as const\n\ntype ApiItemProps = {\n item: ApiDocItem\n level?: number\n}\n\nexport function ApiItem({ item, level = 2 }: ApiItemProps) {\n const HeadingTag = getHeadingTag(level)\n\n return (\n <div className={styles.apiItem} id={item.id}>\n <ApiItemHeader headingTag={HeadingTag} id={item.id} kind={item.kind} name={item.name} />\n <ApiItemDescription description={item.description} />\n <ApiItemSignature item={item} />\n <ApiItemParameters parameters={item.parameters} />\n <ApiItemReturns returns={item.returns} />\n <ApiExamples examples={item.examples} itemId={item.id} />\n <ApiSourceSection source={item.source} />\n <ApiChildren childItems={item.children} level={level} />\n </div>\n )\n}\n\nfunction getHeadingTag(level: number): (typeof HEADING_TAGS)[number] {\n const index = Math.min(Math.max(level, 1), 6) - 1\n return HEADING_TAGS[index] ?? \"h6\"\n}\n\nfunction ApiItemDescription(params: { description: string | undefined }) {\n const { description } = params\n const hasDescription = description != null && description.length > 0\n if (!hasDescription) {\n return null\n }\n return <p className={styles.apiItemDescription}>{description}</p>\n}\n\nfunction ApiItemSignature(params: { item: ApiDocItem }) {\n const { item } = params\n const hasSignature = item.signature != null && item.signature.length > 0\n if (!hasSignature) {\n return null\n }\n\n return (\n <ApiSignature\n name={item.name}\n typeParameters={item.typeParameters}\n parameters={item.parameters}\n returns={item.returns}\n />\n )\n}\n\nfunction ApiItemParameters(params: { parameters: ApiDocItem[\"parameters\"] }) {\n const { parameters } = params\n if (parameters == null || parameters.length === 0) {\n return null\n }\n return <ApiParametersTable parameters={parameters} />\n}\n\nfunction ApiItemReturns(params: { returns: ApiDocItem[\"returns\"] }) {\n const { returns } = params\n if (returns == null) {\n return null\n }\n return <ApiReturns returns={returns} />\n}\n\nfunction ApiItemHeader(params: {\n headingTag: keyof JSX.IntrinsicElements\n id: string\n kind: ApiDocKind\n name: string\n}) {\n const { headingTag: HeadingTag, id, kind, name } = params\n\n return (\n <HeadingTag className={styles.apiItemTitle}>\n <ApiKindBadge kind={kind} />\n <span className={styles.apiItemName}>{name}</span>\n <a href={`#${id}`} className={styles.apiAnchor}>\n #\n </a>\n </HeadingTag>\n )\n}\n\nfunction ApiExamples(params: { examples: null | string[] | undefined; itemId: string }) {\n const { examples, itemId } = params\n if (examples == null || examples.length === 0) {\n return null\n }\n\n return (\n <div className={styles.apiExamples}>\n <h4 className={styles.apiSectionTitle}>Examples</h4>\n {examples.map((example) => (\n <pre key={`${itemId}-${example}`} className={styles.apiExample}>\n <code>{example}</code>\n </pre>\n ))}\n </div>\n )\n}\n\nfunction ApiSourceSection(params: { source: ApiDocItem[\"source\"] }) {\n const { source } = params\n if (source == null) {\n return null\n }\n\n const hasSourceUrl = source.url != null && source.url.length > 0\n\n return (\n <div className={styles.apiSource}>\n {hasSourceUrl ? (\n <a href={source.url} target=\"_blank\" rel=\"noopener noreferrer\">\n {source.file}:{source.line}\n </a>\n ) : (\n <span>\n {source.file}:{source.line}\n </span>\n )}\n </div>\n )\n}\n\nfunction ApiChildren(params: { childItems: ApiDocItem[\"children\"]; level: number }) {\n const { childItems, level } = params\n if (childItems == null || childItems.length === 0) {\n return null\n }\n\n return (\n <div className={styles.apiChildren}>\n {childItems.map((child) => (\n <ApiItem key={child.id} item={child} level={level + 1} />\n ))}\n </div>\n )\n}\n\ntype ApiKindBadgeProps = {\n kind: ApiDocKind\n}\n\nconst badgeKinds: Record<\n string,\n NonNullable<NonNullable<Parameters<typeof styles.apiBadge>[0]>[\"kind\"]>\n> = {\n class: \"class\",\n interface: \"interface\",\n type: \"type\",\n enum: \"enum\",\n function: \"function\",\n method: \"method\",\n property: \"property\",\n}\n\nexport function ApiKindBadge({ kind }: ApiKindBadgeProps) {\n const kindLabels: Record<ApiDocKind, string> = {\n module: \"Module\",\n namespace: \"Namespace\",\n class: \"Class\",\n interface: \"Interface\",\n type: \"Type\",\n enum: \"Enum\",\n function: \"Function\",\n variable: \"Variable\",\n property: \"Property\",\n method: \"Method\",\n accessor: \"Accessor\",\n constructor: \"Constructor\",\n parameter: \"Parameter\",\n typeParameter: \"Type Parameter\",\n enumMember: \"Enum Member\",\n }\n\n return <span className={styles.apiBadge({ kind: badgeKinds[kind] })}>{kindLabels[kind]}</span>\n}\n\ntype ApiHierarchyProps = {\n hierarchy: ApiDocItem[\"hierarchy\"]\n}\n\ntype HierarchyEntry = {\n label: string\n types: string[]\n}\n\nexport function ApiHierarchy({ hierarchy }: ApiHierarchyProps) {\n if (hierarchy == null) {\n return null\n }\n\n const entries = collectHierarchyEntries(hierarchy)\n if (entries.length === 0) {\n return null\n }\n\n return (\n <div className={styles.apiHierarchy}>\n <h4 className={styles.apiSectionTitle}>Hierarchy</h4>\n <ul className={styles.apiHierarchyList}>\n {entries.flatMap((entry) =>\n entry.types.map((type) => (\n <li key={`${entry.label}-${type}`}>\n <span className={styles.apiHierarchyLabel}>{entry.label}</span>\n <code>{type}</code>\n </li>\n ))\n )}\n </ul>\n </div>\n )\n}\n\nfunction collectHierarchyEntries(\n hierarchy: NonNullable<ApiDocItem[\"hierarchy\"]>\n): HierarchyEntry[] {\n const entries: HierarchyEntry[] = []\n\n appendHierarchyEntry(entries, \"extends\", hierarchy.extends)\n appendHierarchyEntry(entries, \"implements\", hierarchy.implements)\n appendHierarchyEntry(entries, \"extended by\", hierarchy.extendedBy)\n appendHierarchyEntry(entries, \"implemented by\", hierarchy.implementedBy)\n\n return entries\n}\n\nfunction appendHierarchyEntry(\n entries: HierarchyEntry[],\n label: string,\n types: string[] | undefined\n): void {\n if (types != null && types.length > 0) {\n entries.push({ label, types })\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["styles.apiSignature","styles.apiSignatureCode","styles.apiKeyword","styles.apiFunctionName","styles.apiTypeParams","styles.apiParams","styles.apiReturnType","styles.apiParameters","styles.apiSectionTitle","styles.apiTable","styles.apiOptional","styles.apiDefault","styles.apiReturns","styles.apiItem","styles.apiItemDescription","styles.apiItemTitle","styles.apiItemName","styles.apiAnchor","styles.apiExamples","styles.apiSectionTitle","styles.apiExample","styles.apiSource","styles.apiChildren","styles.apiBadge","styles.apiHierarchy","styles.apiHierarchyList","styles.apiHierarchyLabel"],"sources":["../../../src/ui/components/ApiItem.css.ts","../../../src/typedoc/components/ApiSignature.tsx","../../../src/typedoc/components/ApiItem.tsx"],"sourcesContent":["import { globalStyle, style } from \"@vanilla-extract/css\"\nimport { recipe } from \"@vanilla-extract/recipes\"\n\nimport { vars } from \"../theme/contract.css\"\n\nexport const apiItem = style({\n margin: `${vars.space.xl} 0`,\n paddingBottom: vars.space.xl,\n borderBottom: `1px solid ${vars.color.border}`,\n selectors: {\n \"&:last-child\": {\n borderBottom: \"none\",\n },\n },\n})\n\nexport const apiItemTitle = style({\n display: \"flex\",\n alignItems: \"center\",\n gap: \"0.75rem\",\n marginBottom: \"0.75rem\",\n})\n\nexport const apiItemName = style({\n fontFamily: vars.font.mono,\n fontSize: vars.fontSize.base,\n fontWeight: 700,\n letterSpacing: \"-0.01em\",\n})\n\nexport const apiAnchor = style({\n color: vars.color.textLighter,\n textDecoration: \"none\",\n opacity: 0.4,\n transition: `opacity ${vars.transition.fast}`,\n})\n\nglobalStyle(`${apiItemTitle}:hover ${apiAnchor}`, {\n opacity: 0.8,\n})\n\nexport const apiItemDescription = style({\n color: vars.color.textLight,\n marginBottom: vars.space.md,\n lineHeight: 1.6,\n})\n\nexport const apiBadge = recipe({\n base: {\n display: \"inline-flex\",\n padding: \"0.125rem 0.5rem\",\n fontSize: vars.fontSize.xs,\n fontWeight: 700,\n textTransform: \"uppercase\",\n letterSpacing: \"0.05em\",\n borderRadius: vars.radius.sm,\n border: \"1px solid\",\n },\n variants: {\n kind: {\n class: {\n background: vars.color.badgeBlueBg,\n borderColor: vars.color.badgeBlueBorder,\n color: vars.color.badgeBlue,\n },\n interface: {\n background: vars.color.badgeGreenBg,\n borderColor: vars.color.badgeGreenBorder,\n color: vars.color.badgeGreen,\n },\n type: {\n background: vars.color.badgeAmberBg,\n borderColor: vars.color.badgeAmberBorder,\n color: vars.color.badgeAmber,\n },\n enum: {\n background: vars.color.badgePurpleBg,\n borderColor: vars.color.badgePurpleBorder,\n color: vars.color.badgePurple,\n },\n function: {\n background: vars.color.badgePinkBg,\n borderColor: vars.color.badgePinkBorder,\n color: vars.color.badgePink,\n },\n method: {\n background: vars.color.badgeBlueBg,\n borderColor: vars.color.badgeBlueBorder,\n color: vars.color.badgeBlue,\n },\n property: {\n background: vars.color.badgePurpleBg,\n borderColor: vars.color.badgePurpleBorder,\n color: vars.color.badgePurple,\n },\n },\n },\n})\n\nexport const apiSignature = style({\n margin: `${vars.space.md} 0`,\n})\n\nexport const apiSignatureCode = style({\n padding: `${vars.space.md} 1.25rem`,\n background: vars.color.codeBg,\n border: `1px solid ${vars.color.codeBorder}`,\n borderRadius: vars.radius.base,\n overflowX: \"auto\",\n fontFamily: vars.font.mono,\n fontSize: vars.fontSize.sm,\n lineHeight: 1.6,\n})\n\nexport const apiKeyword = style({\n color: \"oklch(0.55 0.2 25)\",\n selectors: { \".dark &\": { color: \"oklch(0.75 0.15 25)\" } },\n})\n\nexport const apiFunctionName = style({\n color: \"oklch(0.45 0.18 300)\",\n selectors: { \".dark &\": { color: \"oklch(0.75 0.14 300)\" } },\n})\n\nexport const apiTypeParams = style({\n color: \"oklch(0.45 0.14 250)\",\n selectors: { \".dark &\": { color: \"oklch(0.72 0.12 250)\" } },\n})\n\nexport const apiParams = style({\n color: vars.color.text,\n})\n\nexport const apiReturnType = style({\n color: \"oklch(0.45 0.14 250)\",\n selectors: { \".dark &\": { color: \"oklch(0.72 0.12 250)\" } },\n})\n\nexport const apiSectionTitle = style({\n fontSize: vars.fontSize.sm,\n fontWeight: 700,\n textTransform: \"uppercase\",\n letterSpacing: \"0.05em\",\n color: vars.color.textLighter,\n marginTop: vars.space.lg,\n marginBottom: \"0.75rem\",\n})\n\nexport const apiTable = style({\n width: \"100%\",\n margin: `0.75rem 0`,\n borderCollapse: \"collapse\",\n fontSize: vars.fontSize.sm,\n borderRadius: vars.radius.base,\n overflow: \"hidden\",\n border: `1px solid ${vars.color.border}`,\n})\n\nglobalStyle(`${apiTable} th, ${apiTable} td`, {\n padding: `0.75rem ${vars.space.sm}`,\n borderBottom: `1px solid ${vars.color.borderLight}`,\n textAlign: \"left\",\n})\n\nglobalStyle(`${apiTable} th`, {\n background: vars.color.bgSoft,\n fontWeight: 600,\n fontSize: vars.fontSize.xs,\n textTransform: \"uppercase\",\n letterSpacing: \"0.04em\",\n color: vars.color.textLighter,\n})\n\nglobalStyle(`${apiTable} code`, {\n fontSize: vars.fontSize.sm,\n})\n\nexport const apiOptional = style({\n fontSize: vars.fontSize.xs,\n color: vars.color.textLighter,\n marginLeft: vars.space.xs,\n})\n\nexport const apiDefault = style({\n display: \"block\",\n marginTop: vars.space.xs,\n fontSize: vars.fontSize.xs,\n color: vars.color.textLighter,\n})\n\nexport const apiReturns = style({\n margin: `${vars.space.md} 0`,\n})\n\nexport const apiExamples = style({\n margin: `${vars.space.md} 0`,\n})\n\nexport const apiExample = style({\n margin: `${vars.space.sm} 0`,\n padding: vars.space.md,\n background: vars.color.codeBg,\n border: `1px solid ${vars.color.codeBorder}`,\n borderRadius: vars.radius.base,\n overflowX: \"auto\",\n fontFamily: vars.font.mono,\n fontSize: vars.fontSize.sm,\n})\n\nexport const apiSource = style({\n marginTop: vars.space.md,\n fontSize: vars.fontSize.xs,\n color: vars.color.textLighter,\n})\n\nglobalStyle(`${apiSource} a`, {\n color: vars.color.brand,\n textDecoration: \"none\",\n})\n\nglobalStyle(`${apiSource} a:hover`, {\n textDecoration: \"underline\",\n})\n\nexport const apiHierarchy = style({\n margin: `${vars.space.md} 0`,\n})\n\nexport const apiHierarchyList = style({\n listStyle: \"none\",\n padding: 0,\n})\n\nglobalStyle(`${apiHierarchyList} li`, {\n display: \"flex\",\n alignItems: \"center\",\n gap: vars.space.sm,\n marginBottom: vars.space.xs,\n})\n\nexport const apiHierarchyLabel = style({\n fontSize: vars.fontSize.xs,\n color: vars.color.textLighter,\n minWidth: \"6.25rem\",\n})\n\nexport const apiChildren = style({\n marginTop: vars.space.lg,\n paddingLeft: \"1.25rem\",\n borderLeft: `2px solid ${vars.color.border}`,\n})\n\nexport const apiParameters = style({\n margin: `${vars.space.md} 0`,\n})\n","import type { ApiDocParameter, ApiDocReturn, ApiDocTypeParameter } from \"../types\"\n\nimport * as styles from \"../../ui/components/ApiItem.css\"\n\ntype ApiSignatureProps = {\n name: string\n typeParameters?: ApiDocTypeParameter[]\n parameters?: ApiDocParameter[]\n returns?: ApiDocReturn\n className?: string\n}\n\nexport function ApiSignature({\n name,\n typeParameters,\n parameters,\n returns,\n className = \"\",\n}: ApiSignatureProps) {\n const typeParamsStr = getTypeParametersText(typeParameters)\n const paramsStr = getParametersText(parameters)\n const returnStr = getReturnText(returns)\n\n return (\n <div className={`${styles.apiSignature} ${className}`}>\n <pre className={styles.apiSignatureCode}>\n <code>\n <span className={styles.apiKeyword}>function</span>{\" \"}\n <span className={styles.apiFunctionName}>{name}</span>\n {typeParamsStr.length > 0 ? (\n <span className={styles.apiTypeParams}>{typeParamsStr}</span>\n ) : null}\n <span className={styles.apiParams}>({paramsStr})</span>\n {returnStr.length > 0 ? <span className={styles.apiReturnType}>{returnStr}</span> : null}\n </code>\n </pre>\n </div>\n )\n}\n\nfunction getTypeParametersText(typeParameters: ApiDocTypeParameter[] | undefined): string {\n if (typeParameters == null || typeParameters.length === 0) {\n return \"\"\n }\n\n return `<${typeParameters.map((typeParameter) => typeParameter.name).join(\", \")}>`\n}\n\nfunction getParametersText(parameters: ApiDocParameter[] | undefined): string {\n if (parameters == null || parameters.length === 0) {\n return \"\"\n }\n\n return parameters\n .map((parameter) => {\n const optional = parameter.optional ? \"?\" : \"\"\n return `${parameter.name}${optional}: ${parameter.type}`\n })\n .join(\", \")\n}\n\nfunction getReturnText(returns: ApiDocReturn | undefined): string {\n if (returns?.type == null || returns.type.length === 0) {\n return \"\"\n }\n\n return `: ${returns.type}`\n}\n\ntype ApiParametersTableProps = {\n parameters: ApiDocParameter[]\n}\n\nexport function ApiParametersTable({ parameters }: ApiParametersTableProps) {\n if (parameters.length === 0) return null\n\n return (\n <div className={styles.apiParameters}>\n <h4 className={styles.apiSectionTitle}>Parameters</h4>\n <table className={styles.apiTable}>\n <thead>\n <tr>\n <th>Name</th>\n <th>Type</th>\n <th>Description</th>\n </tr>\n </thead>\n <tbody>\n {parameters.map((param) => {\n const hasDescription = param.description != null && param.description.length > 0\n const hasDefaultValue = param.defaultValue != null && param.defaultValue.length > 0\n\n return (\n <tr key={param.name}>\n <td>\n <code>{param.name}</code>\n {param.optional ? <span className={styles.apiOptional}>(optional)</span> : null}\n </td>\n <td>\n <code>{param.type}</code>\n </td>\n <td>\n {hasDescription ? param.description : null}\n {hasDefaultValue ? (\n <span className={styles.apiDefault}>\n Default: <code>{param.defaultValue}</code>\n </span>\n ) : null}\n </td>\n </tr>\n )\n })}\n </tbody>\n </table>\n </div>\n )\n}\n\ntype ApiReturnsProps = {\n returns: ApiDocReturn\n}\n\nexport function ApiReturns({ returns }: ApiReturnsProps) {\n const hasDescription = returns.description != null && returns.description.length > 0\n\n return (\n <div className={styles.apiReturns}>\n <h4 className={styles.apiSectionTitle}>Returns</h4>\n <p>\n <code>{returns.type}</code>\n {hasDescription ? <span> - {returns.description}</span> : null}\n </p>\n </div>\n )\n}\n","import type { JSX } from \"react\"\n\nimport type { ApiDocItem, ApiDocKind } from \"../types\"\n\nimport * as styles from \"../../ui/components/ApiItem.css\"\nimport { ApiParametersTable, ApiReturns, ApiSignature } from \"./ApiSignature\"\n\nconst HEADING_TAGS = [\"h1\", \"h2\", \"h3\", \"h4\", \"h5\", \"h6\"] as const\n\ntype ApiItemProps = {\n item: ApiDocItem\n level?: number\n}\n\nexport function ApiItem({ item, level = 2 }: ApiItemProps) {\n const HeadingTag = getHeadingTag(level)\n\n return (\n <div className={styles.apiItem} id={item.id}>\n <ApiItemHeader headingTag={HeadingTag} id={item.id} kind={item.kind} name={item.name} />\n <ApiItemDescription description={item.description} />\n <ApiItemSignature item={item} />\n <ApiItemParameters parameters={item.parameters} />\n <ApiItemReturns returns={item.returns} />\n <ApiExamples examples={item.examples} itemId={item.id} />\n <ApiSourceSection source={item.source} />\n <ApiChildren childItems={item.children} level={level} />\n </div>\n )\n}\n\nfunction getHeadingTag(level: number): (typeof HEADING_TAGS)[number] {\n const index = Math.min(Math.max(level, 1), 6) - 1\n return HEADING_TAGS[index] ?? \"h6\"\n}\n\nfunction ApiItemDescription(params: { description: string | undefined }) {\n const { description } = params\n const hasDescription = description != null && description.length > 0\n if (!hasDescription) {\n return null\n }\n return <p className={styles.apiItemDescription}>{description}</p>\n}\n\nfunction ApiItemSignature(params: { item: ApiDocItem }) {\n const { item } = params\n const hasSignature = item.signature != null && item.signature.length > 0\n if (!hasSignature) {\n return null\n }\n\n return (\n <ApiSignature\n name={item.name}\n typeParameters={item.typeParameters}\n parameters={item.parameters}\n returns={item.returns}\n />\n )\n}\n\nfunction ApiItemParameters(params: { parameters: ApiDocItem[\"parameters\"] }) {\n const { parameters } = params\n if (parameters == null || parameters.length === 0) {\n return null\n }\n return <ApiParametersTable parameters={parameters} />\n}\n\nfunction ApiItemReturns(params: { returns: ApiDocItem[\"returns\"] }) {\n const { returns } = params\n if (returns == null) {\n return null\n }\n return <ApiReturns returns={returns} />\n}\n\nfunction ApiItemHeader(params: {\n headingTag: keyof JSX.IntrinsicElements\n id: string\n kind: ApiDocKind\n name: string\n}) {\n const { headingTag: HeadingTag, id, kind, name } = params\n\n return (\n <HeadingTag className={styles.apiItemTitle}>\n <ApiKindBadge kind={kind} />\n <span className={styles.apiItemName}>{name}</span>\n <a href={`#${id}`} className={styles.apiAnchor}>\n #\n </a>\n </HeadingTag>\n )\n}\n\nfunction ApiExamples(params: { examples: null | string[] | undefined; itemId: string }) {\n const { examples, itemId } = params\n if (examples == null || examples.length === 0) {\n return null\n }\n\n return (\n <div className={styles.apiExamples}>\n <h4 className={styles.apiSectionTitle}>Examples</h4>\n {examples.map((example) => (\n <pre key={`${itemId}-${example}`} className={styles.apiExample}>\n <code>{example}</code>\n </pre>\n ))}\n </div>\n )\n}\n\nfunction ApiSourceSection(params: { source: ApiDocItem[\"source\"] }) {\n const { source } = params\n if (source == null) {\n return null\n }\n\n const hasSourceUrl = source.url != null && source.url.length > 0\n\n return (\n <div className={styles.apiSource}>\n {hasSourceUrl ? (\n <a href={source.url} target=\"_blank\" rel=\"noopener noreferrer\">\n {source.file}:{source.line}\n </a>\n ) : (\n <span>\n {source.file}:{source.line}\n </span>\n )}\n </div>\n )\n}\n\nfunction ApiChildren(params: { childItems: ApiDocItem[\"children\"]; level: number }) {\n const { childItems, level } = params\n if (childItems == null || childItems.length === 0) {\n return null\n }\n\n return (\n <div className={styles.apiChildren}>\n {childItems.map((child) => (\n <ApiItem key={child.id} item={child} level={level + 1} />\n ))}\n </div>\n )\n}\n\ntype ApiKindBadgeProps = {\n kind: ApiDocKind\n}\n\nconst badgeKinds: Record<\n string,\n NonNullable<NonNullable<Parameters<typeof styles.apiBadge>[0]>[\"kind\"]>\n> = {\n class: \"class\",\n interface: \"interface\",\n type: \"type\",\n enum: \"enum\",\n function: \"function\",\n method: \"method\",\n property: \"property\",\n}\n\nexport function ApiKindBadge({ kind }: ApiKindBadgeProps) {\n const kindLabels: Record<ApiDocKind, string> = {\n module: \"Module\",\n namespace: \"Namespace\",\n class: \"Class\",\n interface: \"Interface\",\n type: \"Type\",\n enum: \"Enum\",\n function: \"Function\",\n variable: \"Variable\",\n property: \"Property\",\n method: \"Method\",\n accessor: \"Accessor\",\n constructor: \"Constructor\",\n parameter: \"Parameter\",\n typeParameter: \"Type Parameter\",\n enumMember: \"Enum Member\",\n }\n\n return <span className={styles.apiBadge({ kind: badgeKinds[kind] })}>{kindLabels[kind]}</span>\n}\n\ntype ApiHierarchyProps = {\n hierarchy: ApiDocItem[\"hierarchy\"]\n}\n\ntype HierarchyEntry = {\n label: string\n types: string[]\n}\n\nexport function ApiHierarchy({ hierarchy }: ApiHierarchyProps) {\n if (hierarchy == null) {\n return null\n }\n\n const entries = collectHierarchyEntries(hierarchy)\n if (entries.length === 0) {\n return null\n }\n\n return (\n <div className={styles.apiHierarchy}>\n <h4 className={styles.apiSectionTitle}>Hierarchy</h4>\n <ul className={styles.apiHierarchyList}>\n {entries.flatMap((entry) =>\n entry.types.map((type) => (\n <li key={`${entry.label}-${type}`}>\n <span className={styles.apiHierarchyLabel}>{entry.label}</span>\n <code>{type}</code>\n </li>\n ))\n )}\n </ul>\n </div>\n )\n}\n\nfunction collectHierarchyEntries(\n hierarchy: NonNullable<ApiDocItem[\"hierarchy\"]>\n): HierarchyEntry[] {\n const entries: HierarchyEntry[] = []\n\n appendHierarchyEntry(entries, \"extends\", hierarchy.extends)\n appendHierarchyEntry(entries, \"implements\", hierarchy.implements)\n appendHierarchyEntry(entries, \"extended by\", hierarchy.extendedBy)\n appendHierarchyEntry(entries, \"implemented by\", hierarchy.implementedBy)\n\n return entries\n}\n\nfunction appendHierarchyEntry(\n entries: HierarchyEntry[],\n label: string,\n types: string[] | undefined\n): void {\n if (types != null && types.length > 0) {\n entries.push({ label, types })\n }\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { a as ApiDocReturn, c as ApiDocTypeParameter, i as ApiDocParameter, l as GeneratedApiDoc, n as ApiDocItem, o as ApiDocSource, r as ApiDocKind, s as ApiDocTag, t as ApiDocHierarchy, u as TypeDocConfig } from "../types-Ck2Vm7NB.js";
1
+ import { a as ApiDocReturn, c as ApiDocTypeParameter, i as ApiDocParameter, l as GeneratedApiDoc, n as ApiDocItem, o as ApiDocSource, r as ApiDocKind, s as ApiDocTag, t as ApiDocHierarchy, u as TypeDocConfig } from "../types-DZKj8kWR.js";
2
2
  import { Plugin } from "vite";
3
3
 
4
4
  //#region src/typedoc/generator.d.ts
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../../src/typedoc/generator.ts","../../src/typedoc/vite-plugin.ts"],"mappings":";;;;cAea,gBAAA;EAAA,iBACM,QAAA;EAAA,iBACA,MAAA;EAAA,iBACA,gBAAA;cAEL,MAAA,EAAQ,aAAA;EAKd,QAAA,CAAS,SAAA,WAAoB,OAAA,CAAQ,eAAA;EAAA,QAyB7B,wBAAA;EAAA,QAMA,kBAAA;EAAA,QAkBA,SAAA;EAAA,QAUA,cAAA;AAAA;AAAA,iBA8BM,eAAA,CACpB,MAAA,EAAQ,aAAA,EACR,SAAA,WACC,OAAA,CAAQ,eAAA;;;KC5GC,oBAAA;;ADMZ;;;ECDE,UAAA;EDW2C;;;;ECL3C,UAAA;EDHiB;;;;ECSjB,UAAA;AAAA,IACE,OAAA,CAAQ,aAAA;;;;iBAKI,aAAA,CAAc,OAAA,GAAS,oBAAA,GAA4B,MAAA;AAAA,iBAiGnD,oBAAA,CACd,MAAA,EAAQ,aAAA,EACR,UAAA,UACA,QAAA;EACG,KAAA;EAAmB,IAAA;AAAA"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../src/typedoc/generator.ts","../../src/typedoc/vite-plugin.ts"],"mappings":";;;;cAea,gBAAA;EAAA,iBACM,QAAA;EAAA,iBACA,MAAA;EAAA,iBACA,gBAAA;cAEL,MAAA,EAAQ,aAAA;EAKd,QAAA,CAAS,SAAA,WAAoB,OAAA,CAAQ,eAAA;EAAA,QAyB7B,wBAAA;EAAA,QAMA,kBAAA;EAAA,QAkBA,SAAA;EAAA,QAUA,cAAA;AAAA;AAAA,iBA8BM,eAAA,CACpB,MAAA,EAAQ,aAAA,EACR,SAAA,WACC,OAAA,CAAQ,eAAA;;;KC5GC,oBAAA;;ADMZ;;;ECDE,UAAA;EDW2C;;;;ECL3C,UAAA;EDHiB;;;;ECSjB,UAAA;AAAA,IACE,OAAO,CAAC,aAAA;;;;iBAKI,aAAA,CAAc,OAAA,GAAS,oBAAA,GAA4B,MAAM;AAAA,iBAiGzD,oBAAA,CACd,MAAA,EAAQ,aAAa,EACrB,UAAA,UACA,QAAA;EACG,KAAA;EAAmB,IAAA;AAAA"}
@@ -1,6 +1,6 @@
1
- import { n as generateApiDocs, t as TypeDocGenerator } from "../generator-CYSyo4Vz.js";
1
+ import { n as generateApiDocs, t as TypeDocGenerator } from "../generator-Cc4WGRdf.js";
2
2
  import path from "node:path";
3
- import fsSync from "node:fs";
3
+ import fs from "node:fs";
4
4
  //#region src/typedoc/vite-plugin.ts
5
5
  /**
6
6
  * Vite plugin for generating API documentation with TypeDoc.
@@ -81,7 +81,7 @@ function createTypedocWatcher(config, contentDir, onChange) {
81
81
  if (!config.watch || config.entryPoints.length === 0) return;
82
82
  const entryDir = path.dirname(config.entryPoints[0]);
83
83
  try {
84
- watcher = fsSync.watch(entryDir, { recursive: true }, (_event, filename) => {
84
+ watcher = fs.watch(entryDir, { recursive: true }, (_event, filename) => {
85
85
  if (filename != null) regenerateForChangedFile(filename);
86
86
  });
87
87
  } catch {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../src/typedoc/vite-plugin.ts"],"sourcesContent":["import type { Plugin } from \"vite\"\n\nimport fsSync, { type FSWatcher } from \"node:fs\"\nimport path from \"node:path\"\n\nimport type { TypeDocConfig } from \"./types\"\n\nimport { generateApiDocs } from \"./generator\"\n\nexport type TypeDocPluginOptions = {\n /**\n * Content directory where markdown files are stored\n * @default './content'\n */\n contentDir?: string\n\n /**\n * Run TypeDoc on every build\n * @default false in dev, true in build\n */\n runOnBuild?: boolean\n\n /**\n * Run TypeDoc on startup\n * @default true\n */\n runOnStart?: boolean\n} & Partial<TypeDocConfig>\n\n/**\n * Vite plugin for generating API documentation with TypeDoc.\n */\nexport function typedocPlugin(options: TypeDocPluginOptions = {}): Plugin {\n const { contentDir = \"./content\", runOnBuild, runOnStart = true } = options\n const typedocConfig = createTypedocConfig(options)\n\n let isBuilding = false\n let hasGenerated = false\n const generate = createGenerator({\n contentDir,\n onGenerated() {\n hasGenerated = true\n },\n typedocConfig,\n })\n\n return {\n name: \"ardo:typedoc\",\n\n async buildStart() {\n if (runOnStart && !hasGenerated) {\n await generate()\n }\n },\n\n async buildEnd() {\n if (isBuilding && runOnBuild !== false) {\n await generate()\n }\n },\n\n configResolved(resolvedConfig) {\n isBuilding = resolvedConfig.command === \"build\"\n },\n\n async handleHotUpdate({ file }) {\n if (shouldRegenerateForFile(file, typedocConfig)) {\n await generate()\n return []\n }\n },\n }\n}\n\nfunction createTypedocConfig(options: TypeDocPluginOptions): TypeDocConfig {\n const {\n enabled = true,\n entryPoints = [\"./src/index.ts\"],\n out = \"api-reference\",\n excludePrivate = true,\n excludeInternal = true,\n ...restConfig\n } = options\n\n return {\n ...restConfig,\n enabled,\n entryPoints,\n excludeInternal,\n excludePrivate,\n out,\n }\n}\n\nfunction shouldRegenerateForFile(file: string, config: TypeDocConfig): boolean {\n if (!config.watch) {\n return false\n }\n\n return config.entryPoints.some((entryPoint) => file.includes(entryPoint))\n}\n\nfunction createGenerator(params: {\n contentDir: string\n onGenerated: () => void\n typedocConfig: TypeDocConfig\n}): () => Promise<void> {\n const { contentDir, onGenerated, typedocConfig } = params\n\n return async () => {\n if (!typedocConfig.enabled) {\n return\n }\n\n console.log(\"[ardo] Generating API documentation with TypeDoc...\")\n const startTime = Date.now()\n\n try {\n const docs = await generateApiDocs(typedocConfig, contentDir)\n const duration = Date.now() - startTime\n console.log(`[ardo] Generated ${docs.length} API documentation pages in ${duration}ms`)\n onGenerated()\n } catch (error) {\n console.error(\"[ardo] TypeDoc generation failed:\", error)\n throw error\n }\n }\n}\n\nexport function createTypedocWatcher(\n config: TypeDocConfig,\n contentDir: string,\n onChange?: () => void\n): { start: () => void; stop: () => void } {\n let watcher: FSWatcher | null = null\n\n async function regenerateForChangedFile(filename: string): Promise<void> {\n if (!isSupportedTypedocFile(filename)) {\n return\n }\n\n console.log(`[ardo] Source file changed: ${filename}`)\n await generateApiDocs(config, contentDir)\n onChange?.()\n }\n\n return {\n start() {\n if (!config.watch || config.entryPoints.length === 0) {\n return\n }\n\n const entryDir = path.dirname(config.entryPoints[0])\n try {\n watcher = fsSync.watch(entryDir, { recursive: true }, (_event, filename) => {\n if (filename != null) {\n void regenerateForChangedFile(filename)\n }\n })\n } catch {\n console.warn(\"[ardo] Could not start TypeDoc watcher\")\n }\n },\n\n stop() {\n if (watcher != null) {\n watcher.close()\n watcher = null\n }\n },\n }\n}\n\nfunction isSupportedTypedocFile(filename: string): boolean {\n return filename.endsWith(\".ts\") || filename.endsWith(\".tsx\")\n}\n"],"mappings":";;;;;;;AAgCA,SAAgB,cAAc,UAAgC,EAAE,EAAU;CACxE,MAAM,EAAE,aAAa,aAAa,YAAY,aAAa,SAAS;CACpE,MAAM,gBAAgB,oBAAoB,QAAQ;CAElD,IAAI,aAAa;CACjB,IAAI,eAAe;CACnB,MAAM,WAAW,gBAAgB;EAC/B;EACA,cAAc;GACZ,eAAe;;EAEjB;EACD,CAAC;CAEF,OAAO;EACL,MAAM;EAEN,MAAM,aAAa;GACjB,IAAI,cAAc,CAAC,cACjB,MAAM,UAAU;;EAIpB,MAAM,WAAW;GACf,IAAI,cAAc,eAAe,OAC/B,MAAM,UAAU;;EAIpB,eAAe,gBAAgB;GAC7B,aAAa,eAAe,YAAY;;EAG1C,MAAM,gBAAgB,EAAE,QAAQ;GAC9B,IAAI,wBAAwB,MAAM,cAAc,EAAE;IAChD,MAAM,UAAU;IAChB,OAAO,EAAE;;;EAGd;;AAGH,SAAS,oBAAoB,SAA8C;CACzE,MAAM,EACJ,UAAU,MACV,cAAc,CAAC,iBAAiB,EAChC,MAAM,iBACN,iBAAiB,MACjB,kBAAkB,MAClB,GAAG,eACD;CAEJ,OAAO;EACL,GAAG;EACH;EACA;EACA;EACA;EACA;EACD;;AAGH,SAAS,wBAAwB,MAAc,QAAgC;CAC7E,IAAI,CAAC,OAAO,OACV,OAAO;CAGT,OAAO,OAAO,YAAY,MAAM,eAAe,KAAK,SAAS,WAAW,CAAC;;AAG3E,SAAS,gBAAgB,QAID;CACtB,MAAM,EAAE,YAAY,aAAa,kBAAkB;CAEnD,OAAO,YAAY;EACjB,IAAI,CAAC,cAAc,SACjB;EAGF,QAAQ,IAAI,sDAAsD;EAClE,MAAM,YAAY,KAAK,KAAK;EAE5B,IAAI;GACF,MAAM,OAAO,MAAM,gBAAgB,eAAe,WAAW;GAC7D,MAAM,WAAW,KAAK,KAAK,GAAG;GAC9B,QAAQ,IAAI,oBAAoB,KAAK,OAAO,8BAA8B,SAAS,IAAI;GACvF,aAAa;WACN,OAAO;GACd,QAAQ,MAAM,qCAAqC,MAAM;GACzD,MAAM;;;;AAKZ,SAAgB,qBACd,QACA,YACA,UACyC;CACzC,IAAI,UAA4B;CAEhC,eAAe,yBAAyB,UAAiC;EACvE,IAAI,CAAC,uBAAuB,SAAS,EACnC;EAGF,QAAQ,IAAI,+BAA+B,WAAW;EACtD,MAAM,gBAAgB,QAAQ,WAAW;EACzC,YAAY;;CAGd,OAAO;EACL,QAAQ;GACN,IAAI,CAAC,OAAO,SAAS,OAAO,YAAY,WAAW,GACjD;GAGF,MAAM,WAAW,KAAK,QAAQ,OAAO,YAAY,GAAG;GACpD,IAAI;IACF,UAAU,OAAO,MAAM,UAAU,EAAE,WAAW,MAAM,GAAG,QAAQ,aAAa;KAC1E,IAAI,YAAY,MACd,yBAA8B,SAAS;MAEzC;WACI;IACN,QAAQ,KAAK,yCAAyC;;;EAI1D,OAAO;GACL,IAAI,WAAW,MAAM;IACnB,QAAQ,OAAO;IACf,UAAU;;;EAGf;;AAGH,SAAS,uBAAuB,UAA2B;CACzD,OAAO,SAAS,SAAS,MAAM,IAAI,SAAS,SAAS,OAAO"}
1
+ {"version":3,"file":"index.js","names":["fsSync"],"sources":["../../src/typedoc/vite-plugin.ts"],"sourcesContent":["import type { Plugin } from \"vite\"\n\nimport fsSync, { type FSWatcher } from \"node:fs\"\nimport path from \"node:path\"\n\nimport type { TypeDocConfig } from \"./types\"\n\nimport { generateApiDocs } from \"./generator\"\n\nexport type TypeDocPluginOptions = {\n /**\n * Content directory where markdown files are stored\n * @default './content'\n */\n contentDir?: string\n\n /**\n * Run TypeDoc on every build\n * @default false in dev, true in build\n */\n runOnBuild?: boolean\n\n /**\n * Run TypeDoc on startup\n * @default true\n */\n runOnStart?: boolean\n} & Partial<TypeDocConfig>\n\n/**\n * Vite plugin for generating API documentation with TypeDoc.\n */\nexport function typedocPlugin(options: TypeDocPluginOptions = {}): Plugin {\n const { contentDir = \"./content\", runOnBuild, runOnStart = true } = options\n const typedocConfig = createTypedocConfig(options)\n\n let isBuilding = false\n let hasGenerated = false\n const generate = createGenerator({\n contentDir,\n onGenerated() {\n hasGenerated = true\n },\n typedocConfig,\n })\n\n return {\n name: \"ardo:typedoc\",\n\n async buildStart() {\n if (runOnStart && !hasGenerated) {\n await generate()\n }\n },\n\n async buildEnd() {\n if (isBuilding && runOnBuild !== false) {\n await generate()\n }\n },\n\n configResolved(resolvedConfig) {\n isBuilding = resolvedConfig.command === \"build\"\n },\n\n async handleHotUpdate({ file }) {\n if (shouldRegenerateForFile(file, typedocConfig)) {\n await generate()\n return []\n }\n },\n }\n}\n\nfunction createTypedocConfig(options: TypeDocPluginOptions): TypeDocConfig {\n const {\n enabled = true,\n entryPoints = [\"./src/index.ts\"],\n out = \"api-reference\",\n excludePrivate = true,\n excludeInternal = true,\n ...restConfig\n } = options\n\n return {\n ...restConfig,\n enabled,\n entryPoints,\n excludeInternal,\n excludePrivate,\n out,\n }\n}\n\nfunction shouldRegenerateForFile(file: string, config: TypeDocConfig): boolean {\n if (!config.watch) {\n return false\n }\n\n return config.entryPoints.some((entryPoint) => file.includes(entryPoint))\n}\n\nfunction createGenerator(params: {\n contentDir: string\n onGenerated: () => void\n typedocConfig: TypeDocConfig\n}): () => Promise<void> {\n const { contentDir, onGenerated, typedocConfig } = params\n\n return async () => {\n if (!typedocConfig.enabled) {\n return\n }\n\n console.log(\"[ardo] Generating API documentation with TypeDoc...\")\n const startTime = Date.now()\n\n try {\n const docs = await generateApiDocs(typedocConfig, contentDir)\n const duration = Date.now() - startTime\n console.log(`[ardo] Generated ${docs.length} API documentation pages in ${duration}ms`)\n onGenerated()\n } catch (error) {\n console.error(\"[ardo] TypeDoc generation failed:\", error)\n throw error\n }\n }\n}\n\nexport function createTypedocWatcher(\n config: TypeDocConfig,\n contentDir: string,\n onChange?: () => void\n): { start: () => void; stop: () => void } {\n let watcher: FSWatcher | null = null\n\n async function regenerateForChangedFile(filename: string): Promise<void> {\n if (!isSupportedTypedocFile(filename)) {\n return\n }\n\n console.log(`[ardo] Source file changed: ${filename}`)\n await generateApiDocs(config, contentDir)\n onChange?.()\n }\n\n return {\n start() {\n if (!config.watch || config.entryPoints.length === 0) {\n return\n }\n\n const entryDir = path.dirname(config.entryPoints[0])\n try {\n watcher = fsSync.watch(entryDir, { recursive: true }, (_event, filename) => {\n if (filename != null) {\n void regenerateForChangedFile(filename)\n }\n })\n } catch {\n console.warn(\"[ardo] Could not start TypeDoc watcher\")\n }\n },\n\n stop() {\n if (watcher != null) {\n watcher.close()\n watcher = null\n }\n },\n }\n}\n\nfunction isSupportedTypedocFile(filename: string): boolean {\n return filename.endsWith(\".ts\") || filename.endsWith(\".tsx\")\n}\n"],"mappings":";;;;;;;AAgCA,SAAgB,cAAc,UAAgC,CAAC,GAAW;CACxE,MAAM,EAAE,aAAa,aAAa,YAAY,aAAa,SAAS;CACpE,MAAM,gBAAgB,oBAAoB,OAAO;CAEjD,IAAI,aAAa;CACjB,IAAI,eAAe;CACnB,MAAM,WAAW,gBAAgB;EAC/B;EACA,cAAc;GACZ,eAAe;EACjB;EACA;CACF,CAAC;CAED,OAAO;EACL,MAAM;EAEN,MAAM,aAAa;GACjB,IAAI,cAAc,CAAC,cACjB,MAAM,SAAS;EAEnB;EAEA,MAAM,WAAW;GACf,IAAI,cAAc,eAAe,OAC/B,MAAM,SAAS;EAEnB;EAEA,eAAe,gBAAgB;GAC7B,aAAa,eAAe,YAAY;EAC1C;EAEA,MAAM,gBAAgB,EAAE,QAAQ;GAC9B,IAAI,wBAAwB,MAAM,aAAa,GAAG;IAChD,MAAM,SAAS;IACf,OAAO,CAAC;GACV;EACF;CACF;AACF;AAEA,SAAS,oBAAoB,SAA8C;CACzE,MAAM,EACJ,UAAU,MACV,cAAc,CAAC,gBAAgB,GAC/B,MAAM,iBACN,iBAAiB,MACjB,kBAAkB,MAClB,GAAG,eACD;CAEJ,OAAO;EACL,GAAG;EACH;EACA;EACA;EACA;EACA;CACF;AACF;AAEA,SAAS,wBAAwB,MAAc,QAAgC;CAC7E,IAAI,CAAC,OAAO,OACV,OAAO;CAGT,OAAO,OAAO,YAAY,MAAM,eAAe,KAAK,SAAS,UAAU,CAAC;AAC1E;AAEA,SAAS,gBAAgB,QAID;CACtB,MAAM,EAAE,YAAY,aAAa,kBAAkB;CAEnD,OAAO,YAAY;EACjB,IAAI,CAAC,cAAc,SACjB;EAGF,QAAQ,IAAI,qDAAqD;EACjE,MAAM,YAAY,KAAK,IAAI;EAE3B,IAAI;GACF,MAAM,OAAO,MAAM,gBAAgB,eAAe,UAAU;GAC5D,MAAM,WAAW,KAAK,IAAI,IAAI;GAC9B,QAAQ,IAAI,oBAAoB,KAAK,OAAO,8BAA8B,SAAS,GAAG;GACtF,YAAY;EACd,SAAS,OAAO;GACd,QAAQ,MAAM,qCAAqC,KAAK;GACxD,MAAM;EACR;CACF;AACF;AAEA,SAAgB,qBACd,QACA,YACA,UACyC;CACzC,IAAI,UAA4B;CAEhC,eAAe,yBAAyB,UAAiC;EACvE,IAAI,CAAC,uBAAuB,QAAQ,GAClC;EAGF,QAAQ,IAAI,+BAA+B,UAAU;EACrD,MAAM,gBAAgB,QAAQ,UAAU;EACxC,WAAW;CACb;CAEA,OAAO;EACL,QAAQ;GACN,IAAI,CAAC,OAAO,SAAS,OAAO,YAAY,WAAW,GACjD;GAGF,MAAM,WAAW,KAAK,QAAQ,OAAO,YAAY,EAAE;GACnD,IAAI;IACF,UAAUA,GAAO,MAAM,UAAU,EAAE,WAAW,KAAK,IAAI,QAAQ,aAAa;KAC1E,IAAI,YAAY,MACd,yBAA8B,QAAQ;IAE1C,CAAC;GACH,QAAQ;IACN,QAAQ,KAAK,wCAAwC;GACvD;EACF;EAEA,OAAO;GACL,IAAI,WAAW,MAAM;IACnB,QAAQ,MAAM;IACd,UAAU;GACZ;EACF;CACF;AACF;AAEA,SAAS,uBAAuB,UAA2B;CACzD,OAAO,SAAS,SAAS,KAAK,KAAK,SAAS,SAAS,MAAM;AAC7D"}
@@ -179,4 +179,4 @@ type GeneratedApiDoc = {
179
179
  };
180
180
  //#endregion
181
181
  export { ApiDocReturn as a, ApiDocTypeParameter as c, ApiDocParameter as i, GeneratedApiDoc as l, ApiDocItem as n, ApiDocSource as o, ApiDocKind as r, ApiDocTag as s, ApiDocHierarchy as t, TypeDocConfig as u };
182
- //# sourceMappingURL=types-Ck2Vm7NB.d.ts.map
182
+ //# sourceMappingURL=types-DZKj8kWR.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types-DZKj8kWR.d.ts","names":[],"sources":["../src/typedoc/types.ts"],"mappings":";KAAY,aAAA;EAAA;;;;EAKV,OAAA;EAKA;;;EAAA,WAAA;EAsBA;;;EAjBA,QAAA;EAwCA;;;;EAlCA,GAAA;EA+DA;;;;EAzDA,MAAA;EAqFE;;;EAhFF,MAAA;EAuGE;;;EAlGF,OAAA;EA6GY;AAId;;;EA3GE,gBAAA;EAiHa;;;;EA3Gb,cAAA;EAiHiB;;;;EA3GjB,gBAAA;EAiGA;;;;EA3FA,eAAA;EA+FA;;;;EAzFA,IAAA,GAAO,KAAK;EA4FZ;;;EAhFA,aAAA;EAkFA;;;EA7EA,UAAA;EA+EA;;;AAA2B;EAzE3B,KAAA;EA4EoB;;;EAvEpB,OAAA;IAwFU;;;;IAnFR,KAAA;IAqFF;;;;IA/EE,QAAA;IAkFU;AAGd;;;IA/EI,SAAA;EAAA;EAoFQ;;;EA9EV,QAAA;IAgFK;AAGP;;;IA9EI,WAAA;IA+EF;;;;IAzEE,SAAA;IA8EQ;;;;IAxER,WAAA;IA0EF;;;IArEE,aAAA;IAuES;AAGb;;;IApEI,UAAA;EAAA;AAAA;AAAA,KAIQ,UAAA;EACV,EAAA;EACA,IAAA;EACA,IAAA,EAAM,UAAA;EACN,WAAA;EACA,SAAA;EACA,UAAA,GAAa,eAAA;EACb,OAAA,GAAU,YAAA;EACV,QAAA;EACA,IAAA,GAAO,SAAA;EACP,QAAA,GAAW,UAAA;EACX,MAAA,GAAS,YAAA;EACT,cAAA,GAAiB,mBAAA;EACjB,SAAA,GAAY,eAAA;AAAA;AAAA,KAGF,UAAA;AAAA,KAiBA,eAAA;EACV,IAAA;EACA,IAAA;EACA,WAAA;EACA,QAAA;EACA,YAAA;AAAA;AAAA,KAGU,YAAA;EACV,IAAA;EACA,WAAW;AAAA;AAAA,KAGD,SAAA;EACV,IAAA;EACA,KAAK;AAAA;AAAA,KAGK,YAAA;EACV,IAAA;EACA,IAAA;EACA,GAAA;AAAA;AAAA,KAGU,mBAAA;EACV,IAAA;EACA,UAAA;EACA,OAAA;EACA,WAAA;AAAA;AAAA,KAGU,eAAA;EACV,OAAA;EACA,UAAA;EACA,UAAA;EACA,aAAA;AAAA;AAAA,KAGU,eAAA;EACV,IAAA;EACA,OAAA;EACA,WAAA;IACE,KAAA;IACA,WAAA;IACA,gBAAA;IACA,OAAA;EAAA;AAAA"}
@@ -103,13 +103,18 @@ type ArdoConfig = {
103
103
  /** Site title (used for default meta tags) */title: string; /** Site description (used for default meta tags) */
104
104
  description?: string; /** Separator between page title and site title (default: " | ") */
105
105
  titleSeparator?: string; /** Base URL path */
106
- base?: string; /** Content source directory (default: 'content') */
106
+ base?: string; /** Absolute site URL used for canonical and social metadata URLs */
107
+ siteUrl?: string; /** Content source directory (default: 'content') */
107
108
  srcDir?: string; /** Build output directory (default: 'dist') */
108
109
  outDir?: string; /** Site language (default: 'en') */
109
110
  lang?: string; /** Additional head tags (deprecated: use React Router Meta instead) */
110
111
  head?: HeadConfig[]; /** Markdown processing options */
111
112
  markdown?: MarkdownConfig; /** Generated sidebar options */
112
- sidebar?: SidebarConfig;
113
+ sidebar?: SidebarConfig; /** Site-level social metadata defaults */
114
+ metadata?: MetadataConfig; /** Sitemap and robots.txt generation */
115
+ seo?: SeoConfig; /** Build-time internal link checking */
116
+ linkCheck?: LinkCheckConfig; /** Static redirect generation */
117
+ redirects?: RedirectConfig[];
113
118
  /**
114
119
  * TypeDoc API documentation generation.
115
120
  * - `true`: Enable with defaults (./src/index.ts → content/api-reference/)
@@ -125,9 +130,47 @@ type ArdoConfig = {
125
130
  buildTime?: string; /** Git commit hash (set automatically by the Vite plugin) */
126
131
  buildHash?: string;
127
132
  };
133
+ type MetadataConfig = {
134
+ image?: string;
135
+ ogType?: string;
136
+ twitterCard?: "summary_large_image" | "summary";
137
+ twitterSite?: string;
138
+ };
139
+ type SeoConfig = {
140
+ sitemap?: boolean | SitemapConfig;
141
+ robots?: boolean | RobotsConfig;
142
+ };
143
+ type SitemapConfig = {
144
+ changefreq?: SitemapChangefreq;
145
+ priority?: number;
146
+ };
147
+ type SitemapChangefreq = "always" | "daily" | "hourly" | "monthly" | "never" | "weekly" | "yearly";
148
+ type RobotsConfig = {
149
+ allow?: string[];
150
+ disallow?: string[];
151
+ };
152
+ type LinkCheckConfig = {
153
+ checkAnchors?: boolean;
154
+ enabled?: boolean;
155
+ exclude?: string[];
156
+ level?: "error" | "warn";
157
+ };
158
+ type RedirectConfig = {
159
+ from: string;
160
+ to: string;
161
+ };
128
162
  type PageFrontmatter = {
129
163
  title?: string;
130
164
  description?: string;
165
+ canonical?: string;
166
+ ogDescription?: string;
167
+ ogImage?: string;
168
+ ogTitle?: string;
169
+ ogType?: string;
170
+ twitterCard?: "summary_large_image" | "summary";
171
+ twitterDescription?: string;
172
+ twitterImage?: string;
173
+ twitterTitle?: string;
131
174
  order?: number;
132
175
  collapsed?: boolean;
133
176
  layout?: "doc" | "home" | "page";
@@ -135,6 +178,8 @@ type PageFrontmatter = {
135
178
  outline?: [number, number] | boolean | number;
136
179
  editLink?: boolean;
137
180
  lastUpdated?: boolean;
181
+ sitemap?: boolean;
182
+ redirectFrom?: string | string[];
138
183
  prev?: {
139
184
  text: string;
140
185
  link: string;
@@ -189,5 +234,5 @@ type ResolvedConfig = {
189
234
  contentDir: string;
190
235
  } & Required<Omit<ArdoConfig, "buildHash" | "buildTime" | "project" | "typedoc" | "vite">>;
191
236
  //#endregion
192
- export { NavItem as a, ProjectMeta as c, SidebarItem as d, SocialLink as f, TypeDocConfig as h, MarkdownConfig as i, ResolvedConfig as l, TOCItem as m, ArdoContextItem as n, PageData as o, SponsorConfig as p, HeadConfig as r, PageFrontmatter as s, ArdoConfig as t, SidebarConfig as u };
193
- //# sourceMappingURL=types-B75OhnGa.d.ts.map
237
+ export { TypeDocConfig as S, SitemapChangefreq as _, MarkdownConfig as a, SponsorConfig as b, PageData as c, RedirectConfig as d, ResolvedConfig as f, SidebarItem as g, SidebarConfig as h, LinkCheckConfig as i, PageFrontmatter as l, SeoConfig as m, ArdoContextItem as n, MetadataConfig as o, RobotsConfig as p, HeadConfig as r, NavItem as s, ArdoConfig as t, ProjectMeta as u, SitemapConfig as v, TOCItem as x, SocialLink as y };
238
+ //# sourceMappingURL=types-iGO1oGpR.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types-iGO1oGpR.d.ts","names":[],"sources":["../src/config/types.ts"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import { $ as ArdoInfo, A as ArdoTabs, B as ArdoHeroAction, C as ArdoTabList, Ct as ArdoSocialLinkProps, D as ArdoTabPanels, Dt as ArdoFooterProps, E as ArdoTabPanelProps, Et as ArdoFooterMessageProps, F as ArdoIcon, G as ArdoFeatures, H as ArdoHeroProps, I as ArdoIconProps, J as ArdoContainer, K as ArdoFeaturesProps, L as getRegisteredIconNames, M as ArdoSteps, N as ArdoStepsProps, O as ArdoTabPanelsProps, P as ArdoSearch, Q as ArdoDangerProps, R as registerIcons, S as ArdoTab, St as ArdoSocialLink, T as ArdoTabPanel, Tt as ArdoFooterCopyrightProps, U as ArdoFeatureCard, V as ArdoHeroImage, W as ArdoFeatureCardProps, X as ArdoContainerType, Y as ArdoContainerProps, Z as ArdoDanger, _ as ArdoDocContent, _t as ArdoSidebarLink, a as ArdoNav, at as ArdoWarning, b as ArdoContent, bt as ArdoHeader, c as ArdoNavProps, ct as ArdoCodeBlockProps, d as ArdoRootLayout, dt as ArdoBareContent, et as ArdoInfoProps, f as ArdoRootLayoutProps, ft as ArdoRoot, g as ArdoErrorBoundaryProps, gt as ArdoSidebarGroupProps, h as ArdoErrorBoundary, ht as ArdoSidebarGroup, i as ArdoOwlMarkProps, it as ArdoTipProps, j as ArdoTabsProps, k as ArdoTabProps, l as ArdoLayout, lt as ArdoCodeGroup, m as ArdoHomePageProps, mt as ArdoSidebar, n as ArdoTOCProps, nt as ArdoNoteProps, o as ArdoNavLink, ot as ArdoWarningProps, p as ArdoHomePage, pt as ArdoRootProps, q as ArdoCopyButton, r as ArdoOwlMark, rt as ArdoTip, s as ArdoNavLinkProps, st as ArdoCodeBlock, t as ArdoTOC, tt as ArdoNote, u as ArdoLayoutProps, ut as ArdoCodeGroupProps, v as ArdoDocLayout, vt as ArdoSidebarLinkProps, w as ArdoTabListProps, wt as ArdoFooter, x as ArdoThemeToggle, xt as ArdoHeaderProps, y as ArdoDocPage, yt as ArdoSidebarProps, z as ArdoHero } from "../index-BcekgOfA.js";
2
- export { ArdoBareContent, ArdoCodeBlock, ArdoCodeBlockProps, ArdoCodeGroup, ArdoCodeGroupProps, ArdoContainer, ArdoContainerProps, ArdoContainerType, ArdoContent, ArdoCopyButton, ArdoDanger, ArdoDangerProps, ArdoDocContent, ArdoDocLayout, ArdoDocPage, ArdoErrorBoundary, ArdoErrorBoundaryProps, ArdoFeatureCard, ArdoFeatureCardProps, ArdoFeatures, ArdoFeaturesProps, ArdoFooter, ArdoFooterCopyrightProps, ArdoFooterMessageProps, ArdoFooterProps, ArdoHeader, ArdoHeaderProps, ArdoHero, ArdoHeroAction, ArdoHeroImage, ArdoHeroProps, ArdoHomePage, ArdoHomePageProps, ArdoIcon, ArdoIconProps, ArdoInfo, ArdoInfoProps, ArdoLayout, ArdoLayoutProps, ArdoNav, ArdoNavLink, ArdoNavLinkProps, ArdoNavProps, ArdoNote, ArdoNoteProps, ArdoOwlMark, ArdoOwlMarkProps, ArdoRoot, ArdoRootLayout, ArdoRootLayoutProps, ArdoRootProps, ArdoSearch, ArdoSidebar, ArdoSidebarGroup, ArdoSidebarGroupProps, ArdoSidebarLink, ArdoSidebarLinkProps, ArdoSidebarProps, ArdoSocialLink, ArdoSocialLinkProps, ArdoSteps, ArdoStepsProps, ArdoTOC, ArdoTOCProps, ArdoTab, ArdoTabList, ArdoTabListProps, ArdoTabPanel, ArdoTabPanelProps, ArdoTabPanels, ArdoTabPanelsProps, ArdoTabProps, ArdoTabs, ArdoTabsProps, ArdoThemeToggle, ArdoTip, ArdoTipProps, ArdoWarning, ArdoWarningProps, getRegisteredIconNames, registerIcons };
1
+ import { $ as ArdoInfo, A as ArdoTabs, At as ArdoSidebarLinkProps, B as ArdoHeroAction, C as ArdoTabList, Ct as ArdoBareContent, D as ArdoTabPanels, Dt as ArdoSidebarGroup, E as ArdoTabPanelProps, Et as ArdoSidebar, F as ArdoIcon, Ft as ArdoSocialLinkProps, G as ArdoFeatures, H as ArdoHeroProps, I as ArdoIconProps, It as ArdoFooter, J as ArdoContainer, K as ArdoFeaturesProps, L as getRegisteredIconNames, Lt as ArdoFooterCopyrightProps, M as ArdoSteps, Mt as ArdoHeader, N as ArdoStepsProps, Nt as ArdoHeaderProps, O as ArdoTabPanelsProps, Ot as ArdoSidebarGroupProps, P as ArdoSearch, Pt as ArdoSocialLink, Q as ArdoDangerProps, R as registerIcons, Rt as ArdoFooterMessageProps, S as ArdoTab, St as ArdoAccordionProps, T as ArdoTabPanel, Tt as ArdoRootProps, U as ArdoFeatureCard, V as ArdoHeroImage, W as ArdoFeatureCardProps, X as ArdoContainerType, Y as ArdoContainerProps, Z as ArdoDanger, _ as ArdoDocContent, _t as ArdoBadgeProps, a as ArdoNav, at as ArdoWarning, b as ArdoContent, bt as ArdoAccordionGroup, c as ArdoNavProps, ct as ArdoCodeBlockProps, d as ArdoRootLayout, dt as ArdoCard, et as ArdoInfoProps, f as ArdoRootLayoutProps, ft as ArdoCardGroup, g as ArdoErrorBoundaryProps, gt as ArdoBadge, h as ArdoErrorBoundary, ht as ArdoCardProps, i as ArdoOwlMarkProps, it as ArdoTipProps, j as ArdoTabsProps, jt as ArdoSidebarProps, k as ArdoTabProps, kt as ArdoSidebarLink, l as ArdoLayout, lt as ArdoCodeGroup, m as ArdoHomePageProps, mt as ArdoCardGroupProps, n as ArdoTOCProps, nt as ArdoNoteProps, o as ArdoNavLink, ot as ArdoWarningProps, p as ArdoHomePage, pt as ArdoCardGroupColumns, q as ArdoCopyButton, r as ArdoOwlMark, rt as ArdoTip, s as ArdoNavLinkProps, st as ArdoCodeBlock, t as ArdoTOC, tt as ArdoNote, u as ArdoLayoutProps, ut as ArdoCodeGroupProps, v as ArdoDocLayout, vt as ArdoBadgeVariant, w as ArdoTabListProps, wt as ArdoRoot, x as ArdoThemeToggle, xt as ArdoAccordionGroupProps, y as ArdoDocPage, yt as ArdoAccordion, z as ArdoHero, zt as ArdoFooterProps } from "../index-Dg1xEJ_Y.js";
2
+ export { ArdoAccordion, ArdoAccordionGroup, type ArdoAccordionGroupProps, type ArdoAccordionProps, ArdoBadge, type ArdoBadgeProps, type ArdoBadgeVariant, ArdoBareContent, ArdoCard, ArdoCardGroup, type ArdoCardGroupColumns, type ArdoCardGroupProps, type ArdoCardProps, ArdoCodeBlock, type ArdoCodeBlockProps, ArdoCodeGroup, type ArdoCodeGroupProps, ArdoContainer, type ArdoContainerProps, type ArdoContainerType, ArdoContent, ArdoCopyButton, ArdoDanger, type ArdoDangerProps, ArdoDocContent, ArdoDocLayout, ArdoDocPage, ArdoErrorBoundary, type ArdoErrorBoundaryProps, ArdoFeatureCard, type ArdoFeatureCardProps, ArdoFeatures, type ArdoFeaturesProps, ArdoFooter, type ArdoFooterCopyrightProps, type ArdoFooterMessageProps, type ArdoFooterProps, ArdoHeader, type ArdoHeaderProps, ArdoHero, type ArdoHeroAction, type ArdoHeroImage, type ArdoHeroProps, ArdoHomePage, type ArdoHomePageProps, ArdoIcon, type ArdoIconProps, ArdoInfo, type ArdoInfoProps, ArdoLayout, type ArdoLayoutProps, ArdoNav, ArdoNavLink, type ArdoNavLinkProps, type ArdoNavProps, ArdoNote, type ArdoNoteProps, ArdoOwlMark, type ArdoOwlMarkProps, ArdoRoot, ArdoRootLayout, type ArdoRootLayoutProps, type ArdoRootProps, ArdoSearch, ArdoSidebar, ArdoSidebarGroup, type ArdoSidebarGroupProps, ArdoSidebarLink, type ArdoSidebarLinkProps, type ArdoSidebarProps, ArdoSocialLink, type ArdoSocialLinkProps, ArdoSteps, type ArdoStepsProps, ArdoTOC, type ArdoTOCProps, ArdoTab, ArdoTabList, type ArdoTabListProps, ArdoTabPanel, type ArdoTabPanelProps, ArdoTabPanels, type ArdoTabPanelsProps, type ArdoTabProps, ArdoTabs, type ArdoTabsProps, ArdoThemeToggle, ArdoTip, type ArdoTipProps, ArdoWarning, type ArdoWarningProps, getRegisteredIconNames, registerIcons };
package/dist/ui/index.js CHANGED
@@ -1,3 +1,3 @@
1
- import { C as ArdoCopyButton, D as ArdoBareContent, O as ArdoLayout, S as ArdoCodeGroup, _ as ArdoInfo, a as ArdoContent, b as ArdoWarning, c as ArdoTabPanel, d as ArdoSteps, f as ArdoIcon, g as ArdoDanger, h as ArdoContainer, i as ArdoTOC, k as ArdoRootLayout, l as ArdoTabPanels, m as registerIcons, n as ArdoDocLayout, o as ArdoTab, p as getRegisteredIconNames, r as ArdoDocPage, s as ArdoTabList, t as ArdoDocContent, u as ArdoTabs, v as ArdoNote, x as ArdoCodeBlock, y as ArdoTip } from "../DocPage-EIVMae_6.js";
2
- import { _ as ArdoOwlMark, a as ArdoHero, c as ArdoRoot, d as ArdoSidebarLink, f as ArdoHeader, g as ArdoFooter, h as ArdoSearch, i as ArdoErrorBoundary, l as ArdoSidebar, m as ArdoThemeToggle, n as ArdoNavLink, o as ArdoFeatureCard, p as ArdoSocialLink, r as ArdoHomePage, s as ArdoFeatures, t as ArdoNav, u as ArdoSidebarGroup } from "../ui-B6X8gAvz.js";
3
- export { ArdoBareContent, ArdoCodeBlock, ArdoCodeGroup, ArdoContainer, ArdoContent, ArdoCopyButton, ArdoDanger, ArdoDocContent, ArdoDocLayout, ArdoDocPage, ArdoErrorBoundary, ArdoFeatureCard, ArdoFeatures, ArdoFooter, ArdoHeader, ArdoHero, ArdoHomePage, ArdoIcon, ArdoInfo, ArdoLayout, ArdoNav, ArdoNavLink, ArdoNote, ArdoOwlMark, ArdoRoot, ArdoRootLayout, ArdoSearch, ArdoSidebar, ArdoSidebarGroup, ArdoSidebarLink, ArdoSocialLink, ArdoSteps, ArdoTOC, ArdoTab, ArdoTabList, ArdoTabPanel, ArdoTabPanels, ArdoTabs, ArdoThemeToggle, ArdoTip, ArdoWarning, getRegisteredIconNames, registerIcons };
1
+ import { A as getRegisteredIconNames, D as ArdoAccordion, E as ArdoBadge, M as ArdoBareContent, N as ArdoLayout, O as ArdoAccordionGroup, P as ArdoRootLayout, T as ArdoCardGroup, _ as ArdoWarning, a as ArdoContent, b as ArdoCopyButton, c as ArdoTabPanel, d as ArdoSteps, f as ArdoContainer, g as ArdoTip, h as ArdoNote, i as ArdoTOC, j as registerIcons, k as ArdoIcon, l as ArdoTabPanels, m as ArdoInfo, n as ArdoDocLayout, o as ArdoTab, p as ArdoDanger, r as ArdoDocPage, s as ArdoTabList, t as ArdoDocContent, u as ArdoTabs, v as ArdoCodeBlock, w as ArdoCard, y as ArdoCodeGroup } from "../DocPage-Yt8MMpBg.js";
2
+ import { _ as ArdoOwlMark, a as ArdoHero, c as ArdoRoot, d as ArdoSidebarLink, f as ArdoHeader, g as ArdoFooter, h as ArdoSearch, i as ArdoErrorBoundary, l as ArdoSidebar, m as ArdoThemeToggle, n as ArdoNavLink, o as ArdoFeatureCard, p as ArdoSocialLink, r as ArdoHomePage, s as ArdoFeatures, t as ArdoNav, u as ArdoSidebarGroup } from "../ui-Cs2nhBpA.js";
3
+ export { ArdoAccordion, ArdoAccordionGroup, ArdoBadge, ArdoBareContent, ArdoCard, ArdoCardGroup, ArdoCodeBlock, ArdoCodeGroup, ArdoContainer, ArdoContent, ArdoCopyButton, ArdoDanger, ArdoDocContent, ArdoDocLayout, ArdoDocPage, ArdoErrorBoundary, ArdoFeatureCard, ArdoFeatures, ArdoFooter, ArdoHeader, ArdoHero, ArdoHomePage, ArdoIcon, ArdoInfo, ArdoLayout, ArdoNav, ArdoNavLink, ArdoNote, ArdoOwlMark, ArdoRoot, ArdoRootLayout, ArdoSearch, ArdoSidebar, ArdoSidebarGroup, ArdoSidebarLink, ArdoSocialLink, ArdoSteps, ArdoTOC, ArdoTab, ArdoTabList, ArdoTabPanel, ArdoTabPanels, ArdoTabs, ArdoThemeToggle, ArdoTip, ArdoWarning, getRegisteredIconNames, registerIcons };