ardo 3.0.5 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/README.md +9 -19
  2. package/dist/DocPage-BVibJR9O.js +997 -0
  3. package/dist/DocPage-BVibJR9O.js.map +1 -0
  4. package/dist/assets/src/ui/Breadcrumb.css.ts.vanilla-Dpgq-C_p.css +20 -0
  5. package/dist/assets/src/ui/DocPage.css.ts.vanilla-CXKuz4U-.css +34 -0
  6. package/dist/assets/src/ui/Footer.css.ts.vanilla-BSzPIPt4.css +100 -0
  7. package/dist/assets/src/ui/Header.css.ts.vanilla-8QL0Jzgk.css +156 -0
  8. package/dist/assets/src/ui/Layout.css.ts.vanilla-Bpx_-gJt.css +67 -0
  9. package/dist/assets/src/ui/Nav.css.ts.vanilla-CsAQjogy.css +51 -0
  10. package/dist/assets/src/ui/Sidebar.css.ts.vanilla-D70qXTEr.css +115 -0
  11. package/dist/assets/src/ui/TOC.css.ts.vanilla-435FKDcl.css +52 -0
  12. package/dist/assets/src/ui/components/ApiItem.css.ts.vanilla-B_DW-1iJ.css +218 -0
  13. package/dist/assets/src/ui/components/CodeBlock.css.ts.vanilla-lNKqskjQ.css +182 -0
  14. package/dist/assets/src/ui/components/Container.css.ts.vanilla-CUhRUA9t.css +80 -0
  15. package/dist/assets/src/ui/components/CopyButton.css.ts.vanilla-DZZ5jgTM.css +24 -0
  16. package/dist/assets/src/ui/components/Features.css.ts.vanilla-D-pNXM9Q.css +129 -0
  17. package/dist/assets/src/ui/components/Hero.css.ts.vanilla-DHJVZ6GX.css +134 -0
  18. package/dist/assets/src/ui/components/Search.css.ts.vanilla-BYpWHzky.css +135 -0
  19. package/dist/assets/src/ui/components/Steps.css.ts.vanilla-CisaxeNj.css +59 -0
  20. package/dist/assets/src/ui/components/Tabs.css.ts.vanilla-C4-vJSnf.css +30 -0
  21. package/dist/assets/src/ui/components/ThemeToggle.css.ts.vanilla---sSUELC.css +22 -0
  22. package/dist/assets/src/ui/content.css.ts.vanilla-O_RaSPXm.css +106 -0
  23. package/dist/assets/src/ui/theme/animations.css.ts.vanilla-D6ImVUKy.css +10 -0
  24. package/dist/assets/src/ui/theme/dark.css.ts.vanilla-2iJgcpbU.css +87 -0
  25. package/dist/assets/src/ui/theme/light.css.ts.vanilla-CwinfWSf.css +87 -0
  26. package/dist/assets/src/ui/theme/reset.css.ts.vanilla-0Q3pLjfC.css +34 -0
  27. package/dist/config/index.d.ts +5 -5
  28. package/dist/config/index.d.ts.map +1 -0
  29. package/dist/config/index.js +54 -11
  30. package/dist/config/index.js.map +1 -1
  31. package/dist/contract.css-QS0y3-CM.d.ts +105 -0
  32. package/dist/contract.css-QS0y3-CM.d.ts.map +1 -0
  33. package/dist/generator-DcUomVnD.js +1193 -0
  34. package/dist/generator-DcUomVnD.js.map +1 -0
  35. package/dist/icons/index.d.ts +1 -1
  36. package/dist/icons/index.js +1 -2
  37. package/dist/index-DNKCjxv5.d.ts +78 -0
  38. package/dist/index-DNKCjxv5.d.ts.map +1 -0
  39. package/dist/index-DSeJoaxz.d.ts +938 -0
  40. package/dist/index-DSeJoaxz.d.ts.map +1 -0
  41. package/dist/index.d.ts +5 -8
  42. package/dist/index.js +6 -101
  43. package/dist/mdx/provider.d.ts +61 -4
  44. package/dist/mdx/provider.d.ts.map +1 -0
  45. package/dist/mdx/provider.js +89 -116
  46. package/dist/mdx/provider.js.map +1 -1
  47. package/dist/runtime/index.d.ts +2 -41
  48. package/dist/runtime/index.js +2 -28
  49. package/dist/sidebar-utils-1Skqle1Q.js +109 -0
  50. package/dist/sidebar-utils-1Skqle1Q.js.map +1 -0
  51. package/dist/theme/index.d.ts +215 -0
  52. package/dist/theme/index.d.ts.map +1 -0
  53. package/dist/theme/index.js +295 -0
  54. package/dist/theme/index.js.map +1 -0
  55. package/dist/typedoc/components/index.d.ts +55 -0
  56. package/dist/typedoc/components/index.d.ts.map +1 -0
  57. package/dist/typedoc/components/index.js +328 -0
  58. package/dist/typedoc/components/index.js.map +1 -0
  59. package/dist/typedoc/index.d.ts +34 -303
  60. package/dist/typedoc/index.d.ts.map +1 -0
  61. package/dist/typedoc/index.js +97 -268
  62. package/dist/typedoc/index.js.map +1 -1
  63. package/dist/types-DAZHcySL.d.ts +182 -0
  64. package/dist/types-DAZHcySL.d.ts.map +1 -0
  65. package/dist/types-DVodb4lK.d.ts +198 -0
  66. package/dist/types-DVodb4lK.d.ts.map +1 -0
  67. package/dist/ui/index.d.ts +2 -198
  68. package/dist/ui/index.js +3 -98
  69. package/dist/ui/styles.css +1460 -2412
  70. package/dist/ui/styles.d.ts +1 -0
  71. package/dist/ui/styles.js +23 -0
  72. package/dist/ui-NhRDIFUN.js +1301 -0
  73. package/dist/ui-NhRDIFUN.js.map +1 -0
  74. package/dist/vite/index.d.ts +72 -78
  75. package/dist/vite/index.d.ts.map +1 -0
  76. package/dist/vite/index.js +2918 -1278
  77. package/dist/vite/index.js.map +1 -1
  78. package/package.json +33 -15
  79. package/dist/FileTree-qpT1ZVrW.d.ts +0 -655
  80. package/dist/Search-MXGJE6PQ.js +0 -9
  81. package/dist/Search-MXGJE6PQ.js.map +0 -1
  82. package/dist/chunk-BHHI2BO4.js +0 -194
  83. package/dist/chunk-BHHI2BO4.js.map +0 -1
  84. package/dist/chunk-FZP2AVJL.js +0 -43
  85. package/dist/chunk-FZP2AVJL.js.map +0 -1
  86. package/dist/chunk-MJQGGJQZ.js +0 -88
  87. package/dist/chunk-MJQGGJQZ.js.map +0 -1
  88. package/dist/chunk-NBRHGTR2.js +0 -79
  89. package/dist/chunk-NBRHGTR2.js.map +0 -1
  90. package/dist/chunk-PGHUPTGL.js +0 -1035
  91. package/dist/chunk-PGHUPTGL.js.map +0 -1
  92. package/dist/chunk-QELSOHIY.js +0 -46
  93. package/dist/chunk-QELSOHIY.js.map +0 -1
  94. package/dist/chunk-QKDVSW6Q.js +0 -378
  95. package/dist/chunk-QKDVSW6Q.js.map +0 -1
  96. package/dist/chunk-R2QKY6G3.js +0 -1
  97. package/dist/chunk-R2QKY6G3.js.map +0 -1
  98. package/dist/chunk-XK7YZAVP.js +0 -887
  99. package/dist/chunk-XK7YZAVP.js.map +0 -1
  100. package/dist/icons/index.js.map +0 -1
  101. package/dist/index.js.map +0 -1
  102. package/dist/runtime/index.js.map +0 -1
  103. package/dist/types-CLkHwCch.d.ts +0 -248
  104. package/dist/ui/index.js.map +0 -1
@@ -0,0 +1,938 @@
1
+ import { d as SponsorConfig, l as SidebarItem, s as ProjectMeta, t as ArdoConfig } from "./types-DVodb4lK.js";
2
+ import { ComponentProps, ComponentType, ReactNode, SVGAttributes } from "react";
3
+ import * as _$react_jsx_runtime0 from "react/jsx-runtime";
4
+ import { Link, NavLink } from "react-router";
5
+
6
+ //#region src/ui/Footer.d.ts
7
+ interface ArdoFooterProps {
8
+ /** Footer message (supports HTML string) */
9
+ message?: string;
10
+ /** Copyright text (supports HTML string) */
11
+ copyright?: string;
12
+ /** Custom content (overrides all automatic rendering) */
13
+ children?: ReactNode;
14
+ /** Additional CSS classes */
15
+ className?: string;
16
+ /** Project metadata — renders linked "name vX.Y.Z" */
17
+ project?: ProjectMeta;
18
+ /** Sponsor link — renders "Sponsored by X" */
19
+ sponsor?: SponsorConfig;
20
+ /** Build timestamp (ISO string) — renders formatted date */
21
+ buildTime?: string;
22
+ /** Git commit hash — rendered next to the build date */
23
+ buildHash?: string;
24
+ /** Show "Built with Ardo" link (default: true) */
25
+ ardoLink?: boolean;
26
+ }
27
+ declare function ArdoFooter({
28
+ children,
29
+ className,
30
+ ardoLink,
31
+ message,
32
+ copyright,
33
+ project,
34
+ sponsor,
35
+ buildTime,
36
+ buildHash
37
+ }: ArdoFooterProps): _$react_jsx_runtime0.JSX.Element;
38
+ interface ArdoFooterMessageProps {
39
+ children: ReactNode;
40
+ className?: string;
41
+ }
42
+ interface ArdoFooterCopyrightProps {
43
+ children: ReactNode;
44
+ className?: string;
45
+ }
46
+ //#endregion
47
+ //#region src/ui/Header.d.ts
48
+ interface ArdoHeaderProps {
49
+ /** Logo image URL or light/dark variants */
50
+ logo?: {
51
+ light: string;
52
+ dark: string;
53
+ } | string;
54
+ /** Site title displayed next to logo */
55
+ title?: string;
56
+ /** Navigation content (Nav component or custom) */
57
+ nav?: ReactNode;
58
+ /** Actions/right side content (social links, custom buttons) */
59
+ actions?: ReactNode;
60
+ /** Show search (default: true) */
61
+ search?: boolean;
62
+ /** Placeholder text for the search input */
63
+ searchPlaceholder?: string;
64
+ /** Show theme toggle (default: true) */
65
+ themeToggle?: boolean;
66
+ /** Additional content rendered in the mobile menu (e.g. sidebar) */
67
+ mobileMenuContent?: ReactNode;
68
+ /** Additional CSS classes */
69
+ className?: string;
70
+ }
71
+ declare function ArdoHeader({
72
+ logo,
73
+ title,
74
+ nav,
75
+ actions,
76
+ search,
77
+ searchPlaceholder,
78
+ themeToggle,
79
+ mobileMenuContent,
80
+ className
81
+ }: ArdoHeaderProps): _$react_jsx_runtime0.JSX.Element;
82
+ interface ArdoSocialLinkProps {
83
+ /** URL to link to */
84
+ href: string;
85
+ /** Social icon type */
86
+ icon: "discord" | "github" | "linkedin" | "npm" | "twitter" | "youtube";
87
+ /** Accessible label */
88
+ ariaLabel?: string;
89
+ /** Additional CSS classes */
90
+ className?: string;
91
+ }
92
+ declare function ArdoSocialLink({
93
+ href,
94
+ icon,
95
+ ariaLabel,
96
+ className
97
+ }: ArdoSocialLinkProps): _$react_jsx_runtime0.JSX.Element;
98
+ //#endregion
99
+ //#region src/ui/Sidebar.d.ts
100
+ /** Route path type - uses React Router's NavLink 'to' prop type for type-safe routes */
101
+ type RoutePath$2 = ComponentProps<typeof NavLink>["to"];
102
+ interface ArdoSidebarProps {
103
+ /** Sidebar items (for data-driven approach) */
104
+ items?: SidebarItem[];
105
+ /** Children for JSX composition (SidebarGroup, SidebarLink) */
106
+ children?: ReactNode;
107
+ /** Content rendered above navigation (e.g. search) */
108
+ header?: ReactNode;
109
+ /** Additional CSS classes */
110
+ className?: string;
111
+ }
112
+ /**
113
+ * Sidebar component supporting data-driven, JSX composition, and zero-config patterns.
114
+ *
115
+ * When neither `items` nor `children` are provided, automatically renders from
116
+ * the Ardo sidebar context (`virtual:ardo/sidebar`).
117
+ *
118
+ * @example Zero-config (from context)
119
+ * ```tsx
120
+ * <Sidebar />
121
+ * ```
122
+ *
123
+ * @example Data-driven (items prop)
124
+ * ```tsx
125
+ * <Sidebar items={[
126
+ * { text: 'Introduction', link: '/intro' },
127
+ * { text: 'Guide', items: [
128
+ * { text: 'Getting Started', link: '/guide/getting-started' }
129
+ * ]}
130
+ * ]} />
131
+ * ```
132
+ *
133
+ * @example JSX composition
134
+ * ```tsx
135
+ * <Sidebar>
136
+ * <SidebarLink to="/intro">Introduction</SidebarLink>
137
+ * <SidebarGroup title="Guide">
138
+ * <SidebarLink to="/guide/getting-started">Getting Started</SidebarLink>
139
+ * </SidebarGroup>
140
+ * </Sidebar>
141
+ * ```
142
+ */
143
+ declare function ArdoSidebar({
144
+ items,
145
+ children,
146
+ header,
147
+ className
148
+ }: ArdoSidebarProps): _$react_jsx_runtime0.JSX.Element;
149
+ interface ArdoSidebarGroupProps {
150
+ /** Group title */
151
+ title: string;
152
+ /** Optional link for the group title */
153
+ to?: string;
154
+ /** Initial collapsed state (default: false) */
155
+ collapsed?: boolean;
156
+ /** Whether group is collapsible (default: true if has children) */
157
+ collapsible?: boolean;
158
+ /** Children (SidebarLink, nested SidebarGroup) */
159
+ children?: ReactNode;
160
+ /** Additional CSS classes */
161
+ className?: string;
162
+ }
163
+ /**
164
+ * Group component for organizing sidebar links.
165
+ *
166
+ * @example
167
+ * ```tsx
168
+ * <SidebarGroup title="Guide">
169
+ * <SidebarLink to="/guide/intro">Introduction</SidebarLink>
170
+ * <SidebarLink to="/guide/setup">Setup</SidebarLink>
171
+ * </SidebarGroup>
172
+ * ```
173
+ *
174
+ * @example With collapsible state
175
+ * ```tsx
176
+ * <SidebarGroup title="Advanced" collapsed>
177
+ * <SidebarLink to="/advanced/config">Configuration</SidebarLink>
178
+ * </SidebarGroup>
179
+ * ```
180
+ */
181
+ declare function ArdoSidebarGroup({
182
+ title,
183
+ to,
184
+ collapsed: initialCollapsed,
185
+ collapsible,
186
+ children,
187
+ className
188
+ }: ArdoSidebarGroupProps): _$react_jsx_runtime0.JSX.Element;
189
+ interface ArdoSidebarLinkProps {
190
+ /** Internal route path (type-safe with React Router's registered routes) */
191
+ to: RoutePath$2;
192
+ /** Link text */
193
+ children: ReactNode;
194
+ /** Additional CSS classes */
195
+ className?: string;
196
+ }
197
+ /**
198
+ * Sidebar navigation link.
199
+ *
200
+ * @example
201
+ * ```tsx
202
+ * <SidebarLink to="/guide/getting-started">Getting Started</SidebarLink>
203
+ * ```
204
+ */
205
+ declare function ArdoSidebarLink({
206
+ to,
207
+ children,
208
+ className
209
+ }: ArdoSidebarLinkProps): _$react_jsx_runtime0.JSX.Element;
210
+ //#endregion
211
+ //#region src/ui/ArdoRoot.d.ts
212
+ interface ArdoRootProps {
213
+ /** Ardo config (from virtual:ardo/config) */
214
+ config: ArdoConfig;
215
+ /** Sidebar data (from virtual:ardo/sidebar) */
216
+ sidebar: SidebarItem[];
217
+ /** Custom header element (overrides auto-generated header) */
218
+ header?: ReactNode;
219
+ /** Custom sidebar element (overrides auto-generated sidebar) */
220
+ sidebarContent?: ReactNode;
221
+ /** Custom footer element (overrides auto-generated footer) */
222
+ footer?: ReactNode;
223
+ /** Props passed to auto-generated ArdoHeader (ignored when header is provided) */
224
+ headerProps?: ArdoHeaderProps;
225
+ /** Props passed to auto-generated ArdoSidebar (ignored when sidebarContent is provided) */
226
+ sidebarProps?: ArdoSidebarProps;
227
+ /** Props passed to auto-generated ArdoFooter (ignored when footer is provided) */
228
+ footerProps?: ArdoFooterProps;
229
+ /** Edit link configuration (applied site-wide via ArdoSiteConfig) */
230
+ editLink?: {
231
+ pattern: string;
232
+ text?: string;
233
+ };
234
+ /** Last updated configuration (applied site-wide via ArdoSiteConfig) */
235
+ lastUpdated?: {
236
+ enabled?: boolean;
237
+ text?: string;
238
+ formatOptions?: Intl.DateTimeFormatOptions;
239
+ };
240
+ /** TOC label (applied site-wide via ArdoSiteConfig) */
241
+ tocLabel?: string;
242
+ /** Additional CSS classes for the layout */
243
+ className?: string;
244
+ /** Content to render (defaults to <Outlet />) */
245
+ children?: ReactNode;
246
+ }
247
+ declare function ArdoRoot({
248
+ config,
249
+ sidebar,
250
+ header,
251
+ sidebarContent,
252
+ footer,
253
+ headerProps,
254
+ sidebarProps,
255
+ footerProps,
256
+ editLink,
257
+ lastUpdated,
258
+ tocLabel,
259
+ className,
260
+ children
261
+ }: ArdoRootProps): _$react_jsx_runtime0.JSX.Element;
262
+ //#endregion
263
+ //#region src/ui/BareContent.d.ts
264
+ /**
265
+ * Wraps imported MDX content to render without the full Content wrapper
266
+ * (article, header, footer, navigation). Only the content body is rendered.
267
+ *
268
+ * ```tsx
269
+ * import MySnippet from "./snippet.mdx"
270
+ *
271
+ * <BareContent>
272
+ * <MySnippet />
273
+ * </BareContent>
274
+ * ```
275
+ */
276
+ declare function ArdoBareContent({
277
+ children
278
+ }: {
279
+ children: ReactNode;
280
+ }): _$react_jsx_runtime0.JSX.Element;
281
+ //#endregion
282
+ //#region src/ui/components/CodeBlock.d.ts
283
+ interface ArdoCodeBlockProps {
284
+ /** The code to display (as prop or as children string) */
285
+ code?: string;
286
+ /** Programming language for syntax highlighting */
287
+ language?: string;
288
+ /** Optional title shown above the code */
289
+ title?: string;
290
+ /** Show line numbers */
291
+ lineNumbers?: boolean;
292
+ /** Line numbers to highlight */
293
+ highlightLines?: number[];
294
+ /** Code as children — supports template literals with auto-outdent */
295
+ children?: React.ReactNode;
296
+ /** Pre-rendered Shiki HTML (injected by ardo:codeblock-highlight plugin) */
297
+ __html?: string;
298
+ }
299
+ /**
300
+ * Syntax-highlighted code block with copy button.
301
+ *
302
+ * Code can be provided via the `code` prop or as children:
303
+ * ```tsx
304
+ * <CodeBlock language="typescript">{`
305
+ * const x = 42
306
+ * `}</CodeBlock>
307
+ * ```tsx
308
+ * When children is a string, leading/trailing blank lines and common
309
+ * indentation are stripped automatically.
310
+ */
311
+ declare function ArdoCodeBlock({
312
+ code: codeProp,
313
+ language,
314
+ title,
315
+ lineNumbers,
316
+ highlightLines,
317
+ children,
318
+ __html
319
+ }: ArdoCodeBlockProps): _$react_jsx_runtime0.JSX.Element;
320
+ interface ArdoCodeGroupProps {
321
+ /** CodeBlock components to display as tabs */
322
+ children: React.ReactNode;
323
+ /** Comma-separated tab labels */
324
+ labels?: string;
325
+ }
326
+ /**
327
+ * Tabbed group of code blocks.
328
+ * Labels come from the `labels` prop (set at remark level) or fall back to
329
+ * data-label / title / language props on children.
330
+ */
331
+ declare function ArdoCodeGroup({
332
+ children,
333
+ labels: labelsStr
334
+ }: ArdoCodeGroupProps): _$react_jsx_runtime0.JSX.Element;
335
+ //#endregion
336
+ //#region src/ui/components/Container.d.ts
337
+ type ArdoContainerType = "danger" | "info" | "note" | "tip" | "warning";
338
+ interface ArdoContainerProps {
339
+ /** Container type determining the style */
340
+ type: ArdoContainerType;
341
+ /** Optional custom title */
342
+ title?: string;
343
+ /** Content to display inside the container */
344
+ children: ReactNode;
345
+ }
346
+ /**
347
+ * A styled container for callouts, tips, warnings, etc.
348
+ */
349
+ declare function ArdoContainer({
350
+ type,
351
+ title,
352
+ children
353
+ }: ArdoContainerProps): _$react_jsx_runtime0.JSX.Element;
354
+ interface ArdoTipProps {
355
+ /** Optional custom title */
356
+ title?: string;
357
+ /** Content to display */
358
+ children: ReactNode;
359
+ }
360
+ /**
361
+ * A tip container for helpful information.
362
+ */
363
+ declare function ArdoTip({
364
+ title,
365
+ children
366
+ }: ArdoTipProps): _$react_jsx_runtime0.JSX.Element;
367
+ interface ArdoWarningProps {
368
+ /** Optional custom title */
369
+ title?: string;
370
+ /** Content to display */
371
+ children: ReactNode;
372
+ }
373
+ /**
374
+ * A warning container for cautionary information.
375
+ */
376
+ declare function ArdoWarning({
377
+ title,
378
+ children
379
+ }: ArdoWarningProps): _$react_jsx_runtime0.JSX.Element;
380
+ interface ArdoDangerProps {
381
+ /** Optional custom title */
382
+ title?: string;
383
+ /** Content to display */
384
+ children: ReactNode;
385
+ }
386
+ /**
387
+ * A danger container for critical warnings.
388
+ */
389
+ declare function ArdoDanger({
390
+ title,
391
+ children
392
+ }: ArdoDangerProps): _$react_jsx_runtime0.JSX.Element;
393
+ interface ArdoInfoProps {
394
+ /** Optional custom title */
395
+ title?: string;
396
+ /** Content to display */
397
+ children: ReactNode;
398
+ }
399
+ /**
400
+ * An info container for informational content.
401
+ */
402
+ declare function ArdoInfo({
403
+ title,
404
+ children
405
+ }: ArdoInfoProps): _$react_jsx_runtime0.JSX.Element;
406
+ interface ArdoNoteProps {
407
+ /** Optional custom title */
408
+ title?: string;
409
+ /** Content to display */
410
+ children: ReactNode;
411
+ }
412
+ /**
413
+ * A note container for additional information.
414
+ */
415
+ declare function ArdoNote({
416
+ title,
417
+ children
418
+ }: ArdoNoteProps): _$react_jsx_runtime0.JSX.Element;
419
+ //#endregion
420
+ //#region src/ui/components/CopyButton.d.ts
421
+ interface CopyButtonProps {
422
+ code: string;
423
+ }
424
+ declare function ArdoCopyButton({
425
+ code
426
+ }: CopyButtonProps): _$react_jsx_runtime0.JSX.Element;
427
+ //#endregion
428
+ //#region src/ui/components/Features.d.ts
429
+ interface ArdoFeaturesProps {
430
+ /** Feature cards as children */
431
+ children: ReactNode;
432
+ /** Section title */
433
+ title?: string;
434
+ /** Section subtitle */
435
+ subtitle?: string;
436
+ /** Additional CSS class */
437
+ className?: string;
438
+ }
439
+ interface ArdoFeatureCardProps {
440
+ /** Feature title */
441
+ title: string;
442
+ /** Icon as ReactNode (emoji, Lucide icon component, or any JSX) */
443
+ icon?: ReactNode;
444
+ /** Feature description as children */
445
+ children: ReactNode;
446
+ /** Optional link */
447
+ link?: string;
448
+ /** Link text (defaults to "Learn more") */
449
+ linkText?: string;
450
+ /** Additional CSS class */
451
+ className?: string;
452
+ }
453
+ /**
454
+ * Individual feature card component.
455
+ *
456
+ * @example
457
+ * ```tsx
458
+ * import { Zap } from "lucide-react"
459
+ *
460
+ * <ArdoFeatureCard title="Fast" icon={<Zap size={28} />}>
461
+ * Lightning fast builds with Vite
462
+ * </ArdoFeatureCard>
463
+ * ```
464
+ */
465
+ declare function ArdoFeatureCard({
466
+ title,
467
+ icon,
468
+ children,
469
+ link,
470
+ linkText,
471
+ className
472
+ }: ArdoFeatureCardProps): _$react_jsx_runtime0.JSX.Element;
473
+ /**
474
+ * Features grid component for displaying multiple feature cards.
475
+ *
476
+ * @example
477
+ * ```tsx
478
+ * <ArdoFeatures title="Key Features" subtitle="Everything you need">
479
+ * <ArdoFeatureCard title="React-First" icon="⚛️">Built on React.</ArdoFeatureCard>
480
+ * <ArdoFeatureCard title="Fast" icon="⚡">Powered by Vite.</ArdoFeatureCard>
481
+ * </ArdoFeatures>
482
+ * ```
483
+ */
484
+ declare function ArdoFeatures({
485
+ children,
486
+ title,
487
+ subtitle,
488
+ className
489
+ }: ArdoFeaturesProps): _$react_jsx_runtime0.JSX.Element;
490
+ //#endregion
491
+ //#region src/ui/components/Hero.d.ts
492
+ /** Internal route path from React Router */
493
+ type RoutePath$1 = ComponentProps<typeof Link>["to"];
494
+ interface ArdoHeroAction {
495
+ /** Button text */
496
+ text: string;
497
+ /** Link destination - internal route path or external URL */
498
+ link: RoutePath$1;
499
+ /** Visual theme: "brand" for primary, "alt" for secondary */
500
+ theme?: "alt" | "brand";
501
+ /** Optional icon as ReactNode (e.g. Lucide icon component) */
502
+ icon?: ReactNode;
503
+ }
504
+ interface ArdoHeroImage {
505
+ /** Image for light mode */
506
+ light: string;
507
+ /** Image for dark mode */
508
+ dark?: string;
509
+ /** Alt text for the image */
510
+ alt?: string;
511
+ }
512
+ interface ArdoHeroProps {
513
+ /** Large title displayed prominently */
514
+ name?: string;
515
+ /** Secondary text below the name */
516
+ text?: string;
517
+ /** Descriptive tagline */
518
+ tagline?: string;
519
+ /** Hero image - can be a string URL or an object with light/dark variants */
520
+ image?: ArdoHeroImage | string;
521
+ /** Call-to-action buttons */
522
+ actions?: ArdoHeroAction[];
523
+ /** Additional CSS class */
524
+ className?: string;
525
+ /** Version string displayed as a pill badge above the name */
526
+ version?: string;
527
+ }
528
+ declare function ArdoHero({
529
+ name,
530
+ text,
531
+ tagline,
532
+ image,
533
+ actions,
534
+ className,
535
+ version
536
+ }: ArdoHeroProps): _$react_jsx_runtime0.JSX.Element;
537
+ //#endregion
538
+ //#region src/ui/components/Icon.d.ts
539
+ type IconComponent = ComponentType<{
540
+ size?: number;
541
+ } & SVGAttributes<SVGSVGElement>>;
542
+ interface ArdoIconProps extends SVGAttributes<SVGSVGElement> {
543
+ /** Name of the registered icon */
544
+ name: string;
545
+ /** Icon size */
546
+ size?: number;
547
+ }
548
+ /**
549
+ * Register icons for use with the Icon component.
550
+ * Only registered icons are included in your bundle.
551
+ *
552
+ * @example
553
+ * ```tsx
554
+ * // In your app's entry point or layout:
555
+ * import { registerIcons } from "ardo/ui"
556
+ * import { Zap, Rocket, Code } from "lucide-react"
557
+ *
558
+ * registerIcons({ Zap, Rocket, Code })
559
+ * ```
560
+ */
561
+ declare function registerIcons(icons: Record<string, IconComponent>): void;
562
+ /**
563
+ * Get all registered icon names (useful for documentation).
564
+ */
565
+ declare function getRegisteredIconNames(): string[];
566
+ /**
567
+ * Renders a registered icon by name.
568
+ * Icons must be registered first using `registerIcons()`.
569
+ *
570
+ * @example
571
+ * ```tsx
572
+ * // First register icons in your app:
573
+ * import { registerIcons } from "ardo/ui"
574
+ * import { Zap, Rocket } from "lucide-react"
575
+ * registerIcons({ Zap, Rocket })
576
+ *
577
+ * // Then use in MDX:
578
+ * <Icon name="Zap" size={24} />
579
+ * <Icon name="Rocket" className="text-brand" />
580
+ * ```
581
+ *
582
+ * @see https://lucide.dev/icons for available icon names
583
+ */
584
+ declare function ArdoIcon({
585
+ name,
586
+ ...props
587
+ }: ArdoIconProps): ReactNode;
588
+ //#endregion
589
+ //#region src/ui/components/Search.d.ts
590
+ interface ArdoSearchProps {
591
+ /** Placeholder text for the search input (default: "Search...") */
592
+ placeholder?: string;
593
+ }
594
+ declare function ArdoSearch({
595
+ placeholder
596
+ }: ArdoSearchProps): _$react_jsx_runtime0.JSX.Element;
597
+ //#endregion
598
+ //#region src/ui/components/Steps.d.ts
599
+ interface ArdoStepsProps {
600
+ /** Content to display, typically an ordered list (`<ol>`) */
601
+ children: ReactNode;
602
+ }
603
+ /**
604
+ * A wrapper for step-by-step instructions rendered as an ordered list.
605
+ *
606
+ * @example
607
+ * ```tsx
608
+ * <ArdoSteps>
609
+ * <ol>
610
+ * <li>Install the package</li>
611
+ * <li>Configure your site</li>
612
+ * <li>Start writing</li>
613
+ * </ol>
614
+ * </ArdoSteps>
615
+ * ```
616
+ */
617
+ declare function ArdoSteps({
618
+ children
619
+ }: ArdoStepsProps): _$react_jsx_runtime0.JSX.Element;
620
+ //#endregion
621
+ //#region src/ui/components/Tabs.d.ts
622
+ interface ArdoTabsProps {
623
+ /** Default active tab value */
624
+ defaultValue?: string;
625
+ /** Tab components (ArdoTabList and ArdoTabPanels) */
626
+ children: ReactNode;
627
+ }
628
+ /**
629
+ * Tabs container component for organizing content into tabbed panels.
630
+ */
631
+ declare function ArdoTabs({
632
+ defaultValue,
633
+ children
634
+ }: ArdoTabsProps): _$react_jsx_runtime0.JSX.Element;
635
+ interface ArdoTabListProps {
636
+ /** Tab buttons */
637
+ children: ReactNode;
638
+ }
639
+ /**
640
+ * Container for ArdoTab buttons.
641
+ */
642
+ declare function ArdoTabList({
643
+ children
644
+ }: ArdoTabListProps): _$react_jsx_runtime0.JSX.Element;
645
+ interface ArdoTabProps {
646
+ /** Unique value identifying this tab (optional if tab order matches panels) */
647
+ value?: string;
648
+ /** Tab button label */
649
+ children: ReactNode;
650
+ }
651
+ /**
652
+ * Individual tab button.
653
+ */
654
+ declare function ArdoTab({
655
+ value,
656
+ children
657
+ }: ArdoTabProps): _$react_jsx_runtime0.JSX.Element;
658
+ interface ArdoTabPanelProps {
659
+ /** Value matching the corresponding ArdoTab (optional if panel order matches tabs) */
660
+ value?: string;
661
+ /** Panel content */
662
+ children: ReactNode;
663
+ }
664
+ /**
665
+ * Content panel for a tab.
666
+ */
667
+ declare function ArdoTabPanel({
668
+ value,
669
+ children
670
+ }: ArdoTabPanelProps): _$react_jsx_runtime0.JSX.Element | null;
671
+ interface ArdoTabPanelsProps {
672
+ /** ArdoTabPanel components */
673
+ children: ReactNode;
674
+ }
675
+ /**
676
+ * Container for ArdoTabPanel components.
677
+ */
678
+ declare function ArdoTabPanels({
679
+ children
680
+ }: ArdoTabPanelsProps): _$react_jsx_runtime0.JSX.Element;
681
+ //#endregion
682
+ //#region src/ui/components/ThemeToggle.d.ts
683
+ declare function ArdoThemeToggle(): _$react_jsx_runtime0.JSX.Element;
684
+ //#endregion
685
+ //#region src/ui/Content.d.ts
686
+ interface ContentProps {
687
+ children: ReactNode;
688
+ /** Edit link configuration (overrides ArdoSiteConfig) */
689
+ editLink?: {
690
+ pattern: string;
691
+ text?: string;
692
+ };
693
+ /** Last updated configuration (overrides ArdoSiteConfig) */
694
+ lastUpdated?: {
695
+ enabled?: boolean;
696
+ text?: string;
697
+ formatOptions?: Intl.DateTimeFormatOptions;
698
+ };
699
+ }
700
+ declare function ArdoContent({
701
+ children,
702
+ editLink,
703
+ lastUpdated
704
+ }: ContentProps): _$react_jsx_runtime0.JSX.Element;
705
+ //#endregion
706
+ //#region src/ui/DocPage.d.ts
707
+ interface DocPageProps {
708
+ children: ReactNode;
709
+ /** Edit link configuration (forwarded to Content) */
710
+ editLink?: {
711
+ pattern: string;
712
+ text?: string;
713
+ };
714
+ /** Last updated configuration (forwarded to Content) */
715
+ lastUpdated?: {
716
+ enabled?: boolean;
717
+ text?: string;
718
+ formatOptions?: Intl.DateTimeFormatOptions;
719
+ };
720
+ /** TOC label (forwarded to TOC) */
721
+ tocLabel?: string;
722
+ }
723
+ /**
724
+ * Full documentation page with Layout wrapper.
725
+ * Use this when you don't have a _layout.tsx file.
726
+ *
727
+ * @example
728
+ * ```tsx
729
+ * <DocPage>
730
+ * <Content />
731
+ * </DocPage>
732
+ * ```
733
+ */
734
+ declare function ArdoDocPage({
735
+ children,
736
+ editLink,
737
+ lastUpdated,
738
+ tocLabel
739
+ }: DocPageProps): _$react_jsx_runtime0.JSX.Element;
740
+ interface DocContentProps {
741
+ children: ReactNode;
742
+ /** Edit link configuration (forwarded to Content) */
743
+ editLink?: {
744
+ pattern: string;
745
+ text?: string;
746
+ };
747
+ /** Last updated configuration (forwarded to Content) */
748
+ lastUpdated?: {
749
+ enabled?: boolean;
750
+ text?: string;
751
+ formatOptions?: Intl.DateTimeFormatOptions;
752
+ };
753
+ /** TOC label (forwarded to TOC) */
754
+ tocLabel?: string;
755
+ }
756
+ /**
757
+ * Documentation content without Layout wrapper.
758
+ * Use this when you have a _layout.tsx that provides the Layout.
759
+ *
760
+ * @example
761
+ * ```tsx
762
+ * // In _layout.tsx:
763
+ * <Layout>
764
+ * <Header ... />
765
+ * <Sidebar ... />
766
+ * <Outlet />
767
+ * <Footer ... />
768
+ * </Layout>
769
+ *
770
+ * // In page routes:
771
+ * <DocContent>
772
+ * <MarkdownContent />
773
+ * </DocContent>
774
+ * ```
775
+ */
776
+ declare function ArdoDocContent({
777
+ children,
778
+ editLink,
779
+ lastUpdated,
780
+ tocLabel
781
+ }: DocContentProps): _$react_jsx_runtime0.JSX.Element;
782
+ interface DocLayoutProps {
783
+ content: ReactNode;
784
+ }
785
+ /**
786
+ * @deprecated Use DocPage or DocContent instead
787
+ */
788
+ declare function ArdoDocLayout({
789
+ content
790
+ }: DocLayoutProps): _$react_jsx_runtime0.JSX.Element;
791
+ //#endregion
792
+ //#region src/ui/HomePage.d.ts
793
+ interface ArdoHomePageProps {
794
+ /** Props passed to the Header component */
795
+ headerProps?: ArdoHeaderProps;
796
+ /** Props passed to the Footer component */
797
+ footerProps?: ArdoFooterProps;
798
+ /** Custom header element (overrides auto-generated header) */
799
+ header?: ReactNode;
800
+ /** Custom footer element (overrides auto-generated footer) */
801
+ footer?: ReactNode;
802
+ }
803
+ declare function ArdoHomePage({
804
+ headerProps,
805
+ footerProps,
806
+ header,
807
+ footer
808
+ }?: ArdoHomePageProps): _$react_jsx_runtime0.JSX.Element;
809
+ //#endregion
810
+ //#region src/ui/Layout.d.ts
811
+ interface ArdoRootLayoutProps {
812
+ children: ReactNode;
813
+ /** Favicon URL (renders <link rel="icon">) */
814
+ favicon?: string;
815
+ /** Language attribute for <html> (default: from config or "en") */
816
+ lang?: string;
817
+ }
818
+ /**
819
+ * Default HTML shell for Ardo sites. Replaces the boilerplate `Layout` export
820
+ * that every root.tsx must define for React Router.
821
+ *
822
+ * @example Basic usage
823
+ * ```tsx
824
+ * // app/root.tsx
825
+ * export { RootLayout as Layout } from "ardo/ui"
826
+ * ```
827
+ *
828
+ * @example With favicon
829
+ * ```tsx
830
+ * import logo from "./assets/logo.svg"
831
+ * export const Layout = (props) => <RootLayout favicon={logo} {...props} />
832
+ * ```
833
+ */
834
+ declare function ArdoRootLayout({
835
+ children,
836
+ favicon,
837
+ lang
838
+ }: ArdoRootLayoutProps): _$react_jsx_runtime0.JSX.Element;
839
+ interface ArdoLayoutProps {
840
+ /** Header content */
841
+ header?: ReactNode;
842
+ /** Sidebar content */
843
+ sidebar?: ReactNode;
844
+ /** Footer content */
845
+ footer?: ReactNode;
846
+ /** Main content */
847
+ children: ReactNode;
848
+ /** Additional CSS classes */
849
+ className?: string;
850
+ }
851
+ /**
852
+ * Layout component with explicit slot props.
853
+ *
854
+ * @example
855
+ * ```tsx
856
+ * <Layout
857
+ * header={<Header logo="/logo.svg" title="Ardo" nav={...} />}
858
+ * sidebar={<Sidebar>...</Sidebar>}
859
+ * footer={<Footer message="MIT License" />}
860
+ * >
861
+ * <Outlet />
862
+ * </Layout>
863
+ * ```
864
+ */
865
+ declare function ArdoLayout({
866
+ header,
867
+ sidebar,
868
+ footer,
869
+ children,
870
+ className
871
+ }: ArdoLayoutProps): _$react_jsx_runtime0.JSX.Element;
872
+ //#endregion
873
+ //#region src/ui/Nav.d.ts
874
+ /** Route path type - uses React Router's NavLink 'to' prop type for type-safe routes */
875
+ type RoutePath = ComponentProps<typeof NavLink>["to"];
876
+ interface ArdoNavProps {
877
+ children?: ReactNode;
878
+ className?: string;
879
+ }
880
+ /**
881
+ * Navigation container component for composing navigation links.
882
+ *
883
+ * @example
884
+ * ```tsx
885
+ * <Nav>
886
+ * <NavLink to="/guide">Guide</NavLink>
887
+ * <NavLink to="/api">API</NavLink>
888
+ * <NavLink href="https://github.com/...">GitHub</NavLink>
889
+ * </Nav>
890
+ * ```
891
+ */
892
+ declare function ArdoNav({
893
+ children,
894
+ className
895
+ }: ArdoNavProps): _$react_jsx_runtime0.JSX.Element;
896
+ interface ArdoNavLinkProps {
897
+ /** Internal route path (type-safe with React Router's registered routes) */
898
+ to?: RoutePath;
899
+ /** External URL (uses anchor tag) */
900
+ href?: string;
901
+ /** Link text or children */
902
+ children: ReactNode;
903
+ /** Additional CSS classes */
904
+ className?: string;
905
+ /** Active state match pattern */
906
+ activeMatch?: string;
907
+ }
908
+ /**
909
+ * Navigation link component supporting both internal routes and external URLs.
910
+ *
911
+ * @example
912
+ * ```tsx
913
+ * // Internal link
914
+ * <NavLink to="/guide">Guide</NavLink>
915
+ *
916
+ * // External link
917
+ * <NavLink href="https://github.com/...">GitHub</NavLink>
918
+ * ```
919
+ */
920
+ declare function ArdoNavLink({
921
+ to,
922
+ href,
923
+ children,
924
+ className,
925
+ activeMatch: _activeMatch
926
+ }: ArdoNavLinkProps): _$react_jsx_runtime0.JSX.Element;
927
+ //#endregion
928
+ //#region src/ui/TOC.d.ts
929
+ interface ArdoTOCProps {
930
+ /** Label for the TOC heading (default: "On this page") */
931
+ label?: string;
932
+ }
933
+ declare function ArdoTOC({
934
+ label: labelProp
935
+ }?: ArdoTOCProps): _$react_jsx_runtime0.JSX.Element | null;
936
+ //#endregion
937
+ 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 };
938
+ //# sourceMappingURL=index-DSeJoaxz.d.ts.map