@mdsfe/mds-ui 0.3.0-9 → 0.4.0-rc.2

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 (127) hide show
  1. package/dist/_util/iconfont/index.js +1 -1
  2. package/dist/affix.js +31 -36
  3. package/dist/alert.js +27 -32
  4. package/dist/anchor.js +39 -47
  5. package/dist/avatar.js +27 -32
  6. package/dist/backtop.js +31 -36
  7. package/dist/badge.js +41 -46
  8. package/dist/base.js +1 -0
  9. package/dist/bordershadow.js +27 -32
  10. package/dist/breadcrumb.js +39 -47
  11. package/dist/button.js +43 -58
  12. package/dist/card.js +39 -47
  13. package/dist/carousel.js +55 -63
  14. package/dist/cascader.js +98 -115
  15. package/dist/cascaderpanel.js +70 -81
  16. package/dist/checkbox.js +43 -51
  17. package/dist/col.js +52 -60
  18. package/dist/collapse.js +39 -47
  19. package/dist/color.js +27 -32
  20. package/dist/datepicker.js +1145 -543
  21. package/dist/divider.js +27 -32
  22. package/dist/drawer.js +42 -47
  23. package/dist/dropdown.js +49 -79
  24. package/dist/empty.js +36 -41
  25. package/dist/font/iconfont.06c8a26.woff +0 -0
  26. package/dist/font/iconfont.c9840a2.woff2 +0 -0
  27. package/dist/font/{iconfont.ecd615a.ttf → iconfont.dffa89c.ttf} +0 -0
  28. package/dist/font.js +27 -32
  29. package/dist/form.js +49 -57
  30. package/dist/icon.js +27 -32
  31. package/dist/index.js +358 -1
  32. package/dist/input.js +258 -119
  33. package/dist/inputnumber.js +31 -36
  34. package/dist/layout.js +75 -92
  35. package/dist/list.js +39 -47
  36. package/dist/loading.js +27 -32
  37. package/dist/mds-ui.min.css +1 -2
  38. package/dist/mds-ui.min.js +4707 -3009
  39. package/dist/menu.js +98 -93
  40. package/dist/message.js +60 -71
  41. package/dist/modal.js +40 -45
  42. package/dist/notification.js +53 -61
  43. package/dist/pagination.js +66 -77
  44. package/dist/popconfirm.js +31 -77
  45. package/dist/popover.js +51 -63
  46. package/dist/progress.js +52 -63
  47. package/dist/radio.js +54 -62
  48. package/dist/rate.js +47 -55
  49. package/dist/row.js +52 -60
  50. package/dist/select.js +111 -128
  51. package/dist/slider.js +60 -68
  52. package/dist/slottable.js +68 -76
  53. package/dist/steps.js +7 -7
  54. package/dist/style/affix.css +3 -6789
  55. package/dist/style/alert.css +3 -6789
  56. package/dist/style/anchor.css +3 -6789
  57. package/dist/style/avatar.css +3 -6789
  58. package/dist/style/badge.css +5 -6791
  59. package/dist/style/base.css +1 -0
  60. package/dist/style/bordershadow.css +3 -6789
  61. package/dist/style/breadcrumb.css +3 -6789
  62. package/dist/style/button.css +3 -6789
  63. package/dist/style/card.css +3 -6789
  64. package/dist/style/carousel.css +0 -6786
  65. package/dist/style/checkbox.css +3 -6789
  66. package/dist/style/col.css +3 -6789
  67. package/dist/style/collapse.css +3 -6789
  68. package/dist/style/color.css +3 -6789
  69. package/dist/style/datepicker.css +70 -6789
  70. package/dist/style/divider.css +3 -6789
  71. package/dist/style/drawer.css +3 -6789
  72. package/dist/style/dropdown.css +3 -8958
  73. package/dist/style/empty.css +3 -6789
  74. package/dist/style/font.css +3 -6789
  75. package/dist/style/form.css +3 -6789
  76. package/dist/style/icon.css +3 -6789
  77. package/dist/style/index.css +6 -0
  78. package/dist/style/input.css +23 -6795
  79. package/dist/style/inputnumber.css +3 -6789
  80. package/dist/style/layout.css +3 -6789
  81. package/dist/style/list.css +3 -6789
  82. package/dist/style/loading.css +3 -6789
  83. package/dist/style/menu.css +3 -6789
  84. package/dist/style/modal.css +3 -6789
  85. package/dist/style/notification.css +7 -6793
  86. package/dist/style/pagination.css +23 -6795
  87. package/dist/style/popconfirm.css +3 -9093
  88. package/dist/style/popover.css +3 -6789
  89. package/dist/style/progress.css +3 -6789
  90. package/dist/style/radio.css +3 -6789
  91. package/dist/style/rate.css +3 -6789
  92. package/dist/style/row.css +3 -6789
  93. package/dist/style/select.css +3 -6789
  94. package/dist/style/slider.css +3 -6789
  95. package/dist/style/slottable.css +3 -6789
  96. package/dist/style/steps.css +3 -6789
  97. package/dist/style/switch.css +3 -6789
  98. package/dist/style/table.css +3 -6789
  99. package/dist/style/tabs.css +3 -6789
  100. package/dist/style/tag.css +3 -6789
  101. package/dist/style/text.css +3 -6789
  102. package/dist/style/timeline.css +3 -6789
  103. package/dist/style/timepicker.css +3 -6789
  104. package/dist/style/tooltip.css +3 -6789
  105. package/dist/style/transfer.css +105 -0
  106. package/dist/style/tree.css +3 -6789
  107. package/dist/style/typography.css +3 -6789
  108. package/dist/style/upload.css +3 -6789
  109. package/dist/switch.js +31 -36
  110. package/dist/table.js +225 -274
  111. package/dist/tabs.js +81 -104
  112. package/dist/tag.js +27 -32
  113. package/dist/text.js +680 -541
  114. package/dist/timeline.js +39 -47
  115. package/dist/timepicker.js +100 -117
  116. package/dist/tooltip.js +27 -27
  117. package/dist/transfer.js +1028 -85
  118. package/dist/transition.js +4 -4
  119. package/dist/tree.js +62 -70
  120. package/dist/typography.js +39 -47
  121. package/dist/upload.js +95 -115
  122. package/package.json +9 -5
  123. package/CHANGELOG.md +0 -1013
  124. package/dist/.DS_Store +0 -0
  125. package/dist/_util/.DS_Store +0 -0
  126. package/dist/font/iconfont.ae3b61b.woff2 +0 -0
  127. package/dist/font/iconfont.f1b256f.woff +0 -0
package/dist/text.js CHANGED
@@ -7,7 +7,7 @@
7
7
  var a = typeof exports === 'object' ? factory(require("./icon"), require("./_mixin/emitter")) : factory(root["./icon"], root["./_mixin/emitter"]);
8
8
  for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];
9
9
  }
10
- })(window, function(__WEBPACK_EXTERNAL_MODULE__7__, __WEBPACK_EXTERNAL_MODULE__13__) {
10
+ })(window, function(__WEBPACK_EXTERNAL_MODULE__7__, __WEBPACK_EXTERNAL_MODULE__14__) {
11
11
  return /******/ (function(modules) { // webpackBootstrap
12
12
  /******/ // The module cache
13
13
  /******/ var installedModules = {};
@@ -91,7 +91,7 @@ return /******/ (function(modules) { // webpackBootstrap
91
91
  /******/
92
92
  /******/
93
93
  /******/ // Load entry module and return exports
94
- /******/ return __webpack_require__(__webpack_require__.s = 100);
94
+ /******/ return __webpack_require__(__webpack_require__.s = 99);
95
95
  /******/ })
96
96
  /************************************************************************/
97
97
  /******/ ({
@@ -107,20 +107,19 @@ return /******/ (function(modules) { // webpackBootstrap
107
107
  // This module is a runtime utility for cleaner component module output and will
108
108
  // be included in the final webpack user bundle.
109
109
 
110
- function normalizeComponent (
110
+ function normalizeComponent(
111
111
  scriptExports,
112
112
  render,
113
113
  staticRenderFns,
114
114
  functionalTemplate,
115
115
  injectStyles,
116
116
  scopeId,
117
- moduleIdentifier, /* server only */
117
+ moduleIdentifier /* server only */,
118
118
  shadowMode /* vue-cli only */
119
119
  ) {
120
120
  // Vue.extend constructor export interop
121
- var options = typeof scriptExports === 'function'
122
- ? scriptExports.options
123
- : scriptExports
121
+ var options =
122
+ typeof scriptExports === 'function' ? scriptExports.options : scriptExports
124
123
 
125
124
  // render functions
126
125
  if (render) {
@@ -140,7 +139,8 @@ function normalizeComponent (
140
139
  }
141
140
 
142
141
  var hook
143
- if (moduleIdentifier) { // server build
142
+ if (moduleIdentifier) {
143
+ // server build
144
144
  hook = function (context) {
145
145
  // 2.3 injection
146
146
  context =
@@ -166,11 +166,11 @@ function normalizeComponent (
166
166
  } else if (injectStyles) {
167
167
  hook = shadowMode
168
168
  ? function () {
169
- injectStyles.call(
170
- this,
171
- (options.functional ? this.parent : this).$root.$options.shadowRoot
172
- )
173
- }
169
+ injectStyles.call(
170
+ this,
171
+ (options.functional ? this.parent : this).$root.$options.shadowRoot
172
+ )
173
+ }
174
174
  : injectStyles
175
175
  }
176
176
 
@@ -181,45 +181,620 @@ function normalizeComponent (
181
181
  options._injectStyles = hook
182
182
  // register for functional component in vue file
183
183
  var originalRender = options.render
184
- options.render = function renderWithStyleInjection (h, context) {
184
+ options.render = function renderWithStyleInjection(h, context) {
185
185
  hook.call(context)
186
186
  return originalRender(h, context)
187
187
  }
188
188
  } else {
189
189
  // inject component registration as beforeCreate hook
190
190
  var existing = options.beforeCreate
191
- options.beforeCreate = existing
192
- ? [].concat(existing, hook)
193
- : [hook]
191
+ options.beforeCreate = existing ? [].concat(existing, hook) : [hook]
192
+ }
193
+ }
194
+
195
+ return {
196
+ exports: scriptExports,
197
+ options: options
198
+ }
199
+ }
200
+
201
+
202
+ /***/ }),
203
+
204
+ /***/ 14:
205
+ /***/ (function(module, exports) {
206
+
207
+ module.exports = __WEBPACK_EXTERNAL_MODULE__14__;
208
+
209
+ /***/ }),
210
+
211
+ /***/ 140:
212
+ /***/ (function(module, exports) {
213
+
214
+ // removed by extract-text-webpack-plugin
215
+
216
+ /***/ }),
217
+
218
+ /***/ 262:
219
+ /***/ (function(module, exports) {
220
+
221
+ // removed by extract-text-webpack-plugin
222
+
223
+ /***/ }),
224
+
225
+ /***/ 44:
226
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
227
+
228
+ "use strict";
229
+
230
+ // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./components/input/textarea.vue?vue&type=template&id=55f2aeec
231
+ var render = function () {
232
+ var _vm = this
233
+ var _h = _vm.$createElement
234
+ var _c = _vm._self._c || _h
235
+ return _c(
236
+ "div",
237
+ { class: _vm.prefixCls + "-content " + (_vm.disabled ? "disable" : "") },
238
+ [
239
+ _vm.showLimitPosition === "inside"
240
+ ? _c("div", { staticClass: "mds-input-textarea-wrapper" }, [
241
+ _c("textarea", {
242
+ directives: [
243
+ {
244
+ name: "model",
245
+ rawName: "v-model",
246
+ value: _vm.valueData,
247
+ expression: "valueData",
248
+ },
249
+ ],
250
+ ref: "textAreaRef",
251
+ class: [
252
+ _vm.prefixCls + " " + _vm.prefixCls + "-textarea",
253
+ _vm.disabled ? "mds-input-disabled" : "",
254
+ ],
255
+ style: _vm.textareaStyles,
256
+ attrs: {
257
+ maxlength: _vm.max_length,
258
+ minlength: _vm.min_length,
259
+ rows: _vm.rows,
260
+ placeholder: _vm.placeholder,
261
+ disabled: _vm.disabled,
262
+ },
263
+ domProps: { value: _vm.valueData },
264
+ on: {
265
+ input: [
266
+ function ($event) {
267
+ if ($event.target.composing) {
268
+ return
269
+ }
270
+ _vm.valueData = $event.target.value
271
+ },
272
+ _vm.handleInput,
273
+ ],
274
+ keypress: _vm.handleKeyDown,
275
+ change: _vm.handleChange,
276
+ focus: _vm.handleFocus,
277
+ blur: _vm.handleBlur,
278
+ },
279
+ }),
280
+ _vm.max_length
281
+ ? _c(
282
+ "span",
283
+ {
284
+ class: [
285
+ "mds-input-show-limit",
286
+ "mds-input-show-limit--inside",
287
+ ],
288
+ },
289
+ [_vm._v(_vm._s(_vm.number) + "/" + _vm._s(_vm.max_length))]
290
+ )
291
+ : _vm._e(),
292
+ ])
293
+ : _vm.showLimitPosition === "outside"
294
+ ? [
295
+ _c("textarea", {
296
+ directives: [
297
+ {
298
+ name: "model",
299
+ rawName: "v-model",
300
+ value: _vm.valueData,
301
+ expression: "valueData",
302
+ },
303
+ ],
304
+ ref: "textAreaRef",
305
+ class: [
306
+ _vm.prefixCls + " " + _vm.prefixCls + "-textarea",
307
+ _vm.disabled ? "mds-input-disabled" : "",
308
+ ],
309
+ style: _vm.textareaStyles,
310
+ attrs: {
311
+ maxlength: _vm.max_length,
312
+ minlength: _vm.min_length,
313
+ rows: _vm.rows,
314
+ placeholder: _vm.placeholder,
315
+ disabled: _vm.disabled,
316
+ },
317
+ domProps: { value: _vm.valueData },
318
+ on: {
319
+ input: [
320
+ function ($event) {
321
+ if ($event.target.composing) {
322
+ return
323
+ }
324
+ _vm.valueData = $event.target.value
325
+ },
326
+ _vm.handleInput,
327
+ ],
328
+ keypress: _vm.handleKeyDown,
329
+ change: _vm.handleChange,
330
+ focus: _vm.handleFocus,
331
+ blur: _vm.handleBlur,
332
+ },
333
+ }),
334
+ _vm.max_length
335
+ ? _c("span", { class: ["mds-input-show-limit"] }, [
336
+ _vm._v(_vm._s(_vm.number) + "/" + _vm._s(_vm.max_length)),
337
+ ])
338
+ : _vm._e(),
339
+ ]
340
+ : [
341
+ _c("textarea", {
342
+ directives: [
343
+ {
344
+ name: "model",
345
+ rawName: "v-model",
346
+ value: _vm.valueData,
347
+ expression: "valueData",
348
+ },
349
+ ],
350
+ ref: "textAreaRef",
351
+ class: [
352
+ _vm.prefixCls + " " + _vm.prefixCls + "-textarea",
353
+ _vm.disabled ? "mds-input-disabled" : "",
354
+ ],
355
+ style: _vm.textareaStyles,
356
+ attrs: {
357
+ maxlength: _vm.max_length,
358
+ minlength: _vm.min_length,
359
+ rows: _vm.rows,
360
+ placeholder: _vm.placeholder,
361
+ disabled: _vm.disabled,
362
+ },
363
+ domProps: { value: _vm.valueData },
364
+ on: {
365
+ input: [
366
+ function ($event) {
367
+ if ($event.target.composing) {
368
+ return
369
+ }
370
+ _vm.valueData = $event.target.value
371
+ },
372
+ _vm.handleInput,
373
+ ],
374
+ keypress: _vm.handleKeyDown,
375
+ change: _vm.handleChange,
376
+ focus: _vm.handleFocus,
377
+ blur: _vm.handleBlur,
378
+ },
379
+ }),
380
+ ],
381
+ ],
382
+ 2
383
+ )
384
+ }
385
+ var staticRenderFns = []
386
+ render._withStripped = true
387
+
388
+
389
+ // CONCATENATED MODULE: ./components/input/textarea.vue?vue&type=template&id=55f2aeec
390
+
391
+ // CONCATENATED MODULE: ./components/input/calculateNodeHeight.js
392
+ // Thanks to https://github.com/andreypopp/react-textarea-autosize/
393
+
394
+ /**
395
+ * calculateNodeHeight(uiTextNode, useCache = false)
396
+ */
397
+
398
+ var HIDDEN_TEXTAREA_STYLE = '\n min-height:0 !important;\n max-height:none !important;\n height:0 !important;\n visibility:hidden !important;\n overflow:hidden !important;\n position:absolute !important;\n z-index:-1000 !important;\n top:0 !important;\n right:0 !important;\n';
399
+
400
+ var SIZING_STYLE = ['letter-spacing', 'line-height', 'padding-top', 'padding-bottom', 'font-family', 'font-weight', 'font-size', 'text-rendering', 'text-transform', 'width', 'text-indent', 'padding-left', 'padding-right', 'border-width', 'box-sizing'];
401
+
402
+ var computedStyleCache = {};
403
+ var hiddenTextarea = void 0;
404
+
405
+ function calculateNodeStyling(node) {
406
+ var useCache = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
407
+
408
+ var nodeRef = node.getAttribute('id') || node.getAttribute('data-reactid') || node.getAttribute('name');
409
+
410
+ if (useCache && computedStyleCache[nodeRef]) {
411
+ return computedStyleCache[nodeRef];
412
+ }
413
+
414
+ var style = window.getComputedStyle(node);
415
+
416
+ var boxSizing = style.getPropertyValue('box-sizing') || style.getPropertyValue('-moz-box-sizing') || style.getPropertyValue('-webkit-box-sizing');
417
+
418
+ var paddingSize = parseFloat(style.getPropertyValue('padding-bottom')) + parseFloat(style.getPropertyValue('padding-top'));
419
+
420
+ var borderSize = parseFloat(style.getPropertyValue('border-bottom-width')) + parseFloat(style.getPropertyValue('border-top-width'));
421
+
422
+ var sizingStyle = SIZING_STYLE.map(function (name) {
423
+ return name + ':' + style.getPropertyValue(name);
424
+ }).join(';');
425
+
426
+ var nodeInfo = {
427
+ sizingStyle: sizingStyle,
428
+ paddingSize: paddingSize,
429
+ borderSize: borderSize,
430
+ boxSizing: boxSizing
431
+ };
432
+
433
+ if (useCache && nodeRef) {
434
+ computedStyleCache[nodeRef] = nodeInfo;
435
+ }
436
+
437
+ return nodeInfo;
438
+ }
439
+
440
+ function calculateNodeHeight(uiTextNode) {
441
+ var useCache = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
442
+ var minRows = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
443
+ var maxRows = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
444
+
445
+ if (!hiddenTextarea) {
446
+ hiddenTextarea = document.createElement('textarea');
447
+ document.body.appendChild(hiddenTextarea);
448
+ }
449
+
450
+ // Fix wrap="off" issue
451
+ // https://github.com/mds-design/mds-design/issues/6577
452
+ if (uiTextNode.getAttribute('wrap')) {
453
+ hiddenTextarea.setAttribute('wrap', uiTextNode.getAttribute('wrap'));
454
+ } else {
455
+ hiddenTextarea.removeAttribute('wrap');
456
+ }
457
+
458
+ // Copy all CSS properties that have an impact on the height of the content in
459
+ // the textbox
460
+
461
+ var _calculateNodeStyling = calculateNodeStyling(uiTextNode, useCache),
462
+ paddingSize = _calculateNodeStyling.paddingSize,
463
+ borderSize = _calculateNodeStyling.borderSize,
464
+ boxSizing = _calculateNodeStyling.boxSizing,
465
+ sizingStyle = _calculateNodeStyling.sizingStyle;
466
+
467
+ // Need to have the overflow attribute to hide the scrollbar otherwise
468
+ // text-lines will not calculated properly as the shadow will technically be
469
+ // narrower for content
470
+
471
+
472
+ hiddenTextarea.setAttribute('style', sizingStyle + ';' + HIDDEN_TEXTAREA_STYLE);
473
+ hiddenTextarea.value = uiTextNode.value || uiTextNode.placeholder || '';
474
+
475
+ var minHeight = -Infinity;
476
+ var maxHeight = Infinity;
477
+ var height = hiddenTextarea.scrollHeight;
478
+ var overflowY = void 0;
479
+
480
+ if (boxSizing === 'border-box') {
481
+ // border-box: add border, since height = content + padding + border
482
+ height = height + borderSize;
483
+ } else if (boxSizing === 'content-box') {
484
+ // remove padding, since height = content
485
+ height = height - paddingSize;
486
+ }
487
+
488
+ if (minRows !== null || maxRows !== null) {
489
+ // measure height of a textarea with a single row
490
+ hiddenTextarea.value = '';
491
+ var singleRowHeight = hiddenTextarea.scrollHeight - paddingSize;
492
+ if (minRows !== null) {
493
+ minHeight = singleRowHeight * minRows;
494
+ if (boxSizing === 'border-box') {
495
+ minHeight = minHeight + paddingSize + borderSize;
496
+ }
497
+ height = Math.max(minHeight, height);
498
+ }
499
+ if (maxRows !== null) {
500
+ maxHeight = singleRowHeight * maxRows;
501
+ if (boxSizing === 'border-box') {
502
+ maxHeight = maxHeight + paddingSize + borderSize;
503
+ }
504
+ overflowY = height > maxHeight ? '' : 'hidden';
505
+ height = Math.min(maxHeight, height);
506
+ }
507
+ }
508
+ // Remove scroll bar flash when autosize without maxRows
509
+ if (!maxRows) {
510
+ overflowY = 'hidden';
511
+ }
512
+ return { height: height + 'px', minHeight: minHeight + 'px', maxHeight: maxHeight + 'px', overflowY: overflowY };
513
+ }
514
+ // EXTERNAL MODULE: external "./_mixin/emitter"
515
+ var emitter_ = __webpack_require__(14);
516
+ var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_);
517
+
518
+ // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./components/input/textarea.vue?vue&type=script&lang=js
519
+ //
520
+ //
521
+ //
522
+ //
523
+ //
524
+ //
525
+ //
526
+ //
527
+ //
528
+ //
529
+ //
530
+ //
531
+ //
532
+ //
533
+ //
534
+ //
535
+ //
536
+ //
537
+ //
538
+ //
539
+ //
540
+ //
541
+ //
542
+ //
543
+ //
544
+ //
545
+ //
546
+ //
547
+ //
548
+ //
549
+ //
550
+ //
551
+ //
552
+ //
553
+ //
554
+ //
555
+ //
556
+ //
557
+ //
558
+ //
559
+ //
560
+ //
561
+ //
562
+ //
563
+ //
564
+ //
565
+ //
566
+ //
567
+ //
568
+ //
569
+ //
570
+ //
571
+ //
572
+ //
573
+ //
574
+ //
575
+ //
576
+ //
577
+ //
578
+ //
579
+ //
580
+ //
581
+ //
582
+ //
583
+ //
584
+ //
585
+ //
586
+ //
587
+ //
588
+ //
589
+ //
590
+ //
591
+ //
592
+ //
593
+ //
594
+ //
595
+
596
+
597
+
598
+
599
+ function onNextFrame(cb) {
600
+ if (window.requestAnimationFrame) {
601
+ return window.requestAnimationFrame(cb);
602
+ }
603
+ return window.setTimeout(cb, 1);
604
+ }
605
+
606
+ function clearNextFrameAction(nextFrameId) {
607
+ if (window.cancelAnimationFrame) {
608
+ window.cancelAnimationFrame(nextFrameId);
609
+ } else {
610
+ window.clearTimeout(nextFrameId);
611
+ }
612
+ }
613
+
614
+ /* harmony default export */ var textareavue_type_script_lang_js = ({
615
+ name: 'MdsInputTextarea',
616
+ mixins: [emitter_default.a],
617
+ props: {
618
+ autosize: {
619
+ type: [Boolean, Object],
620
+ default: false
621
+ },
622
+ prefixCls: {
623
+ type: String,
624
+ default: 'mds-input'
625
+ },
626
+ maxlength: {
627
+ type: Number
628
+ },
629
+ minlength: {
630
+ type: Number
631
+ },
632
+ rows: {
633
+ type: Number,
634
+ default: 4
635
+ },
636
+ showLimit: {
637
+ type: [Boolean, String],
638
+ default: undefined
639
+ },
640
+ placeholder: {
641
+ type: String,
642
+ default: ''
643
+ },
644
+ disabled: {
645
+ type: Boolean,
646
+ default: false
647
+ },
648
+ value: null
649
+ },
650
+ data: function data() {
651
+ return {
652
+ textareaStyles: {},
653
+ number: 0
654
+ };
655
+ },
656
+
657
+ computed: {
658
+ valueData: {
659
+ get: function get() {
660
+ return this.value || '';
661
+ },
662
+ set: function set(value) {
663
+ this.$emit('input', value);
664
+ }
665
+ },
666
+ max_length: function max_length() {
667
+ return this.$attrs.maxlength || this.maxlength;
668
+ },
669
+ min_length: function min_length() {
670
+ return this.$attrs.minlength || this.minlength;
671
+ },
672
+ showLimitPosition: function showLimitPosition() {
673
+ if (this.showLimit === 'outside') return 'outside';
674
+ if (this.showLimit === true || this.showLimit === 'inside') return 'inside';
675
+ return null; // 不显示
676
+ }
677
+ },
678
+ watch: {
679
+ valueData: {
680
+ immediate: true,
681
+ handler: function handler(newVal) {
682
+ var _this = this;
683
+
684
+ this.$nextTick(function () {
685
+ _this.resizeTextarea();
686
+ });
687
+ if (newVal.length > this.maxlength) {
688
+ return false;
689
+ } else {
690
+ this.number = newVal.length;
691
+ }
692
+ }
693
+ }
694
+ },
695
+ created: function created() {
696
+ this.number = this.valueData.length;
697
+ },
698
+
699
+ methods: {
700
+ handleChange: function handleChange(e) {
701
+ this.$emit('change', e);
702
+ },
703
+ handleInput: function handleInput(e) {
704
+ if (this.nextFrameActionId) {
705
+ clearNextFrameAction(this.nextFrameActionId);
706
+ }
707
+ this.nextFrameActionId = onNextFrame(this.resizeTextarea);
708
+ this.$emit('input', e.target.value);
709
+ this.dispatch('MdsFormItem', 'formItemChange', e.target.value);
710
+ },
711
+ handleKeyDown: function handleKeyDown(e) {
712
+ if (e.keyCode === 13) {
713
+ this.$emit('press-enter', e);
714
+ }
715
+ this.$emit('keydown', e);
716
+ },
717
+ resizeTextarea: function resizeTextarea() {
718
+ if (!this.autosize) {
719
+ return false;
720
+ }
721
+ var minRows = this.autosize ? this.autosize.minRows : null;
722
+ var maxRows = this.autosize ? this.autosize.maxRows : null;
723
+ this.textareaStyles = calculateNodeHeight(this.$refs.textAreaRef, false, minRows, maxRows);
724
+ },
725
+ handleFocus: function handleFocus(e) {
726
+ this.$emit('focus', e);
727
+ },
728
+ handleBlur: function handleBlur(e) {
729
+ this.$emit('blur', e);
730
+ this.dispatch('MdsFormItem', 'formItemBlur', e);
731
+ },
732
+ focus: function focus() {
733
+ this.getInput().focus();
734
+ },
735
+ blur: function blur() {
736
+ this.getInput().blur();
737
+ },
738
+ getInput: function getInput() {
739
+ return this.$refs.textAreaRef;
194
740
  }
741
+ },
742
+ mounted: function mounted() {
743
+ this.resizeTextarea();
195
744
  }
745
+ });
746
+ // CONCATENATED MODULE: ./components/input/textarea.vue?vue&type=script&lang=js
747
+ /* harmony default export */ var input_textareavue_type_script_lang_js = (textareavue_type_script_lang_js);
748
+ // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
749
+ var componentNormalizer = __webpack_require__(0);
196
750
 
197
- return {
198
- exports: scriptExports,
199
- options: options
200
- }
201
- }
751
+ // CONCATENATED MODULE: ./components/input/textarea.vue
752
+
753
+
754
+
755
+
756
+
757
+ /* normalize component */
758
+
759
+ var component = Object(componentNormalizer["a" /* default */])(
760
+ input_textareavue_type_script_lang_js,
761
+ render,
762
+ staticRenderFns,
763
+ false,
764
+ null,
765
+ null,
766
+ null
767
+
768
+ )
769
+
770
+ /* harmony default export */ var input_textarea = __webpack_exports__["a"] = (component.exports);
771
+
772
+ /***/ }),
773
+
774
+ /***/ 7:
775
+ /***/ (function(module, exports) {
202
776
 
777
+ module.exports = __WEBPACK_EXTERNAL_MODULE__7__;
203
778
 
204
779
  /***/ }),
205
780
 
206
- /***/ 100:
781
+ /***/ 99:
207
782
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
208
783
 
209
784
  "use strict";
210
785
  // ESM COMPAT FLAG
211
786
  __webpack_require__.r(__webpack_exports__);
212
787
 
213
- // EXTERNAL MODULE: ./components/style/index.less
214
- var style = __webpack_require__(142);
788
+ // EXTERNAL MODULE: ./components/style/mixins-only.less
789
+ var mixins_only = __webpack_require__(140);
215
790
 
216
791
  // EXTERNAL MODULE: ./components/text/style/index.less
217
- var text_style = __webpack_require__(265);
792
+ var style = __webpack_require__(262);
218
793
 
219
794
  // CONCATENATED MODULE: ./components/text/style/index.js
220
795
 
221
796
 
222
- // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./components/text/text.vue?vue&type=template&id=0c79aab8&
797
+ // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./components/text/text.vue?vue&type=template&id=9eb235b4
223
798
  var render = function () {
224
799
  var _vm = this
225
800
  var _h = _vm.$createElement
@@ -240,13 +815,13 @@ var staticRenderFns = []
240
815
  render._withStripped = true
241
816
 
242
817
 
243
- // CONCATENATED MODULE: ./components/text/text.vue?vue&type=template&id=0c79aab8&
818
+ // CONCATENATED MODULE: ./components/text/text.vue?vue&type=template&id=9eb235b4
244
819
 
245
820
  // EXTERNAL MODULE: external "./icon"
246
821
  var external_icon_ = __webpack_require__(7);
247
822
  var external_icon_default = /*#__PURE__*/__webpack_require__.n(external_icon_);
248
823
 
249
- // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./components/text/text.vue?vue&type=script&lang=js&
824
+ // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./components/text/text.vue?vue&type=script&lang=js
250
825
  //
251
826
  //
252
827
  //
@@ -255,7 +830,7 @@ var external_icon_default = /*#__PURE__*/__webpack_require__.n(external_icon_);
255
830
  //
256
831
 
257
832
 
258
- /* harmony default export */ var textvue_type_script_lang_js_ = ({
833
+ /* harmony default export */ var textvue_type_script_lang_js = ({
259
834
  name: 'MdsText',
260
835
  components: {
261
836
  MdsIcon: external_icon_default.a
@@ -351,8 +926,8 @@ var external_icon_default = /*#__PURE__*/__webpack_require__.n(external_icon_);
351
926
  methods: {},
352
927
  mounted: function mounted() {}
353
928
  });
354
- // CONCATENATED MODULE: ./components/text/text.vue?vue&type=script&lang=js&
355
- /* harmony default export */ var text_textvue_type_script_lang_js_ = (textvue_type_script_lang_js_);
929
+ // CONCATENATED MODULE: ./components/text/text.vue?vue&type=script&lang=js
930
+ /* harmony default export */ var text_textvue_type_script_lang_js = (textvue_type_script_lang_js);
356
931
  // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
357
932
  var componentNormalizer = __webpack_require__(0);
358
933
 
@@ -365,7 +940,7 @@ var componentNormalizer = __webpack_require__(0);
365
940
  /* normalize component */
366
941
 
367
942
  var component = Object(componentNormalizer["a" /* default */])(
368
- text_textvue_type_script_lang_js_,
943
+ text_textvue_type_script_lang_js,
369
944
  render,
370
945
  staticRenderFns,
371
946
  false,
@@ -375,12 +950,9 @@ var component = Object(componentNormalizer["a" /* default */])(
375
950
 
376
951
  )
377
952
 
378
- /* hot reload */
379
- if (false) { var api; }
380
- component.options.__file = "components/text/text.vue"
381
953
  /* harmony default export */ var text_text = (component.exports);
382
- // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./components/text/link.vue?vue&type=template&id=7cc366f1&
383
- var linkvue_type_template_id_7cc366f1_render = function () {
954
+ // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./components/text/link.vue?vue&type=template&id=06061700
955
+ var linkvue_type_template_id_06061700_render = function () {
384
956
  var _vm = this
385
957
  var _h = _vm.$createElement
386
958
  var _c = _vm._self._c || _h
@@ -394,13 +966,13 @@ var linkvue_type_template_id_7cc366f1_render = function () {
394
966
  2
395
967
  )
396
968
  }
397
- var linkvue_type_template_id_7cc366f1_staticRenderFns = []
398
- linkvue_type_template_id_7cc366f1_render._withStripped = true
969
+ var linkvue_type_template_id_06061700_staticRenderFns = []
970
+ linkvue_type_template_id_06061700_render._withStripped = true
399
971
 
400
972
 
401
- // CONCATENATED MODULE: ./components/text/link.vue?vue&type=template&id=7cc366f1&
973
+ // CONCATENATED MODULE: ./components/text/link.vue?vue&type=template&id=06061700
402
974
 
403
- // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./components/text/link.vue?vue&type=script&lang=js&
975
+ // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./components/text/link.vue?vue&type=script&lang=js
404
976
  //
405
977
  //
406
978
  //
@@ -408,7 +980,7 @@ linkvue_type_template_id_7cc366f1_render._withStripped = true
408
980
  //
409
981
  //
410
982
 
411
- /* harmony default export */ var linkvue_type_script_lang_js_ = ({
983
+ /* harmony default export */ var linkvue_type_script_lang_js = ({
412
984
  name: 'MdsLink',
413
985
  props: {
414
986
  url: {
@@ -431,8 +1003,8 @@ linkvue_type_template_id_7cc366f1_render._withStripped = true
431
1003
  methods: {},
432
1004
  mounted: function mounted() {}
433
1005
  });
434
- // CONCATENATED MODULE: ./components/text/link.vue?vue&type=script&lang=js&
435
- /* harmony default export */ var text_linkvue_type_script_lang_js_ = (linkvue_type_script_lang_js_);
1006
+ // CONCATENATED MODULE: ./components/text/link.vue?vue&type=script&lang=js
1007
+ /* harmony default export */ var text_linkvue_type_script_lang_js = (linkvue_type_script_lang_js);
436
1008
  // CONCATENATED MODULE: ./components/text/link.vue
437
1009
 
438
1010
 
@@ -442,9 +1014,9 @@ linkvue_type_template_id_7cc366f1_render._withStripped = true
442
1014
  /* normalize component */
443
1015
 
444
1016
  var link_component = Object(componentNormalizer["a" /* default */])(
445
- text_linkvue_type_script_lang_js_,
446
- linkvue_type_template_id_7cc366f1_render,
447
- linkvue_type_template_id_7cc366f1_staticRenderFns,
1017
+ text_linkvue_type_script_lang_js,
1018
+ linkvue_type_template_id_06061700_render,
1019
+ linkvue_type_template_id_06061700_staticRenderFns,
448
1020
  false,
449
1021
  null,
450
1022
  null,
@@ -452,12 +1024,9 @@ var link_component = Object(componentNormalizer["a" /* default */])(
452
1024
 
453
1025
  )
454
1026
 
455
- /* hot reload */
456
- if (false) { var link_api; }
457
- link_component.options.__file = "components/text/link.vue"
458
1027
  /* harmony default export */ var text_link = (link_component.exports);
459
- // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./components/text/customize.vue?vue&type=template&id=56d05148&
460
- var customizevue_type_template_id_56d05148_render = function () {
1028
+ // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./components/text/customize.vue?vue&type=template&id=673da844
1029
+ var customizevue_type_template_id_673da844_render = function () {
461
1030
  var _vm = this
462
1031
  var _h = _vm.$createElement
463
1032
  var _c = _vm._self._c || _h
@@ -550,357 +1119,22 @@ var customizevue_type_template_id_56d05148_render = function () {
550
1119
  1
551
1120
  ),
552
1121
  ]
553
- : _vm._e(),
554
- ],
555
- 2
556
- )
557
- }
558
- var customizevue_type_template_id_56d05148_staticRenderFns = []
559
- customizevue_type_template_id_56d05148_render._withStripped = true
560
-
561
-
562
- // CONCATENATED MODULE: ./components/text/customize.vue?vue&type=template&id=56d05148&
563
-
564
- // EXTERNAL MODULE: ./components/input/textarea.vue + 5 modules
565
- var input_textarea = __webpack_require__(45);
566
-
567
- // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./components/text/customize.vue?vue&type=script&lang=js&
568
- //
569
- //
570
- //
571
- //
572
- //
573
- //
574
- //
575
- //
576
- //
577
- //
578
- //
579
- //
580
- //
581
- //
582
- //
583
- //
584
- //
585
- //
586
- //
587
- //
588
- //
589
- //
590
- //
591
- //
592
- //
593
- //
594
- //
595
- //
596
-
597
-
598
-
599
- /* harmony default export */ var customizevue_type_script_lang_js_ = ({
600
- name: 'MdsTextCustomize',
601
- components: {
602
- MdsIcon: external_icon_default.a,
603
- MdsInputTextarea: input_textarea["a" /* default */]
604
- },
605
- props: {
606
- editable: {
607
- type: Boolean,
608
- default: false
609
- },
610
- copyable: {
611
- type: Boolean,
612
- default: false
613
- }
614
- },
615
- data: function data() {
616
- return {
617
- editing: false,
618
- copied: false,
619
- textContent: ''
620
- };
621
- },
622
-
623
- methods: {
624
- handleEdit: function handleEdit() {
625
- this.textContent = this.$slots.default[0].text;
626
- this.editing = true;
627
- this.$nextTick(function () {
628
- // this.$refs.textarea.focus()
629
- document.querySelector('#editTextarea').focus();
630
- });
631
- },
632
- finishEdit: function finishEdit() {
633
- this.editing = false;
634
- this.$slots.default[0].text = this.textContent;
635
- },
636
- handleCopy: function handleCopy() {
637
- if (!this.copied) {
638
- var copyContent = document.querySelector('#copy-target').textContent;
639
- var that = this;
640
- this.$copyText(copyContent).then(function () {
641
- that.copied = true;
642
- });
643
- }
644
- }
645
- },
646
- mounted: function mounted() {}
647
- });
648
- // CONCATENATED MODULE: ./components/text/customize.vue?vue&type=script&lang=js&
649
- /* harmony default export */ var text_customizevue_type_script_lang_js_ = (customizevue_type_script_lang_js_);
650
- // CONCATENATED MODULE: ./components/text/customize.vue
651
-
652
-
653
-
654
-
655
-
656
- /* normalize component */
657
-
658
- var customize_component = Object(componentNormalizer["a" /* default */])(
659
- text_customizevue_type_script_lang_js_,
660
- customizevue_type_template_id_56d05148_render,
661
- customizevue_type_template_id_56d05148_staticRenderFns,
662
- false,
663
- null,
664
- null,
665
- null
666
-
667
- )
668
-
669
- /* hot reload */
670
- if (false) { var customize_api; }
671
- customize_component.options.__file = "components/text/customize.vue"
672
- /* harmony default export */ var customize = (customize_component.exports);
673
- // CONCATENATED MODULE: ./components/text/index.js
674
-
675
-
676
-
677
-
678
- /* istanbul ignore next */
679
- text_text.install = function (Vue) {
680
- Vue.component(text_text.name, text_text);
681
- Vue.component(text_link.name, text_link);
682
- Vue.component(customize.name, customize);
683
- };
684
- /* harmony default export */ var components_text = __webpack_exports__["default"] = (text_text);
685
-
686
- /***/ }),
687
-
688
- /***/ 13:
689
- /***/ (function(module, exports) {
690
-
691
- module.exports = __WEBPACK_EXTERNAL_MODULE__13__;
692
-
693
- /***/ }),
694
-
695
- /***/ 142:
696
- /***/ (function(module, exports) {
697
-
698
- // removed by extract-text-webpack-plugin
699
-
700
- /***/ }),
701
-
702
- /***/ 265:
703
- /***/ (function(module, exports) {
704
-
705
- // removed by extract-text-webpack-plugin
706
-
707
- /***/ }),
708
-
709
- /***/ 45:
710
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
711
-
712
- "use strict";
713
-
714
- // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./components/input/textarea.vue?vue&type=template&id=5786ca5a&
715
- var render = function () {
716
- var _vm = this
717
- var _h = _vm.$createElement
718
- var _c = _vm._self._c || _h
719
- return _c(
720
- "div",
721
- { class: _vm.prefixCls + "-content " + (_vm.disabled ? "disable" : "") },
722
- [
723
- _c("textarea", {
724
- directives: [
725
- {
726
- name: "model",
727
- rawName: "v-model",
728
- value: _vm.valueData,
729
- expression: "valueData",
730
- },
731
- ],
732
- ref: "textAreaRef",
733
- class: [
734
- _vm.prefixCls + " " + _vm.prefixCls + "-textarea",
735
- _vm.disabled ? "mds-input-disabled" : "",
736
- ],
737
- style: _vm.textareaStyles,
738
- attrs: {
739
- maxlength: _vm.max_length,
740
- minlength: _vm.min_length,
741
- rows: _vm.rows,
742
- placeholder: _vm.placeholder,
743
- disabled: _vm.disabled,
744
- },
745
- domProps: { value: _vm.valueData },
746
- on: {
747
- input: [
748
- function ($event) {
749
- if ($event.target.composing) {
750
- return
751
- }
752
- _vm.valueData = $event.target.value
753
- },
754
- _vm.handleInput,
755
- ],
756
- keypress: _vm.handleKeyDown,
757
- change: _vm.handleChange,
758
- focus: _vm.handleFocus,
759
- blur: _vm.handleBlur,
760
- },
761
- }),
762
- _vm.showLimit && _vm.max_length
763
- ? _c("span", { class: _vm.prefixCls + "-show-limit" }, [
764
- _vm._v(_vm._s(_vm.number) + "/" + _vm._s(_vm.max_length)),
765
- ])
766
- : _vm._e(),
767
- ]
768
- )
769
- }
770
- var staticRenderFns = []
771
- render._withStripped = true
772
-
773
-
774
- // CONCATENATED MODULE: ./components/input/textarea.vue?vue&type=template&id=5786ca5a&
775
-
776
- // CONCATENATED MODULE: ./components/input/calculateNodeHeight.js
777
- // Thanks to https://github.com/andreypopp/react-textarea-autosize/
778
-
779
- /**
780
- * calculateNodeHeight(uiTextNode, useCache = false)
781
- */
782
-
783
- var HIDDEN_TEXTAREA_STYLE = '\n min-height:0 !important;\n max-height:none !important;\n height:0 !important;\n visibility:hidden !important;\n overflow:hidden !important;\n position:absolute !important;\n z-index:-1000 !important;\n top:0 !important;\n right:0 !important;\n';
784
-
785
- var SIZING_STYLE = ['letter-spacing', 'line-height', 'padding-top', 'padding-bottom', 'font-family', 'font-weight', 'font-size', 'text-rendering', 'text-transform', 'width', 'text-indent', 'padding-left', 'padding-right', 'border-width', 'box-sizing'];
786
-
787
- var computedStyleCache = {};
788
- var hiddenTextarea = void 0;
789
-
790
- function calculateNodeStyling(node) {
791
- var useCache = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
792
-
793
- var nodeRef = node.getAttribute('id') || node.getAttribute('data-reactid') || node.getAttribute('name');
794
-
795
- if (useCache && computedStyleCache[nodeRef]) {
796
- return computedStyleCache[nodeRef];
797
- }
798
-
799
- var style = window.getComputedStyle(node);
800
-
801
- var boxSizing = style.getPropertyValue('box-sizing') || style.getPropertyValue('-moz-box-sizing') || style.getPropertyValue('-webkit-box-sizing');
802
-
803
- var paddingSize = parseFloat(style.getPropertyValue('padding-bottom')) + parseFloat(style.getPropertyValue('padding-top'));
804
-
805
- var borderSize = parseFloat(style.getPropertyValue('border-bottom-width')) + parseFloat(style.getPropertyValue('border-top-width'));
806
-
807
- var sizingStyle = SIZING_STYLE.map(function (name) {
808
- return name + ':' + style.getPropertyValue(name);
809
- }).join(';');
810
-
811
- var nodeInfo = {
812
- sizingStyle: sizingStyle,
813
- paddingSize: paddingSize,
814
- borderSize: borderSize,
815
- boxSizing: boxSizing
816
- };
817
-
818
- if (useCache && nodeRef) {
819
- computedStyleCache[nodeRef] = nodeInfo;
820
- }
821
-
822
- return nodeInfo;
1122
+ : _vm._e(),
1123
+ ],
1124
+ 2
1125
+ )
823
1126
  }
1127
+ var customizevue_type_template_id_673da844_staticRenderFns = []
1128
+ customizevue_type_template_id_673da844_render._withStripped = true
824
1129
 
825
- function calculateNodeHeight(uiTextNode) {
826
- var useCache = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
827
- var minRows = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
828
- var maxRows = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
829
-
830
- if (!hiddenTextarea) {
831
- hiddenTextarea = document.createElement('textarea');
832
- document.body.appendChild(hiddenTextarea);
833
- }
834
-
835
- // Fix wrap="off" issue
836
- // https://github.com/mds-design/mds-design/issues/6577
837
- if (uiTextNode.getAttribute('wrap')) {
838
- hiddenTextarea.setAttribute('wrap', uiTextNode.getAttribute('wrap'));
839
- } else {
840
- hiddenTextarea.removeAttribute('wrap');
841
- }
842
-
843
- // Copy all CSS properties that have an impact on the height of the content in
844
- // the textbox
845
-
846
- var _calculateNodeStyling = calculateNodeStyling(uiTextNode, useCache),
847
- paddingSize = _calculateNodeStyling.paddingSize,
848
- borderSize = _calculateNodeStyling.borderSize,
849
- boxSizing = _calculateNodeStyling.boxSizing,
850
- sizingStyle = _calculateNodeStyling.sizingStyle;
851
-
852
- // Need to have the overflow attribute to hide the scrollbar otherwise
853
- // text-lines will not calculated properly as the shadow will technically be
854
- // narrower for content
855
-
856
-
857
- hiddenTextarea.setAttribute('style', sizingStyle + ';' + HIDDEN_TEXTAREA_STYLE);
858
- hiddenTextarea.value = uiTextNode.value || uiTextNode.placeholder || '';
859
-
860
- var minHeight = -Infinity;
861
- var maxHeight = Infinity;
862
- var height = hiddenTextarea.scrollHeight;
863
- var overflowY = void 0;
864
1130
 
865
- if (boxSizing === 'border-box') {
866
- // border-box: add border, since height = content + padding + border
867
- height = height + borderSize;
868
- } else if (boxSizing === 'content-box') {
869
- // remove padding, since height = content
870
- height = height - paddingSize;
871
- }
1131
+ // CONCATENATED MODULE: ./components/text/customize.vue?vue&type=template&id=673da844
872
1132
 
873
- if (minRows !== null || maxRows !== null) {
874
- // measure height of a textarea with a single row
875
- hiddenTextarea.value = '';
876
- var singleRowHeight = hiddenTextarea.scrollHeight - paddingSize;
877
- if (minRows !== null) {
878
- minHeight = singleRowHeight * minRows;
879
- if (boxSizing === 'border-box') {
880
- minHeight = minHeight + paddingSize + borderSize;
881
- }
882
- height = Math.max(minHeight, height);
883
- }
884
- if (maxRows !== null) {
885
- maxHeight = singleRowHeight * maxRows;
886
- if (boxSizing === 'border-box') {
887
- maxHeight = maxHeight + paddingSize + borderSize;
888
- }
889
- overflowY = height > maxHeight ? '' : 'hidden';
890
- height = Math.min(maxHeight, height);
891
- }
892
- }
893
- // Remove scroll bar flash when autosize without maxRows
894
- if (!maxRows) {
895
- overflowY = 'hidden';
896
- }
897
- return { height: height + 'px', minHeight: minHeight + 'px', maxHeight: maxHeight + 'px', overflowY: overflowY };
898
- }
899
- // EXTERNAL MODULE: external "./_mixin/emitter"
900
- var emitter_ = __webpack_require__(13);
901
- var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_);
1133
+ // EXTERNAL MODULE: ./components/input/textarea.vue + 5 modules
1134
+ var input_textarea = __webpack_require__(44);
902
1135
 
903
- // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./components/input/textarea.vue?vue&type=script&lang=js&
1136
+ // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./components/text/customize.vue?vue&type=script&lang=js
1137
+ //
904
1138
  //
905
1139
  //
906
1140
  //
@@ -931,155 +1165,58 @@ var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_);
931
1165
 
932
1166
 
933
1167
 
934
-
935
- function onNextFrame(cb) {
936
- if (window.requestAnimationFrame) {
937
- return window.requestAnimationFrame(cb);
938
- }
939
- return window.setTimeout(cb, 1);
940
- }
941
-
942
- function clearNextFrameAction(nextFrameId) {
943
- if (window.cancelAnimationFrame) {
944
- window.cancelAnimationFrame(nextFrameId);
945
- } else {
946
- window.clearTimeout(nextFrameId);
947
- }
948
- }
949
-
950
- /* harmony default export */ var textareavue_type_script_lang_js_ = ({
951
- name: 'MdsInputTextarea',
952
- mixins: [emitter_default.a],
1168
+ /* harmony default export */ var customizevue_type_script_lang_js = ({
1169
+ name: 'MdsTextCustomize',
1170
+ components: {
1171
+ MdsIcon: external_icon_default.a,
1172
+ MdsInputTextarea: input_textarea["a" /* default */]
1173
+ },
953
1174
  props: {
954
- autosize: {
955
- type: [Boolean, Object],
956
- default: false
957
- },
958
- prefixCls: {
959
- type: String,
960
- default: 'mds-input'
961
- },
962
- maxlength: {
963
- type: Number
964
- },
965
- minlength: {
966
- type: Number
967
- },
968
- rows: {
969
- type: Number,
970
- default: 4
971
- },
972
- showLimit: {
1175
+ editable: {
973
1176
  type: Boolean,
974
1177
  default: false
975
1178
  },
976
- placeholder: {
977
- type: String,
978
- default: ''
979
- },
980
- disabled: {
1179
+ copyable: {
981
1180
  type: Boolean,
982
1181
  default: false
983
- },
984
- value: null
1182
+ }
985
1183
  },
986
1184
  data: function data() {
987
1185
  return {
988
- textareaStyles: {},
989
- number: 0
1186
+ editing: false,
1187
+ copied: false,
1188
+ textContent: ''
990
1189
  };
991
1190
  },
992
1191
 
993
- computed: {
994
- valueData: {
995
- get: function get() {
996
- return this.value || '';
997
- },
998
- set: function set(value) {
999
- this.$emit('input', value);
1000
- }
1001
- },
1002
- max_length: function max_length() {
1003
- return this.$attrs.maxlength || this.maxlength;
1004
- },
1005
- min_length: function min_length() {
1006
- return this.$attrs.minlength || this.minlength;
1007
- }
1008
- },
1009
- watch: {
1010
- valueData: {
1011
- immediate: true,
1012
- handler: function handler(newVal) {
1013
- var _this = this;
1014
-
1015
- this.$nextTick(function () {
1016
- _this.resizeTextarea();
1017
- });
1018
- if (newVal.length > this.maxlength) {
1019
- return false;
1020
- } else {
1021
- this.number = newVal.length;
1022
- }
1023
- }
1024
- }
1025
- },
1026
- created: function created() {
1027
- this.number = this.valueData.length;
1028
- },
1029
-
1030
1192
  methods: {
1031
- handleChange: function handleChange(e) {
1032
- this.$emit('change', e);
1033
- },
1034
- handleInput: function handleInput(e) {
1035
- if (this.nextFrameActionId) {
1036
- clearNextFrameAction(this.nextFrameActionId);
1037
- }
1038
- this.nextFrameActionId = onNextFrame(this.resizeTextarea);
1039
- this.$emit('input', e.target.value);
1040
- this.dispatch('MdsFormItem', 'formItemChange', e.target.value);
1193
+ handleEdit: function handleEdit() {
1194
+ this.textContent = this.$slots.default[0].text;
1195
+ this.editing = true;
1196
+ this.$nextTick(function () {
1197
+ // this.$refs.textarea.focus()
1198
+ document.querySelector('#editTextarea').focus();
1199
+ });
1041
1200
  },
1042
- handleKeyDown: function handleKeyDown(e) {
1043
- if (e.keyCode === 13) {
1044
- this.$emit('press-enter', e);
1045
- }
1046
- this.$emit('keydown', e);
1201
+ finishEdit: function finishEdit() {
1202
+ this.editing = false;
1203
+ this.$slots.default[0].text = this.textContent;
1047
1204
  },
1048
- resizeTextarea: function resizeTextarea() {
1049
- if (!this.autosize) {
1050
- return false;
1205
+ handleCopy: function handleCopy() {
1206
+ if (!this.copied) {
1207
+ var copyContent = document.querySelector('#copy-target').textContent;
1208
+ var that = this;
1209
+ this.$copyText(copyContent).then(function () {
1210
+ that.copied = true;
1211
+ });
1051
1212
  }
1052
- var minRows = this.autosize ? this.autosize.minRows : null;
1053
- var maxRows = this.autosize ? this.autosize.maxRows : null;
1054
- this.textareaStyles = calculateNodeHeight(this.$refs.textAreaRef, false, minRows, maxRows);
1055
- },
1056
- handleFocus: function handleFocus(e) {
1057
- this.$emit('focus', e);
1058
- },
1059
- handleBlur: function handleBlur(e) {
1060
- this.$emit('blur', e);
1061
- this.dispatch('MdsFormItem', 'formItemBlur', e);
1062
- },
1063
- focus: function focus() {
1064
- this.getInput().focus();
1065
- },
1066
- blur: function blur() {
1067
- this.getInput().blur();
1068
- },
1069
- getInput: function getInput() {
1070
- return this.$refs.textAreaRef;
1071
1213
  }
1072
1214
  },
1073
- mounted: function mounted() {
1074
- this.resizeTextarea();
1075
- }
1215
+ mounted: function mounted() {}
1076
1216
  });
1077
- // CONCATENATED MODULE: ./components/input/textarea.vue?vue&type=script&lang=js&
1078
- /* harmony default export */ var input_textareavue_type_script_lang_js_ = (textareavue_type_script_lang_js_);
1079
- // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
1080
- var componentNormalizer = __webpack_require__(0);
1081
-
1082
- // CONCATENATED MODULE: ./components/input/textarea.vue
1217
+ // CONCATENATED MODULE: ./components/text/customize.vue?vue&type=script&lang=js
1218
+ /* harmony default export */ var text_customizevue_type_script_lang_js = (customizevue_type_script_lang_js);
1219
+ // CONCATENATED MODULE: ./components/text/customize.vue
1083
1220
 
1084
1221
 
1085
1222
 
@@ -1087,10 +1224,10 @@ var componentNormalizer = __webpack_require__(0);
1087
1224
 
1088
1225
  /* normalize component */
1089
1226
 
1090
- var component = Object(componentNormalizer["a" /* default */])(
1091
- input_textareavue_type_script_lang_js_,
1092
- render,
1093
- staticRenderFns,
1227
+ var customize_component = Object(componentNormalizer["a" /* default */])(
1228
+ text_customizevue_type_script_lang_js,
1229
+ customizevue_type_template_id_673da844_render,
1230
+ customizevue_type_template_id_673da844_staticRenderFns,
1094
1231
  false,
1095
1232
  null,
1096
1233
  null,
@@ -1098,17 +1235,19 @@ var component = Object(componentNormalizer["a" /* default */])(
1098
1235
 
1099
1236
  )
1100
1237
 
1101
- /* hot reload */
1102
- if (false) { var api; }
1103
- component.options.__file = "components/input/textarea.vue"
1104
- /* harmony default export */ var input_textarea = __webpack_exports__["a"] = (component.exports);
1238
+ /* harmony default export */ var customize = (customize_component.exports);
1239
+ // CONCATENATED MODULE: ./components/text/index.js
1105
1240
 
1106
- /***/ }),
1107
1241
 
1108
- /***/ 7:
1109
- /***/ (function(module, exports) {
1110
1242
 
1111
- module.exports = __WEBPACK_EXTERNAL_MODULE__7__;
1243
+
1244
+ /* istanbul ignore next */
1245
+ text_text.install = function (Vue) {
1246
+ Vue.component(text_text.name, text_text);
1247
+ Vue.component(text_link.name, text_link);
1248
+ Vue.component(customize.name, customize);
1249
+ };
1250
+ /* harmony default export */ var components_text = __webpack_exports__["default"] = (text_text);
1112
1251
 
1113
1252
  /***/ })
1114
1253