{"version":3,"file":"symbol.mjs","sources":["../../../components/form/symbol.ts"],"sourcesContent":["import type { ComputedRef, InjectionKey, Ref } from 'vue'\nimport type { ComponentSize, ComponentState } from '@vexip-ui/config'\nimport type { EventEmitter } from '@vexip-ui/utils'\nimport type { Rule } from './validator'\n\nexport type FormLabelAlign = 'right' | 'top' | 'left'\nexport type SubmitMethod = 'get' | 'post' | 'put' | 'delete'\n\nexport interface FormProps {\n  method: SubmitMethod,\n  action: string,\n  model: Record<string, any>,\n  rules: Record<string, any>,\n  labelWidth: number | 'auto',\n  labelAlign: FormLabelAlign,\n  allRequired: boolean,\n  labelSuffix: string,\n  hideAsterisk: boolean,\n  validateAll: boolean,\n  hideLabel: boolean,\n  disabled: boolean,\n  loading: boolean,\n  size: ComponentSize,\n  inline: boolean\n}\n\nexport interface FormItemProps {\n  label: string,\n  prop: string,\n  rules: Rule | Rule[],\n  labelWidth: number | 'auto',\n  required: boolean,\n  htmlFor: string,\n  errorTransition: string,\n  defaultValue: unknown,\n  hideErrorTip: boolean,\n  validateAll: boolean,\n  hideAsterisk: boolean\n}\n\nexport interface FieldOptions {\n  prop: ComputedRef<string>,\n  idFor: ComputedRef<string>,\n  labelId: ComputedRef<string>,\n  state: ComputedRef<ComponentState>,\n  disabled: ComputedRef<boolean>,\n  loading: ComputedRef<boolean>,\n  size: ComputedRef<ComponentSize>,\n  emitter: EventEmitter,\n  labelWidth: Ref<number>,\n  validate: () => Promise<string[] | null>,\n  reset: () => boolean,\n  clearError: () => void,\n  getValue: (defaultValue?: unknown) => unknown,\n  setValue: (value: unknown, strict?: boolean) => void,\n  sync: (instance: any) => void,\n  unSync: (instance: any) => void\n}\n\nexport interface FormActions {\n  getLabelWidth: () => number,\n  validate: () => Promise<string[]>,\n  validateFields: (props: string | string[]) => Promise<string[]>,\n  reset: () => void,\n  resetFields: (props: string | string[]) => void,\n  clearError: () => void,\n  clearFieldsError: (props: string | string[]) => void\n}\n\n// form\nexport const FORM_PROPS = '__VXP_FORM_PROPS' as unknown as InjectionKey<Partial<FormProps>>\nexport const FORM_FIELDS = '__VXP_FORM_FIELDS' as unknown as InjectionKey<Set<FieldOptions>>\nexport const FORM_ACTIONS = '__VXP_FORM_ACTIONS' as unknown as InjectionKey<FormActions>\n\n// form-item\nexport const FIELD_OPTIONS = '__VXP_FIELD_OPTIONS' as unknown as InjectionKey<FieldOptions>\n\nexport const submitMethods = Object.freeze<SubmitMethod[]>(['get', 'post', 'put', 'delete'])\nexport const labelAligns = Object.freeze<FormLabelAlign[]>(['right', 'top', 'left'])\n"],"names":["FORM_PROPS","FORM_FIELDS","FORM_ACTIONS","FIELD_OPTIONS","submitMethods","labelAligns"],"mappings":"AAsEO,MAAMA,IAAa,oBACbC,IAAc,qBACdC,IAAe,sBAGfC,IAAgB,uBAEhBC,IAAgB,OAAO,OAAuB,CAAC,OAAO,QAAQ,OAAO,QAAQ,CAAC,GAC9EC,IAAc,OAAO,OAAyB,CAAC,SAAS,OAAO,MAAM,CAAC;"}