hongluan-ui
Version:
Hongluan Component Library for Vue 3
59 lines (56 loc) • 1.46 kB
JavaScript
import { defineComponent, computed, provide, h } from 'vue';
import '../../../hooks/index.mjs';
import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
const rowProps = {
tag: {
type: String,
default: "div"
},
align: {
type: String,
default: ""
},
layout: {
type: String
},
gap: String,
gapX: String,
gapY: String,
count: {
type: [Number, String],
default: 1
},
dir: {
type: String,
default: "vertical"
}
};
const Row = defineComponent({
name: "Row",
props: rowProps,
setup(props, { slots }) {
const gap = computed(() => props.gap);
const layout = computed(() => props.layout);
provide("Row", { layout, gap });
const { namespace } = useNamespace("row");
return () => {
var _a;
return h(props.tag, {
class: [
namespace.value,
props.align,
props.layout,
props.layout ? typeof props.count === "number" ? `count-` + props.count : props.count : "",
props.layout === "grid" && `grid-direction-${props.dir}`
],
style: [
props.gap ? `--row-gap-x: ${props.gap}; --row-gap-y: ${props.gap}` : "",
props.gapX ? `--row-gap-x: ${props.gapX}` : "",
props.gapY ? `--row-gap-y: ${props.gapY}` : ""
]
}, (_a = slots.default) == null ? void 0 : _a.call(slots));
};
}
});
export { Row as default, rowProps };
//# sourceMappingURL=row.mjs.map