{"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<Size>([Number, Object]),\n    default: () => mutable({} as const),\n  },\n  sm: {\n    type: definePropType<Size>([Number, Object]),\n    default: () => mutable({} as const),\n  },\n  md: {\n    type: definePropType<Size>([Number, Object]),\n    default: () => mutable({} as const),\n  },\n  lg: {\n    type: definePropType<Size>([Number, Object]),\n    default: () => mutable({} as const),\n  },\n  xl: {\n    type: definePropType<Size>([Number, Object]),\n    default: () => mutable({} as const),\n  },\n} as const)\nexport type ColProps = ExtractPropTypes<typeof colProps>\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<CSSProperties>(() => {\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":";;;MAUa,WAAW,WAAW;AAAA,EACjC,KAAK;AAAA,IACH,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,IAAI;AAAA,IACF,MAAM,eAAqB,CAAC,QAAQ;AAAA,IACpC,SAAS,MAAM,QAAQ;AAAA;AAAA,EAEzB,IAAI;AAAA,IACF,MAAM,eAAqB,CAAC,QAAQ;AAAA,IACpC,SAAS,MAAM,QAAQ;AAAA;AAAA,EAEzB,IAAI;AAAA,IACF,MAAM,eAAqB,CAAC,QAAQ;AAAA,IACpC,SAAS,MAAM,QAAQ;AAAA;AAAA,EAEzB,IAAI;AAAA,IACF,MAAM,eAAqB,CAAC,QAAQ;AAAA,IACpC,SAAS,MAAM,QAAQ;AAAA;AAAA,EAEzB,IAAI;AAAA,IACF,MAAM,eAAqB,CAAC,QAAQ;AAAA,IACpC,SAAS,MAAM,QAAQ;AAAA;AAAA;AAK3B,UAAe,gBAAgB;AAAA,EAC7B,MAAM;AAAA,EACN,OAAO;AAAA,EAEP,MAAM,OAAO,EAAE,SAAS;AACtB,UAAM,EAAE,WAAW,OAAO,SAAS,EAAE,QAAQ,EAAE,OAAO;AAEtD,UAAM,QAAQ,SAAwB,MAAM;AAC1C,UAAI,OAAO,OAAO;AAChB,eAAO;AAAA,UACL,aAAa,GAAG,OAAO,QAAQ;AAAA,UAC/B,cAAc,GAAG,OAAO,QAAQ;AAAA;AAAA;AAGpC,aAAO;AAAA;AAGT,UAAM,YAAY,SAAS,MAAM;AAC/B,YAAM,UAAoB;AAE1B,YAAM,MAAM,CAAC,QAAQ,UAAU,QAAQ;AACvC,UAAI,QAAQ,CAAC,SAAS;AACpB,cAAM,OAAO,MAAM;AACnB,YAAI,OAAO,SAAS,UAAU;AAC5B,cAAI,SAAS;AAAQ,oBAAQ,KAAK,UAAU,MAAM;AAAA,mBACzC,OAAO;AAAG,oBAAQ,KAAK,UAAU,QAAQ,MAAM;AAAA;AAAA;AAI5D,YAAM,QAAQ,CAAC,MAAM,MAAM,MAAM,MAAM;AACvC,YAAM,QAAQ,CAAC,SAAS;AACtB,YAAI,OAAO,MAAM,UAAU,UAAU;AACnC,kBAAQ,KAAK,UAAU,QAAQ,MAAM;AAAA,mBAC5B,OAAO,MAAM,UAAU,UAAU;AAC1C,gBAAM,YAAY,MAAM;AACxB,iBAAO,KAAK,WAAW,QAAQ,CAAC,SAAS;AACvC,oBAAQ,KACN,SAAS,SACL,UAAU,QAAQ,QAAQ,UAAU,UACpC,UAAU,QAAQ,UAAU;AAAA;AAAA;AAAA;AAMxC,UAAI,OAAO,OAAO;AAChB,gBAAQ,KAAK;AAAA;AAGf,aAAO;AAAA;AAGT,WAAO,MACL,EACE,MAAM,KACN;AAAA,MACE,OAAO,CAAC,UAAU,UAAU;AAAA,MAC5B,OAAO,MAAM;AAAA,OAEf,CAAC,WAAW,OAAO;AAAA;AAAA;;;;"}