import { Catalog, InferComponentProps, Spec, StateModel, StateStore, UIElement } from "./core.mjs"; import { a as JsonRenderViewRef, i as JsonRenderViewInlineRef, n as DevframeJsonRenderSpec, o as JsonRenderViewStateRef, r as JsonRenderView, t as CatalogUIElement } from "./types-ByXkazOp.mjs"; import { z } from "zod"; //#region src/prop-schemas.d.ts export declare const StackPropsSchema: z.ZodObject<{ direction: z.ZodOptional>; gap: z.ZodOptional, z.ZodRecord>]>>; padding: z.ZodOptional, z.ZodRecord>]>>; align: z.ZodOptional>; justify: z.ZodOptional>; wrap: z.ZodOptional, z.ZodRecord>]>>; flex: z.ZodOptional, z.ZodIntersection, z.ZodRecord>]>>; }, z.core.$strip>; export declare const CardPropsSchema: z.ZodObject<{ title: z.ZodOptional, z.ZodRecord>]>>; border: z.ZodOptional, z.ZodRecord>]>>; collapsible: z.ZodOptional, z.ZodRecord>]>>; defaultCollapsed: z.ZodOptional, z.ZodRecord>]>>; loading: z.ZodOptional, z.ZodRecord>]>>; }, z.core.$strip>; export declare const TextPropsSchema: z.ZodObject<{ text: z.ZodOptional, z.ZodRecord>]>>; variant: z.ZodOptional>; weight: z.ZodOptional>; color: z.ZodOptional>; }, z.core.$strip>; export declare const BadgePropsSchema: z.ZodObject<{ text: z.ZodOptional, z.ZodRecord>]>>; variant: z.ZodOptional>; minWidth: z.ZodOptional, z.ZodRecord>]>>; }, z.core.$strip>; export declare const ButtonPropsSchema: z.ZodObject<{ label: z.ZodOptional, z.ZodRecord>]>>; variant: z.ZodOptional>; icon: z.ZodOptional, z.ZodRecord>]>>; disabled: z.ZodOptional, z.ZodRecord>]>>; loading: z.ZodOptional, z.ZodRecord>]>>; }, z.core.$strip>; export declare const IconPropsSchema: z.ZodObject<{ name: z.ZodOptional, z.ZodRecord>]>>; size: z.ZodOptional, z.ZodRecord>]>>; }, z.core.$strip>; export declare const DividerPropsSchema: z.ZodObject<{ label: z.ZodOptional, z.ZodRecord>]>>; }, z.core.$strip>; export declare const TextInputPropsSchema: z.ZodObject<{ value: z.ZodOptional, z.ZodRecord>]>>; placeholder: z.ZodOptional, z.ZodRecord>]>>; label: z.ZodOptional, z.ZodRecord>]>>; disabled: z.ZodOptional, z.ZodRecord>]>>; type: z.ZodOptional>; loading: z.ZodOptional, z.ZodRecord>]>>; }, z.core.$strip>; export declare const SwitchPropsSchema: z.ZodObject<{ value: z.ZodOptional, z.ZodRecord>]>>; label: z.ZodOptional, z.ZodRecord>]>>; disabled: z.ZodOptional, z.ZodRecord>]>>; }, z.core.$strip>; export declare const KeyValueTablePropsSchema: z.ZodObject<{ data: z.ZodOptional, z.ZodIntersection, z.ZodRecord>]>>; loading: z.ZodOptional, z.ZodRecord>]>>; }, z.core.$strip>; export declare const DataTablePropsSchema: z.ZodObject<{ columns: z.ZodOptional; }, z.core.$loose>]>>, z.ZodIntersection, z.ZodRecord>]>>; rows: z.ZodOptional, z.ZodIntersection, z.ZodRecord>]>>; height: z.ZodOptional, z.ZodRecord>]>>; loading: z.ZodOptional, z.ZodRecord>]>>; }, z.core.$strip>; export declare const CodeBlockPropsSchema: z.ZodObject<{ code: z.ZodOptional, z.ZodRecord>]>>; language: z.ZodOptional, z.ZodRecord>]>>; filename: z.ZodOptional, z.ZodRecord>]>>; height: z.ZodOptional, z.ZodRecord>]>>; }, z.core.$strip>; export declare const ProgressPropsSchema: z.ZodObject<{ value: z.ZodOptional, z.ZodRecord>]>>; max: z.ZodOptional, z.ZodRecord>]>>; label: z.ZodOptional, z.ZodRecord>]>>; }, z.core.$strip>; export declare const TreePropsSchema: z.ZodObject<{ data: z.ZodOptional; defaultExpanded: z.ZodOptional, z.ZodRecord>]>>; }, z.core.$strip>; export declare const TabsPropsSchema: z.ZodObject<{ tabs: z.ZodOptional; badge: z.ZodOptional; badgeVariant: z.ZodOptional>; }, z.core.$loose>>, z.ZodIntersection, z.ZodRecord>]>>; value: z.ZodOptional, z.ZodRecord>]>>; defaultValue: z.ZodOptional, z.ZodRecord>]>>; orientation: z.ZodOptional>; }, z.core.$strip>; export declare const LinkPropsSchema: z.ZodObject<{ href: z.ZodOptional, z.ZodRecord>]>>; label: z.ZodOptional, z.ZodRecord>]>>; icon: z.ZodOptional, z.ZodRecord>]>>; external: z.ZodOptional, z.ZodRecord>]>>; }, z.core.$strip>; export declare const SelectPropsSchema: z.ZodObject<{ value: z.ZodOptional, z.ZodRecord>]>>; options: z.ZodOptional; icon: z.ZodOptional; description: z.ZodOptional; }, z.core.$loose>]>>, z.ZodIntersection, z.ZodRecord>]>>; placeholder: z.ZodOptional, z.ZodRecord>]>>; label: z.ZodOptional, z.ZodRecord>]>>; disabled: z.ZodOptional, z.ZodRecord>]>>; searchable: z.ZodOptional, z.ZodRecord>]>>; native: z.ZodOptional, z.ZodRecord>]>>; }, z.core.$strip>; /** * Map of base-catalog component name → Zod prop schema. The keys are the * canonical component set (catalog v1: the original fourteen plus the * additive Tabs/Link/Select). */ export declare const basePropSchemas: { readonly Stack: z.ZodObject<{ direction: z.ZodOptional>; gap: z.ZodOptional, z.ZodRecord>]>>; padding: z.ZodOptional, z.ZodRecord>]>>; align: z.ZodOptional>; justify: z.ZodOptional>; wrap: z.ZodOptional, z.ZodRecord>]>>; flex: z.ZodOptional, z.ZodIntersection, z.ZodRecord>]>>; }, z.core.$strip>; readonly Card: z.ZodObject<{ title: z.ZodOptional, z.ZodRecord>]>>; border: z.ZodOptional, z.ZodRecord>]>>; collapsible: z.ZodOptional, z.ZodRecord>]>>; defaultCollapsed: z.ZodOptional, z.ZodRecord>]>>; loading: z.ZodOptional, z.ZodRecord>]>>; }, z.core.$strip>; readonly Text: z.ZodObject<{ text: z.ZodOptional, z.ZodRecord>]>>; variant: z.ZodOptional>; weight: z.ZodOptional>; color: z.ZodOptional>; }, z.core.$strip>; readonly Badge: z.ZodObject<{ text: z.ZodOptional, z.ZodRecord>]>>; variant: z.ZodOptional>; minWidth: z.ZodOptional, z.ZodRecord>]>>; }, z.core.$strip>; readonly Button: z.ZodObject<{ label: z.ZodOptional, z.ZodRecord>]>>; variant: z.ZodOptional>; icon: z.ZodOptional, z.ZodRecord>]>>; disabled: z.ZodOptional, z.ZodRecord>]>>; loading: z.ZodOptional, z.ZodRecord>]>>; }, z.core.$strip>; readonly Icon: z.ZodObject<{ name: z.ZodOptional, z.ZodRecord>]>>; size: z.ZodOptional, z.ZodRecord>]>>; }, z.core.$strip>; readonly Divider: z.ZodObject<{ label: z.ZodOptional, z.ZodRecord>]>>; }, z.core.$strip>; readonly TextInput: z.ZodObject<{ value: z.ZodOptional, z.ZodRecord>]>>; placeholder: z.ZodOptional, z.ZodRecord>]>>; label: z.ZodOptional, z.ZodRecord>]>>; disabled: z.ZodOptional, z.ZodRecord>]>>; type: z.ZodOptional>; loading: z.ZodOptional, z.ZodRecord>]>>; }, z.core.$strip>; readonly Switch: z.ZodObject<{ value: z.ZodOptional, z.ZodRecord>]>>; label: z.ZodOptional, z.ZodRecord>]>>; disabled: z.ZodOptional, z.ZodRecord>]>>; }, z.core.$strip>; readonly KeyValueTable: z.ZodObject<{ data: z.ZodOptional, z.ZodIntersection, z.ZodRecord>]>>; loading: z.ZodOptional, z.ZodRecord>]>>; }, z.core.$strip>; readonly DataTable: z.ZodObject<{ columns: z.ZodOptional; }, z.core.$loose>]>>, z.ZodIntersection, z.ZodRecord>]>>; rows: z.ZodOptional, z.ZodIntersection, z.ZodRecord>]>>; height: z.ZodOptional, z.ZodRecord>]>>; loading: z.ZodOptional, z.ZodRecord>]>>; }, z.core.$strip>; readonly CodeBlock: z.ZodObject<{ code: z.ZodOptional, z.ZodRecord>]>>; language: z.ZodOptional, z.ZodRecord>]>>; filename: z.ZodOptional, z.ZodRecord>]>>; height: z.ZodOptional, z.ZodRecord>]>>; }, z.core.$strip>; readonly Progress: z.ZodObject<{ value: z.ZodOptional, z.ZodRecord>]>>; max: z.ZodOptional, z.ZodRecord>]>>; label: z.ZodOptional, z.ZodRecord>]>>; }, z.core.$strip>; readonly Tree: z.ZodObject<{ data: z.ZodOptional; defaultExpanded: z.ZodOptional, z.ZodRecord>]>>; }, z.core.$strip>; readonly Tabs: z.ZodObject<{ tabs: z.ZodOptional; badge: z.ZodOptional; badgeVariant: z.ZodOptional>; }, z.core.$loose>>, z.ZodIntersection, z.ZodRecord>]>>; value: z.ZodOptional, z.ZodRecord>]>>; defaultValue: z.ZodOptional, z.ZodRecord>]>>; orientation: z.ZodOptional>; }, z.core.$strip>; readonly Link: z.ZodObject<{ href: z.ZodOptional, z.ZodRecord>]>>; label: z.ZodOptional, z.ZodRecord>]>>; icon: z.ZodOptional, z.ZodRecord>]>>; external: z.ZodOptional, z.ZodRecord>]>>; }, z.core.$strip>; readonly Select: z.ZodObject<{ value: z.ZodOptional, z.ZodRecord>]>>; options: z.ZodOptional; icon: z.ZodOptional; description: z.ZodOptional; }, z.core.$loose>]>>, z.ZodIntersection, z.ZodRecord>]>>; placeholder: z.ZodOptional, z.ZodRecord>]>>; label: z.ZodOptional, z.ZodRecord>]>>; disabled: z.ZodOptional, z.ZodRecord>]>>; searchable: z.ZodOptional, z.ZodRecord>]>>; native: z.ZodOptional, z.ZodRecord>]>>; }, z.core.$strip>; }; /** Canonical base-catalog component name. */ type BaseComponentName = keyof typeof basePropSchemas; /** The ordered list of base-catalog component names (catalog v1). */ export declare const baseComponentNames: BaseComponentName[]; //#endregion //#region src/catalog.d.ts /** * The Devframes base-catalog schema. A Devframes spec is an * `@json-render/core` `Spec` (flat `root` + `elements` map); the structural * fields upstream's Vue schema omits (`state`, `on`, `repeat`, `watch`) pass * through unchecked. The one validation Devframes adds is per-component prop * validation (see {@link basePropSchemas}). */ export declare const baseSchema: import("@json-render/core").Schema<{ spec: import("@json-render/core").SchemaType<"object", { root: import("@json-render/core").SchemaType<"string", unknown>; elements: import("@json-render/core").SchemaType<"record", import("@json-render/core").SchemaType<"object", { type: import("@json-render/core").SchemaType<"ref", string>; props: import("@json-render/core").SchemaType<"propsOf", string>; children: import("@json-render/core").SchemaType<"array", import("@json-render/core").SchemaType<"string", unknown>>; }>>; }>; catalog: import("@json-render/core").SchemaType<"object", { components: import("@json-render/core").SchemaType<"map", { props: import("@json-render/core").SchemaType<"zod", unknown>; description: import("@json-render/core").SchemaType<"string", unknown>; }>; actions: import("@json-render/core").SchemaType<"map", { description: import("@json-render/core").SchemaType<"string", unknown>; }>; }>; }>; /** * The Devframes base catalog (catalog v1): the seventeen canonical components * with their Devframes-authored Zod prop schemas and descriptions, and an * empty action set (actions are dispatched dynamically via the bridge, they * are not declared here). Reference frontend libraries implement this set. */ export declare const baseCatalog: import("@json-render/core").Catalog<{ spec: import("@json-render/core").SchemaType<"object", { root: import("@json-render/core").SchemaType<"string", unknown>; elements: import("@json-render/core").SchemaType<"record", import("@json-render/core").SchemaType<"object", { type: import("@json-render/core").SchemaType<"ref", string>; props: import("@json-render/core").SchemaType<"propsOf", string>; children: import("@json-render/core").SchemaType<"array", import("@json-render/core").SchemaType<"string", unknown>>; }>>; }>; catalog: import("@json-render/core").SchemaType<"object", { components: import("@json-render/core").SchemaType<"map", { props: import("@json-render/core").SchemaType<"zod", unknown>; description: import("@json-render/core").SchemaType<"string", unknown>; }>; actions: import("@json-render/core").SchemaType<"map", { description: import("@json-render/core").SchemaType<"string", unknown>; }>; }>; }, { components: { [K in keyof typeof basePropSchemas]: { props: (typeof basePropSchemas)[K]; description: string; }; }; actions: {}; }>; //#endregion //#region src/view-index.d.ts /** * Well-known shared-state key carrying the **view index**: a map of every * live JSON-render view registered on a context, keyed by its `stateKey`. * * A frontend that does not know view ids ahead of time (e.g. the prebuilt * standalone SPA in `@devframes/json-render-ui`) subscribes to this one key to * discover which views exist, then subscribes to each view's own state. A hub * dock, by contrast, is handed a specific {@link JsonRenderViewRef} and needs * no index. */ export declare const JSON_RENDER_INDEX_KEY = "devframe:json-render:index"; /** * One entry in the {@link JSON_RENDER_INDEX_KEY view index}. Fully * serializable: it locates a view's live state and carries the display title a * multi-view frontend uses to label it. */ interface JsonRenderIndexEntry { /** Author-supplied stable id, unique within the view's scope. */ id: string; /** The view's scope segment (e.g. `global` or a context namespace). */ scope: string; /** Shared-state key the client subscribes to for the live spec + state. */ stateKey: string; /** Human-facing label for the view (defaults to `id`). */ title: string; } /** The shape of the view-index shared state: entries keyed by `stateKey`. */ type JsonRenderIndex = Record; //#endregion export type { BaseComponentName, Catalog, CatalogUIElement, DevframeJsonRenderSpec, InferComponentProps, JsonRenderIndex, JsonRenderIndexEntry, JsonRenderView, JsonRenderViewInlineRef, JsonRenderViewRef, JsonRenderViewStateRef, Spec, StateModel, StateStore, UIElement };