UNPKG

hongluan-ui

Version:
86 lines (81 loc) 2.15 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var vue = require('vue'); require('../../../hooks/index.js'); var index = require('../../../hooks/use-namespace/index.js'); const Col = vue.defineComponent({ name: "Col", props: { tag: { type: String, default: "div" }, span: { type: [String, Number], default: "" }, offset: { type: [String, Number], default: "" }, sm: { type: [Number, Object], default: () => ({}) }, md: { type: [Number, Object], default: () => ({}) }, lg: { type: [Number, Object], default: () => ({}) }, xl: { type: [Number, Object], default: () => ({}) } }, setup(props, { slots }) { const { namespace } = index.useNamespace("col"); const style = vue.computed(() => { const result = {}; return result; }); const classList = vue.computed(() => { const ret = []; const pos = ["span", "offset"]; pos.forEach((prop) => { const size = props[prop]; if (typeof size === "number") { if (prop === "span") ret.push(`col-${props[prop]}`); else if (size > 0) ret.push(`${prop}-${props[prop]}`); } else { ret.push(String(props[prop])); } }); const sizes = ["sm", "md", "lg", "xl", "xxl"]; sizes.forEach((size) => { if (typeof props[size] === "number") { ret.push(`${size}:col-${props[size]}`); } else if (typeof props[size] === "object") { const sizeProps = props[size]; Object.keys(sizeProps).forEach((prop) => { ret.push(prop !== "span" ? `${size}:${prop}-${sizeProps[prop]}` : `${size}:col-${sizeProps[prop]}`); }); } }); return ret; }); return () => { var _a; return vue.h(props.tag, { class: [classList.value, namespace.value], style: style.value }, (_a = slots.default) == null ? void 0 : _a.call(slots)); }; } }); exports["default"] = Col; //# sourceMappingURL=col.js.map