eoss-ui 0.4.63 → 0.4.65

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/README.md +0 -2
  2. package/lib/button-group.js +23 -17
  3. package/lib/button.js +25 -19
  4. package/lib/checkbox-group.js +23 -17
  5. package/lib/data-table-form.js +23 -17
  6. package/lib/data-table.js +23 -17
  7. package/lib/date-picker.js +23 -17
  8. package/lib/dialog.js +26 -20
  9. package/lib/eoss-ui.common.js +431 -397
  10. package/lib/flow-group.js +23 -17
  11. package/lib/flow-list.js +23 -17
  12. package/lib/flow.js +23 -17
  13. package/lib/form.js +25 -20
  14. package/lib/handle-user.js +23 -17
  15. package/lib/handler.js +23 -17
  16. package/lib/index.js +1 -1
  17. package/lib/input-number.js +23 -17
  18. package/lib/input.js +23 -17
  19. package/lib/login.js +26 -20
  20. package/lib/main.js +36 -27
  21. package/lib/nav.js +23 -17
  22. package/lib/page.js +23 -17
  23. package/lib/player.js +23 -17
  24. package/lib/qr-code.js +23 -17
  25. package/lib/radio-group.js +23 -17
  26. package/lib/retrial-auth.js +23 -17
  27. package/lib/select-ganged.js +23 -17
  28. package/lib/select.js +25 -18
  29. package/lib/selector-panel.js +23 -17
  30. package/lib/selector.js +23 -17
  31. package/lib/sizer.js +23 -17
  32. package/lib/steps.js +23 -17
  33. package/lib/switch.js +23 -17
  34. package/lib/table-form.js +23 -17
  35. package/lib/tabs.js +23 -17
  36. package/lib/tips.js +23 -17
  37. package/lib/toolbar.js +1 -2
  38. package/lib/tree-group.js +26 -20
  39. package/lib/tree.js +23 -17
  40. package/lib/upload.js +374 -342
  41. package/lib/utils/util.js +23 -17
  42. package/lib/wujie.js +23 -17
  43. package/lib/wxlogin.js +23 -17
  44. package/package.json +1 -1
  45. package/packages/button/src/main.vue +2 -2
  46. package/packages/dialog/src/main.vue +1 -1
  47. package/packages/form/src/main.vue +0 -1
  48. package/packages/login/src/main.vue +1 -1
  49. package/packages/main/src/main.vue +1 -0
  50. package/packages/main/src/userinfo.vue +7 -1
  51. package/packages/select/src/main.vue +2 -1
  52. package/packages/toolbar/src/main.vue +1 -2
  53. package/packages/tree-group/src/main.vue +1 -1
  54. package/packages/upload/src/main.vue +10 -1
  55. package/src/index.js +1 -1
  56. package/src/utils/util.js +22 -18
package/lib/utils/util.js CHANGED
@@ -2002,19 +2002,16 @@ var startWith = function startWith(value, reg) {
2002
2002
  var or = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
2003
2003
 
2004
2004
  if (Array.isArray(reg)) {
2005
- var flag = true;
2006
- for (var i = 0; i < reg.length; i++) {
2007
- var item = reg[i];
2008
- if (new RegExp('^' + item).test(value)) {
2009
- if (or) {
2010
- flag = true;
2011
- return true;
2012
- }
2013
- } else {
2014
- flag = false;
2015
- }
2005
+ if (!reg.length) {
2006
+ return true;
2016
2007
  }
2017
- return flag;
2008
+ var regs = reg.map(function (item) {
2009
+ return new RegExp('^' + item).test(value);
2010
+ });
2011
+ if (or) {
2012
+ return regs.indexOf(true) > -1;
2013
+ }
2014
+ return regs.indexOf(false) === -1;
2018
2015
  }
2019
2016
  if (new RegExp('^' + reg).test(value)) {
2020
2017
  return true;
@@ -2199,9 +2196,10 @@ var watermark = function watermark(option) {
2199
2196
  html: '水印示例', // 水印文本内容
2200
2197
  angle: -15, // 旋转角度
2201
2198
  color: '#000', // 水印文字颜色
2202
- width: 100, // 水印宽度
2203
- height: 20, // 水印高度
2204
- lineHeight: 20, // 水印行高
2199
+ width: '', // 水印宽度
2200
+ minWidth: 300, // 水印最小宽度
2201
+ height: 120, // 水印高度
2202
+ lineHeight: 120, // 水印行高
2205
2203
  opacity: 0.1, // 水印透明度
2206
2204
  fontSize: 14, // 水印文字字体大小
2207
2205
  fontWeight: 400, // 水印字体粗细
@@ -2210,7 +2208,13 @@ var watermark = function watermark(option) {
2210
2208
  zIndex: 999999 // 水印文字的层级
2211
2209
  };
2212
2210
  var options = option ? extend(true, config, typeof option === 'string' ? { html: option } : option) : config;
2213
- var wrap = document.createElement('div');
2211
+ var wrap = document.getElementById('watermark');
2212
+ if (!wrap) {
2213
+ wrap = document.createElement('div');
2214
+ wrap.id = 'watermark';
2215
+ } else {
2216
+ wrap.innerHTML = '';
2217
+ }
2214
2218
  // 禁止选择和复制
2215
2219
  wrap.onselectstart = wrap.oncontextmenu = function () {
2216
2220
  return false;
@@ -2221,6 +2225,8 @@ var watermark = function watermark(option) {
2221
2225
  html = options.html,
2222
2226
  angle = options.angle,
2223
2227
  color = options.color,
2228
+ width = options.width,
2229
+ minWidth = options.minWidth,
2224
2230
  height = options.height,
2225
2231
  lineHeight = options.lineHeight,
2226
2232
  opacity = options.opacity,
@@ -2236,7 +2242,7 @@ var watermark = function watermark(option) {
2236
2242
  for (var i = 0; i < num; i++) {
2237
2243
  var item = document.createElement('div');
2238
2244
  item.innerHTML = html;
2239
- item.style.cssText = 'flex-grow: 1;flex-shrink: 0;color: ' + color + ';text-align: ' + textAlign + ';width: ' + 100 / cols + '%;height: ' + height + 'px;line-height: ' + lineHeight + 'px;font-size:' + fontSize + 'px;font-weight: ' + fontWeight + ';font-family: ' + fontFamily + ';text-align: ' + textAlign + ';transform: rotate(' + angle + 'deg);opacity: ' + opacity + ';';
2245
+ item.style.cssText = 'flex-grow: 1;flex-shrink: 0;color: ' + color + ';text-align: ' + textAlign + ';width: ' + (width ? parseInt(width, 10) + 'px' : 100 / cols + '%') + ';min-width: ' + (minWidth ? parseInt(minWidth, 10) + 'px' : '') + ';height: ' + height + 'px;line-height: ' + lineHeight + 'px;font-size:' + fontSize + 'px;font-weight: ' + fontWeight + ';font-family: ' + fontFamily + ';text-align: ' + textAlign + ';transform: rotate(' + angle + 'deg);opacity: ' + opacity + ';';
2240
2246
  docFrag.appendChild(item);
2241
2247
  }
2242
2248
  wrap.appendChild(docFrag);
package/lib/wujie.js CHANGED
@@ -2087,19 +2087,16 @@ var startWith = function startWith(value, reg) {
2087
2087
  var or = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
2088
2088
 
2089
2089
  if (Array.isArray(reg)) {
2090
- var flag = true;
2091
- for (var i = 0; i < reg.length; i++) {
2092
- var item = reg[i];
2093
- if (new RegExp('^' + item).test(value)) {
2094
- if (or) {
2095
- flag = true;
2096
- return true;
2097
- }
2098
- } else {
2099
- flag = false;
2100
- }
2090
+ if (!reg.length) {
2091
+ return true;
2101
2092
  }
2102
- return flag;
2093
+ var regs = reg.map(function (item) {
2094
+ return new RegExp('^' + item).test(value);
2095
+ });
2096
+ if (or) {
2097
+ return regs.indexOf(true) > -1;
2098
+ }
2099
+ return regs.indexOf(false) === -1;
2103
2100
  }
2104
2101
  if (new RegExp('^' + reg).test(value)) {
2105
2102
  return true;
@@ -2284,9 +2281,10 @@ var watermark = function watermark(option) {
2284
2281
  html: '水印示例', // 水印文本内容
2285
2282
  angle: -15, // 旋转角度
2286
2283
  color: '#000', // 水印文字颜色
2287
- width: 100, // 水印宽度
2288
- height: 20, // 水印高度
2289
- lineHeight: 20, // 水印行高
2284
+ width: '', // 水印宽度
2285
+ minWidth: 300, // 水印最小宽度
2286
+ height: 120, // 水印高度
2287
+ lineHeight: 120, // 水印行高
2290
2288
  opacity: 0.1, // 水印透明度
2291
2289
  fontSize: 14, // 水印文字字体大小
2292
2290
  fontWeight: 400, // 水印字体粗细
@@ -2295,7 +2293,13 @@ var watermark = function watermark(option) {
2295
2293
  zIndex: 999999 // 水印文字的层级
2296
2294
  };
2297
2295
  var options = option ? extend(true, config, typeof option === 'string' ? { html: option } : option) : config;
2298
- var wrap = document.createElement('div');
2296
+ var wrap = document.getElementById('watermark');
2297
+ if (!wrap) {
2298
+ wrap = document.createElement('div');
2299
+ wrap.id = 'watermark';
2300
+ } else {
2301
+ wrap.innerHTML = '';
2302
+ }
2299
2303
  // 禁止选择和复制
2300
2304
  wrap.onselectstart = wrap.oncontextmenu = function () {
2301
2305
  return false;
@@ -2306,6 +2310,8 @@ var watermark = function watermark(option) {
2306
2310
  html = options.html,
2307
2311
  angle = options.angle,
2308
2312
  color = options.color,
2313
+ width = options.width,
2314
+ minWidth = options.minWidth,
2309
2315
  height = options.height,
2310
2316
  lineHeight = options.lineHeight,
2311
2317
  opacity = options.opacity,
@@ -2321,7 +2327,7 @@ var watermark = function watermark(option) {
2321
2327
  for (var i = 0; i < num; i++) {
2322
2328
  var item = document.createElement('div');
2323
2329
  item.innerHTML = html;
2324
- item.style.cssText = 'flex-grow: 1;flex-shrink: 0;color: ' + color + ';text-align: ' + textAlign + ';width: ' + 100 / cols + '%;height: ' + height + 'px;line-height: ' + lineHeight + 'px;font-size:' + fontSize + 'px;font-weight: ' + fontWeight + ';font-family: ' + fontFamily + ';text-align: ' + textAlign + ';transform: rotate(' + angle + 'deg);opacity: ' + opacity + ';';
2330
+ item.style.cssText = 'flex-grow: 1;flex-shrink: 0;color: ' + color + ';text-align: ' + textAlign + ';width: ' + (width ? parseInt(width, 10) + 'px' : 100 / cols + '%') + ';min-width: ' + (minWidth ? parseInt(minWidth, 10) + 'px' : '') + ';height: ' + height + 'px;line-height: ' + lineHeight + 'px;font-size:' + fontSize + 'px;font-weight: ' + fontWeight + ';font-family: ' + fontFamily + ';text-align: ' + textAlign + ';transform: rotate(' + angle + 'deg);opacity: ' + opacity + ';';
2325
2331
  docFrag.appendChild(item);
2326
2332
  }
2327
2333
  wrap.appendChild(docFrag);
package/lib/wxlogin.js CHANGED
@@ -2087,19 +2087,16 @@ var startWith = function startWith(value, reg) {
2087
2087
  var or = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
2088
2088
 
2089
2089
  if (Array.isArray(reg)) {
2090
- var flag = true;
2091
- for (var i = 0; i < reg.length; i++) {
2092
- var item = reg[i];
2093
- if (new RegExp('^' + item).test(value)) {
2094
- if (or) {
2095
- flag = true;
2096
- return true;
2097
- }
2098
- } else {
2099
- flag = false;
2100
- }
2090
+ if (!reg.length) {
2091
+ return true;
2101
2092
  }
2102
- return flag;
2093
+ var regs = reg.map(function (item) {
2094
+ return new RegExp('^' + item).test(value);
2095
+ });
2096
+ if (or) {
2097
+ return regs.indexOf(true) > -1;
2098
+ }
2099
+ return regs.indexOf(false) === -1;
2103
2100
  }
2104
2101
  if (new RegExp('^' + reg).test(value)) {
2105
2102
  return true;
@@ -2284,9 +2281,10 @@ var watermark = function watermark(option) {
2284
2281
  html: '水印示例', // 水印文本内容
2285
2282
  angle: -15, // 旋转角度
2286
2283
  color: '#000', // 水印文字颜色
2287
- width: 100, // 水印宽度
2288
- height: 20, // 水印高度
2289
- lineHeight: 20, // 水印行高
2284
+ width: '', // 水印宽度
2285
+ minWidth: 300, // 水印最小宽度
2286
+ height: 120, // 水印高度
2287
+ lineHeight: 120, // 水印行高
2290
2288
  opacity: 0.1, // 水印透明度
2291
2289
  fontSize: 14, // 水印文字字体大小
2292
2290
  fontWeight: 400, // 水印字体粗细
@@ -2295,7 +2293,13 @@ var watermark = function watermark(option) {
2295
2293
  zIndex: 999999 // 水印文字的层级
2296
2294
  };
2297
2295
  var options = option ? extend(true, config, typeof option === 'string' ? { html: option } : option) : config;
2298
- var wrap = document.createElement('div');
2296
+ var wrap = document.getElementById('watermark');
2297
+ if (!wrap) {
2298
+ wrap = document.createElement('div');
2299
+ wrap.id = 'watermark';
2300
+ } else {
2301
+ wrap.innerHTML = '';
2302
+ }
2299
2303
  // 禁止选择和复制
2300
2304
  wrap.onselectstart = wrap.oncontextmenu = function () {
2301
2305
  return false;
@@ -2306,6 +2310,8 @@ var watermark = function watermark(option) {
2306
2310
  html = options.html,
2307
2311
  angle = options.angle,
2308
2312
  color = options.color,
2313
+ width = options.width,
2314
+ minWidth = options.minWidth,
2309
2315
  height = options.height,
2310
2316
  lineHeight = options.lineHeight,
2311
2317
  opacity = options.opacity,
@@ -2321,7 +2327,7 @@ var watermark = function watermark(option) {
2321
2327
  for (var i = 0; i < num; i++) {
2322
2328
  var item = document.createElement('div');
2323
2329
  item.innerHTML = html;
2324
- item.style.cssText = 'flex-grow: 1;flex-shrink: 0;color: ' + color + ';text-align: ' + textAlign + ';width: ' + 100 / cols + '%;height: ' + height + 'px;line-height: ' + lineHeight + 'px;font-size:' + fontSize + 'px;font-weight: ' + fontWeight + ';font-family: ' + fontFamily + ';text-align: ' + textAlign + ';transform: rotate(' + angle + 'deg);opacity: ' + opacity + ';';
2330
+ item.style.cssText = 'flex-grow: 1;flex-shrink: 0;color: ' + color + ';text-align: ' + textAlign + ';width: ' + (width ? parseInt(width, 10) + 'px' : 100 / cols + '%') + ';min-width: ' + (minWidth ? parseInt(minWidth, 10) + 'px' : '') + ';height: ' + height + 'px;line-height: ' + lineHeight + 'px;font-size:' + fontSize + 'px;font-weight: ' + fontWeight + ';font-family: ' + fontFamily + ';text-align: ' + textAlign + ';transform: rotate(' + angle + 'deg);opacity: ' + opacity + ';';
2325
2331
  docFrag.appendChild(item);
2326
2332
  }
2327
2333
  wrap.appendChild(docFrag);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eoss-ui",
3
- "version": "0.4.63",
3
+ "version": "0.4.65",
4
4
  "description": "eoss内部业务组件",
5
5
  "main": "lib/eoss-ui.common.js",
6
6
  "files": [
@@ -233,8 +233,8 @@ export default {
233
233
  },
234
234
  render(h) {
235
235
  let useCaseCodes = util.getStorage('useCaseCodes');
236
- if (!this.btnGroup && useCaseCodes && this.useCaseCode) {
237
- if (useCaseCodes.indexOf(item.useCaseCode) == -1) {
236
+ if (useCaseCodes && this.useCaseCode) {
237
+ if (useCaseCodes.indexOf(this.useCaseCode) == -1) {
238
238
  return false;
239
239
  }
240
240
  }
@@ -447,7 +447,7 @@ export default {
447
447
  }
448
448
  },
449
449
  handleClose(reload = true) {
450
- this.$refs[this.wujieName].hide();
450
+ this.$refs[this.wujieName] && this.$refs[this.wujieName].hide();
451
451
  if (this.isReload !== false && reload !== 0 && reload !== false) {
452
452
  for (let i = 0; i < this.$parent.$children.length; i++) {
453
453
  let item = this.$parent.$children[i];
@@ -4135,7 +4135,6 @@ export default {
4135
4135
  parseInt(util.getStyle(this.$el.parentNode, 'padding-bottom'), 10) ||
4136
4136
  0;
4137
4137
  let btn = this.readonly || !this.showButton ? 0 : 48;
4138
- let ph = this.$el.parentNode.offsetHeight;
4139
4138
  this.newHeight =
4140
4139
  this.$el.parentNode.offsetHeight - pt - pb - btn + 'px';
4141
4140
  }
@@ -1034,7 +1034,7 @@ export default {
1034
1034
  ? '&' + util.queryParams(this.imgCode)
1035
1035
  : '') +
1036
1036
  '&heightflag=' +
1037
- Math.random();
1037
+ Math.random().toString().split('.')[1];
1038
1038
 
1039
1039
  return this.imageCode;
1040
1040
  },
@@ -862,6 +862,7 @@ export default {
862
862
  this.color = unescape(results[i].color).toLowerCase();
863
863
  }
864
864
  if (i === 'subsystemExtend' && results[i].webPageWatermark) {
865
+ util.win.top.webPageWatermark = results[i].webPageWatermark;
865
866
  util.watermark(results[i].webPageWatermark);
866
867
  }
867
868
  store.set(i, results[i]);
@@ -33,6 +33,7 @@ export default {
33
33
  data() {
34
34
  return {
35
35
  results: '',
36
+ userScanBindImgUrl: '',
36
37
  qrcode: '',
37
38
  notify: store.get('userStyle') ? store.get('userStyle').notify : '',
38
39
  checkPassword: '',
@@ -244,7 +245,11 @@ export default {
244
245
  },
245
246
  methods: {
246
247
  getQrcode() {
247
- this.getData();
248
+ this.qrcode =
249
+ util.getStorage('host') +
250
+ this.userScanBindImgUrl +
251
+ '&_tt=' +
252
+ Math.random().toString().split('.')[1];
248
253
  },
249
254
  getData() {
250
255
  util
@@ -268,6 +273,7 @@ export default {
268
273
  this.values.email = results.simpleUserInfo.email;
269
274
  this.values.officetel = results.simpleUserInfo.officetel;
270
275
  if (results.userScanBindImgUrl) {
276
+ this.userScanBindImgUrl = results.userScanBindImgUrl;
271
277
  this.qrcode =
272
278
  util.getStorage('host') + results.userScanBindImgUrl;
273
279
  } else {
@@ -155,12 +155,13 @@ export default {
155
155
  let ary = [];
156
156
  this.filtrate.forEach((items) => {
157
157
  let val = typeof items === 'string' ? items : items[this.valKey];
158
- ary.concat(
158
+ ary = ary.concat(
159
159
  this.data.filter((item) => {
160
160
  return item[this.filtrateKey] == val;
161
161
  })
162
162
  );
163
163
  });
164
+ return ary;
164
165
  } else {
165
166
  let val =
166
167
  typeof this.filtrate === 'string'
@@ -194,11 +194,10 @@ export default {
194
194
  });
195
195
  }
196
196
  if (items.type === 'tabs') {
197
- buttons.concat([
197
+ buttons = buttons.concat([
198
198
  h(
199
199
  'el-menu',
200
200
  {
201
- class: 'el-button',
202
201
  props: {
203
202
  defaultActive: this.active
204
203
  ? this.active
@@ -397,7 +397,7 @@ export default {
397
397
  ? this.tabs[Number(this.active)].ref
398
398
  : 'groupTree' + this.active
399
399
  : 'groupTree';
400
- this.$refs[ref].getTreeData();
400
+ this.$refs[ref] && this.$refs[ref].getTreeData();
401
401
  }
402
402
  },
403
403
  //页签切换
@@ -1,5 +1,6 @@
1
1
  <template>
2
2
  <el-upload
3
+ v-if="isRender"
3
4
  ref="upload"
4
5
  v-bind="$attrs"
5
6
  class="es-upload"
@@ -408,7 +409,8 @@ export default {
408
409
  previewScale: {
409
410
  type: Boolean,
410
411
  default: true
411
- }
412
+ },
413
+ useCaseCode: String
412
414
  },
413
415
  data() {
414
416
  return {
@@ -432,6 +434,13 @@ export default {
432
434
  };
433
435
  },
434
436
  computed: {
437
+ isRender() {
438
+ let useCaseCodes = util.getStorage('useCaseCodes');
439
+ if (useCaseCodes && this.useCaseCode) {
440
+ return useCaseCodes.indexOf(this.useCaseCode) > -1;
441
+ }
442
+ return true;
443
+ },
435
444
  _icons() {
436
445
  return {
437
446
  ppt: 'es-icon-ppt',
package/src/index.js CHANGED
@@ -117,7 +117,7 @@ if (typeof window !== 'undefined' && window.Vue) {
117
117
  }
118
118
 
119
119
  export default {
120
- version: '0.4.63',
120
+ version: '0.4.65',
121
121
  install,
122
122
  Button,
123
123
  ButtonGroup,
package/src/utils/util.js CHANGED
@@ -2054,19 +2054,16 @@ const setStorage = function ({ type, key, value }) {
2054
2054
  **/
2055
2055
  const startWith = function (value, reg, or = true) {
2056
2056
  if (Array.isArray(reg)) {
2057
- let flag = true;
2058
- for (let i = 0; i < reg.length; i++) {
2059
- let item = reg[i];
2060
- if (new RegExp('^' + item).test(value)) {
2061
- if (or) {
2062
- flag = true;
2063
- return true;
2064
- }
2065
- } else {
2066
- flag = false;
2067
- }
2057
+ if (!reg.length) {
2058
+ return true;
2068
2059
  }
2069
- return flag;
2060
+ let regs = reg.map(item => {
2061
+ return new RegExp('^' + item).test(value);
2062
+ });
2063
+ if (or) {
2064
+ return regs.indexOf(true) > -1;
2065
+ }
2066
+ return regs.indexOf(false) === -1;
2070
2067
  }
2071
2068
  if (new RegExp('^' + reg).test(value)) {
2072
2069
  return true;
@@ -2258,9 +2255,10 @@ const watermark = function (option) {
2258
2255
  html: '水印示例', // 水印文本内容
2259
2256
  angle: -15, // 旋转角度
2260
2257
  color: '#000', // 水印文字颜色
2261
- width: 100, // 水印宽度
2262
- height: 20, // 水印高度
2263
- lineHeight: 20, // 水印行高
2258
+ width: '', // 水印宽度
2259
+ minWidth: 300, // 水印最小宽度
2260
+ height: 120, // 水印高度
2261
+ lineHeight: 120, // 水印行高
2264
2262
  opacity: 0.1, // 水印透明度
2265
2263
  fontSize: 14, // 水印文字字体大小
2266
2264
  fontWeight: 400, // 水印字体粗细
@@ -2269,20 +2267,26 @@ const watermark = function (option) {
2269
2267
  zIndex: 999999 // 水印文字的层级
2270
2268
  };
2271
2269
  let options = option ? extend(true, config, typeof option === 'string' ? { html: option } : option) : config;
2272
- let wrap = document.createElement('div');
2270
+ let wrap = document.getElementById('watermark');
2271
+ if (!wrap) {
2272
+ wrap = document.createElement('div');
2273
+ wrap.id = 'watermark';
2274
+ } else {
2275
+ wrap.innerHTML = '';
2276
+ }
2273
2277
  // 禁止选择和复制
2274
2278
  wrap.onselectstart = wrap.oncontextmenu = function () {
2275
2279
  return false;
2276
2280
  };
2277
2281
  let docFrag = document.createDocumentFragment();
2278
- let { rows, cols, html, angle, color, height, lineHeight, opacity, fontSize, fontWeight, fontFamily, textAlign, zIndex } = options;
2282
+ let { rows, cols, html, angle, color, width, minWidth, height, lineHeight, opacity, fontSize, fontWeight, fontFamily, textAlign, zIndex } = options;
2279
2283
 
2280
2284
  wrap.style.cssText = 'display: flex;align-items: center;justify-content: flex-start;flex-wrap: wrap;align-content: space-between;position: fixed;left: 50%;top: 50%;transform: translate(-50%, -50%);height: 100vh;width: 100vw;pointer-events: none;overflow: hidden;background: transparent;z-index: ' + zIndex + ';';
2281
2285
  let num = rows * cols;
2282
2286
  for (let i = 0; i < num; i++) {
2283
2287
  let item = document.createElement('div');
2284
2288
  item.innerHTML = html;
2285
- item.style.cssText = 'flex-grow: 1;flex-shrink: 0;color: ' + color + ';text-align: ' + textAlign + ';width: ' + (100 / cols) + '%;height: ' + height + 'px;line-height: ' + lineHeight + 'px;font-size:' + fontSize + 'px;font-weight: ' + fontWeight + ';font-family: ' + fontFamily + ';text-align: ' + textAlign + ';transform: rotate(' + angle + 'deg);opacity: ' + opacity + ';';
2289
+ item.style.cssText = 'flex-grow: 1;flex-shrink: 0;color: ' + color + ';text-align: ' + textAlign + ';width: ' + (width ? parseInt(width, 10) + 'px' : (100 / cols) + '%') + ';min-width: ' + (minWidth ? parseInt(minWidth, 10) + 'px' : '') + ';height: ' + height + 'px;line-height: ' + lineHeight + 'px;font-size:' + fontSize + 'px;font-weight: ' + fontWeight + ';font-family: ' + fontFamily + ';text-align: ' + textAlign + ';transform: rotate(' + angle + 'deg);opacity: ' + opacity + ';';
2286
2290
  docFrag.appendChild(item);
2287
2291
  }
2288
2292
  wrap.appendChild(docFrag);