UNPKG

hongluan-ui

Version:
60 lines (55 loc) 1.92 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var vue = require('vue'); require('../../../hooks/index.js'); var groupProps = require('./group-props.js'); var index = require('../../../hooks/use-namespace/index.js'); const Group = vue.defineComponent({ name: "Group", props: groupProps.groupProps, setup(props, { slots }) { const { namespace } = index.useNamespace("group"); const handleGroupItem = (internalSlots) => { var _a; const children = ((_a = internalSlots.default) == null ? void 0 : _a.call(internalSlots)) || []; addClazz(children); return children; }; const addClazz = (children) => { children.forEach((c) => { var _a; if (c.shapeFlag & 16 && !(c.shapeFlag & 1) || c.shapeFlag & 64 || c.shapeFlag & 128) { addClazz(c.children || []); } const clazz = ((_a = c.props) == null ? void 0 : _a.class) || ""; if (clazz.indexOf("group-item") === -1) { if (!c.props) { c.props = {}; } c.props.class = clazz + " group-item"; } }); }; return () => vue.h("div", { class: [ namespace.value, props.dir, props.align, typeof props.full === "boolean" && props.full ? "full" : props.full, props.indent ? "indent" : "", props.merge ? "merge" : "", props.deepMerge ? "deep-merge" : "", props.wrap ? "wrap" : "", props.block ? "block" : "" ], style: [ typeof props.indent === "string" ? `--indent:${props.indent}` : "", props.gap ? `--group-gap-x: ${props.gap}; --group-gap-y: ${props.gap}` : "", props.gapX ? `--group-gap-x: ${props.gapX}` : "", props.gapY ? `--group-gap-y: ${props.gapY}` : "" ] }, handleGroupItem(slots)); } }); exports["default"] = Group; //# sourceMappingURL=group.js.map