{"version":3,"file":"form.vue2.mjs","sources":["../../../../../../packages/components/form/src/form.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToForm'\n});\n</script>\n<template>\n\t<div class=\"to-form\" :flex=\"flex ? flex : null\" :class=\"setClass\" :style=\"setStyle\">\n\t\t<div ref=\"toForm\" class=\"to-form-list\">\n\t\t\t<slot></slot>\n\t\t\t<div v-if=\"props.submitPosition === 'corner'\" class=\"to-form-item is-placeholder\"></div>\n\t\t\t<div v-if=\"slots.submit\" class=\"to-form-submit\" :style=\"submitStyle\">\n\t\t\t\t<slot name=\"submit\"></slot>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ref, computed, onMounted, onBeforeUnmount, provide, useSlots, watch } from 'vue'\n\n\nconst props = defineProps({\n\tflex: Boolean,\n\tlabelWidth: {\n\t\ttype: [Number, String],\n\t\tdefault: ''\n\t},\n\tlabelPosition: {\n\t\ttype: String,\n\t\tdefault: 'left'\n\t},\n\tcol: {\n\t\ttype: [Number, String],\n\t\tdefault: 1\n\t},\n\tsubmitPosition: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\ttype: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\tdir: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\tmode: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\tvalueWidth: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\tspace: {\n\t\ttype: [Number, String],\n\t\tdefault: ''\n\t},\n\tspaceX: {\n\t\ttype: [Number, String],\n\t\tdefault: ''\n\t},\n\tspaceY: {\n\t\ttype: [Number, String],\n\t\tdefault: ''\n\t},\n\tcomparable: Boolean\n})\n\nconst toForm = ref<HTMLElement | null>(null)\nconst slots = useSlots()\nconst items = ref<any[]>([])\nconst maxLabelWidth = ref(0)\n\n// 响应式引用，用于 provide 给子组件\nconst labelWidthRef = ref(props.labelWidth)\nconst labelPositionRef = ref(props.labelPosition)\nconst spaceRef = ref(props.space)\nconst spaceXRef = ref(props.spaceX)\nconst spaceYRef = ref(props.spaceY)\nconst valueWidthRef = ref(props.valueWidth)\n\nconst adjust = () => {\n\tsetTimeout(() => {\n\t\tlet maxWidth = 0\n\t\titems.value.forEach(item => {\n\t\t\tif (item?.$refs?.label) {\n\t\t\t\titem.$refs.label.style.width = ''\n\t\t\t}\n\t\t})\n\t\titems.value.forEach(item => {\n\t\t\tconst label = item?.$refs?.label\n\t\t\tif (label && label.clientWidth > maxWidth) {\n\t\t\t\tmaxWidth = label.clientWidth\n\t\t\t}\n\t\t})\n\t\titems.value.forEach(item => {\n\t\t\tif (item?.$refs?.label) {\n\t\t\t\titem.$refs.label.style.width = `${maxWidth + 1}px`\n\t\t\t}\n\t\t})\n\t\tmaxLabelWidth.value = maxWidth + 1\n\t}, 200)\n}\n\nconst setClass = computed(() => {\n\tconst arr: string[] = []\n\tif (props.col) {\n\t\tarr.push('is-col')\n\t\tarr.push(`col-${props.col}`)\n\t}\n\tif (props.submitPosition) arr.push(`submit-position-${props.submitPosition}`)\n\tif (props.mode) arr.push(`mode-${props.mode}`)\n\tif (props.dir) arr.push(`dir-${props.dir}`)\n\tif (props.valueWidth) arr.push(`value-width-${props.valueWidth}`)\n\tif (props.labelPosition) arr.push(`label-position-${props.labelPosition}`)\n\treturn arr\n})\n\nconst setStyle = computed(() => {\n\tconst style: Record<string, string> = {}\n\tif (props.space) {\n\t\tstyle.gap = props.space + 'em'\n\t}\n\tif (props.spaceX) {\n\t\tstyle['--gap-x'] = props.spaceX + 'em'\n\t}\n\tif (props.spaceY) {\n\t\tstyle['--gap-y'] = props.spaceY + 'em'\n\t}\n\treturn style\n})\n\nconst submitStyle = computed(() => {\n\tif (props.submitPosition === 'item') {\n\t\tif (props.labelWidth === 'max') {\n\t\t\treturn { marginLeft: maxLabelWidth.value + 'px' }\n\t\t} else {\n\t\t\treturn { marginLeft: props.labelWidth + 'em' }\n\t\t}\n\t}\n\treturn {}\n})\n\n// 监听 props 变化，更新响应式引用\nwatch(\n\t() => props.labelWidth,\n\tnewVal => {\n\t\tlabelWidthRef.value = newVal\n\t\tif (newVal === 'max') {\n\t\t\tadjust()\n\t\t}\n\t}\n)\n\nwatch(\n\t() => props.labelPosition,\n\tnewVal => {\n\t\tlabelPositionRef.value = newVal\n\t}\n)\n\nwatch(\n\t() => props.space,\n\tnewVal => {\n\t\tspaceRef.value = newVal\n\t}\n)\n\nwatch(\n\t() => props.spaceX,\n\tnewVal => {\n\t\tspaceXRef.value = newVal\n\t}\n)\n\nwatch(\n\t() => props.spaceY,\n\tnewVal => {\n\t\tspaceYRef.value = newVal\n\t}\n)\n\nwatch(\n\t() => props.valueWidth,\n\tnewVal => {\n\t\tvalueWidthRef.value = newVal\n\t}\n)\n\nonMounted(() => {\n\tif (props.labelWidth === 'max') {\n\t\twindow.addEventListener('resize', adjust)\n\t\tadjust()\n\t}\n})\n\nonBeforeUnmount(() => {\n\tif (props.labelWidth === 'max') {\n\t\twindow.removeEventListener('resize', adjust)\n\t}\n})\n\n// provide current instance\nprovide('ToForm', {\n\tlabelWidth: labelWidthRef,\n\tlabelPosition: labelPositionRef,\n\tspace: spaceRef,\n\tspaceX: spaceXRef,\n\tspaceY: spaceYRef,\n\tsubmitPosition: props.submitPosition,\n\titems: items.value,\n\ttype: props.type,\n\tcomparable: props.comparable,\n\tvalueWidth: valueWidthRef\n})\n</script>\n"],"names":["DO_defineComponent","_createElementBlock","_normalizeClass","_createElementVNode","_renderSlot","_unref"],"mappings":"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"}