@rucire/jxson-vue
Version:
A powerful JSON editor component for Vue 3 by Rucire
19 lines (18 loc) • 884 B
TypeScript
import { Field, FieldType, ArrayType } from '../types';
import { Ref } from 'vue';
import { getDefaultValue } from '../utils/validation';
export declare function useJsonField(field: Ref<Field>, emit: (event: 'update:field', field: Field | null) => void): {
open: Ref<boolean, boolean>;
showAddDropdown: Ref<boolean, boolean>;
adding: Ref<boolean, boolean>;
editing: Ref<boolean, boolean>;
fieldsCount: import('vue').ComputedRef<number>;
fieldBackgroundClass: (type: FieldType) => string;
fieldLabelClass: (type: FieldType) => string;
fieldTypeLabel: (type: FieldType) => string;
setFieldType: (type: FieldType, target: Field) => void;
setArrayType: (type: ArrayType, target: Field) => void;
updateNestedField: (index: number, updatedField: Field | null) => void;
deleteField: () => void;
getDefaultValue: typeof getDefaultValue;
};