UNPKG

json-schema-form-vue3

Version:

A Vue 3 component for editing JSON Schema with nested object and array support

100 lines (89 loc) 3.04 kB
import { App } from 'vue'; import { ComponentOptionsMixin } from 'vue'; import { ComponentProvideOptions } from 'vue'; import { DefineComponent } from 'vue'; import { JSONSchema7TypeName } from 'json-schema'; import { PublicProps } from 'vue'; declare type __VLS_Props = { modelValue: ExtendedSchemaProperty | JsonSchema_2; isRootLevel?: boolean; }; declare type ExtendedSchemaProperty = SchemaProperty_2 & { items?: SchemaProperty_2; }; export declare const install: (app: App) => void; export declare interface JsonSchema { type: 'object'; title?: string; description?: string; properties: Record<string, SchemaProperty_2>; required?: string[]; } declare type JsonSchema_2 = { type: 'object'; properties: Record<string, SchemaProperty_2>; required?: string[]; $schema?: string; $id?: string; $comment?: string; title?: string; description?: string; }; export declare const JsonSchemaForm: DefineComponent<__VLS_Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, { "update:model-value": (value: ExtendedSchemaProperty | JsonSchema_2) => any; }, string, PublicProps, Readonly<__VLS_Props> & Readonly<{ "onUpdate:model-value"?: ((value: ExtendedSchemaProperty | JsonSchema_2) => any) | undefined; }>, { isRootLevel: boolean; }, {}, {}, {}, string, ComponentProvideOptions, false, { formRef: unknown; }, HTMLDivElement>; declare const plugin: { install: (app: App) => void; component: DefineComponent<{ modelValue: ( SchemaProperty_2 & { items?: SchemaProperty_2; }) | JsonSchema_2; isRootLevel?: boolean; }, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, { "update:model-value": (value: ( SchemaProperty_2 & { items?: SchemaProperty_2; }) | JsonSchema_2) => any; }, string, PublicProps, Readonly<{ modelValue: ( SchemaProperty_2 & { items?: SchemaProperty_2; }) | JsonSchema_2; isRootLevel?: boolean; }> & Readonly<{ "onUpdate:model-value"?: ((value: ( SchemaProperty_2 & { items?: SchemaProperty_2; }) | JsonSchema_2) => any) | undefined; }>, { isRootLevel: boolean; }, {}, {}, {}, string, ComponentProvideOptions, false, { formRef: unknown; }, HTMLDivElement>; }; export default plugin; export declare type SchemaProperty = { type: JSONSchema7TypeName; title?: string; description?: string; properties?: Record<string, SchemaProperty_2>; required?: string[]; } & ({ type: 'array'; items: SchemaProperty_2; } | { type: Exclude<JSONSchema7TypeName, 'array'>; items?: never; }); declare interface SchemaProperty_2 { type: JSONSchema7TypeName; title?: string; description?: string; properties?: Record<string, SchemaProperty_2>; items?: SchemaProperty_2; required?: string[]; } export { }