element-plus
Version:
A Component Library for Vue 3
1 lines • 6.99 kB
Source Map (JSON)
{"version":3,"file":"col.mjs","sources":["../../../../../../packages/components/col/src/col.tsx"],"sourcesContent":["import { computed, defineComponent, inject } from 'vue'\nimport { buildProps, definePropType, mutable } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { rowContextKey } from '@element-plus/tokens'\nimport type { CSSProperties, ExtractPropTypes } from 'vue'\n\nexport type ColSizeObject = {\n span?: number\n offset?: number\n pull?: number\n push?: number\n}\nexport type ColSize = number | ColSizeObject\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<ColSize>([Number, Object]),\n default: () => mutable({} as const),\n },\n sm: {\n type: definePropType<ColSize>([Number, Object]),\n default: () => mutable({} as const),\n },\n md: {\n type: definePropType<ColSize>([Number, Object]),\n default: () => mutable({} as const),\n },\n lg: {\n type: definePropType<ColSize>([Number, Object]),\n default: () => mutable({} as const),\n },\n xl: {\n type: definePropType<ColSize>([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(rowContextKey, { gutter: computed(() => 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 classes = 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(ns.is('guttered'))\n }\n\n return classes\n })\n\n return () => (\n <props.tag\n v-slots={slots}\n class={[ns.b(), classes.value]}\n style={style.value}\n />\n )\n },\n})\n"],"names":["colProps","buildProps","tag","type","String","default","span","Number","offset","pull","push","xs","definePropType","Object","mutable","sm","md","lg","xl","defineComponent","name","props","slots","gutter","inject","rowContextKey","ns","useNamespace","style","paddingLeft","value","paddingRight","classes","pos","forEach","prop","size","b","sizes","sizeProps","keys","_createVNode"],"mappings":"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"}