{"version":3,"file":"form.vue.cjs","sources":["../../../../../packages/components/form/src/form.vue"],"sourcesContent":["<template>\n  <form :class=\"[ns.b(), ns.is('inline', inline)]\">\n    <slot />\n  </form>\n</template>\n<script>\nexport default { name: \"x-form\" };\n</script>\n<script setup>\nimport { toRefs, provide } from \"vue\";\nimport { FORM_KEY } from \"./constant\";\nimport { useNamespace } from \"@ui-library/hook\";\nconst ns = useNamespace(\"form\");\nconst props = defineProps({\n  model: {\n    type: Object,\n    default: () => ({}),\n  },\n  rules: {\n    type: Object,\n    default: () => ({}),\n  },\n  labelWidth: {\n    type: String,\n    default: \"\",\n  },\n  align: {\n    type: String,\n    default: \"\",\n  },\n  size: {\n    type: String,\n    default: \"\",\n  },\n  inline: Boolean,\n  colon: {\n    type: Boolean,\n    default: true,\n  },\n});\n// 所有字段\nconst modelFields = [];\nconst pushField = (context) => modelFields.push(context);\n\n/**\n * 校验\n */\nconst validate = async (fields) => {\n  // validateFields\n  const validateFields = filterFields(fields) || modelFields;\n  let verificationError = [];\n  for (const field of validateFields) {\n    try {\n      await field.validate();\n    } catch (fields) {\n      verificationError = [...verificationError, ...fields];\n    }\n  }\n  if (!verificationError.length) return true;\n  return Promise.reject(verificationError);\n};\n\n/**\n * 重置\n */\nconst reset = () => {\n  const validateFields = modelFields;\n  for (const field of validateFields) {\n    field?.resetField();\n  }\n};\n\n// 过滤需要校验的字段\nconst filterFields = (fields) => {\n  if (!fields) {\n    return null;\n  }\n  const fieldArr = modelFields.filter((v) => fields.includes(v.prop));\n  return !!fieldArr.length ? fieldArr : null;\n};\n\nprovide(FORM_KEY, { ...toRefs(props), pushField });\n\ndefineExpose({\n  validate,\n  reset,\n});\n</script>\n"],"names":["useNamespace","provide","FORM_KEY","toRefs"],"mappings":";;;;;;;;;AAMA,MAAA,WAAA,GAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMjC,MAAM,EAAE,GAAGA,kBAAY,CAAC,MAAM,CAAC,CAAA;AAC/B,MAAM,KAAK,GAAG,OA0BZ,CAAA;AACF;AACA,MAAM,WAAW,GAAG,EAAE,CAAA;AACtB,MAAM,SAAS,GAAG,CAAC,OAAO,KAAK,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;;AAExD;AACA;AACA;AACA,MAAM,QAAQ,GAAG,OAAO,MAAM,KAAK;AACnC;AACA,EAAE,MAAM,cAAc,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,WAAW,CAAA;AAC5D,EAAE,IAAI,iBAAiB,GAAG,EAAE,CAAA;AAC5B,EAAE,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE;AACtC,IAAI,IAAI;AACR,MAAM,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAA;AAC5B,KAAK,CAAC,OAAO,MAAM,EAAE;AACrB,MAAM,iBAAiB,GAAG,CAAC,GAAG,iBAAiB,EAAE,GAAG,MAAM,CAAC,CAAA;AAC3D,KAAI;AACJ,GAAE;AACF,EAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,IAAI,CAAA;AAC5C,EAAE,OAAO,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAA;AAC1C,CAAC,CAAA;;AAED;AACA;AACA;AACA,MAAM,KAAK,GAAG,MAAM;AACpB,EAAE,MAAM,cAAc,GAAG,WAAW,CAAA;AACpC,EAAE,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE;AACtC,IAAI,KAAK,EAAE,UAAU,EAAE,CAAA;AACvB,GAAE;AACF,CAAC,CAAA;;AAED;AACA,MAAM,YAAY,GAAG,CAAC,MAAM,KAAK;AACjC,EAAE,IAAI,CAAC,MAAM,EAAE;AACf,IAAI,OAAO,IAAI,CAAA;AACf,GAAE;AACF,EAAE,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;AACrE,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,QAAQ,GAAG,IAAI,CAAA;AAC5C,CAAC,CAAA;;AAEDC,WAAO,CAACC,iBAAQ,EAAE,EAAE,GAAGC,UAAM,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC,CAAA;;AAElD,QAAY,CAAC;AACb,EAAE,QAAQ;AACV,EAAE,KAAK;AACP,CAAC,CAAC,CAAA;;;;;;;;;;;;;;;;;;;;"}