{"version":3,"file":"useFormItem.mjs","sources":["../../../../packages/hooks/useFormItem.ts"],"sourcesContent":["import { computed, inject, ref } from 'vue';\n\ninterface FormItemProps {\n  required?: boolean;\n  desc?: string;\n  rule?: string;\n}\n\ninterface ToFormItemContext {\n  required?: boolean;\n  label?: string;\n}\n\ninterface ToFormContext {\n  comparable?: boolean;\n}\n\nexport function useFormItem(props: FormItemProps) {\n  const ToFormItem = inject<ToFormItemContext>('ToFormItem', {});\n  const ToForm = inject<ToFormContext>('ToForm', {});\n\n  const errorTip = ref('');\n  const errorType = ref('rule');\n\n  // 是否可验证\n  const verifiable = computed(() => true);\n\n  // 验证是否必填\n  const validateRequired = computed(() => {\n    if (props.required) {\n      return 'true';\n    } else if (ToFormItem.required) {\n      return 'true';\n    } else {\n      return 'false';\n    }\n  });\n\n  // 验证描述\n  const validateDesc = computed(() => {\n    if (props.desc) {\n      return props.desc;\n    } else if (ToFormItem.label) {\n      return ToFormItem.label;\n    } else {\n      return '';\n    }\n  });\n\n  return {\n    verifiable,\n    validateRequired,\n    validateDesc,\n    errorTip,\n    errorType,\n    ToForm,\n    ToFormItem,\n  };\n}\n"],"names":[],"mappings":";;AAiBO,SAAS,YAAY,KAAsB,EAAA;AAChD,EAAA,MAAM,UAAa,GAAA,MAAA,CAA0B,YAAc,EAAA,EAAE,CAAA,CAAA;AAC7D,EAAA,MAAM,MAAS,GAAA,MAAA,CAAsB,QAAU,EAAA,EAAE,CAAA,CAAA;AAEjD,EAAM,MAAA,QAAA,GAAW,IAAI,EAAE,CAAA,CAAA;AACvB,EAAM,MAAA,SAAA,GAAY,IAAI,MAAM,CAAA,CAAA;AAG5B,EAAM,MAAA,UAAA,GAAa,QAAS,CAAA,MAAM,IAAI,CAAA,CAAA;AAGtC,EAAM,MAAA,gBAAA,GAAmB,SAAS,MAAM;AACtC,IAAA,IAAI,MAAM,QAAU,EAAA;AAClB,MAAO,OAAA,MAAA,CAAA;AAAA,KACT,MAAA,IAAW,WAAW,QAAU,EAAA;AAC9B,MAAO,OAAA,MAAA,CAAA;AAAA,KACF,MAAA;AACL,MAAO,OAAA,OAAA,CAAA;AAAA,KACT;AAAA,GACD,CAAA,CAAA;AAGD,EAAM,MAAA,YAAA,GAAe,SAAS,MAAM;AAClC,IAAA,IAAI,MAAM,IAAM,EAAA;AACd,MAAA,OAAO,KAAM,CAAA,IAAA,CAAA;AAAA,KACf,MAAA,IAAW,WAAW,KAAO,EAAA;AAC3B,MAAA,OAAO,UAAW,CAAA,KAAA,CAAA;AAAA,KACb,MAAA;AACL,MAAO,OAAA,EAAA,CAAA;AAAA,KACT;AAAA,GACD,CAAA,CAAA;AAED,EAAO,OAAA;AAAA,IACL,UAAA;AAAA,IACA,gBAAA;AAAA,IACA,YAAA;AAAA,IACA,QAAA;AAAA,IACA,SAAA;AAAA,IACA,MAAA;AAAA,IACA,UAAA;AAAA,GACF,CAAA;AACF;;;;"}