ardo 3.3.0 → 3.5.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 (68) hide show
  1. package/dist/{DocPage-B0Fr09xS.js → DocPage-EIVMae_6.js} +23 -21
  2. package/dist/DocPage-EIVMae_6.js.map +1 -0
  3. package/dist/assets/src/ui/{DocPage.css.ts.vanilla-BzG5Z7uL.css → DocPage.css.ts.vanilla-CWL92vUE.css} +8 -19
  4. package/dist/assets/src/ui/ErrorBoundary.css.ts.vanilla-C4usIU4z.css +112 -0
  5. package/dist/assets/src/ui/{Footer.css.ts.vanilla-YkYGSrJ5.css → Footer.css.ts.vanilla-DGTyff5Y.css} +39 -17
  6. package/dist/assets/src/ui/{Header.css.ts.vanilla-DoHPoq3b.css → Header.css.ts.vanilla-DEcLj8r0.css} +27 -45
  7. package/dist/assets/src/ui/{Layout.css.ts.vanilla-C7TVummJ.css → Layout.css.ts.vanilla-ClOa1YZm.css} +0 -3
  8. package/dist/assets/src/ui/{Sidebar.css.ts.vanilla-PyKaHp0J.css → Sidebar.css.ts.vanilla-IxNEQEBv.css} +57 -31
  9. package/dist/assets/src/ui/{Toc.css.ts.vanilla-Py3sLE1P.css → Toc.css.ts.vanilla-CQbpEdTg.css} +5 -5
  10. package/dist/assets/src/ui/components/{CodeBlock.css.ts.vanilla-DL4KE8dp.css → CodeBlock.css.ts.vanilla-DYyQRTxk.css} +18 -16
  11. package/dist/assets/src/ui/components/{Container.css.ts.vanilla-CUhRUA9t.css → Container.css.ts.vanilla-B8_jKj0Q.css} +6 -0
  12. package/dist/assets/src/ui/components/{CopyButton.css.ts.vanilla-DSjVT6G0.css → CopyButton.css.ts.vanilla-CO2awD6S.css} +4 -5
  13. package/dist/assets/src/ui/components/{Features.css.ts.vanilla-ggYasCFy.css → Features.css.ts.vanilla-CcCxB5Q6.css} +1 -1
  14. package/dist/assets/src/ui/components/HeaderSearch.css.ts.vanilla-KAo_Mlc-.css +68 -0
  15. package/dist/assets/src/ui/components/{Search.css.ts.vanilla-CX2EM6hW.css → Search.css.ts.vanilla-NQZH1eLo.css} +17 -6
  16. package/dist/assets/src/ui/{content.css.ts.vanilla-CJnrOQNh.css → content.css.ts.vanilla-B5a1kmaY.css} +12 -2
  17. package/dist/assets/src/ui/theme/{dark.css.ts.vanilla-C40AfyaZ.css → dark.css.ts.vanilla-CSJkJvIz.css} +12 -7
  18. package/dist/assets/src/ui/theme/{light.css.ts.vanilla-D0oxKOX2.css → light.css.ts.vanilla-CFz9jeJK.css} +12 -7
  19. package/dist/{brand-icons-DLJKqTun.js → brand-icons-Di8w0Nu9.js} +1 -1
  20. package/dist/{brand-icons-DLJKqTun.js.map → brand-icons-Di8w0Nu9.js.map} +1 -1
  21. package/dist/config/index.d.ts +1 -1
  22. package/dist/{contract.css-ZxmDpwAM.d.ts → contract.css-eFQbUr4z.d.ts} +6 -1
  23. package/dist/contract.css-eFQbUr4z.d.ts.map +1 -0
  24. package/dist/{generator-DX0PP1xf.js → generator-CYSyo4Vz.js} +7 -6
  25. package/dist/generator-CYSyo4Vz.js.map +1 -0
  26. package/dist/icons/index.js +1 -1
  27. package/dist/{index-CWfXolzQ.d.ts → index-BcekgOfA.d.ts} +68 -7
  28. package/dist/index-BcekgOfA.d.ts.map +1 -0
  29. package/dist/{index-BNKprp9_.d.ts → index-CuMTHUxX.d.ts} +8 -2
  30. package/dist/index-CuMTHUxX.d.ts.map +1 -0
  31. package/dist/index.d.ts +3 -3
  32. package/dist/index.js +3 -3
  33. package/dist/mdx/provider.js +1 -1
  34. package/dist/runtime/index.d.ts +1 -1
  35. package/dist/runtime/index.js +1 -1
  36. package/dist/{sidebar-utils-1Skqle1Q.js → sidebar-utils-C06DJsx4.js} +15 -4
  37. package/dist/sidebar-utils-C06DJsx4.js.map +1 -0
  38. package/dist/theme/index.d.ts +18 -4
  39. package/dist/theme/index.d.ts.map +1 -1
  40. package/dist/theme/index.js +48 -23
  41. package/dist/theme/index.js.map +1 -1
  42. package/dist/typedoc/components/index.d.ts +1 -1
  43. package/dist/typedoc/index.d.ts +1 -1
  44. package/dist/typedoc/index.d.ts.map +1 -1
  45. package/dist/typedoc/index.js +1 -1
  46. package/dist/{types-Do3OQY8G.d.ts → types-B75OhnGa.d.ts} +13 -2
  47. package/dist/types-B75OhnGa.d.ts.map +1 -0
  48. package/dist/{types-DvGYhH63.d.ts → types-Ck2Vm7NB.d.ts} +2 -2
  49. package/dist/{types-DvGYhH63.d.ts.map → types-Ck2Vm7NB.d.ts.map} +1 -1
  50. package/dist/ui/index.d.ts +2 -2
  51. package/dist/ui/index.js +3 -3
  52. package/dist/ui/styles.css +367 -313
  53. package/dist/ui/styles.js +14 -14
  54. package/dist/{ui-BzUIfYJm.js → ui-B6X8gAvz.js} +585 -277
  55. package/dist/ui-B6X8gAvz.js.map +1 -0
  56. package/dist/vite/index.d.ts +1 -1
  57. package/dist/vite/index.d.ts.map +1 -1
  58. package/dist/vite/index.js +165 -24
  59. package/dist/vite/index.js.map +1 -1
  60. package/package.json +13 -13
  61. package/dist/DocPage-B0Fr09xS.js.map +0 -1
  62. package/dist/contract.css-ZxmDpwAM.d.ts.map +0 -1
  63. package/dist/generator-DX0PP1xf.js.map +0 -1
  64. package/dist/index-BNKprp9_.d.ts.map +0 -1
  65. package/dist/index-CWfXolzQ.d.ts.map +0 -1
  66. package/dist/sidebar-utils-1Skqle1Q.js.map +0 -1
  67. package/dist/types-Do3OQY8G.d.ts.map +0 -1
  68. package/dist/ui-BzUIfYJm.js.map +0 -1
@@ -1,9 +1,13 @@
1
1
  .dark {
2
- --ardo-color-brand: oklch(0.72 0.095 356);
3
- --ardo-color-brandLight: oklch(0.82 0.085 356);
4
- --ardo-color-brandDark: oklch(0.61 0.105 356);
5
- --ardo-color-brandSubtle: oklch(0.255 0.03 356);
6
- --ardo-color-brandGradient: linear-gradient(135deg, oklch(0.72 0.095 356) 0%, oklch(0.79 0.068 372) 100%);
2
+ --ardo-color-brand: oklch(0.74 0.115 356);
3
+ --ardo-color-brandLight: oklch(0.84 0.1 356);
4
+ --ardo-color-brandDark: oklch(0.62 0.125 356);
5
+ --ardo-color-brandSubtle: oklch(0.275 0.06 356);
6
+ --ardo-color-brandGradient: linear-gradient(135deg, oklch(0.74 0.115 356) 0%, oklch(0.81 0.08 372) 100%);
7
+ --ardo-color-accent: oklch(0.74 0.08 230);
8
+ --ardo-color-accentLight: oklch(0.84 0.07 230);
9
+ --ardo-color-accentDark: oklch(0.6 0.09 230);
10
+ --ardo-color-accentSubtle: oklch(0.26 0.03 230);
7
11
  --ardo-color-bg: oklch(0.155 0.008 356);
8
12
  --ardo-color-bgSoft: oklch(0.195 0.009 356);
9
13
  --ardo-color-bgMute: oklch(0.255 0.01 356);
@@ -16,8 +20,8 @@
16
20
  --ardo-color-divider: oklch(0.29 0.01 356);
17
21
  --ardo-color-sidebarBg: oklch(0.13 0.008 356);
18
22
  --ardo-color-sidebarBorder: oklch(0.265 0.011 356);
19
- --ardo-color-codeBg: oklch(0.19 0.008 356);
20
- --ardo-color-codeBorder: oklch(0.31 0.01 356);
23
+ --ardo-color-codeBg: oklch(0.21 0.016 230);
24
+ --ardo-color-codeBorder: oklch(0.33 0.024 230);
21
25
  --ardo-color-codeShadow: 0 10px 26px oklch(0 0 0 / 0.18);
22
26
  --ardo-color-shadowSm: 0 1px 2px oklch(0 0 0 / 0.14), 0 1px 3px oklch(0 0 0 / 0.18);
23
27
  --ardo-color-shadowMd: 0 8px 18px oklch(0 0 0 / 0.18), 0 2px 6px oklch(0 0 0 / 0.12);
@@ -73,6 +77,7 @@
73
77
  --ardo-fontSize-3xl: 2rem;
74
78
  --ardo-space-xs: 0.25rem;
75
79
  --ardo-space-sm: 0.5rem;
80
+ --ardo-space-smd: 0.75rem;
76
81
  --ardo-space-md: 1rem;
77
82
  --ardo-space-lg: 1.5rem;
78
83
  --ardo-space-xl: 2rem;
@@ -1,9 +1,13 @@
1
1
  :root {
2
- --ardo-color-brand: oklch(0.505 0.085 356);
3
- --ardo-color-brandLight: oklch(0.63 0.075 356);
4
- --ardo-color-brandDark: oklch(0.39 0.095 356);
5
- --ardo-color-brandSubtle: oklch(0.965 0.012 356);
6
- --ardo-color-brandGradient: linear-gradient(135deg, oklch(0.505 0.085 356) 0%, oklch(0.61 0.058 372) 100%);
2
+ --ardo-color-brand: oklch(0.5 0.1 356);
3
+ --ardo-color-brandLight: oklch(0.62 0.09 356);
4
+ --ardo-color-brandDark: oklch(0.39 0.11 356);
5
+ --ardo-color-brandSubtle: oklch(0.955 0.025 356);
6
+ --ardo-color-brandGradient: linear-gradient(135deg, oklch(0.5 0.1 356) 0%, oklch(0.6 0.075 372) 100%);
7
+ --ardo-color-accent: oklch(0.5 0.075 230);
8
+ --ardo-color-accentLight: oklch(0.62 0.07 230);
9
+ --ardo-color-accentDark: oklch(0.38 0.085 230);
10
+ --ardo-color-accentSubtle: oklch(0.963 0.012 230);
7
11
  --ardo-color-bg: oklch(0.992 0.0015 356);
8
12
  --ardo-color-bgSoft: oklch(0.975 0.003 356);
9
13
  --ardo-color-bgMute: oklch(0.955 0.004 356);
@@ -16,8 +20,8 @@
16
20
  --ardo-color-divider: oklch(0.89 0.004 356);
17
21
  --ardo-color-sidebarBg: oklch(0.965 0.004 356);
18
22
  --ardo-color-sidebarBorder: oklch(0.885 0.005 356);
19
- --ardo-color-codeBg: oklch(0.972 0.003 356);
20
- --ardo-color-codeBorder: oklch(0.895 0.004 356);
23
+ --ardo-color-codeBg: oklch(0.965 0.012 230);
24
+ --ardo-color-codeBorder: oklch(0.88 0.016 230);
21
25
  --ardo-color-codeShadow: 0 1px 2px oklch(0 0 0 / 0.025);
22
26
  --ardo-color-shadowSm: 0 1px 2px oklch(0 0 0 / 0.035), 0 1px 3px oklch(0 0 0 / 0.045);
23
27
  --ardo-color-shadowMd: 0 8px 18px oklch(0 0 0 / 0.045), 0 2px 6px oklch(0 0 0 / 0.035);
@@ -73,6 +77,7 @@
73
77
  --ardo-fontSize-3xl: 2rem;
74
78
  --ardo-space-xs: 0.25rem;
75
79
  --ardo-space-sm: 0.5rem;
80
+ --ardo-space-smd: 0.75rem;
76
81
  --ardo-space-md: 1rem;
77
82
  --ardo-space-lg: 1.5rem;
78
83
  --ardo-space-xl: 2rem;
@@ -56,4 +56,4 @@ const Youtube = YoutubeIcon;
56
56
  //#endregion
57
57
  export { Npm as a, TwitterIcon as c, LinkedinIcon as i, Youtube as l, GithubIcon as n, NpmIcon as o, Linkedin as r, Twitter as s, Github as t, YoutubeIcon as u };
58
58
 
59
- //# sourceMappingURL=brand-icons-DLJKqTun.js.map
59
+ //# sourceMappingURL=brand-icons-Di8w0Nu9.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"brand-icons-DLJKqTun.js","names":[],"sources":["../src/ui/brand-icons.tsx"],"sourcesContent":["import type { ComponentProps } from \"react\"\n\nexport type BrandIconProps = {\n size?: number | string\n title?: string\n} & Omit<ComponentProps<\"svg\">, \"children\">\n\ntype BrandIconSvgProps = {\n path: string\n} & BrandIconProps\n\nfunction BrandIconSvg({ path, size = 24, title, ...props }: BrandIconSvgProps) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n width={size}\n height={size}\n fill=\"currentColor\"\n role={title == null ? undefined : \"img\"}\n aria-hidden={title == null ? true : undefined}\n {...props}\n >\n {title == null ? null : <title>{title}</title>}\n <path d={path} />\n </svg>\n )\n}\n\n// Vendored from Simple Icons. GitHub, X, YouTube, and npm use v16.17.0.\n// LinkedIn uses v12.4.0; it was removed from Simple Icons in later releases.\nconst GITHUB_PATH =\n \"M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12\"\nconst LINKEDIN_PATH =\n \"M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z\"\nconst NPM_PATH =\n \"M1.763 0C.786 0 0 .786 0 1.763v20.474C0 23.214.786 24 1.763 24h20.474c.977 0 1.763-.786 1.763-1.763V1.763C24 .786 23.214 0 22.237 0zM5.13 5.323l13.837.019-.009 13.836h-3.464l.01-10.382h-3.456L12.04 19.17H5.113z\"\nconst TWITTER_PATH =\n \"M14.234 10.162 22.977 0h-2.072l-7.591 8.824L7.251 0H.258l9.168 13.343L.258 24H2.33l8.016-9.318L16.749 24h6.993zm-2.837 3.299-.929-1.329L3.076 1.56h3.182l5.965 8.532.929 1.329 7.754 11.09h-3.182z\"\nconst YOUTUBE_PATH =\n \"M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z\"\n\nexport function GithubIcon(props: BrandIconProps) {\n return <BrandIconSvg path={GITHUB_PATH} {...props} />\n}\n\nexport function LinkedinIcon(props: BrandIconProps) {\n return <BrandIconSvg path={LINKEDIN_PATH} {...props} />\n}\n\nexport function NpmIcon(props: BrandIconProps) {\n return <BrandIconSvg path={NPM_PATH} {...props} />\n}\n\nexport function TwitterIcon(props: BrandIconProps) {\n return <BrandIconSvg path={TWITTER_PATH} {...props} />\n}\n\nexport function YoutubeIcon(props: BrandIconProps) {\n return <BrandIconSvg path={YOUTUBE_PATH} {...props} />\n}\n\nexport const Github = GithubIcon\nexport const Linkedin = LinkedinIcon\nexport const Npm = NpmIcon\nexport const Twitter = TwitterIcon\nexport const Youtube = YoutubeIcon\n"],"mappings":";;AAWA,SAAS,aAAa,EAAE,MAAM,OAAO,IAAI,OAAO,GAAG,SAA4B;CAC7E,OACE,qBAAC,OAAD;EACE,OAAM;EACN,SAAQ;EACR,OAAO;EACP,QAAQ;EACR,MAAK;EACL,MAAM,SAAS,OAAO,KAAA,IAAY;EAClC,eAAa,SAAS,OAAO,OAAO,KAAA;EACpC,GAAI;YARN,CAUG,SAAS,OAAO,OAAO,oBAAC,SAAD,EAAA,UAAQ,OAAc,CAAA,EAC9C,oBAAC,QAAD,EAAM,GAAG,MAAQ,CAAA,CACb;;;AAMV,MAAM,cACJ;AACF,MAAM,gBACJ;AACF,MAAM,WACJ;AACF,MAAM,eACJ;AACF,MAAM,eACJ;AAEF,SAAgB,WAAW,OAAuB;CAChD,OAAO,oBAAC,cAAD;EAAc,MAAM;EAAa,GAAI;EAAS,CAAA;;AAGvD,SAAgB,aAAa,OAAuB;CAClD,OAAO,oBAAC,cAAD;EAAc,MAAM;EAAe,GAAI;EAAS,CAAA;;AAGzD,SAAgB,QAAQ,OAAuB;CAC7C,OAAO,oBAAC,cAAD;EAAc,MAAM;EAAU,GAAI;EAAS,CAAA;;AAGpD,SAAgB,YAAY,OAAuB;CACjD,OAAO,oBAAC,cAAD;EAAc,MAAM;EAAc,GAAI;EAAS,CAAA;;AAGxD,SAAgB,YAAY,OAAuB;CACjD,OAAO,oBAAC,cAAD;EAAc,MAAM;EAAc,GAAI;EAAS,CAAA;;AAGxD,MAAa,SAAS;AACtB,MAAa,WAAW;AACxB,MAAa,MAAM;AACnB,MAAa,UAAU;AACvB,MAAa,UAAU"}
1
+ {"version":3,"file":"brand-icons-Di8w0Nu9.js","names":[],"sources":["../src/ui/brand-icons.tsx"],"sourcesContent":["import type { ComponentProps } from \"react\"\n\nexport type BrandIconProps = {\n size?: number | string\n title?: string\n} & Omit<ComponentProps<\"svg\">, \"children\">\n\ntype BrandIconSvgProps = {\n path: string\n} & BrandIconProps\n\nfunction BrandIconSvg({ path, size = 24, title, ...props }: BrandIconSvgProps) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n width={size}\n height={size}\n fill=\"currentColor\"\n role={title == null ? undefined : \"img\"}\n aria-hidden={title == null ? true : undefined}\n {...props}\n >\n {title == null ? null : <title>{title}</title>}\n <path d={path} />\n </svg>\n )\n}\n\n// Vendored from Simple Icons. GitHub, X, YouTube, and npm use v16.17.0.\n// LinkedIn uses v12.4.0; it was removed from Simple Icons in later releases.\nconst GITHUB_PATH =\n \"M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12\"\nconst LINKEDIN_PATH =\n \"M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z\"\nconst NPM_PATH =\n \"M1.763 0C.786 0 0 .786 0 1.763v20.474C0 23.214.786 24 1.763 24h20.474c.977 0 1.763-.786 1.763-1.763V1.763C24 .786 23.214 0 22.237 0zM5.13 5.323l13.837.019-.009 13.836h-3.464l.01-10.382h-3.456L12.04 19.17H5.113z\"\nconst TWITTER_PATH =\n \"M14.234 10.162 22.977 0h-2.072l-7.591 8.824L7.251 0H.258l9.168 13.343L.258 24H2.33l8.016-9.318L16.749 24h6.993zm-2.837 3.299-.929-1.329L3.076 1.56h3.182l5.965 8.532.929 1.329 7.754 11.09h-3.182z\"\nconst YOUTUBE_PATH =\n \"M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z\"\n\nexport function GithubIcon(props: BrandIconProps) {\n return <BrandIconSvg path={GITHUB_PATH} {...props} />\n}\n\nexport function LinkedinIcon(props: BrandIconProps) {\n return <BrandIconSvg path={LINKEDIN_PATH} {...props} />\n}\n\nexport function NpmIcon(props: BrandIconProps) {\n return <BrandIconSvg path={NPM_PATH} {...props} />\n}\n\nexport function TwitterIcon(props: BrandIconProps) {\n return <BrandIconSvg path={TWITTER_PATH} {...props} />\n}\n\nexport function YoutubeIcon(props: BrandIconProps) {\n return <BrandIconSvg path={YOUTUBE_PATH} {...props} />\n}\n\nexport const Github = GithubIcon\nexport const Linkedin = LinkedinIcon\nexport const Npm = NpmIcon\nexport const Twitter = TwitterIcon\nexport const Youtube = YoutubeIcon\n"],"mappings":";;AAWA,SAAS,aAAa,EAAE,MAAM,OAAO,IAAI,OAAO,GAAG,SAA4B;CAC7E,OACE,qBAAC,OAAD;EACE,OAAM;EACN,SAAQ;EACR,OAAO;EACP,QAAQ;EACR,MAAK;EACL,MAAM,SAAS,OAAO,KAAA,IAAY;EAClC,eAAa,SAAS,OAAO,OAAO,KAAA;EACpC,GAAI;YARN,CAUG,SAAS,OAAO,OAAO,oBAAC,SAAD,EAAA,UAAQ,OAAc,CAAA,EAC9C,oBAAC,QAAD,EAAM,GAAG,MAAQ,CAAA,CACb;;;AAMV,MAAM,cACJ;AACF,MAAM,gBACJ;AACF,MAAM,WACJ;AACF,MAAM,eACJ;AACF,MAAM,eACJ;AAEF,SAAgB,WAAW,OAAuB;CAChD,OAAO,oBAAC,cAAD;EAAc,MAAM;EAAa,GAAI;EAAS,CAAA;;AAGvD,SAAgB,aAAa,OAAuB;CAClD,OAAO,oBAAC,cAAD;EAAc,MAAM;EAAe,GAAI;EAAS,CAAA;;AAGzD,SAAgB,QAAQ,OAAuB;CAC7C,OAAO,oBAAC,cAAD;EAAc,MAAM;EAAU,GAAI;EAAS,CAAA;;AAGpD,SAAgB,YAAY,OAAuB;CACjD,OAAO,oBAAC,cAAD;EAAc,MAAM;EAAc,GAAI;EAAS,CAAA;;AAGxD,SAAgB,YAAY,OAAuB;CACjD,OAAO,oBAAC,cAAD;EAAc,MAAM;EAAc,GAAI;EAAS,CAAA;;AAGxD,MAAa,SAAS;AACtB,MAAa,WAAW;AACxB,MAAa,MAAM;AACnB,MAAa,UAAU;AACvB,MAAa,UAAU"}
@@ -1,4 +1,4 @@
1
- import { a as PageData, c as ResolvedConfig, d as SocialLink, f as SponsorConfig, i as NavItem, l as SidebarConfig, m as TypeDocConfig, n as HeadConfig, o as PageFrontmatter, p as TOCItem, r as MarkdownConfig, s as ProjectMeta, t as ArdoConfig, u as SidebarItem } from "../types-Do3OQY8G.js";
1
+ import { a as NavItem, c as ProjectMeta, d as SidebarItem, f as SocialLink, h as TypeDocConfig, i as MarkdownConfig, l as ResolvedConfig, m as TOCItem, o as PageData, p as SponsorConfig, r as HeadConfig, s as PageFrontmatter, t as ArdoConfig, u as SidebarConfig } from "../types-B75OhnGa.js";
2
2
 
3
3
  //#region src/config/index.d.ts
4
4
  declare function defineConfig(config: ArdoConfig): ArdoConfig;
@@ -6,6 +6,10 @@ declare const vars: {
6
6
  brandDark: `var(--${string})`;
7
7
  brandSubtle: `var(--${string})`;
8
8
  brandGradient: `var(--${string})`;
9
+ accent: `var(--${string})`;
10
+ accentLight: `var(--${string})`;
11
+ accentDark: `var(--${string})`;
12
+ accentSubtle: `var(--${string})`;
9
13
  bg: `var(--${string})`;
10
14
  bgSoft: `var(--${string})`;
11
15
  bgMute: `var(--${string})`;
@@ -85,6 +89,7 @@ declare const vars: {
85
89
  space: {
86
90
  xs: `var(--${string})`;
87
91
  sm: `var(--${string})`;
92
+ smd: `var(--${string})`;
88
93
  md: `var(--${string})`;
89
94
  lg: `var(--${string})`;
90
95
  xl: `var(--${string})`;
@@ -102,4 +107,4 @@ declare const vars: {
102
107
  };
103
108
  //#endregion
104
109
  export { vars as t };
105
- //# sourceMappingURL=contract.css-ZxmDpwAM.d.ts.map
110
+ //# sourceMappingURL=contract.css-eFQbUr4z.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract.css-eFQbUr4z.d.ts","names":[],"sources":["../src/ui/theme/contract.css.ts"],"mappings":";cAIa,IAAA"}
@@ -222,7 +222,7 @@ function createComponentsIndexPage(context, components) {
222
222
  title: "Components"
223
223
  }),
224
224
  frontmatter: {
225
- sidebar: false,
225
+ sidebar: "leaf",
226
226
  title: "Components"
227
227
  },
228
228
  path: "components/index.md"
@@ -239,7 +239,7 @@ function createInterfacesIndexPage(context, standaloneItems) {
239
239
  title: "Interfaces"
240
240
  }),
241
241
  frontmatter: {
242
- sidebar: false,
242
+ sidebar: "leaf",
243
243
  title: "Interfaces"
244
244
  },
245
245
  path: "interfaces/index.md"
@@ -256,7 +256,7 @@ function createClassesIndexPage(context, standaloneItems) {
256
256
  title: "Classes"
257
257
  }),
258
258
  frontmatter: {
259
- sidebar: false,
259
+ sidebar: "leaf",
260
260
  title: "Classes"
261
261
  },
262
262
  path: "classes/index.md"
@@ -285,7 +285,7 @@ function createFunctionsIndexPage(context, functionsByFile) {
285
285
  title: "Functions"
286
286
  }),
287
287
  frontmatter: {
288
- sidebar: false,
288
+ sidebar: "leaf",
289
289
  title: "Functions"
290
290
  },
291
291
  path: "functions/index.md"
@@ -302,7 +302,7 @@ function createTypesIndexPage(context, typesByFile) {
302
302
  title: "Types"
303
303
  }),
304
304
  frontmatter: {
305
- sidebar: false,
305
+ sidebar: "leaf",
306
306
  title: "Types"
307
307
  },
308
308
  path: "types/index.md"
@@ -1182,6 +1182,7 @@ function createFrontmatter(doc) {
1182
1182
  if (doc.frontmatter.description != null && doc.frontmatter.description.length > 0) lines.push(`description: ${doc.frontmatter.description}`);
1183
1183
  if (doc.frontmatter.sidebar_position != null) lines.push(`sidebar_position: ${doc.frontmatter.sidebar_position}`);
1184
1184
  if (doc.frontmatter.sidebar === false) lines.push("sidebar: false");
1185
+ else if (doc.frontmatter.sidebar === "leaf") lines.push("sidebar: leaf");
1185
1186
  lines.push("---", "");
1186
1187
  return `${lines.join("\n")}\n`;
1187
1188
  }
@@ -1191,4 +1192,4 @@ async function generateApiDocs(config, outputDir) {
1191
1192
  //#endregion
1192
1193
  export { generateApiDocs as n, TypeDocGenerator as t };
1193
1194
 
1194
- //# sourceMappingURL=generator-DX0PP1xf.js.map
1195
+ //# sourceMappingURL=generator-CYSyo4Vz.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator-CYSyo4Vz.js","names":["appendExamples","appendSourceLink"],"sources":["../src/typedoc/generator-config.ts","../src/typedoc/generator-shared.ts","../src/typedoc/generator-pages-categories.ts","../src/typedoc/generator-render-component.ts","../src/typedoc/generator-pages-components.ts","../src/typedoc/generator-render.ts","../src/typedoc/generator-pages-grouped.ts","../src/typedoc/generator-pages-index.ts","../src/typedoc/generator-reflection-tags.ts","../src/typedoc/generator-reflection.ts","../src/typedoc/generator-docs.ts","../src/typedoc/generator.ts"],"sourcesContent":["import type { ProjectReflection } from \"typedoc\"\n\nimport type { TypeDocConfig } from \"./types\"\n\nexport type ResolvedTypeDocConfig = {\n out: string\n sidebar: {\n title: string\n position: number\n collapsed: boolean\n }\n markdown: {\n breadcrumbs: boolean\n hierarchy: boolean\n sourceLinks: boolean\n codeBlocks: boolean\n sourceBaseUrl?: string\n }\n} & Omit<TypeDocConfig, \"markdown\" | \"out\" | \"sidebar\">\n\nexport type TypeDocRuntimeContext = {\n basePath: string\n config: ResolvedTypeDocConfig\n packageNameCache: Map<string, string | undefined>\n project: ProjectReflection\n}\n\nexport function resolveTypeDocConfig(config: TypeDocConfig): ResolvedTypeDocConfig {\n const sidebar = resolveSidebarConfig(config.sidebar)\n const markdown = resolveMarkdownConfig(config.markdown)\n\n return {\n ...config,\n excludeExternals: withDefault(config.excludeExternals, true),\n excludeInternal: withDefault(config.excludeInternal, true),\n excludePrivate: withDefault(config.excludePrivate, true),\n excludeProtected: withDefault(config.excludeProtected, false),\n markdown,\n out: withDefault(config.out, \"api\"),\n sidebar,\n sort: withDefault(config.sort, [\"source-order\"]),\n }\n}\n\nexport function getTypedocOptions(config: ResolvedTypeDocConfig): Record<string, unknown> {\n const options: Record<string, unknown> = {\n entryPoints: config.entryPoints,\n excludeExternals: config.excludeExternals,\n excludeInternal: config.excludeInternal,\n excludePrivate: config.excludePrivate,\n excludeProtected: config.excludeProtected,\n sort: config.sort,\n tsconfig: config.tsconfig,\n }\n\n applyOptionalOption(options, \"exclude\", config.exclude)\n applyOptionalOption(options, \"categoryOrder\", config.categoryOrder)\n applyOptionalOption(options, \"groupOrder\", config.groupOrder)\n applyOptionalOption(options, \"plugin\", config.plugin)\n applyOptionalOption(options, \"readme\", config.readme)\n\n return options\n}\n\nfunction applyOptionalOption(\n options: Record<string, unknown>,\n key: string,\n value: null | string | string[] | undefined\n): void {\n if (value != null) {\n options[key] = value\n }\n}\n\nfunction withDefault<T>(value: T | undefined, fallback: T): T {\n return value ?? fallback\n}\n\nfunction resolveSidebarConfig(sidebar: TypeDocConfig[\"sidebar\"]): ResolvedTypeDocConfig[\"sidebar\"] {\n return {\n collapsed: withDefault(sidebar?.collapsed, false),\n position: withDefault(sidebar?.position, 100),\n title: withDefault(sidebar?.title, \"API Reference\"),\n }\n}\n\nfunction resolveMarkdownConfig(\n markdown: TypeDocConfig[\"markdown\"]\n): ResolvedTypeDocConfig[\"markdown\"] {\n return {\n breadcrumbs: withDefault(markdown?.breadcrumbs, true),\n codeBlocks: withDefault(markdown?.codeBlocks, true),\n hierarchy: withDefault(markdown?.hierarchy, true),\n sourceBaseUrl: markdown?.sourceBaseUrl,\n sourceLinks: withDefault(markdown?.sourceLinks, true),\n }\n}\n","import { type DeclarationReflection, type ProjectReflection, ReflectionKind } from \"typedoc\"\n\nexport type GroupedReflections = {\n componentItems: DeclarationReflection[]\n functionsByFile: Map<string, DeclarationReflection[]>\n standaloneItems: DeclarationReflection[]\n typesByFile: Map<string, DeclarationReflection[]>\n}\n\nexport type ReflectionNavigation = {\n next: DeclarationReflection | null\n prev: DeclarationReflection | null\n}\n\nexport type ComponentProp = {\n description: string\n name: string\n optional: boolean\n type: string\n}\n\nexport type CommentPart = {\n kind: string\n text: string\n}\n\nexport function groupProjectChildren(\n project: ProjectReflection,\n isComponentName: (name: string) => boolean\n): GroupedReflections {\n const grouped: GroupedReflections = {\n componentItems: [],\n functionsByFile: new Map<string, DeclarationReflection[]>(),\n standaloneItems: [],\n typesByFile: new Map<string, DeclarationReflection[]>(),\n }\n\n const children = project.children ?? []\n for (const child of children) {\n if (appendFunctionReflection(grouped, child, isComponentName)) {\n continue\n }\n if (appendTypeAliasReflection(grouped, child)) {\n continue\n }\n grouped.standaloneItems.push(child)\n }\n\n return grouped\n}\n\nfunction appendFunctionReflection(\n grouped: GroupedReflections,\n child: DeclarationReflection,\n isComponentName: (name: string) => boolean\n): boolean {\n const sourceFile = child.sources?.[0]?.fileName\n if (child.kind !== ReflectionKind.Function || sourceFile == null) {\n return false\n }\n\n if (isComponentName(child.name)) {\n grouped.componentItems.push(child)\n return true\n }\n\n appendToMapList(grouped.functionsByFile, sourceFile, child)\n return true\n}\n\nfunction appendTypeAliasReflection(\n grouped: GroupedReflections,\n child: DeclarationReflection\n): boolean {\n const sourceFile = child.sources?.[0]?.fileName\n if (child.kind !== ReflectionKind.TypeAlias || sourceFile == null) {\n return false\n }\n\n appendToMapList(grouped.typesByFile, sourceFile, child)\n return true\n}\n\nexport function appendToMapList<T>(map: Map<string, T[]>, key: string, item: T): void {\n const items = map.get(key) ?? []\n items.push(item)\n map.set(key, items)\n}\n\nexport function sortReflectionsByName<T extends { name: string }>(items: T[]): T[] {\n return [...items].sort((left, right) => left.name.localeCompare(right.name))\n}\n\nexport function getModuleNameFromPath(\n filePath: string,\n packageNameCache: Map<string, string | undefined>\n): string {\n const parts = filePath.split(\"/\")\n const filePart = parts.pop() ?? filePath\n const basename = filePart.replace(/\\.(?:ts|tsx|js|jsx)$/u, \"\")\n const parent = parts.pop()\n\n if (parent != null && parent !== \"src\") {\n return `${parent}/${basename}`\n }\n\n if (basename === \"index\") {\n for (const packageName of packageNameCache.values()) {\n if (packageName != null && packageName.length > 0) {\n return packageName\n }\n }\n }\n\n return basename\n}\n\nexport function renderComment(parts: CommentPart[]): string {\n return parts.map((part) => part.text).join(\"\")\n}\n\nexport function renderCommentShort(parts: CommentPart[]): string {\n const text = renderComment(parts)\n const firstSentence = text.split(/[!.?]\\s/u)[0]\n if (firstSentence.length < text.length) {\n return `${firstSentence}.`\n }\n return text\n}\n\nexport function getSlug(name: string): string {\n return name\n .toLowerCase()\n .replaceAll(/[^\\da-z]+/gu, \"-\")\n .replaceAll(/^-|-$/gu, \"\")\n}\n\nexport function buildLink(basePath: string, category: string, slug: string): string {\n if (slug === \"index\") {\n return `${basePath}/${category}`\n }\n return `${basePath}/${category}/${slug}`\n}\n\nexport function getSourceUrl(\n sourceBaseUrl: string | undefined,\n fileName: string,\n line: number\n): null | string {\n if (sourceBaseUrl == null || sourceBaseUrl.length === 0) {\n return null\n }\n const baseUrl = sourceBaseUrl.replace(/\\/$/u, \"\")\n return `${baseUrl}/${fileName}#L${line}`\n}\n\nexport function getKindName(kind: ReflectionKind): string {\n const kindNames: Partial<Record<ReflectionKind, string>> = {\n [ReflectionKind.Project]: \"Project\",\n [ReflectionKind.Module]: \"Module\",\n [ReflectionKind.Namespace]: \"Namespace\",\n [ReflectionKind.Enum]: \"Enum\",\n [ReflectionKind.EnumMember]: \"Enum Member\",\n [ReflectionKind.Variable]: \"Variable\",\n [ReflectionKind.Function]: \"Function\",\n [ReflectionKind.Class]: \"Class\",\n [ReflectionKind.Interface]: \"Interface\",\n [ReflectionKind.Constructor]: \"Constructor\",\n [ReflectionKind.Property]: \"Property\",\n [ReflectionKind.Method]: \"Method\",\n [ReflectionKind.TypeAlias]: \"Type\",\n }\n return kindNames[kind] ?? \"Unknown\"\n}\n\nexport function getGroupUrlPrefix(kind: ReflectionKind): string {\n const prefixes: Partial<Record<ReflectionKind, string>> = {\n [ReflectionKind.Enum]: \"enums\",\n [ReflectionKind.Variable]: \"variables\",\n [ReflectionKind.Class]: \"classes\",\n [ReflectionKind.Interface]: \"interfaces\",\n [ReflectionKind.Namespace]: \"namespaces\",\n [ReflectionKind.Module]: \"modules\",\n }\n return prefixes[kind] ?? \"other\"\n}\n\nexport function getKindGroupName(kind: ReflectionKind, name: string): string {\n if (kind === ReflectionKind.Function) {\n if (name.startsWith(\"use\")) {\n return \"React Hooks\"\n }\n if (isReactComponent(name)) {\n return \"React Components\"\n }\n return \"Functions\"\n }\n\n const groupNames: Partial<Record<ReflectionKind, string>> = {\n [ReflectionKind.Class]: \"Classes\",\n [ReflectionKind.Enum]: \"Enums\",\n [ReflectionKind.Interface]: \"Interfaces\",\n [ReflectionKind.TypeAlias]: \"Types\",\n [ReflectionKind.Variable]: \"Variables\",\n }\n\n return groupNames[kind] ?? \"Other\"\n}\n\nexport function isReactComponent(name: string): boolean {\n const first = name.slice(0, 1)\n if (first.length === 0 || first !== first.toUpperCase()) {\n return false\n }\n if (name.includes(\"_\") || name.startsWith(\"use\")) {\n return false\n }\n if (name.endsWith(\"Props\") || name.endsWith(\"Options\") || name.endsWith(\"Config\")) {\n return false\n }\n return true\n}\n\nexport function createBreadcrumbs(basePath: string, pagePath: string): string {\n const parts = pagePath.split(\"/\")\n const breadcrumbs: string[] = [`[API](${basePath})`]\n let currentPath = \"\"\n\n for (const part of parts.slice(0, -1)) {\n currentPath = currentPath.length > 0 ? `${currentPath}/${part}` : part\n breadcrumbs.push(`[${part}](${basePath}/${currentPath})`)\n }\n\n const leaf = parts.at(-1)\n if (leaf != null) {\n breadcrumbs.push(leaf)\n }\n\n return breadcrumbs.join(\" / \")\n}\n\nexport function createNavigationLine(params: {\n basePath: string\n kind: ReflectionKind\n navigation: ReflectionNavigation\n}): null | string {\n const { basePath, kind, navigation } = params\n const prefix = getGroupUrlPrefix(kind)\n const prevLink =\n navigation.prev == null\n ? \"\"\n : `[← ${navigation.prev.name}](${buildLink(basePath, prefix, getSlug(navigation.prev.name))})`\n const nextLink =\n navigation.next == null\n ? \"\"\n : `[${navigation.next.name} →](${buildLink(basePath, prefix, getSlug(navigation.next.name))})`\n\n if (prevLink.length > 0 && nextLink.length > 0) {\n return `${prevLink} | ${nextLink}`\n }\n\n if (prevLink.length > 0) {\n return prevLink\n }\n\n if (nextLink.length > 0) {\n return nextLink\n }\n\n return null\n}\n","import { type DeclarationReflection, ReflectionKind } from \"typedoc\"\n\nimport type { TypeDocRuntimeContext } from \"./generator-config\"\nimport type { GeneratedApiDoc } from \"./types\"\n\nimport {\n buildLink,\n getModuleNameFromPath,\n getSlug,\n type GroupedReflections,\n renderCommentShort,\n sortReflectionsByName,\n} from \"./generator-shared\"\n\nexport function generateCategoryIndexPages(\n context: TypeDocRuntimeContext,\n grouped: GroupedReflections\n): GeneratedApiDoc[] {\n const pages: GeneratedApiDoc[] = []\n\n pushIfNotNull(pages, createComponentsIndexPage(context, grouped.componentItems))\n pushIfNotNull(pages, createFunctionsIndexPage(context, grouped.functionsByFile))\n pushIfNotNull(pages, createInterfacesIndexPage(context, grouped.standaloneItems))\n pushIfNotNull(pages, createTypesIndexPage(context, grouped.typesByFile))\n pushIfNotNull(pages, createClassesIndexPage(context, grouped.standaloneItems))\n\n return pages\n}\n\nfunction pushIfNotNull(docs: GeneratedApiDoc[], doc: GeneratedApiDoc | null): void {\n if (doc != null) {\n docs.push(doc)\n }\n}\n\nfunction createComponentsIndexPage(\n context: TypeDocRuntimeContext,\n components: DeclarationReflection[]\n): GeneratedApiDoc | null {\n if (components.length === 0) {\n return null\n }\n\n return {\n content: renderSimpleItemIndex({\n basePath: context.basePath,\n category: \"components\",\n items: components,\n title: \"Components\",\n }),\n frontmatter: { sidebar: \"leaf\", title: \"Components\" },\n path: \"components/index.md\",\n }\n}\n\nfunction createInterfacesIndexPage(\n context: TypeDocRuntimeContext,\n standaloneItems: DeclarationReflection[]\n): GeneratedApiDoc | null {\n const interfaces = standaloneItems.filter((item) => item.kind === ReflectionKind.Interface)\n if (interfaces.length === 0) {\n return null\n }\n\n return {\n content: renderSimpleItemIndex({\n basePath: context.basePath,\n category: \"interfaces\",\n items: interfaces,\n title: \"Interfaces\",\n }),\n frontmatter: { sidebar: \"leaf\", title: \"Interfaces\" },\n path: \"interfaces/index.md\",\n }\n}\n\nfunction createClassesIndexPage(\n context: TypeDocRuntimeContext,\n standaloneItems: DeclarationReflection[]\n): GeneratedApiDoc | null {\n const classes = standaloneItems.filter((item) => item.kind === ReflectionKind.Class)\n if (classes.length === 0) {\n return null\n }\n\n return {\n content: renderSimpleItemIndex({\n basePath: context.basePath,\n category: \"classes\",\n items: classes,\n title: \"Classes\",\n }),\n frontmatter: { sidebar: \"leaf\", title: \"Classes\" },\n path: \"classes/index.md\",\n }\n}\n\nfunction renderSimpleItemIndex(params: {\n basePath: string\n category: string\n items: DeclarationReflection[]\n title: string\n}): string {\n const lines: string[] = [`# ${params.title}`, \"\"]\n const sortedItems = sortReflectionsByName(params.items)\n\n for (const item of sortedItems) {\n const summary = item.comment?.summary\n const description = summary == null ? \"\" : ` - ${renderCommentShort(summary)}`\n const link = buildLink(params.basePath, params.category, getSlug(item.name))\n lines.push(`- [${item.name}](${link})${description}`)\n }\n\n lines.push(\"\")\n return lines.join(\"\\n\")\n}\n\nfunction createFunctionsIndexPage(\n context: TypeDocRuntimeContext,\n functionsByFile: Map<string, DeclarationReflection[]>\n): GeneratedApiDoc | null {\n if (functionsByFile.size === 0) {\n return null\n }\n\n return {\n content: renderModuleIndex({\n basePath: context.basePath,\n category: \"functions\",\n modules: functionsByFile,\n packageNameCache: context.packageNameCache,\n title: \"Functions\",\n }),\n frontmatter: { sidebar: \"leaf\", title: \"Functions\" },\n path: \"functions/index.md\",\n }\n}\n\nfunction createTypesIndexPage(\n context: TypeDocRuntimeContext,\n typesByFile: Map<string, DeclarationReflection[]>\n): GeneratedApiDoc | null {\n if (typesByFile.size === 0) {\n return null\n }\n\n return {\n content: renderModuleIndex({\n basePath: context.basePath,\n category: \"types\",\n modules: typesByFile,\n packageNameCache: context.packageNameCache,\n title: \"Types\",\n }),\n frontmatter: { sidebar: \"leaf\", title: \"Types\" },\n path: \"types/index.md\",\n }\n}\n\nfunction renderModuleIndex(params: {\n basePath: string\n category: string\n modules: Map<string, DeclarationReflection[]>\n packageNameCache: Map<string, string | undefined>\n title: string\n}): string {\n const lines: string[] = [`# ${params.title}`, \"\"]\n const sortedModules = [...params.modules.entries()].sort(([left], [right]) => {\n const leftName = getModuleNameFromPath(left, params.packageNameCache)\n const rightName = getModuleNameFromPath(right, params.packageNameCache)\n return leftName.localeCompare(rightName)\n })\n\n for (const [sourceFile, items] of sortedModules) {\n const moduleName = getModuleNameFromPath(sourceFile, params.packageNameCache)\n const slug = getSlug(moduleName)\n const itemNames = items\n .map((item) => item.name)\n .sort()\n .join(\", \")\n lines.push(\n `- [${moduleName}](${buildLink(params.basePath, params.category, slug)}) - ${itemNames}`\n )\n }\n\n lines.push(\"\")\n return lines.join(\"\\n\")\n}\n","import { DeclarationReflection, type SignatureReflection } from \"typedoc\"\n\nimport type { TypeDocRuntimeContext } from \"./generator-config\"\n\nimport { buildLink, type ComponentProp, getSlug, renderCommentShort } from \"./generator-shared\"\n\nexport function getTypeName(paramType: unknown): null | string {\n if (!isRecord(paramType)) {\n return null\n }\n\n if (typeof paramType.name === \"string\" && paramType.name.length > 0) {\n return paramType.name\n }\n\n if (paramType.type !== \"reference\") {\n return null\n }\n\n if (typeof paramType.qualifiedName === \"string\" && paramType.qualifiedName.length > 0) {\n return paramType.qualifiedName\n }\n\n return null\n}\n\nexport function getPropsFromType(\n context: TypeDocRuntimeContext,\n paramType: unknown\n): ComponentProp[] {\n const inlineProps = getInlineDeclarationProps(paramType)\n if (inlineProps.length > 0) {\n return inlineProps\n }\n\n const typeName = getTypeName(paramType)\n if (typeName == null) {\n return []\n }\n\n const reflection = findReflectionByName(context, typeName)\n if (reflection == null) {\n return []\n }\n\n return extractPropsFromChildren(reflection.children ?? [])\n}\n\nfunction getInlineDeclarationProps(paramType: unknown): ComponentProp[] {\n if (!isRecord(paramType)) {\n return []\n }\n\n const declaration = paramType.declaration\n if (declaration == null) {\n return []\n }\n\n return declaration instanceof DeclarationReflection\n ? extractPropsFromChildren(declaration.children ?? [])\n : []\n}\n\nfunction findReflectionByName(\n context: TypeDocRuntimeContext,\n typeName: string\n): DeclarationReflection | null {\n const direct = context.project.getChildByName(typeName)\n if (direct instanceof DeclarationReflection) {\n return direct\n }\n\n const children = context.project.children ?? []\n for (const child of children) {\n if (child.name === typeName) {\n return child\n }\n }\n\n return null\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return value != null && typeof value === \"object\"\n}\n\nfunction extractPropsFromChildren(children: DeclarationReflection[]): ComponentProp[] {\n return children.map((child) => ({\n description: child.comment?.summary == null ? \"\" : renderCommentShort(child.comment.summary),\n name: child.name,\n optional: child.flags.isOptional,\n type: child.type == null ? \"unknown\" : child.type.toString(),\n }))\n}\n\nexport function renderComponentSignature(\n context: TypeDocRuntimeContext,\n signature: SignatureReflection,\n componentName: string\n): string {\n const lines: string[] = []\n const propsParam = signature.parameters?.[0]\n const props = propsParam == null ? [] : getPropsFromType(context, propsParam.type)\n const propsTypeName = propsParam == null ? null : getTypeName(propsParam.type)\n\n appendComponentUsageBlock(lines, componentName, props)\n appendComponentPropsTable({\n context,\n lines,\n props,\n propsTypeName,\n })\n\n return lines.join(\"\\n\")\n}\n\nfunction appendComponentUsageBlock(\n lines: string[],\n componentName: string,\n props: ComponentProp[]\n): void {\n const hasChildren = props.some((prop) => prop.name === \"children\")\n const displayProps = props.filter((prop) => prop.name !== \"children\")\n\n lines.push(\"```tsx\")\n lines.push(`<${componentName}`)\n\n if (displayProps.length > 0) {\n for (const prop of displayProps) {\n const optionalMark = prop.optional ? \"?\" : \"\"\n lines.push(` ${prop.name}${optionalMark}={${prop.type}}`)\n }\n } else if (!hasChildren) {\n lines.push(\" {...props}\")\n }\n\n if (hasChildren) {\n lines.push(\">\")\n lines.push(\" {children}\")\n lines.push(`</${componentName}>`)\n } else {\n lines.push(\"/>\")\n }\n\n lines.push(\"```\")\n}\n\nfunction appendComponentPropsTable(params: {\n context: TypeDocRuntimeContext\n lines: string[]\n props: ComponentProp[]\n propsTypeName: null | string\n}): void {\n const { context, lines, props, propsTypeName } = params\n if (props.length === 0) {\n return\n }\n\n lines.push(\"\")\n lines.push(getPropsHeading(context.basePath, propsTypeName))\n\n lines.push(\"\")\n lines.push(\"| Prop | Type | Required | Description |\")\n lines.push(\"|------|------|----------|-------------|\")\n\n for (const prop of props) {\n const required = prop.optional ? \"No\" : \"Yes\"\n const description = prop.description.length > 0 ? prop.description : \"-\"\n lines.push(`| ${prop.name} | \\`${prop.type}\\` | ${required} | ${description} |`)\n }\n}\n\nfunction getPropsHeading(basePath: string, propsTypeName: null | string): string {\n if (propsTypeName == null) {\n return \"## Props\"\n }\n\n const propsSlug = getSlug(propsTypeName)\n const propsLink = buildLink(basePath, \"interfaces\", propsSlug)\n return `## [Props](${propsLink})`\n}\n","import type { DeclarationReflection } from \"typedoc\"\n\nimport type { TypeDocRuntimeContext } from \"./generator-config\"\nimport type { GeneratedApiDoc } from \"./types\"\n\nimport { renderComponentSignature } from \"./generator-render-component\"\nimport {\n createNavigationLine,\n getSlug,\n getSourceUrl,\n type ReflectionNavigation,\n renderComment,\n renderCommentShort,\n} from \"./generator-shared\"\n\nexport function generateComponentPage(params: {\n component: DeclarationReflection\n context: TypeDocRuntimeContext\n navigation: ReflectionNavigation\n}): GeneratedApiDoc {\n const { component, context, navigation } = params\n const slug = getSlug(component.name)\n const content = createComponentContent(context, component, navigation)\n\n return {\n content,\n frontmatter: {\n description:\n component.comment?.summary == null\n ? `${component.name} component`\n : renderCommentShort(component.comment.summary),\n title: component.name,\n },\n path: `components/${slug}.md`,\n }\n}\n\nfunction createComponentContent(\n context: TypeDocRuntimeContext,\n component: DeclarationReflection,\n navigation: ReflectionNavigation\n): string {\n const lines: string[] = [`# ${component.name}`, \"\"]\n\n const summary = component.comment?.summary\n if (summary != null) {\n lines.push(renderComment(summary))\n lines.push(\"\")\n }\n\n appendComponentUsage(lines, context, component)\n appendExamples(lines, component)\n appendSourceLink(lines, context, component)\n appendComponentNavigation({\n component,\n context,\n lines,\n navigation,\n })\n\n return lines.join(\"\\n\")\n}\n\nfunction appendComponentUsage(\n lines: string[],\n context: TypeDocRuntimeContext,\n component: DeclarationReflection\n): void {\n const signatures = component.signatures ?? []\n if (signatures.length === 0) {\n return\n }\n\n lines.push(\"## Usage\")\n lines.push(\"\")\n\n for (const signature of signatures) {\n lines.push(renderComponentSignature(context, signature, component.name))\n lines.push(\"\")\n }\n}\n\nfunction appendExamples(lines: string[], reflection: DeclarationReflection): void {\n const tags = reflection.comment?.blockTags ?? []\n const examples = tags.filter((tag) => tag.tag === \"@example\")\n if (examples.length === 0) {\n return\n }\n\n lines.push(\"## Example\")\n lines.push(\"\")\n\n for (const example of examples) {\n lines.push(renderComment(example.content))\n lines.push(\"\")\n }\n}\n\nfunction appendSourceLink(\n lines: string[],\n context: TypeDocRuntimeContext,\n reflection: DeclarationReflection\n): void {\n if (!context.config.markdown.sourceLinks) {\n return\n }\n\n const source = reflection.sources?.[0]\n if (source == null) {\n return\n }\n\n const sourceUrl = getSourceUrl(\n context.config.markdown.sourceBaseUrl,\n source.fileName,\n source.line\n )\n if (sourceUrl == null) {\n return\n }\n\n lines.push(`[Source](${sourceUrl})`)\n lines.push(\"\")\n}\n\nfunction appendComponentNavigation(params: {\n component: DeclarationReflection\n context: TypeDocRuntimeContext\n lines: string[]\n navigation: ReflectionNavigation\n}): void {\n const { component, context, lines, navigation } = params\n const line = createNavigationLine({\n basePath: context.basePath,\n kind: component.kind,\n navigation,\n })\n\n if (line == null) {\n return\n }\n\n lines.push(\"---\")\n lines.push(\"\")\n lines.push(line)\n lines.push(\"\")\n}\n","import type {\n DeclarationReflection,\n ParameterReflection,\n SignatureReflection,\n TypeParameterReflection,\n} from \"typedoc\"\n\nimport type { TypeDocRuntimeContext } from \"./generator-config\"\n\nimport { renderComment, renderCommentShort } from \"./generator-shared\"\n\nexport function renderSignature(\n context: TypeDocRuntimeContext,\n signature: SignatureReflection\n): string {\n const lines: string[] = []\n\n appendCodeFenceStart(lines, context)\n lines.push(getSignatureLine(signature))\n appendCodeFenceEnd(lines, context)\n appendSignatureParameters(lines, signature)\n appendSignatureReturn(lines, signature)\n\n return lines.join(\"\\n\")\n}\n\nfunction appendCodeFenceStart(lines: string[], context: TypeDocRuntimeContext): void {\n if (context.config.markdown.codeBlocks) {\n lines.push(\"```typescript\")\n }\n}\n\nfunction appendCodeFenceEnd(lines: string[], context: TypeDocRuntimeContext): void {\n if (context.config.markdown.codeBlocks) {\n lines.push(\"```\")\n }\n}\n\nfunction getSignatureLine(signature: SignatureReflection): string {\n const typeParameters = renderTypeParameterNames(signature.typeParameters)\n const parameters = renderSignatureParameters(signature)\n const returnType = signature.type == null ? \"\" : `: ${signature.type.toString()}`\n return `function ${signature.name}${typeParameters}(${parameters})${returnType}`\n}\n\nfunction renderTypeParameterNames(typeParameters: SignatureReflection[\"typeParameters\"]): string {\n if (typeParameters == null || typeParameters.length === 0) {\n return \"\"\n }\n return `<${typeParameters.map((item) => item.name).join(\", \")}>`\n}\n\nfunction renderSignatureParameters(signature: SignatureReflection): string {\n const parameters = signature.parameters ?? []\n return parameters\n .map((parameter) => {\n const optional = parameter.flags.isOptional ? \"?\" : \"\"\n const type = parameter.type == null ? \"\" : `: ${parameter.type.toString()}`\n return `${parameter.name}${optional}${type}`\n })\n .join(\", \")\n}\n\nfunction appendSignatureParameters(lines: string[], signature: SignatureReflection): void {\n const parameters = signature.parameters ?? []\n if (parameters.length === 0) {\n return\n }\n\n lines.push(\"\")\n lines.push(\"### Parameters\")\n lines.push(\"\")\n lines.push(\"| Name | Type | Description |\")\n lines.push(\"|------|------|-------------|\")\n\n for (const parameter of parameters) {\n lines.push(renderSignatureParameterRow(parameter))\n }\n}\n\nfunction renderSignatureParameterRow(parameter: ParameterReflection): string {\n const optional = parameter.flags.isOptional ? \" (optional)\" : \"\"\n const type = parameter.type == null ? \"-\" : `\\`${parameter.type.toString()}\\``\n const summary = parameter.comment?.summary\n const description = summary == null ? \"-\" : renderCommentShort(summary)\n return `| ${parameter.name}${optional} | ${type} | ${description} |`\n}\n\nfunction appendSignatureReturn(lines: string[], signature: SignatureReflection): void {\n const returnType = signature.type\n if (returnType == null || returnType.toString() === \"void\") {\n return\n }\n\n lines.push(\"\")\n lines.push(\"### Returns\")\n lines.push(\"\")\n lines.push(`\\`${returnType.toString()}\\``)\n\n const returnTag = signature.comment?.blockTags.find((tag) => tag.tag === \"@returns\")\n if (returnTag == null) {\n return\n }\n\n lines.push(\"\")\n lines.push(renderComment(returnTag.content))\n}\n\nexport function renderProperty(property: DeclarationReflection): string {\n const lines: string[] = []\n const flags = getPropertyFlags(property)\n\n lines.push(`### ${property.name}`)\n if (flags.length > 0) {\n lines.push(`*${flags.join(\", \")}*`)\n }\n lines.push(\"\")\n\n appendPropertyType(lines, property)\n appendPropertySummary(lines, property)\n appendPropertyDefaultValue(lines, property)\n\n return lines.join(\"\\n\")\n}\n\nfunction getPropertyFlags(property: DeclarationReflection): string[] {\n const flags: string[] = []\n if (property.flags.isOptional) flags.push(\"optional\")\n if (property.flags.isReadonly) flags.push(\"readonly\")\n if (property.flags.isStatic) flags.push(\"static\")\n return flags\n}\n\nfunction appendPropertyType(lines: string[], property: DeclarationReflection): void {\n if (property.type == null) {\n return\n }\n lines.push(\"```typescript\")\n lines.push(`${property.name}: ${property.type.toString()}`)\n lines.push(\"```\")\n lines.push(\"\")\n}\n\nfunction appendPropertySummary(lines: string[], property: DeclarationReflection): void {\n const summary = property.comment?.summary\n if (summary != null) {\n lines.push(renderComment(summary))\n }\n}\n\nfunction appendPropertyDefaultValue(lines: string[], property: DeclarationReflection): void {\n if (property.defaultValue == null || property.defaultValue.length === 0) {\n return\n }\n lines.push(\"\")\n lines.push(`**Default:** \\`${property.defaultValue}\\``)\n}\n\nexport function renderMethod(\n context: TypeDocRuntimeContext,\n method: DeclarationReflection\n): string {\n const lines: string[] = []\n lines.push(`### ${method.name}()`)\n lines.push(\"\")\n\n const signatures = method.signatures ?? []\n for (const signature of signatures) {\n appendMethodSignature(lines, context, signature)\n }\n\n return lines.join(\"\\n\")\n}\n\nfunction appendMethodSignature(\n lines: string[],\n context: TypeDocRuntimeContext,\n signature: SignatureReflection\n): void {\n const summary = signature.comment?.summary\n if (summary != null) {\n lines.push(renderComment(summary))\n lines.push(\"\")\n }\n\n lines.push(renderSignature(context, signature))\n lines.push(\"\")\n}\n\nexport function renderTypeParameters(typeParameters: TypeParameterReflection[]): string {\n const lines: string[] = []\n lines.push(\"| Name | Constraint | Default | Description |\")\n lines.push(\"|------|------------|---------|-------------|\")\n\n for (const typeParameter of typeParameters) {\n lines.push(renderTypeParameterRow(typeParameter))\n }\n\n return lines.join(\"\\n\")\n}\n\nfunction renderTypeParameterRow(typeParameter: TypeParameterReflection): string {\n const constraint = typeParameter.type == null ? \"-\" : `\\`${typeParameter.type.toString()}\\``\n const defaultValue =\n typeParameter.default == null ? \"-\" : `\\`${typeParameter.default.toString()}\\``\n const summary = typeParameter.comment?.summary\n const description = summary == null ? \"-\" : renderCommentShort(summary)\n return `| ${typeParameter.name} | ${constraint} | ${defaultValue} | ${description} |`\n}\n\nexport function renderHierarchy(reflection: DeclarationReflection): null | string {\n const lines: string[] = []\n\n appendHierarchySection(lines, \"**Extends:**\", reflection.extendedTypes)\n appendHierarchySection(lines, \"**Implements:**\", reflection.implementedTypes)\n appendHierarchySection(lines, \"**Extended by:**\", reflection.extendedBy)\n appendHierarchySection(lines, \"**Implemented by:**\", reflection.implementedBy)\n\n return lines.length === 0 ? null : lines.join(\"\\n\")\n}\n\nfunction appendHierarchySection(\n lines: string[],\n title: string,\n types: DeclarationReflection[\"extendedTypes\"]\n): void {\n if (types == null || types.length === 0) {\n return\n }\n\n lines.push(title)\n for (const item of types) {\n lines.push(`- \\`${item.toString()}\\``)\n }\n}\n","import type { DeclarationReflection } from \"typedoc\"\n\nimport type { TypeDocRuntimeContext } from \"./generator-config\"\nimport type { GeneratedApiDoc } from \"./types\"\n\nimport { renderSignature } from \"./generator-render\"\nimport {\n getModuleNameFromPath,\n getSlug,\n getSourceUrl,\n renderComment,\n sortReflectionsByName,\n} from \"./generator-shared\"\n\nexport function generateGroupedFunctionsPage(params: {\n context: TypeDocRuntimeContext\n functions: DeclarationReflection[]\n sourceFile: string\n}): GeneratedApiDoc {\n const { context, functions, sourceFile } = params\n const moduleName = getModuleNameFromPath(sourceFile, context.packageNameCache)\n const content = createGroupedFunctionsContent({\n context,\n functions,\n moduleName,\n sourceFile,\n })\n\n return {\n content,\n frontmatter: {\n description: `Functions from ${sourceFile}`,\n title: `${moduleName} Functions`,\n },\n path: `functions/${getSlug(moduleName)}.md`,\n }\n}\n\nfunction createGroupedFunctionsContent(params: {\n context: TypeDocRuntimeContext\n functions: DeclarationReflection[]\n moduleName: string\n sourceFile: string\n}): string {\n const { context, functions, moduleName, sourceFile } = params\n const lines: string[] = [\n `# ${moduleName} Functions`,\n \"\",\n `Functions exported from \\`${sourceFile}\\``,\n \"\",\n ]\n const sortedFunctions = sortReflectionsByName(functions)\n\n for (const fn of sortedFunctions) {\n appendGroupedFunction(lines, context, fn)\n }\n\n return lines.join(\"\\n\")\n}\n\nfunction appendGroupedFunction(\n lines: string[],\n context: TypeDocRuntimeContext,\n fn: DeclarationReflection\n): void {\n lines.push(`## ${fn.name}`)\n lines.push(\"\")\n\n const summary = fn.comment?.summary\n if (summary != null) {\n lines.push(renderComment(summary))\n lines.push(\"\")\n }\n\n const signatures = fn.signatures ?? []\n for (const signature of signatures) {\n lines.push(renderSignature(context, signature))\n lines.push(\"\")\n }\n\n appendExamples(lines, fn)\n appendSourceLink(lines, context, fn)\n lines.push(\"---\")\n lines.push(\"\")\n}\n\nfunction appendExamples(lines: string[], reflection: DeclarationReflection): void {\n const tags = reflection.comment?.blockTags ?? []\n const examples = tags.filter((tag) => tag.tag === \"@example\")\n if (examples.length === 0) {\n return\n }\n\n lines.push(\"### Example\")\n lines.push(\"\")\n\n for (const example of examples) {\n lines.push(renderComment(example.content))\n lines.push(\"\")\n }\n}\n\nfunction appendSourceLink(\n lines: string[],\n context: TypeDocRuntimeContext,\n reflection: DeclarationReflection\n): void {\n if (!context.config.markdown.sourceLinks) {\n return\n }\n\n const source = reflection.sources?.[0]\n if (source == null) {\n return\n }\n\n const sourceUrl = getSourceUrl(\n context.config.markdown.sourceBaseUrl,\n source.fileName,\n source.line\n )\n if (sourceUrl == null) {\n return\n }\n\n lines.push(`[Source](${sourceUrl})`)\n lines.push(\"\")\n}\n\nexport function generateGroupedTypesPage(params: {\n context: TypeDocRuntimeContext\n sourceFile: string\n types: DeclarationReflection[]\n}): GeneratedApiDoc {\n const { context, sourceFile, types } = params\n const moduleName = getModuleNameFromPath(sourceFile, context.packageNameCache)\n const content = createGroupedTypesContent({\n context,\n moduleName,\n sourceFile,\n types,\n })\n\n return {\n content,\n frontmatter: {\n description: `Type definitions from ${sourceFile}`,\n title: `${moduleName} Types`,\n },\n path: `types/${getSlug(moduleName)}.md`,\n }\n}\n\nfunction createGroupedTypesContent(params: {\n context: TypeDocRuntimeContext\n moduleName: string\n sourceFile: string\n types: DeclarationReflection[]\n}): string {\n const { context, moduleName, sourceFile, types } = params\n const lines: string[] = [\n `# ${moduleName} Types`,\n \"\",\n `Type definitions from \\`${sourceFile}\\``,\n \"\",\n ]\n const sortedTypes = sortReflectionsByName(types)\n\n for (const typeAlias of sortedTypes) {\n appendGroupedType(lines, context, typeAlias)\n }\n\n return lines.join(\"\\n\")\n}\n\nfunction appendGroupedType(\n lines: string[],\n context: TypeDocRuntimeContext,\n typeAlias: DeclarationReflection\n): void {\n lines.push(`## ${typeAlias.name}`)\n lines.push(\"\")\n\n const summary = typeAlias.comment?.summary\n if (summary != null) {\n lines.push(renderComment(summary))\n lines.push(\"\")\n }\n\n if (typeAlias.type != null) {\n lines.push(\"```typescript\")\n lines.push(`type ${typeAlias.name} = ${typeAlias.type.toString()}`)\n lines.push(\"```\")\n lines.push(\"\")\n }\n\n appendSourceLink(lines, context, typeAlias)\n lines.push(\"---\")\n lines.push(\"\")\n}\n","import type { DeclarationReflection } from \"typedoc\"\n\nimport type { TypeDocRuntimeContext } from \"./generator-config\"\nimport type { GeneratedApiDoc } from \"./types\"\n\nimport {\n appendToMapList,\n buildLink,\n getKindGroupName,\n getModuleNameFromPath,\n getSlug,\n type GroupedReflections,\n renderComment,\n renderCommentShort,\n sortReflectionsByName,\n} from \"./generator-shared\"\n\nexport function generateIndexPage(\n context: TypeDocRuntimeContext,\n grouped: GroupedReflections\n): GeneratedApiDoc {\n const lines: string[] = [`# ${context.config.sidebar.title}`, \"\", getProjectSummary(context), \"\"]\n\n appendComponentSection(lines, context, grouped.componentItems)\n appendFunctionsSection(lines, context, grouped.functionsByFile)\n appendTypesSection(lines, context, grouped.typesByFile)\n appendStandaloneSections(lines, context, grouped.standaloneItems)\n\n return {\n content: lines.join(\"\\n\"),\n frontmatter: {\n description: \"Auto-generated API documentation\",\n sidebar_position: 0,\n title: context.config.sidebar.title,\n },\n path: \"index.md\",\n }\n}\n\nfunction getProjectSummary(context: TypeDocRuntimeContext): string {\n const summary = context.project.comment?.summary\n if (summary == null) {\n return \"Auto-generated API documentation.\"\n }\n return renderComment(summary)\n}\n\nfunction appendComponentSection(\n lines: string[],\n context: TypeDocRuntimeContext,\n components: DeclarationReflection[]\n): void {\n if (components.length === 0) {\n return\n }\n\n lines.push(\"## Components\")\n lines.push(\"\")\n\n for (const component of sortReflectionsByName(components)) {\n const description = component.comment?.summary\n const suffix = description == null ? \"\" : ` - ${renderCommentShort(description)}`\n const link = buildLink(context.basePath, \"components\", getSlug(component.name))\n lines.push(`- [${component.name}](${link})${suffix}`)\n }\n\n lines.push(\"\")\n}\n\nfunction appendFunctionsSection(\n lines: string[],\n context: TypeDocRuntimeContext,\n functionsByFile: Map<string, DeclarationReflection[]>\n): void {\n if (functionsByFile.size === 0) {\n return\n }\n\n lines.push(\"## Functions\")\n lines.push(\"\")\n lines.push(...renderModuleSectionItems(context, functionsByFile, \"functions\"))\n lines.push(\"\")\n}\n\nfunction appendTypesSection(\n lines: string[],\n context: TypeDocRuntimeContext,\n typesByFile: Map<string, DeclarationReflection[]>\n): void {\n if (typesByFile.size === 0) {\n return\n }\n\n lines.push(\"## Type Aliases\")\n lines.push(\"\")\n lines.push(...renderModuleSectionItems(context, typesByFile, \"types\"))\n lines.push(\"\")\n}\n\nfunction renderModuleSectionItems(\n context: TypeDocRuntimeContext,\n modules: Map<string, DeclarationReflection[]>,\n category: string\n): string[] {\n const sortedModules = [...modules.entries()].sort(([left], [right]) => {\n const leftName = getModuleNameFromPath(left, context.packageNameCache)\n const rightName = getModuleNameFromPath(right, context.packageNameCache)\n return leftName.localeCompare(rightName)\n })\n\n return sortedModules.map(([sourceFile, items]) => {\n const moduleName = getModuleNameFromPath(sourceFile, context.packageNameCache)\n const itemNames = items\n .map((item) => item.name)\n .sort()\n .join(\", \")\n const link = buildLink(context.basePath, category, getSlug(moduleName))\n return `- [${moduleName}](${link}) - ${itemNames}`\n })\n}\n\nfunction appendStandaloneSections(\n lines: string[],\n context: TypeDocRuntimeContext,\n standaloneItems: DeclarationReflection[]\n): void {\n const groups = new Map<string, DeclarationReflection[]>()\n for (const item of standaloneItems) {\n appendToMapList(groups, getKindGroupName(item.kind, item.name), item)\n }\n\n const orderedGroups = [\"Interfaces\", \"Classes\", \"Variables\", \"Enums\", \"Other\"]\n for (const groupName of orderedGroups) {\n const groupItems = groups.get(groupName)\n if (groupItems == null || groupItems.length === 0) {\n continue\n }\n appendStandaloneGroup({\n context,\n groupItems,\n groupName,\n lines,\n })\n }\n}\n\nfunction appendStandaloneGroup(params: {\n context: TypeDocRuntimeContext\n groupItems: DeclarationReflection[]\n groupName: string\n lines: string[]\n}): void {\n const { context, groupItems, groupName, lines } = params\n lines.push(`## ${groupName}`)\n lines.push(\"\")\n\n for (const item of sortReflectionsByName(groupItems)) {\n const description = item.comment?.summary\n const suffix = description == null ? \"\" : ` - ${renderCommentShort(description)}`\n const prefix = groupName.toLowerCase()\n const link = buildLink(context.basePath, prefix, getSlug(item.name))\n lines.push(`- [${item.name}](${link})${suffix}`)\n }\n\n lines.push(\"\")\n}\n","import type { DeclarationReflection } from \"typedoc\"\n\nimport { renderComment } from \"./generator-shared\"\n\nexport function appendReflectionCommentTags(\n lines: string[],\n reflection: DeclarationReflection\n): void {\n const blockTags = reflection.comment?.blockTags ?? []\n\n appendTagExamples(lines, blockTags)\n appendTagDeprecated(lines, blockTags)\n appendTagSeeAlso(lines, blockTags)\n}\n\nfunction appendTagExamples(\n lines: string[],\n blockTags: NonNullable<DeclarationReflection[\"comment\"]>[\"blockTags\"]\n): void {\n const examples = blockTags.filter((tag) => tag.tag === \"@example\")\n if (examples.length === 0) {\n return\n }\n\n lines.push(\"## Examples\")\n lines.push(\"\")\n\n for (const example of examples) {\n lines.push(renderComment(example.content))\n lines.push(\"\")\n }\n}\n\nfunction appendTagDeprecated(\n lines: string[],\n blockTags: NonNullable<DeclarationReflection[\"comment\"]>[\"blockTags\"]\n): void {\n const deprecatedTag = blockTags.find((tag) => tag.tag === \"@deprecated\")\n if (deprecatedTag == null) {\n return\n }\n\n lines.push('<Warning title=\"Deprecated\">')\n lines.push(renderComment(deprecatedTag.content))\n lines.push(\"</Warning>\")\n lines.push(\"\")\n}\n\nfunction appendTagSeeAlso(\n lines: string[],\n blockTags: NonNullable<DeclarationReflection[\"comment\"]>[\"blockTags\"]\n): void {\n const seeTags = blockTags.filter((tag) => tag.tag === \"@see\")\n if (seeTags.length === 0) {\n return\n }\n\n lines.push(\"## See Also\")\n lines.push(\"\")\n for (const seeTag of seeTags) {\n lines.push(`- ${renderComment(seeTag.content)}`)\n }\n lines.push(\"\")\n}\n","import { type DeclarationReflection, ReflectionKind } from \"typedoc\"\n\nimport type { TypeDocRuntimeContext } from \"./generator-config\"\nimport type { GeneratedApiDoc } from \"./types\"\n\nimport { appendReflectionCommentTags } from \"./generator-reflection-tags\"\nimport {\n renderHierarchy,\n renderMethod,\n renderProperty,\n renderSignature,\n renderTypeParameters,\n} from \"./generator-render\"\nimport {\n createBreadcrumbs,\n createNavigationLine,\n getGroupUrlPrefix,\n getKindName,\n getSlug,\n getSourceUrl,\n type ReflectionNavigation,\n renderComment,\n renderCommentShort,\n} from \"./generator-shared\"\n\nexport function generateReflectionDocs(params: {\n context: TypeDocRuntimeContext\n navigation: ReflectionNavigation\n parentPath: string\n reflection: DeclarationReflection\n}): GeneratedApiDoc[] {\n const { context, navigation, parentPath, reflection } = params\n const pagePath = getReflectionPagePath(reflection, parentPath)\n const docs: GeneratedApiDoc[] = [\n generateReflectionPage({ context, navigation, pagePath, reflection }),\n ]\n const childRefs = reflection.children ?? []\n for (const child of childRefs) {\n if (hasOwnPage(child.kind)) {\n docs.push(\n ...generateReflectionDocs({\n context,\n navigation: { next: null, prev: null },\n parentPath: pagePath,\n reflection: child,\n })\n )\n }\n }\n return docs\n}\nfunction getReflectionPagePath(reflection: DeclarationReflection, parentPath: string): string {\n const slug = getSlug(reflection.name)\n if (parentPath.length > 0) {\n return `${parentPath}/${slug}`\n }\n const prefix = getGroupUrlPrefix(reflection.kind)\n return prefix.length === 0 ? slug : `${prefix}/${slug}`\n}\nfunction hasOwnPage(kind: ReflectionKind): boolean {\n return [\n ReflectionKind.Class,\n ReflectionKind.Enum,\n ReflectionKind.Interface,\n ReflectionKind.Module,\n ReflectionKind.Namespace,\n ].includes(kind)\n}\nexport function generateReflectionPage(params: {\n context: TypeDocRuntimeContext\n navigation: ReflectionNavigation\n pagePath: string\n reflection: DeclarationReflection\n}): GeneratedApiDoc {\n const { context, navigation, pagePath, reflection } = params\n const lines: string[] = []\n appendReflectionSections({\n context,\n lines,\n navigation,\n pagePath,\n reflection,\n })\n return {\n content: lines.join(\"\\n\"),\n frontmatter: {\n description:\n reflection.comment?.summary == null\n ? `${getKindName(reflection.kind)} ${reflection.name}`\n : renderCommentShort(reflection.comment.summary),\n title: reflection.name,\n },\n path: `${pagePath}.md`,\n }\n}\nfunction appendReflectionSections(params: {\n context: TypeDocRuntimeContext\n lines: string[]\n navigation: ReflectionNavigation\n pagePath: string\n reflection: DeclarationReflection\n}): void {\n const { context, lines, navigation, pagePath, reflection } = params\n appendBreadcrumbs(lines, context, pagePath)\n appendTitle(lines, reflection)\n appendDescription(lines, reflection)\n appendTypeParameters(lines, reflection)\n appendHierarchy(lines, context, reflection)\n appendSignatures(lines, context, reflection)\n appendProperties(lines, reflection)\n appendMethods(lines, context, reflection)\n appendEnumMembers(lines, reflection)\n appendTypeAlias(lines, reflection)\n appendSourceSection(lines, context, reflection)\n appendReflectionCommentTags(lines, reflection)\n appendNavigation({ context, lines, navigation, reflection })\n}\nfunction appendBreadcrumbs(\n lines: string[],\n context: TypeDocRuntimeContext,\n pagePath: string\n): void {\n if (!context.config.markdown.breadcrumbs) {\n return\n }\n lines.push(createBreadcrumbs(context.basePath, pagePath))\n lines.push(\"\")\n}\nfunction appendTitle(lines: string[], reflection: DeclarationReflection): void {\n const kind = getKindName(reflection.kind)\n lines.push(`# ${kind}: ${reflection.name}`)\n lines.push(\"\")\n}\nfunction appendDescription(lines: string[], reflection: DeclarationReflection): void {\n const summary = reflection.comment?.summary\n if (summary == null) {\n return\n }\n lines.push(renderComment(summary))\n lines.push(\"\")\n}\nfunction appendTypeParameters(lines: string[], reflection: DeclarationReflection): void {\n const typeParameters = reflection.typeParameters ?? []\n if (typeParameters.length === 0) {\n return\n }\n lines.push(\"## Type Parameters\")\n lines.push(\"\")\n lines.push(renderTypeParameters(typeParameters))\n lines.push(\"\")\n}\nfunction appendHierarchy(\n lines: string[],\n context: TypeDocRuntimeContext,\n reflection: DeclarationReflection\n): void {\n if (!context.config.markdown.hierarchy) {\n return\n }\n const hierarchy = renderHierarchy(reflection)\n if (hierarchy == null) {\n return\n }\n lines.push(\"## Hierarchy\")\n lines.push(\"\")\n lines.push(hierarchy)\n lines.push(\"\")\n}\nfunction appendSignatures(\n lines: string[],\n context: TypeDocRuntimeContext,\n reflection: DeclarationReflection\n): void {\n const signatures = reflection.signatures ?? []\n if (signatures.length === 0) {\n return\n }\n lines.push(\"## Signature\")\n lines.push(\"\")\n for (const signature of signatures) {\n lines.push(renderSignature(context, signature))\n lines.push(\"\")\n }\n}\nfunction appendProperties(lines: string[], reflection: DeclarationReflection): void {\n const children = reflection.children ?? []\n const properties = children.filter((child) => child.kind === ReflectionKind.Property)\n if (properties.length === 0) {\n return\n }\n lines.push(\"## Properties\")\n lines.push(\"\")\n for (const property of properties) {\n lines.push(renderProperty(property))\n lines.push(\"\")\n }\n}\nfunction appendMethods(\n lines: string[],\n context: TypeDocRuntimeContext,\n reflection: DeclarationReflection\n): void {\n const children = reflection.children ?? []\n const methods = children.filter((child) => child.kind === ReflectionKind.Method)\n if (methods.length === 0) {\n return\n }\n lines.push(\"## Methods\")\n lines.push(\"\")\n for (const method of methods) {\n lines.push(renderMethod(context, method))\n lines.push(\"\")\n }\n}\nfunction appendEnumMembers(lines: string[], reflection: DeclarationReflection): void {\n const children = reflection.children ?? []\n const enumMembers = children.filter((child) => child.kind === ReflectionKind.EnumMember)\n if (enumMembers.length === 0) {\n return\n }\n lines.push(\"## Members\")\n lines.push(\"\")\n lines.push(\"| Member | Value | Description |\")\n lines.push(\"|--------|-------|-------------|\")\n for (const member of enumMembers) {\n const value = member.defaultValue ?? \"\"\n const summary = member.comment?.summary\n const description = summary == null ? \"\" : renderCommentShort(summary)\n lines.push(`| \\`${member.name}\\` | \\`${value}\\` | ${description} |`)\n }\n lines.push(\"\")\n}\nfunction appendTypeAlias(lines: string[], reflection: DeclarationReflection): void {\n if (reflection.kind !== ReflectionKind.TypeAlias || reflection.type == null) {\n return\n }\n lines.push(\"## Type\")\n lines.push(\"\")\n lines.push(\"```typescript\")\n lines.push(`type ${reflection.name} = ${reflection.type.toString()}`)\n lines.push(\"```\")\n lines.push(\"\")\n}\nfunction appendSourceSection(\n lines: string[],\n context: TypeDocRuntimeContext,\n reflection: DeclarationReflection\n): void {\n if (!context.config.markdown.sourceLinks) {\n return\n }\n const source = reflection.sources?.[0]\n if (source == null) {\n return\n }\n lines.push(\"## Source\")\n lines.push(\"\")\n const sourceUrl = getSourceUrl(\n context.config.markdown.sourceBaseUrl,\n source.fileName,\n source.line\n )\n if (sourceUrl == null) {\n lines.push(`${source.fileName}:${source.line}`)\n } else {\n lines.push(`[${source.fileName}:${source.line}](${sourceUrl})`)\n }\n lines.push(\"\")\n}\nfunction appendNavigation(params: {\n context: TypeDocRuntimeContext\n lines: string[]\n navigation: ReflectionNavigation\n reflection: DeclarationReflection\n}): void {\n const { context, lines, navigation, reflection } = params\n const line = createNavigationLine({\n basePath: context.basePath,\n kind: reflection.kind,\n navigation,\n })\n if (line == null) {\n return\n }\n lines.push(\"---\")\n lines.push(\"\")\n lines.push(line)\n lines.push(\"\")\n}\n","import type { DeclarationReflection, ReflectionKind } from \"typedoc\"\n\nimport type { TypeDocRuntimeContext } from \"./generator-config\"\nimport type { GeneratedApiDoc } from \"./types\"\n\nimport { generateCategoryIndexPages } from \"./generator-pages-categories\"\nimport { generateComponentPage } from \"./generator-pages-components\"\nimport { generateGroupedFunctionsPage, generateGroupedTypesPage } from \"./generator-pages-grouped\"\nimport { generateIndexPage } from \"./generator-pages-index\"\nimport { generateReflectionDocs } from \"./generator-reflection\"\nimport {\n groupProjectChildren,\n isReactComponent,\n type ReflectionNavigation,\n sortReflectionsByName,\n} from \"./generator-shared\"\n\nexport function generateMarkdownDocs(context: TypeDocRuntimeContext): GeneratedApiDoc[] {\n const grouped = groupProjectChildren(context.project, isReactComponent)\n const docs: GeneratedApiDoc[] = [generateIndexPage(context, grouped)]\n\n addGroupedFunctionPages(context, docs, grouped.functionsByFile)\n addGroupedTypePages(context, docs, grouped.typesByFile)\n addComponentPages(context, docs, grouped.componentItems)\n addStandalonePages(context, docs, grouped.standaloneItems)\n\n docs.push(...generateCategoryIndexPages(context, grouped))\n return docs\n}\n\nfunction addGroupedFunctionPages(\n context: TypeDocRuntimeContext,\n docs: GeneratedApiDoc[],\n functionsByFile: Map<string, DeclarationReflection[]>\n): void {\n for (const [sourceFile, functions] of functionsByFile) {\n docs.push(generateGroupedFunctionsPage({ context, functions, sourceFile }))\n }\n}\n\nfunction addGroupedTypePages(\n context: TypeDocRuntimeContext,\n docs: GeneratedApiDoc[],\n typesByFile: Map<string, DeclarationReflection[]>\n): void {\n for (const [sourceFile, types] of typesByFile) {\n docs.push(generateGroupedTypesPage({ context, sourceFile, types }))\n }\n}\n\nfunction addComponentPages(\n context: TypeDocRuntimeContext,\n docs: GeneratedApiDoc[],\n componentItems: DeclarationReflection[]\n): void {\n const sorted = sortReflectionsByName(componentItems)\n for (const [index, component] of sorted.entries()) {\n docs.push(\n generateComponentPage({ component, context, navigation: getNavigation(sorted, index) })\n )\n }\n}\n\nfunction addStandalonePages(\n context: TypeDocRuntimeContext,\n docs: GeneratedApiDoc[],\n standaloneItems: DeclarationReflection[]\n): void {\n const itemsByKind = groupStandaloneByKind(standaloneItems)\n\n for (const items of itemsByKind.values()) {\n const sorted = sortReflectionsByName(items)\n for (const [index, reflection] of sorted.entries()) {\n docs.push(\n ...generateReflectionDocs({\n context,\n navigation: getNavigation(sorted, index),\n parentPath: \"\",\n reflection,\n })\n )\n }\n }\n}\n\nfunction groupStandaloneByKind(\n standaloneItems: DeclarationReflection[]\n): Map<ReflectionKind, DeclarationReflection[]> {\n const itemsByKind = new Map<ReflectionKind, DeclarationReflection[]>()\n\n for (const item of standaloneItems) {\n const existing = itemsByKind.get(item.kind) ?? []\n existing.push(item)\n itemsByKind.set(item.kind, existing)\n }\n\n return itemsByKind\n}\n\nfunction getNavigation(sortedItems: DeclarationReflection[], index: number): ReflectionNavigation {\n return {\n next: index < sortedItems.length - 1 ? sortedItems[index + 1] : null,\n prev: index > 0 ? sortedItems[index - 1] : null,\n }\n}\n","import fs from \"node:fs/promises\"\nimport path from \"node:path\"\nimport { readPackageUp } from \"read-package-up\"\nimport { Application, TSConfigReader, TypeDocReader } from \"typedoc\"\n\nimport type { GeneratedApiDoc, TypeDocConfig } from \"./types\"\n\nimport {\n getTypedocOptions,\n type ResolvedTypeDocConfig,\n resolveTypeDocConfig,\n type TypeDocRuntimeContext,\n} from \"./generator-config\"\nimport { generateMarkdownDocs } from \"./generator-docs\"\n\nexport class TypeDocGenerator {\n private readonly basePath: string\n private readonly config: ResolvedTypeDocConfig\n private readonly packageNameCache = new Map<string, string | undefined>()\n\n constructor(config: TypeDocConfig) {\n this.config = resolveTypeDocConfig(config)\n this.basePath = `/${this.config.out}`\n }\n\n async generate(outputDir: string): Promise<GeneratedApiDoc[]> {\n await this.populatePackageNameCache()\n\n const app = await Application.bootstrapWithPlugins(getTypedocOptions(this.config), [\n new TSConfigReader(),\n new TypeDocReader(),\n ])\n\n const project = await app.convert()\n if (project == null) {\n throw new Error(\"TypeDoc conversion failed\")\n }\n\n const context: TypeDocRuntimeContext = {\n basePath: this.basePath,\n config: this.config,\n packageNameCache: this.packageNameCache,\n project,\n }\n\n const docs = generateMarkdownDocs(context)\n await this.writeDocs(outputDir, docs)\n return docs\n }\n\n private async populatePackageNameCache(): Promise<void> {\n for (const entryPoint of this.config.entryPoints) {\n await this.resolvePackageName(entryPoint)\n }\n }\n\n private async resolvePackageName(filePath: string): Promise<string | undefined> {\n const directory = path.dirname(path.resolve(filePath))\n\n if (this.packageNameCache.has(directory)) {\n return this.packageNameCache.get(directory)\n }\n\n const packageResult = await readPackageUp({ cwd: directory })\n const packageName = packageResult?.packageJson.name\n const resolvedName =\n packageName == null || packageName.length === 0\n ? undefined\n : packageName.replace(/^@[^/]+\\//u, \"\")\n\n this.packageNameCache.set(directory, resolvedName)\n return resolvedName\n }\n\n private async writeDocs(outputDir: string, docs: GeneratedApiDoc[]): Promise<void> {\n const apiDirectory = path.join(outputDir, this.config.out)\n await fs.rm(apiDirectory, { force: true, recursive: true })\n await fs.mkdir(apiDirectory, { recursive: true })\n\n for (const doc of docs) {\n await this.writeSingleDoc(apiDirectory, doc)\n }\n }\n\n private async writeSingleDoc(apiDirectory: string, doc: GeneratedApiDoc): Promise<void> {\n const filePath = path.join(apiDirectory, doc.path)\n await fs.mkdir(path.dirname(filePath), { recursive: true })\n\n const frontmatter = createFrontmatter(doc)\n await fs.writeFile(filePath, `${frontmatter}${doc.content}`)\n }\n}\n\nfunction createFrontmatter(doc: GeneratedApiDoc): string {\n const lines: string[] = [\"---\", `title: ${doc.frontmatter.title}`]\n\n if (doc.frontmatter.description != null && doc.frontmatter.description.length > 0) {\n lines.push(`description: ${doc.frontmatter.description}`)\n }\n\n if (doc.frontmatter.sidebar_position != null) {\n lines.push(`sidebar_position: ${doc.frontmatter.sidebar_position}`)\n }\n\n if (doc.frontmatter.sidebar === false) {\n lines.push(\"sidebar: false\")\n } else if (doc.frontmatter.sidebar === \"leaf\") {\n lines.push(\"sidebar: leaf\")\n }\n\n lines.push(\"---\", \"\")\n return `${lines.join(\"\\n\")}\\n`\n}\n\nexport async function generateApiDocs(\n config: TypeDocConfig,\n outputDir: string\n): Promise<GeneratedApiDoc[]> {\n const generator = new TypeDocGenerator(config)\n return generator.generate(outputDir)\n}\n"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import { a as Npm, c as TwitterIcon, i as LinkedinIcon, l as Youtube, n as GithubIcon, o as NpmIcon, r as Linkedin, s as Twitter, t as Github, u as YoutubeIcon } from "../brand-icons-DLJKqTun.js";
1
+ import { a as Npm, c as TwitterIcon, i as LinkedinIcon, l as Youtube, n as GithubIcon, o as NpmIcon, r as Linkedin, s as Twitter, t as Github, u as YoutubeIcon } from "../brand-icons-Di8w0Nu9.js";
2
2
  export * from "lucide-react";
3
3
  export { Github, GithubIcon, Linkedin, LinkedinIcon, Npm, NpmIcon, Twitter, TwitterIcon, Youtube, YoutubeIcon };
@@ -1,4 +1,4 @@
1
- import { f as SponsorConfig, s as ProjectMeta, t as ArdoConfig, u as SidebarItem } from "./types-Do3OQY8G.js";
1
+ import { c as ProjectMeta, d as SidebarItem, n as ArdoContextItem, p as SponsorConfig, t as ArdoConfig } from "./types-B75OhnGa.js";
2
2
  import { ComponentProps, ComponentType, ReactNode, SVGAttributes } from "react";
3
3
  import * as _$react_jsx_runtime0 from "react/jsx-runtime";
4
4
  import { Link, NavLink } from "react-router";
@@ -176,8 +176,23 @@ declare function ArdoSidebarLink({
176
176
  //#endregion
177
177
  //#region src/ui/ArdoRoot.d.ts
178
178
  type ArdoRootProps = {
179
- /** Ardo config (from virtual:ardo/config) */config: ArdoConfig; /** Sidebar data (from virtual:ardo/sidebar) */
180
- sidebar: SidebarItem[]; /** Custom header element (overrides auto-generated header) */
179
+ /** Ardo config (from virtual:ardo/config) */config: ArdoConfig;
180
+ /**
181
+ * Sidebar data.
182
+ *
183
+ * - `SidebarItem[]` — a single sidebar shown for every non-bare route
184
+ * (from `virtual:ardo/sidebar`, back-compat).
185
+ * - `Record<string, SidebarItem[]>` — a per-context sidebar map
186
+ * (from `virtual:ardo/sidebars`). The active context's sidebar is
187
+ * shown; the key matches the `id` of the matching `ArdoContextItem`.
188
+ */
189
+ sidebar: Record<string, SidebarItem[]> | SidebarItem[];
190
+ /**
191
+ * Top-level navigation contexts shown in the sidebar rail. When provided,
192
+ * the rail renders these as world-switcher items and `sidebar` is treated
193
+ * as a map keyed by context id.
194
+ */
195
+ contexts?: ArdoContextItem[]; /** Custom header element (overrides auto-generated header) */
181
196
  header?: ReactNode; /** Custom sidebar element (overrides auto-generated sidebar) */
182
197
  sidebarContent?: ReactNode; /** Custom footer element (overrides auto-generated footer) */
183
198
  footer?: ReactNode; /** Props passed to auto-generated ArdoHeader (ignored when header is provided) */
@@ -200,6 +215,7 @@ type ArdoRootProps = {
200
215
  declare function ArdoRoot({
201
216
  config,
202
217
  sidebar,
218
+ contexts,
203
219
  header,
204
220
  sidebarContent,
205
221
  footer,
@@ -493,10 +509,12 @@ declare function ArdoIcon({
493
509
  //#endregion
494
510
  //#region src/ui/components/Search.d.ts
495
511
  type ArdoSearchProps = {
496
- /** Placeholder text for the search input (default: "Search...") */placeholder?: string;
512
+ /** Placeholder text for the search input (default: "Search...") */placeholder?: string; /** Focus the input on mount (used by the mobile search overlay). */
513
+ autoFocus?: boolean;
497
514
  };
498
515
  declare function ArdoSearch({
499
- placeholder
516
+ placeholder,
517
+ autoFocus
500
518
  }: ArdoSearchProps): _$react_jsx_runtime0.JSX.Element;
501
519
  //#endregion
502
520
  //#region src/ui/components/Steps.d.ts
@@ -678,6 +696,33 @@ declare function ArdoDocLayout({
678
696
  content
679
697
  }: DocLayoutProps): _$react_jsx_runtime0.JSX.Element;
680
698
  //#endregion
699
+ //#region src/ui/ErrorBoundary.d.ts
700
+ type ArdoErrorBoundaryProps = {
701
+ /** Override the heading/description shown for 404 responses. */notFound?: {
702
+ title?: string;
703
+ description?: string;
704
+ homeLabel?: string;
705
+ homeHref?: string;
706
+ }; /** Override the heading/description shown for non-404 errors. */
707
+ error?: {
708
+ title?: string;
709
+ description?: string;
710
+ homeLabel?: string;
711
+ homeHref?: string;
712
+ };
713
+ };
714
+ /**
715
+ * Themed error/404 page. Drop into a React Router route as `ErrorBoundary`
716
+ * to replace the default unstyled fallback with a layout-aware page.
717
+ *
718
+ * @example
719
+ * ```tsx
720
+ * // app/root.tsx
721
+ * export { ArdoErrorBoundary as ErrorBoundary } from "ardo/ui"
722
+ * ```
723
+ */
724
+ declare function ArdoErrorBoundary(props?: ArdoErrorBoundaryProps): _$react_jsx_runtime0.JSX.Element;
725
+ //#endregion
681
726
  //#region src/ui/HomePage.d.ts
682
727
  type ArdoHomePageProps = {
683
728
  /** Props passed to the Header component */headerProps?: ArdoHeaderProps; /** Props passed to the Footer component */
@@ -804,6 +849,22 @@ declare function ArdoNavLink({
804
849
  activeMatch: _activeMatch
805
850
  }: ArdoNavLinkProps): _$react_jsx_runtime0.JSX.Element;
806
851
  //#endregion
852
+ //#region src/ui/OwlMark.d.ts
853
+ type ArdoOwlMarkProps = {
854
+ size?: number | string;
855
+ title?: string;
856
+ } & Omit<ComponentProps<"svg">, "children">;
857
+ /**
858
+ * Decorative line-art owl, drawn in `currentColor`. Used by the default
859
+ * error and empty states. Set `color` on the parent (or `style.color`)
860
+ * to recolor; set `title` to give it accessible meaning.
861
+ */
862
+ declare function ArdoOwlMark({
863
+ size,
864
+ title,
865
+ ...props
866
+ }: ArdoOwlMarkProps): _$react_jsx_runtime0.JSX.Element;
867
+ //#endregion
807
868
  //#region src/ui/Toc.d.ts
808
869
  type ArdoTOCProps = {
809
870
  /** Label for the TOC heading (default: "On this page") */label?: string;
@@ -812,5 +873,5 @@ declare function ArdoTOC({
812
873
  label: labelProp
813
874
  }?: ArdoTOCProps): _$react_jsx_runtime0.JSX.Element | null;
814
875
  //#endregion
815
- export { ArdoTip as $, ArdoSearch as A, ArdoFeatureCardProps as B, ArdoTabPanels as C, ArdoFooterProps as Ct, ArdoTabsProps as D, ArdoTabs as E, ArdoHero as F, ArdoContainerProps as G, ArdoFeaturesProps as H, ArdoHeroAction as I, ArdoDangerProps as J, ArdoContainerType as K, ArdoHeroImage as L, ArdoIconProps as M, getRegisteredIconNames as N, ArdoSteps as O, registerIcons as P, ArdoNoteProps as Q, ArdoHeroProps as R, ArdoTabPanelProps as S, ArdoFooterMessageProps as St, ArdoTabProps as T, ArdoCopyButton as U, ArdoFeatures as V, ArdoContainer as W, ArdoInfoProps as X, ArdoInfo as Y, ArdoNote as Z, ArdoThemeToggle as _, ArdoHeaderProps as _t, ArdoNavLinkProps as a, ArdoCodeGroup as at, ArdoTabListProps as b, ArdoFooter as bt, ArdoLayoutProps as c, ArdoRoot as ct, ArdoHomePage as d, ArdoSidebarGroup as dt, ArdoTipProps as et, ArdoHomePageProps as f, ArdoSidebarGroupProps as ft, ArdoContent as g, ArdoHeader as gt, ArdoDocPage as h, ArdoSidebarProps as ht, ArdoNavLink as i, ArdoCodeBlockProps as it, ArdoIcon as j, ArdoStepsProps as k, ArdoRootLayout as l, ArdoRootProps as lt, ArdoDocLayout as m, ArdoSidebarLinkProps as mt, ArdoTOCProps as n, ArdoWarningProps as nt, ArdoNavProps as o, ArdoCodeGroupProps as ot, ArdoDocContent as p, ArdoSidebarLink as pt, ArdoDanger as q, ArdoNav as r, ArdoCodeBlock as rt, ArdoLayout as s, ArdoBareContent as st, ArdoTOC as t, ArdoWarning as tt, ArdoRootLayoutProps as u, ArdoSidebar as ut, ArdoTab as v, ArdoSocialLink as vt, ArdoTabPanelsProps as w, ArdoTabPanel as x, ArdoFooterCopyrightProps as xt, ArdoTabList as y, ArdoSocialLinkProps as yt, ArdoFeatureCard as z };
816
- //# sourceMappingURL=index-CWfXolzQ.d.ts.map
876
+ export { ArdoInfo as $, ArdoTabs as A, ArdoHeroAction as B, ArdoTabList as C, ArdoSocialLinkProps as Ct, ArdoTabPanels as D, ArdoFooterProps as Dt, ArdoTabPanelProps as E, ArdoFooterMessageProps as Et, ArdoIcon as F, ArdoFeatures as G, ArdoHeroProps as H, ArdoIconProps as I, ArdoContainer as J, ArdoFeaturesProps as K, getRegisteredIconNames as L, ArdoSteps as M, ArdoStepsProps as N, ArdoTabPanelsProps as O, ArdoSearch as P, ArdoDangerProps as Q, registerIcons as R, ArdoTab as S, ArdoSocialLink as St, ArdoTabPanel as T, ArdoFooterCopyrightProps as Tt, ArdoFeatureCard as U, ArdoHeroImage as V, ArdoFeatureCardProps as W, ArdoContainerType as X, ArdoContainerProps as Y, ArdoDanger as Z, ArdoDocContent as _, ArdoSidebarLink as _t, ArdoNav as a, ArdoWarning as at, ArdoContent as b, ArdoHeader as bt, ArdoNavProps as c, ArdoCodeBlockProps as ct, ArdoRootLayout as d, ArdoBareContent as dt, ArdoInfoProps as et, ArdoRootLayoutProps as f, ArdoRoot as ft, ArdoErrorBoundaryProps as g, ArdoSidebarGroupProps as gt, ArdoErrorBoundary as h, ArdoSidebarGroup as ht, ArdoOwlMarkProps as i, ArdoTipProps as it, ArdoTabsProps as j, ArdoTabProps as k, ArdoLayout as l, ArdoCodeGroup as lt, ArdoHomePageProps as m, ArdoSidebar as mt, ArdoTOCProps as n, ArdoNoteProps as nt, ArdoNavLink as o, ArdoWarningProps as ot, ArdoHomePage as p, ArdoRootProps as pt, ArdoCopyButton as q, ArdoOwlMark as r, ArdoTip as rt, ArdoNavLinkProps as s, ArdoCodeBlock as st, ArdoTOC as t, ArdoNote as tt, ArdoLayoutProps as u, ArdoCodeGroupProps as ut, ArdoDocLayout as v, ArdoSidebarLinkProps as vt, ArdoTabListProps as w, ArdoFooter as wt, ArdoThemeToggle as x, ArdoHeaderProps as xt, ArdoDocPage as y, ArdoSidebarProps as yt, ArdoHero as z };
877
+ //# sourceMappingURL=index-BcekgOfA.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-BcekgOfA.d.ts","names":[],"sources":["../src/ui/Footer.tsx","../src/ui/Header.tsx","../src/ui/Sidebar.tsx","../src/ui/ArdoRoot.tsx","../src/ui/BareContent.tsx","../src/ui/components/CodeBlock.tsx","../src/ui/components/Container.tsx","../src/ui/components/CopyButton.tsx","../src/ui/components/Features.tsx","../src/ui/components/Hero.tsx","../src/ui/components/Icon.tsx","../src/ui/components/Search.tsx","../src/ui/components/Steps.tsx","../src/ui/components/Tabs.tsx","../src/ui/components/ThemeToggle.tsx","../src/ui/Content.tsx","../src/ui/DocPage.tsx","../src/ui/ErrorBoundary.tsx","../src/ui/HomePage.tsx","../src/ui/Layout.tsx","../src/ui/Nav.tsx","../src/ui/OwlMark.tsx","../src/ui/Toc.tsx"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { a as PageData, p as TOCItem, t as ArdoConfig, u as SidebarItem } from "./types-Do3OQY8G.js";
1
+ import { d as SidebarItem, m as TOCItem, n as ArdoContextItem, o as PageData, t as ArdoConfig } from "./types-B75OhnGa.js";
2
2
  import * as _$react from "react";
3
3
  import { ReactNode } from "react";
4
4
  import * as _$react_jsx_runtime0 from "react/jsx-runtime";
@@ -7,6 +7,8 @@ import * as _$react_jsx_runtime0 from "react/jsx-runtime";
7
7
  type ArdoContextValue = {
8
8
  config: ArdoConfig;
9
9
  sidebar: SidebarItem[];
10
+ contexts?: ArdoContextItem[];
11
+ activeContextId?: string;
10
12
  currentPage?: PageData;
11
13
  };
12
14
  declare const ArdoContext: _$react.Context<ArdoContextValue | null>;
@@ -18,12 +20,16 @@ declare function useArdoTOC(): TOCItem[];
18
20
  type ArdoProviderProps = {
19
21
  config: ArdoConfig;
20
22
  sidebar: SidebarItem[];
23
+ contexts?: ArdoContextItem[];
24
+ activeContextId?: string;
21
25
  currentPage?: PageData;
22
26
  children: ReactNode;
23
27
  };
24
28
  declare function ArdoProvider({
25
29
  config,
26
30
  sidebar,
31
+ contexts,
32
+ activeContextId,
27
33
  currentPage,
28
34
  children
29
35
  }: ArdoProviderProps): _$react_jsx_runtime0.JSX.Element;
@@ -75,4 +81,4 @@ declare function getPrevNextLinks(sidebar: SidebarItem[], currentPath: string):
75
81
  };
76
82
  //#endregion
77
83
  export { ArdoProvider as a, useArdoConfig as c, useArdoSidebar as d, useArdoSiteConfig as f, ArdoPageDataProvider as i, useArdoContext as l, getPrevNextLinks as n, ArdoSiteConfig as o, useArdoTOC as p, ArdoContext as r, ArdoSiteConfigProvider as s, findCurrentSidebarItem as t, useArdoPageData as u };
78
- //# sourceMappingURL=index-BNKprp9_.d.ts.map
84
+ //# sourceMappingURL=index-CuMTHUxX.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-CuMTHUxX.d.ts","names":[],"sources":["../src/runtime/hooks.tsx","../src/runtime/sidebar-utils.ts"],"mappings":";;;;;;KAIK,gBAAA;EACH,MAAA,EAAQ,UAAA;EACR,OAAA,EAAS,WAAA;EACT,QAAA,GAAW,eAAA;EACX,eAAA;EACA,WAAA,GAAc,QAAA;AAAA;AAAA,cAGV,WAAA,EAAW,OAAA,CAAA,OAAA,CAAA,gBAAA;AAAA,iBAED,cAAA,CAAA,GAAkB,gBAAA;AAAA,iBAQlB,aAAA,CAAA,GAAiB,UAAA;AAAA,iBAKjB,cAAA,CAAA,GAAkB,WAAA;AAAA,iBAalB,eAAA,CAAA,GAAmB,QAAA;AAAA,iBAKnB,UAAA,CAAA,GAAc,OAAA;AAAA,KAKzB,iBAAA;EACH,MAAA,EAAQ,UAAA;EACR,OAAA,EAAS,WAAA;EACT,QAAA,GAAW,eAAA;EACX,eAAA;EACA,WAAA,GAAc,QAAA;EACd,QAAA,EAAU,SAAA;AAAA;AAAA,iBAGI,YAAA,CAAA;EACd,MAAA;EACA,OAAA;EACA,QAAA;EACA,eAAA;EACA,WAAA;EACA;AAAA,GACC,iBAAA,GAAiB,oBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,KAef,yBAAA;EACH,WAAA,EAAa,QAAA;EACb,GAAA,EAAK,OAAA;EACL,QAAA,EAAU,SAAA;AAAA;AAAA,iBAGI,oBAAA,CAAA;EAAuB,WAAA;EAAa,GAAA;EAAK;AAAA,GAAY,yBAAA,GAAyB,oBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,KA0BlF,cAAA;EACV,QAAA;IAAa,OAAA;IAAiB,IAAA;EAAA;EAC9B,WAAA;IAAgB,OAAA;IAAmB,IAAA;IAAe,aAAA,GAAgB,IAAA,CAAK,qBAAA;EAAA;EACvE,QAAA;AAAA;AAAA,iBAKc,iBAAA,CAAA,GAAqB,cAAA;AAAA,KAIhC,2BAAA;EACH,KAAA,EAAO,cAAA;EACP,QAAA,EAAU,SAAA;AAAA;AAAA,iBAGI,sBAAA,CAAA;EAAyB,KAAA;EAAO;AAAA,GAAY,2BAAA,GAA2B,oBAAA,CAAA,GAAA,CAAA,OAAA;;;;;;;iBC5HvE,sBAAA,CACd,OAAA,EAAS,WAAA,IACT,WAAA,WACC,WAAA;ADP+F;;;;AAAA,iBC4BlF,gBAAA,CACd,OAAA,EAAS,WAAA,IACT,WAAA;EACG,IAAA,GAAO,WAAA;EAAa,IAAA,GAAO,WAAA;AAAA"}