{"version":3,"file":"Col.mjs","sources":["../../../../../../packages/components/grid/src/Col.tsx"],"sourcesContent":["import type { CSSProperties } from 'vue';\nimport type { ColSize, FlexType } from './interface';\nimport { classNames } from '@antdv/utils';\nimport { computed, defineComponent } from 'vue';\nimport useConfigInject from '../../config-provider/src/hooks/useConfigInject';\nimport { useColStyle } from '../style';\nimport { useInjectRow } from './context';\nimport { colProps } from './props';\n\nconst sizes = ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'] as const;\n\nfunction parseFlex(flex: FlexType): string {\n  if (typeof flex === 'number')\n    return `${flex} ${flex} auto`;\n\n  if (/^\\d+(\\.\\d+)?(px|em|rem|%)$/.test(flex))\n    return `0 0 ${flex}`;\n\n  return flex;\n}\n\nexport default defineComponent({\n  compatConfig: { MODE: 3 },\n  name: 'ACol',\n  inheritAttrs: false,\n  props: colProps(),\n  setup(props, { slots, attrs }) {\n    const { gutter, supportFlexGap, wrap } = useInjectRow();\n    const { prefixCls, direction } = useConfigInject('col', props);\n\n    const [wrapSSR, hashId] = useColStyle(prefixCls);\n\n    const classes = computed(() => {\n      const { span, order, offset, push, pull } = props;\n      const pre = prefixCls.value;\n      let sizeClassObj = {};\n      sizes.forEach((size) => {\n        let sizeProps: ColSize = {};\n        const propSize = props[size];\n        if (typeof propSize === 'number')\n          sizeProps.span = propSize;\n        else if (typeof propSize === 'object')\n          sizeProps = propSize || {};\n\n        sizeClassObj = {\n          ...sizeClassObj,\n          [`${pre}-${size}-${sizeProps.span}`]: sizeProps.span !== undefined,\n          [`${pre}-${size}-order-${sizeProps.order}`]: sizeProps.order || sizeProps.order === 0,\n          [`${pre}-${size}-offset-${sizeProps.offset}`]: sizeProps.offset || sizeProps.offset === 0,\n          [`${pre}-${size}-push-${sizeProps.push}`]: sizeProps.push || sizeProps.push === 0,\n          [`${pre}-${size}-pull-${sizeProps.pull}`]: sizeProps.pull || sizeProps.pull === 0,\n          [`${pre}-rtl`]: direction.value === 'rtl',\n        };\n      });\n      return classNames(\n        pre,\n        {\n          [`${pre}-${span}`]: span !== undefined,\n          [`${pre}-order-${order}`]: order,\n          [`${pre}-offset-${offset}`]: offset,\n          [`${pre}-push-${push}`]: push,\n          [`${pre}-pull-${pull}`]: pull,\n        },\n        sizeClassObj,\n        attrs.class,\n        hashId.value,\n      );\n    });\n\n    const mergedStyle = computed(() => {\n      const { flex } = props;\n      const gutterVal = gutter.value;\n      const style: CSSProperties = {};\n      // Horizontal gutter use padding\n      if (gutterVal && gutterVal[0] > 0) {\n        const horizontalGutter = `${gutterVal[0] / 2}px`;\n        style.paddingLeft = horizontalGutter;\n        style.paddingRight = horizontalGutter;\n      }\n\n      // Vertical gutter use padding when gap not support\n      if (gutterVal && gutterVal[1] > 0 && !supportFlexGap.value) {\n        const verticalGutter = `${gutterVal[1] / 2}px`;\n        style.paddingTop = verticalGutter;\n        style.paddingBottom = verticalGutter;\n      }\n\n      if (flex) {\n        style.flex = parseFlex(flex);\n\n        // Hack for Firefox to avoid size issue\n        // https://github.com/ant-design/ant-design/pull/20023#issuecomment-564389553\n        if (wrap.value === false && !style.minWidth)\n          style.minWidth = 0;\n      }\n      return style;\n    });\n\n    return () =>\n      wrapSSR(\n        <div\n          {...attrs}\n          class={classes.value}\n          style={[mergedStyle.value, attrs.style as CSSProperties]}\n        >\n          {slots.default?.()}\n        </div>,\n      );\n  },\n});\n"],"names":["sizes","parseFlex","flex","test","compatConfig","MODE","name","inheritAttrs","props","colProps","setup","slots","attrs","gutter","supportFlexGap","wrap","useInjectRow","prefixCls","direction","useConfigInject","wrapSSR","hashId","useColStyle","classes","computed","span","order","offset","push","pull","pre","value","sizeClassObj","forEach","size","sizeProps","propSize","undefined","classNames","class","mergedStyle","gutterVal","style","horizontalGutter","paddingLeft","paddingRight","verticalGutter","paddingTop","paddingBottom","minWidth","_createVNode","default"],"mappings":"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"}