123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- "use strict";
- exports.__esModule = true;
- exports.default = void 0;
- var _utils = require("../utils");
- var _relation = require("../mixins/relation");
- var _createNamespace = (0, _utils.createNamespace)('row'),
- createComponent = _createNamespace[0],
- bem = _createNamespace[1];
- var _default = createComponent({
- mixins: [(0, _relation.ParentMixin)('vanRow')],
- props: {
- type: String,
- align: String,
- justify: String,
- tag: {
- type: String,
- default: 'div'
- },
- gutter: {
- type: [Number, String],
- default: 0
- }
- },
- computed: {
- spaces: function spaces() {
- var gutter = Number(this.gutter);
- if (!gutter) {
- return;
- }
- var spaces = [];
- var groups = [[]];
- var totalSpan = 0;
- this.children.forEach(function (item, index) {
- totalSpan += Number(item.span);
- if (totalSpan > 24) {
- groups.push([index]);
- totalSpan -= 24;
- } else {
- groups[groups.length - 1].push(index);
- }
- });
- groups.forEach(function (group) {
- var averagePadding = gutter * (group.length - 1) / group.length;
- group.forEach(function (item, index) {
- if (index === 0) {
- spaces.push({
- right: averagePadding
- });
- } else {
- var left = gutter - spaces[item - 1].right;
- var right = averagePadding - left;
- spaces.push({
- left: left,
- right: right
- });
- }
- });
- });
- return spaces;
- }
- },
- methods: {
- onClick: function onClick(event) {
- this.$emit('click', event);
- }
- },
- render: function render() {
- var _bem;
- var h = arguments[0];
- var align = this.align,
- justify = this.justify;
- var flex = this.type === 'flex';
- return h(this.tag, {
- "class": bem((_bem = {
- flex: flex
- }, _bem["align-" + align] = flex && align, _bem["justify-" + justify] = flex && justify, _bem)),
- "on": {
- "click": this.onClick
- }
- }, [this.slots()]);
- }
- });
- exports.default = _default;
|