UNPKG

@jsonforms/vue-vuetify

Version:

Vue Vuetify renderers for JSON Forms

155 lines (153 loc) 4.69 kB
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>; };