UNPKG

@antmjs/vantui

Version:

一套适用于Taro3及React的vantui组件库

49 lines 1.27 kB
import { style } from '../wxs/utils'; import { addUnit } from '../wxs/add-unit'; function rootStyle(data) { var styles = {}; var hor = null; var ver = null; if (!data.gutter) { return ''; } if (Array.isArray(data.gutter)) { if (data.gutter.length > 0) { hor = data.gutter[0]; } if (data.gutter.length > 1) { ver = data.gutter[1]; } } else { hor = data.gutter; } var judge = function judge(val, pos) { var unit = ''; var value = 0; if (typeof val == 'string' && val.constructor == String) { var matches = /^([\.\-\d]+)([^\d]*)$/gi.exec(val); if (matches && matches.length > 0) { value = Number(matches[1]); if (matches[2]) { unit = matches[2] === 'px' ? '' : matches[2]; } } } else if (typeof val == 'number' && val.constructor == Number) { value = val; } var v = addUnit(-value / 2 + unit); if (pos === 'x') { styles['margin-right'] = v; styles['margin-left'] = v; } if (pos === 'y') { styles['margin-top'] = v; styles['margin-bottom'] = v; } }; if (hor != null) judge(hor, 'x'); if (ver != null) judge(ver, 'y'); var result = style(styles); return result; } export { rootStyle };