cy-element-ui 1.1.13 → 1.1.15

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 (523) hide show
  1. package/README.md +35 -5
  2. package/lib/alert.js +68 -68
  3. package/lib/aside.js +11 -11
  4. package/lib/autocomplete.js +287 -287
  5. package/lib/avatar.js +121 -121
  6. package/lib/backtop.js +91 -91
  7. package/lib/badge.js +32 -32
  8. package/lib/breadcrumb-item.js +33 -33
  9. package/lib/breadcrumb.js +27 -27
  10. package/lib/button-group.js +4 -4
  11. package/lib/button.js +53 -53
  12. package/lib/calendar.js +426 -426
  13. package/lib/card.js +11 -11
  14. package/lib/carousel-item.js +108 -108
  15. package/lib/carousel.js +244 -244
  16. package/lib/cascader-panel.js +1045 -1045
  17. package/lib/cascader.js +577 -577
  18. package/lib/checkbox-button.js +137 -137
  19. package/lib/checkbox-group.js +39 -39
  20. package/lib/checkbox.js +151 -151
  21. package/lib/col.js +64 -64
  22. package/lib/collapse-item.js +66 -66
  23. package/lib/collapse.js +63 -63
  24. package/lib/color-picker.js +944 -944
  25. package/lib/container.js +24 -24
  26. package/lib/date-picker.js +2968 -2967
  27. package/lib/descriptions-item.js +29 -29
  28. package/lib/descriptions.js +324 -324
  29. package/lib/dialog.js +170 -170
  30. package/lib/directives/mousewheel.js +9 -9
  31. package/lib/directives/repeat-click.js +22 -22
  32. package/lib/divider.js +20 -20
  33. package/lib/drawer.js +156 -156
  34. package/lib/dropdown-item.js +19 -19
  35. package/lib/dropdown-menu.js +56 -56
  36. package/lib/dropdown.js +329 -329
  37. package/lib/element-ui.common.js +44918 -0
  38. package/lib/empty.js +39 -39
  39. package/lib/footer.js +11 -11
  40. package/lib/form-item.js +369 -369
  41. package/lib/form.js +181 -181
  42. package/lib/header.js +11 -11
  43. package/lib/icon.js +7 -7
  44. package/lib/image.js +520 -520
  45. package/lib/index.js +1 -1
  46. package/lib/infinite-scroll.js +127 -127
  47. package/lib/input-number.js +260 -260
  48. package/lib/input.js +370 -370
  49. package/lib/link.js +28 -28
  50. package/lib/loading.js +219 -219
  51. package/lib/locale/format.js +25 -26
  52. package/lib/locale/index.js +24 -24
  53. package/lib/locale/lang/en.js +121 -121
  54. package/lib/locale/lang/zh-CN.js +121 -121
  55. package/lib/locale/lang/zh-TW.js +121 -121
  56. package/lib/main.js +5 -5
  57. package/lib/menu-item-group.js +33 -33
  58. package/lib/menu-item.js +116 -116
  59. package/lib/menu.js +490 -490
  60. package/lib/message-box.js +421 -421
  61. package/lib/message.js +150 -150
  62. package/lib/mixins/emitter.js +26 -26
  63. package/lib/mixins/focus.js +7 -7
  64. package/lib/mixins/locale.js +8 -8
  65. package/lib/mixins/migrating.js +34 -34
  66. package/lib/notification.js +184 -184
  67. package/lib/option-group.js +46 -46
  68. package/lib/option.js +145 -145
  69. package/lib/page-header.js +14 -14
  70. package/lib/pagination.js +530 -530
  71. package/lib/popconfirm.js +68 -68
  72. package/lib/popover.js +225 -225
  73. package/lib/progress.js +183 -183
  74. package/lib/radio-button.js +78 -78
  75. package/lib/radio-group.js +103 -103
  76. package/lib/radio.js +86 -86
  77. package/lib/rate.js +283 -283
  78. package/lib/result.js +61 -61
  79. package/lib/row.js +32 -32
  80. package/lib/scrollbar.js +247 -247
  81. package/lib/select.js +999 -999
  82. package/lib/selectDisplayInput.js +61 -61
  83. package/lib/skeleton-item.js +19 -19
  84. package/lib/skeleton.js +53 -53
  85. package/lib/slider.js +550 -550
  86. package/lib/spinner.js +19 -19
  87. package/lib/statistic.js +198 -198
  88. package/lib/step.js +125 -125
  89. package/lib/steps.js +54 -54
  90. package/lib/subTitle.js +24 -24
  91. package/lib/submenu.js +405 -406
  92. package/lib/switch.js +135 -135
  93. package/lib/tab-pane.js +43 -43
  94. package/lib/tabDialog.js +508 -508
  95. package/lib/table-column.js +713 -713
  96. package/lib/table.js +3432 -3432
  97. package/lib/tabs.js +578 -578
  98. package/lib/tag.js +60 -60
  99. package/lib/time-picker.js +1350 -1350
  100. package/lib/time-select.js +949 -949
  101. package/lib/timeline-item.js +25 -25
  102. package/lib/timeline.js +30 -30
  103. package/lib/tooltip.js +255 -255
  104. package/lib/transfer.js +385 -385
  105. package/lib/transitions/collapse-transition.js +76 -76
  106. package/lib/tree.js +1547 -1547
  107. package/lib/treeSelect.js +2618 -2618
  108. package/lib/umd/locale/en.js +137 -137
  109. package/lib/umd/locale/zh-CN.js +137 -137
  110. package/lib/umd/locale/zh-TW.js +137 -137
  111. package/lib/upload.js +738 -738
  112. package/lib/utils/after-leave.js +19 -19
  113. package/lib/utils/aria-dialog.js +56 -56
  114. package/lib/utils/aria-utils.js +66 -66
  115. package/lib/utils/clickoutside.js +39 -39
  116. package/lib/utils/date-util.js +177 -177
  117. package/lib/utils/dom.js +161 -161
  118. package/lib/utils/menu/aria-menubar.js +8 -8
  119. package/lib/utils/menu/aria-menuitem.js +38 -38
  120. package/lib/utils/menu/aria-submenu.js +45 -45
  121. package/lib/utils/merge.js +12 -12
  122. package/lib/utils/popup/index.js +201 -201
  123. package/lib/utils/popup/popup-manager.js +171 -171
  124. package/lib/utils/resize-event.js +33 -33
  125. package/lib/utils/scroll-into-view.js +25 -25
  126. package/lib/utils/scrollbar-width.js +18 -18
  127. package/lib/utils/shared.js +3 -3
  128. package/lib/utils/types.js +10 -10
  129. package/lib/utils/util.js +170 -170
  130. package/lib/utils/vdom.js +1 -1
  131. package/lib/utils/vue-popper.js +176 -176
  132. package/package.json +9 -7
  133. package/packages/alert/index.js +1 -1
  134. package/packages/alert/src/main.vue +82 -82
  135. package/packages/aside/index.js +1 -1
  136. package/packages/aside/src/main.vue +13 -13
  137. package/packages/autocomplete/index.js +1 -1
  138. package/packages/autocomplete/src/autocomplete-suggestions.vue +64 -64
  139. package/packages/autocomplete/src/autocomplete.vue +272 -272
  140. package/packages/avatar/index.js +1 -1
  141. package/packages/avatar/src/main.vue +88 -88
  142. package/packages/backtop/index.js +1 -1
  143. package/packages/backtop/src/main.vue +92 -92
  144. package/packages/badge/index.js +1 -1
  145. package/packages/badge/src/main.vue +41 -41
  146. package/packages/breadcrumb/index.js +1 -1
  147. package/packages/breadcrumb/src/breadcrumb-item.vue +35 -35
  148. package/packages/breadcrumb/src/breadcrumb.vue +27 -27
  149. package/packages/breadcrumb-item/index.js +1 -1
  150. package/packages/button/index.js +1 -1
  151. package/packages/button/src/button-group.vue +6 -6
  152. package/packages/button/src/button.vue +70 -70
  153. package/packages/button-group/index.js +1 -1
  154. package/packages/calendar/index.js +1 -1
  155. package/packages/calendar/src/date-table.vue +193 -193
  156. package/packages/calendar/src/main.vue +242 -242
  157. package/packages/card/index.js +1 -1
  158. package/packages/card/src/main.vue +18 -18
  159. package/packages/carousel/index.js +1 -1
  160. package/packages/carousel/src/item.vue +122 -122
  161. package/packages/carousel/src/main.vue +305 -305
  162. package/packages/carousel-item/index.js +1 -1
  163. package/packages/cascader/index.js +1 -1
  164. package/packages/cascader/src/cascader.vue +626 -626
  165. package/packages/cascader-panel/index.js +1 -1
  166. package/packages/cascader-panel/src/cascader-menu.vue +128 -128
  167. package/packages/cascader-panel/src/cascader-node.vue +244 -244
  168. package/packages/cascader-panel/src/cascader-panel.vue +334 -334
  169. package/packages/cascader-panel/src/node.js +157 -158
  170. package/packages/cascader-panel/src/store.js +49 -50
  171. package/packages/checkbox/index.js +1 -1
  172. package/packages/checkbox/src/checkbox-button.vue +195 -195
  173. package/packages/checkbox/src/checkbox-group.vue +43 -43
  174. package/packages/checkbox/src/checkbox.vue +218 -218
  175. package/packages/checkbox-button/index.js +1 -1
  176. package/packages/checkbox-group/index.js +1 -1
  177. package/packages/col/index.js +1 -1
  178. package/packages/col/src/col.js +63 -63
  179. package/packages/collapse/index.js +1 -1
  180. package/packages/collapse/src/collapse-item.vue +101 -101
  181. package/packages/collapse/src/collapse.vue +61 -61
  182. package/packages/collapse-item/index.js +1 -1
  183. package/packages/color-picker/index.js +1 -1
  184. package/packages/color-picker/src/color.js +263 -263
  185. package/packages/color-picker/src/components/alpha-slider.vue +127 -127
  186. package/packages/color-picker/src/components/hue-slider.vue +118 -118
  187. package/packages/color-picker/src/components/picker-dropdown.vue +105 -105
  188. package/packages/color-picker/src/components/predefine.vue +55 -55
  189. package/packages/color-picker/src/components/sv-panel.vue +95 -95
  190. package/packages/color-picker/src/draggable.js +27 -27
  191. package/packages/color-picker/src/main.vue +183 -183
  192. package/packages/container/index.js +1 -1
  193. package/packages/container/src/main.vue +25 -25
  194. package/packages/date-picker/index.js +1 -1
  195. package/packages/date-picker/src/basic/date-table.vue +435 -435
  196. package/packages/date-picker/src/basic/month-table.vue +239 -240
  197. package/packages/date-picker/src/basic/time-spinner.vue +279 -279
  198. package/packages/date-picker/src/basic/year-table.vue +99 -99
  199. package/packages/date-picker/src/panel/date-range.vue +675 -675
  200. package/packages/date-picker/src/panel/date.vue +604 -604
  201. package/packages/date-picker/src/panel/month-range.vue +260 -260
  202. package/packages/date-picker/src/panel/time-range.vue +242 -242
  203. package/packages/date-picker/src/panel/time-select.vue +173 -173
  204. package/packages/date-picker/src/panel/time.vue +181 -181
  205. package/packages/date-picker/src/picker/date-picker.js +29 -29
  206. package/packages/date-picker/src/picker/time-picker.js +28 -28
  207. package/packages/date-picker/src/picker/time-select.js +12 -12
  208. package/packages/date-picker/src/picker.vue +900 -900
  209. package/packages/descriptions/index.js +1 -1
  210. package/packages/descriptions/src/descriptions-item.js +28 -28
  211. package/packages/descriptions/src/descriptions-row.js +114 -114
  212. package/packages/descriptions/src/index.js +168 -168
  213. package/packages/descriptions-item/index.js +1 -1
  214. package/packages/dialog/index.js +1 -1
  215. package/packages/dialog/src/component.vue +207 -207
  216. package/packages/divider/index.js +1 -1
  217. package/packages/divider/src/main.vue +29 -29
  218. package/packages/drawer/index.js +1 -1
  219. package/packages/drawer/src/main.vue +195 -195
  220. package/packages/dropdown/index.js +1 -1
  221. package/packages/dropdown/src/dropdown-item.vue +29 -29
  222. package/packages/dropdown/src/dropdown-menu.vue +59 -59
  223. package/packages/dropdown/src/dropdown.vue +271 -271
  224. package/packages/dropdown-item/index.js +1 -1
  225. package/packages/dropdown-menu/index.js +1 -1
  226. package/packages/empty/index.js +1 -1
  227. package/packages/empty/src/img-empty.vue +124 -124
  228. package/packages/empty/src/index.vue +40 -40
  229. package/packages/footer/index.js +1 -1
  230. package/packages/footer/src/main.vue +13 -13
  231. package/packages/form/index.js +1 -1
  232. package/packages/form/src/form-item.vue +294 -294
  233. package/packages/form/src/form.vue +169 -169
  234. package/packages/form/src/label-wrap.vue +65 -65
  235. package/packages/form-item/index.js +1 -1
  236. package/packages/header/index.js +1 -1
  237. package/packages/header/src/main.vue +13 -13
  238. package/packages/icon/index.js +1 -1
  239. package/packages/icon/src/icon.vue +7 -7
  240. package/packages/image/index.js +1 -1
  241. package/packages/image/src/image-viewer.vue +309 -309
  242. package/packages/image/src/main.vue +242 -242
  243. package/packages/infinite-scroll/index.js +1 -1
  244. package/packages/infinite-scroll/src/main.js +113 -114
  245. package/packages/input/index.js +1 -1
  246. package/packages/input/src/calcTextareaHeight.js +70 -70
  247. package/packages/input/src/input.vue +416 -416
  248. package/packages/input-number/index.js +1 -1
  249. package/packages/input-number/src/input-number.vue +272 -272
  250. package/packages/link/index.js +1 -1
  251. package/packages/link/src/main.vue +40 -40
  252. package/packages/loading/index.js +6 -6
  253. package/packages/loading/src/directive.js +105 -105
  254. package/packages/loading/src/index.js +74 -74
  255. package/packages/loading/src/loading.vue +35 -35
  256. package/packages/main/index.js +1 -1
  257. package/packages/main/src/main.vue +7 -7
  258. package/packages/menu/index.js +1 -1
  259. package/packages/menu/src/menu-item-group.vue +38 -38
  260. package/packages/menu/src/menu-item.vue +103 -103
  261. package/packages/menu/src/menu-mixin.js +39 -39
  262. package/packages/menu/src/menu.vue +298 -298
  263. package/packages/menu/src/submenu.vue +330 -331
  264. package/packages/menu-item/index.js +1 -1
  265. package/packages/menu-item-group/index.js +1 -1
  266. package/packages/message/src/main.js +65 -65
  267. package/packages/message/src/main.vue +105 -105
  268. package/packages/message-box/src/main.js +172 -172
  269. package/packages/message-box/src/main.vue +309 -309
  270. package/packages/notification/src/main.js +63 -63
  271. package/packages/notification/src/main.vue +135 -135
  272. package/packages/option/index.js +1 -1
  273. package/packages/option-group/index.js +1 -1
  274. package/packages/page-header/index.js +1 -1
  275. package/packages/page-header/src/main.vue +21 -21
  276. package/packages/pagination/index.js +1 -1
  277. package/packages/pagination/src/pager.vue +158 -158
  278. package/packages/pagination/src/pagination.js +377 -377
  279. package/packages/popconfirm/index.js +1 -1
  280. package/packages/popconfirm/src/main.vue +94 -94
  281. package/packages/popover/index.js +2 -2
  282. package/packages/popover/src/directive.js +15 -15
  283. package/packages/popover/src/main.vue +214 -214
  284. package/packages/progress/index.js +1 -1
  285. package/packages/progress/src/progress.vue +228 -228
  286. package/packages/radio/index.js +1 -1
  287. package/packages/radio/src/radio-button.vue +106 -106
  288. package/packages/radio/src/radio-group.vue +101 -101
  289. package/packages/radio/src/radio.vue +122 -122
  290. package/packages/radio-button/index.js +1 -1
  291. package/packages/radio-group/index.js +1 -1
  292. package/packages/rate/index.js +1 -1
  293. package/packages/rate/src/main.vue +316 -316
  294. package/packages/result/index.js +1 -1
  295. package/packages/result/src/icon-error.vue +6 -6
  296. package/packages/result/src/icon-info.vue +6 -6
  297. package/packages/result/src/icon-success.vue +6 -6
  298. package/packages/result/src/icon-warning.vue +6 -6
  299. package/packages/result/src/index.vue +51 -51
  300. package/packages/row/index.js +1 -1
  301. package/packages/row/src/row.js +36 -36
  302. package/packages/scrollbar/index.js +1 -1
  303. package/packages/scrollbar/src/bar.js +86 -86
  304. package/packages/scrollbar/src/main.js +120 -120
  305. package/packages/scrollbar/src/util.js +27 -27
  306. package/packages/select/index.js +1 -1
  307. package/packages/select/src/navigation-mixin.js +47 -47
  308. package/packages/select/src/option-group.vue +55 -55
  309. package/packages/select/src/option.vue +163 -163
  310. package/packages/select/src/select-dropdown.vue +57 -57
  311. package/packages/select/src/select.vue +895 -895
  312. package/packages/selectDisplayInput/index.js +1 -1
  313. package/packages/selectDisplayInput/src/main.vue +61 -61
  314. package/packages/skeleton/index.js +1 -1
  315. package/packages/skeleton/src/img-placeholder.vue +9 -9
  316. package/packages/skeleton/src/index.vue +70 -70
  317. package/packages/skeleton/src/item.vue +17 -17
  318. package/packages/skeleton-item/index.js +1 -1
  319. package/packages/slider/index.js +1 -1
  320. package/packages/slider/src/button.vue +230 -230
  321. package/packages/slider/src/main.vue +422 -422
  322. package/packages/slider/src/marker.js +14 -14
  323. package/packages/spinner/index.js +1 -1
  324. package/packages/spinner/src/spinner.vue +23 -23
  325. package/packages/statistic/index.js +1 -1
  326. package/packages/statistic/src/main.vue +196 -197
  327. package/packages/step/index.js +1 -1
  328. package/packages/steps/index.js +1 -1
  329. package/packages/steps/src/step.vue +177 -177
  330. package/packages/steps/src/steps.vue +53 -53
  331. package/packages/subTitle/index.js +1 -1
  332. package/packages/subTitle/src/main.vue +29 -29
  333. package/packages/submenu/index.js +1 -1
  334. package/packages/switch/index.js +1 -1
  335. package/packages/switch/src/component.vue +169 -169
  336. package/packages/tab-pane/index.js +1 -1
  337. package/packages/tabDialog/index.js +10 -10
  338. package/packages/tabDialog/src/dialog/drag.js +50 -50
  339. package/packages/tabDialog/src/dialog/dragHeight.js +27 -27
  340. package/packages/tabDialog/src/dialog/dragWidth.js +23 -23
  341. package/packages/tabDialog/src/main.vue +257 -257
  342. package/packages/table/index.js +1 -1
  343. package/packages/table/src/config.js +108 -108
  344. package/packages/table/src/dropdown.js +19 -19
  345. package/packages/table/src/filter-panel.vue +189 -189
  346. package/packages/table/src/layout-observer.js +60 -60
  347. package/packages/table/src/store/current.js +65 -65
  348. package/packages/table/src/store/expand.js +57 -57
  349. package/packages/table/src/store/helper.js +32 -32
  350. package/packages/table/src/store/index.js +133 -133
  351. package/packages/table/src/store/tree.js +194 -194
  352. package/packages/table/src/store/watcher.js +366 -366
  353. package/packages/table/src/table-body.js +456 -456
  354. package/packages/table/src/table-column.js +311 -311
  355. package/packages/table/src/table-footer.js +139 -139
  356. package/packages/table/src/table-header.js +496 -496
  357. package/packages/table/src/table-layout.js +241 -241
  358. package/packages/table/src/table-row.js +97 -97
  359. package/packages/table/src/table.vue +666 -666
  360. package/packages/table/src/util.js +214 -214
  361. package/packages/table-column/index.js +1 -1
  362. package/packages/tabs/index.js +1 -1
  363. package/packages/tabs/src/tab-bar.vue +47 -47
  364. package/packages/tabs/src/tab-nav.vue +268 -268
  365. package/packages/tabs/src/tab-pane.vue +47 -47
  366. package/packages/tabs/src/tabs.vue +174 -174
  367. package/packages/tag/index.js +1 -1
  368. package/packages/tag/src/tag.vue +55 -55
  369. package/packages/theme-chalk/gulpfile.js +11 -11
  370. package/packages/theme-chalk/src/alert.scss +138 -138
  371. package/packages/theme-chalk/src/aside.scss +3 -3
  372. package/packages/theme-chalk/src/autocomplete.scss +58 -58
  373. package/packages/theme-chalk/src/avatar.scss +46 -46
  374. package/packages/theme-chalk/src/backtop.scss +16 -16
  375. package/packages/theme-chalk/src/badge.scss +47 -47
  376. package/packages/theme-chalk/src/breadcrumb.scss +49 -49
  377. package/packages/theme-chalk/src/button.scss +229 -229
  378. package/packages/theme-chalk/src/calendar.scss +57 -57
  379. package/packages/theme-chalk/src/card.scss +23 -23
  380. package/packages/theme-chalk/src/carousel-item.scss +41 -41
  381. package/packages/theme-chalk/src/carousel.scss +148 -148
  382. package/packages/theme-chalk/src/cascader-panel.scss +106 -106
  383. package/packages/theme-chalk/src/cascader.scss +173 -173
  384. package/packages/theme-chalk/src/checkbox.scss +346 -346
  385. package/packages/theme-chalk/src/col.scss +130 -130
  386. package/packages/theme-chalk/src/collapse.scss +52 -52
  387. package/packages/theme-chalk/src/color-picker.scss +364 -364
  388. package/packages/theme-chalk/src/common/popup.scss +22 -22
  389. package/packages/theme-chalk/src/common/transition.scss +33 -33
  390. package/packages/theme-chalk/src/common/var.scss +16 -16
  391. package/packages/theme-chalk/src/container.scss +9 -9
  392. package/packages/theme-chalk/src/cy/base.scss +1 -1
  393. package/packages/theme-chalk/src/date-picker/date-picker.scss +91 -91
  394. package/packages/theme-chalk/src/date-picker/date-range-picker.scss +97 -97
  395. package/packages/theme-chalk/src/date-picker/date-table.scss +146 -146
  396. package/packages/theme-chalk/src/date-picker/month-table.scss +69 -69
  397. package/packages/theme-chalk/src/date-picker/picker-panel.scss +105 -105
  398. package/packages/theme-chalk/src/date-picker/picker.scss +188 -188
  399. package/packages/theme-chalk/src/date-picker/time-picker.scss +72 -72
  400. package/packages/theme-chalk/src/date-picker/time-range-picker.scss +23 -23
  401. package/packages/theme-chalk/src/date-picker/time-spinner.scss +106 -106
  402. package/packages/theme-chalk/src/date-picker/year-table.scss +47 -47
  403. package/packages/theme-chalk/src/descriptions-item.scss +33 -33
  404. package/packages/theme-chalk/src/descriptions.scss +105 -105
  405. package/packages/theme-chalk/src/dialog.scss +104 -104
  406. package/packages/theme-chalk/src/display.scss +7 -7
  407. package/packages/theme-chalk/src/divider.scss +36 -36
  408. package/packages/theme-chalk/src/drawer.scss +185 -185
  409. package/packages/theme-chalk/src/dropdown.scss +172 -172
  410. package/packages/theme-chalk/src/empty.scss +34 -34
  411. package/packages/theme-chalk/src/footer.scss +3 -3
  412. package/packages/theme-chalk/src/form.scss +149 -149
  413. package/packages/theme-chalk/src/header.scss +3 -3
  414. package/packages/theme-chalk/src/icon.scss +309 -309
  415. package/packages/theme-chalk/src/image.scss +153 -153
  416. package/packages/theme-chalk/src/input-number.scss +255 -255
  417. package/packages/theme-chalk/src/input.scss +345 -345
  418. package/packages/theme-chalk/src/link.scss +67 -67
  419. package/packages/theme-chalk/src/loading.scss +67 -67
  420. package/packages/theme-chalk/src/main.scss +7 -7
  421. package/packages/theme-chalk/src/menu.scss +248 -248
  422. package/packages/theme-chalk/src/message-box.scss +205 -205
  423. package/packages/theme-chalk/src/message.scss +111 -111
  424. package/packages/theme-chalk/src/mixins/_button.scss +64 -64
  425. package/packages/theme-chalk/src/mixins/function.scss +18 -18
  426. package/packages/theme-chalk/src/mixins/mixins.scss +126 -126
  427. package/packages/theme-chalk/src/mixins/utils.scss +26 -26
  428. package/packages/theme-chalk/src/notification.scss +88 -88
  429. package/packages/theme-chalk/src/option-group.scss +31 -31
  430. package/packages/theme-chalk/src/option.scss +27 -27
  431. package/packages/theme-chalk/src/page-header.scss +31 -31
  432. package/packages/theme-chalk/src/pagination.scss +284 -284
  433. package/packages/theme-chalk/src/popconfirm.scss +11 -11
  434. package/packages/theme-chalk/src/popover.scss +30 -30
  435. package/packages/theme-chalk/src/popper.scss +82 -82
  436. package/packages/theme-chalk/src/progress.scss +128 -128
  437. package/packages/theme-chalk/src/radio-button.scss +94 -94
  438. package/packages/theme-chalk/src/radio-group.scss +4 -4
  439. package/packages/theme-chalk/src/radio.scss +192 -192
  440. package/packages/theme-chalk/src/rate.scss +38 -38
  441. package/packages/theme-chalk/src/reset.scss +39 -39
  442. package/packages/theme-chalk/src/result.scss +56 -56
  443. package/packages/theme-chalk/src/row.scss +31 -31
  444. package/packages/theme-chalk/src/scrollbar.scss +57 -57
  445. package/packages/theme-chalk/src/select-dropdown.scss +47 -47
  446. package/packages/theme-chalk/src/select.scss +140 -140
  447. package/packages/theme-chalk/src/skeleton-item.scss +75 -75
  448. package/packages/theme-chalk/src/skeleton.scss +27 -27
  449. package/packages/theme-chalk/src/slider.scss +238 -238
  450. package/packages/theme-chalk/src/spinner.scss +27 -27
  451. package/packages/theme-chalk/src/statistic.scss +32 -32
  452. package/packages/theme-chalk/src/step.scss +312 -312
  453. package/packages/theme-chalk/src/steps.scss +13 -13
  454. package/packages/theme-chalk/src/switch.scss +101 -101
  455. package/packages/theme-chalk/src/table-column.scss +87 -87
  456. package/packages/theme-chalk/src/table.scss +556 -556
  457. package/packages/theme-chalk/src/tabs.scss +576 -576
  458. package/packages/theme-chalk/src/tag.scss +155 -155
  459. package/packages/theme-chalk/src/time-select.scss +14 -14
  460. package/packages/theme-chalk/src/timeline-item.scss +71 -71
  461. package/packages/theme-chalk/src/timeline.scss +8 -8
  462. package/packages/theme-chalk/src/tooltip.scss +136 -136
  463. package/packages/theme-chalk/src/transfer.scss +214 -214
  464. package/packages/theme-chalk/src/tree.scss +110 -110
  465. package/packages/theme-chalk/src/upload.scss +587 -587
  466. package/packages/time-picker/index.js +1 -1
  467. package/packages/time-select/index.js +1 -1
  468. package/packages/timeline/index.js +1 -1
  469. package/packages/timeline/src/item.vue +56 -56
  470. package/packages/timeline/src/main.vue +28 -28
  471. package/packages/timeline-item/index.js +1 -1
  472. package/packages/tooltip/index.js +1 -1
  473. package/packages/tooltip/src/main.js +234 -234
  474. package/packages/transfer/index.js +1 -1
  475. package/packages/transfer/src/main.vue +225 -225
  476. package/packages/transfer/src/transfer-panel.vue +245 -245
  477. package/packages/tree/index.js +1 -1
  478. package/packages/tree/src/model/node.js +467 -467
  479. package/packages/tree/src/model/tree-store.js +335 -335
  480. package/packages/tree/src/model/util.js +17 -17
  481. package/packages/tree/src/tree-node.vue +247 -247
  482. package/packages/tree/src/tree.vue +491 -491
  483. package/packages/treeSelect/index.js +1 -1
  484. package/packages/treeSelect/src/main.vue +275 -275
  485. package/packages/upload/index.js +1 -1
  486. package/packages/upload/src/ajax.js +77 -77
  487. package/packages/upload/src/index.vue +304 -304
  488. package/packages/upload/src/upload-dragger.vue +65 -65
  489. package/packages/upload/src/upload-list.vue +96 -96
  490. package/packages/upload/src/upload.vue +194 -194
  491. package/src/directives/mousewheel.js +9 -9
  492. package/src/directives/repeat-click.js +20 -20
  493. package/src/index.js +209 -210
  494. package/src/locale/format.js +24 -25
  495. package/src/locale/index.js +25 -25
  496. package/src/locale/lang/en.js +121 -121
  497. package/src/locale/lang/zh-CN.js +121 -121
  498. package/src/locale/lang/zh-TW.js +121 -121
  499. package/src/mixins/emitter.js +26 -26
  500. package/src/mixins/focus.js +7 -7
  501. package/src/mixins/locale.js +5 -5
  502. package/src/mixins/migrating.js +28 -28
  503. package/src/transitions/collapse-transition.js +60 -60
  504. package/src/utils/after-leave.js +17 -17
  505. package/src/utils/aria-dialog.js +48 -48
  506. package/src/utils/aria-utils.js +64 -64
  507. package/src/utils/clickoutside.js +34 -34
  508. package/src/utils/date-util.js +163 -163
  509. package/src/utils/dom.js +165 -165
  510. package/src/utils/menu/aria-menubar.js +5 -5
  511. package/src/utils/menu/aria-menuitem.js +36 -36
  512. package/src/utils/menu/aria-submenu.js +44 -44
  513. package/src/utils/merge.js +12 -12
  514. package/src/utils/popup/index.js +203 -203
  515. package/src/utils/popup/popup-manager.js +169 -169
  516. package/src/utils/resize-event.js +20 -20
  517. package/src/utils/scroll-into-view.js +20 -20
  518. package/src/utils/scrollbar-width.js +18 -18
  519. package/src/utils/shared.js +3 -3
  520. package/src/utils/types.js +12 -12
  521. package/src/utils/util.js +157 -157
  522. package/src/utils/vdom.js +1 -1
  523. package/src/utils/vue-popper.js +179 -179
package/lib/upload.js CHANGED
@@ -220,8 +220,8 @@ module.exports = require("element-ui/lib/progress");
220
220
  // ESM COMPAT FLAG
221
221
  __webpack_require__.r(__webpack_exports__);
222
222
 
223
- // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/upload/src/upload-list.vue?vue&type=template&id=297b92c2
224
- var upload_listvue_type_template_id_297b92c2_render = function () {
223
+ // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/upload/src/upload-list.vue?vue&type=template&id=3c713bfc
224
+ var upload_listvue_type_template_id_3c713bfc_render = function () {
225
225
  var _vm = this
226
226
  var _h = _vm.$createElement
227
227
  var _c = _vm._self._c || _h
@@ -294,7 +294,7 @@ var upload_listvue_type_template_id_297b92c2_render = function () {
294
294
  },
295
295
  [
296
296
  _c("i", { staticClass: "el-icon-document" }),
297
- _vm._v(_vm._s(file.name) + "\n "),
297
+ _vm._v(_vm._s(file.name) + "\n\t\t\t"),
298
298
  ]
299
299
  ),
300
300
  _c(
@@ -378,10 +378,10 @@ var upload_listvue_type_template_id_297b92c2_render = function () {
378
378
  )
379
379
  }
380
380
  var staticRenderFns = []
381
- upload_listvue_type_template_id_297b92c2_render._withStripped = true
381
+ upload_listvue_type_template_id_3c713bfc_render._withStripped = true
382
382
 
383
383
 
384
- // CONCATENATED MODULE: ./packages/upload/src/upload-list.vue?vue&type=template&id=297b92c2
384
+ // CONCATENATED MODULE: ./packages/upload/src/upload-list.vue?vue&type=template&id=3c713bfc
385
385
 
386
386
  // EXTERNAL MODULE: external "element-ui/lib/mixins/locale"
387
387
  var locale_ = __webpack_require__(7);
@@ -462,40 +462,40 @@ var progress_default = /*#__PURE__*/__webpack_require__.n(progress_);
462
462
 
463
463
  /* harmony default export */ var upload_listvue_type_script_lang_js = ({
464
464
 
465
- name: 'ElUploadList',
466
-
467
- mixins: [locale_default.a],
468
-
469
- data: function data() {
470
- return {
471
- focusing: false
472
- };
473
- },
474
-
475
- components: { ElProgress: progress_default.a },
476
-
477
- props: {
478
- files: {
479
- type: Array,
480
- default: function _default() {
481
- return [];
482
- }
483
- },
484
- disabled: {
485
- type: Boolean,
486
- default: false
487
- },
488
- handlePreview: Function,
489
- listType: String
490
- },
491
- methods: {
492
- parsePercentage: function parsePercentage(val) {
493
- return parseInt(val, 10);
494
- },
495
- handleClick: function handleClick(file) {
496
- this.handlePreview && this.handlePreview(file);
497
- }
498
- }
465
+ name: 'ElUploadList',
466
+
467
+ mixins: [locale_default.a],
468
+
469
+ data: function data() {
470
+ return {
471
+ focusing: false
472
+ };
473
+ },
474
+
475
+ components: { ElProgress: progress_default.a },
476
+
477
+ props: {
478
+ files: {
479
+ type: Array,
480
+ default: function _default() {
481
+ return [];
482
+ }
483
+ },
484
+ disabled: {
485
+ type: Boolean,
486
+ default: false
487
+ },
488
+ handlePreview: Function,
489
+ listType: String
490
+ },
491
+ methods: {
492
+ parsePercentage: function parsePercentage(val) {
493
+ return parseInt(val, 10);
494
+ },
495
+ handleClick: function handleClick(file) {
496
+ this.handlePreview && this.handlePreview(file);
497
+ }
498
+ }
499
499
  });
500
500
  // CONCATENATED MODULE: ./packages/upload/src/upload-list.vue?vue&type=script&lang=js
501
501
  /* harmony default export */ var src_upload_listvue_type_script_lang_js = (upload_listvue_type_script_lang_js);
@@ -512,7 +512,7 @@ var componentNormalizer = __webpack_require__(0);
512
512
 
513
513
  var component = Object(componentNormalizer["a" /* default */])(
514
514
  src_upload_listvue_type_script_lang_js,
515
- upload_listvue_type_template_id_297b92c2_render,
515
+ upload_listvue_type_template_id_3c713bfc_render,
516
516
  staticRenderFns,
517
517
  false,
518
518
  null,
@@ -528,92 +528,92 @@ var external_babel_helper_vue_jsx_merge_props_default = /*#__PURE__*/__webpack_r
528
528
 
529
529
  // CONCATENATED MODULE: ./packages/upload/src/ajax.js
530
530
  function getError(action, option, xhr) {
531
- var msg = void 0;
532
- if (xhr.response) {
533
- msg = '' + (xhr.response.error || xhr.response);
534
- } else if (xhr.responseText) {
535
- msg = '' + xhr.responseText;
536
- } else {
537
- msg = 'fail to post ' + action + ' ' + xhr.status;
538
- }
539
-
540
- var err = new Error(msg);
541
- err.status = xhr.status;
542
- err.method = 'post';
543
- err.url = action;
544
- return err;
531
+ var msg = void 0;
532
+ if (xhr.response) {
533
+ msg = '' + (xhr.response.error || xhr.response);
534
+ } else if (xhr.responseText) {
535
+ msg = '' + xhr.responseText;
536
+ } else {
537
+ msg = 'fail to post ' + action + ' ' + xhr.status;
538
+ }
539
+
540
+ var err = new Error(msg);
541
+ err.status = xhr.status;
542
+ err.method = 'post';
543
+ err.url = action;
544
+ return err;
545
545
  }
546
546
 
547
547
  function getBody(xhr) {
548
- var text = xhr.responseText || xhr.response;
549
- if (!text) {
550
- return text;
551
- }
552
-
553
- try {
554
- return JSON.parse(text);
555
- } catch (e) {
556
- return text;
557
- }
548
+ var text = xhr.responseText || xhr.response;
549
+ if (!text) {
550
+ return text;
551
+ }
552
+
553
+ try {
554
+ return JSON.parse(text);
555
+ } catch (e) {
556
+ return text;
557
+ }
558
558
  }
559
559
 
560
560
  function upload(option) {
561
- if (typeof XMLHttpRequest === 'undefined') {
562
- return;
563
- }
564
-
565
- var xhr = new XMLHttpRequest();
566
- var action = option.action;
567
-
568
- if (xhr.upload) {
569
- xhr.upload.onprogress = function progress(e) {
570
- if (e.total > 0) {
571
- e.percent = e.loaded / e.total * 100;
572
- }
573
- option.onProgress(e);
574
- };
575
- }
576
-
577
- var formData = new FormData();
578
-
579
- if (option.data) {
580
- Object.keys(option.data).forEach(function (key) {
581
- formData.append(key, option.data[key]);
582
- });
583
- }
584
-
585
- formData.append(option.filename, option.file, option.file.name);
586
-
587
- xhr.onerror = function error(e) {
588
- option.onError(e);
589
- };
590
-
591
- xhr.onload = function onload() {
592
- if (xhr.status < 200 || xhr.status >= 300) {
593
- return option.onError(getError(action, option, xhr));
594
- }
595
-
596
- option.onSuccess(getBody(xhr));
597
- };
598
-
599
- xhr.open('post', action, true);
600
-
601
- if (option.withCredentials && 'withCredentials' in xhr) {
602
- xhr.withCredentials = true;
603
- }
604
-
605
- var headers = option.headers || {};
606
-
607
- for (var item in headers) {
608
- if (headers.hasOwnProperty(item) && headers[item] !== null) {
609
- xhr.setRequestHeader(item, headers[item]);
610
- }
611
- }
612
- xhr.send(formData);
613
- return xhr;
561
+ if (typeof XMLHttpRequest === 'undefined') {
562
+ return;
563
+ }
564
+
565
+ var xhr = new XMLHttpRequest();
566
+ var action = option.action;
567
+
568
+ if (xhr.upload) {
569
+ xhr.upload.onprogress = function progress(e) {
570
+ if (e.total > 0) {
571
+ e.percent = e.loaded / e.total * 100;
572
+ }
573
+ option.onProgress(e);
574
+ };
575
+ }
576
+
577
+ var formData = new FormData();
578
+
579
+ if (option.data) {
580
+ Object.keys(option.data).forEach(function (key) {
581
+ formData.append(key, option.data[key]);
582
+ });
583
+ }
584
+
585
+ formData.append(option.filename, option.file, option.file.name);
586
+
587
+ xhr.onerror = function error(e) {
588
+ option.onError(e);
589
+ };
590
+
591
+ xhr.onload = function onload() {
592
+ if (xhr.status < 200 || xhr.status >= 300) {
593
+ return option.onError(getError(action, option, xhr));
594
+ }
595
+
596
+ option.onSuccess(getBody(xhr));
597
+ };
598
+
599
+ xhr.open('post', action, true);
600
+
601
+ if (option.withCredentials && 'withCredentials' in xhr) {
602
+ xhr.withCredentials = true;
603
+ }
604
+
605
+ var headers = option.headers || {};
606
+
607
+ for (var item in headers) {
608
+ if (headers.hasOwnProperty(item) && headers[item] !== null) {
609
+ xhr.setRequestHeader(item, headers[item]);
610
+ }
611
+ }
612
+ xhr.send(formData);
613
+ return xhr;
614
614
  }
615
- // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/upload/src/upload-dragger.vue?vue&type=template&id=4c315758
616
- var upload_draggervue_type_template_id_4c315758_render = function () {
615
+ // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/upload/src/upload-dragger.vue?vue&type=template&id=1b387969
616
+ var upload_draggervue_type_template_id_1b387969_render = function () {
617
617
  var _vm = this
618
618
  var _h = _vm.$createElement
619
619
  var _c = _vm._self._c || _h
@@ -643,11 +643,11 @@ var upload_draggervue_type_template_id_4c315758_render = function () {
643
643
  2
644
644
  )
645
645
  }
646
- var upload_draggervue_type_template_id_4c315758_staticRenderFns = []
647
- upload_draggervue_type_template_id_4c315758_render._withStripped = true
646
+ var upload_draggervue_type_template_id_1b387969_staticRenderFns = []
647
+ upload_draggervue_type_template_id_1b387969_render._withStripped = true
648
648
 
649
649
 
650
- // CONCATENATED MODULE: ./packages/upload/src/upload-dragger.vue?vue&type=template&id=4c315758
650
+ // CONCATENATED MODULE: ./packages/upload/src/upload-dragger.vue?vue&type=template&id=1b387969
651
651
 
652
652
  // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/upload/src/upload-dragger.vue?vue&type=script&lang=js
653
653
  //
@@ -665,60 +665,60 @@ upload_draggervue_type_template_id_4c315758_render._withStripped = true
665
665
  //
666
666
 
667
667
  /* harmony default export */ var upload_draggervue_type_script_lang_js = ({
668
- name: 'ElUploadDrag',
669
- props: {
670
- disabled: Boolean
671
- },
672
- inject: {
673
- uploader: {
674
- default: ''
675
- }
676
- },
677
- data: function data() {
678
- return {
679
- dragover: false
680
- };
681
- },
682
-
683
- methods: {
684
- onDragover: function onDragover() {
685
- if (!this.disabled) {
686
- this.dragover = true;
687
- }
688
- },
689
- onDrop: function onDrop(e) {
690
- if (this.disabled || !this.uploader) return;
691
- var accept = this.uploader.accept;
692
- this.dragover = false;
693
- if (!accept) {
694
- this.$emit('file', e.dataTransfer.files);
695
- return;
696
- }
697
- this.$emit('file', [].slice.call(e.dataTransfer.files).filter(function (file) {
698
- var type = file.type,
699
- name = file.name;
700
-
701
- var extension = name.indexOf('.') > -1 ? '.' + name.split('.').pop() : '';
702
- var baseType = type.replace(/\/.*$/, '');
703
- return accept.split(',').map(function (type) {
704
- return type.trim();
705
- }).filter(function (type) {
706
- return type;
707
- }).some(function (acceptedType) {
708
- if (/\..+$/.test(acceptedType)) {
709
- return extension === acceptedType;
710
- }
711
- if (/\/\*$/.test(acceptedType)) {
712
- return baseType === acceptedType.replace(/\/\*$/, '');
713
- }
714
- if (/^[^\/]+\/[^\/]+$/.test(acceptedType)) {
715
- return type === acceptedType;
716
- }
717
- return false;
718
- });
719
- }));
720
- }
721
- }
668
+ name: 'ElUploadDrag',
669
+ props: {
670
+ disabled: Boolean
671
+ },
672
+ inject: {
673
+ uploader: {
674
+ default: ''
675
+ }
676
+ },
677
+ data: function data() {
678
+ return {
679
+ dragover: false
680
+ };
681
+ },
682
+
683
+ methods: {
684
+ onDragover: function onDragover() {
685
+ if (!this.disabled) {
686
+ this.dragover = true;
687
+ }
688
+ },
689
+ onDrop: function onDrop(e) {
690
+ if (this.disabled || !this.uploader) return;
691
+ var accept = this.uploader.accept;
692
+ this.dragover = false;
693
+ if (!accept) {
694
+ this.$emit('file', e.dataTransfer.files);
695
+ return;
696
+ }
697
+ this.$emit('file', [].slice.call(e.dataTransfer.files).filter(function (file) {
698
+ var type = file.type,
699
+ name = file.name;
700
+
701
+ var extension = name.indexOf('.') > -1 ? '.' + name.split('.').pop() : '';
702
+ var baseType = type.replace(/\/.*$/, '');
703
+ return accept.split(',').map(function (type) {
704
+ return type.trim();
705
+ }).filter(function (type) {
706
+ return type;
707
+ }).some(function (acceptedType) {
708
+ if (/\..+$/.test(acceptedType)) {
709
+ return extension === acceptedType;
710
+ }
711
+ if (/\/\*$/.test(acceptedType)) {
712
+ return baseType === acceptedType.replace(/\/\*$/, '');
713
+ }
714
+ if (/^[^\/]+\/[^\/]+$/.test(acceptedType)) {
715
+ return type === acceptedType;
716
+ }
717
+ return false;
718
+ });
719
+ }));
720
+ }
721
+ }
722
722
  });
723
723
  // CONCATENATED MODULE: ./packages/upload/src/upload-dragger.vue?vue&type=script&lang=js
724
724
  /* harmony default export */ var src_upload_draggervue_type_script_lang_js = (upload_draggervue_type_script_lang_js);
@@ -732,8 +732,8 @@ upload_draggervue_type_template_id_4c315758_render._withStripped = true
732
732
 
733
733
  var upload_dragger_component = Object(componentNormalizer["a" /* default */])(
734
734
  src_upload_draggervue_type_script_lang_js,
735
- upload_draggervue_type_template_id_4c315758_render,
736
- upload_draggervue_type_template_id_4c315758_staticRenderFns,
735
+ upload_draggervue_type_template_id_1b387969_render,
736
+ upload_draggervue_type_template_id_1b387969_staticRenderFns,
737
737
  false,
738
738
  null,
739
739
  null,
@@ -749,232 +749,232 @@ var upload_dragger_component = Object(componentNormalizer["a" /* default */])(
749
749
 
750
750
 
751
751
  /* harmony default export */ var uploadvue_type_script_lang_js = ({
752
- inject: ['uploader'],
753
- components: {
754
- UploadDragger: upload_dragger
755
- },
756
- props: {
757
- type: String,
758
- action: {
759
- type: String,
760
- required: true
761
- },
762
- name: {
763
- type: String,
764
- default: 'file'
765
- },
766
- data: Object,
767
- headers: Object,
768
- withCredentials: Boolean,
769
- multiple: Boolean,
770
- accept: String,
771
- onStart: Function,
772
- onProgress: Function,
773
- onSuccess: Function,
774
- onError: Function,
775
- beforeUpload: Function,
776
- drag: Boolean,
777
- onPreview: {
778
- type: Function,
779
- default: function _default() {}
780
- },
781
- onRemove: {
782
- type: Function,
783
- default: function _default() {}
784
- },
785
- fileList: Array,
786
- autoUpload: Boolean,
787
- listType: String,
788
- httpRequest: {
789
- type: Function,
790
- default: upload
791
- },
792
- disabled: Boolean,
793
- limit: Number,
794
- onExceed: Function
795
- },
796
-
797
- data: function data() {
798
- return {
799
- mouseover: false,
800
- reqs: {}
801
- };
802
- },
803
-
804
-
805
- methods: {
806
- isImage: function isImage(str) {
807
- return str.indexOf('image') !== -1;
808
- },
809
- handleChange: function handleChange(ev) {
810
- var files = ev.target.files;
811
-
812
- if (!files) return;
813
- this.uploadFiles(files);
814
- },
815
- uploadFiles: function uploadFiles(files) {
816
- var _this = this;
817
-
818
- if (this.limit && this.fileList.length + files.length > this.limit) {
819
- this.onExceed && this.onExceed(files, this.fileList);
820
- return;
821
- }
822
-
823
- var postFiles = Array.prototype.slice.call(files);
824
- if (!this.multiple) {
825
- postFiles = postFiles.slice(0, 1);
826
- }
827
-
828
- if (postFiles.length === 0) {
829
- return;
830
- }
831
-
832
- postFiles.forEach(function (rawFile) {
833
- _this.onStart(rawFile);
834
- if (_this.autoUpload) _this.upload(rawFile);
835
- });
836
- },
837
- upload: function upload(rawFile) {
838
- var _this2 = this;
839
-
840
- this.$refs.input.value = null;
841
-
842
- if (!this.beforeUpload) {
843
- return this.post(rawFile);
844
- }
845
-
846
- var before = this.beforeUpload(rawFile);
847
- if (before && before.then) {
848
- before.then(function (processedFile) {
849
- var fileType = Object.prototype.toString.call(processedFile);
850
-
851
- if (fileType === '[object File]' || fileType === '[object Blob]') {
852
- if (fileType === '[object Blob]') {
853
- processedFile = new File([processedFile], rawFile.name, {
854
- type: rawFile.type
855
- });
856
- }
857
- for (var p in rawFile) {
858
- if (rawFile.hasOwnProperty(p)) {
859
- processedFile[p] = rawFile[p];
860
- }
861
- }
862
- _this2.post(processedFile);
863
- } else {
864
- _this2.post(rawFile);
865
- }
866
- }, function () {
867
- _this2.onRemove(null, rawFile);
868
- });
869
- } else if (before !== false) {
870
- this.post(rawFile);
871
- } else {
872
- this.onRemove(null, rawFile);
873
- }
874
- },
875
- abort: function abort(file) {
876
- var reqs = this.reqs;
877
-
878
- if (file) {
879
- var uid = file;
880
- if (file.uid) uid = file.uid;
881
- if (reqs[uid]) {
882
- reqs[uid].abort();
883
- }
884
- } else {
885
- Object.keys(reqs).forEach(function (uid) {
886
- if (reqs[uid]) reqs[uid].abort();
887
- delete reqs[uid];
888
- });
889
- }
890
- },
891
- post: function post(rawFile) {
892
- var _this3 = this;
893
-
894
- var uid = rawFile.uid;
895
-
896
- var options = {
897
- headers: this.headers,
898
- withCredentials: this.withCredentials,
899
- file: rawFile,
900
- data: this.data,
901
- filename: this.name,
902
- action: this.action,
903
- onProgress: function onProgress(e) {
904
- _this3.onProgress(e, rawFile);
905
- },
906
- onSuccess: function onSuccess(res) {
907
- _this3.onSuccess(res, rawFile);
908
- delete _this3.reqs[uid];
909
- },
910
- onError: function onError(err) {
911
- _this3.onError(err, rawFile);
912
- delete _this3.reqs[uid];
913
- }
914
- };
915
- var req = this.httpRequest(options);
916
- this.reqs[uid] = req;
917
- if (req && req.then) {
918
- req.then(options.onSuccess, options.onError);
919
- }
920
- },
921
- handleClick: function handleClick() {
922
- if (!this.disabled) {
923
- this.$refs.input.value = null;
924
- this.$refs.input.click();
925
- }
926
- },
927
- handleKeydown: function handleKeydown(e) {
928
- if (e.target !== e.currentTarget) return;
929
- if (e.keyCode === 13 || e.keyCode === 32) {
930
- this.handleClick();
931
- }
932
- }
933
- },
934
-
935
- render: function render(h) {
936
- var handleClick = this.handleClick,
937
- drag = this.drag,
938
- name = this.name,
939
- handleChange = this.handleChange,
940
- multiple = this.multiple,
941
- accept = this.accept,
942
- listType = this.listType,
943
- uploadFiles = this.uploadFiles,
944
- disabled = this.disabled,
945
- handleKeydown = this.handleKeydown;
946
-
947
- var data = {
948
- class: {
949
- 'el-upload': true
950
- },
951
- on: {
952
- click: handleClick,
953
- keydown: handleKeydown
954
- }
955
- };
956
- data.class['el-upload--' + listType] = true;
957
- return h(
958
- 'div',
959
- external_babel_helper_vue_jsx_merge_props_default()([data, {
960
- attrs: { tabindex: '0' }
961
- }]),
962
- [drag ? h(
963
- 'upload-dragger',
964
- {
965
- attrs: { disabled: disabled },
966
- on: {
967
- 'file': uploadFiles
968
- }
969
- },
970
- [this.$slots.default]
971
- ) : this.$slots.default, h('input', { 'class': 'el-upload__input', attrs: { type: 'file', name: name, multiple: multiple, accept: accept },
972
- ref: 'input', on: {
973
- 'change': handleChange
974
- }
975
- })]
976
- );
977
- }
752
+ inject: ['uploader'],
753
+ components: {
754
+ UploadDragger: upload_dragger
755
+ },
756
+ props: {
757
+ type: String,
758
+ action: {
759
+ type: String,
760
+ required: true
761
+ },
762
+ name: {
763
+ type: String,
764
+ default: 'file'
765
+ },
766
+ data: Object,
767
+ headers: Object,
768
+ withCredentials: Boolean,
769
+ multiple: Boolean,
770
+ accept: String,
771
+ onStart: Function,
772
+ onProgress: Function,
773
+ onSuccess: Function,
774
+ onError: Function,
775
+ beforeUpload: Function,
776
+ drag: Boolean,
777
+ onPreview: {
778
+ type: Function,
779
+ default: function _default() {}
780
+ },
781
+ onRemove: {
782
+ type: Function,
783
+ default: function _default() {}
784
+ },
785
+ fileList: Array,
786
+ autoUpload: Boolean,
787
+ listType: String,
788
+ httpRequest: {
789
+ type: Function,
790
+ default: upload
791
+ },
792
+ disabled: Boolean,
793
+ limit: Number,
794
+ onExceed: Function
795
+ },
796
+
797
+ data: function data() {
798
+ return {
799
+ mouseover: false,
800
+ reqs: {}
801
+ };
802
+ },
803
+
804
+
805
+ methods: {
806
+ isImage: function isImage(str) {
807
+ return str.indexOf('image') !== -1;
808
+ },
809
+ handleChange: function handleChange(ev) {
810
+ var files = ev.target.files;
811
+
812
+ if (!files) return;
813
+ this.uploadFiles(files);
814
+ },
815
+ uploadFiles: function uploadFiles(files) {
816
+ var _this = this;
817
+
818
+ if (this.limit && this.fileList.length + files.length > this.limit) {
819
+ this.onExceed && this.onExceed(files, this.fileList);
820
+ return;
821
+ }
822
+
823
+ var postFiles = Array.prototype.slice.call(files);
824
+ if (!this.multiple) {
825
+ postFiles = postFiles.slice(0, 1);
826
+ }
827
+
828
+ if (postFiles.length === 0) {
829
+ return;
830
+ }
831
+
832
+ postFiles.forEach(function (rawFile) {
833
+ _this.onStart(rawFile);
834
+ if (_this.autoUpload) _this.upload(rawFile);
835
+ });
836
+ },
837
+ upload: function upload(rawFile) {
838
+ var _this2 = this;
839
+
840
+ this.$refs.input.value = null;
841
+
842
+ if (!this.beforeUpload) {
843
+ return this.post(rawFile);
844
+ }
845
+
846
+ var before = this.beforeUpload(rawFile);
847
+ if (before && before.then) {
848
+ before.then(function (processedFile) {
849
+ var fileType = Object.prototype.toString.call(processedFile);
850
+
851
+ if (fileType === '[object File]' || fileType === '[object Blob]') {
852
+ if (fileType === '[object Blob]') {
853
+ processedFile = new File([processedFile], rawFile.name, {
854
+ type: rawFile.type
855
+ });
856
+ }
857
+ for (var p in rawFile) {
858
+ if (rawFile.hasOwnProperty(p)) {
859
+ processedFile[p] = rawFile[p];
860
+ }
861
+ }
862
+ _this2.post(processedFile);
863
+ } else {
864
+ _this2.post(rawFile);
865
+ }
866
+ }, function () {
867
+ _this2.onRemove(null, rawFile);
868
+ });
869
+ } else if (before !== false) {
870
+ this.post(rawFile);
871
+ } else {
872
+ this.onRemove(null, rawFile);
873
+ }
874
+ },
875
+ abort: function abort(file) {
876
+ var reqs = this.reqs;
877
+
878
+ if (file) {
879
+ var uid = file;
880
+ if (file.uid) uid = file.uid;
881
+ if (reqs[uid]) {
882
+ reqs[uid].abort();
883
+ }
884
+ } else {
885
+ Object.keys(reqs).forEach(function (uid) {
886
+ if (reqs[uid]) reqs[uid].abort();
887
+ delete reqs[uid];
888
+ });
889
+ }
890
+ },
891
+ post: function post(rawFile) {
892
+ var _this3 = this;
893
+
894
+ var uid = rawFile.uid;
895
+
896
+ var options = {
897
+ headers: this.headers,
898
+ withCredentials: this.withCredentials,
899
+ file: rawFile,
900
+ data: this.data,
901
+ filename: this.name,
902
+ action: this.action,
903
+ onProgress: function onProgress(e) {
904
+ _this3.onProgress(e, rawFile);
905
+ },
906
+ onSuccess: function onSuccess(res) {
907
+ _this3.onSuccess(res, rawFile);
908
+ delete _this3.reqs[uid];
909
+ },
910
+ onError: function onError(err) {
911
+ _this3.onError(err, rawFile);
912
+ delete _this3.reqs[uid];
913
+ }
914
+ };
915
+ var req = this.httpRequest(options);
916
+ this.reqs[uid] = req;
917
+ if (req && req.then) {
918
+ req.then(options.onSuccess, options.onError);
919
+ }
920
+ },
921
+ handleClick: function handleClick() {
922
+ if (!this.disabled) {
923
+ this.$refs.input.value = null;
924
+ this.$refs.input.click();
925
+ }
926
+ },
927
+ handleKeydown: function handleKeydown(e) {
928
+ if (e.target !== e.currentTarget) return;
929
+ if (e.keyCode === 13 || e.keyCode === 32) {
930
+ this.handleClick();
931
+ }
932
+ }
933
+ },
934
+
935
+ render: function render(h) {
936
+ var handleClick = this.handleClick,
937
+ drag = this.drag,
938
+ name = this.name,
939
+ handleChange = this.handleChange,
940
+ multiple = this.multiple,
941
+ accept = this.accept,
942
+ listType = this.listType,
943
+ uploadFiles = this.uploadFiles,
944
+ disabled = this.disabled,
945
+ handleKeydown = this.handleKeydown;
946
+
947
+ var data = {
948
+ class: {
949
+ 'el-upload': true
950
+ },
951
+ on: {
952
+ click: handleClick,
953
+ keydown: handleKeydown
954
+ }
955
+ };
956
+ data.class['el-upload--' + listType] = true;
957
+ return h(
958
+ 'div',
959
+ external_babel_helper_vue_jsx_merge_props_default()([data, {
960
+ attrs: { tabindex: '0' }
961
+ }]),
962
+ [drag ? h(
963
+ 'upload-dragger',
964
+ {
965
+ attrs: { disabled: disabled },
966
+ on: {
967
+ 'file': uploadFiles
968
+ }
969
+ },
970
+ [this.$slots.default]
971
+ ) : this.$slots.default, h('input', { 'class': 'el-upload__input', attrs: { type: 'file', name: name, multiple: multiple, accept: accept },
972
+ ref: 'input', on: {
973
+ 'change': handleChange
974
+ }
975
+ })]
976
+ );
977
+ }
978
978
  });
979
979
  // CONCATENATED MODULE: ./packages/upload/src/upload.vue?vue&type=script&lang=js
980
980
  /* harmony default export */ var src_uploadvue_type_script_lang_js = (uploadvue_type_script_lang_js);
@@ -1012,339 +1012,339 @@ var migrating_default = /*#__PURE__*/__webpack_require__.n(migrating_);
1012
1012
  function noop() {}
1013
1013
 
1014
1014
  /* harmony default export */ var srcvue_type_script_lang_js = ({
1015
- name: 'ElUpload',
1016
-
1017
- mixins: [migrating_default.a],
1018
-
1019
- components: {
1020
- ElProgress: progress_default.a,
1021
- UploadList: upload_list,
1022
- Upload: src_upload
1023
- },
1024
-
1025
- provide: function provide() {
1026
- return {
1027
- uploader: this
1028
- };
1029
- },
1030
-
1031
-
1032
- inject: {
1033
- elForm: {
1034
- default: ''
1035
- }
1036
- },
1037
-
1038
- props: {
1039
- action: {
1040
- type: String,
1041
- required: true
1042
- },
1043
- headers: {
1044
- type: Object,
1045
- default: function _default() {
1046
- return {};
1047
- }
1048
- },
1049
- data: Object,
1050
- multiple: Boolean,
1051
- name: {
1052
- type: String,
1053
- default: 'file'
1054
- },
1055
- drag: Boolean,
1056
- dragger: Boolean,
1057
- withCredentials: Boolean,
1058
- showFileList: {
1059
- type: Boolean,
1060
- default: true
1061
- },
1062
- accept: String,
1063
- type: {
1064
- type: String,
1065
- default: 'select'
1066
- },
1067
- beforeUpload: Function,
1068
- beforeRemove: Function,
1069
- onRemove: {
1070
- type: Function,
1071
- default: noop
1072
- },
1073
- onChange: {
1074
- type: Function,
1075
- default: noop
1076
- },
1077
- onPreview: {
1078
- type: Function
1079
- },
1080
- onSuccess: {
1081
- type: Function,
1082
- default: noop
1083
- },
1084
- onProgress: {
1085
- type: Function,
1086
- default: noop
1087
- },
1088
- onError: {
1089
- type: Function,
1090
- default: noop
1091
- },
1092
- fileList: {
1093
- type: Array,
1094
- default: function _default() {
1095
- return [];
1096
- }
1097
- },
1098
- autoUpload: {
1099
- type: Boolean,
1100
- default: true
1101
- },
1102
- listType: {
1103
- type: String,
1104
- default: 'text' // text,picture,picture-card
1105
- },
1106
- httpRequest: Function,
1107
- disabled: Boolean,
1108
- limit: Number,
1109
- onExceed: {
1110
- type: Function,
1111
- default: noop
1112
- }
1113
- },
1114
-
1115
- data: function data() {
1116
- return {
1117
- uploadFiles: [],
1118
- dragOver: false,
1119
- draging: false,
1120
- tempIndex: 1
1121
- };
1122
- },
1123
-
1124
-
1125
- computed: {
1126
- uploadDisabled: function uploadDisabled() {
1127
- return this.disabled || (this.elForm || {}).disabled;
1128
- }
1129
- },
1130
-
1131
- watch: {
1132
- listType: function listType(type) {
1133
- if (type === 'picture-card' || type === 'picture') {
1134
- this.uploadFiles = this.uploadFiles.map(function (file) {
1135
- if (!file.url && file.raw) {
1136
- try {
1137
- file.url = URL.createObjectURL(file.raw);
1138
- } catch (err) {
1139
- console.error('[Element Error][Upload]', err);
1140
- }
1141
- }
1142
- return file;
1143
- });
1144
- }
1145
- },
1146
-
1147
- fileList: {
1148
- immediate: true,
1149
- handler: function handler(fileList) {
1150
- var _this = this;
1151
-
1152
- this.uploadFiles = fileList.map(function (item) {
1153
- item.uid = item.uid || Date.now() + _this.tempIndex++;
1154
- item.status = item.status || 'success';
1155
- return item;
1156
- });
1157
- }
1158
- }
1159
- },
1160
-
1161
- methods: {
1162
- handleStart: function handleStart(rawFile) {
1163
- rawFile.uid = Date.now() + this.tempIndex++;
1164
- var file = {
1165
- status: 'ready',
1166
- name: rawFile.name,
1167
- size: rawFile.size,
1168
- percentage: 0,
1169
- uid: rawFile.uid,
1170
- raw: rawFile
1171
- };
1172
-
1173
- if (this.listType === 'picture-card' || this.listType === 'picture') {
1174
- try {
1175
- file.url = URL.createObjectURL(rawFile);
1176
- } catch (err) {
1177
- console.error('[Element Error][Upload]', err);
1178
- return;
1179
- }
1180
- }
1181
-
1182
- this.uploadFiles.push(file);
1183
- this.onChange(file, this.uploadFiles);
1184
- },
1185
- handleProgress: function handleProgress(ev, rawFile) {
1186
- var file = this.getFile(rawFile);
1187
- this.onProgress(ev, file, this.uploadFiles);
1188
- file.status = 'uploading';
1189
- file.percentage = ev.percent || 0;
1190
- },
1191
- handleSuccess: function handleSuccess(res, rawFile) {
1192
- var file = this.getFile(rawFile);
1193
-
1194
- if (file) {
1195
- file.status = 'success';
1196
- file.response = res;
1197
-
1198
- this.onSuccess(res, file, this.uploadFiles);
1199
- this.onChange(file, this.uploadFiles);
1200
- }
1201
- },
1202
- handleError: function handleError(err, rawFile) {
1203
- var file = this.getFile(rawFile);
1204
- var fileList = this.uploadFiles;
1205
-
1206
- file.status = 'fail';
1207
-
1208
- fileList.splice(fileList.indexOf(file), 1);
1209
-
1210
- this.onError(err, file, this.uploadFiles);
1211
- this.onChange(file, this.uploadFiles);
1212
- },
1213
- handleRemove: function handleRemove(file, raw) {
1214
- var _this2 = this;
1215
-
1216
- if (raw) {
1217
- file = this.getFile(raw);
1218
- }
1219
- var doRemove = function doRemove() {
1220
- _this2.abort(file);
1221
- var fileList = _this2.uploadFiles;
1222
- fileList.splice(fileList.indexOf(file), 1);
1223
- _this2.onRemove(file, fileList);
1224
- };
1225
-
1226
- if (!this.beforeRemove) {
1227
- doRemove();
1228
- } else if (typeof this.beforeRemove === 'function') {
1229
- var before = this.beforeRemove(file, this.uploadFiles);
1230
- if (before && before.then) {
1231
- before.then(function () {
1232
- doRemove();
1233
- }, noop);
1234
- } else if (before !== false) {
1235
- doRemove();
1236
- }
1237
- }
1238
- },
1239
- getFile: function getFile(rawFile) {
1240
- var fileList = this.uploadFiles;
1241
- var target = void 0;
1242
- fileList.every(function (item) {
1243
- target = rawFile.uid === item.uid ? item : null;
1244
- return !target;
1245
- });
1246
- return target;
1247
- },
1248
- abort: function abort(file) {
1249
- this.$refs['upload-inner'].abort(file);
1250
- },
1251
- clearFiles: function clearFiles() {
1252
- this.uploadFiles = [];
1253
- },
1254
- submit: function submit() {
1255
- var _this3 = this;
1256
-
1257
- this.uploadFiles.filter(function (file) {
1258
- return file.status === 'ready';
1259
- }).forEach(function (file) {
1260
- _this3.$refs['upload-inner'].upload(file.raw);
1261
- });
1262
- },
1263
- getMigratingConfig: function getMigratingConfig() {
1264
- return {
1265
- props: {
1266
- 'default-file-list': 'default-file-list is renamed to file-list.',
1267
- 'show-upload-list': 'show-upload-list is renamed to show-file-list.',
1268
- 'thumbnail-mode': 'thumbnail-mode has been deprecated, you can implement the same effect according to this case: http://element.eleme.io/#/zh-CN/component/upload#yong-hu-tou-xiang-shang-chuan'
1269
- }
1270
- };
1271
- }
1272
- },
1273
-
1274
- beforeDestroy: function beforeDestroy() {
1275
- this.uploadFiles.forEach(function (file) {
1276
- if (file.url && file.url.indexOf('blob:') === 0) {
1277
- URL.revokeObjectURL(file.url);
1278
- }
1279
- });
1280
- },
1281
- render: function render(h) {
1282
- var _this4 = this;
1283
-
1284
- var uploadList = void 0;
1285
-
1286
- if (this.showFileList) {
1287
- uploadList = h(
1288
- upload_list,
1289
- {
1290
- attrs: {
1291
- disabled: this.uploadDisabled,
1292
- listType: this.listType,
1293
- files: this.uploadFiles,
1294
-
1295
- handlePreview: this.onPreview },
1296
- on: {
1297
- 'remove': this.handleRemove
1298
- }
1299
- },
1300
- [function (props) {
1301
- if (_this4.$scopedSlots.file) {
1302
- return _this4.$scopedSlots.file({
1303
- file: props.file
1304
- });
1305
- }
1306
- }]
1307
- );
1308
- }
1309
-
1310
- var uploadData = {
1311
- props: {
1312
- type: this.type,
1313
- drag: this.drag,
1314
- action: this.action,
1315
- multiple: this.multiple,
1316
- 'before-upload': this.beforeUpload,
1317
- 'with-credentials': this.withCredentials,
1318
- headers: this.headers,
1319
- name: this.name,
1320
- data: this.data,
1321
- accept: this.accept,
1322
- fileList: this.uploadFiles,
1323
- autoUpload: this.autoUpload,
1324
- listType: this.listType,
1325
- disabled: this.uploadDisabled,
1326
- limit: this.limit,
1327
- 'on-exceed': this.onExceed,
1328
- 'on-start': this.handleStart,
1329
- 'on-progress': this.handleProgress,
1330
- 'on-success': this.handleSuccess,
1331
- 'on-error': this.handleError,
1332
- 'on-preview': this.onPreview,
1333
- 'on-remove': this.handleRemove,
1334
- 'http-request': this.httpRequest
1335
- },
1336
- ref: 'upload-inner'
1337
- };
1338
-
1339
- var trigger = this.$slots.trigger || this.$slots.default;
1340
- var uploadComponent = h(
1341
- 'upload',
1342
- uploadData,
1343
- [trigger]
1344
- );
1345
-
1346
- return h('div', [this.listType === 'picture-card' ? uploadList : '', this.$slots.trigger ? [uploadComponent, this.$slots.default] : uploadComponent, this.$slots.tip, this.listType !== 'picture-card' ? uploadList : '']);
1347
- }
1015
+ name: 'ElUpload',
1016
+
1017
+ mixins: [migrating_default.a],
1018
+
1019
+ components: {
1020
+ ElProgress: progress_default.a,
1021
+ UploadList: upload_list,
1022
+ Upload: src_upload
1023
+ },
1024
+
1025
+ provide: function provide() {
1026
+ return {
1027
+ uploader: this
1028
+ };
1029
+ },
1030
+
1031
+
1032
+ inject: {
1033
+ elForm: {
1034
+ default: ''
1035
+ }
1036
+ },
1037
+
1038
+ props: {
1039
+ action: {
1040
+ type: String,
1041
+ required: true
1042
+ },
1043
+ headers: {
1044
+ type: Object,
1045
+ default: function _default() {
1046
+ return {};
1047
+ }
1048
+ },
1049
+ data: Object,
1050
+ multiple: Boolean,
1051
+ name: {
1052
+ type: String,
1053
+ default: 'file'
1054
+ },
1055
+ drag: Boolean,
1056
+ dragger: Boolean,
1057
+ withCredentials: Boolean,
1058
+ showFileList: {
1059
+ type: Boolean,
1060
+ default: true
1061
+ },
1062
+ accept: String,
1063
+ type: {
1064
+ type: String,
1065
+ default: 'select'
1066
+ },
1067
+ beforeUpload: Function,
1068
+ beforeRemove: Function,
1069
+ onRemove: {
1070
+ type: Function,
1071
+ default: noop
1072
+ },
1073
+ onChange: {
1074
+ type: Function,
1075
+ default: noop
1076
+ },
1077
+ onPreview: {
1078
+ type: Function
1079
+ },
1080
+ onSuccess: {
1081
+ type: Function,
1082
+ default: noop
1083
+ },
1084
+ onProgress: {
1085
+ type: Function,
1086
+ default: noop
1087
+ },
1088
+ onError: {
1089
+ type: Function,
1090
+ default: noop
1091
+ },
1092
+ fileList: {
1093
+ type: Array,
1094
+ default: function _default() {
1095
+ return [];
1096
+ }
1097
+ },
1098
+ autoUpload: {
1099
+ type: Boolean,
1100
+ default: true
1101
+ },
1102
+ listType: {
1103
+ type: String,
1104
+ default: 'text' // text,picture,picture-card
1105
+ },
1106
+ httpRequest: Function,
1107
+ disabled: Boolean,
1108
+ limit: Number,
1109
+ onExceed: {
1110
+ type: Function,
1111
+ default: noop
1112
+ }
1113
+ },
1114
+
1115
+ data: function data() {
1116
+ return {
1117
+ uploadFiles: [],
1118
+ dragOver: false,
1119
+ draging: false,
1120
+ tempIndex: 1
1121
+ };
1122
+ },
1123
+
1124
+
1125
+ computed: {
1126
+ uploadDisabled: function uploadDisabled() {
1127
+ return this.disabled || (this.elForm || {}).disabled;
1128
+ }
1129
+ },
1130
+
1131
+ watch: {
1132
+ listType: function listType(type) {
1133
+ if (type === 'picture-card' || type === 'picture') {
1134
+ this.uploadFiles = this.uploadFiles.map(function (file) {
1135
+ if (!file.url && file.raw) {
1136
+ try {
1137
+ file.url = URL.createObjectURL(file.raw);
1138
+ } catch (err) {
1139
+ console.error('[Element Error][Upload]', err);
1140
+ }
1141
+ }
1142
+ return file;
1143
+ });
1144
+ }
1145
+ },
1146
+
1147
+ fileList: {
1148
+ immediate: true,
1149
+ handler: function handler(fileList) {
1150
+ var _this = this;
1151
+
1152
+ this.uploadFiles = fileList.map(function (item) {
1153
+ item.uid = item.uid || Date.now() + _this.tempIndex++;
1154
+ item.status = item.status || 'success';
1155
+ return item;
1156
+ });
1157
+ }
1158
+ }
1159
+ },
1160
+
1161
+ methods: {
1162
+ handleStart: function handleStart(rawFile) {
1163
+ rawFile.uid = Date.now() + this.tempIndex++;
1164
+ var file = {
1165
+ status: 'ready',
1166
+ name: rawFile.name,
1167
+ size: rawFile.size,
1168
+ percentage: 0,
1169
+ uid: rawFile.uid,
1170
+ raw: rawFile
1171
+ };
1172
+
1173
+ if (this.listType === 'picture-card' || this.listType === 'picture') {
1174
+ try {
1175
+ file.url = URL.createObjectURL(rawFile);
1176
+ } catch (err) {
1177
+ console.error('[Element Error][Upload]', err);
1178
+ return;
1179
+ }
1180
+ }
1181
+
1182
+ this.uploadFiles.push(file);
1183
+ this.onChange(file, this.uploadFiles);
1184
+ },
1185
+ handleProgress: function handleProgress(ev, rawFile) {
1186
+ var file = this.getFile(rawFile);
1187
+ this.onProgress(ev, file, this.uploadFiles);
1188
+ file.status = 'uploading';
1189
+ file.percentage = ev.percent || 0;
1190
+ },
1191
+ handleSuccess: function handleSuccess(res, rawFile) {
1192
+ var file = this.getFile(rawFile);
1193
+
1194
+ if (file) {
1195
+ file.status = 'success';
1196
+ file.response = res;
1197
+
1198
+ this.onSuccess(res, file, this.uploadFiles);
1199
+ this.onChange(file, this.uploadFiles);
1200
+ }
1201
+ },
1202
+ handleError: function handleError(err, rawFile) {
1203
+ var file = this.getFile(rawFile);
1204
+ var fileList = this.uploadFiles;
1205
+
1206
+ file.status = 'fail';
1207
+
1208
+ fileList.splice(fileList.indexOf(file), 1);
1209
+
1210
+ this.onError(err, file, this.uploadFiles);
1211
+ this.onChange(file, this.uploadFiles);
1212
+ },
1213
+ handleRemove: function handleRemove(file, raw) {
1214
+ var _this2 = this;
1215
+
1216
+ if (raw) {
1217
+ file = this.getFile(raw);
1218
+ }
1219
+ var doRemove = function doRemove() {
1220
+ _this2.abort(file);
1221
+ var fileList = _this2.uploadFiles;
1222
+ fileList.splice(fileList.indexOf(file), 1);
1223
+ _this2.onRemove(file, fileList);
1224
+ };
1225
+
1226
+ if (!this.beforeRemove) {
1227
+ doRemove();
1228
+ } else if (typeof this.beforeRemove === 'function') {
1229
+ var before = this.beforeRemove(file, this.uploadFiles);
1230
+ if (before && before.then) {
1231
+ before.then(function () {
1232
+ doRemove();
1233
+ }, noop);
1234
+ } else if (before !== false) {
1235
+ doRemove();
1236
+ }
1237
+ }
1238
+ },
1239
+ getFile: function getFile(rawFile) {
1240
+ var fileList = this.uploadFiles;
1241
+ var target = void 0;
1242
+ fileList.every(function (item) {
1243
+ target = rawFile.uid === item.uid ? item : null;
1244
+ return !target;
1245
+ });
1246
+ return target;
1247
+ },
1248
+ abort: function abort(file) {
1249
+ this.$refs['upload-inner'].abort(file);
1250
+ },
1251
+ clearFiles: function clearFiles() {
1252
+ this.uploadFiles = [];
1253
+ },
1254
+ submit: function submit() {
1255
+ var _this3 = this;
1256
+
1257
+ this.uploadFiles.filter(function (file) {
1258
+ return file.status === 'ready';
1259
+ }).forEach(function (file) {
1260
+ _this3.$refs['upload-inner'].upload(file.raw);
1261
+ });
1262
+ },
1263
+ getMigratingConfig: function getMigratingConfig() {
1264
+ return {
1265
+ props: {
1266
+ 'default-file-list': 'default-file-list is renamed to file-list.',
1267
+ 'show-upload-list': 'show-upload-list is renamed to show-file-list.',
1268
+ 'thumbnail-mode': 'thumbnail-mode has been deprecated, you can implement the same effect according to this case: http://element.eleme.io/#/zh-CN/component/upload#yong-hu-tou-xiang-shang-chuan'
1269
+ }
1270
+ };
1271
+ }
1272
+ },
1273
+
1274
+ beforeDestroy: function beforeDestroy() {
1275
+ this.uploadFiles.forEach(function (file) {
1276
+ if (file.url && file.url.indexOf('blob:') === 0) {
1277
+ URL.revokeObjectURL(file.url);
1278
+ }
1279
+ });
1280
+ },
1281
+ render: function render(h) {
1282
+ var _this4 = this;
1283
+
1284
+ var uploadList = void 0;
1285
+
1286
+ if (this.showFileList) {
1287
+ uploadList = h(
1288
+ upload_list,
1289
+ {
1290
+ attrs: {
1291
+ disabled: this.uploadDisabled,
1292
+ listType: this.listType,
1293
+ files: this.uploadFiles,
1294
+
1295
+ handlePreview: this.onPreview },
1296
+ on: {
1297
+ 'remove': this.handleRemove
1298
+ }
1299
+ },
1300
+ [function (props) {
1301
+ if (_this4.$scopedSlots.file) {
1302
+ return _this4.$scopedSlots.file({
1303
+ file: props.file
1304
+ });
1305
+ }
1306
+ }]
1307
+ );
1308
+ }
1309
+
1310
+ var uploadData = {
1311
+ props: {
1312
+ type: this.type,
1313
+ drag: this.drag,
1314
+ action: this.action,
1315
+ multiple: this.multiple,
1316
+ 'before-upload': this.beforeUpload,
1317
+ 'with-credentials': this.withCredentials,
1318
+ headers: this.headers,
1319
+ name: this.name,
1320
+ data: this.data,
1321
+ accept: this.accept,
1322
+ fileList: this.uploadFiles,
1323
+ autoUpload: this.autoUpload,
1324
+ listType: this.listType,
1325
+ disabled: this.uploadDisabled,
1326
+ limit: this.limit,
1327
+ 'on-exceed': this.onExceed,
1328
+ 'on-start': this.handleStart,
1329
+ 'on-progress': this.handleProgress,
1330
+ 'on-success': this.handleSuccess,
1331
+ 'on-error': this.handleError,
1332
+ 'on-preview': this.onPreview,
1333
+ 'on-remove': this.handleRemove,
1334
+ 'http-request': this.httpRequest
1335
+ },
1336
+ ref: 'upload-inner'
1337
+ };
1338
+
1339
+ var trigger = this.$slots.trigger || this.$slots.default;
1340
+ var uploadComponent = h(
1341
+ 'upload',
1342
+ uploadData,
1343
+ [trigger]
1344
+ );
1345
+
1346
+ return h('div', [this.listType === 'picture-card' ? uploadList : '', this.$slots.trigger ? [uploadComponent, this.$slots.default] : uploadComponent, this.$slots.tip, this.listType !== 'picture-card' ? uploadList : '']);
1347
+ }
1348
1348
  });
1349
1349
  // CONCATENATED MODULE: ./packages/upload/src/index.vue?vue&type=script&lang=js
1350
1350
  /* harmony default export */ var upload_srcvue_type_script_lang_js = (srcvue_type_script_lang_js);
@@ -1373,7 +1373,7 @@ var src_component = Object(componentNormalizer["a" /* default */])(
1373
1373
 
1374
1374
  /* istanbul ignore next */
1375
1375
  src.install = function (Vue) {
1376
- Vue.component(src.name, src);
1376
+ Vue.component(src.name, src);
1377
1377
  };
1378
1378
 
1379
1379
  /* harmony default export */ var packages_upload = __webpack_exports__["default"] = (src);