{"version":3,"file":"const.mjs","sources":["../../src/form/const.ts"],"sourcesContent":["import { InjectionKey } from 'vue';\nimport { FormItemValidateResult } from './form-item';\nimport {\n  AllValidateResult,\n  Data,\n  FormItemValidateMessage,\n  FormRule,\n  TdFormItemProps,\n  TdFormProps,\n  ValidateResultType,\n  ValidateTriggerType,\n} from './type';\n\nimport { renderContent } from '../shared';\n\nexport const enum ValidateStatus {\n  TO_BE_VALIDATED = 'not',\n  SUCCESS = 'success',\n  FAIL = 'fail',\n}\n\nexport type ErrorListType =\n  | {\n      result: false;\n      message: string;\n      type: 'error' | 'warning';\n    }\n  | ValidateResultType;\n\nexport type SuccessListType =\n  | {\n      result: true;\n      message: string;\n      type: 'success';\n    }\n  | ValidateResultType;\n\nexport interface AnalysisValidateResult {\n  successList?: SuccessListType[];\n  errorList?: ErrorListType[];\n  rules: FormRule[];\n  resultList: AllValidateResult[];\n  allowSetValue: boolean;\n}\n\nexport interface FormItemContext {\n  name: TdFormItemProps['name'];\n  resetHandler: () => void;\n  resetField: (resetType?: 'initial' | 'empty') => void;\n  validate: <T extends Data = Data>(\n    trigger: ValidateTriggerType,\n    showErrorMessage?: boolean,\n  ) => Promise<FormItemValidateResult<T>>;\n  validateOnly: <T = Data>(trigger: ValidateTriggerType) => Promise<FormItemValidateResult<T>>;\n  setValidateMessage: (validateMessage: FormItemValidateMessage[]) => void;\n}\n\nexport const FormInjectionKey: InjectionKey<{\n  showErrorMessage: TdFormProps['showErrorMessage'];\n  labelWidth: TdFormProps['labelWidth'];\n  labelAlign: TdFormProps['labelAlign'];\n  contentAlign: TdFormProps['contentAlign'];\n  data: TdFormProps['data'];\n  colon: TdFormProps['colon'];\n  requiredMark: TdFormProps['requiredMark'];\n  requiredMarkPosition: TdFormProps['requiredMarkPosition'];\n  rules: TdFormProps['rules'];\n  errorMessage: TdFormProps['errorMessage'];\n  resetType: TdFormProps['resetType'];\n  children: FormItemContext[];\n  renderContent: ReturnType<typeof renderContent>;\n}> = Symbol('FormProvide');\n\nexport const FormItemInjectionKey: InjectionKey<{\n  handleBlur: () => Promise<void>;\n}> = Symbol('FormItemProvide');\n"],"names":["ValidateStatus","FormInjectionKey","Symbol","FormItemInjectionKey"],"mappings":";;;;;;IAekBA,cAAA,4BAAAA,eAAX,EAAA;AACLA,EAAAA,gBAAA,iBAAkB,CAAA,GAAA,KAAA,CAAA;AAClBA,EAAAA,gBAAA,SAAU,CAAA,GAAA,SAAA,CAAA;AACVA,EAAAA,gBAAA,MAAO,CAAA,GAAA,MAAA,CAAA;AAHSA,EAAAA,OAAAA,eAAAA,CAAAA;AAAA,CAAA,CAAAA,cAAA,IAAA,EAAA,EAAA;IA0CLC,gBAAA,GAcRC,OAAO,aAAa,EAAA;IAEZC,oBAAA,GAERD,OAAO,iBAAiB;;;;"}