{"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'\nimport { useNamespace } from '@element-plus/hooks'\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    const ns = useNamespace('col')\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(ns.b(`${props[prop]}`))\n          else if (size > 0) classes.push(ns.b(`${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(ns.b(`${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                ? ns.b(`${size}-${prop}-${sizeProps[prop]}`)\n                : ns.b(`${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: [ns.b(), classList.value],\n          style: style.value,\n        },\n        [renderSlot(slots, 'default')]\n      )\n  },\n})\n"],"names":[],"mappings":"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"}