@jsonforms/vue-vuetify
Version:
Vue Vuetify renderers for JSON Forms
155 lines (153 loc) • 4.69 kB
TypeScript
import { IconAliases } from '../icons/icons';
import { ControlElement, DispatchPropsOfControl, DispatchPropsOfMultiEnumControl, JsonFormsSubStates, JsonSchema, UISchemaElement, CombinatorTranslations, Translator, ArrayTranslations } from '@jsonforms/core';
import { default as Ajv, ErrorObject } from 'ajv';
import { ComputedRef, InjectionKey, Ref } from 'vue';
import { IconOptions } from 'vuetify';
import { Styles } from '../styles';
export declare const IconSymbol: InjectionKey<Required<IconOptions>>;
export declare const useControlAppliedOptions: <T extends {
config: any;
uischema: UISchemaElement;
}, I extends {
control: ComputedRef<T>;
}>(input: I) => ComputedRef<any>;
export declare const useLayoutAppliedOptions: <T extends {
config: any;
uischema: UISchemaElement;
}, I extends {
layout: ComputedRef<T>;
}>(input: I) => ComputedRef<any>;
export declare const useComputedLabel: <T extends {
label: string;
required: boolean;
}, I extends {
control: ComputedRef<T>;
}>(input: I, appliedOptions: ReturnType<typeof useControlAppliedOptions>) => ComputedRef<string>;
/**
* Adds styles, appliedOptions and vuetifyProps
*/
export declare const useVuetifyLabel: <T extends {
uischema: UISchemaElement;
config: any;
}, I extends {
label: ComputedRef<T>;
}>(input: I) => I & {
appliedOptions: ComputedRef<any>;
vuetifyProps: (path: string) => any;
styles: Styles;
};
/**
* Adds styles, isFocused, appliedOptions and onChange
*/
export declare const useVuetifyControl: <T extends {
uischema: ControlElement;
path: string;
config: any;
label: string;
description: string;
required: boolean;
errors: string;
id: string;
visible: boolean;
}, I extends {
control: ComputedRef<T>;
} & (DispatchPropsOfControl | DispatchPropsOfMultiEnumControl)>(input: I, adaptValue?: (target: any) => any, debounceWait?: number) => I & {
control: ComputedRef<T & {
errors: string;
}>;
styles: Styles;
isFocused: Ref<boolean>;
appliedOptions: ComputedRef<any>;
controlWrapper: ComputedRef<{
id: string;
description: string;
errors: string;
label: string;
visible: boolean;
required: boolean;
}>;
onChange: (value: any) => void;
vuetifyProps: (path: string) => any;
persistentHint: () => boolean;
computedLabel: ComputedRef<string>;
touched: Ref<boolean>;
handleBlur: () => void;
handleFocus: () => void;
rawErrors: ComputedRef<string>;
};
export declare const useCombinatorTranslations: <T extends {
i18nKeyPrefix: string;
label: string;
}, I extends {
control: ComputedRef<T>;
}>(input: I) => I & {
control: ComputedRef<T & {
translations: CombinatorTranslations;
}>;
};
export declare const useJsonForms: () => JsonFormsSubStates;
export declare const useTranslator: () => ComputedRef< Translator>;
/**
* Adds styles and appliedOptions
*/
export declare const useVuetifyLayout: <T extends {
config: any;
uischema: UISchemaElement;
}, I extends {
layout: ComputedRef<T>;
}>(input: I) => I & {
styles: Styles;
appliedOptions: ComputedRef<any>;
vuetifyProps: (path: string) => any;
};
/**
* Adds styles, appliedOptions and childUiSchema
*/
export declare const useVuetifyArrayControl: <T extends {
label: string;
required: boolean;
config: any;
uischema: UISchemaElement;
schema: JsonSchema;
data: any;
childErrors: ErrorObject[];
i18nKeyPrefix: string;
}, I extends {
control: ComputedRef<T>;
}>(input: I) => I & {
control: ComputedRef<T & {
childErrors: ErrorObject<string, Record<string, any>, unknown>[];
translations: ArrayTranslations;
}>;
styles: Styles;
appliedOptions: ComputedRef<any>;
childLabelForIndex: (index: number | null) => string;
computedLabel: ComputedRef<string>;
vuetifyProps: (path: string) => any;
rawChildErrors: ErrorObject<string, Record<string, any>, unknown>[];
};
/**
* Adds styles and appliedOptions
*/
export declare const useVuetifyBasicControl: <T extends {
config: any;
uischema: UISchemaElement;
}, I extends {
control: ComputedRef<T>;
}>(input: I) => I & {
styles: Styles;
appliedOptions: ComputedRef<any>;
vuetifyProps: (path: string) => any;
};
/**
* Extracts Ajv from JSON Forms
*/
export declare const useAjv: () => Ajv;
export interface NestedInfo {
level: number;
parentElement?: 'array' | 'object';
}
export declare const useNested: (element: false | 'array' | 'object') => NestedInfo;
export declare const useIcons: () => {
current: ComputedRef<IconAliases>;
};