vira
Version:
A simple and highly versatile design system using element-vir.
36 lines (35 loc) • 1.34 kB
TypeScript
import { type JsonValue, type PartialWithUndefined } from '@augment-vir/common';
import { ViraJsonType, type ViraJsonSchema } from '../util/vira-json-schema.js';
/**
* Editing mode for a string field that offers both a fixed set of enum options and free-form text.
*
* @category Internal
*/
export declare enum ViraJsonStringMode {
/** Pick from the schema's enum options via a dropdown. */
Options = "options",
/** Enter an arbitrary string via a text input. */
Custom = "custom"
}
/**
* An editor for arbitrary JSON values, optionally constrained by a standard JSON Schema
* ({@link ViraJsonSchema}).
*
* @category Elements
*/
export declare const ViraJsonForm: import("element-vir").DeclarativeElementDefinition<"vira-json-form", {
value: JsonValue;
} & PartialWithUndefined<{
schema: Readonly<ViraJsonSchema>;
isDisabled: boolean;
}>, {
pendingKeys: Readonly<Record<string, string>>;
pendingTypes: Readonly<Record<string, ViraJsonType>>;
pendingArrayValues: Readonly<Record<string, JsonValue>>;
stringModes: Readonly<Record<string, ViraJsonStringMode>>;
showRaw: boolean;
rawDraft: string | undefined;
rawError: string | undefined;
}, {
valueChange: import("element-vir").DefineEvent<JsonValue>;
}, "vira-json-form-", "vira-json-form-", readonly [], readonly []>;