| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 | import { createNamespace } from '../utils';import { ParentMixin } from '../mixins/relation';var _createNamespace = createNamespace('row'),    createComponent = _createNamespace[0],    bem = _createNamespace[1];export default createComponent({  mixins: [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()]);  }});
 |