{"version":3,"file":"col.mjs","sources":["../../../../../../packages/components/col/src/col.ts"],"sourcesContent":["import { defineComponent, computed, inject, h, renderSlot } from 'vue'\nimport { buildProps, definePropType, mutable } from '@element-plus/utils/props'\nimport type { ExtractPropTypes, CSSProperties } from 'vue'\n\ntype SizeObject = {\n span?: number\n offset?: number\n}\ntype Size = number | SizeObject\n\nexport const colProps = buildProps({\n tag: {\n type: String,\n default: 'div',\n },\n span: {\n type: Number,\n default: 24,\n },\n offset: {\n type: Number,\n default: 0,\n },\n pull: {\n type: Number,\n default: 0,\n },\n push: {\n type: Number,\n default: 0,\n },\n xs: {\n type: definePropType([Number, Object]),\n default: () => mutable({} as const),\n },\n sm: {\n type: definePropType([Number, Object]),\n default: () => mutable({} as const),\n },\n md: {\n type: definePropType([Number, Object]),\n default: () => mutable({} as const),\n },\n lg: {\n type: definePropType([Number, Object]),\n default: () => mutable({} as const),\n },\n xl: {\n type: definePropType([Number, Object]),\n default: () => mutable({} as const),\n },\n} as const)\nexport type ColProps = ExtractPropTypes\n\nexport default defineComponent({\n name: 'ElCol',\n props: colProps,\n\n setup(props, { slots }) {\n const { gutter } = inject('ElRow', { gutter: { value: 0 } })\n\n const style = computed(() => {\n if (gutter.value) {\n return {\n paddingLeft: `${gutter.value / 2}px`,\n paddingRight: `${gutter.value / 2}px`,\n }\n }\n return {}\n })\n\n const classList = computed(() => {\n const classes: string[] = []\n\n const pos = ['span', 'offset', 'pull', 'push'] as const\n pos.forEach((prop) => {\n const size = props[prop]\n if (typeof size === 'number') {\n if (prop === 'span') classes.push(`el-col-${props[prop]}`)\n else if (size > 0) classes.push(`el-col-${prop}-${props[prop]}`)\n }\n })\n\n const sizes = ['xs', 'sm', 'md', 'lg', 'xl'] as const\n sizes.forEach((size) => {\n if (typeof props[size] === 'number') {\n classes.push(`el-col-${size}-${props[size]}`)\n } else if (typeof props[size] === 'object') {\n const sizeProps = props[size]\n Object.keys(sizeProps).forEach((prop) => {\n classes.push(\n prop !== 'span'\n ? `el-col-${size}-${prop}-${sizeProps[prop]}`\n : `el-col-${size}-${sizeProps[prop]}`\n )\n })\n }\n })\n // this is for the fix\n if (gutter.value) {\n classes.push('is-guttered')\n }\n\n return classes\n })\n\n return () =>\n h(\n props.tag,\n {\n class: ['el-col', classList.value],\n style: style.value,\n },\n [renderSlot(slots, 'default')]\n )\n },\n})\n"],"names":[],"mappings":"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"}