{ "name": "form", "dependencies": [ "vee-validate", "@vee-validate/zod", "zod" ], "registryDependencies": [ "utils", "label" ], "files": [ { "name": "FormControl.vue", "content": "\n\n\n \n \n \n\n" }, { "name": "FormDescription.vue", "content": "\n\n\n \n \n \n\n" }, { "name": "FormItem.vue", "content": "\n\n\n\n\n \n \n \n\n" }, { "name": "FormLabel.vue", "content": "\n\n\n \n \n \n\n" }, { "name": "FormMessage.vue", "content": "\n\n\n \n\n" }, { "name": "index.ts", "content": "export { Form, Field as FormField } from 'vee-validate'\nexport { default as FormItem } from './FormItem.vue'\nexport { default as FormLabel } from './FormLabel.vue'\nexport { default as FormControl } from './FormControl.vue'\nexport { default as FormMessage } from './FormMessage.vue'\nexport { default as FormDescription } from './FormDescription.vue'\n" }, { "name": "useFormField.ts", "content": "import { FieldContextKey, useFieldError, useIsFieldDirty, useIsFieldTouched, useIsFieldValid } from 'vee-validate'\nimport { inject } from 'vue'\nimport { FORM_ITEM_INJECTION_KEY } from './FormItem.vue'\n\nexport function useFormField() {\n const fieldContext = inject(FieldContextKey)\n const fieldItemContext = inject(FORM_ITEM_INJECTION_KEY)\n\n const fieldState = {\n valid: useIsFieldValid(),\n isDirty: useIsFieldDirty(),\n isTouched: useIsFieldTouched(),\n error: useFieldError(),\n }\n\n if (!fieldContext)\n throw new Error('useFormField should be used within ')\n\n const { name } = fieldContext\n const id = fieldItemContext\n\n return {\n id,\n name,\n formItemId: `${id}-form-item`,\n formDescriptionId: `${id}-form-item-description`,\n formMessageId: `${id}-form-item-message`,\n ...fieldState,\n }\n}\n" } ], "type": "components:ui" }
\n \n