@penggy/element-ui 2.4.11

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 (790) hide show
  1. package/CHANGELOG.en-US.md +748 -0
  2. package/CHANGELOG.es.md +756 -0
  3. package/CHANGELOG.zh-CN.md +748 -0
  4. package/LICENSE +21 -0
  5. package/README.md +237 -0
  6. package/lib/alert.js +343 -0
  7. package/lib/aside.js +277 -0
  8. package/lib/autocomplete.js +767 -0
  9. package/lib/badge.js +316 -0
  10. package/lib/breadcrumb-item.js +303 -0
  11. package/lib/breadcrumb.js +290 -0
  12. package/lib/button-group.js +267 -0
  13. package/lib/button.js +345 -0
  14. package/lib/card.js +280 -0
  15. package/lib/carousel-item.js +378 -0
  16. package/lib/carousel.js +532 -0
  17. package/lib/cascader.js +1338 -0
  18. package/lib/checkbox-button.js +446 -0
  19. package/lib/checkbox-group.js +310 -0
  20. package/lib/checkbox.js +481 -0
  21. package/lib/col.js +172 -0
  22. package/lib/collapse-item.js +404 -0
  23. package/lib/collapse.js +326 -0
  24. package/lib/color-picker.js +1826 -0
  25. package/lib/container.js +288 -0
  26. package/lib/date-picker.js +4396 -0
  27. package/lib/dialog.js +490 -0
  28. package/lib/directives/mousewheel.js +26 -0
  29. package/lib/directives/repeat-click.js +30 -0
  30. package/lib/dropdown-item.js +305 -0
  31. package/lib/dropdown-menu.js +330 -0
  32. package/lib/dropdown.js +623 -0
  33. package/lib/element-ui.common.js +32381 -0
  34. package/lib/footer.js +277 -0
  35. package/lib/form-item.js +610 -0
  36. package/lib/form.js +428 -0
  37. package/lib/header.js +277 -0
  38. package/lib/icon.js +270 -0
  39. package/lib/index.js +1 -0
  40. package/lib/input-number.js +590 -0
  41. package/lib/input.js +735 -0
  42. package/lib/loading.js +616 -0
  43. package/lib/locale/format.js +56 -0
  44. package/lib/locale/index.js +63 -0
  45. package/lib/locale/lang/af-ZA.js +112 -0
  46. package/lib/locale/lang/ar.js +111 -0
  47. package/lib/locale/lang/bg.js +112 -0
  48. package/lib/locale/lang/ca.js +111 -0
  49. package/lib/locale/lang/cs-CZ.js +114 -0
  50. package/lib/locale/lang/da.js +111 -0
  51. package/lib/locale/lang/de.js +113 -0
  52. package/lib/locale/lang/ee.js +112 -0
  53. package/lib/locale/lang/el.js +112 -0
  54. package/lib/locale/lang/en.js +112 -0
  55. package/lib/locale/lang/es.js +111 -0
  56. package/lib/locale/lang/eu.js +112 -0
  57. package/lib/locale/lang/fa.js +112 -0
  58. package/lib/locale/lang/fi.js +112 -0
  59. package/lib/locale/lang/fr.js +111 -0
  60. package/lib/locale/lang/he.js +112 -0
  61. package/lib/locale/lang/hu.js +111 -0
  62. package/lib/locale/lang/id.js +112 -0
  63. package/lib/locale/lang/it.js +111 -0
  64. package/lib/locale/lang/ja.js +112 -0
  65. package/lib/locale/lang/km.js +112 -0
  66. package/lib/locale/lang/ko.js +112 -0
  67. package/lib/locale/lang/ku.js +112 -0
  68. package/lib/locale/lang/kz.js +112 -0
  69. package/lib/locale/lang/lt.js +112 -0
  70. package/lib/locale/lang/lv.js +112 -0
  71. package/lib/locale/lang/mn.js +112 -0
  72. package/lib/locale/lang/nb-NO.js +111 -0
  73. package/lib/locale/lang/nl.js +112 -0
  74. package/lib/locale/lang/pl.js +112 -0
  75. package/lib/locale/lang/pt-br.js +112 -0
  76. package/lib/locale/lang/pt.js +112 -0
  77. package/lib/locale/lang/ro.js +112 -0
  78. package/lib/locale/lang/ru-RU.js +112 -0
  79. package/lib/locale/lang/sk.js +114 -0
  80. package/lib/locale/lang/sl.js +112 -0
  81. package/lib/locale/lang/sr.js +112 -0
  82. package/lib/locale/lang/sv-SE.js +112 -0
  83. package/lib/locale/lang/ta.js +111 -0
  84. package/lib/locale/lang/th.js +112 -0
  85. package/lib/locale/lang/tk.js +112 -0
  86. package/lib/locale/lang/tr-TR.js +112 -0
  87. package/lib/locale/lang/ua.js +112 -0
  88. package/lib/locale/lang/ug-CN.js +112 -0
  89. package/lib/locale/lang/vi.js +112 -0
  90. package/lib/locale/lang/zh-CN.js +112 -0
  91. package/lib/locale/lang/zh-TW.js +112 -0
  92. package/lib/main.js +269 -0
  93. package/lib/menu-item-group.js +302 -0
  94. package/lib/menu-item.js +444 -0
  95. package/lib/menu.js +915 -0
  96. package/lib/message-box.js +917 -0
  97. package/lib/message.js +483 -0
  98. package/lib/mixins/emitter.js +36 -0
  99. package/lib/mixins/focus.js +15 -0
  100. package/lib/mixins/locale.js +17 -0
  101. package/lib/mixins/migrating.js +64 -0
  102. package/lib/notification.js +539 -0
  103. package/lib/option-group.js +327 -0
  104. package/lib/option.js +443 -0
  105. package/lib/pagination.js +1000 -0
  106. package/lib/popover.js +545 -0
  107. package/lib/progress.js +406 -0
  108. package/lib/radio-button.js +389 -0
  109. package/lib/radio-group.js +370 -0
  110. package/lib/radio.js +402 -0
  111. package/lib/rate.js +607 -0
  112. package/lib/row.js +144 -0
  113. package/lib/scrollbar.js +441 -0
  114. package/lib/select.js +1691 -0
  115. package/lib/slider.js +938 -0
  116. package/lib/spinner.js +284 -0
  117. package/lib/step.js +439 -0
  118. package/lib/steps.js +338 -0
  119. package/lib/submenu.js +689 -0
  120. package/lib/switch.js +445 -0
  121. package/lib/tab-pane.js +316 -0
  122. package/lib/table-column.js +670 -0
  123. package/lib/table.js +3941 -0
  124. package/lib/tabs.js +960 -0
  125. package/lib/tag.js +292 -0
  126. package/lib/theme-chalk/alert.css +1 -0
  127. package/lib/theme-chalk/aside.css +1 -0
  128. package/lib/theme-chalk/autocomplete.css +1 -0
  129. package/lib/theme-chalk/badge.css +1 -0
  130. package/lib/theme-chalk/base.css +1 -0
  131. package/lib/theme-chalk/breadcrumb-item.css +0 -0
  132. package/lib/theme-chalk/breadcrumb.css +1 -0
  133. package/lib/theme-chalk/button-group.css +0 -0
  134. package/lib/theme-chalk/button.css +1 -0
  135. package/lib/theme-chalk/card.css +1 -0
  136. package/lib/theme-chalk/carousel-item.css +1 -0
  137. package/lib/theme-chalk/carousel.css +1 -0
  138. package/lib/theme-chalk/cascader.css +1 -0
  139. package/lib/theme-chalk/checkbox-button.css +0 -0
  140. package/lib/theme-chalk/checkbox-group.css +0 -0
  141. package/lib/theme-chalk/checkbox.css +1 -0
  142. package/lib/theme-chalk/col.css +1 -0
  143. package/lib/theme-chalk/collapse-item.css +0 -0
  144. package/lib/theme-chalk/collapse.css +1 -0
  145. package/lib/theme-chalk/color-picker.css +1 -0
  146. package/lib/theme-chalk/container.css +1 -0
  147. package/lib/theme-chalk/date-picker.css +1 -0
  148. package/lib/theme-chalk/dialog.css +1 -0
  149. package/lib/theme-chalk/display.css +1 -0
  150. package/lib/theme-chalk/dropdown-item.css +0 -0
  151. package/lib/theme-chalk/dropdown-menu.css +0 -0
  152. package/lib/theme-chalk/dropdown.css +1 -0
  153. package/lib/theme-chalk/fonts/element-icons.ttf +0 -0
  154. package/lib/theme-chalk/fonts/element-icons.woff +0 -0
  155. package/lib/theme-chalk/footer.css +1 -0
  156. package/lib/theme-chalk/form-item.css +0 -0
  157. package/lib/theme-chalk/form.css +1 -0
  158. package/lib/theme-chalk/header.css +1 -0
  159. package/lib/theme-chalk/icon.css +1 -0
  160. package/lib/theme-chalk/index.css +1 -0
  161. package/lib/theme-chalk/input-number.css +1 -0
  162. package/lib/theme-chalk/input.css +1 -0
  163. package/lib/theme-chalk/loading.css +1 -0
  164. package/lib/theme-chalk/main.css +1 -0
  165. package/lib/theme-chalk/menu-item-group.css +0 -0
  166. package/lib/theme-chalk/menu-item.css +0 -0
  167. package/lib/theme-chalk/menu.css +1 -0
  168. package/lib/theme-chalk/message-box.css +1 -0
  169. package/lib/theme-chalk/message.css +1 -0
  170. package/lib/theme-chalk/notification.css +1 -0
  171. package/lib/theme-chalk/option-group.css +1 -0
  172. package/lib/theme-chalk/option.css +1 -0
  173. package/lib/theme-chalk/pagination.css +1 -0
  174. package/lib/theme-chalk/popover.css +1 -0
  175. package/lib/theme-chalk/popper.css +1 -0
  176. package/lib/theme-chalk/progress.css +1 -0
  177. package/lib/theme-chalk/radio-button.css +1 -0
  178. package/lib/theme-chalk/radio-group.css +1 -0
  179. package/lib/theme-chalk/radio.css +1 -0
  180. package/lib/theme-chalk/rate.css +1 -0
  181. package/lib/theme-chalk/reset.css +1 -0
  182. package/lib/theme-chalk/row.css +1 -0
  183. package/lib/theme-chalk/scrollbar.css +1 -0
  184. package/lib/theme-chalk/select-dropdown.css +1 -0
  185. package/lib/theme-chalk/select.css +1 -0
  186. package/lib/theme-chalk/slider.css +1 -0
  187. package/lib/theme-chalk/spinner.css +1 -0
  188. package/lib/theme-chalk/step.css +1 -0
  189. package/lib/theme-chalk/steps.css +1 -0
  190. package/lib/theme-chalk/submenu.css +0 -0
  191. package/lib/theme-chalk/switch.css +1 -0
  192. package/lib/theme-chalk/tab-pane.css +0 -0
  193. package/lib/theme-chalk/table-column.css +1 -0
  194. package/lib/theme-chalk/table.css +1 -0
  195. package/lib/theme-chalk/tabs.css +1 -0
  196. package/lib/theme-chalk/tag.css +1 -0
  197. package/lib/theme-chalk/time-picker.css +1 -0
  198. package/lib/theme-chalk/time-select.css +1 -0
  199. package/lib/theme-chalk/tooltip.css +1 -0
  200. package/lib/theme-chalk/transfer.css +1 -0
  201. package/lib/theme-chalk/tree.css +1 -0
  202. package/lib/theme-chalk/upload.css +1 -0
  203. package/lib/time-picker.js +2553 -0
  204. package/lib/time-select.js +1839 -0
  205. package/lib/tooltip.js +397 -0
  206. package/lib/transfer.js +883 -0
  207. package/lib/transitions/collapse-transition.js +91 -0
  208. package/lib/tree.js +2138 -0
  209. package/lib/umd/locale/af-ZA.js +128 -0
  210. package/lib/umd/locale/ar.js +127 -0
  211. package/lib/umd/locale/bg.js +128 -0
  212. package/lib/umd/locale/ca.js +127 -0
  213. package/lib/umd/locale/cs-CZ.js +130 -0
  214. package/lib/umd/locale/da.js +127 -0
  215. package/lib/umd/locale/de.js +129 -0
  216. package/lib/umd/locale/ee.js +128 -0
  217. package/lib/umd/locale/el.js +128 -0
  218. package/lib/umd/locale/en.js +128 -0
  219. package/lib/umd/locale/es.js +127 -0
  220. package/lib/umd/locale/eu.js +128 -0
  221. package/lib/umd/locale/fa.js +128 -0
  222. package/lib/umd/locale/fi.js +128 -0
  223. package/lib/umd/locale/fr.js +127 -0
  224. package/lib/umd/locale/he.js +128 -0
  225. package/lib/umd/locale/hu.js +127 -0
  226. package/lib/umd/locale/id.js +128 -0
  227. package/lib/umd/locale/it.js +127 -0
  228. package/lib/umd/locale/ja.js +128 -0
  229. package/lib/umd/locale/km.js +128 -0
  230. package/lib/umd/locale/ko.js +128 -0
  231. package/lib/umd/locale/ku.js +128 -0
  232. package/lib/umd/locale/kz.js +128 -0
  233. package/lib/umd/locale/lt.js +128 -0
  234. package/lib/umd/locale/lv.js +128 -0
  235. package/lib/umd/locale/mn.js +128 -0
  236. package/lib/umd/locale/nb-NO.js +127 -0
  237. package/lib/umd/locale/nl.js +128 -0
  238. package/lib/umd/locale/pl.js +128 -0
  239. package/lib/umd/locale/pt-br.js +128 -0
  240. package/lib/umd/locale/pt.js +128 -0
  241. package/lib/umd/locale/ro.js +128 -0
  242. package/lib/umd/locale/ru-RU.js +128 -0
  243. package/lib/umd/locale/sk.js +130 -0
  244. package/lib/umd/locale/sl.js +128 -0
  245. package/lib/umd/locale/sr.js +128 -0
  246. package/lib/umd/locale/sv-SE.js +128 -0
  247. package/lib/umd/locale/ta.js +127 -0
  248. package/lib/umd/locale/th.js +128 -0
  249. package/lib/umd/locale/tk.js +128 -0
  250. package/lib/umd/locale/tr-TR.js +128 -0
  251. package/lib/umd/locale/ua.js +128 -0
  252. package/lib/umd/locale/ug-CN.js +128 -0
  253. package/lib/umd/locale/vi.js +128 -0
  254. package/lib/umd/locale/zh-CN.js +128 -0
  255. package/lib/umd/locale/zh-TW.js +128 -0
  256. package/lib/upload.js +1301 -0
  257. package/lib/utils/after-leave.js +35 -0
  258. package/lib/utils/aria-dialog.js +104 -0
  259. package/lib/utils/aria-utils.js +125 -0
  260. package/lib/utils/clickoutside.js +79 -0
  261. package/lib/utils/date.js +345 -0
  262. package/lib/utils/dom.js +188 -0
  263. package/lib/utils/menu/aria-menubar.js +24 -0
  264. package/lib/utils/menu/aria-menuitem.js +62 -0
  265. package/lib/utils/menu/aria-submenu.js +69 -0
  266. package/lib/utils/merge.js +21 -0
  267. package/lib/utils/popper.js +1261 -0
  268. package/lib/utils/popup/index.js +241 -0
  269. package/lib/utils/popup/popup-manager.js +205 -0
  270. package/lib/utils/resize-event.js +57 -0
  271. package/lib/utils/scroll-into-view.js +38 -0
  272. package/lib/utils/scrollbar-width.js +39 -0
  273. package/lib/utils/shared.js +12 -0
  274. package/lib/utils/util.js +138 -0
  275. package/lib/utils/vdom.js +20 -0
  276. package/lib/utils/vue-popper.js +204 -0
  277. package/package.json +143 -0
  278. package/packages/alert/index.js +8 -0
  279. package/packages/alert/src/main.vue +88 -0
  280. package/packages/aside/index.js +8 -0
  281. package/packages/aside/src/main.vue +20 -0
  282. package/packages/autocomplete/index.js +8 -0
  283. package/packages/autocomplete/src/autocomplete-suggestions.vue +76 -0
  284. package/packages/autocomplete/src/autocomplete.vue +269 -0
  285. package/packages/badge/index.js +8 -0
  286. package/packages/badge/src/main.vue +53 -0
  287. package/packages/breadcrumb/index.js +8 -0
  288. package/packages/breadcrumb/src/breadcrumb-item.vue +41 -0
  289. package/packages/breadcrumb/src/breadcrumb.vue +34 -0
  290. package/packages/breadcrumb-item/index.js +8 -0
  291. package/packages/button/index.js +8 -0
  292. package/packages/button/src/button-group.vue +10 -0
  293. package/packages/button/src/button.vue +78 -0
  294. package/packages/button-group/index.js +8 -0
  295. package/packages/card/index.js +8 -0
  296. package/packages/card/src/main.vue +23 -0
  297. package/packages/carousel/index.js +8 -0
  298. package/packages/carousel/src/item.vue +114 -0
  299. package/packages/carousel/src/main.vue +262 -0
  300. package/packages/carousel-item/index.js +8 -0
  301. package/packages/cascader/index.js +8 -0
  302. package/packages/cascader/src/main.vue +456 -0
  303. package/packages/cascader/src/menu.vue +376 -0
  304. package/packages/checkbox/index.js +8 -0
  305. package/packages/checkbox/src/checkbox-button.vue +191 -0
  306. package/packages/checkbox/src/checkbox-group.vue +48 -0
  307. package/packages/checkbox/src/checkbox.vue +219 -0
  308. package/packages/checkbox-button/index.js +8 -0
  309. package/packages/checkbox-group/index.js +8 -0
  310. package/packages/col/index.js +9 -0
  311. package/packages/col/src/col.js +71 -0
  312. package/packages/collapse/index.js +9 -0
  313. package/packages/collapse/src/collapse-item.vue +113 -0
  314. package/packages/collapse/src/collapse.vue +73 -0
  315. package/packages/collapse-item/index.js +8 -0
  316. package/packages/color-picker/index.js +8 -0
  317. package/packages/color-picker/src/color.js +316 -0
  318. package/packages/color-picker/src/components/alpha-slider.vue +132 -0
  319. package/packages/color-picker/src/components/hue-slider.vue +123 -0
  320. package/packages/color-picker/src/components/picker-dropdown.vue +121 -0
  321. package/packages/color-picker/src/components/predefine.vue +61 -0
  322. package/packages/color-picker/src/components/sv-panel.vue +100 -0
  323. package/packages/color-picker/src/draggable.js +36 -0
  324. package/packages/color-picker/src/main.vue +188 -0
  325. package/packages/container/index.js +8 -0
  326. package/packages/container/src/main.vue +33 -0
  327. package/packages/date-picker/index.js +8 -0
  328. package/packages/date-picker/src/basic/date-table.vue +437 -0
  329. package/packages/date-picker/src/basic/month-table.vue +105 -0
  330. package/packages/date-picker/src/basic/time-spinner.vue +301 -0
  331. package/packages/date-picker/src/basic/year-table.vue +101 -0
  332. package/packages/date-picker/src/panel/date-range.vue +640 -0
  333. package/packages/date-picker/src/panel/date.vue +579 -0
  334. package/packages/date-picker/src/panel/time-range.vue +248 -0
  335. package/packages/date-picker/src/panel/time-select.vue +177 -0
  336. package/packages/date-picker/src/panel/time.vue +186 -0
  337. package/packages/date-picker/src/picker/date-picker.js +40 -0
  338. package/packages/date-picker/src/picker/time-picker.js +39 -0
  339. package/packages/date-picker/src/picker/time-select.js +21 -0
  340. package/packages/date-picker/src/picker.vue +924 -0
  341. package/packages/date-picker/src/util/index.js +273 -0
  342. package/packages/dialog/index.js +8 -0
  343. package/packages/dialog/src/component.vue +201 -0
  344. package/packages/dropdown/index.js +8 -0
  345. package/packages/dropdown/src/dropdown-item.vue +35 -0
  346. package/packages/dropdown/src/dropdown-menu.vue +60 -0
  347. package/packages/dropdown/src/dropdown.vue +271 -0
  348. package/packages/dropdown-item/index.js +8 -0
  349. package/packages/dropdown-menu/index.js +8 -0
  350. package/packages/footer/index.js +8 -0
  351. package/packages/footer/src/main.vue +20 -0
  352. package/packages/form/index.js +8 -0
  353. package/packages/form/src/form-item.vue +290 -0
  354. package/packages/form/src/form.vue +148 -0
  355. package/packages/form-item/index.js +8 -0
  356. package/packages/header/index.js +8 -0
  357. package/packages/header/src/main.vue +20 -0
  358. package/packages/icon/index.js +8 -0
  359. package/packages/icon/src/icon.vue +13 -0
  360. package/packages/input/index.js +8 -0
  361. package/packages/input/src/calcTextareaHeight.js +104 -0
  362. package/packages/input/src/input.vue +349 -0
  363. package/packages/input-number/index.js +8 -0
  364. package/packages/input-number/src/input-number.vue +255 -0
  365. package/packages/loading/index.js +11 -0
  366. package/packages/loading/src/directive.js +128 -0
  367. package/packages/loading/src/index.js +106 -0
  368. package/packages/loading/src/loading.vue +41 -0
  369. package/packages/main/index.js +8 -0
  370. package/packages/main/src/main.vue +12 -0
  371. package/packages/menu/index.js +8 -0
  372. package/packages/menu/src/menu-item-group.vue +45 -0
  373. package/packages/menu/src/menu-item.vue +112 -0
  374. package/packages/menu/src/menu-mixin.js +44 -0
  375. package/packages/menu/src/menu.vue +311 -0
  376. package/packages/menu/src/submenu.vue +335 -0
  377. package/packages/menu-item/index.js +8 -0
  378. package/packages/menu-item-group/index.js +8 -0
  379. package/packages/message/index.js +2 -0
  380. package/packages/message/src/main.js +72 -0
  381. package/packages/message/src/main.vue +112 -0
  382. package/packages/message-box/index.js +2 -0
  383. package/packages/message-box/src/main.js +216 -0
  384. package/packages/message-box/src/main.vue +327 -0
  385. package/packages/notification/index.js +2 -0
  386. package/packages/notification/src/main.js +93 -0
  387. package/packages/notification/src/main.vue +152 -0
  388. package/packages/option/index.js +8 -0
  389. package/packages/option-group/index.js +8 -0
  390. package/packages/pagination/index.js +8 -0
  391. package/packages/pagination/src/pager.vue +163 -0
  392. package/packages/pagination/src/pagination.js +430 -0
  393. package/packages/popover/index.js +14 -0
  394. package/packages/popover/src/directive.js +20 -0
  395. package/packages/popover/src/main.vue +207 -0
  396. package/packages/progress/index.js +8 -0
  397. package/packages/progress/src/progress.vue +138 -0
  398. package/packages/radio/index.js +8 -0
  399. package/packages/radio/src/radio-button.vue +114 -0
  400. package/packages/radio/src/radio-group.vue +100 -0
  401. package/packages/radio/src/radio.vue +126 -0
  402. package/packages/radio-button/index.js +8 -0
  403. package/packages/radio-group/index.js +8 -0
  404. package/packages/rate/index.js +8 -0
  405. package/packages/rate/src/main.vue +350 -0
  406. package/packages/row/index.js +9 -0
  407. package/packages/row/src/row.js +47 -0
  408. package/packages/scrollbar/index.js +8 -0
  409. package/packages/scrollbar/src/bar.js +88 -0
  410. package/packages/scrollbar/src/main.js +130 -0
  411. package/packages/scrollbar/src/util.js +34 -0
  412. package/packages/select/index.js +8 -0
  413. package/packages/select/src/navigation-mixin.js +54 -0
  414. package/packages/select/src/option-group.vue +60 -0
  415. package/packages/select/src/option.vue +159 -0
  416. package/packages/select/src/select-dropdown.vue +74 -0
  417. package/packages/select/src/select.vue +878 -0
  418. package/packages/slider/index.js +8 -0
  419. package/packages/slider/src/button.vue +235 -0
  420. package/packages/slider/src/main.vue +385 -0
  421. package/packages/spinner/index.js +8 -0
  422. package/packages/spinner/src/spinner.vue +27 -0
  423. package/packages/step/index.js +8 -0
  424. package/packages/steps/README.md +69 -0
  425. package/packages/steps/index.js +8 -0
  426. package/packages/steps/src/step.vue +180 -0
  427. package/packages/steps/src/steps.vue +68 -0
  428. package/packages/submenu/index.js +8 -0
  429. package/packages/switch/index.js +9 -0
  430. package/packages/switch/src/component.vue +163 -0
  431. package/packages/tab-pane/index.js +8 -0
  432. package/packages/table/index.js +8 -0
  433. package/packages/table/src/dropdown.js +28 -0
  434. package/packages/table/src/filter-panel.vue +203 -0
  435. package/packages/table/src/layout-observer.js +68 -0
  436. package/packages/table/src/table-body.js +392 -0
  437. package/packages/table/src/table-column.js +462 -0
  438. package/packages/table/src/table-footer.js +147 -0
  439. package/packages/table/src/table-header.js +522 -0
  440. package/packages/table/src/table-layout.js +231 -0
  441. package/packages/table/src/table-store.js +657 -0
  442. package/packages/table/src/table.vue +660 -0
  443. package/packages/table/src/util.js +122 -0
  444. package/packages/table-column/index.js +8 -0
  445. package/packages/tabs/index.js +8 -0
  446. package/packages/tabs/src/tab-bar.vue +57 -0
  447. package/packages/tabs/src/tab-nav.vue +280 -0
  448. package/packages/tabs/src/tab-pane.vue +58 -0
  449. package/packages/tabs/src/tabs.vue +185 -0
  450. package/packages/tag/index.js +8 -0
  451. package/packages/tag/src/tag.vue +39 -0
  452. package/packages/theme-chalk/README.md +33 -0
  453. package/packages/theme-chalk/lib/alert.css +1 -0
  454. package/packages/theme-chalk/lib/aside.css +1 -0
  455. package/packages/theme-chalk/lib/autocomplete.css +1 -0
  456. package/packages/theme-chalk/lib/badge.css +1 -0
  457. package/packages/theme-chalk/lib/base.css +1 -0
  458. package/packages/theme-chalk/lib/breadcrumb-item.css +0 -0
  459. package/packages/theme-chalk/lib/breadcrumb.css +1 -0
  460. package/packages/theme-chalk/lib/button-group.css +0 -0
  461. package/packages/theme-chalk/lib/button.css +1 -0
  462. package/packages/theme-chalk/lib/card.css +1 -0
  463. package/packages/theme-chalk/lib/carousel-item.css +1 -0
  464. package/packages/theme-chalk/lib/carousel.css +1 -0
  465. package/packages/theme-chalk/lib/cascader.css +1 -0
  466. package/packages/theme-chalk/lib/checkbox-button.css +0 -0
  467. package/packages/theme-chalk/lib/checkbox-group.css +0 -0
  468. package/packages/theme-chalk/lib/checkbox.css +1 -0
  469. package/packages/theme-chalk/lib/col.css +1 -0
  470. package/packages/theme-chalk/lib/collapse-item.css +0 -0
  471. package/packages/theme-chalk/lib/collapse.css +1 -0
  472. package/packages/theme-chalk/lib/color-picker.css +1 -0
  473. package/packages/theme-chalk/lib/container.css +1 -0
  474. package/packages/theme-chalk/lib/date-picker.css +1 -0
  475. package/packages/theme-chalk/lib/dialog.css +1 -0
  476. package/packages/theme-chalk/lib/display.css +1 -0
  477. package/packages/theme-chalk/lib/dropdown-item.css +0 -0
  478. package/packages/theme-chalk/lib/dropdown-menu.css +0 -0
  479. package/packages/theme-chalk/lib/dropdown.css +1 -0
  480. package/packages/theme-chalk/lib/fonts/element-icons.ttf +0 -0
  481. package/packages/theme-chalk/lib/fonts/element-icons.woff +0 -0
  482. package/packages/theme-chalk/lib/footer.css +1 -0
  483. package/packages/theme-chalk/lib/form-item.css +0 -0
  484. package/packages/theme-chalk/lib/form.css +1 -0
  485. package/packages/theme-chalk/lib/header.css +1 -0
  486. package/packages/theme-chalk/lib/icon.css +1 -0
  487. package/packages/theme-chalk/lib/index.css +1 -0
  488. package/packages/theme-chalk/lib/input-number.css +1 -0
  489. package/packages/theme-chalk/lib/input.css +1 -0
  490. package/packages/theme-chalk/lib/loading.css +1 -0
  491. package/packages/theme-chalk/lib/main.css +1 -0
  492. package/packages/theme-chalk/lib/menu-item-group.css +0 -0
  493. package/packages/theme-chalk/lib/menu-item.css +0 -0
  494. package/packages/theme-chalk/lib/menu.css +1 -0
  495. package/packages/theme-chalk/lib/message-box.css +1 -0
  496. package/packages/theme-chalk/lib/message.css +1 -0
  497. package/packages/theme-chalk/lib/notification.css +1 -0
  498. package/packages/theme-chalk/lib/option-group.css +1 -0
  499. package/packages/theme-chalk/lib/option.css +1 -0
  500. package/packages/theme-chalk/lib/pagination.css +1 -0
  501. package/packages/theme-chalk/lib/popover.css +1 -0
  502. package/packages/theme-chalk/lib/popper.css +1 -0
  503. package/packages/theme-chalk/lib/progress.css +1 -0
  504. package/packages/theme-chalk/lib/radio-button.css +1 -0
  505. package/packages/theme-chalk/lib/radio-group.css +1 -0
  506. package/packages/theme-chalk/lib/radio.css +1 -0
  507. package/packages/theme-chalk/lib/rate.css +1 -0
  508. package/packages/theme-chalk/lib/reset.css +1 -0
  509. package/packages/theme-chalk/lib/row.css +1 -0
  510. package/packages/theme-chalk/lib/scrollbar.css +1 -0
  511. package/packages/theme-chalk/lib/select-dropdown.css +1 -0
  512. package/packages/theme-chalk/lib/select.css +1 -0
  513. package/packages/theme-chalk/lib/slider.css +1 -0
  514. package/packages/theme-chalk/lib/spinner.css +1 -0
  515. package/packages/theme-chalk/lib/step.css +1 -0
  516. package/packages/theme-chalk/lib/steps.css +1 -0
  517. package/packages/theme-chalk/lib/submenu.css +0 -0
  518. package/packages/theme-chalk/lib/switch.css +1 -0
  519. package/packages/theme-chalk/lib/tab-pane.css +0 -0
  520. package/packages/theme-chalk/lib/table-column.css +1 -0
  521. package/packages/theme-chalk/lib/table.css +1 -0
  522. package/packages/theme-chalk/lib/tabs.css +1 -0
  523. package/packages/theme-chalk/lib/tag.css +1 -0
  524. package/packages/theme-chalk/lib/time-picker.css +1 -0
  525. package/packages/theme-chalk/lib/time-select.css +1 -0
  526. package/packages/theme-chalk/lib/tooltip.css +1 -0
  527. package/packages/theme-chalk/lib/transfer.css +1 -0
  528. package/packages/theme-chalk/lib/tree.css +1 -0
  529. package/packages/theme-chalk/lib/upload.css +1 -0
  530. package/packages/theme-chalk/package.json +35 -0
  531. package/packages/theme-chalk/src/alert.scss +105 -0
  532. package/packages/theme-chalk/src/aside.scss +7 -0
  533. package/packages/theme-chalk/src/autocomplete.scss +82 -0
  534. package/packages/theme-chalk/src/badge.scss +57 -0
  535. package/packages/theme-chalk/src/base.scss +2 -0
  536. package/packages/theme-chalk/src/breadcrumb-item.scss +0 -0
  537. package/packages/theme-chalk/src/breadcrumb.scss +55 -0
  538. package/packages/theme-chalk/src/button-group.scss +0 -0
  539. package/packages/theme-chalk/src/button.scss +260 -0
  540. package/packages/theme-chalk/src/card.scss +32 -0
  541. package/packages/theme-chalk/src/carousel-item.scss +50 -0
  542. package/packages/theme-chalk/src/carousel.scss +134 -0
  543. package/packages/theme-chalk/src/cascader.scss +180 -0
  544. package/packages/theme-chalk/src/checkbox-button.scss +0 -0
  545. package/packages/theme-chalk/src/checkbox-group.scss +0 -0
  546. package/packages/theme-chalk/src/checkbox.scss +358 -0
  547. package/packages/theme-chalk/src/col.scss +156 -0
  548. package/packages/theme-chalk/src/collapse-item.scss +0 -0
  549. package/packages/theme-chalk/src/collapse.scss +57 -0
  550. package/packages/theme-chalk/src/color-picker.scss +384 -0
  551. package/packages/theme-chalk/src/common/popup.scss +41 -0
  552. package/packages/theme-chalk/src/common/transition.scss +99 -0
  553. package/packages/theme-chalk/src/common/var.scss +713 -0
  554. package/packages/theme-chalk/src/container.scss +14 -0
  555. package/packages/theme-chalk/src/date-picker/date-picker.scss +97 -0
  556. package/packages/theme-chalk/src/date-picker/date-range-picker.scss +104 -0
  557. package/packages/theme-chalk/src/date-picker/date-table.scss +151 -0
  558. package/packages/theme-chalk/src/date-picker/month-table.scss +40 -0
  559. package/packages/theme-chalk/src/date-picker/picker-panel.scss +117 -0
  560. package/packages/theme-chalk/src/date-picker/picker.scss +190 -0
  561. package/packages/theme-chalk/src/date-picker/time-picker.scss +85 -0
  562. package/packages/theme-chalk/src/date-picker/time-range-picker.scss +31 -0
  563. package/packages/theme-chalk/src/date-picker/time-spinner.scss +110 -0
  564. package/packages/theme-chalk/src/date-picker/year-table.scss +44 -0
  565. package/packages/theme-chalk/src/date-picker.scss +12 -0
  566. package/packages/theme-chalk/src/dialog.scss +122 -0
  567. package/packages/theme-chalk/src/display.scss +12 -0
  568. package/packages/theme-chalk/src/dropdown-item.scss +0 -0
  569. package/packages/theme-chalk/src/dropdown-menu.scss +0 -0
  570. package/packages/theme-chalk/src/dropdown.scss +169 -0
  571. package/packages/theme-chalk/src/fonts/element-icons.ttf +0 -0
  572. package/packages/theme-chalk/src/fonts/element-icons.woff +0 -0
  573. package/packages/theme-chalk/src/footer.scss +8 -0
  574. package/packages/theme-chalk/src/form-item.scss +0 -0
  575. package/packages/theme-chalk/src/form.scss +174 -0
  576. package/packages/theme-chalk/src/header.scss +8 -0
  577. package/packages/theme-chalk/src/icon.scss +186 -0
  578. package/packages/theme-chalk/src/index.scss +67 -0
  579. package/packages/theme-chalk/src/input-number.scss +180 -0
  580. package/packages/theme-chalk/src/input.scss +310 -0
  581. package/packages/theme-chalk/src/loading.scss +96 -0
  582. package/packages/theme-chalk/src/main.scss +12 -0
  583. package/packages/theme-chalk/src/menu-item-group.scss +0 -0
  584. package/packages/theme-chalk/src/menu-item.scss +0 -0
  585. package/packages/theme-chalk/src/menu.scss +289 -0
  586. package/packages/theme-chalk/src/message-box.scss +223 -0
  587. package/packages/theme-chalk/src/message.scss +120 -0
  588. package/packages/theme-chalk/src/mixins/_button.scss +81 -0
  589. package/packages/theme-chalk/src/mixins/config.scss +4 -0
  590. package/packages/theme-chalk/src/mixins/function.scss +44 -0
  591. package/packages/theme-chalk/src/mixins/mixins.scss +190 -0
  592. package/packages/theme-chalk/src/mixins/utils.scss +39 -0
  593. package/packages/theme-chalk/src/notification.scss +98 -0
  594. package/packages/theme-chalk/src/option-group.scss +42 -0
  595. package/packages/theme-chalk/src/option.scss +36 -0
  596. package/packages/theme-chalk/src/pagination.scss +295 -0
  597. package/packages/theme-chalk/src/popover.scss +39 -0
  598. package/packages/theme-chalk/src/popper.scss +101 -0
  599. package/packages/theme-chalk/src/progress.scss +130 -0
  600. package/packages/theme-chalk/src/radio-button.scss +113 -0
  601. package/packages/theme-chalk/src/radio-group.scss +9 -0
  602. package/packages/theme-chalk/src/radio.scss +198 -0
  603. package/packages/theme-chalk/src/rate.scss +49 -0
  604. package/packages/theme-chalk/src/reset.scss +79 -0
  605. package/packages/theme-chalk/src/row.scss +39 -0
  606. package/packages/theme-chalk/src/scrollbar.scss +71 -0
  607. package/packages/theme-chalk/src/select-dropdown.scss +59 -0
  608. package/packages/theme-chalk/src/select.scss +148 -0
  609. package/packages/theme-chalk/src/slider.scss +228 -0
  610. package/packages/theme-chalk/src/spinner.scss +44 -0
  611. package/packages/theme-chalk/src/step.scss +317 -0
  612. package/packages/theme-chalk/src/steps.scss +20 -0
  613. package/packages/theme-chalk/src/submenu.scss +0 -0
  614. package/packages/theme-chalk/src/switch.scss +116 -0
  615. package/packages/theme-chalk/src/tab-pane.scss +0 -0
  616. package/packages/theme-chalk/src/table-column.scss +97 -0
  617. package/packages/theme-chalk/src/table.scss +552 -0
  618. package/packages/theme-chalk/src/tabs.scss +587 -0
  619. package/packages/theme-chalk/src/tag.scss +146 -0
  620. package/packages/theme-chalk/src/time-picker.scss +8 -0
  621. package/packages/theme-chalk/src/time-select.scss +37 -0
  622. package/packages/theme-chalk/src/tooltip.scss +141 -0
  623. package/packages/theme-chalk/src/transfer.scss +227 -0
  624. package/packages/theme-chalk/src/tree.scss +122 -0
  625. package/packages/theme-chalk/src/upload.scss +602 -0
  626. package/packages/time-picker/index.js +8 -0
  627. package/packages/time-select/index.js +8 -0
  628. package/packages/tooltip/index.js +8 -0
  629. package/packages/tooltip/src/main.js +216 -0
  630. package/packages/transfer/index.js +8 -0
  631. package/packages/transfer/src/main.vue +231 -0
  632. package/packages/transfer/src/transfer-panel.vue +251 -0
  633. package/packages/tree/index.js +8 -0
  634. package/packages/tree/src/model/node.js +481 -0
  635. package/packages/tree/src/model/tree-store.js +333 -0
  636. package/packages/tree/src/model/util.js +27 -0
  637. package/packages/tree/src/tree-node.vue +277 -0
  638. package/packages/tree/src/tree.vue +495 -0
  639. package/packages/upload/index.js +8 -0
  640. package/packages/upload/src/ajax.js +85 -0
  641. package/packages/upload/src/index.vue +315 -0
  642. package/packages/upload/src/upload-dragger.vue +70 -0
  643. package/packages/upload/src/upload-list.vue +103 -0
  644. package/packages/upload/src/upload.vue +211 -0
  645. package/src/directives/mousewheel.js +18 -0
  646. package/src/directives/repeat-click.js +24 -0
  647. package/src/index.js +251 -0
  648. package/src/locale/format.js +46 -0
  649. package/src/locale/index.js +48 -0
  650. package/src/locale/lang/af-ZA.js +109 -0
  651. package/src/locale/lang/ar.js +108 -0
  652. package/src/locale/lang/bg.js +109 -0
  653. package/src/locale/lang/ca.js +108 -0
  654. package/src/locale/lang/cs-CZ.js +111 -0
  655. package/src/locale/lang/da.js +108 -0
  656. package/src/locale/lang/de.js +110 -0
  657. package/src/locale/lang/ee.js +109 -0
  658. package/src/locale/lang/el.js +109 -0
  659. package/src/locale/lang/en.js +109 -0
  660. package/src/locale/lang/es.js +108 -0
  661. package/src/locale/lang/eu.js +109 -0
  662. package/src/locale/lang/fa.js +109 -0
  663. package/src/locale/lang/fi.js +109 -0
  664. package/src/locale/lang/fr.js +108 -0
  665. package/src/locale/lang/he.js +109 -0
  666. package/src/locale/lang/hu.js +108 -0
  667. package/src/locale/lang/id.js +109 -0
  668. package/src/locale/lang/it.js +108 -0
  669. package/src/locale/lang/ja.js +109 -0
  670. package/src/locale/lang/km.js +109 -0
  671. package/src/locale/lang/ko.js +109 -0
  672. package/src/locale/lang/ku.js +109 -0
  673. package/src/locale/lang/kz.js +109 -0
  674. package/src/locale/lang/lt.js +109 -0
  675. package/src/locale/lang/lv.js +109 -0
  676. package/src/locale/lang/mn.js +109 -0
  677. package/src/locale/lang/nb-NO.js +108 -0
  678. package/src/locale/lang/nl.js +109 -0
  679. package/src/locale/lang/pl.js +109 -0
  680. package/src/locale/lang/pt-br.js +109 -0
  681. package/src/locale/lang/pt.js +109 -0
  682. package/src/locale/lang/ro.js +109 -0
  683. package/src/locale/lang/ru-RU.js +109 -0
  684. package/src/locale/lang/sk.js +111 -0
  685. package/src/locale/lang/sl.js +109 -0
  686. package/src/locale/lang/sr.js +109 -0
  687. package/src/locale/lang/sv-SE.js +109 -0
  688. package/src/locale/lang/ta.js +108 -0
  689. package/src/locale/lang/th.js +109 -0
  690. package/src/locale/lang/tk.js +109 -0
  691. package/src/locale/lang/tr-TR.js +109 -0
  692. package/src/locale/lang/ua.js +109 -0
  693. package/src/locale/lang/ug-CN.js +109 -0
  694. package/src/locale/lang/vi.js +109 -0
  695. package/src/locale/lang/zh-CN.js +109 -0
  696. package/src/locale/lang/zh-TW.js +109 -0
  697. package/src/mixins/emitter.js +33 -0
  698. package/src/mixins/focus.js +9 -0
  699. package/src/mixins/locale.js +9 -0
  700. package/src/mixins/migrating.js +51 -0
  701. package/src/transitions/collapse-transition.js +77 -0
  702. package/src/utils/after-leave.js +27 -0
  703. package/src/utils/aria-dialog.js +90 -0
  704. package/src/utils/aria-utils.js +121 -0
  705. package/src/utils/clickoutside.js +76 -0
  706. package/src/utils/date.js +344 -0
  707. package/src/utils/dom.js +174 -0
  708. package/src/utils/menu/aria-menubar.js +14 -0
  709. package/src/utils/menu/aria-menuitem.js +49 -0
  710. package/src/utils/menu/aria-submenu.js +59 -0
  711. package/src/utils/merge.js +15 -0
  712. package/src/utils/popper.js +1276 -0
  713. package/src/utils/popup/index.js +226 -0
  714. package/src/utils/popup/popup-manager.js +194 -0
  715. package/src/utils/resize-event.js +35 -0
  716. package/src/utils/scroll-into-view.js +27 -0
  717. package/src/utils/scrollbar-width.js +29 -0
  718. package/src/utils/shared.js +7 -0
  719. package/src/utils/util.js +122 -0
  720. package/src/utils/vdom.js +9 -0
  721. package/src/utils/vue-popper.js +200 -0
  722. package/types/alert.d.ts +27 -0
  723. package/types/aside.d.ts +7 -0
  724. package/types/autocomplete.d.ts +78 -0
  725. package/types/badge.d.ts +16 -0
  726. package/types/breadcrumb-item.d.ts +10 -0
  727. package/types/breadcrumb.d.ts +10 -0
  728. package/types/button-group.d.ts +4 -0
  729. package/types/button.d.ts +37 -0
  730. package/types/card.d.ts +26 -0
  731. package/types/carousel-item.d.ts +10 -0
  732. package/types/carousel.d.ts +53 -0
  733. package/types/cascader.d.ts +57 -0
  734. package/types/checkbox-button.d.ts +22 -0
  735. package/types/checkbox-group.d.ts +22 -0
  736. package/types/checkbox.d.ts +34 -0
  737. package/types/col.d.ts +46 -0
  738. package/types/collapse-item.d.ts +23 -0
  739. package/types/collapse.d.ts +10 -0
  740. package/types/color-picker.d.ts +21 -0
  741. package/types/component.d.ts +13 -0
  742. package/types/container.d.ts +7 -0
  743. package/types/date-picker.d.ts +124 -0
  744. package/types/dialog.d.ts +59 -0
  745. package/types/dropdown-item.d.ts +13 -0
  746. package/types/dropdown-menu.d.ts +4 -0
  747. package/types/dropdown.d.ts +26 -0
  748. package/types/element-ui.d.ts +294 -0
  749. package/types/footer.d.ts +7 -0
  750. package/types/form-item.d.ts +37 -0
  751. package/types/form.d.ts +82 -0
  752. package/types/header.d.ts +7 -0
  753. package/types/index.d.ts +4 -0
  754. package/types/input-number.d.ts +44 -0
  755. package/types/input.d.ts +98 -0
  756. package/types/loading.d.ts +62 -0
  757. package/types/main.d.ts +4 -0
  758. package/types/menu-item-group.d.ts +7 -0
  759. package/types/menu-item.d.ts +10 -0
  760. package/types/menu.d.ts +46 -0
  761. package/types/message-box.d.ts +176 -0
  762. package/types/message.d.ts +75 -0
  763. package/types/notification.d.ts +84 -0
  764. package/types/option-group.d.ts +10 -0
  765. package/types/option.d.ts +13 -0
  766. package/types/pagination.d.ts +40 -0
  767. package/types/popover.d.ts +65 -0
  768. package/types/progress.d.ts +31 -0
  769. package/types/radio-button.d.ts +16 -0
  770. package/types/radio-group.d.ts +18 -0
  771. package/types/radio.d.ts +19 -0
  772. package/types/rate.d.ts +52 -0
  773. package/types/row.d.ts +25 -0
  774. package/types/select.d.ts +90 -0
  775. package/types/slider.d.ts +62 -0
  776. package/types/step.d.ts +34 -0
  777. package/types/steps.d.ts +28 -0
  778. package/types/submenu.d.ts +22 -0
  779. package/types/switch.d.ts +40 -0
  780. package/types/tab-pane.d.ts +19 -0
  781. package/types/table-column.d.ts +117 -0
  782. package/types/table.d.ts +157 -0
  783. package/types/tabs.d.ts +31 -0
  784. package/types/tag.d.ts +24 -0
  785. package/types/time-picker.d.ts +63 -0
  786. package/types/time-select.d.ts +56 -0
  787. package/types/tooltip.d.ts +49 -0
  788. package/types/transfer.d.ts +73 -0
  789. package/types/tree.d.ts +264 -0
  790. package/types/upload.d.ts +124 -0
package/lib/menu.js ADDED
@@ -0,0 +1,915 @@
1
+ module.exports =
2
+ /******/ (function(modules) { // webpackBootstrap
3
+ /******/ // The module cache
4
+ /******/ var installedModules = {};
5
+ /******/
6
+ /******/ // The require function
7
+ /******/ function __webpack_require__(moduleId) {
8
+ /******/
9
+ /******/ // Check if module is in cache
10
+ /******/ if(installedModules[moduleId]) {
11
+ /******/ return installedModules[moduleId].exports;
12
+ /******/ }
13
+ /******/ // Create a new module (and put it into the cache)
14
+ /******/ var module = installedModules[moduleId] = {
15
+ /******/ i: moduleId,
16
+ /******/ l: false,
17
+ /******/ exports: {}
18
+ /******/ };
19
+ /******/
20
+ /******/ // Execute the module function
21
+ /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
22
+ /******/
23
+ /******/ // Flag the module as loaded
24
+ /******/ module.l = true;
25
+ /******/
26
+ /******/ // Return the exports of the module
27
+ /******/ return module.exports;
28
+ /******/ }
29
+ /******/
30
+ /******/
31
+ /******/ // expose the modules object (__webpack_modules__)
32
+ /******/ __webpack_require__.m = modules;
33
+ /******/
34
+ /******/ // expose the module cache
35
+ /******/ __webpack_require__.c = installedModules;
36
+ /******/
37
+ /******/ // define getter function for harmony exports
38
+ /******/ __webpack_require__.d = function(exports, name, getter) {
39
+ /******/ if(!__webpack_require__.o(exports, name)) {
40
+ /******/ Object.defineProperty(exports, name, {
41
+ /******/ configurable: false,
42
+ /******/ enumerable: true,
43
+ /******/ get: getter
44
+ /******/ });
45
+ /******/ }
46
+ /******/ };
47
+ /******/
48
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
49
+ /******/ __webpack_require__.n = function(module) {
50
+ /******/ var getter = module && module.__esModule ?
51
+ /******/ function getDefault() { return module['default']; } :
52
+ /******/ function getModuleExports() { return module; };
53
+ /******/ __webpack_require__.d(getter, 'a', getter);
54
+ /******/ return getter;
55
+ /******/ };
56
+ /******/
57
+ /******/ // Object.prototype.hasOwnProperty.call
58
+ /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
59
+ /******/
60
+ /******/ // __webpack_public_path__
61
+ /******/ __webpack_require__.p = "/dist/";
62
+ /******/
63
+ /******/ // Load entry module and return exports
64
+ /******/ return __webpack_require__(__webpack_require__.s = 84);
65
+ /******/ })
66
+ /************************************************************************/
67
+ /******/ ({
68
+
69
+ /***/ 0:
70
+ /***/ (function(module, exports) {
71
+
72
+ /* globals __VUE_SSR_CONTEXT__ */
73
+
74
+ // IMPORTANT: Do NOT use ES2015 features in this file.
75
+ // This module is a runtime utility for cleaner component module output and will
76
+ // be included in the final webpack user bundle.
77
+
78
+ module.exports = function normalizeComponent (
79
+ rawScriptExports,
80
+ compiledTemplate,
81
+ functionalTemplate,
82
+ injectStyles,
83
+ scopeId,
84
+ moduleIdentifier /* server only */
85
+ ) {
86
+ var esModule
87
+ var scriptExports = rawScriptExports = rawScriptExports || {}
88
+
89
+ // ES6 modules interop
90
+ var type = typeof rawScriptExports.default
91
+ if (type === 'object' || type === 'function') {
92
+ esModule = rawScriptExports
93
+ scriptExports = rawScriptExports.default
94
+ }
95
+
96
+ // Vue.extend constructor export interop
97
+ var options = typeof scriptExports === 'function'
98
+ ? scriptExports.options
99
+ : scriptExports
100
+
101
+ // render functions
102
+ if (compiledTemplate) {
103
+ options.render = compiledTemplate.render
104
+ options.staticRenderFns = compiledTemplate.staticRenderFns
105
+ options._compiled = true
106
+ }
107
+
108
+ // functional template
109
+ if (functionalTemplate) {
110
+ options.functional = true
111
+ }
112
+
113
+ // scopedId
114
+ if (scopeId) {
115
+ options._scopeId = scopeId
116
+ }
117
+
118
+ var hook
119
+ if (moduleIdentifier) { // server build
120
+ hook = function (context) {
121
+ // 2.3 injection
122
+ context =
123
+ context || // cached call
124
+ (this.$vnode && this.$vnode.ssrContext) || // stateful
125
+ (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
126
+ // 2.2 with runInNewContext: true
127
+ if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
128
+ context = __VUE_SSR_CONTEXT__
129
+ }
130
+ // inject component styles
131
+ if (injectStyles) {
132
+ injectStyles.call(this, context)
133
+ }
134
+ // register component module identifier for async chunk inferrence
135
+ if (context && context._registeredComponents) {
136
+ context._registeredComponents.add(moduleIdentifier)
137
+ }
138
+ }
139
+ // used by ssr in case component is cached and beforeCreate
140
+ // never gets called
141
+ options._ssrRegister = hook
142
+ } else if (injectStyles) {
143
+ hook = injectStyles
144
+ }
145
+
146
+ if (hook) {
147
+ var functional = options.functional
148
+ var existing = functional
149
+ ? options.render
150
+ : options.beforeCreate
151
+
152
+ if (!functional) {
153
+ // inject component registration as beforeCreate hook
154
+ options.beforeCreate = existing
155
+ ? [].concat(existing, hook)
156
+ : [hook]
157
+ } else {
158
+ // for template-only hot-reload because in that case the render fn doesn't
159
+ // go through the normalizer
160
+ options._injectStyles = hook
161
+ // register for functioal component in vue file
162
+ options.render = function renderWithStyleInjection (h, context) {
163
+ hook.call(context)
164
+ return existing(h, context)
165
+ }
166
+ }
167
+ }
168
+
169
+ return {
170
+ esModule: esModule,
171
+ exports: scriptExports,
172
+ options: options
173
+ }
174
+ }
175
+
176
+
177
+ /***/ }),
178
+
179
+ /***/ 1:
180
+ /***/ (function(module, exports) {
181
+
182
+ module.exports = require("element-ui/lib/mixins/emitter");
183
+
184
+ /***/ }),
185
+
186
+ /***/ 3:
187
+ /***/ (function(module, exports) {
188
+
189
+ module.exports = require("element-ui/lib/utils/dom");
190
+
191
+ /***/ }),
192
+
193
+ /***/ 47:
194
+ /***/ (function(module, exports, __webpack_require__) {
195
+
196
+ "use strict";
197
+
198
+
199
+ exports.__esModule = true;
200
+ var aria = aria || {};
201
+
202
+ aria.Utils = aria.Utils || {};
203
+
204
+ /**
205
+ * @desc Set focus on descendant nodes until the first focusable element is
206
+ * found.
207
+ * @param element
208
+ * DOM node for which to find the first focusable descendant.
209
+ * @returns
210
+ * true if a focusable element is found and focus is set.
211
+ */
212
+ aria.Utils.focusFirstDescendant = function (element) {
213
+ for (var i = 0; i < element.childNodes.length; i++) {
214
+ var child = element.childNodes[i];
215
+ if (aria.Utils.attemptFocus(child) || aria.Utils.focusFirstDescendant(child)) {
216
+ return true;
217
+ }
218
+ }
219
+ return false;
220
+ };
221
+
222
+ /**
223
+ * @desc Find the last descendant node that is focusable.
224
+ * @param element
225
+ * DOM node for which to find the last focusable descendant.
226
+ * @returns
227
+ * true if a focusable element is found and focus is set.
228
+ */
229
+
230
+ aria.Utils.focusLastDescendant = function (element) {
231
+ for (var i = element.childNodes.length - 1; i >= 0; i--) {
232
+ var child = element.childNodes[i];
233
+ if (aria.Utils.attemptFocus(child) || aria.Utils.focusLastDescendant(child)) {
234
+ return true;
235
+ }
236
+ }
237
+ return false;
238
+ };
239
+
240
+ /**
241
+ * @desc Set Attempt to set focus on the current node.
242
+ * @param element
243
+ * The node to attempt to focus on.
244
+ * @returns
245
+ * true if element is focused.
246
+ */
247
+ aria.Utils.attemptFocus = function (element) {
248
+ if (!aria.Utils.isFocusable(element)) {
249
+ return false;
250
+ }
251
+ aria.Utils.IgnoreUtilFocusChanges = true;
252
+ try {
253
+ element.focus();
254
+ } catch (e) {}
255
+ aria.Utils.IgnoreUtilFocusChanges = false;
256
+ return document.activeElement === element;
257
+ };
258
+
259
+ aria.Utils.isFocusable = function (element) {
260
+ if (element.tabIndex > 0 || element.tabIndex === 0 && element.getAttribute('tabIndex') !== null) {
261
+ return true;
262
+ }
263
+
264
+ if (element.disabled) {
265
+ return false;
266
+ }
267
+
268
+ switch (element.nodeName) {
269
+ case 'A':
270
+ return !!element.href && element.rel !== 'ignore';
271
+ case 'INPUT':
272
+ return element.type !== 'hidden' && element.type !== 'file';
273
+ case 'BUTTON':
274
+ case 'SELECT':
275
+ case 'TEXTAREA':
276
+ return true;
277
+ default:
278
+ return false;
279
+ }
280
+ };
281
+
282
+ /**
283
+ * 触发一个事件
284
+ * mouseenter, mouseleave, mouseover, keyup, change, click 等
285
+ * @param {Element} elm
286
+ * @param {String} name
287
+ * @param {*} opts
288
+ */
289
+ aria.Utils.triggerEvent = function (elm, name) {
290
+ var eventName = void 0;
291
+
292
+ if (/^mouse|click/.test(name)) {
293
+ eventName = 'MouseEvents';
294
+ } else if (/^key/.test(name)) {
295
+ eventName = 'KeyboardEvent';
296
+ } else {
297
+ eventName = 'HTMLEvents';
298
+ }
299
+ var evt = document.createEvent(eventName);
300
+
301
+ for (var _len = arguments.length, opts = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
302
+ opts[_key - 2] = arguments[_key];
303
+ }
304
+
305
+ evt.initEvent.apply(evt, [name].concat(opts));
306
+ elm.dispatchEvent ? elm.dispatchEvent(evt) : elm.fireEvent('on' + name, evt);
307
+
308
+ return elm;
309
+ };
310
+
311
+ aria.Utils.keys = {
312
+ tab: 9,
313
+ enter: 13,
314
+ space: 32,
315
+ left: 37,
316
+ up: 38,
317
+ right: 39,
318
+ down: 40
319
+ };
320
+
321
+ exports.default = aria.Utils;
322
+
323
+ /***/ }),
324
+
325
+ /***/ 8:
326
+ /***/ (function(module, exports) {
327
+
328
+ module.exports = require("element-ui/lib/mixins/migrating");
329
+
330
+ /***/ }),
331
+
332
+ /***/ 84:
333
+ /***/ (function(module, exports, __webpack_require__) {
334
+
335
+ "use strict";
336
+
337
+
338
+ exports.__esModule = true;
339
+
340
+ var _menu = __webpack_require__(85);
341
+
342
+ var _menu2 = _interopRequireDefault(_menu);
343
+
344
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
345
+
346
+ /* istanbul ignore next */
347
+ _menu2.default.install = function (Vue) {
348
+ Vue.component(_menu2.default.name, _menu2.default);
349
+ };
350
+
351
+ exports.default = _menu2.default;
352
+
353
+ /***/ }),
354
+
355
+ /***/ 85:
356
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
357
+
358
+ "use strict";
359
+ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
360
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_menu_vue__ = __webpack_require__(86);
361
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_menu_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_menu_vue__);
362
+ var normalizeComponent = __webpack_require__(0)
363
+ /* script */
364
+
365
+ /* template */
366
+ var __vue_template__ = null
367
+ /* template functional */
368
+ var __vue_template_functional__ = false
369
+ /* styles */
370
+ var __vue_styles__ = null
371
+ /* scopeId */
372
+ var __vue_scopeId__ = null
373
+ /* moduleIdentifier (server only) */
374
+ var __vue_module_identifier__ = null
375
+ var Component = normalizeComponent(
376
+ __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_menu_vue___default.a,
377
+ __vue_template__,
378
+ __vue_template_functional__,
379
+ __vue_styles__,
380
+ __vue_scopeId__,
381
+ __vue_module_identifier__
382
+ )
383
+
384
+ /* harmony default export */ __webpack_exports__["default"] = (Component.exports);
385
+
386
+
387
+ /***/ }),
388
+
389
+ /***/ 86:
390
+ /***/ (function(module, exports, __webpack_require__) {
391
+
392
+ "use strict";
393
+
394
+
395
+ exports.__esModule = true;
396
+
397
+ var _emitter = __webpack_require__(1);
398
+
399
+ var _emitter2 = _interopRequireDefault(_emitter);
400
+
401
+ var _migrating = __webpack_require__(8);
402
+
403
+ var _migrating2 = _interopRequireDefault(_migrating);
404
+
405
+ var _ariaMenubar = __webpack_require__(87);
406
+
407
+ var _ariaMenubar2 = _interopRequireDefault(_ariaMenubar);
408
+
409
+ var _dom = __webpack_require__(3);
410
+
411
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
412
+
413
+ exports.default = {
414
+ name: 'ElMenu',
415
+
416
+ render: function render(h) {
417
+ var component = h(
418
+ 'ul',
419
+ {
420
+ attrs: {
421
+ role: 'menubar'
422
+ },
423
+ key: +this.collapse,
424
+ style: { backgroundColor: this.backgroundColor || '' },
425
+ 'class': {
426
+ 'el-menu--horizontal': this.mode === 'horizontal',
427
+ 'el-menu--collapse': this.collapse,
428
+ "el-menu": true
429
+ }
430
+ },
431
+ [this.$slots.default]
432
+ );
433
+
434
+ if (this.collapseTransition) {
435
+ return h(
436
+ 'el-menu-collapse-transition',
437
+ null,
438
+ [component]
439
+ );
440
+ } else {
441
+ return component;
442
+ }
443
+ },
444
+
445
+
446
+ componentName: 'ElMenu',
447
+
448
+ mixins: [_emitter2.default, _migrating2.default],
449
+
450
+ provide: function provide() {
451
+ return {
452
+ rootMenu: this
453
+ };
454
+ },
455
+
456
+
457
+ components: {
458
+ 'el-menu-collapse-transition': {
459
+ functional: true,
460
+ render: function render(createElement, context) {
461
+ var data = {
462
+ props: {
463
+ mode: 'out-in'
464
+ },
465
+ on: {
466
+ beforeEnter: function beforeEnter(el) {
467
+ el.style.opacity = 0.2;
468
+ },
469
+ enter: function enter(el) {
470
+ (0, _dom.addClass)(el, 'el-opacity-transition');
471
+ el.style.opacity = 1;
472
+ },
473
+ afterEnter: function afterEnter(el) {
474
+ (0, _dom.removeClass)(el, 'el-opacity-transition');
475
+ el.style.opacity = '';
476
+ },
477
+ beforeLeave: function beforeLeave(el) {
478
+ if (!el.dataset) el.dataset = {};
479
+
480
+ if ((0, _dom.hasClass)(el, 'el-menu--collapse')) {
481
+ (0, _dom.removeClass)(el, 'el-menu--collapse');
482
+ el.dataset.oldOverflow = el.style.overflow;
483
+ el.dataset.scrollWidth = el.clientWidth;
484
+ (0, _dom.addClass)(el, 'el-menu--collapse');
485
+ } else {
486
+ (0, _dom.addClass)(el, 'el-menu--collapse');
487
+ el.dataset.oldOverflow = el.style.overflow;
488
+ el.dataset.scrollWidth = el.clientWidth;
489
+ (0, _dom.removeClass)(el, 'el-menu--collapse');
490
+ }
491
+
492
+ el.style.width = el.scrollWidth + 'px';
493
+ el.style.overflow = 'hidden';
494
+ },
495
+ leave: function leave(el) {
496
+ (0, _dom.addClass)(el, 'horizontal-collapse-transition');
497
+ el.style.width = el.dataset.scrollWidth + 'px';
498
+ }
499
+ }
500
+ };
501
+ return createElement('transition', data, context.children);
502
+ }
503
+ }
504
+ },
505
+
506
+ props: {
507
+ mode: {
508
+ type: String,
509
+ default: 'vertical'
510
+ },
511
+ defaultActive: {
512
+ type: String,
513
+ default: ''
514
+ },
515
+ defaultOpeneds: Array,
516
+ uniqueOpened: Boolean,
517
+ router: Boolean,
518
+ menuTrigger: {
519
+ type: String,
520
+ default: 'hover'
521
+ },
522
+ collapse: Boolean,
523
+ backgroundColor: String,
524
+ textColor: String,
525
+ activeTextColor: String,
526
+ collapseTransition: {
527
+ type: Boolean,
528
+ default: true
529
+ }
530
+ },
531
+ data: function data() {
532
+ return {
533
+ activeIndex: this.defaultActive,
534
+ openedMenus: this.defaultOpeneds && !this.collapse ? this.defaultOpeneds.slice(0) : [],
535
+ items: {},
536
+ submenus: {}
537
+ };
538
+ },
539
+
540
+ computed: {
541
+ hoverBackground: function hoverBackground() {
542
+ return this.backgroundColor ? this.mixColor(this.backgroundColor, 0.2) : '';
543
+ },
544
+ isMenuPopup: function isMenuPopup() {
545
+ return this.mode === 'horizontal' || this.mode === 'vertical' && this.collapse;
546
+ }
547
+ },
548
+ watch: {
549
+ defaultActive: 'updateActiveIndex',
550
+
551
+ defaultOpeneds: function defaultOpeneds(value) {
552
+ if (!this.collapse) {
553
+ this.openedMenus = value;
554
+ }
555
+ },
556
+ collapse: function collapse(value) {
557
+ if (value) this.openedMenus = [];
558
+ this.broadcast('ElSubmenu', 'toggle-collapse', value);
559
+ }
560
+ },
561
+ methods: {
562
+ updateActiveIndex: function updateActiveIndex(val) {
563
+ var item = this.items[val] || this.items[this.activeIndex] || this.items[this.defaultActive];
564
+ if (item) {
565
+ this.activeIndex = item.index;
566
+ this.initOpenedMenu();
567
+ } else {
568
+ this.activeIndex = null;
569
+ }
570
+ },
571
+ getMigratingConfig: function getMigratingConfig() {
572
+ return {
573
+ props: {
574
+ 'theme': 'theme is removed.'
575
+ }
576
+ };
577
+ },
578
+ getColorChannels: function getColorChannels(color) {
579
+ color = color.replace('#', '');
580
+ if (/^[0-9a-fA-F]{3}$/.test(color)) {
581
+ color = color.split('');
582
+ for (var i = 2; i >= 0; i--) {
583
+ color.splice(i, 0, color[i]);
584
+ }
585
+ color = color.join('');
586
+ }
587
+ if (/^[0-9a-fA-F]{6}$/.test(color)) {
588
+ return {
589
+ red: parseInt(color.slice(0, 2), 16),
590
+ green: parseInt(color.slice(2, 4), 16),
591
+ blue: parseInt(color.slice(4, 6), 16)
592
+ };
593
+ } else {
594
+ return {
595
+ red: 255,
596
+ green: 255,
597
+ blue: 255
598
+ };
599
+ }
600
+ },
601
+ mixColor: function mixColor(color, percent) {
602
+ var _getColorChannels = this.getColorChannels(color),
603
+ red = _getColorChannels.red,
604
+ green = _getColorChannels.green,
605
+ blue = _getColorChannels.blue;
606
+
607
+ if (percent > 0) {
608
+ // shade given color
609
+ red *= 1 - percent;
610
+ green *= 1 - percent;
611
+ blue *= 1 - percent;
612
+ } else {
613
+ // tint given color
614
+ red += (255 - red) * percent;
615
+ green += (255 - green) * percent;
616
+ blue += (255 - blue) * percent;
617
+ }
618
+ return 'rgb(' + Math.round(red) + ', ' + Math.round(green) + ', ' + Math.round(blue) + ')';
619
+ },
620
+ addItem: function addItem(item) {
621
+ this.$set(this.items, item.index, item);
622
+ },
623
+ removeItem: function removeItem(item) {
624
+ delete this.items[item.index];
625
+ },
626
+ addSubmenu: function addSubmenu(item) {
627
+ this.$set(this.submenus, item.index, item);
628
+ },
629
+ removeSubmenu: function removeSubmenu(item) {
630
+ delete this.submenus[item.index];
631
+ },
632
+ openMenu: function openMenu(index, indexPath) {
633
+ var openedMenus = this.openedMenus;
634
+ if (openedMenus.indexOf(index) !== -1) return;
635
+ // 将不在该菜单路径下的其余菜单收起
636
+ // collapse all menu that are not under current menu item
637
+ if (this.uniqueOpened) {
638
+ this.openedMenus = openedMenus.filter(function (index) {
639
+ return indexPath.indexOf(index) !== -1;
640
+ });
641
+ }
642
+ this.openedMenus.push(index);
643
+ },
644
+ closeMenu: function closeMenu(index) {
645
+ var i = this.openedMenus.indexOf(index);
646
+ if (i !== -1) {
647
+ this.openedMenus.splice(i, 1);
648
+ }
649
+ },
650
+ handleSubmenuClick: function handleSubmenuClick(submenu) {
651
+ var index = submenu.index,
652
+ indexPath = submenu.indexPath;
653
+
654
+ var isOpened = this.openedMenus.indexOf(index) !== -1;
655
+
656
+ if (isOpened) {
657
+ this.closeMenu(index);
658
+ this.$emit('close', index, indexPath);
659
+ } else {
660
+ this.openMenu(index, indexPath);
661
+ this.$emit('open', index, indexPath);
662
+ }
663
+ },
664
+ handleItemClick: function handleItemClick(item) {
665
+ var _this = this;
666
+
667
+ var index = item.index,
668
+ indexPath = item.indexPath;
669
+
670
+ var oldActiveIndex = this.activeIndex;
671
+
672
+ this.activeIndex = item.index;
673
+ this.$emit('select', index, indexPath, item);
674
+
675
+ if (this.mode === 'horizontal' || this.collapse) {
676
+ this.openedMenus = [];
677
+ }
678
+
679
+ if (this.router) {
680
+ this.routeToItem(item, function (error) {
681
+ _this.activeIndex = oldActiveIndex;
682
+ if (error) console.error(error);
683
+ });
684
+ }
685
+ },
686
+
687
+ // 初始化展开菜单
688
+ // initialize opened menu
689
+ initOpenedMenu: function initOpenedMenu() {
690
+ var _this2 = this;
691
+
692
+ var index = this.activeIndex;
693
+ var activeItem = this.items[index];
694
+ if (!activeItem || this.mode === 'horizontal' || this.collapse) return;
695
+
696
+ var indexPath = activeItem.indexPath;
697
+
698
+ // 展开该菜单项的路径上所有子菜单
699
+ // expand all submenus of the menu item
700
+ indexPath.forEach(function (index) {
701
+ var submenu = _this2.submenus[index];
702
+ submenu && _this2.openMenu(index, submenu.indexPath);
703
+ });
704
+ },
705
+ routeToItem: function routeToItem(item, onError) {
706
+ var route = item.route || item.index;
707
+ try {
708
+ this.$router.push(route, function () {}, onError);
709
+ } catch (e) {
710
+ console.error(e);
711
+ }
712
+ },
713
+ open: function open(index) {
714
+ var _this3 = this;
715
+
716
+ var indexPath = this.submenus[index.toString()].indexPath;
717
+
718
+ indexPath.forEach(function (i) {
719
+ return _this3.openMenu(i, indexPath);
720
+ });
721
+ },
722
+ close: function close(index) {
723
+ this.closeMenu(index);
724
+ }
725
+ },
726
+ mounted: function mounted() {
727
+ this.initOpenedMenu();
728
+ this.$on('item-click', this.handleItemClick);
729
+ this.$on('submenu-click', this.handleSubmenuClick);
730
+ if (this.mode === 'horizontal') {
731
+ new _ariaMenubar2.default(this.$el); // eslint-disable-line
732
+ }
733
+ this.$watch('items', this.updateActiveIndex);
734
+ }
735
+ };
736
+
737
+ /***/ }),
738
+
739
+ /***/ 87:
740
+ /***/ (function(module, exports, __webpack_require__) {
741
+
742
+ "use strict";
743
+
744
+
745
+ exports.__esModule = true;
746
+
747
+ var _ariaMenuitem = __webpack_require__(88);
748
+
749
+ var _ariaMenuitem2 = _interopRequireDefault(_ariaMenuitem);
750
+
751
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
752
+
753
+ var Menu = function Menu(domNode) {
754
+ this.domNode = domNode;
755
+ this.init();
756
+ };
757
+
758
+ Menu.prototype.init = function () {
759
+ var menuChildren = this.domNode.childNodes;
760
+ [].filter.call(menuChildren, function (child) {
761
+ return child.nodeType === 1;
762
+ }).forEach(function (child) {
763
+ new _ariaMenuitem2.default(child); // eslint-disable-line
764
+ });
765
+ };
766
+ exports.default = Menu;
767
+
768
+ /***/ }),
769
+
770
+ /***/ 88:
771
+ /***/ (function(module, exports, __webpack_require__) {
772
+
773
+ "use strict";
774
+
775
+
776
+ exports.__esModule = true;
777
+
778
+ var _ariaUtils = __webpack_require__(47);
779
+
780
+ var _ariaUtils2 = _interopRequireDefault(_ariaUtils);
781
+
782
+ var _ariaSubmenu = __webpack_require__(89);
783
+
784
+ var _ariaSubmenu2 = _interopRequireDefault(_ariaSubmenu);
785
+
786
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
787
+
788
+ var MenuItem = function MenuItem(domNode) {
789
+ this.domNode = domNode;
790
+ this.submenu = null;
791
+ this.init();
792
+ };
793
+
794
+ MenuItem.prototype.init = function () {
795
+ this.domNode.setAttribute('tabindex', '0');
796
+ var menuChild = this.domNode.querySelector('.el-menu');
797
+ if (menuChild) {
798
+ this.submenu = new _ariaSubmenu2.default(this, menuChild);
799
+ }
800
+ this.addListeners();
801
+ };
802
+
803
+ MenuItem.prototype.addListeners = function () {
804
+ var _this = this;
805
+
806
+ var keys = _ariaUtils2.default.keys;
807
+ this.domNode.addEventListener('keydown', function (event) {
808
+ var prevDef = false;
809
+ switch (event.keyCode) {
810
+ case keys.down:
811
+ _ariaUtils2.default.triggerEvent(event.currentTarget, 'mouseenter');
812
+ _this.submenu && _this.submenu.gotoSubIndex(0);
813
+ prevDef = true;
814
+ break;
815
+ case keys.up:
816
+ _ariaUtils2.default.triggerEvent(event.currentTarget, 'mouseenter');
817
+ _this.submenu && _this.submenu.gotoSubIndex(_this.submenu.subMenuItems.length - 1);
818
+ prevDef = true;
819
+ break;
820
+ case keys.tab:
821
+ _ariaUtils2.default.triggerEvent(event.currentTarget, 'mouseleave');
822
+ break;
823
+ case keys.enter:
824
+ case keys.space:
825
+ prevDef = true;
826
+ event.currentTarget.click();
827
+ break;
828
+ }
829
+ if (prevDef) {
830
+ event.preventDefault();
831
+ }
832
+ });
833
+ };
834
+
835
+ exports.default = MenuItem;
836
+
837
+ /***/ }),
838
+
839
+ /***/ 89:
840
+ /***/ (function(module, exports, __webpack_require__) {
841
+
842
+ "use strict";
843
+
844
+
845
+ exports.__esModule = true;
846
+
847
+ var _ariaUtils = __webpack_require__(47);
848
+
849
+ var _ariaUtils2 = _interopRequireDefault(_ariaUtils);
850
+
851
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
852
+
853
+ var SubMenu = function SubMenu(parent, domNode) {
854
+ this.domNode = domNode;
855
+ this.parent = parent;
856
+ this.subMenuItems = [];
857
+ this.subIndex = 0;
858
+ this.init();
859
+ };
860
+
861
+ SubMenu.prototype.init = function () {
862
+ this.subMenuItems = this.domNode.querySelectorAll('li');
863
+ this.addListeners();
864
+ };
865
+
866
+ SubMenu.prototype.gotoSubIndex = function (idx) {
867
+ if (idx === this.subMenuItems.length) {
868
+ idx = 0;
869
+ } else if (idx < 0) {
870
+ idx = this.subMenuItems.length - 1;
871
+ }
872
+ this.subMenuItems[idx].focus();
873
+ this.subIndex = idx;
874
+ };
875
+
876
+ SubMenu.prototype.addListeners = function () {
877
+ var _this = this;
878
+
879
+ var keys = _ariaUtils2.default.keys;
880
+ var parentNode = this.parent.domNode;
881
+ Array.prototype.forEach.call(this.subMenuItems, function (el) {
882
+ el.addEventListener('keydown', function (event) {
883
+ var prevDef = false;
884
+ switch (event.keyCode) {
885
+ case keys.down:
886
+ _this.gotoSubIndex(_this.subIndex + 1);
887
+ prevDef = true;
888
+ break;
889
+ case keys.up:
890
+ _this.gotoSubIndex(_this.subIndex - 1);
891
+ prevDef = true;
892
+ break;
893
+ case keys.tab:
894
+ _ariaUtils2.default.triggerEvent(parentNode, 'mouseleave');
895
+ break;
896
+ case keys.enter:
897
+ case keys.space:
898
+ prevDef = true;
899
+ event.currentTarget.click();
900
+ break;
901
+ }
902
+ if (prevDef) {
903
+ event.preventDefault();
904
+ event.stopPropagation();
905
+ }
906
+ return false;
907
+ });
908
+ });
909
+ };
910
+
911
+ exports.default = SubMenu;
912
+
913
+ /***/ })
914
+
915
+ /******/ });