{"version":3,"file":"form.mjs","sources":["../../../../../../packages/components/form/src/form.ts"],"sourcesContent":["import type { ExtractPropTypes, PropType } from 'vue'\nimport { definePropType } from '../../../utils/vue-utils'\nimport { isArray, isBoolean, isString } from '../../../utils/is'\nimport type { FormItemProp } from './form-item'\nimport type { FormRules } from './types'\n\nexport const formProps = {\n  model: {\n    type: Object\n  },\n  rules: {\n    type: definePropType<FormRules>(Object)\n  },\n  labelPosition: {\n    type: String as PropType<'left' | 'right' | 'top'>,\n    default: 'right'\n  },\n  requireAsteriskPosition: {\n    type: String,\n    default: 'left'\n  },\n  labelWidth: {\n    type: [String, Number],\n    default: ''\n  },\n  showMessage: {\n    type: Boolean,\n    default: true\n  },\n  validateOnRuleChange: {\n    type: Boolean,\n    default: true\n  },\n  // 行内表单\n  inline: {\n    type: Boolean,\n    default: false\n  }\n}\n\nexport type FormProps = ExtractPropTypes<typeof formProps>\n\nexport const formEmits = {\n  validate: (prop: FormItemProp, isValid: boolean, message: string) =>\n    (isArray(prop) || isString(prop)) && isBoolean(isValid) && isString(message)\n}\n\nexport type FormEmits = typeof formEmits\n"],"names":[],"mappings":";;;AAMO,MAAM,SAAY,GAAA;AAAA,EACvB,KAAO,EAAA;AAAA,IACL,IAAM,EAAA,MAAA;AAAA,GACR;AAAA,EACA,KAAO,EAAA;AAAA,IACL,IAAA,EAAM,eAA0B,MAAM,CAAA;AAAA,GACxC;AAAA,EACA,aAAe,EAAA;AAAA,IACb,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,OAAA;AAAA,GACX;AAAA,EACA,uBAAyB,EAAA;AAAA,IACvB,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,MAAA;AAAA,GACX;AAAA,EACA,UAAY,EAAA;AAAA,IACV,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,IACrB,OAAS,EAAA,EAAA;AAAA,GACX;AAAA,EACA,WAAa,EAAA;AAAA,IACX,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA,EACA,oBAAsB,EAAA;AAAA,IACpB,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA;AAAA,EAEA,MAAQ,EAAA;AAAA,IACN,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AACF,EAAA;AAIO,MAAM,SAAY,GAAA;AAAA,EACvB,QAAU,EAAA,CAAC,IAAoB,EAAA,OAAA,EAAkB,aAC9C,OAAQ,CAAA,IAAI,CAAK,IAAA,QAAA,CAAS,IAAI,CAAM,KAAA,SAAA,CAAU,OAAO,CAAA,IAAK,SAAS,OAAO,CAAA;AAC/E;;;;"}