element-sim 1.1.7 → 1.1.9

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 (697) hide show
  1. package/CHANGELOG.en-US.md +2085 -2085
  2. package/CHANGELOG.es.md +2092 -2092
  3. package/CHANGELOG.fr-FR.md +2085 -2085
  4. package/CHANGELOG.zh-CN.md +27 -22
  5. package/LICENSE +21 -21
  6. package/README.md +148 -148
  7. package/lib/cascader-panel.js +2 -2
  8. package/lib/cascader.js +2 -2
  9. package/lib/date-picker.js +5 -5
  10. package/lib/element-sim.common.js +62 -51
  11. package/lib/index.js +1 -1
  12. package/lib/input.js +14 -3
  13. package/lib/locale/format.js +10 -10
  14. package/lib/menu.js +25 -25
  15. package/lib/mixins/migrating.js +20 -20
  16. package/lib/result.js +8 -8
  17. package/lib/theme-chalk/alert.css +1 -1
  18. package/lib/theme-chalk/autocomplete.css +1 -1
  19. package/lib/theme-chalk/backtop.css +1 -1
  20. package/lib/theme-chalk/badge.css +1 -1
  21. package/lib/theme-chalk/base.css +1 -1
  22. package/lib/theme-chalk/breadcrumb.css +1 -1
  23. package/lib/theme-chalk/button.css +1 -1
  24. package/lib/theme-chalk/calendar.css +1 -1
  25. package/lib/theme-chalk/card.css +1 -1
  26. package/lib/theme-chalk/carousel.css +1 -1
  27. package/lib/theme-chalk/cascader-panel.css +1 -1
  28. package/lib/theme-chalk/cascader.css +1 -1
  29. package/lib/theme-chalk/checkbox.css +1 -1
  30. package/lib/theme-chalk/collapse.css +1 -1
  31. package/lib/theme-chalk/color-picker.css +1 -1
  32. package/lib/theme-chalk/date-picker.css +1 -1
  33. package/lib/theme-chalk/descriptions-item.css +1 -1
  34. package/lib/theme-chalk/descriptions.css +1 -1
  35. package/lib/theme-chalk/dialog.css +1 -1
  36. package/lib/theme-chalk/divider.css +1 -1
  37. package/lib/theme-chalk/dropdown.css +1 -1
  38. package/lib/theme-chalk/empty.css +1 -1
  39. package/lib/theme-chalk/form.css +1 -1
  40. package/lib/theme-chalk/icon.css +1 -1
  41. package/lib/theme-chalk/image.css +1 -1
  42. package/lib/theme-chalk/index.css +1 -1
  43. package/lib/theme-chalk/input-number.css +1 -1
  44. package/lib/theme-chalk/input.css +1 -1
  45. package/lib/theme-chalk/link.css +1 -1
  46. package/lib/theme-chalk/loading.css +1 -1
  47. package/lib/theme-chalk/menu.css +1 -1
  48. package/lib/theme-chalk/message-box.css +1 -1
  49. package/lib/theme-chalk/message.css +1 -1
  50. package/lib/theme-chalk/notification.css +1 -1
  51. package/lib/theme-chalk/option-group.css +1 -1
  52. package/lib/theme-chalk/option.css +1 -1
  53. package/lib/theme-chalk/page-header.css +1 -1
  54. package/lib/theme-chalk/pagination.css +1 -1
  55. package/lib/theme-chalk/popover.css +1 -1
  56. package/lib/theme-chalk/popper.css +1 -1
  57. package/lib/theme-chalk/progress.css +1 -1
  58. package/lib/theme-chalk/radio-button.css +1 -1
  59. package/lib/theme-chalk/radio.css +1 -1
  60. package/lib/theme-chalk/rate.css +1 -1
  61. package/lib/theme-chalk/reset.css +1 -1
  62. package/lib/theme-chalk/result.css +1 -1
  63. package/lib/theme-chalk/scrollbar.css +1 -1
  64. package/lib/theme-chalk/select-dropdown.css +1 -1
  65. package/lib/theme-chalk/select.css +1 -1
  66. package/lib/theme-chalk/slider.css +1 -1
  67. package/lib/theme-chalk/statistic.css +1 -1
  68. package/lib/theme-chalk/step.css +1 -1
  69. package/lib/theme-chalk/switch.css +1 -1
  70. package/lib/theme-chalk/table-column.css +1 -1
  71. package/lib/theme-chalk/table.css +1 -1
  72. package/lib/theme-chalk/tabs.css +1 -1
  73. package/lib/theme-chalk/tag.css +1 -1
  74. package/lib/theme-chalk/time-picker.css +1 -1
  75. package/lib/theme-chalk/time-select.css +1 -1
  76. package/lib/theme-chalk/timeline-item.css +1 -1
  77. package/lib/theme-chalk/tooltip.css +1 -1
  78. package/lib/theme-chalk/transfer.css +1 -1
  79. package/lib/theme-chalk/tree.css +1 -1
  80. package/lib/theme-chalk/upload.css +1 -1
  81. package/lib/time-picker.js +5 -5
  82. package/lib/time-select.js +5 -5
  83. package/lib/utils/after-leave.js +7 -7
  84. package/lib/utils/aria-dialog.js +16 -16
  85. package/lib/utils/aria-utils.js +25 -25
  86. package/lib/utils/clickoutside.js +7 -7
  87. package/lib/utils/date.js +37 -37
  88. package/lib/utils/lodash.js +9292 -9292
  89. package/lib/utils/popper.js +321 -321
  90. package/lib/utils/types.js +3 -3
  91. package/lib/utils/vue-popper.js +7 -7
  92. package/package.json +151 -151
  93. package/packages/alert/index.js +8 -8
  94. package/packages/alert/src/main.vue +94 -94
  95. package/packages/aside/index.js +8 -8
  96. package/packages/aside/src/main.vue +20 -20
  97. package/packages/autocomplete/index.js +8 -8
  98. package/packages/autocomplete/src/autocomplete-suggestions.vue +76 -76
  99. package/packages/autocomplete/src/autocomplete.vue +285 -285
  100. package/packages/avatar/index.js +8 -8
  101. package/packages/avatar/src/main.vue +107 -107
  102. package/packages/backtop/index.js +8 -8
  103. package/packages/backtop/src/main.vue +110 -110
  104. package/packages/badge/index.js +8 -8
  105. package/packages/badge/src/main.vue +53 -53
  106. package/packages/breadcrumb/index.js +8 -8
  107. package/packages/breadcrumb/src/breadcrumb-item.vue +41 -41
  108. package/packages/breadcrumb/src/breadcrumb.vue +34 -34
  109. package/packages/breadcrumb-item/index.js +8 -8
  110. package/packages/button/index.js +8 -8
  111. package/packages/button/src/button-group.vue +10 -10
  112. package/packages/button/src/button.vue +78 -78
  113. package/packages/button-group/index.js +8 -8
  114. package/packages/calendar/index.js +8 -8
  115. package/packages/calendar/src/date-table.vue +200 -200
  116. package/packages/calendar/src/main.vue +280 -280
  117. package/packages/card/index.js +8 -8
  118. package/packages/card/src/main.vue +23 -23
  119. package/packages/carousel/index.js +8 -8
  120. package/packages/carousel/src/item.vue +138 -138
  121. package/packages/carousel/src/main.vue +315 -315
  122. package/packages/carousel-item/index.js +8 -8
  123. package/packages/cascader/index.js +8 -8
  124. package/packages/cascader/src/cascader.vue +663 -663
  125. package/packages/cascader-panel/index.js +8 -8
  126. package/packages/cascader-panel/src/cascader-menu.vue +138 -138
  127. package/packages/cascader-panel/src/cascader-node.vue +246 -246
  128. package/packages/cascader-panel/src/cascader-panel.vue +391 -391
  129. package/packages/cascader-panel/src/node.js +166 -166
  130. package/packages/cascader-panel/src/store.js +58 -58
  131. package/packages/checkbox/index.js +8 -8
  132. package/packages/checkbox/src/checkbox-button.vue +199 -199
  133. package/packages/checkbox/src/checkbox-group.vue +48 -48
  134. package/packages/checkbox/src/checkbox.vue +222 -222
  135. package/packages/checkbox-button/index.js +8 -8
  136. package/packages/checkbox-group/index.js +8 -8
  137. package/packages/col/index.js +9 -9
  138. package/packages/col/src/col.js +71 -71
  139. package/packages/collapse/index.js +9 -9
  140. package/packages/collapse/src/collapse-item.vue +114 -114
  141. package/packages/collapse/src/collapse.vue +73 -73
  142. package/packages/collapse-item/index.js +8 -8
  143. package/packages/color-picker/index.js +8 -8
  144. package/packages/color-picker/src/color.js +317 -317
  145. package/packages/color-picker/src/components/alpha-slider.vue +132 -132
  146. package/packages/color-picker/src/components/hue-slider.vue +123 -123
  147. package/packages/color-picker/src/components/picker-dropdown.vue +121 -121
  148. package/packages/color-picker/src/components/predefine.vue +60 -60
  149. package/packages/color-picker/src/components/sv-panel.vue +100 -100
  150. package/packages/color-picker/src/draggable.js +36 -36
  151. package/packages/color-picker/src/main.vue +188 -188
  152. package/packages/container/index.js +8 -8
  153. package/packages/container/src/main.vue +33 -33
  154. package/packages/date-picker/index.js +8 -8
  155. package/packages/date-picker/src/basic/date-table.vue +441 -441
  156. package/packages/date-picker/src/basic/month-table.vue +269 -269
  157. package/packages/date-picker/src/basic/time-spinner.vue +304 -304
  158. package/packages/date-picker/src/basic/year-table.vue +111 -111
  159. package/packages/date-picker/src/panel/date-range.vue +680 -680
  160. package/packages/date-picker/src/panel/date.vue +609 -609
  161. package/packages/date-picker/src/panel/month-range.vue +289 -289
  162. package/packages/date-picker/src/panel/time-range.vue +248 -248
  163. package/packages/date-picker/src/panel/time-select.vue +178 -178
  164. package/packages/date-picker/src/panel/time.vue +186 -186
  165. package/packages/date-picker/src/picker/date-picker.js +43 -43
  166. package/packages/date-picker/src/picker/time-picker.js +39 -39
  167. package/packages/date-picker/src/picker/time-select.js +21 -21
  168. package/packages/date-picker/src/picker.vue +956 -956
  169. package/packages/descriptions/index.js +8 -8
  170. package/packages/descriptions/src/descriptions-item.js +30 -30
  171. package/packages/descriptions/src/descriptions-row.js +116 -116
  172. package/packages/descriptions/src/index.js +180 -180
  173. package/packages/descriptions-item/index.js +8 -8
  174. package/packages/dialog/index.js +8 -8
  175. package/packages/dialog/src/component.vue +212 -212
  176. package/packages/divider/index.js +8 -8
  177. package/packages/divider/src/main.vue +37 -37
  178. package/packages/drawer/index.js +8 -8
  179. package/packages/drawer/src/main.vue +208 -208
  180. package/packages/dropdown/index.js +8 -8
  181. package/packages/dropdown/src/dropdown-item.vue +37 -37
  182. package/packages/dropdown/src/dropdown-menu.vue +63 -63
  183. package/packages/dropdown/src/dropdown.vue +293 -293
  184. package/packages/dropdown-item/index.js +8 -8
  185. package/packages/dropdown-menu/index.js +8 -8
  186. package/packages/empty/index.js +7 -7
  187. package/packages/empty/src/img-empty.vue +132 -132
  188. package/packages/empty/src/index.vue +50 -50
  189. package/packages/footer/index.js +8 -8
  190. package/packages/footer/src/main.vue +20 -20
  191. package/packages/form/index.js +8 -8
  192. package/packages/form/src/form-item.vue +324 -324
  193. package/packages/form/src/form.vue +182 -182
  194. package/packages/form/src/label-wrap.vue +78 -78
  195. package/packages/form-item/index.js +8 -8
  196. package/packages/header/index.js +8 -8
  197. package/packages/header/src/main.vue +20 -20
  198. package/packages/icon/index.js +8 -8
  199. package/packages/icon/src/icon.vue +13 -13
  200. package/packages/image/index.js +8 -8
  201. package/packages/image/src/image-viewer.vue +330 -330
  202. package/packages/image/src/main.vue +249 -249
  203. package/packages/infinite-scroll/index.js +8 -8
  204. package/packages/infinite-scroll/src/main.js +150 -150
  205. package/packages/input/index.js +8 -8
  206. package/packages/input/src/calcTextareaHeight.js +104 -104
  207. package/packages/input/src/input.vue +444 -440
  208. package/packages/input-number/index.js +8 -8
  209. package/packages/input-number/src/input-number.vue +283 -283
  210. package/packages/link/index.js +8 -8
  211. package/packages/link/src/main.vue +53 -53
  212. package/packages/loading/index.js +11 -11
  213. package/packages/loading/src/directive.js +133 -133
  214. package/packages/loading/src/index.js +106 -106
  215. package/packages/loading/src/loading.vue +41 -41
  216. package/packages/main/index.js +8 -8
  217. package/packages/main/src/main.vue +12 -12
  218. package/packages/menu/index.js +8 -8
  219. package/packages/menu/src/menu-item-group.vue +45 -45
  220. package/packages/menu/src/menu-item.vue +112 -112
  221. package/packages/menu/src/menu-mixin.js +44 -44
  222. package/packages/menu/src/menu.vue +325 -325
  223. package/packages/menu/src/submenu.vue +349 -349
  224. package/packages/menu-item/index.js +8 -8
  225. package/packages/menu-item-group/index.js +8 -8
  226. package/packages/message/index.js +2 -2
  227. package/packages/message/src/main.js +91 -91
  228. package/packages/message/src/main.vue +117 -117
  229. package/packages/message-box/index.js +2 -2
  230. package/packages/message-box/src/main.js +216 -216
  231. package/packages/message-box/src/main.vue +332 -332
  232. package/packages/notification/index.js +2 -2
  233. package/packages/notification/src/main.js +94 -94
  234. package/packages/notification/src/main.vue +152 -152
  235. package/packages/option/index.js +8 -8
  236. package/packages/option-group/index.js +8 -8
  237. package/packages/page-header/index.js +8 -8
  238. package/packages/page-header/src/main.vue +30 -30
  239. package/packages/pagination/index.js +8 -8
  240. package/packages/pagination/src/pager.vue +163 -163
  241. package/packages/pagination/src/pagination.js +386 -386
  242. package/packages/popconfirm/index.js +8 -8
  243. package/packages/popconfirm/src/main.vue +104 -104
  244. package/packages/popover/index.js +14 -14
  245. package/packages/popover/src/directive.js +20 -20
  246. package/packages/popover/src/main.vue +237 -237
  247. package/packages/progress/index.js +8 -8
  248. package/packages/progress/src/progress.vue +235 -235
  249. package/packages/radio/index.js +8 -8
  250. package/packages/radio/src/radio-button.vue +115 -115
  251. package/packages/radio/src/radio-group.vue +113 -113
  252. package/packages/radio/src/radio.vue +134 -134
  253. package/packages/radio-button/index.js +8 -8
  254. package/packages/radio-group/index.js +8 -8
  255. package/packages/rate/index.js +8 -8
  256. package/packages/rate/src/main.vue +348 -348
  257. package/packages/result/index.js +8 -8
  258. package/packages/result/src/icon-error.vue +13 -13
  259. package/packages/result/src/icon-info.vue +13 -13
  260. package/packages/result/src/icon-success.vue +13 -13
  261. package/packages/result/src/icon-warning.vue +13 -13
  262. package/packages/result/src/index.vue +65 -65
  263. package/packages/row/index.js +9 -9
  264. package/packages/row/src/row.js +44 -44
  265. package/packages/scrollbar/index.js +8 -8
  266. package/packages/scrollbar/src/bar.js +92 -92
  267. package/packages/scrollbar/src/main.js +130 -130
  268. package/packages/scrollbar/src/util.js +34 -34
  269. package/packages/select/index.js +8 -8
  270. package/packages/select/src/navigation-mixin.js +54 -54
  271. package/packages/select/src/option-group.vue +60 -60
  272. package/packages/select/src/option.vue +168 -168
  273. package/packages/select/src/select-dropdown.vue +74 -74
  274. package/packages/select/src/select.vue +900 -900
  275. package/packages/skeleton/index.js +8 -8
  276. package/packages/skeleton/src/img-placeholder.vue +16 -16
  277. package/packages/skeleton/src/index.vue +76 -76
  278. package/packages/skeleton/src/item.vue +21 -21
  279. package/packages/skeleton-item/index.js +8 -8
  280. package/packages/slider/index.js +8 -8
  281. package/packages/slider/src/button.vue +238 -238
  282. package/packages/slider/src/main.vue +427 -427
  283. package/packages/slider/src/marker.js +18 -18
  284. package/packages/spinner/index.js +8 -8
  285. package/packages/spinner/src/spinner.vue +27 -27
  286. package/packages/statistic/index.js +8 -8
  287. package/packages/statistic/src/main.vue +204 -204
  288. package/packages/step/index.js +8 -8
  289. package/packages/steps/README.md +69 -69
  290. package/packages/steps/index.js +8 -8
  291. package/packages/steps/src/step.vue +184 -184
  292. package/packages/steps/src/steps.vue +68 -68
  293. package/packages/submenu/index.js +8 -8
  294. package/packages/switch/index.js +9 -9
  295. package/packages/switch/src/component.vue +174 -174
  296. package/packages/tab-pane/index.js +8 -8
  297. package/packages/table/index.js +8 -8
  298. package/packages/table/src/config.js +124 -124
  299. package/packages/table/src/dropdown.js +28 -28
  300. package/packages/table/src/filter-panel.vue +194 -194
  301. package/packages/table/src/layout-observer.js +68 -68
  302. package/packages/table/src/store/current.js +76 -76
  303. package/packages/table/src/store/expand.js +65 -65
  304. package/packages/table/src/store/helper.js +41 -41
  305. package/packages/table/src/store/index.js +147 -147
  306. package/packages/table/src/store/tree.js +209 -209
  307. package/packages/table/src/store/watcher.js +381 -381
  308. package/packages/table/src/table-body.js +469 -469
  309. package/packages/table/src/table-column.js +319 -319
  310. package/packages/table/src/table-footer.js +153 -153
  311. package/packages/table/src/table-header.js +511 -511
  312. package/packages/table/src/table-layout.js +249 -249
  313. package/packages/table/src/table-row.js +101 -101
  314. package/packages/table/src/table.vue +712 -712
  315. package/packages/table/src/util.js +273 -273
  316. package/packages/table-column/index.js +8 -8
  317. package/packages/tabs/index.js +8 -8
  318. package/packages/tabs/src/tab-bar.vue +57 -57
  319. package/packages/tabs/src/tab-nav.vue +294 -294
  320. package/packages/tabs/src/tab-pane.vue +56 -56
  321. package/packages/tabs/src/tabs.vue +191 -191
  322. package/packages/tag/index.js +8 -8
  323. package/packages/tag/src/tag.vue +58 -58
  324. package/packages/theme-chalk/README.md +33 -33
  325. package/packages/theme-chalk/lib/alert.css +1 -1
  326. package/packages/theme-chalk/lib/autocomplete.css +1 -1
  327. package/packages/theme-chalk/lib/backtop.css +1 -1
  328. package/packages/theme-chalk/lib/badge.css +1 -1
  329. package/packages/theme-chalk/lib/base.css +1 -1
  330. package/packages/theme-chalk/lib/breadcrumb.css +1 -1
  331. package/packages/theme-chalk/lib/button.css +1 -1
  332. package/packages/theme-chalk/lib/calendar.css +1 -1
  333. package/packages/theme-chalk/lib/card.css +1 -1
  334. package/packages/theme-chalk/lib/carousel.css +1 -1
  335. package/packages/theme-chalk/lib/cascader-panel.css +1 -1
  336. package/packages/theme-chalk/lib/cascader.css +1 -1
  337. package/packages/theme-chalk/lib/checkbox.css +1 -1
  338. package/packages/theme-chalk/lib/collapse.css +1 -1
  339. package/packages/theme-chalk/lib/color-picker.css +1 -1
  340. package/packages/theme-chalk/lib/date-picker.css +1 -1
  341. package/packages/theme-chalk/lib/descriptions-item.css +1 -1
  342. package/packages/theme-chalk/lib/descriptions.css +1 -1
  343. package/packages/theme-chalk/lib/dialog.css +1 -1
  344. package/packages/theme-chalk/lib/divider.css +1 -1
  345. package/packages/theme-chalk/lib/dropdown.css +1 -1
  346. package/packages/theme-chalk/lib/empty.css +1 -1
  347. package/packages/theme-chalk/lib/form.css +1 -1
  348. package/packages/theme-chalk/lib/icon.css +1 -1
  349. package/packages/theme-chalk/lib/image.css +1 -1
  350. package/packages/theme-chalk/lib/index.css +1 -1
  351. package/packages/theme-chalk/lib/input-number.css +1 -1
  352. package/packages/theme-chalk/lib/input.css +1 -1
  353. package/packages/theme-chalk/lib/link.css +1 -1
  354. package/packages/theme-chalk/lib/loading.css +1 -1
  355. package/packages/theme-chalk/lib/menu.css +1 -1
  356. package/packages/theme-chalk/lib/message-box.css +1 -1
  357. package/packages/theme-chalk/lib/message.css +1 -1
  358. package/packages/theme-chalk/lib/notification.css +1 -1
  359. package/packages/theme-chalk/lib/option-group.css +1 -1
  360. package/packages/theme-chalk/lib/option.css +1 -1
  361. package/packages/theme-chalk/lib/page-header.css +1 -1
  362. package/packages/theme-chalk/lib/pagination.css +1 -1
  363. package/packages/theme-chalk/lib/popover.css +1 -1
  364. package/packages/theme-chalk/lib/popper.css +1 -1
  365. package/packages/theme-chalk/lib/progress.css +1 -1
  366. package/packages/theme-chalk/lib/radio-button.css +1 -1
  367. package/packages/theme-chalk/lib/radio.css +1 -1
  368. package/packages/theme-chalk/lib/rate.css +1 -1
  369. package/packages/theme-chalk/lib/reset.css +1 -1
  370. package/packages/theme-chalk/lib/result.css +1 -1
  371. package/packages/theme-chalk/lib/scrollbar.css +1 -1
  372. package/packages/theme-chalk/lib/select-dropdown.css +1 -1
  373. package/packages/theme-chalk/lib/select.css +1 -1
  374. package/packages/theme-chalk/lib/slider.css +1 -1
  375. package/packages/theme-chalk/lib/statistic.css +1 -1
  376. package/packages/theme-chalk/lib/step.css +1 -1
  377. package/packages/theme-chalk/lib/switch.css +1 -1
  378. package/packages/theme-chalk/lib/table-column.css +1 -1
  379. package/packages/theme-chalk/lib/table.css +1 -1
  380. package/packages/theme-chalk/lib/tabs.css +1 -1
  381. package/packages/theme-chalk/lib/tag.css +1 -1
  382. package/packages/theme-chalk/lib/time-picker.css +1 -1
  383. package/packages/theme-chalk/lib/time-select.css +1 -1
  384. package/packages/theme-chalk/lib/timeline-item.css +1 -1
  385. package/packages/theme-chalk/lib/tooltip.css +1 -1
  386. package/packages/theme-chalk/lib/transfer.css +1 -1
  387. package/packages/theme-chalk/lib/tree.css +1 -1
  388. package/packages/theme-chalk/lib/upload.css +1 -1
  389. package/packages/theme-chalk/package.json +35 -35
  390. package/packages/theme-chalk/src/.DS_Store +0 -0
  391. package/packages/theme-chalk/src/alert.scss +147 -147
  392. package/packages/theme-chalk/src/aside.scss +7 -7
  393. package/packages/theme-chalk/src/autocomplete.scss +80 -80
  394. package/packages/theme-chalk/src/avatar.scss +51 -51
  395. package/packages/theme-chalk/src/backtop.scss +22 -22
  396. package/packages/theme-chalk/src/badge.scss +57 -57
  397. package/packages/theme-chalk/src/base.scss +2 -2
  398. package/packages/theme-chalk/src/breadcrumb.scss +55 -55
  399. package/packages/theme-chalk/src/button.scss +262 -262
  400. package/packages/theme-chalk/src/calendar.scss +79 -79
  401. package/packages/theme-chalk/src/card.scss +32 -32
  402. package/packages/theme-chalk/src/carousel-item.scss +49 -49
  403. package/packages/theme-chalk/src/carousel.scss +161 -161
  404. package/packages/theme-chalk/src/cascader-panel.scss +120 -120
  405. package/packages/theme-chalk/src/cascader.scss +182 -182
  406. package/packages/theme-chalk/src/checkbox.scss +359 -359
  407. package/packages/theme-chalk/src/col.scss +155 -155
  408. package/packages/theme-chalk/src/collapse.scss +63 -63
  409. package/packages/theme-chalk/src/color-picker.scss +384 -384
  410. package/packages/theme-chalk/src/common/popup.scss +42 -42
  411. package/packages/theme-chalk/src/common/transition.scss +98 -98
  412. package/packages/theme-chalk/src/common/var.scss +1030 -1030
  413. package/packages/theme-chalk/src/container.scss +14 -14
  414. package/packages/theme-chalk/src/date-picker/date-picker.scss +97 -97
  415. package/packages/theme-chalk/src/date-picker/date-range-picker.scss +101 -101
  416. package/packages/theme-chalk/src/date-picker/date-table.scss +151 -151
  417. package/packages/theme-chalk/src/date-picker/month-table.scss +82 -82
  418. package/packages/theme-chalk/src/date-picker/picker-panel.scss +117 -117
  419. package/packages/theme-chalk/src/date-picker/picker.scss +197 -197
  420. package/packages/theme-chalk/src/date-picker/time-picker.scss +85 -85
  421. package/packages/theme-chalk/src/date-picker/time-range-picker.scss +31 -31
  422. package/packages/theme-chalk/src/date-picker/time-spinner.scss +110 -110
  423. package/packages/theme-chalk/src/date-picker/year-table.scss +51 -51
  424. package/packages/theme-chalk/src/date-picker.scss +11 -11
  425. package/packages/theme-chalk/src/descriptions-item.scss +42 -42
  426. package/packages/theme-chalk/src/descriptions.scss +111 -111
  427. package/packages/theme-chalk/src/dialog.scss +123 -123
  428. package/packages/theme-chalk/src/display.scss +12 -12
  429. package/packages/theme-chalk/src/divider.scss +46 -46
  430. package/packages/theme-chalk/src/drawer.scss +219 -219
  431. package/packages/theme-chalk/src/dropdown.scss +182 -182
  432. package/packages/theme-chalk/src/empty.scss +45 -45
  433. package/packages/theme-chalk/src/footer.scss +8 -8
  434. package/packages/theme-chalk/src/form.scss +167 -167
  435. package/packages/theme-chalk/src/header.scss +8 -8
  436. package/packages/theme-chalk/src/icon.scss +1342 -1167
  437. package/packages/theme-chalk/src/image.scss +179 -179
  438. package/packages/theme-chalk/src/input-number.scss +180 -180
  439. package/packages/theme-chalk/src/input.scss +360 -360
  440. package/packages/theme-chalk/src/link.scss +81 -81
  441. package/packages/theme-chalk/src/loading.scss +96 -96
  442. package/packages/theme-chalk/src/main.scss +12 -12
  443. package/packages/theme-chalk/src/menu.scss +289 -289
  444. package/packages/theme-chalk/src/message-box.scss +226 -226
  445. package/packages/theme-chalk/src/message.scss +120 -120
  446. package/packages/theme-chalk/src/mixins/_button.scss +81 -81
  447. package/packages/theme-chalk/src/mixins/config.scss +4 -4
  448. package/packages/theme-chalk/src/mixins/function.scss +44 -44
  449. package/packages/theme-chalk/src/mixins/mixins.scss +190 -190
  450. package/packages/theme-chalk/src/mixins/utils.scss +38 -38
  451. package/packages/theme-chalk/src/notification.scss +99 -99
  452. package/packages/theme-chalk/src/option-group.scss +42 -42
  453. package/packages/theme-chalk/src/option.scss +36 -36
  454. package/packages/theme-chalk/src/page-header.scss +41 -41
  455. package/packages/theme-chalk/src/pagination.scss +295 -295
  456. package/packages/theme-chalk/src/popconfirm.scss +16 -16
  457. package/packages/theme-chalk/src/popover.scss +40 -40
  458. package/packages/theme-chalk/src/popper.scss +100 -100
  459. package/packages/theme-chalk/src/progress.scss +141 -141
  460. package/packages/theme-chalk/src/radio-button.scss +113 -113
  461. package/packages/theme-chalk/src/radio-group.scss +9 -9
  462. package/packages/theme-chalk/src/radio.scss +199 -199
  463. package/packages/theme-chalk/src/rate.scss +49 -49
  464. package/packages/theme-chalk/src/reset.scss +79 -79
  465. package/packages/theme-chalk/src/result.scss +61 -61
  466. package/packages/theme-chalk/src/row.scss +43 -43
  467. package/packages/theme-chalk/src/scrollbar.scss +72 -72
  468. package/packages/theme-chalk/src/select-dropdown.scss +62 -62
  469. package/packages/theme-chalk/src/select.scss +152 -152
  470. package/packages/theme-chalk/src/skeleton-item.scss +84 -84
  471. package/packages/theme-chalk/src/skeleton.scss +40 -40
  472. package/packages/theme-chalk/src/slider.scss +250 -250
  473. package/packages/theme-chalk/src/spinner.scss +44 -44
  474. package/packages/theme-chalk/src/statistic.scss +38 -38
  475. package/packages/theme-chalk/src/step.scss +317 -317
  476. package/packages/theme-chalk/src/steps.scss +20 -20
  477. package/packages/theme-chalk/src/switch.scss +116 -116
  478. package/packages/theme-chalk/src/table-column.scss +96 -96
  479. package/packages/theme-chalk/src/table.scss +564 -564
  480. package/packages/theme-chalk/src/tabs.scss +602 -602
  481. package/packages/theme-chalk/src/tag.scss +163 -163
  482. package/packages/theme-chalk/src/time-picker.scss +8 -8
  483. package/packages/theme-chalk/src/time-select.scss +37 -37
  484. package/packages/theme-chalk/src/timeline-item.scss +86 -86
  485. package/packages/theme-chalk/src/timeline.scss +14 -14
  486. package/packages/theme-chalk/src/tooltip.scss +141 -141
  487. package/packages/theme-chalk/src/transfer.scss +227 -227
  488. package/packages/theme-chalk/src/tree.scss +123 -123
  489. package/packages/theme-chalk/src/upload.scss +603 -603
  490. package/packages/time-picker/index.js +8 -8
  491. package/packages/time-select/index.js +8 -8
  492. package/packages/timeline/index.js +8 -8
  493. package/packages/timeline/src/item.vue +73 -73
  494. package/packages/timeline/src/main.vue +33 -33
  495. package/packages/timeline-item/index.js +8 -8
  496. package/packages/tooltip/index.js +8 -8
  497. package/packages/tooltip/src/main.js +242 -242
  498. package/packages/transfer/index.js +8 -8
  499. package/packages/transfer/src/main.vue +231 -231
  500. package/packages/transfer/src/transfer-panel.vue +251 -251
  501. package/packages/tree/index.js +8 -8
  502. package/packages/tree/src/model/node.js +484 -484
  503. package/packages/tree/src/model/tree-store.js +340 -340
  504. package/packages/tree/src/model/util.js +27 -27
  505. package/packages/tree/src/tree-node.vue +279 -279
  506. package/packages/tree/src/tree.vue +496 -496
  507. package/packages/upload/index.js +8 -8
  508. package/packages/upload/src/ajax.js +85 -85
  509. package/packages/upload/src/index.vue +338 -338
  510. package/packages/upload/src/upload-dragger.vue +70 -70
  511. package/packages/upload/src/upload-list.vue +105 -105
  512. package/packages/upload/src/upload.vue +211 -211
  513. package/src/directives/mousewheel.js +18 -18
  514. package/src/directives/repeat-click.js +26 -26
  515. package/src/index.js +259 -259
  516. package/src/locale/format.js +46 -46
  517. package/src/locale/index.js +48 -48
  518. package/src/locale/lang/af-ZA.js +123 -123
  519. package/src/locale/lang/ar.js +122 -122
  520. package/src/locale/lang/az.js +126 -126
  521. package/src/locale/lang/bg.js +123 -123
  522. package/src/locale/lang/bn.js +126 -126
  523. package/src/locale/lang/ca.js +122 -122
  524. package/src/locale/lang/cs-CZ.js +125 -125
  525. package/src/locale/lang/da.js +122 -122
  526. package/src/locale/lang/de.js +124 -124
  527. package/src/locale/lang/ee.js +123 -123
  528. package/src/locale/lang/el.js +123 -123
  529. package/src/locale/lang/en.js +123 -123
  530. package/src/locale/lang/eo.js +123 -123
  531. package/src/locale/lang/es.js +122 -122
  532. package/src/locale/lang/eu.js +123 -123
  533. package/src/locale/lang/fa.js +123 -123
  534. package/src/locale/lang/fi.js +123 -123
  535. package/src/locale/lang/fr.js +122 -122
  536. package/src/locale/lang/he.js +123 -123
  537. package/src/locale/lang/hr.js +123 -123
  538. package/src/locale/lang/hu.js +122 -122
  539. package/src/locale/lang/hy-AM.js +123 -123
  540. package/src/locale/lang/id.js +123 -123
  541. package/src/locale/lang/is.js +124 -124
  542. package/src/locale/lang/it.js +122 -122
  543. package/src/locale/lang/ja.js +123 -123
  544. package/src/locale/lang/kg.js +123 -123
  545. package/src/locale/lang/km.js +123 -123
  546. package/src/locale/lang/ko.js +123 -123
  547. package/src/locale/lang/ku.js +123 -123
  548. package/src/locale/lang/kz.js +123 -123
  549. package/src/locale/lang/lo-LA.js +126 -126
  550. package/src/locale/lang/lt.js +123 -123
  551. package/src/locale/lang/lv.js +123 -123
  552. package/src/locale/lang/mn.js +123 -123
  553. package/src/locale/lang/ms.js +122 -122
  554. package/src/locale/lang/nb-NO.js +122 -122
  555. package/src/locale/lang/nl.js +123 -123
  556. package/src/locale/lang/pl.js +123 -123
  557. package/src/locale/lang/pt-br.js +123 -123
  558. package/src/locale/lang/pt.js +123 -123
  559. package/src/locale/lang/ro.js +123 -123
  560. package/src/locale/lang/ru-RU.js +123 -123
  561. package/src/locale/lang/si.js +123 -123
  562. package/src/locale/lang/sk.js +125 -125
  563. package/src/locale/lang/sl.js +123 -123
  564. package/src/locale/lang/sr-Latn.js +123 -123
  565. package/src/locale/lang/sr.js +123 -123
  566. package/src/locale/lang/sv-SE.js +123 -123
  567. package/src/locale/lang/sw.js +123 -123
  568. package/src/locale/lang/ta.js +122 -122
  569. package/src/locale/lang/th.js +123 -123
  570. package/src/locale/lang/tk.js +123 -123
  571. package/src/locale/lang/tr-TR.js +123 -123
  572. package/src/locale/lang/ua.js +123 -123
  573. package/src/locale/lang/ug-CN.js +123 -123
  574. package/src/locale/lang/uz-UZ.js +123 -123
  575. package/src/locale/lang/vi.js +123 -123
  576. package/src/locale/lang/zh-CN.js +123 -123
  577. package/src/locale/lang/zh-TW.js +123 -123
  578. package/src/mixins/emitter.js +33 -33
  579. package/src/mixins/focus.js +9 -9
  580. package/src/mixins/locale.js +9 -9
  581. package/src/mixins/migrating.js +54 -54
  582. package/src/transitions/collapse-transition.js +77 -77
  583. package/src/utils/after-leave.js +27 -27
  584. package/src/utils/aria-dialog.js +90 -90
  585. package/src/utils/aria-utils.js +122 -122
  586. package/src/utils/clickoutside.js +76 -76
  587. package/src/utils/date-util.js +282 -282
  588. package/src/utils/date.js +368 -368
  589. package/src/utils/dom.js +227 -227
  590. package/src/utils/lodash.js +18075 -18075
  591. package/src/utils/menu/aria-menubar.js +14 -14
  592. package/src/utils/menu/aria-menuitem.js +49 -49
  593. package/src/utils/menu/aria-submenu.js +59 -59
  594. package/src/utils/merge.js +15 -15
  595. package/src/utils/popper.js +1276 -1276
  596. package/src/utils/popup/index.js +218 -218
  597. package/src/utils/popup/popup-manager.js +194 -194
  598. package/src/utils/resize-event.js +36 -36
  599. package/src/utils/scroll-into-view.js +27 -27
  600. package/src/utils/scrollbar-width.js +29 -29
  601. package/src/utils/shared.js +7 -7
  602. package/src/utils/types.js +40 -40
  603. package/src/utils/util.js +245 -245
  604. package/src/utils/vdom.js +5 -5
  605. package/src/utils/vue-popper.js +198 -198
  606. package/types/alert.d.ts +31 -31
  607. package/types/aside.d.ts +7 -7
  608. package/types/autocomplete.d.ts +78 -78
  609. package/types/avatar.d.ts +20 -20
  610. package/types/backtop.d.ts +16 -16
  611. package/types/badge.d.ts +16 -16
  612. package/types/breadcrumb-item.d.ts +10 -10
  613. package/types/breadcrumb.d.ts +10 -10
  614. package/types/button-group.d.ts +4 -4
  615. package/types/button.d.ts +37 -37
  616. package/types/calendar.d.ts +15 -15
  617. package/types/card.d.ts +26 -26
  618. package/types/carousel-item.d.ts +10 -10
  619. package/types/carousel.d.ts +57 -57
  620. package/types/cascader-panel.d.ts +72 -72
  621. package/types/cascader.d.ts +65 -65
  622. package/types/checkbox-button.d.ts +22 -22
  623. package/types/checkbox-group.d.ts +22 -22
  624. package/types/checkbox.d.ts +34 -34
  625. package/types/col.d.ts +46 -46
  626. package/types/collapse-item.d.ts +26 -26
  627. package/types/collapse.d.ts +10 -10
  628. package/types/color-picker.d.ts +21 -21
  629. package/types/component.d.ts +13 -13
  630. package/types/container.d.ts +7 -7
  631. package/types/date-picker.d.ts +124 -124
  632. package/types/descriptions-item.d.ts +37 -37
  633. package/types/descriptions.d.ts +52 -52
  634. package/types/dialog.d.ts +62 -62
  635. package/types/divider.d.ts +12 -12
  636. package/types/drawer.d.ts +63 -63
  637. package/types/dropdown-item.d.ts +16 -16
  638. package/types/dropdown-menu.d.ts +4 -4
  639. package/types/dropdown.d.ts +38 -38
  640. package/types/element-ui.d.ts +381 -381
  641. package/types/empty.d.ts +31 -31
  642. package/types/footer.d.ts +7 -7
  643. package/types/form-item.d.ts +37 -37
  644. package/types/form.d.ts +82 -82
  645. package/types/header.d.ts +7 -7
  646. package/types/icon.d.ts +7 -7
  647. package/types/image.d.ts +43 -43
  648. package/types/index.d.ts +4 -4
  649. package/types/infinite-scroll.d.ts +5 -5
  650. package/types/input-number.d.ts +47 -47
  651. package/types/input.d.ts +107 -107
  652. package/types/link.d.ts +25 -25
  653. package/types/loading.d.ts +62 -62
  654. package/types/main.d.ts +4 -4
  655. package/types/menu-item-group.d.ts +7 -7
  656. package/types/menu-item.d.ts +10 -10
  657. package/types/menu.d.ts +46 -46
  658. package/types/message-box.d.ts +176 -176
  659. package/types/message.d.ts +90 -90
  660. package/types/notification.d.ts +84 -84
  661. package/types/option-group.d.ts +10 -10
  662. package/types/option.d.ts +13 -13
  663. package/types/page-header.d.ts +10 -10
  664. package/types/pagination.d.ts +43 -43
  665. package/types/popconfirm.d.ts +29 -29
  666. package/types/popover.d.ts +71 -71
  667. package/types/progress.d.ts +37 -37
  668. package/types/radio-button.d.ts +16 -16
  669. package/types/radio-group.d.ts +18 -18
  670. package/types/radio.d.ts +19 -19
  671. package/types/rate.d.ts +64 -64
  672. package/types/result.d.ts +33 -33
  673. package/types/row.d.ts +25 -25
  674. package/types/select.d.ts +90 -90
  675. package/types/skeleton-item.d.ts +7 -7
  676. package/types/skeleton.d.ts +33 -33
  677. package/types/slider.d.ts +68 -68
  678. package/types/spinner.d.ts +16 -16
  679. package/types/statistic.d.ts +37 -37
  680. package/types/step.d.ts +34 -34
  681. package/types/steps.d.ts +28 -28
  682. package/types/submenu.d.ts +22 -22
  683. package/types/switch.d.ts +43 -43
  684. package/types/tab-pane.d.ts +19 -19
  685. package/types/table-column.d.ts +117 -117
  686. package/types/table.d.ts +177 -177
  687. package/types/tabs.d.ts +31 -31
  688. package/types/tag.d.ts +28 -28
  689. package/types/time-picker.d.ts +63 -63
  690. package/types/time-select.d.ts +56 -56
  691. package/types/timeline-item.d.ts +20 -20
  692. package/types/timeline.d.ts +6 -6
  693. package/types/tooltip.d.ts +52 -52
  694. package/types/transfer.d.ts +73 -73
  695. package/types/tree.d.ts +266 -266
  696. package/types/upload.d.ts +124 -124
  697. package/web-types.json +4195 -4195
@@ -1,273 +1,273 @@
1
- import { getValueByPath } from 'element-sim/src/utils/util';
2
-
3
- export const getCell = function(event) {
4
- let cell = event.target;
5
-
6
- while (cell && cell.tagName.toUpperCase() !== 'HTML') {
7
- if (cell.tagName.toUpperCase() === 'TD') {
8
- return cell;
9
- }
10
- cell = cell.parentNode;
11
- }
12
-
13
- return null;
14
- };
15
-
16
- const isObject = function(obj) {
17
- return obj !== null && typeof obj === 'object';
18
- };
19
-
20
- export const orderBy = function(array, sortKey, reverse, sortMethod, sortBy) {
21
- if (!sortKey && !sortMethod && (!sortBy || Array.isArray(sortBy) && !sortBy.length)) {
22
- return array;
23
- }
24
- if (typeof reverse === 'string') {
25
- reverse = reverse === 'descending' ? -1 : 1;
26
- } else {
27
- reverse = (reverse && reverse < 0) ? -1 : 1;
28
- }
29
- const getKey = sortMethod ? null : function(value, index) {
30
- if (sortBy) {
31
- if (!Array.isArray(sortBy)) {
32
- sortBy = [sortBy];
33
- }
34
- return sortBy.map(function(by) {
35
- if (typeof by === 'string') {
36
- return getValueByPath(value, by);
37
- } else {
38
- return by(value, index, array);
39
- }
40
- });
41
- }
42
- if (sortKey !== '$key') {
43
- if (isObject(value) && '$value' in value) value = value.$value;
44
- }
45
- return [isObject(value) ? getValueByPath(value, sortKey) : value];
46
- };
47
- const compare = function(a, b) {
48
- if (sortMethod) {
49
- return sortMethod(a.value, b.value);
50
- }
51
- for (let i = 0, len = a.key.length; i < len; i++) {
52
- if (a.key[i] < b.key[i]) {
53
- return -1;
54
- }
55
- if (a.key[i] > b.key[i]) {
56
- return 1;
57
- }
58
- }
59
- return 0;
60
- };
61
- return array.map(function(value, index) {
62
- return {
63
- value: value,
64
- index: index,
65
- key: getKey ? getKey(value, index) : null
66
- };
67
- }).sort(function(a, b) {
68
- let order = compare(a, b);
69
- if (!order) {
70
- // make stable https://en.wikipedia.org/wiki/Sorting_algorithm#Stability
71
- order = a.index - b.index;
72
- }
73
- return order * reverse;
74
- }).map(item => item.value);
75
- };
76
-
77
- export const getColumnById = function(table, columnId) {
78
- let column = null;
79
- table.columns.forEach(function(item) {
80
- if (item.id === columnId) {
81
- column = item;
82
- }
83
- });
84
- return column;
85
- };
86
-
87
- export const getColumnByKey = function(table, columnKey) {
88
- let column = null;
89
- for (let i = 0; i < table.columns.length; i++) {
90
- const item = table.columns[i];
91
- if (item.columnKey === columnKey) {
92
- column = item;
93
- break;
94
- }
95
- }
96
- return column;
97
- };
98
-
99
- export const getColumnByCell = function(table, cell) {
100
- const matches = (cell.className || '').match(/el-table_[^\s]+/gm);
101
- if (matches) {
102
- return getColumnById(table, matches[0]);
103
- }
104
- return null;
105
- };
106
-
107
- export const getRowIdentity = (row, rowKey) => {
108
- if (!row) throw new Error('row is required when get row identity');
109
- if (typeof rowKey === 'string') {
110
- if (rowKey.indexOf('.') < 0) {
111
- return row[rowKey];
112
- }
113
- let key = rowKey.split('.');
114
- let current = row;
115
- for (let i = 0; i < key.length; i++) {
116
- current = current[key[i]];
117
- }
118
- return current;
119
- } else if (typeof rowKey === 'function') {
120
- return rowKey.call(null, row);
121
- }
122
- };
123
-
124
- export const getKeysMap = function(array, rowKey) {
125
- const arrayMap = {};
126
- (array || []).forEach((row, index) => {
127
- arrayMap[getRowIdentity(row, rowKey)] = { row, index };
128
- });
129
- return arrayMap;
130
- };
131
-
132
- function hasOwn(obj, key) {
133
- return Object.prototype.hasOwnProperty.call(obj, key);
134
- }
135
-
136
- export function mergeOptions(defaults, config) {
137
- const options = {};
138
- let key;
139
- for (key in defaults) {
140
- options[key] = defaults[key];
141
- }
142
- for (key in config) {
143
- if (hasOwn(config, key)) {
144
- const value = config[key];
145
- if (typeof value !== 'undefined') {
146
- options[key] = value;
147
- }
148
- }
149
- }
150
- return options;
151
- }
152
-
153
- export function parseWidth(width) {
154
- if (width !== undefined) {
155
- width = parseInt(width, 10);
156
- if (isNaN(width)) {
157
- width = null;
158
- }
159
- }
160
- return width;
161
- }
162
-
163
- export function parseMinWidth(minWidth) {
164
- if (typeof minWidth !== 'undefined') {
165
- minWidth = parseWidth(minWidth);
166
- if (isNaN(minWidth)) {
167
- minWidth = 80;
168
- }
169
- }
170
- return minWidth;
171
- };
172
-
173
- export function parseHeight(height) {
174
- if (typeof height === 'number') {
175
- return height;
176
- }
177
- if (typeof height === 'string') {
178
- if (/^\d+(?:px)?$/.test(height)) {
179
- return parseInt(height, 10);
180
- } else {
181
- return height;
182
- }
183
- }
184
- return null;
185
- }
186
-
187
- // https://github.com/reduxjs/redux/blob/master/src/compose.js
188
- export function compose(...funcs) {
189
- if (funcs.length === 0) {
190
- return arg => arg;
191
- }
192
- if (funcs.length === 1) {
193
- return funcs[0];
194
- }
195
- return funcs.reduce((a, b) => (...args) => a(b(...args)));
196
- }
197
-
198
- export function toggleRowStatus(statusArr, row, newVal) {
199
- let changed = false;
200
- const index = statusArr.indexOf(row);
201
- const included = index !== -1;
202
-
203
- const addRow = () => {
204
- statusArr.push(row);
205
- changed = true;
206
- };
207
- const removeRow = () => {
208
- statusArr.splice(index, 1);
209
- changed = true;
210
- };
211
-
212
- if (typeof newVal === 'boolean') {
213
- if (newVal && !included) {
214
- addRow();
215
- } else if (!newVal && included) {
216
- removeRow();
217
- }
218
- } else {
219
- if (included) {
220
- removeRow();
221
- } else {
222
- addRow();
223
- }
224
- }
225
- return changed;
226
- }
227
-
228
- export function walkTreeNode(root, cb, childrenKey = 'children', lazyKey = 'hasChildren') {
229
- const isNil = (array) => !(Array.isArray(array) && array.length);
230
-
231
- function _walker(parent, children, level) {
232
- cb(parent, children, level);
233
- children.forEach(item => {
234
- if (item[lazyKey]) {
235
- cb(item, null, level + 1);
236
- return;
237
- }
238
- const children = item[childrenKey];
239
- if (!isNil(children)) {
240
- _walker(item, children, level + 1);
241
- }
242
- });
243
- }
244
-
245
- root.forEach(item => {
246
- if (item[lazyKey]) {
247
- cb(item, null, 0);
248
- return;
249
- }
250
- const children = item[childrenKey];
251
- if (!isNil(children)) {
252
- _walker(item, children, 0);
253
- }
254
- });
255
- }
256
-
257
- export const objectEquals = function(objectA, objectB) {
258
- // 取对象a和b的属性名
259
- let aProps = Object.getOwnPropertyNames(objectA);
260
- let bProps = Object.getOwnPropertyNames(objectB);
261
- // 判断属性名的length是否一致
262
- if (aProps.length !== bProps.length) {
263
- return false;
264
- }
265
- // 循环取出属性名,再判断属性值是否一致
266
- for (let i = 0; i < aProps.length; i++) {
267
- let propName = aProps[i];
268
- if (objectA[propName] !== objectB[propName]) {
269
- return false;
270
- }
271
- }
272
- return true;
273
- };
1
+ import { getValueByPath } from 'element-sim/src/utils/util';
2
+
3
+ export const getCell = function(event) {
4
+ let cell = event.target;
5
+
6
+ while (cell && cell.tagName.toUpperCase() !== 'HTML') {
7
+ if (cell.tagName.toUpperCase() === 'TD') {
8
+ return cell;
9
+ }
10
+ cell = cell.parentNode;
11
+ }
12
+
13
+ return null;
14
+ };
15
+
16
+ const isObject = function(obj) {
17
+ return obj !== null && typeof obj === 'object';
18
+ };
19
+
20
+ export const orderBy = function(array, sortKey, reverse, sortMethod, sortBy) {
21
+ if (!sortKey && !sortMethod && (!sortBy || Array.isArray(sortBy) && !sortBy.length)) {
22
+ return array;
23
+ }
24
+ if (typeof reverse === 'string') {
25
+ reverse = reverse === 'descending' ? -1 : 1;
26
+ } else {
27
+ reverse = (reverse && reverse < 0) ? -1 : 1;
28
+ }
29
+ const getKey = sortMethod ? null : function(value, index) {
30
+ if (sortBy) {
31
+ if (!Array.isArray(sortBy)) {
32
+ sortBy = [sortBy];
33
+ }
34
+ return sortBy.map(function(by) {
35
+ if (typeof by === 'string') {
36
+ return getValueByPath(value, by);
37
+ } else {
38
+ return by(value, index, array);
39
+ }
40
+ });
41
+ }
42
+ if (sortKey !== '$key') {
43
+ if (isObject(value) && '$value' in value) value = value.$value;
44
+ }
45
+ return [isObject(value) ? getValueByPath(value, sortKey) : value];
46
+ };
47
+ const compare = function(a, b) {
48
+ if (sortMethod) {
49
+ return sortMethod(a.value, b.value);
50
+ }
51
+ for (let i = 0, len = a.key.length; i < len; i++) {
52
+ if (a.key[i] < b.key[i]) {
53
+ return -1;
54
+ }
55
+ if (a.key[i] > b.key[i]) {
56
+ return 1;
57
+ }
58
+ }
59
+ return 0;
60
+ };
61
+ return array.map(function(value, index) {
62
+ return {
63
+ value: value,
64
+ index: index,
65
+ key: getKey ? getKey(value, index) : null
66
+ };
67
+ }).sort(function(a, b) {
68
+ let order = compare(a, b);
69
+ if (!order) {
70
+ // make stable https://en.wikipedia.org/wiki/Sorting_algorithm#Stability
71
+ order = a.index - b.index;
72
+ }
73
+ return order * reverse;
74
+ }).map(item => item.value);
75
+ };
76
+
77
+ export const getColumnById = function(table, columnId) {
78
+ let column = null;
79
+ table.columns.forEach(function(item) {
80
+ if (item.id === columnId) {
81
+ column = item;
82
+ }
83
+ });
84
+ return column;
85
+ };
86
+
87
+ export const getColumnByKey = function(table, columnKey) {
88
+ let column = null;
89
+ for (let i = 0; i < table.columns.length; i++) {
90
+ const item = table.columns[i];
91
+ if (item.columnKey === columnKey) {
92
+ column = item;
93
+ break;
94
+ }
95
+ }
96
+ return column;
97
+ };
98
+
99
+ export const getColumnByCell = function(table, cell) {
100
+ const matches = (cell.className || '').match(/el-table_[^\s]+/gm);
101
+ if (matches) {
102
+ return getColumnById(table, matches[0]);
103
+ }
104
+ return null;
105
+ };
106
+
107
+ export const getRowIdentity = (row, rowKey) => {
108
+ if (!row) throw new Error('row is required when get row identity');
109
+ if (typeof rowKey === 'string') {
110
+ if (rowKey.indexOf('.') < 0) {
111
+ return row[rowKey];
112
+ }
113
+ let key = rowKey.split('.');
114
+ let current = row;
115
+ for (let i = 0; i < key.length; i++) {
116
+ current = current[key[i]];
117
+ }
118
+ return current;
119
+ } else if (typeof rowKey === 'function') {
120
+ return rowKey.call(null, row);
121
+ }
122
+ };
123
+
124
+ export const getKeysMap = function(array, rowKey) {
125
+ const arrayMap = {};
126
+ (array || []).forEach((row, index) => {
127
+ arrayMap[getRowIdentity(row, rowKey)] = { row, index };
128
+ });
129
+ return arrayMap;
130
+ };
131
+
132
+ function hasOwn(obj, key) {
133
+ return Object.prototype.hasOwnProperty.call(obj, key);
134
+ }
135
+
136
+ export function mergeOptions(defaults, config) {
137
+ const options = {};
138
+ let key;
139
+ for (key in defaults) {
140
+ options[key] = defaults[key];
141
+ }
142
+ for (key in config) {
143
+ if (hasOwn(config, key)) {
144
+ const value = config[key];
145
+ if (typeof value !== 'undefined') {
146
+ options[key] = value;
147
+ }
148
+ }
149
+ }
150
+ return options;
151
+ }
152
+
153
+ export function parseWidth(width) {
154
+ if (width !== undefined) {
155
+ width = parseInt(width, 10);
156
+ if (isNaN(width)) {
157
+ width = null;
158
+ }
159
+ }
160
+ return width;
161
+ }
162
+
163
+ export function parseMinWidth(minWidth) {
164
+ if (typeof minWidth !== 'undefined') {
165
+ minWidth = parseWidth(minWidth);
166
+ if (isNaN(minWidth)) {
167
+ minWidth = 80;
168
+ }
169
+ }
170
+ return minWidth;
171
+ };
172
+
173
+ export function parseHeight(height) {
174
+ if (typeof height === 'number') {
175
+ return height;
176
+ }
177
+ if (typeof height === 'string') {
178
+ if (/^\d+(?:px)?$/.test(height)) {
179
+ return parseInt(height, 10);
180
+ } else {
181
+ return height;
182
+ }
183
+ }
184
+ return null;
185
+ }
186
+
187
+ // https://github.com/reduxjs/redux/blob/master/src/compose.js
188
+ export function compose(...funcs) {
189
+ if (funcs.length === 0) {
190
+ return arg => arg;
191
+ }
192
+ if (funcs.length === 1) {
193
+ return funcs[0];
194
+ }
195
+ return funcs.reduce((a, b) => (...args) => a(b(...args)));
196
+ }
197
+
198
+ export function toggleRowStatus(statusArr, row, newVal) {
199
+ let changed = false;
200
+ const index = statusArr.indexOf(row);
201
+ const included = index !== -1;
202
+
203
+ const addRow = () => {
204
+ statusArr.push(row);
205
+ changed = true;
206
+ };
207
+ const removeRow = () => {
208
+ statusArr.splice(index, 1);
209
+ changed = true;
210
+ };
211
+
212
+ if (typeof newVal === 'boolean') {
213
+ if (newVal && !included) {
214
+ addRow();
215
+ } else if (!newVal && included) {
216
+ removeRow();
217
+ }
218
+ } else {
219
+ if (included) {
220
+ removeRow();
221
+ } else {
222
+ addRow();
223
+ }
224
+ }
225
+ return changed;
226
+ }
227
+
228
+ export function walkTreeNode(root, cb, childrenKey = 'children', lazyKey = 'hasChildren') {
229
+ const isNil = (array) => !(Array.isArray(array) && array.length);
230
+
231
+ function _walker(parent, children, level) {
232
+ cb(parent, children, level);
233
+ children.forEach(item => {
234
+ if (item[lazyKey]) {
235
+ cb(item, null, level + 1);
236
+ return;
237
+ }
238
+ const children = item[childrenKey];
239
+ if (!isNil(children)) {
240
+ _walker(item, children, level + 1);
241
+ }
242
+ });
243
+ }
244
+
245
+ root.forEach(item => {
246
+ if (item[lazyKey]) {
247
+ cb(item, null, 0);
248
+ return;
249
+ }
250
+ const children = item[childrenKey];
251
+ if (!isNil(children)) {
252
+ _walker(item, children, 0);
253
+ }
254
+ });
255
+ }
256
+
257
+ export const objectEquals = function(objectA, objectB) {
258
+ // 取对象a和b的属性名
259
+ let aProps = Object.getOwnPropertyNames(objectA);
260
+ let bProps = Object.getOwnPropertyNames(objectB);
261
+ // 判断属性名的length是否一致
262
+ if (aProps.length !== bProps.length) {
263
+ return false;
264
+ }
265
+ // 循环取出属性名,再判断属性值是否一致
266
+ for (let i = 0; i < aProps.length; i++) {
267
+ let propName = aProps[i];
268
+ if (objectA[propName] !== objectB[propName]) {
269
+ return false;
270
+ }
271
+ }
272
+ return true;
273
+ };
@@ -1,8 +1,8 @@
1
- import ElTableColumn from '../table/src/table-column';
2
-
3
- /* istanbul ignore next */
4
- ElTableColumn.install = function(Vue) {
5
- Vue.component(ElTableColumn.name, ElTableColumn);
6
- };
7
-
8
- export default ElTableColumn;
1
+ import ElTableColumn from '../table/src/table-column';
2
+
3
+ /* istanbul ignore next */
4
+ ElTableColumn.install = function(Vue) {
5
+ Vue.component(ElTableColumn.name, ElTableColumn);
6
+ };
7
+
8
+ export default ElTableColumn;
@@ -1,8 +1,8 @@
1
- import ElTabs from './src/tabs';
2
-
3
- /* istanbul ignore next */
4
- ElTabs.install = function(Vue) {
5
- Vue.component(ElTabs.name, ElTabs);
6
- };
7
-
8
- export default ElTabs;
1
+ import ElTabs from './src/tabs';
2
+
3
+ /* istanbul ignore next */
4
+ ElTabs.install = function(Vue) {
5
+ Vue.component(ElTabs.name, ElTabs);
6
+ };
7
+
8
+ export default ElTabs;