tdesign-vue-next
Version:
TDesign Component for vue-next
74 lines (70 loc) • 2.4 kB
JavaScript
/**
* tdesign v1.15.2
* (c) 2025 tdesign
* @license MIT
*/
import { isVNode, defineComponent, inject, computed, createVNode } from 'vue';
import props from './col-props.mjs';
import { useRowSize } from './hooks/index.mjs';
import { getColClasses, parseFlex, calcColPadding } from './utils/index.mjs';
import { u as usePrefixClass, a as useTNodeJSX } from '../_chunks/dep-465c43e8.mjs';
import '../_chunks/dep-d58b61b6.mjs';
import '../_chunks/dep-779bddf7.mjs';
import 'lodash-es';
import '../_chunks/dep-0bd8597f.mjs';
import '../_chunks/dep-612a2c2b.mjs';
import '../_chunks/dep-15464fee.mjs';
import '../_chunks/dep-d0add92f.mjs';
import '../_chunks/dep-32b59907.mjs';
import '../config-provider/hooks/useConfig.mjs';
import '../config-provider/utils/context.mjs';
import '../_chunks/dep-afae046d.mjs';
import '../_chunks/dep-8a6c1499.mjs';
import '../_chunks/dep-5c28ada1.mjs';
import '../_chunks/dep-614f307d.mjs';
import '../_chunks/dep-d913bc66.mjs';
import '../_chunks/dep-1690abc9.mjs';
import '../_chunks/dep-62c11543.mjs';
import '../_chunks/dep-27c2b283.mjs';
import '../_chunks/dep-67238d91.mjs';
function _isSlot(s) {
return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !isVNode(s);
}
var _Col = defineComponent({
name: "TCol",
inject: ["rowContext"],
props: props,
setup: function setup(props2) {
var COMPONENT_NAME = usePrefixClass("col");
var renderTNodeJSX = useTNodeJSX();
var rowContext = inject("rowContext", /* @__PURE__ */Object.create(null));
var size = useRowSize();
var colClasses = computed(function () {
return getColClasses(COMPONENT_NAME.value, props2);
});
var colStyle = computed(function () {
var colStyle2 = {};
var flex = props2.flex;
flex && (colStyle2.flex = parseFlex(flex));
if (rowContext) {
var rowGutter = rowContext.gutter;
Object.assign(colStyle2, calcColPadding(rowGutter, size.value));
}
return colStyle2;
});
return function () {
var _slot;
var TAG = props2.tag;
return createVNode(TAG, {
"class": colClasses.value,
"style": colStyle.value
}, _isSlot(_slot = renderTNodeJSX("default")) ? _slot : {
"default": function _default() {
return [_slot];
}
});
};
}
});
export { _Col as default };
//# sourceMappingURL=col.mjs.map