import { j as WalkedField, w as SchemaMeta } from "../types-BBQaEPfE.mjs"; import { t as Diagnostic } from "../diagnostics-mftUZI7c.mjs"; import { r as SchemaIoSide } from "../adapter-ktQaheWB.mjs"; import { r as LitRenderProps, t as LitComponentResolver } from "../types-BCy7K3nk.mjs"; import { LitElement, TemplateResult } from "lit"; //#region src/lit/SchemaComponent.d.ts /** * Public change-event detail emitted on the top-level ``. * * The `value` payload carries the updated root value as returned by * the user's most recent edit. Consumers wire this into their * framework's binding system — React via `addEventListener` on the * canonical `change` event, Vue via a `@change` directive, Svelte * via `on:change`. The detail object always carries a single * `value` field with the post-edit root value. */ interface SchemaChangeEventDetail { value: unknown; } /** * Lit Custom Element for editable schema-driven UI. * * Tag: `` (default) or `<{prefix}schema-component>` * (when `registerSchemaComponents(prefix)` is called). * * **Required:** call {@link registerSchemaComponents} once at module * setup before instantiating this element in HTML markup, otherwise * none of the per-type `` children will upgrade and the tree * will render as unknown elements. */ declare class SchemaComponent extends LitElement { /** * Element property declarations. * * All four "data" properties (`schema`, `value`, `resolver`, * `widgets`) carry `attribute: false`: Custom Element attributes * are strings, and these payloads (an arbitrary Zod schema, an * arbitrary JS value, a resolver function map, a widget tag map) * cannot round-trip through attribute serialisation. Set them via * direct property assignment. * * `readOnly` is a boolean attribute (and reflects to DOM) so the * common "render read-only view" case is reachable from plain * HTML markup (``). * The capitalisation is `readOnly` on the property and `readonly` * on the attribute — matching the HTML `readonly` attribute on * `` / `