{"version":3,"file":"form.vue2.mjs","sources":["../../../../../../packages/components/form/src/form.vue"],"sourcesContent":["<template>\n  <div\n    :class=\"[\n      bem.b(),\n      prepareClassNames(),\n      bem.is('open', open),\n      bem.is('fold', isShowFoldBtn),\n    ]\"\n    :style=\"{\n      ...prepareStyles(),\n    }\"\n  >\n    <el-form ref=\"elFormRef\" :model=\"formData\" v-bind=\"customAttrs\">\n      <slot>\n        <el-row>\n          <el-col\n            v-for=\"(item, index) in filterFormItemList\"\n            v-show=\"isShowFormItem(index)\"\n            :key=\"item.prop || index\"\n            :class=\"bem.e('col')\"\n            :span=\"item.col || 24 / col\"\n          >\n            <FormItem\n              :form-data=\"formData\"\n              :form-label-width=\"labelWidth\"\n              v-bind=\"item\"\n              @registerFormItemRenderRef=\"\n                (ref) => registerFormItemRenderRef(item.props?.ref, ref)\n              \"\n            />\n          </el-col>\n        </el-row>\n      </slot>\n    </el-form>\n    <div v-if=\"isShowFoldBtn\" :class=\"bem.e('fold')\" @click=\"toggleStatus\">\n      {{ open ? t('ep.form.collapse') : t('ep.form.more') }}\n    </div>\n  </div>\n</template>\n<script setup lang=\"ts\">\nimport { computed, reactive, ref, useTemplateRef } from 'vue'\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport {\n  formProps,\n  formEmits,\n  formEmitsKeys,\n  expandFormPropsKeys,\n} from './form'\nimport type { FormEmits } from './form'\nimport {\n  prepareProps,\n  prepareEvents,\n  prepareClassNames,\n  prepareStyles,\n} from '@el-plus/utils/props'\nimport { ElForm, ElRow, ElCol } from 'element-plus'\nimport { useCollapse, useForm } from './hooks/use-form'\nimport FormItem from './form-item-vue'\nimport { useLocale } from '@el-plus/hooks/use-locale'\nconst { t } = useLocale()\ndefineOptions({\n  name: 'EpForm',\n  inheritAttrs: false,\n})\nconst bem = createNameSpace('form')\nconst props = defineProps(formProps)\nconst emit = defineEmits(formEmits)\nconst customAttrs = computed(() => {\n  return {\n    ...prepareProps(props, ['modelValue', 'model', ...expandFormPropsKeys]),\n    hideRequiredAsterisk: true, // 隐藏必填星号, 使用自己的*\n    scrollToError: true,\n    ...prepareEvents<FormEmits>(emit, formEmitsKeys),\n  }\n})\nconst formData = defineModel<Record<string, unknown>>({\n  default: () => reactive({}),\n})\n\nconst {\n  filterFormItemList,\n  elFormRef,\n  validate,\n  resetFields,\n  clearValidate,\n  getFormItemRenderRef,\n  registerFormItemRenderRef,\n} = useForm(props)\n\nconst { open, toggleStatus, isShowFoldBtn, isShowFormItem } = useCollapse(\n  {\n    filterFormItemList,\n    isShowFold: props.isShowFold,\n    showFieldCount: props.showFieldCount,\n  },\n  emit,\n)\n\ndefineExpose({\n  elFormRef,\n  validate,\n  resetFields,\n  clearValidate,\n  getFormItemRenderRef\n})\n</script>\n"],"names":["_useModel","_createElementBlock","_normalizeClass","_unref","_normalizeStyle","_createVNode","_mergeProps","_renderSlot","_openBlock","_Fragment","_renderList","_createBlock","col","labelWidth","ref","_vShow"],"mappings":"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"}