UNPKG

yanzhen-design-vue

Version:

61 lines (60 loc) 2.13 kB
"use strict"; Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const vue = require("vue"); const antDesignVue = require("ant-design-vue"); const utilsVue = require("@yanzhen-libs/utils-vue"); const lodashEs = require("lodash-es"); const utils = require("@yanzhen-libs/utils"); const formItem = require("./form-item.cjs"); const formItemGroupContext = require("./hooks/form-item-group-context.cjs"); require("./form-item-wrapper.vue.cjs"); const formItemWrapper_vue_vue_type_script_setup_true_lang = require("./form-item-wrapper.vue2.cjs"); const useFormItem = (props, emit, expose) => { const slots = { ...vue.useSlots() }; const fieldName = vue.computed(() => props.name || props.prop); const config = vue.computed(() => { const _props2 = lodashEs.pick(props, ...Object.keys(formItem.AntFormItem.props)); if (typeof _props2.label === "function") { slots["label"] = _props2.label; delete _props2.label; } return _props2; }); const _props = utilsVue.useProxyProps(config, formItem.AntFormItem.emits, { emit, exclude: ["name", "prop", "help"], filter: true }); const { id: groupNames } = formItemGroupContext.useInjectFormItemGroupContext(); const help = vue.computed(() => { const names = vue.unref(groupNames); if (utils.isEmptyArray(names)) { return props.help; } const data = lodashEs.fromPairs(names.map((name2) => [name2, true])); const name = vue.unref(fieldName); return name && lodashEs.get(data, name) === true ? [] : props.help; }); return [ { _props }, (props2) => { const propsData = vue.mergeProps(vue.unref(_props), props2 ?? {}, { name: vue.unref(fieldName), help: vue.unref(help) }); return vue.h(antDesignVue.FormItem, propsData, { ...slots, default: vue.withCtx(() => { return [ vue.createVNode(formItemWrapper_vue_vue_type_script_setup_true_lang.default, propsData, { default: slots.default }) ]; }) }); } ]; }; exports.useFormItem = useFormItem;