@meve/ui
Version:
Argon design system components library
73 lines (65 loc) • 2.35 kB
JavaScript
import _extends from "@babel/runtime/helpers/esm/extends";
import { createNamespace } from '../utils/create';
import { createChildrenMixin } from '../utils/mixins/relation';
import { isPlainObject } from '../utils/shared';
import { props } from './props';
var _createNamespace = createNamespace('col'),
createComponent = _createNamespace.createComponent,
namespace = _createNamespace.namespace;
var ColPlugin = createComponent({
mixins: [createChildrenMixin('row')],
props: props,
computed: {
padding: function padding() {
var _ref, _this$parent;
return (_ref = ((_this$parent = this.parent) == null ? void 0 : _this$parent.gutterNum) / 2) != null ? _ref : 0;
}
},
methods: {
getSize: function getSize(name, size) {
var classes = [];
if (isPlainObject(size)) {
var span = size.span,
offset = size.offset;
span && classes.push(namespace("--span-" + name + "-" + span));
offset && classes.push(namespace("--offset-" + name + "-" + offset));
} else {
// size is string or number
size && classes.push(namespace("--span-" + name + "-" + size));
}
return classes;
},
handleClick: function handleClick(e) {
this.$emit('click', e);
}
},
render: function render() {
var h = arguments[0];
var padding = this.padding,
span = this.span,
offset = this.offset,
getSize = this.getSize,
xs = this.xs,
sm = this.sm,
md = this.md,
lg = this.lg,
xl = this.xl,
handleClick = this.handleClick;
return h("div", {
"class": [namespace(), 'm--box', span ? namespace("--span-" + span) : null, offset ? namespace("--offset-" + offset) : null].concat(getSize('xs', xs), getSize('sm', sm), getSize('md', md), getSize('lg', lg), getSize('xl', xl)),
"style": {
padding: "0 " + padding + "px"
},
"on": _extends({}, {
"click": function click($event) {
for (var _len = arguments.length, attrs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
attrs[_key - 1] = arguments[_key];
}
handleClick.apply(void 0, [$event].concat(attrs));
}
})
}, [this.slots()]);
}
});
export var _ColComponent = ColPlugin;
export default ColPlugin;