ardo 2.5.0 → 2.7.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 (38) hide show
  1. package/README.md +2 -2
  2. package/dist/{Features-rHF_bj67.d.ts → FileTree-gHRnoz7O.d.ts} +96 -16
  3. package/dist/Search-MXGJE6PQ.js +9 -0
  4. package/dist/{chunk-X7MG5VTZ.js → chunk-6CQBZBXD.js} +254 -93
  5. package/dist/chunk-6CQBZBXD.js.map +1 -0
  6. package/dist/{chunk-NJWWPDO2.js → chunk-6MXVILOZ.js} +2 -2
  7. package/dist/{chunk-5K5L7ZYS.js → chunk-ASEDNN4I.js} +42 -3
  8. package/dist/chunk-ASEDNN4I.js.map +1 -0
  9. package/dist/{chunk-GAYGMYIS.js → chunk-BHHI2BO4.js} +2 -2
  10. package/dist/{chunk-BH7JD5XJ.js → chunk-NBRHGTR2.js} +2 -1
  11. package/dist/chunk-NBRHGTR2.js.map +1 -0
  12. package/dist/chunk-QELSOHIY.js +46 -0
  13. package/dist/chunk-QELSOHIY.js.map +1 -0
  14. package/dist/config/index.d.ts +5 -5
  15. package/dist/config/index.js +1 -1
  16. package/dist/index.d.ts +3 -3
  17. package/dist/index.js +14 -10
  18. package/dist/mdx/provider.js +2 -2
  19. package/dist/runtime/index.d.ts +10 -10
  20. package/dist/runtime/index.js +7 -7
  21. package/dist/{types-DSD5zwMd.d.ts → types-CLkHwCch.d.ts} +9 -3
  22. package/dist/ui/icons/folder.svg +1 -0
  23. package/dist/ui/index.d.ts +65 -3
  24. package/dist/ui/index.js +12 -4
  25. package/dist/ui/styles.css +176 -0
  26. package/dist/vite/index.d.ts +2 -2
  27. package/dist/vite/index.js +2 -2
  28. package/package.json +8 -4
  29. package/virtual.d.ts +60 -0
  30. package/dist/Search-RJRSEY42.js +0 -9
  31. package/dist/chunk-3O2PF4HA.js +0 -46
  32. package/dist/chunk-3O2PF4HA.js.map +0 -1
  33. package/dist/chunk-5K5L7ZYS.js.map +0 -1
  34. package/dist/chunk-BH7JD5XJ.js.map +0 -1
  35. package/dist/chunk-X7MG5VTZ.js.map +0 -1
  36. /package/dist/{Search-RJRSEY42.js.map → Search-MXGJE6PQ.js.map} +0 -0
  37. /package/dist/{chunk-NJWWPDO2.js.map → chunk-6MXVILOZ.js.map} +0 -0
  38. /package/dist/{chunk-GAYGMYIS.js.map → chunk-BHHI2BO4.js.map} +0 -0
package/README.md CHANGED
@@ -96,9 +96,9 @@ function App() {
96
96
 
97
97
  ## Documentation
98
98
 
99
- Full documentation available at [sebastian-software.github.io/ardo](https://sebastian-software.github.io/ardo/)
99
+ Full documentation available at [ardo-docs.dev](https://ardo-docs.dev)
100
100
 
101
- LLM-optimized documentation: [llms-full.txt](https://sebastian-software.github.io/ardo/llms-full.txt)
101
+ LLM-optimized documentation: [llms-full.txt](https://ardo-docs.dev/llms-full.txt)
102
102
 
103
103
  ## License
104
104
 
@@ -1,8 +1,32 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { ReactNode, ComponentProps, CSSProperties } from 'react';
3
3
  import { NavLink, Link } from 'react-router';
4
- import { S as SidebarItem, c as ProjectMeta, g as SponsorConfig } from './types-DSD5zwMd.js';
4
+ import { S as SidebarItem, b as ProjectMeta, f as SponsorConfig } from './types-CLkHwCch.js';
5
5
 
6
+ interface RootLayoutProps {
7
+ children: ReactNode;
8
+ /** Favicon URL (renders <link rel="icon">) */
9
+ favicon?: string;
10
+ /** Language attribute for <html> (default: from config or "en") */
11
+ lang?: string;
12
+ }
13
+ /**
14
+ * Default HTML shell for Ardo sites. Replaces the boilerplate `Layout` export
15
+ * that every root.tsx must define for React Router.
16
+ *
17
+ * @example Basic usage
18
+ * ```tsx
19
+ * // app/root.tsx
20
+ * export { RootLayout as Layout } from "ardo/ui"
21
+ * ```
22
+ *
23
+ * @example With favicon
24
+ * ```tsx
25
+ * import logo from "./assets/logo.svg"
26
+ * export const Layout = (props) => <RootLayout favicon={logo} {...props} />
27
+ * ```
28
+ */
29
+ declare function RootLayout({ children, favicon, lang }: RootLayoutProps): react_jsx_runtime.JSX.Element;
6
30
  interface LayoutProps {
7
31
  /** Header content */
8
32
  header?: ReactNode;
@@ -53,7 +77,15 @@ interface HeaderProps {
53
77
  /**
54
78
  * Header component with explicit slot props.
55
79
  *
56
- * @example
80
+ * Automatically pulls `title` from config and `logo`/`siteTitle` from themeConfig.
81
+ * Props serve as overrides.
82
+ *
83
+ * @example Zero-config
84
+ * ```tsx
85
+ * <Header />
86
+ * ```
87
+ *
88
+ * @example With overrides
57
89
  * ```tsx
58
90
  * <Header
59
91
  * logo="/logo.svg"
@@ -64,9 +96,6 @@ interface HeaderProps {
64
96
  * <NavLink to="/api">API</NavLink>
65
97
  * </Nav>
66
98
  * }
67
- * actions={
68
- * <SocialLink href="https://github.com/..." icon="github" />
69
- * }
70
99
  * />
71
100
  * ```
72
101
  */
@@ -102,7 +131,15 @@ interface SidebarProps {
102
131
  className?: string;
103
132
  }
104
133
  /**
105
- * Sidebar component supporting both data-driven and JSX composition patterns.
134
+ * Sidebar component supporting data-driven, JSX composition, and zero-config patterns.
135
+ *
136
+ * When neither `items` nor `children` are provided, automatically renders from
137
+ * the Ardo sidebar context (`virtual:ardo/sidebar`).
138
+ *
139
+ * @example Zero-config (from context)
140
+ * ```tsx
141
+ * <Sidebar />
142
+ * ```
106
143
  *
107
144
  * @example Data-driven (items prop)
108
145
  * ```tsx
@@ -191,30 +228,33 @@ interface FooterProps {
191
228
  sponsor?: SponsorConfig;
192
229
  /** Build timestamp (ISO string) — renders formatted date */
193
230
  buildTime?: string;
231
+ /** Git commit hash — rendered next to the build date */
232
+ buildHash?: string;
194
233
  /** Show "Built with Ardo" link (default: true) */
195
234
  ardoLink?: boolean;
196
235
  }
197
236
  /**
198
237
  * Footer component with structured layout for project info, sponsor, and build metadata.
199
238
  *
239
+ * Automatically pulls data from Ardo context (`config.project`, `config.buildTime`,
240
+ * `config.buildHash`, `themeConfig.footer.*`). Props serve as overrides.
241
+ *
200
242
  * When `children` is provided, all automatic rendering is skipped.
201
243
  *
202
- * @example Structured usage
244
+ * @example Automatic (zero-config)
245
+ * ```tsx
246
+ * <Footer />
247
+ * ```
248
+ *
249
+ * @example With overrides
203
250
  * ```tsx
204
251
  * <Footer
205
- * project={config.project}
206
252
  * sponsor={{ text: "Sebastian Software", link: "https://sebastian-software.com/oss" }}
207
- * buildTime={config.buildTime}
208
253
  * message="Released under the MIT License."
209
254
  * copyright="Copyright 2026 Sebastian Software GmbH"
210
255
  * />
211
256
  * ```
212
257
  *
213
- * @example Simple usage
214
- * ```tsx
215
- * <Footer message="MIT License" copyright="2026 Sebastian Software" />
216
- * ```
217
- *
218
258
  * @example Custom content
219
259
  * ```tsx
220
260
  * <Footer>
@@ -222,7 +262,7 @@ interface FooterProps {
222
262
  * </Footer>
223
263
  * ```
224
264
  */
225
- declare function Footer({ message, copyright, children, className, project, sponsor, buildTime, ardoLink, }: FooterProps): react_jsx_runtime.JSX.Element | null;
265
+ declare function Footer({ message, copyright, children, className, project, sponsor, buildTime, buildHash, ardoLink, }: FooterProps): react_jsx_runtime.JSX.Element | null;
226
266
  interface FooterMessageProps {
227
267
  children: ReactNode;
228
268
  className?: string;
@@ -559,4 +599,44 @@ declare function FeatureCard({ title, icon, details, link, linkText, className,
559
599
  */
560
600
  declare function Features({ items, title, subtitle, className }: FeaturesProps): react_jsx_runtime.JSX.Element | null;
561
601
 
562
- export { type LayoutProps as $, type TabListProps as A, TabPanel as B, CodeBlock as C, Danger as D, type TabPanelProps as E, FeatureCard as F, TabPanels as G, Header as H, Info as I, type TabPanelsProps as J, type TabProps as K, Layout as L, Tabs as M, Note as N, type TabsProps as O, ThemeToggle as P, Tip as Q, type TipProps as R, Search as S, TOC as T, type WarningProps as U, DocContent as V, Warning as W, type FooterCopyrightProps as X, type FooterMessageProps as Y, type FooterProps as Z, type HeaderProps as _, type CodeBlockProps as a, SidebarGroup as a0, type SidebarGroupProps as a1, SidebarLink as a2, type SidebarLinkProps as a3, type SidebarProps as a4, SocialLink as a5, type SocialLinkProps as a6, CodeGroup as b, type CodeGroupProps as c, Container as d, type ContainerProps as e, type ContainerType as f, Content as g, CopyButton as h, type DangerProps as i, DocLayout as j, DocPage as k, type FeatureCardProps as l, type FeatureItem as m, Features as n, type FeaturesProps as o, Footer as p, Hero as q, type HeroAction as r, type HeroImage as s, type HeroProps as t, HomePage as u, type InfoProps as v, type NoteProps as w, Sidebar as x, Tab as y, TabList as z };
602
+ interface StepsProps {
603
+ /** Content to display — expects an ordered list (`<ol>`) from MDX */
604
+ children: ReactNode;
605
+ }
606
+ /**
607
+ * A wrapper for ordered lists that renders numbered step indicators.
608
+ *
609
+ * @example
610
+ * ```mdx
611
+ * <Steps>
612
+ * 1. Install the package
613
+ * 2. Configure your site
614
+ * 3. Start writing
615
+ * </Steps>
616
+ * ```
617
+ */
618
+ declare function Steps({ children }: StepsProps): react_jsx_runtime.JSX.Element;
619
+
620
+ interface FileTreeProps {
621
+ /** Content to display — expects an unordered list (`<ul>`) from MDX */
622
+ children: ReactNode;
623
+ }
624
+ /**
625
+ * A wrapper for unordered lists that renders a file/folder tree with icons.
626
+ *
627
+ * @example
628
+ * ```mdx
629
+ * <FileTree>
630
+ * - src/
631
+ * - components/
632
+ * - Header.tsx
633
+ * - Footer.tsx
634
+ * - index.ts
635
+ * - package.json
636
+ * - README.md
637
+ * </FileTree>
638
+ * ```
639
+ */
640
+ declare function FileTree({ children }: FileTreeProps): react_jsx_runtime.JSX.Element;
641
+
642
+ export { type SidebarProps as $, Steps as A, type StepsProps as B, CodeBlock as C, Danger as D, Tab as E, FeatureCard as F, TabList as G, Header as H, Info as I, type TabListProps as J, TabPanel as K, Layout as L, type TabPanelProps as M, Note as N, TabPanels as O, type TabPanelsProps as P, type TabProps as Q, Tabs as R, Search as S, TOC as T, type TabsProps as U, ThemeToggle as V, Tip as W, type TipProps as X, Warning as Y, type WarningProps as Z, type HeaderProps as _, type CodeBlockProps as a, type FooterProps as a0, DocContent as a1, type FooterCopyrightProps as a2, type FooterMessageProps as a3, type LayoutProps as a4, RootLayout as a5, type RootLayoutProps as a6, SidebarGroup as a7, type SidebarGroupProps as a8, SidebarLink as a9, type SidebarLinkProps as aa, SocialLink as ab, type SocialLinkProps as ac, CodeGroup as b, type CodeGroupProps as c, Container as d, type ContainerProps as e, type ContainerType as f, Content as g, CopyButton as h, type DangerProps as i, DocLayout as j, DocPage as k, type FeatureCardProps as l, type FeatureItem as m, Features as n, type FeaturesProps as o, FileTree as p, type FileTreeProps as q, Footer as r, Hero as s, type HeroAction as t, type HeroImage as u, type HeroProps as v, HomePage as w, type InfoProps as x, type NoteProps as y, Sidebar as z };
@@ -0,0 +1,9 @@
1
+ import {
2
+ Search
3
+ } from "./chunk-BHHI2BO4.js";
4
+ import "./chunk-MJQGGJQZ.js";
5
+ import "./chunk-QELSOHIY.js";
6
+ export {
7
+ Search
8
+ };
9
+ //# sourceMappingURL=Search-MXGJE6PQ.js.map