element-plus
Version:
A Component Library for Vue3.0
59 lines (55 loc) • 1.21 kB
JavaScript
import { defineComponent, computed, provide, h } from 'vue';
var Row = defineComponent({
name: "ElRow",
props: {
tag: {
type: String,
default: "div"
},
gutter: {
type: Number,
default: 0
},
justify: {
type: String,
default: "start"
},
align: {
type: String,
default: "top"
}
},
setup(props, { slots }) {
const gutter = computed(() => props.gutter);
provide("ElRow", {
gutter
});
const style = computed(() => {
const ret = {
marginLeft: "",
marginRight: ""
};
if (props.gutter) {
ret.marginLeft = `-${props.gutter / 2}px`;
ret.marginRight = ret.marginLeft;
}
return ret;
});
return () => {
var _a;
return h(props.tag, {
class: [
"el-row",
props.justify !== "start" ? `is-justify-${props.justify}` : "",
props.align !== "top" ? `is-align-${props.align}` : ""
],
style: style.value
}, (_a = slots.default) == null ? void 0 : _a.call(slots));
};
}
});
const _Row = Row;
_Row.install = (app) => {
app.component(_Row.name, _Row);
};
export default _Row;