song-ui-u
Version:
vue3 + js的PC前端组件库
82 lines (71 loc) • 2.56 kB
JavaScript
;
var vue = require('vue');
var index$2 = require('../../../hook/use-namespace/index.cjs');
var index = require('../../../hook/use-parent/index.cjs');
var index$1 = require('../../../hook/use-style/index.cjs');
require('../../../hook/use-zindex/index.cjs');
var _pluginVue_exportHelper = require('../../../_virtual/_plugin-vue_export-helper.cjs');
const __default__ = { name: "x-col" };
const _sfc_main = /*#__PURE__*/Object.assign(__default__, {
props: {
tag: {
type: String,
default: "div",
},
span: {
type: [String, Number],
default: "24",
},
offset: {
type: Number,
default: 0,
},
order: {
type: [Number, String],
default: "",
},
},
setup(__props, { expose: __expose }) {
__expose();
const { flexOrder } = index$1.useStyle();
const ns = index$2.useNamespace("col");
const uParent = index.useParent("row");
/** props */
const props = __props;
const classCol = vue.computed(() => {
// 样式组合
let className = ns.b(props.span);
// offset偏移
const offset = props.offset ? ns.b(`offset-${props.offset}`) : false;
className = offset ? `${className} ${offset}` : className;
// 返回样式
return [ns.b(), className];
});
const styleGutter = vue.computed(() => {
const gutter = uParent.props("gutter");
const value = gutter ? gutter / 2 + "px" : null;
return value ? { paddingLeft: value, paddingRight: value } : {};
});
/**
* 排列
*/
const styleOrder = vue.computed(() => flexOrder(props.order));
const __returned__ = { flexOrder, ns, uParent, props, classCol, styleGutter, styleOrder, computed: vue.computed, get useNamespace() { return index$2.useNamespace }, get useParent() { return index.useParent }, get useStyle() { return index$1.useStyle } };
Object.defineProperty(__returned__, '__isScriptSetup', { enumerable: false, value: true });
return __returned__
}
});
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent($props.tag), {
class: vue.normalizeClass([$setup.ns.b(), $setup.classCol]),
style: vue.normalizeStyle([$setup.styleGutter, $setup.styleOrder])
}, {
default: vue.withCtx(() => [
vue.renderSlot(_ctx.$slots, "default")
]),
_: 3 /* FORWARDED */
}, 8 /* PROPS */, ["class", "style"]))
}
var Col = /*#__PURE__*/_pluginVue_exportHelper(_sfc_main, [['render',_sfc_render],['__file',"E:\\code\\my-code\\song-ui-ultra\\packages\\components\\col\\src\\index.vue"]]);
module.exports = Col;
//# sourceMappingURL=index.vue.cjs.map