tass-ui
Version:
A high quality UI Toolkit built on Vue.js3+.
58 lines (57 loc) • 1.37 kB
JavaScript
;
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
require("../../../theme-chalk/src/col.scss.js");
require("../../../theme-chalk/src/row.scss.js");
const vue = require("vue");
const col = vue.defineComponent({
name: "TassCol",
props: {
tag: {
type: String,
default: "div"
},
span: {
type: Number,
default: 24
},
offset: {
type: Number,
default: 0
}
},
setup(props, ctx) {
const gutter = vue.inject("TassRow");
const Class = vue.computed(() => {
const res = [];
const pops = ["span", "offset"];
pops.forEach((item) => {
const size = props[item];
if (typeof size === "number" && size > 0) {
res.push(`tas-col-${item}-${size}`);
}
});
return ["tas-col", ...res];
});
const styles = vue.computed(() => {
if (gutter !== 0) {
return {
paddingLeft: gutter / 2 + "px",
paddingRight: gutter / 2 + "px"
};
}
return {};
});
return () => {
var _a, _b;
return vue.h(
props.tag,
{
class: Class.value,
style: styles.value
},
(_b = (_a = ctx.slots).default) == null ? void 0 : _b.call(_a)
);
};
}
});
exports.default = col;