@rizom/site-rizom-ai 0.2.0-alpha.238 → 0.2.0-alpha.243
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +454 -0
- package/dist/index.js +36302 -0
- package/dist/index.js.map +324 -0
- package/package.json +17 -7
- package/src/brain-screens.tsx +144 -144
- package/src/brain.tsx +3 -3
- package/src/foundation.tsx +3 -3
- package/src/growth-diagram.tsx +125 -53
- package/src/home.tsx +3 -3
- package/src/index.ts +1 -0
- package/src/layout.tsx +7 -7
- package/src/rizom/content.ts +9 -0
- package/src/rizom/contracts.ts +177 -0
- package/src/rizom/create-site.ts +120 -0
- package/src/rizom/index.ts +62 -0
- package/src/rizom/runtime/base-site.ts +13 -0
- package/src/rizom/runtime/boot/boot.boot.d.ts +2 -0
- package/src/rizom/runtime/boot/boot.boot.js +83 -0
- package/src/rizom/runtime/default-layout.tsx +11 -0
- package/src/rizom/runtime/index.ts +8 -0
- package/src/rizom/runtime/plugin.ts +91 -0
- package/src/rizom/ui/Badge.tsx +15 -0
- package/src/rizom/ui/Button.tsx +57 -0
- package/src/rizom/ui/Divider.tsx +13 -0
- package/src/rizom/ui/Ecosystem.tsx +108 -0
- package/src/rizom/ui/Footer.tsx +74 -0
- package/src/rizom/ui/Header.tsx +43 -0
- package/src/rizom/ui/Section.tsx +23 -0
- package/src/rizom/ui/SideNav.tsx +23 -0
- package/src/rizom/ui/Wordmark.tsx +47 -0
- package/src/rizom/ui/cn.ts +35 -0
- package/src/rizom/ui/ecosystem-content.ts +49 -0
- package/src/rizom/ui/external-link.ts +8 -0
- package/src/rizom/ui/frame.tsx +20 -0
- package/src/rizom/ui/highlighted-text.tsx +46 -0
- package/src/rizom/ui/index.ts +29 -0
- package/src/rizom/ui/site-info-links.ts +24 -0
- package/src/rizom/ui/types.ts +6 -0
- package/src/shared.tsx +4 -4
- package/src/site.ts +1 -1
- package/src/work.tsx +6 -6
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,454 @@
|
|
|
1
|
+
import { JSX, ReactNode } from "react";
|
|
2
|
+
import { z } from "zod/v4";
|
|
3
|
+
//#region ../../packages/site/src/index.d.ts
|
|
4
|
+
/** Permission levels for editable site content templates. */
|
|
5
|
+
type UserPermissionLevel = "admin" | "trusted" | "public";
|
|
6
|
+
type JsonPrimitive = null | boolean | number | string;
|
|
7
|
+
type JsonValue = JsonPrimitive | JsonValue[] | JsonObject;
|
|
8
|
+
/** A JSON document with an object at its root. */
|
|
9
|
+
interface JsonObject {
|
|
10
|
+
[key: string]: JsonValue;
|
|
11
|
+
}
|
|
12
|
+
/** Runtime script declaration attached to a content section/template. */
|
|
13
|
+
interface RuntimeScript {
|
|
14
|
+
src: string;
|
|
15
|
+
defer?: boolean;
|
|
16
|
+
module?: boolean;
|
|
17
|
+
}
|
|
18
|
+
/** Bivariant component type for author-supplied layout components. */
|
|
19
|
+
type ComponentType<P = unknown> = {
|
|
20
|
+
bivarianceHack(props: P): JSX.Element;
|
|
21
|
+
}["bivarianceHack"];
|
|
22
|
+
/** Navigation slot types exposed to authored routes and generated entity routes. */
|
|
23
|
+
type NavigationSlot = "primary" | "secondary";
|
|
24
|
+
/** Display and behavior metadata for an entity type. */
|
|
25
|
+
interface EntityDisplayEntry {
|
|
26
|
+
label: string;
|
|
27
|
+
pluralName?: string | undefined;
|
|
28
|
+
/** Layout name for this entity type's generated routes (defaults to "default"). */
|
|
29
|
+
layout?: string | undefined;
|
|
30
|
+
/** Enable pagination for list pages. */
|
|
31
|
+
paginate?: boolean | undefined;
|
|
32
|
+
/** Items per page (default: 10). */
|
|
33
|
+
pageSize?: number | undefined;
|
|
34
|
+
navigation?: {
|
|
35
|
+
show?: boolean | undefined;
|
|
36
|
+
slot?: NavigationSlot | undefined;
|
|
37
|
+
priority?: number | undefined;
|
|
38
|
+
} | undefined;
|
|
39
|
+
}
|
|
40
|
+
interface SectionDefinitionInput {
|
|
41
|
+
id: string;
|
|
42
|
+
template: string;
|
|
43
|
+
content?: unknown;
|
|
44
|
+
dataQuery?: {
|
|
45
|
+
entityType?: string | undefined;
|
|
46
|
+
template?: string | undefined;
|
|
47
|
+
query?: Record<string, unknown> | undefined;
|
|
48
|
+
[key: string]: unknown;
|
|
49
|
+
} | undefined;
|
|
50
|
+
order?: number | undefined;
|
|
51
|
+
}
|
|
52
|
+
interface NavigationMetadataInput {
|
|
53
|
+
show?: boolean | undefined;
|
|
54
|
+
label?: string | undefined;
|
|
55
|
+
slot?: NavigationSlot | undefined;
|
|
56
|
+
priority?: number | undefined;
|
|
57
|
+
}
|
|
58
|
+
interface RouteDefinitionInput {
|
|
59
|
+
id: string;
|
|
60
|
+
path: string;
|
|
61
|
+
title?: string | undefined;
|
|
62
|
+
/** Bare display label without any page suffix. */
|
|
63
|
+
pageLabel?: string | undefined;
|
|
64
|
+
description?: string | undefined;
|
|
65
|
+
sections?: SectionDefinitionInput[] | undefined;
|
|
66
|
+
layout?: string | undefined;
|
|
67
|
+
fullscreen?: boolean | undefined;
|
|
68
|
+
pluginId?: string | undefined;
|
|
69
|
+
sourceEntityType?: string | undefined;
|
|
70
|
+
external?: boolean | undefined;
|
|
71
|
+
navigation?: NavigationMetadataInput | undefined;
|
|
72
|
+
}
|
|
73
|
+
interface SiteContentStringFieldDefinition {
|
|
74
|
+
type: "string";
|
|
75
|
+
label: string;
|
|
76
|
+
optional?: boolean;
|
|
77
|
+
}
|
|
78
|
+
interface SiteContentNumberFieldDefinition {
|
|
79
|
+
type: "number";
|
|
80
|
+
label: string;
|
|
81
|
+
optional?: boolean;
|
|
82
|
+
}
|
|
83
|
+
interface SiteContentEnumFieldDefinition {
|
|
84
|
+
type: "enum";
|
|
85
|
+
label: string;
|
|
86
|
+
options: [string, ...string[]] | readonly [string, ...string[]];
|
|
87
|
+
optional?: boolean;
|
|
88
|
+
}
|
|
89
|
+
interface SiteContentObjectFieldDefinition {
|
|
90
|
+
type: "object";
|
|
91
|
+
label: string;
|
|
92
|
+
fields: Record<string, SiteContentFieldDefinition>;
|
|
93
|
+
optional?: boolean;
|
|
94
|
+
}
|
|
95
|
+
interface SiteContentArrayFieldDefinition {
|
|
96
|
+
type: "array";
|
|
97
|
+
label: string;
|
|
98
|
+
items: SiteContentStringFieldDefinition | SiteContentNumberFieldDefinition | SiteContentEnumFieldDefinition | SiteContentObjectFieldDefinition;
|
|
99
|
+
minItems?: number;
|
|
100
|
+
length?: number;
|
|
101
|
+
optional?: boolean;
|
|
102
|
+
}
|
|
103
|
+
type SiteContentFieldDefinition = SiteContentStringFieldDefinition | SiteContentNumberFieldDefinition | SiteContentEnumFieldDefinition | SiteContentObjectFieldDefinition | SiteContentArrayFieldDefinition;
|
|
104
|
+
interface SiteContentSectionDefinition {
|
|
105
|
+
description: string;
|
|
106
|
+
title: string;
|
|
107
|
+
layout: ComponentType<unknown>;
|
|
108
|
+
fields: Record<string, SiteContentFieldDefinition>;
|
|
109
|
+
requiredPermission?: UserPermissionLevel;
|
|
110
|
+
fullscreen?: boolean;
|
|
111
|
+
runtimeScripts?: RuntimeScript[];
|
|
112
|
+
}
|
|
113
|
+
interface SiteContentDefinition {
|
|
114
|
+
namespace: string;
|
|
115
|
+
sections: Record<string, SiteContentSectionDefinition>;
|
|
116
|
+
}
|
|
117
|
+
/** Author-facing metadata for a schema-first content section. */
|
|
118
|
+
interface SectionMeta {
|
|
119
|
+
title: string;
|
|
120
|
+
description: string;
|
|
121
|
+
requiredPermission?: UserPermissionLevel | undefined;
|
|
122
|
+
fullscreen?: boolean | undefined;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* A schema-first content section. Its component props are inferred from the
|
|
126
|
+
* same schema used by runtime validation, markdown formatting, and editing.
|
|
127
|
+
*/
|
|
128
|
+
interface SiteSectionDefinition<S extends z.ZodType = z.ZodType> extends SectionMeta {
|
|
129
|
+
schema: S;
|
|
130
|
+
component: ComponentType<z.output<S>>;
|
|
131
|
+
}
|
|
132
|
+
interface SiteSectionGroup {
|
|
133
|
+
namespace: string;
|
|
134
|
+
sections: Record<string, SiteSectionDefinition>;
|
|
135
|
+
}
|
|
136
|
+
interface SiteMetadataCTA {
|
|
137
|
+
heading: string;
|
|
138
|
+
buttonText: string;
|
|
139
|
+
buttonLink: string;
|
|
140
|
+
}
|
|
141
|
+
interface SiteMetadataSection {
|
|
142
|
+
blurb?: string | undefined;
|
|
143
|
+
}
|
|
144
|
+
interface SiteMetadata {
|
|
145
|
+
represents?: "brain" | "anchor" | undefined;
|
|
146
|
+
title: string;
|
|
147
|
+
description: string;
|
|
148
|
+
url?: string | undefined;
|
|
149
|
+
copyright?: string | undefined;
|
|
150
|
+
logo?: boolean | undefined;
|
|
151
|
+
themeMode?: "light" | "dark" | undefined;
|
|
152
|
+
analyticsScript?: string | undefined;
|
|
153
|
+
cta?: SiteMetadataCTA | undefined;
|
|
154
|
+
sections?: Record<string, SiteMetadataSection> | undefined;
|
|
155
|
+
}
|
|
156
|
+
interface NavigationItem {
|
|
157
|
+
label: string;
|
|
158
|
+
href: string;
|
|
159
|
+
priority: number;
|
|
160
|
+
}
|
|
161
|
+
interface SiteLayoutInfo extends SiteMetadata {
|
|
162
|
+
copyright: string;
|
|
163
|
+
navigation: {
|
|
164
|
+
primary: NavigationItem[];
|
|
165
|
+
secondary: NavigationItem[];
|
|
166
|
+
};
|
|
167
|
+
socialLinks?: Array<{
|
|
168
|
+
platform: "github" | "instagram" | "linkedin" | "email" | "website";
|
|
169
|
+
url: string;
|
|
170
|
+
label?: string | undefined;
|
|
171
|
+
}> | undefined;
|
|
172
|
+
}
|
|
173
|
+
/** Props supplied by the site builder to every authored layout. */
|
|
174
|
+
interface SiteLayoutProps {
|
|
175
|
+
sections: ReactNode[];
|
|
176
|
+
title: string;
|
|
177
|
+
description: string;
|
|
178
|
+
path: string;
|
|
179
|
+
siteInfo: SiteLayoutInfo;
|
|
180
|
+
}
|
|
181
|
+
/** Initial section content keyed by section-group namespace and section id. */
|
|
182
|
+
interface SiteContent {
|
|
183
|
+
[namespace: string]: Record<string, JsonObject>;
|
|
184
|
+
}
|
|
185
|
+
/** Declarative site-package shape authored by public site packages. */
|
|
186
|
+
interface SiteDefinition {
|
|
187
|
+
/** Layout components keyed by name — a `default` layout is required. */
|
|
188
|
+
layouts: Record<string, ComponentType<SiteLayoutProps>>;
|
|
189
|
+
/** Hand-written route definitions (home, about, etc.). */
|
|
190
|
+
routes: RouteDefinitionInput[];
|
|
191
|
+
/** Optional initial content validated by the corresponding section schema. */
|
|
192
|
+
content?: SiteContent | undefined;
|
|
193
|
+
/** Optional schema-first section groups. */
|
|
194
|
+
sections?: SiteSectionGroup | SiteSectionGroup[] | undefined;
|
|
195
|
+
/** Optional additive CSS owned by the site package. */
|
|
196
|
+
themeOverride?: string | undefined;
|
|
197
|
+
/** Global head scripts to inject into every rendered page. */
|
|
198
|
+
headScripts?: string[] | undefined;
|
|
199
|
+
/** Display metadata per entity type. */
|
|
200
|
+
entityDisplay: Record<string, EntityDisplayEntry>;
|
|
201
|
+
/** Static assets to write into the site output directory at build time. */
|
|
202
|
+
staticAssets?: Record<string, string> | undefined;
|
|
203
|
+
}
|
|
204
|
+
type SiteDefinitionOverrides = Partial<SiteDefinition>;
|
|
205
|
+
//#endregion
|
|
206
|
+
//#region src/rizom/contracts.d.ts
|
|
207
|
+
interface RizomLink {
|
|
208
|
+
href: string;
|
|
209
|
+
label: string;
|
|
210
|
+
/** Open in a new tab with rel="noopener noreferrer". */
|
|
211
|
+
external?: boolean;
|
|
212
|
+
}
|
|
213
|
+
type RizomBrandSuffix = "ai" | "foundation" | "work";
|
|
214
|
+
interface RizomSideNavItem {
|
|
215
|
+
href: string;
|
|
216
|
+
label: string;
|
|
217
|
+
}
|
|
218
|
+
interface RizomFooterTagline {
|
|
219
|
+
prefix?: string;
|
|
220
|
+
link: RizomLink;
|
|
221
|
+
suffix?: string;
|
|
222
|
+
}
|
|
223
|
+
type RizomLayoutProps = SiteLayoutProps;
|
|
224
|
+
interface RizomPluginCapabilities {
|
|
225
|
+
tools: [];
|
|
226
|
+
resources: [];
|
|
227
|
+
}
|
|
228
|
+
interface RizomMessageBus {
|
|
229
|
+
subscribe(channel: string, handler: () => Promise<{
|
|
230
|
+
success: boolean;
|
|
231
|
+
}>): unknown;
|
|
232
|
+
send(message: {
|
|
233
|
+
type: string;
|
|
234
|
+
sender: string;
|
|
235
|
+
payload: Record<string, unknown>;
|
|
236
|
+
}): Promise<unknown>;
|
|
237
|
+
}
|
|
238
|
+
interface RizomLogger {
|
|
239
|
+
info(message: string): void;
|
|
240
|
+
}
|
|
241
|
+
interface DataSourceRegistry {
|
|
242
|
+
register(dataSource: unknown): void;
|
|
243
|
+
}
|
|
244
|
+
interface RizomSiteShell {
|
|
245
|
+
getMessageBus(): RizomMessageBus;
|
|
246
|
+
getLogger(): RizomLogger;
|
|
247
|
+
registerTemplates(templates: Record<string, unknown>, namespace?: string): void;
|
|
248
|
+
getDataSourceRegistry(): DataSourceRegistry;
|
|
249
|
+
}
|
|
250
|
+
interface SiteCompositionPlugin {
|
|
251
|
+
readonly id: string;
|
|
252
|
+
readonly version: string;
|
|
253
|
+
readonly type: "core" | "entity" | "service" | "interface";
|
|
254
|
+
readonly packageName: string;
|
|
255
|
+
readonly description?: string | undefined;
|
|
256
|
+
readonly dependencies?: string[] | undefined;
|
|
257
|
+
register?(shell: RizomSiteShell, context?: unknown): Promise<RizomPluginCapabilities>;
|
|
258
|
+
ready?(): Promise<void>;
|
|
259
|
+
shutdown?(): Promise<void>;
|
|
260
|
+
requiresDaemonStartup?(): boolean;
|
|
261
|
+
}
|
|
262
|
+
interface SitePackage<TPluginConfig = Record<string, unknown>, TPlugin extends SiteCompositionPlugin = SiteCompositionPlugin> {
|
|
263
|
+
layouts: Record<string, unknown>;
|
|
264
|
+
routes: RouteDefinitionInput[];
|
|
265
|
+
plugin?: ((config?: TPluginConfig) => TPlugin) | undefined;
|
|
266
|
+
content?: SiteContent | undefined;
|
|
267
|
+
sections?: SiteSectionGroup | SiteSectionGroup[] | undefined;
|
|
268
|
+
themeOverride?: string | undefined;
|
|
269
|
+
headScripts?: string[] | undefined;
|
|
270
|
+
entityDisplay: Record<string, EntityDisplayEntry>;
|
|
271
|
+
staticAssets?: Record<string, string> | undefined;
|
|
272
|
+
}
|
|
273
|
+
//#endregion
|
|
274
|
+
//#region src/rizom/ui/frame.d.ts
|
|
275
|
+
interface RizomFrameProps {
|
|
276
|
+
children?: ReactNode;
|
|
277
|
+
}
|
|
278
|
+
/**
|
|
279
|
+
* Shared Rizom page frame.
|
|
280
|
+
*
|
|
281
|
+
* Owns only the centered page container. Wrapper sites own their actual
|
|
282
|
+
* chrome/layout composition.
|
|
283
|
+
*/
|
|
284
|
+
declare const RizomFrame: ({ children }: RizomFrameProps) => JSX.Element;
|
|
285
|
+
//#endregion
|
|
286
|
+
//#region src/rizom/ui/Header.d.ts
|
|
287
|
+
interface HeaderProps {
|
|
288
|
+
brandSuffix: RizomBrandSuffix;
|
|
289
|
+
navLinks: RizomLink[];
|
|
290
|
+
primaryCta: RizomLink;
|
|
291
|
+
}
|
|
292
|
+
declare const Header: ({ brandSuffix, navLinks, primaryCta }: HeaderProps) => JSX.Element;
|
|
293
|
+
//#endregion
|
|
294
|
+
//#region src/rizom/ui/Footer.d.ts
|
|
295
|
+
interface FooterProps {
|
|
296
|
+
brandSuffix: RizomBrandSuffix;
|
|
297
|
+
metaLabel: string;
|
|
298
|
+
tagline?: RizomFooterTagline;
|
|
299
|
+
links: RizomLink[];
|
|
300
|
+
className?: string;
|
|
301
|
+
}
|
|
302
|
+
declare const Footer: ({ brandSuffix, metaLabel, tagline, links, className }: FooterProps) => JSX.Element;
|
|
303
|
+
//#endregion
|
|
304
|
+
//#region src/rizom/ui/SideNav.d.ts
|
|
305
|
+
interface SideNavProps {
|
|
306
|
+
items: RizomSideNavItem[];
|
|
307
|
+
}
|
|
308
|
+
declare const SideNav: ({ items }: SideNavProps) => JSX.Element;
|
|
309
|
+
//#endregion
|
|
310
|
+
//#region src/rizom/ui/Section.d.ts
|
|
311
|
+
interface SectionProps {
|
|
312
|
+
id?: string;
|
|
313
|
+
className?: string;
|
|
314
|
+
children?: ReactNode;
|
|
315
|
+
}
|
|
316
|
+
declare const GUTTER = "px-6 md:px-10 xl:px-20";
|
|
317
|
+
declare const Section: ({ id, className, children }: SectionProps) => JSX.Element;
|
|
318
|
+
//#endregion
|
|
319
|
+
//#region src/rizom/ui/Button.d.ts
|
|
320
|
+
type ButtonVariant = "primary" | "primary-strong" | "secondary";
|
|
321
|
+
type ButtonSize = "md" | "lg";
|
|
322
|
+
interface ButtonProps {
|
|
323
|
+
href: string;
|
|
324
|
+
variant?: ButtonVariant;
|
|
325
|
+
size?: ButtonSize;
|
|
326
|
+
block?: boolean;
|
|
327
|
+
className?: string;
|
|
328
|
+
children?: ReactNode;
|
|
329
|
+
}
|
|
330
|
+
declare const Button: ({ href, variant, size, block, className, children }: ButtonProps) => JSX.Element;
|
|
331
|
+
//#endregion
|
|
332
|
+
//#region src/rizom/ui/Badge.d.ts
|
|
333
|
+
interface BadgeProps {
|
|
334
|
+
children?: ReactNode;
|
|
335
|
+
className?: string;
|
|
336
|
+
}
|
|
337
|
+
declare const Badge: ({ children, className }: BadgeProps) => JSX.Element;
|
|
338
|
+
//#endregion
|
|
339
|
+
//#region src/rizom/ui/Divider.d.ts
|
|
340
|
+
interface DividerProps {
|
|
341
|
+
className?: string;
|
|
342
|
+
}
|
|
343
|
+
declare const Divider: ({ className }: DividerProps) => JSX.Element;
|
|
344
|
+
//#endregion
|
|
345
|
+
//#region src/rizom/ui/highlighted-text.d.ts
|
|
346
|
+
/**
|
|
347
|
+
* Render a content string with two lightweight markup conventions:
|
|
348
|
+
*
|
|
349
|
+
* - `\n` in the string produces a `<br />` (for multi-line headlines)
|
|
350
|
+
* - Any `*...*` run is wrapped in a `<span>` carrying `highlightClass`
|
|
351
|
+
*
|
|
352
|
+
* Authors write the phrase as one natural string in markdown content;
|
|
353
|
+
* the renderer does the structural split. Highlight styling is passed
|
|
354
|
+
* per-brand (rizom.ai uses accent+midline, rizom.work uses
|
|
355
|
+
* italic+accent) so each brand owns its own emphasis treatment while
|
|
356
|
+
* the parsing/structure is shared.
|
|
357
|
+
*/
|
|
358
|
+
declare function renderHighlightedText(text: string, highlightClass: string): JSX.Element;
|
|
359
|
+
//#endregion
|
|
360
|
+
//#region src/rizom/ui/site-info-links.d.ts
|
|
361
|
+
declare function socialLinksToRizomLinks(siteInfo: Pick<SiteLayoutInfo, "socialLinks">, allowedPlatforms?: string[]): RizomLink[];
|
|
362
|
+
//#endregion
|
|
363
|
+
//#region src/rizom/ui/Wordmark.d.ts
|
|
364
|
+
interface WordmarkProps {
|
|
365
|
+
/** Brand name before the dot. Defaults to `"rizom"`. */
|
|
366
|
+
name?: string;
|
|
367
|
+
/** Suffix after the dot. Any string (e.g. `"ai"`, `"io"`, `"foundation"`). */
|
|
368
|
+
brandSuffix: RizomBrandSuffix | string;
|
|
369
|
+
className?: string;
|
|
370
|
+
dotClassName?: string;
|
|
371
|
+
suffixClassName?: string;
|
|
372
|
+
}
|
|
373
|
+
declare const Wordmark: ({ name, brandSuffix, className, dotClassName, suffixClassName }: WordmarkProps) => JSX.Element;
|
|
374
|
+
//#endregion
|
|
375
|
+
//#region src/rizom/ui/Ecosystem.d.ts
|
|
376
|
+
interface EcosystemCard {
|
|
377
|
+
suffix: RizomBrandSuffix;
|
|
378
|
+
title: string;
|
|
379
|
+
body: string;
|
|
380
|
+
linkLabel: string;
|
|
381
|
+
linkHref: string;
|
|
382
|
+
}
|
|
383
|
+
interface EcosystemContent {
|
|
384
|
+
eyebrow: string;
|
|
385
|
+
headline: string;
|
|
386
|
+
cards: EcosystemCard[];
|
|
387
|
+
}
|
|
388
|
+
declare const Ecosystem: ({ eyebrow, headline, cards }: EcosystemContent) => JSX.Element;
|
|
389
|
+
//#endregion
|
|
390
|
+
//#region src/rizom/runtime/default-layout.d.ts
|
|
391
|
+
declare const DefaultRizomLayout: ({ sections }: RizomLayoutProps) => JSX.Element;
|
|
392
|
+
//#endregion
|
|
393
|
+
//#region src/rizom/runtime/base-site.d.ts
|
|
394
|
+
declare const rizomBaseSite: SiteDefinition;
|
|
395
|
+
//#endregion
|
|
396
|
+
//#region src/rizom/create-site.d.ts
|
|
397
|
+
interface RizomRuntimeHooks {
|
|
398
|
+
contentNamespace: string;
|
|
399
|
+
templates?: Record<string, unknown>;
|
|
400
|
+
dataSources?: unknown[];
|
|
401
|
+
}
|
|
402
|
+
interface CreateRizomSiteOptions {
|
|
403
|
+
packageName: string;
|
|
404
|
+
layout: unknown;
|
|
405
|
+
routes: RouteDefinitionInput[];
|
|
406
|
+
content?: SiteContent;
|
|
407
|
+
/**
|
|
408
|
+
* Schema-first section groups (authored via `@rizom/site`'
|
|
409
|
+
* `defineSection`/`sectionGroup`). Registered as content templates at brain
|
|
410
|
+
* boot exactly like `content`, so the Studio + directory-sync + resolver treat
|
|
411
|
+
* them identically — but the section shape is derived from one zod schema.
|
|
412
|
+
*/
|
|
413
|
+
sections?: SiteSectionGroup | SiteSectionGroup[];
|
|
414
|
+
themeOverride?: string;
|
|
415
|
+
/**
|
|
416
|
+
* Presentation config for entity-backed list/detail routes (labels, plural
|
|
417
|
+
* names, navigation). Merged onto the base site's empty map. Sites that
|
|
418
|
+
* surface plugin lists — e.g. `post`→"Essay", `deck`→"Talk" — set it here.
|
|
419
|
+
*/
|
|
420
|
+
entityDisplay?: Record<string, EntityDisplayEntry>;
|
|
421
|
+
/** Advanced runtime hooks for in-repo sites that need custom template/data-source wiring. */
|
|
422
|
+
runtime?: RizomRuntimeHooks;
|
|
423
|
+
}
|
|
424
|
+
declare function createRizomSite(options: CreateRizomSiteOptions): SitePackage;
|
|
425
|
+
//#endregion
|
|
426
|
+
//#region src/site.d.ts
|
|
427
|
+
declare const rizomAiSite: SitePackage;
|
|
428
|
+
//#endregion
|
|
429
|
+
//#region src/routes.d.ts
|
|
430
|
+
/**
|
|
431
|
+
* The consolidated Rizom site routes. The home page composes the rev-5 section
|
|
432
|
+
* set from the "home" content namespace; the layout owns navigation (the
|
|
433
|
+
* two-tier faces strip), so routes stay out of the entity nav.
|
|
434
|
+
*/
|
|
435
|
+
declare const aiRoutes: RouteDefinitionInput[];
|
|
436
|
+
//#endregion
|
|
437
|
+
//#region src/home.d.ts
|
|
438
|
+
/**
|
|
439
|
+
* The umbrella home page's authored sections. The namespace ("home") matches
|
|
440
|
+
* the route id, so each stores as site-content/home/<section>.md and resolves
|
|
441
|
+
* as "home:<section>". Two sections live elsewhere: the hero is the live
|
|
442
|
+
* agent proximity map (agent-discovery:proximity-map) and the proof/ask is
|
|
443
|
+
* the knowledge map (topics:knowledge-map) — both authored via overlay
|
|
444
|
+
* markdown merged over their live datasource payloads.
|
|
445
|
+
*/
|
|
446
|
+
declare const homeSections: SiteSectionGroup;
|
|
447
|
+
//#endregion
|
|
448
|
+
//#region src/work.d.ts
|
|
449
|
+
declare const workSections: SiteSectionGroup;
|
|
450
|
+
//#endregion
|
|
451
|
+
//#region src/foundation.d.ts
|
|
452
|
+
declare const foundationSections: SiteSectionGroup;
|
|
453
|
+
//#endregion
|
|
454
|
+
export { Badge, type BadgeProps, Button, type ButtonProps, type ButtonSize, type ButtonVariant, type CreateRizomSiteOptions, DefaultRizomLayout, Divider, type DividerProps, Ecosystem, type EcosystemCard, type EcosystemContent, type EntityDisplayEntry, Footer, GUTTER, Header, type RizomBrandSuffix, type RizomFooterTagline, RizomFrame, type RizomFrameProps, type RizomLayoutProps, type RizomLink, type RizomSideNavItem, type RouteDefinitionInput, Section, type SectionDefinitionInput, type SectionProps, SideNav, type SiteContentArrayFieldDefinition, type SiteContentDefinition, type SiteContentEnumFieldDefinition, type SiteContentFieldDefinition, type SiteContentNumberFieldDefinition, type SiteContentObjectFieldDefinition, type SiteContentSectionDefinition, type SiteContentStringFieldDefinition, type SiteDefinition, type SiteDefinitionOverrides, type SiteLayoutInfo, type SitePackage, Wordmark, type WordmarkProps, aiRoutes, createRizomSite, rizomAiSite as default, rizomAiSite, foundationSections, homeSections, renderHighlightedText, rizomBaseSite, socialLinksToRizomLinks, workSections };
|