tdesign-vue
Version:
133 lines (129 loc) • 6.05 kB
JavaScript
/**
* tdesign v1.12.1
* (c) 2025 tdesign
* @license MIT
*/
import _defineProperty from '@babel/runtime/helpers/defineProperty';
import { isObject } from 'lodash-es';
import { calcSize } from '../utils/responsive.js';
import props from './col-props.js';
import { renderTNodeJSX } from '../utils/render-tnode.js';
import { getClassPrefixMixins } from '../config-provider/config-receiver.js';
import mixins from '../utils/mixins.js';
import '@babel/runtime/helpers/readOnlyError';
import '@babel/runtime/helpers/typeof';
import 'vue';
import '@vue/composition-api';
import '../config-provider/context.js';
import '../_common/js/global-config/default-config.js';
import '../_common/js/global-config/locale/zh_CN.js';
import '../_chunks/dep-c44a474d.js';
import '../_chunks/dep-d639fbd7.js';
import 'dayjs';
import '../_chunks/dep-3c66615e.js';
import '../config-provider/type.js';
import '../_common/js/global-config/t.js';
import '@babel/runtime/helpers/slicedToArray';
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
var classPrefixMixins = getClassPrefixMixins("col");
var _Col = mixins(classPrefixMixins).extend({
name: "TCol",
props: _objectSpread({}, props),
inject: ["rowContext"],
data: function data() {
return {
size: "md"
};
},
computed: {
classes: function classes() {
var _this = this;
var span = this.span,
order = this.order,
offset = this.offset,
push = this.push,
pull = this.pull;
var allSizes = ["xs", "sm", "md", "lg", "xl", "xxl"];
var sizeClasses = allSizes.reduce(function (acc, currSize) {
var sizeProp = _this[currSize];
var sizeObject = {};
if (typeof sizeProp === "number") {
sizeObject.span = sizeProp;
} else if (isObject(sizeProp)) {
sizeObject = sizeProp || {};
}
return _objectSpread(_objectSpread({}, acc), {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "".concat(_this.componentName, "-").concat(currSize, "-").concat(sizeObject.span), sizeObject.span !== void 0), "".concat(_this.componentName, "-").concat(currSize, "-order-").concat(sizeObject.order), parseInt(sizeObject.order, 10) >= 0), "".concat(_this.componentName, "-").concat(currSize, "-offset-").concat(sizeObject.offset), parseInt(sizeObject.offset, 10) >= 0), "".concat(_this.componentName, "-").concat(currSize, "-push-").concat(sizeObject.push), parseInt(sizeObject.push, 10) >= 0), "".concat(_this.componentName, "-").concat(currSize, "-pull-").concat(sizeObject.pull), parseInt(sizeObject.pull, 10) >= 0));
}, {});
return _objectSpread(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "".concat(this.componentName), true), "".concat(this.componentName, "-").concat(span), span !== void 0), "".concat(this.componentName, "-order-").concat(order), order), "".concat(this.componentName, "-offset-").concat(offset), offset), "".concat(this.componentName, "-push-").concat(push), push), "".concat(this.componentName, "-pull-").concat(pull), pull), sizeClasses);
}
},
mounted: function mounted() {
this.updateSize();
window.addEventListener("resize", this.updateSize);
},
beforeDestroy: function beforeDestroy() {
window.removeEventListener("resize", this.updateSize);
},
methods: {
updateSize: function updateSize() {
this.size = calcSize(window.innerWidth);
},
parseFlex: function parseFlex(flex) {
if (typeof flex === "number") {
return "".concat(flex, " ").concat(flex, " 0");
}
if (/^\d+(\.\d+)?(px|r?em|%)$/.test(flex)) {
return "0 0 ".concat(flex);
}
return flex;
},
calcColPadding: function calcColPadding(gutter, currentSize) {
var paddingObj = {};
if (typeof gutter === "number") {
Object.assign(paddingObj, {
paddingLeft: "".concat(gutter / 2, "px"),
paddingRight: "".concat(gutter / 2, "px")
});
} else if (Array.isArray(gutter) && gutter.length) {
if (typeof gutter[0] === "number") {
Object.assign(paddingObj, {
paddingLeft: "".concat(gutter[0] / 2, "px"),
paddingRight: "".concat(gutter[0] / 2, "px")
});
}
if (isObject(gutter[0]) && gutter[0][currentSize]) {
Object.assign(paddingObj, {
paddingLeft: "".concat(gutter[0][currentSize] / 2, "px"),
paddingRight: "".concat(gutter[0][currentSize] / 2, "px")
});
}
} else if (isObject(gutter) && gutter[currentSize]) {
Object.assign(paddingObj, {
paddingLeft: "".concat(gutter[currentSize] / 2, "px"),
paddingRight: "".concat(gutter[currentSize] / 2, "px")
});
}
return paddingObj;
}
},
render: function render() {
var h = arguments[0];
var flex = this.flex,
tag = this.tag,
classes = this.classes;
var colStyle = {};
flex && (colStyle.flex = this.parseFlex(flex));
var rowContext = this.rowContext;
if (rowContext) {
var rowGutter = rowContext.gutter;
Object.assign(colStyle, this.calcColPadding(rowGutter, this.size));
}
return h(tag, {
"class": classes,
"style": colStyle
}, [renderTNodeJSX(this, "default")]);
}
});
export { _Col as default };
//# sourceMappingURL=col.js.map