tdesign-vue-next
Version:
TDesign Component for vue-next
73 lines (69 loc) • 2.35 kB
JavaScript
/**
* tdesign v1.13.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-9c4aef07.mjs';
import '../utils/dom.mjs';
import '../_chunks/dep-24ce1cec.mjs';
import 'lodash-es';
import '../_chunks/dep-0bb39574.mjs';
import '../_chunks/dep-a81129ec.mjs';
import '../_chunks/dep-b981148e.mjs';
import '../_chunks/dep-f1895f5a.mjs';
import '../utils/render-tnode.mjs';
import '../config-provider/hooks/useConfig.mjs';
import '../config-provider/utils/context.mjs';
import '../_chunks/dep-466a0666.mjs';
import '../_chunks/dep-160caab6.mjs';
import '../_chunks/dep-e497214e.mjs';
import '../_chunks/dep-98cd1e2d.mjs';
import '../_chunks/dep-23a929e8.mjs';
import '../_chunks/dep-48e13ca0.mjs';
import '../_chunks/dep-033df8e6.mjs';
import '../_chunks/dep-20550dcc.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