cy-element-ui 1.1.25 → 1.1.26

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 (665) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +5 -5
  3. package/lib/Alert.js +420 -0
  4. package/lib/Aside.js +277 -0
  5. package/lib/Autocomplete.js +2051 -0
  6. package/lib/Avatar.js +363 -0
  7. package/lib/Backtop.js +404 -0
  8. package/lib/Badge.js +334 -0
  9. package/lib/Breadcrumb.js +293 -0
  10. package/lib/BreadcrumbItem.js +322 -0
  11. package/lib/Button.js +357 -0
  12. package/lib/ButtonGroup.js +262 -0
  13. package/lib/Calendar.js +1146 -0
  14. package/lib/Card.js +297 -0
  15. package/lib/Carousel.js +707 -0
  16. package/lib/CarouselItem.js +434 -0
  17. package/lib/Cascader.js +4641 -0
  18. package/lib/CascaderPanel.js +2602 -0
  19. package/lib/Checkbox.js +627 -0
  20. package/lib/CheckboxButton.js +583 -0
  21. package/lib/CheckboxGroup.js +313 -0
  22. package/lib/Col.js +177 -0
  23. package/lib/Collapse.js +329 -0
  24. package/lib/CollapseItem.js +497 -0
  25. package/lib/ColorPicker.js +2885 -0
  26. package/lib/Container.js +288 -0
  27. package/lib/CySelectDisplayInput.js +367 -0
  28. package/lib/CySubTitle.js +295 -0
  29. package/lib/CyTabDialog.js +1184 -0
  30. package/lib/CyTreeSelect.js +4422 -0
  31. package/lib/DatePicker.js +7574 -0
  32. package/lib/Descriptions.js +457 -0
  33. package/lib/DescriptionsItem.js +140 -0
  34. package/lib/Dialog.js +598 -0
  35. package/lib/Divider.js +313 -0
  36. package/lib/Drawer.js +592 -0
  37. package/lib/Dropdown.js +856 -0
  38. package/lib/DropdownItem.js +316 -0
  39. package/lib/DropdownMenu.js +351 -0
  40. package/lib/Empty.js +730 -0
  41. package/lib/Footer.js +277 -0
  42. package/lib/Form.js +466 -0
  43. package/lib/FormItem.js +826 -0
  44. package/lib/Header.js +277 -0
  45. package/lib/Icon.js +265 -0
  46. package/lib/Image.js +1138 -0
  47. package/lib/InfiniteScroll.js +301 -0
  48. package/lib/Input.js +999 -0
  49. package/lib/InputNumber.js +1552 -0
  50. package/lib/Link.js +332 -0
  51. package/lib/Loading.js +631 -0
  52. package/lib/Main.js +264 -0
  53. package/lib/Menu.js +865 -0
  54. package/lib/MenuItem.js +818 -0
  55. package/lib/MenuItemGroup.js +308 -0
  56. package/lib/Message.js +548 -0
  57. package/lib/MessageBox.js +2134 -0
  58. package/lib/Notification.js +615 -0
  59. package/lib/Option.js +474 -0
  60. package/lib/OptionGroup.js +344 -0
  61. package/lib/PageHeader.js +319 -0
  62. package/lib/Pagination.js +4123 -0
  63. package/lib/Popconfirm.js +1025 -0
  64. package/lib/Popover.js +617 -0
  65. package/lib/Progress.js +595 -0
  66. package/lib/Radio.js +497 -0
  67. package/lib/RadioButton.js +463 -0
  68. package/lib/RadioGroup.js +391 -0
  69. package/lib/Rate.js +670 -0
  70. package/lib/Result.js +578 -0
  71. package/lib/Row.js +149 -0
  72. package/lib/Scrollbar.js +423 -0
  73. package/lib/Select.js +3368 -0
  74. package/lib/Skeleton.js +372 -0
  75. package/lib/SkeletonItem.js +342 -0
  76. package/lib/Slider.js +2854 -0
  77. package/lib/Spinner.js +301 -0
  78. package/lib/Statistic.js +533 -0
  79. package/lib/Step.js +522 -0
  80. package/lib/Steps.js +342 -0
  81. package/lib/Submenu.js +700 -0
  82. package/lib/Switch.js +554 -0
  83. package/lib/TabPane.js +332 -0
  84. package/lib/Table.js +6125 -0
  85. package/lib/TableColumn.js +1481 -0
  86. package/lib/Tabs.js +920 -0
  87. package/lib/Tag.js +304 -0
  88. package/lib/TimePicker.js +4059 -0
  89. package/lib/TimeSelect.js +2871 -0
  90. package/lib/Timeline.js +275 -0
  91. package/lib/TimelineItem.js +371 -0
  92. package/lib/Tooltip.js +425 -0
  93. package/lib/Transfer.js +2557 -0
  94. package/lib/Tree.js +2680 -0
  95. package/lib/Upload.js +1782 -0
  96. package/lib/directives/mousewheel.js +26 -0
  97. package/lib/directives/repeat-click.js +33 -0
  98. package/lib/element-ui.common.js +61 -186
  99. package/lib/index.js +1 -1
  100. package/lib/locale/format.js +55 -0
  101. package/lib/locale/index.js +63 -0
  102. package/lib/locale/lang/zh-CN.js +126 -0
  103. package/lib/mixins/emitter.js +36 -0
  104. package/lib/mixins/focus.js +15 -0
  105. package/lib/mixins/locale.js +17 -0
  106. package/lib/mixins/migrating.js +69 -0
  107. package/lib/theme-chalk/alert.css +1 -1
  108. package/lib/theme-chalk/button.css +1 -1
  109. package/lib/theme-chalk/calendar.css +1 -1
  110. package/lib/theme-chalk/cascader-panel.css +1 -1
  111. package/lib/theme-chalk/cascader.css +1 -1
  112. package/lib/theme-chalk/checkbox.css +1 -1
  113. package/lib/theme-chalk/color-picker.css +1 -1
  114. package/lib/theme-chalk/date-picker.css +1 -1
  115. package/lib/theme-chalk/dropdown.css +1 -1
  116. package/lib/theme-chalk/icon.css +1 -1
  117. package/lib/theme-chalk/index.css +1 -1
  118. package/lib/theme-chalk/link.css +1 -1
  119. package/lib/theme-chalk/menu.css +1 -1
  120. package/lib/theme-chalk/message-box.css +1 -1
  121. package/lib/theme-chalk/message.css +1 -1
  122. package/lib/theme-chalk/pagination.css +1 -1
  123. package/lib/theme-chalk/reset.css +1 -1
  124. package/lib/theme-chalk/select-dropdown.css +1 -1
  125. package/lib/theme-chalk/select.css +1 -1
  126. package/lib/theme-chalk/table-column.css +1 -1
  127. package/lib/theme-chalk/table.css +1 -1
  128. package/lib/theme-chalk/tag.css +1 -1
  129. package/lib/theme-chalk/time-picker.css +1 -1
  130. package/lib/theme-chalk/transfer.css +1 -1
  131. package/lib/theme-chalk/tree.css +1 -1
  132. package/lib/transitions/collapse-transition.js +91 -0
  133. package/lib/umd/locale/zh-CN.js +142 -0
  134. package/lib/utils/after-leave.js +35 -0
  135. package/lib/utils/aria-dialog.js +104 -0
  136. package/lib/utils/aria-utils.js +126 -0
  137. package/lib/utils/clickoutside.js +79 -0
  138. package/lib/utils/date-util.js +310 -0
  139. package/lib/utils/date.js +369 -0
  140. package/lib/utils/dom.js +234 -0
  141. package/lib/utils/lodash.js +9421 -0
  142. package/lib/utils/menu/aria-menubar.js +24 -0
  143. package/lib/utils/menu/aria-menuitem.js +62 -0
  144. package/lib/utils/menu/aria-submenu.js +69 -0
  145. package/lib/utils/merge.js +21 -0
  146. package/lib/utils/popper.js +1261 -0
  147. package/lib/utils/popup/index.js +233 -0
  148. package/lib/utils/popup/popup-manager.js +205 -0
  149. package/lib/utils/resize-event.js +59 -0
  150. package/lib/utils/scroll-into-view.js +38 -0
  151. package/lib/utils/scrollbar-width.js +39 -0
  152. package/lib/utils/shared.js +12 -0
  153. package/lib/utils/types.js +52 -0
  154. package/lib/utils/util.js +272 -0
  155. package/lib/utils/vdom.js +13 -0
  156. package/lib/utils/vue-popper.js +202 -0
  157. package/package.json +135 -135
  158. package/packages/alert/index.js +8 -8
  159. package/packages/alert/src/main.vue +94 -94
  160. package/packages/aside/index.js +8 -8
  161. package/packages/aside/src/main.vue +20 -20
  162. package/packages/autocomplete/index.js +8 -8
  163. package/packages/autocomplete/src/autocomplete-suggestions.vue +76 -76
  164. package/packages/autocomplete/src/autocomplete.vue +285 -285
  165. package/packages/avatar/index.js +8 -8
  166. package/packages/avatar/src/main.vue +107 -107
  167. package/packages/backtop/index.js +8 -8
  168. package/packages/backtop/src/main.vue +110 -110
  169. package/packages/badge/index.js +8 -8
  170. package/packages/badge/src/main.vue +53 -53
  171. package/packages/breadcrumb/index.js +8 -8
  172. package/packages/breadcrumb/src/breadcrumb-item.vue +41 -41
  173. package/packages/breadcrumb/src/breadcrumb.vue +34 -34
  174. package/packages/breadcrumb-item/index.js +8 -8
  175. package/packages/button/index.js +8 -8
  176. package/packages/button/src/button-group.vue +10 -10
  177. package/packages/button/src/button.vue +78 -78
  178. package/packages/button-group/index.js +8 -8
  179. package/packages/calendar/index.js +8 -8
  180. package/packages/calendar/src/date-table.vue +200 -200
  181. package/packages/calendar/src/main.vue +280 -280
  182. package/packages/card/index.js +8 -8
  183. package/packages/card/src/main.vue +23 -23
  184. package/packages/carousel/index.js +8 -8
  185. package/packages/carousel/src/item.vue +138 -138
  186. package/packages/carousel/src/main.vue +315 -315
  187. package/packages/carousel-item/index.js +8 -8
  188. package/packages/cascader/index.js +8 -8
  189. package/packages/cascader/src/cascader.vue +663 -663
  190. package/packages/cascader-panel/index.js +8 -8
  191. package/packages/cascader-panel/src/cascader-menu.vue +138 -138
  192. package/packages/cascader-panel/src/cascader-node.vue +246 -246
  193. package/packages/cascader-panel/src/cascader-panel.vue +391 -391
  194. package/packages/cascader-panel/src/node.js +165 -165
  195. package/packages/cascader-panel/src/store.js +57 -57
  196. package/packages/checkbox/index.js +8 -8
  197. package/packages/checkbox/src/checkbox-button.vue +199 -199
  198. package/packages/checkbox/src/checkbox-group.vue +48 -48
  199. package/packages/checkbox/src/checkbox.vue +222 -222
  200. package/packages/checkbox-button/index.js +8 -8
  201. package/packages/checkbox-group/index.js +8 -8
  202. package/packages/col/index.js +9 -9
  203. package/packages/col/src/col.js +71 -71
  204. package/packages/collapse/index.js +9 -9
  205. package/packages/collapse/src/collapse-item.vue +114 -114
  206. package/packages/collapse/src/collapse.vue +73 -73
  207. package/packages/collapse-item/index.js +8 -8
  208. package/packages/color-picker/index.js +8 -8
  209. package/packages/color-picker/src/color.js +317 -317
  210. package/packages/color-picker/src/components/alpha-slider.vue +132 -132
  211. package/packages/color-picker/src/components/hue-slider.vue +123 -123
  212. package/packages/color-picker/src/components/picker-dropdown.vue +121 -121
  213. package/packages/color-picker/src/components/predefine.vue +61 -61
  214. package/packages/color-picker/src/components/sv-panel.vue +100 -100
  215. package/packages/color-picker/src/draggable.js +36 -36
  216. package/packages/color-picker/src/main.vue +188 -188
  217. package/packages/container/index.js +8 -8
  218. package/packages/container/src/main.vue +33 -33
  219. package/packages/cy/selectDisplayInput/index.js +8 -8
  220. package/packages/cy/selectDisplayInput/src/main.vue +75 -75
  221. package/packages/cy/subTitle/index.js +7 -7
  222. package/packages/cy/subTitle/src/main.vue +36 -36
  223. package/packages/cy/tabDialog/index.js +23 -23
  224. package/packages/cy/tabDialog/src/dialog/drag.js +63 -63
  225. package/packages/cy/tabDialog/src/dialog/dragHeight.js +34 -34
  226. package/packages/cy/tabDialog/src/dialog/dragWidth.js +30 -30
  227. package/packages/cy/tabDialog/src/main.vue +277 -277
  228. package/packages/cy/treeSelect/index.js +7 -7
  229. package/packages/cy/treeSelect/src/main.vue +290 -290
  230. package/packages/date-picker/index.js +8 -8
  231. package/packages/date-picker/src/basic/date-table.vue +441 -441
  232. package/packages/date-picker/src/basic/month-table.vue +268 -268
  233. package/packages/date-picker/src/basic/time-spinner.vue +304 -304
  234. package/packages/date-picker/src/basic/year-table.vue +111 -111
  235. package/packages/date-picker/src/panel/date-range.vue +680 -680
  236. package/packages/date-picker/src/panel/date.vue +609 -609
  237. package/packages/date-picker/src/panel/month-range.vue +289 -289
  238. package/packages/date-picker/src/panel/time-range.vue +248 -248
  239. package/packages/date-picker/src/panel/time-select.vue +178 -178
  240. package/packages/date-picker/src/panel/time.vue +186 -186
  241. package/packages/date-picker/src/picker/date-picker.js +43 -43
  242. package/packages/date-picker/src/picker/time-picker.js +39 -39
  243. package/packages/date-picker/src/picker/time-select.js +21 -21
  244. package/packages/date-picker/src/picker.vue +956 -956
  245. package/packages/descriptions/index.js +8 -8
  246. package/packages/descriptions/src/descriptions-item.js +30 -30
  247. package/packages/descriptions/src/descriptions-row.js +116 -116
  248. package/packages/descriptions/src/index.js +180 -180
  249. package/packages/descriptions-item/index.js +8 -8
  250. package/packages/dialog/index.js +8 -8
  251. package/packages/dialog/src/component.vue +212 -212
  252. package/packages/divider/index.js +8 -8
  253. package/packages/divider/src/main.vue +37 -37
  254. package/packages/drawer/index.js +8 -8
  255. package/packages/drawer/src/main.vue +205 -205
  256. package/packages/dropdown/index.js +8 -8
  257. package/packages/dropdown/src/dropdown-item.vue +37 -37
  258. package/packages/dropdown/src/dropdown-menu.vue +63 -63
  259. package/packages/dropdown/src/dropdown.vue +293 -293
  260. package/packages/dropdown-item/index.js +8 -8
  261. package/packages/dropdown-menu/index.js +8 -8
  262. package/packages/empty/index.js +7 -7
  263. package/packages/empty/src/img-empty.vue +132 -132
  264. package/packages/empty/src/index.vue +50 -50
  265. package/packages/footer/index.js +8 -8
  266. package/packages/footer/src/main.vue +20 -20
  267. package/packages/form/index.js +8 -8
  268. package/packages/form/src/form-item.vue +324 -324
  269. package/packages/form/src/form.vue +182 -182
  270. package/packages/form/src/label-wrap.vue +78 -78
  271. package/packages/form-item/index.js +8 -8
  272. package/packages/header/index.js +8 -8
  273. package/packages/header/src/main.vue +20 -20
  274. package/packages/icon/index.js +8 -8
  275. package/packages/icon/src/icon.vue +13 -13
  276. package/packages/image/index.js +8 -8
  277. package/packages/image/src/image-viewer.vue +330 -330
  278. package/packages/image/src/main.vue +249 -249
  279. package/packages/infinite-scroll/index.js +8 -8
  280. package/packages/infinite-scroll/src/main.js +149 -149
  281. package/packages/input/index.js +8 -8
  282. package/packages/input/src/calcTextareaHeight.js +104 -104
  283. package/packages/input/src/input.vue +440 -440
  284. package/packages/input-number/index.js +8 -8
  285. package/packages/input-number/src/input-number.vue +286 -286
  286. package/packages/link/index.js +8 -8
  287. package/packages/link/src/main.vue +53 -53
  288. package/packages/loading/index.js +11 -11
  289. package/packages/loading/src/directive.js +133 -133
  290. package/packages/loading/src/index.js +106 -106
  291. package/packages/loading/src/loading.vue +41 -41
  292. package/packages/main/index.js +8 -8
  293. package/packages/main/src/main.vue +12 -12
  294. package/packages/menu/index.js +8 -8
  295. package/packages/menu/src/menu-item-group.vue +45 -45
  296. package/packages/menu/src/menu-item.vue +112 -112
  297. package/packages/menu/src/menu-mixin.js +44 -44
  298. package/packages/menu/src/menu.vue +325 -325
  299. package/packages/menu/src/submenu.vue +348 -348
  300. package/packages/menu-item/index.js +8 -8
  301. package/packages/menu-item-group/index.js +8 -8
  302. package/packages/message/index.js +2 -2
  303. package/packages/message/src/main.js +91 -91
  304. package/packages/message/src/main.vue +117 -117
  305. package/packages/message-box/index.js +2 -2
  306. package/packages/message-box/src/main.js +216 -216
  307. package/packages/message-box/src/main.vue +332 -332
  308. package/packages/notification/index.js +2 -2
  309. package/packages/notification/src/main.js +94 -94
  310. package/packages/notification/src/main.vue +152 -152
  311. package/packages/option/index.js +8 -8
  312. package/packages/option-group/index.js +8 -8
  313. package/packages/page-header/index.js +8 -8
  314. package/packages/page-header/src/main.vue +30 -30
  315. package/packages/pagination/index.js +8 -8
  316. package/packages/pagination/src/pager.vue +163 -163
  317. package/packages/pagination/src/pagination.js +386 -386
  318. package/packages/popconfirm/index.js +8 -8
  319. package/packages/popconfirm/src/main.vue +104 -104
  320. package/packages/popover/index.js +14 -14
  321. package/packages/popover/src/directive.js +20 -20
  322. package/packages/popover/src/main.vue +237 -237
  323. package/packages/progress/index.js +8 -8
  324. package/packages/progress/src/progress.vue +235 -235
  325. package/packages/radio/index.js +8 -8
  326. package/packages/radio/src/radio-button.vue +115 -115
  327. package/packages/radio/src/radio-group.vue +113 -113
  328. package/packages/radio/src/radio.vue +134 -134
  329. package/packages/radio-button/index.js +8 -8
  330. package/packages/radio-group/index.js +8 -8
  331. package/packages/rate/index.js +8 -8
  332. package/packages/rate/src/main.vue +348 -348
  333. package/packages/result/index.js +8 -8
  334. package/packages/result/src/icon-error.vue +13 -13
  335. package/packages/result/src/icon-info.vue +13 -13
  336. package/packages/result/src/icon-success.vue +13 -13
  337. package/packages/result/src/icon-warning.vue +13 -13
  338. package/packages/result/src/index.vue +65 -65
  339. package/packages/row/index.js +9 -9
  340. package/packages/row/src/row.js +44 -44
  341. package/packages/scrollbar/index.js +8 -8
  342. package/packages/scrollbar/src/bar.js +92 -92
  343. package/packages/scrollbar/src/main.js +130 -130
  344. package/packages/scrollbar/src/util.js +34 -34
  345. package/packages/select/index.js +8 -8
  346. package/packages/select/src/navigation-mixin.js +54 -54
  347. package/packages/select/src/option-group.vue +60 -60
  348. package/packages/select/src/option.vue +168 -168
  349. package/packages/select/src/select-dropdown.vue +74 -74
  350. package/packages/select/src/select.vue +900 -900
  351. package/packages/skeleton/index.js +8 -8
  352. package/packages/skeleton/src/img-placeholder.vue +16 -16
  353. package/packages/skeleton/src/index.vue +76 -76
  354. package/packages/skeleton/src/item.vue +22 -22
  355. package/packages/skeleton-item/index.js +8 -8
  356. package/packages/slider/index.js +8 -8
  357. package/packages/slider/src/button.vue +238 -238
  358. package/packages/slider/src/main.vue +427 -427
  359. package/packages/slider/src/marker.js +18 -18
  360. package/packages/spinner/index.js +8 -8
  361. package/packages/spinner/src/spinner.vue +27 -27
  362. package/packages/statistic/index.js +8 -8
  363. package/packages/statistic/src/main.vue +203 -203
  364. package/packages/step/index.js +8 -8
  365. package/packages/steps/README.md +69 -69
  366. package/packages/steps/index.js +8 -8
  367. package/packages/steps/src/step.vue +184 -184
  368. package/packages/steps/src/steps.vue +68 -68
  369. package/packages/submenu/index.js +8 -8
  370. package/packages/switch/index.js +9 -9
  371. package/packages/switch/src/component.vue +174 -174
  372. package/packages/tab-pane/index.js +8 -8
  373. package/packages/table/index.js +8 -8
  374. package/packages/table/src/config.js +124 -124
  375. package/packages/table/src/dropdown.js +28 -28
  376. package/packages/table/src/filter-panel.vue +194 -194
  377. package/packages/table/src/layout-observer.js +68 -68
  378. package/packages/table/src/store/current.js +76 -76
  379. package/packages/table/src/store/expand.js +65 -65
  380. package/packages/table/src/store/helper.js +41 -41
  381. package/packages/table/src/store/index.js +147 -147
  382. package/packages/table/src/store/tree.js +209 -209
  383. package/packages/table/src/store/watcher.js +381 -381
  384. package/packages/table/src/table-body.js +469 -469
  385. package/packages/table/src/table-column.js +319 -319
  386. package/packages/table/src/table-footer.js +153 -153
  387. package/packages/table/src/table-header.js +511 -511
  388. package/packages/table/src/table-layout.js +249 -249
  389. package/packages/table/src/table-row.js +101 -101
  390. package/packages/table/src/table.vue +712 -712
  391. package/packages/table/src/util.js +273 -273
  392. package/packages/table-column/index.js +8 -8
  393. package/packages/tabs/index.js +8 -8
  394. package/packages/tabs/src/tab-bar.vue +57 -57
  395. package/packages/tabs/src/tab-nav.vue +294 -294
  396. package/packages/tabs/src/tab-pane.vue +56 -56
  397. package/packages/tabs/src/tabs.vue +191 -191
  398. package/packages/tag/index.js +8 -8
  399. package/packages/tag/src/tag.vue +58 -58
  400. package/packages/theme-chalk/README.md +33 -33
  401. package/packages/theme-chalk/gulpfile.js +24 -24
  402. package/packages/theme-chalk/package.json +35 -35
  403. package/packages/theme-chalk/src/alert.scss +147 -147
  404. package/packages/theme-chalk/src/aside.scss +7 -7
  405. package/packages/theme-chalk/src/autocomplete.scss +80 -80
  406. package/packages/theme-chalk/src/avatar.scss +51 -51
  407. package/packages/theme-chalk/src/backtop.scss +22 -22
  408. package/packages/theme-chalk/src/badge.scss +57 -57
  409. package/packages/theme-chalk/src/base.scss +2 -2
  410. package/packages/theme-chalk/src/breadcrumb.scss +55 -55
  411. package/packages/theme-chalk/src/button.scss +262 -262
  412. package/packages/theme-chalk/src/calendar.scss +79 -79
  413. package/packages/theme-chalk/src/card.scss +32 -32
  414. package/packages/theme-chalk/src/carousel-item.scss +49 -49
  415. package/packages/theme-chalk/src/carousel.scss +161 -161
  416. package/packages/theme-chalk/src/cascader-panel.scss +120 -120
  417. package/packages/theme-chalk/src/cascader.scss +182 -182
  418. package/packages/theme-chalk/src/checkbox.scss +359 -359
  419. package/packages/theme-chalk/src/col.scss +155 -155
  420. package/packages/theme-chalk/src/collapse.scss +63 -63
  421. package/packages/theme-chalk/src/color-picker.scss +384 -384
  422. package/packages/theme-chalk/src/common/popup.scss +42 -42
  423. package/packages/theme-chalk/src/common/transition.scss +98 -98
  424. package/packages/theme-chalk/src/common/var.scss +1028 -1028
  425. package/packages/theme-chalk/src/container.scss +14 -14
  426. package/packages/theme-chalk/src/cy/base.scss +3 -3
  427. package/packages/theme-chalk/src/cy/index.scss +5 -6
  428. package/packages/theme-chalk/src/cy/selectDisplayInput.scss +75 -75
  429. package/packages/theme-chalk/src/cy/subTitle.scss +26 -26
  430. package/packages/theme-chalk/src/cy/tabDialog.scss +43 -43
  431. package/packages/theme-chalk/src/cy/treeSelect.scss +131 -131
  432. package/packages/theme-chalk/src/date-picker/date-picker.scss +97 -97
  433. package/packages/theme-chalk/src/date-picker/date-range-picker.scss +101 -101
  434. package/packages/theme-chalk/src/date-picker/date-table.scss +151 -151
  435. package/packages/theme-chalk/src/date-picker/month-table.scss +82 -82
  436. package/packages/theme-chalk/src/date-picker/picker-panel.scss +117 -117
  437. package/packages/theme-chalk/src/date-picker/picker.scss +197 -197
  438. package/packages/theme-chalk/src/date-picker/time-picker.scss +85 -85
  439. package/packages/theme-chalk/src/date-picker/time-range-picker.scss +31 -31
  440. package/packages/theme-chalk/src/date-picker/time-spinner.scss +110 -110
  441. package/packages/theme-chalk/src/date-picker/year-table.scss +51 -51
  442. package/packages/theme-chalk/src/date-picker.scss +11 -11
  443. package/packages/theme-chalk/src/descriptions-item.scss +42 -42
  444. package/packages/theme-chalk/src/descriptions.scss +111 -111
  445. package/packages/theme-chalk/src/dialog.scss +123 -123
  446. package/packages/theme-chalk/src/display.scss +12 -12
  447. package/packages/theme-chalk/src/divider.scss +46 -46
  448. package/packages/theme-chalk/src/drawer.scss +219 -219
  449. package/packages/theme-chalk/src/dropdown.scss +182 -182
  450. package/packages/theme-chalk/src/empty.scss +45 -45
  451. package/packages/theme-chalk/src/footer.scss +8 -8
  452. package/packages/theme-chalk/src/form.scss +167 -167
  453. package/packages/theme-chalk/src/header.scss +8 -8
  454. package/packages/theme-chalk/src/icon.scss +1167 -1167
  455. package/packages/theme-chalk/src/image.scss +179 -179
  456. package/packages/theme-chalk/src/input-number.scss +261 -261
  457. package/packages/theme-chalk/src/input.scss +360 -360
  458. package/packages/theme-chalk/src/link.scss +81 -81
  459. package/packages/theme-chalk/src/loading.scss +96 -96
  460. package/packages/theme-chalk/src/main.scss +12 -12
  461. package/packages/theme-chalk/src/menu.scss +289 -289
  462. package/packages/theme-chalk/src/message-box.scss +226 -226
  463. package/packages/theme-chalk/src/message.scss +120 -120
  464. package/packages/theme-chalk/src/mixins/_button.scss +81 -81
  465. package/packages/theme-chalk/src/mixins/config.scss +4 -4
  466. package/packages/theme-chalk/src/mixins/function.scss +44 -44
  467. package/packages/theme-chalk/src/mixins/mixins.scss +191 -191
  468. package/packages/theme-chalk/src/mixins/utils.scss +38 -38
  469. package/packages/theme-chalk/src/notification.scss +99 -99
  470. package/packages/theme-chalk/src/option-group.scss +42 -42
  471. package/packages/theme-chalk/src/option.scss +36 -36
  472. package/packages/theme-chalk/src/page-header.scss +41 -41
  473. package/packages/theme-chalk/src/pagination.scss +295 -295
  474. package/packages/theme-chalk/src/popconfirm.scss +16 -16
  475. package/packages/theme-chalk/src/popover.scss +40 -40
  476. package/packages/theme-chalk/src/popper.scss +100 -100
  477. package/packages/theme-chalk/src/progress.scss +141 -141
  478. package/packages/theme-chalk/src/radio-button.scss +113 -113
  479. package/packages/theme-chalk/src/radio-group.scss +9 -9
  480. package/packages/theme-chalk/src/radio.scss +199 -199
  481. package/packages/theme-chalk/src/rate.scss +49 -49
  482. package/packages/theme-chalk/src/reset.scss +79 -79
  483. package/packages/theme-chalk/src/result.scss +61 -61
  484. package/packages/theme-chalk/src/row.scss +43 -43
  485. package/packages/theme-chalk/src/scrollbar.scss +72 -72
  486. package/packages/theme-chalk/src/select-dropdown.scss +62 -62
  487. package/packages/theme-chalk/src/select.scss +152 -152
  488. package/packages/theme-chalk/src/skeleton-item.scss +84 -84
  489. package/packages/theme-chalk/src/skeleton.scss +40 -40
  490. package/packages/theme-chalk/src/slider.scss +250 -250
  491. package/packages/theme-chalk/src/spinner.scss +44 -44
  492. package/packages/theme-chalk/src/statistic.scss +38 -38
  493. package/packages/theme-chalk/src/step.scss +317 -317
  494. package/packages/theme-chalk/src/steps.scss +20 -20
  495. package/packages/theme-chalk/src/switch.scss +116 -116
  496. package/packages/theme-chalk/src/table-column.scss +96 -96
  497. package/packages/theme-chalk/src/table.scss +564 -564
  498. package/packages/theme-chalk/src/tabs.scss +602 -602
  499. package/packages/theme-chalk/src/tag.scss +163 -163
  500. package/packages/theme-chalk/src/time-picker.scss +8 -8
  501. package/packages/theme-chalk/src/time-select.scss +37 -37
  502. package/packages/theme-chalk/src/timeline-item.scss +86 -86
  503. package/packages/theme-chalk/src/timeline.scss +14 -14
  504. package/packages/theme-chalk/src/tooltip.scss +141 -141
  505. package/packages/theme-chalk/src/transfer.scss +227 -227
  506. package/packages/theme-chalk/src/tree.scss +123 -123
  507. package/packages/theme-chalk/src/upload.scss +603 -603
  508. package/packages/time-picker/index.js +8 -8
  509. package/packages/time-select/index.js +8 -8
  510. package/packages/timeline/index.js +8 -8
  511. package/packages/timeline/src/item.vue +73 -73
  512. package/packages/timeline/src/main.vue +33 -33
  513. package/packages/timeline-item/index.js +8 -8
  514. package/packages/tooltip/index.js +8 -8
  515. package/packages/tooltip/src/main.js +242 -242
  516. package/packages/transfer/index.js +8 -8
  517. package/packages/transfer/src/main.vue +231 -231
  518. package/packages/transfer/src/transfer-panel.vue +251 -251
  519. package/packages/tree/index.js +8 -8
  520. package/packages/tree/src/model/node.js +484 -484
  521. package/packages/tree/src/model/tree-store.js +340 -340
  522. package/packages/tree/src/model/util.js +27 -27
  523. package/packages/tree/src/tree-node.vue +279 -279
  524. package/packages/tree/src/tree.vue +496 -496
  525. package/packages/upload/index.js +8 -8
  526. package/packages/upload/src/ajax.js +85 -85
  527. package/packages/upload/src/index.vue +338 -338
  528. package/packages/upload/src/upload-dragger.vue +70 -70
  529. package/packages/upload/src/upload-list.vue +105 -105
  530. package/packages/upload/src/upload.vue +211 -211
  531. package/src/directives/mousewheel.js +18 -18
  532. package/src/directives/repeat-click.js +26 -26
  533. package/src/index.js +4 -7
  534. package/src/locale/format.js +45 -45
  535. package/src/locale/index.js +48 -48
  536. package/src/locale/lang/zh-CN.js +123 -123
  537. package/src/mixins/emitter.js +33 -33
  538. package/src/mixins/focus.js +9 -9
  539. package/src/mixins/locale.js +9 -9
  540. package/src/mixins/migrating.js +54 -54
  541. package/src/transitions/collapse-transition.js +77 -77
  542. package/src/utils/after-leave.js +27 -27
  543. package/src/utils/aria-dialog.js +90 -90
  544. package/src/utils/aria-utils.js +122 -122
  545. package/src/utils/clickoutside.js +76 -76
  546. package/src/utils/date-util.js +282 -282
  547. package/src/utils/date.js +368 -368
  548. package/src/utils/dom.js +227 -227
  549. package/src/utils/lodash.js +18075 -18075
  550. package/src/utils/menu/aria-menubar.js +14 -14
  551. package/src/utils/menu/aria-menuitem.js +49 -49
  552. package/src/utils/menu/aria-submenu.js +59 -59
  553. package/src/utils/merge.js +15 -15
  554. package/src/utils/popper.js +1276 -1276
  555. package/src/utils/popup/index.js +218 -218
  556. package/src/utils/popup/popup-manager.js +194 -194
  557. package/src/utils/resize-event.js +36 -36
  558. package/src/utils/scroll-into-view.js +27 -27
  559. package/src/utils/scrollbar-width.js +29 -29
  560. package/src/utils/shared.js +7 -7
  561. package/src/utils/types.js +40 -40
  562. package/src/utils/util.js +245 -245
  563. package/src/utils/vdom.js +5 -5
  564. package/src/utils/vue-popper.js +198 -198
  565. package/types/alert.d.ts +31 -31
  566. package/types/aside.d.ts +7 -7
  567. package/types/autocomplete.d.ts +78 -78
  568. package/types/avatar.d.ts +20 -20
  569. package/types/backtop.d.ts +16 -16
  570. package/types/badge.d.ts +16 -16
  571. package/types/breadcrumb-item.d.ts +10 -10
  572. package/types/breadcrumb.d.ts +10 -10
  573. package/types/button-group.d.ts +4 -4
  574. package/types/button.d.ts +37 -37
  575. package/types/calendar.d.ts +15 -15
  576. package/types/card.d.ts +26 -26
  577. package/types/carousel-item.d.ts +10 -10
  578. package/types/carousel.d.ts +57 -57
  579. package/types/cascader-panel.d.ts +72 -72
  580. package/types/cascader.d.ts +65 -65
  581. package/types/checkbox-button.d.ts +22 -22
  582. package/types/checkbox-group.d.ts +22 -22
  583. package/types/checkbox.d.ts +34 -34
  584. package/types/col.d.ts +46 -46
  585. package/types/collapse-item.d.ts +26 -26
  586. package/types/collapse.d.ts +10 -10
  587. package/types/color-picker.d.ts +21 -21
  588. package/types/component.d.ts +13 -13
  589. package/types/container.d.ts +7 -7
  590. package/types/cy/cy-element-ui.d.ts +0 -4
  591. package/types/date-picker.d.ts +124 -124
  592. package/types/descriptions-item.d.ts +37 -37
  593. package/types/descriptions.d.ts +52 -52
  594. package/types/dialog.d.ts +62 -62
  595. package/types/divider.d.ts +12 -12
  596. package/types/drawer.d.ts +63 -63
  597. package/types/dropdown-item.d.ts +16 -16
  598. package/types/dropdown-menu.d.ts +4 -4
  599. package/types/dropdown.d.ts +38 -38
  600. package/types/empty.d.ts +31 -31
  601. package/types/footer.d.ts +7 -7
  602. package/types/form-item.d.ts +37 -37
  603. package/types/form.d.ts +82 -82
  604. package/types/header.d.ts +7 -7
  605. package/types/icon.d.ts +7 -7
  606. package/types/image.d.ts +43 -43
  607. package/types/index.d.ts +5 -5
  608. package/types/infinite-scroll.d.ts +5 -5
  609. package/types/input-number.d.ts +47 -47
  610. package/types/input.d.ts +107 -107
  611. package/types/link.d.ts +25 -25
  612. package/types/loading.d.ts +62 -62
  613. package/types/main.d.ts +4 -4
  614. package/types/menu-item-group.d.ts +7 -7
  615. package/types/menu-item.d.ts +10 -10
  616. package/types/menu.d.ts +46 -46
  617. package/types/message-box.d.ts +176 -176
  618. package/types/message.d.ts +90 -90
  619. package/types/notification.d.ts +84 -84
  620. package/types/option-group.d.ts +10 -10
  621. package/types/option.d.ts +13 -13
  622. package/types/page-header.d.ts +10 -10
  623. package/types/pagination.d.ts +43 -43
  624. package/types/popconfirm.d.ts +29 -29
  625. package/types/popover.d.ts +71 -71
  626. package/types/progress.d.ts +37 -37
  627. package/types/radio-button.d.ts +16 -16
  628. package/types/radio-group.d.ts +18 -18
  629. package/types/radio.d.ts +19 -19
  630. package/types/rate.d.ts +64 -64
  631. package/types/result.d.ts +33 -33
  632. package/types/row.d.ts +25 -25
  633. package/types/select.d.ts +90 -90
  634. package/types/skeleton-item.d.ts +7 -7
  635. package/types/skeleton.d.ts +33 -33
  636. package/types/slider.d.ts +68 -68
  637. package/types/spinner.d.ts +16 -16
  638. package/types/statistic.d.ts +37 -37
  639. package/types/step.d.ts +34 -34
  640. package/types/steps.d.ts +28 -28
  641. package/types/submenu.d.ts +22 -22
  642. package/types/switch.d.ts +43 -43
  643. package/types/tab-pane.d.ts +19 -19
  644. package/types/table-column.d.ts +117 -117
  645. package/types/table.d.ts +177 -177
  646. package/types/tabs.d.ts +31 -31
  647. package/types/tag.d.ts +28 -28
  648. package/types/time-picker.d.ts +63 -63
  649. package/types/time-select.d.ts +56 -56
  650. package/types/timeline-item.d.ts +20 -20
  651. package/types/timeline.d.ts +6 -6
  652. package/types/tooltip.d.ts +52 -52
  653. package/types/transfer.d.ts +73 -73
  654. package/types/tree.d.ts +266 -266
  655. package/types/upload.d.ts +124 -124
  656. package/web-types.json +4195 -4195
  657. package/lib/theme-chalk/testComponent.css +0 -1
  658. package/packages/cy/testComponent/index.js +0 -8
  659. package/packages/cy/testComponent/src/main.vue +0 -44
  660. package/packages/examples/demo-styles/cy/testComponent.scss +0 -3
  661. package/packages/examples/docs/en-US/cy/cy-testComponent.md +0 -1
  662. package/packages/examples/docs/zh-CN/cy/cy-testComponent.md +0 -1
  663. package/packages/packages/theme-chalk/src/cy/testComponent.scss +0 -4
  664. package/packages/theme-chalk/src/cy/testComponent.scss +0 -76
  665. package/types/cy/test-component.d.ts +0 -7
@@ -1,77 +1,77 @@
1
- import { addClass, removeClass } from 'element-ui/src/utils/dom';
2
-
3
- class Transition {
4
- beforeEnter(el) {
5
- addClass(el, 'collapse-transition');
6
- if (!el.dataset) el.dataset = {};
7
-
8
- el.dataset.oldPaddingTop = el.style.paddingTop;
9
- el.dataset.oldPaddingBottom = el.style.paddingBottom;
10
-
11
- el.style.height = '0';
12
- el.style.paddingTop = 0;
13
- el.style.paddingBottom = 0;
14
- }
15
-
16
- enter(el) {
17
- el.dataset.oldOverflow = el.style.overflow;
18
- if (el.scrollHeight !== 0) {
19
- el.style.height = el.scrollHeight + 'px';
20
- el.style.paddingTop = el.dataset.oldPaddingTop;
21
- el.style.paddingBottom = el.dataset.oldPaddingBottom;
22
- } else {
23
- el.style.height = '';
24
- el.style.paddingTop = el.dataset.oldPaddingTop;
25
- el.style.paddingBottom = el.dataset.oldPaddingBottom;
26
- }
27
-
28
- el.style.overflow = 'hidden';
29
- }
30
-
31
- afterEnter(el) {
32
- // for safari: remove class then reset height is necessary
33
- removeClass(el, 'collapse-transition');
34
- el.style.height = '';
35
- el.style.overflow = el.dataset.oldOverflow;
36
- }
37
-
38
- beforeLeave(el) {
39
- if (!el.dataset) el.dataset = {};
40
- el.dataset.oldPaddingTop = el.style.paddingTop;
41
- el.dataset.oldPaddingBottom = el.style.paddingBottom;
42
- el.dataset.oldOverflow = el.style.overflow;
43
-
44
- el.style.height = el.scrollHeight + 'px';
45
- el.style.overflow = 'hidden';
46
- }
47
-
48
- leave(el) {
49
- if (el.scrollHeight !== 0) {
50
- // for safari: add class after set height, or it will jump to zero height suddenly, weired
51
- addClass(el, 'collapse-transition');
52
- el.style.height = 0;
53
- el.style.paddingTop = 0;
54
- el.style.paddingBottom = 0;
55
- }
56
- }
57
-
58
- afterLeave(el) {
59
- removeClass(el, 'collapse-transition');
60
- el.style.height = '';
61
- el.style.overflow = el.dataset.oldOverflow;
62
- el.style.paddingTop = el.dataset.oldPaddingTop;
63
- el.style.paddingBottom = el.dataset.oldPaddingBottom;
64
- }
65
- }
66
-
67
- export default {
68
- name: 'ElCollapseTransition',
69
- functional: true,
70
- render(h, { children }) {
71
- const data = {
72
- on: new Transition()
73
- };
74
-
75
- return h('transition', data, children);
76
- }
77
- };
1
+ import { addClass, removeClass } from 'element-ui/src/utils/dom';
2
+
3
+ class Transition {
4
+ beforeEnter(el) {
5
+ addClass(el, 'collapse-transition');
6
+ if (!el.dataset) el.dataset = {};
7
+
8
+ el.dataset.oldPaddingTop = el.style.paddingTop;
9
+ el.dataset.oldPaddingBottom = el.style.paddingBottom;
10
+
11
+ el.style.height = '0';
12
+ el.style.paddingTop = 0;
13
+ el.style.paddingBottom = 0;
14
+ }
15
+
16
+ enter(el) {
17
+ el.dataset.oldOverflow = el.style.overflow;
18
+ if (el.scrollHeight !== 0) {
19
+ el.style.height = el.scrollHeight + 'px';
20
+ el.style.paddingTop = el.dataset.oldPaddingTop;
21
+ el.style.paddingBottom = el.dataset.oldPaddingBottom;
22
+ } else {
23
+ el.style.height = '';
24
+ el.style.paddingTop = el.dataset.oldPaddingTop;
25
+ el.style.paddingBottom = el.dataset.oldPaddingBottom;
26
+ }
27
+
28
+ el.style.overflow = 'hidden';
29
+ }
30
+
31
+ afterEnter(el) {
32
+ // for safari: remove class then reset height is necessary
33
+ removeClass(el, 'collapse-transition');
34
+ el.style.height = '';
35
+ el.style.overflow = el.dataset.oldOverflow;
36
+ }
37
+
38
+ beforeLeave(el) {
39
+ if (!el.dataset) el.dataset = {};
40
+ el.dataset.oldPaddingTop = el.style.paddingTop;
41
+ el.dataset.oldPaddingBottom = el.style.paddingBottom;
42
+ el.dataset.oldOverflow = el.style.overflow;
43
+
44
+ el.style.height = el.scrollHeight + 'px';
45
+ el.style.overflow = 'hidden';
46
+ }
47
+
48
+ leave(el) {
49
+ if (el.scrollHeight !== 0) {
50
+ // for safari: add class after set height, or it will jump to zero height suddenly, weired
51
+ addClass(el, 'collapse-transition');
52
+ el.style.height = 0;
53
+ el.style.paddingTop = 0;
54
+ el.style.paddingBottom = 0;
55
+ }
56
+ }
57
+
58
+ afterLeave(el) {
59
+ removeClass(el, 'collapse-transition');
60
+ el.style.height = '';
61
+ el.style.overflow = el.dataset.oldOverflow;
62
+ el.style.paddingTop = el.dataset.oldPaddingTop;
63
+ el.style.paddingBottom = el.dataset.oldPaddingBottom;
64
+ }
65
+ }
66
+
67
+ export default {
68
+ name: 'ElCollapseTransition',
69
+ functional: true,
70
+ render(h, { children }) {
71
+ const data = {
72
+ on: new Transition()
73
+ };
74
+
75
+ return h('transition', data, children);
76
+ }
77
+ };
@@ -1,27 +1,27 @@
1
- /**
2
- * Bind after-leave event for vue instance. Make sure after-leave is called in any browsers.
3
- *
4
- * @param {Vue} instance Vue instance.
5
- * @param {Function} callback callback of after-leave event
6
- * @param {Number} speed the speed of transition, default value is 300ms
7
- * @param {Boolean} once weather bind after-leave once. default value is false.
8
- */
9
- export default function(instance, callback, speed = 300, once = false) {
10
- if (!instance || !callback) throw new Error('instance & callback is required');
11
- let called = false;
12
- const afterLeaveCallback = function() {
13
- if (called) return;
14
- called = true;
15
- if (callback) {
16
- callback.apply(null, arguments);
17
- }
18
- };
19
- if (once) {
20
- instance.$once('after-leave', afterLeaveCallback);
21
- } else {
22
- instance.$on('after-leave', afterLeaveCallback);
23
- }
24
- setTimeout(() => {
25
- afterLeaveCallback();
26
- }, speed + 100);
27
- };
1
+ /**
2
+ * Bind after-leave event for vue instance. Make sure after-leave is called in any browsers.
3
+ *
4
+ * @param {Vue} instance Vue instance.
5
+ * @param {Function} callback callback of after-leave event
6
+ * @param {Number} speed the speed of transition, default value is 300ms
7
+ * @param {Boolean} once weather bind after-leave once. default value is false.
8
+ */
9
+ export default function(instance, callback, speed = 300, once = false) {
10
+ if (!instance || !callback) throw new Error('instance & callback is required');
11
+ let called = false;
12
+ const afterLeaveCallback = function() {
13
+ if (called) return;
14
+ called = true;
15
+ if (callback) {
16
+ callback.apply(null, arguments);
17
+ }
18
+ };
19
+ if (once) {
20
+ instance.$once('after-leave', afterLeaveCallback);
21
+ } else {
22
+ instance.$on('after-leave', afterLeaveCallback);
23
+ }
24
+ setTimeout(() => {
25
+ afterLeaveCallback();
26
+ }, speed + 100);
27
+ };
@@ -1,90 +1,90 @@
1
- import Utils from './aria-utils';
2
-
3
- /**
4
- * @constructor
5
- * @desc Dialog object providing modal focus management.
6
- *
7
- * Assumptions: The element serving as the dialog container is present in the
8
- * DOM and hidden. The dialog container has role='dialog'.
9
- *
10
- * @param dialogId
11
- * The ID of the element serving as the dialog container.
12
- * @param focusAfterClosed
13
- * Either the DOM node or the ID of the DOM node to focus when the
14
- * dialog closes.
15
- * @param focusFirst
16
- * Optional parameter containing either the DOM node or the ID of the
17
- * DOM node to focus when the dialog opens. If not specified, the
18
- * first focusable element in the dialog will receive focus.
19
- */
20
- var aria = aria || {};
21
- var tabEvent;
22
-
23
- aria.Dialog = function(dialog, focusAfterClosed, focusFirst) {
24
- this.dialogNode = dialog;
25
- if (this.dialogNode === null || this.dialogNode.getAttribute('role') !== 'dialog') {
26
- throw new Error('Dialog() requires a DOM element with ARIA role of dialog.');
27
- }
28
-
29
- if (typeof focusAfterClosed === 'string') {
30
- this.focusAfterClosed = document.getElementById(focusAfterClosed);
31
- } else if (typeof focusAfterClosed === 'object') {
32
- this.focusAfterClosed = focusAfterClosed;
33
- } else {
34
- this.focusAfterClosed = null;
35
- }
36
-
37
- if (typeof focusFirst === 'string') {
38
- this.focusFirst = document.getElementById(focusFirst);
39
- } else if (typeof focusFirst === 'object') {
40
- this.focusFirst = focusFirst;
41
- } else {
42
- this.focusFirst = null;
43
- }
44
-
45
- if (this.focusFirst) {
46
- this.focusFirst.focus();
47
- } else {
48
- Utils.focusFirstDescendant(this.dialogNode);
49
- }
50
-
51
- this.lastFocus = document.activeElement;
52
- tabEvent = (e) => {
53
- this.trapFocus(e);
54
- };
55
- this.addListeners();
56
- };
57
-
58
- aria.Dialog.prototype.addListeners = function() {
59
- document.addEventListener('focus', tabEvent, true);
60
- };
61
-
62
- aria.Dialog.prototype.removeListeners = function() {
63
- document.removeEventListener('focus', tabEvent, true);
64
- };
65
-
66
- aria.Dialog.prototype.closeDialog = function() {
67
- this.removeListeners();
68
- if (this.focusAfterClosed) {
69
- setTimeout(() => {
70
- this.focusAfterClosed.focus();
71
- });
72
- }
73
- };
74
-
75
- aria.Dialog.prototype.trapFocus = function(event) {
76
- if (Utils.IgnoreUtilFocusChanges) {
77
- return;
78
- }
79
- if (this.dialogNode.contains(event.target)) {
80
- this.lastFocus = event.target;
81
- } else {
82
- Utils.focusFirstDescendant(this.dialogNode);
83
- if (this.lastFocus === document.activeElement) {
84
- Utils.focusLastDescendant(this.dialogNode);
85
- }
86
- this.lastFocus = document.activeElement;
87
- }
88
- };
89
-
90
- export default aria.Dialog;
1
+ import Utils from './aria-utils';
2
+
3
+ /**
4
+ * @constructor
5
+ * @desc Dialog object providing modal focus management.
6
+ *
7
+ * Assumptions: The element serving as the dialog container is present in the
8
+ * DOM and hidden. The dialog container has role='dialog'.
9
+ *
10
+ * @param dialogId
11
+ * The ID of the element serving as the dialog container.
12
+ * @param focusAfterClosed
13
+ * Either the DOM node or the ID of the DOM node to focus when the
14
+ * dialog closes.
15
+ * @param focusFirst
16
+ * Optional parameter containing either the DOM node or the ID of the
17
+ * DOM node to focus when the dialog opens. If not specified, the
18
+ * first focusable element in the dialog will receive focus.
19
+ */
20
+ var aria = aria || {};
21
+ var tabEvent;
22
+
23
+ aria.Dialog = function(dialog, focusAfterClosed, focusFirst) {
24
+ this.dialogNode = dialog;
25
+ if (this.dialogNode === null || this.dialogNode.getAttribute('role') !== 'dialog') {
26
+ throw new Error('Dialog() requires a DOM element with ARIA role of dialog.');
27
+ }
28
+
29
+ if (typeof focusAfterClosed === 'string') {
30
+ this.focusAfterClosed = document.getElementById(focusAfterClosed);
31
+ } else if (typeof focusAfterClosed === 'object') {
32
+ this.focusAfterClosed = focusAfterClosed;
33
+ } else {
34
+ this.focusAfterClosed = null;
35
+ }
36
+
37
+ if (typeof focusFirst === 'string') {
38
+ this.focusFirst = document.getElementById(focusFirst);
39
+ } else if (typeof focusFirst === 'object') {
40
+ this.focusFirst = focusFirst;
41
+ } else {
42
+ this.focusFirst = null;
43
+ }
44
+
45
+ if (this.focusFirst) {
46
+ this.focusFirst.focus();
47
+ } else {
48
+ Utils.focusFirstDescendant(this.dialogNode);
49
+ }
50
+
51
+ this.lastFocus = document.activeElement;
52
+ tabEvent = (e) => {
53
+ this.trapFocus(e);
54
+ };
55
+ this.addListeners();
56
+ };
57
+
58
+ aria.Dialog.prototype.addListeners = function() {
59
+ document.addEventListener('focus', tabEvent, true);
60
+ };
61
+
62
+ aria.Dialog.prototype.removeListeners = function() {
63
+ document.removeEventListener('focus', tabEvent, true);
64
+ };
65
+
66
+ aria.Dialog.prototype.closeDialog = function() {
67
+ this.removeListeners();
68
+ if (this.focusAfterClosed) {
69
+ setTimeout(() => {
70
+ this.focusAfterClosed.focus();
71
+ });
72
+ }
73
+ };
74
+
75
+ aria.Dialog.prototype.trapFocus = function(event) {
76
+ if (Utils.IgnoreUtilFocusChanges) {
77
+ return;
78
+ }
79
+ if (this.dialogNode.contains(event.target)) {
80
+ this.lastFocus = event.target;
81
+ } else {
82
+ Utils.focusFirstDescendant(this.dialogNode);
83
+ if (this.lastFocus === document.activeElement) {
84
+ Utils.focusLastDescendant(this.dialogNode);
85
+ }
86
+ this.lastFocus = document.activeElement;
87
+ }
88
+ };
89
+
90
+ export default aria.Dialog;
@@ -1,122 +1,122 @@
1
- var aria = aria || {};
2
-
3
- aria.Utils = aria.Utils || {};
4
-
5
- /**
6
- * @desc Set focus on descendant nodes until the first focusable element is
7
- * found.
8
- * @param element
9
- * DOM node for which to find the first focusable descendant.
10
- * @returns
11
- * true if a focusable element is found and focus is set.
12
- */
13
- aria.Utils.focusFirstDescendant = function(element) {
14
- for (var i = 0; i < element.childNodes.length; i++) {
15
- var child = element.childNodes[i];
16
- if (aria.Utils.attemptFocus(child) || aria.Utils.focusFirstDescendant(child)) {
17
- return true;
18
- }
19
- }
20
- return false;
21
- };
22
-
23
- /**
24
- * @desc Find the last descendant node that is focusable.
25
- * @param element
26
- * DOM node for which to find the last focusable descendant.
27
- * @returns
28
- * true if a focusable element is found and focus is set.
29
- */
30
-
31
- aria.Utils.focusLastDescendant = function(element) {
32
- for (var i = element.childNodes.length - 1; i >= 0; i--) {
33
- var child = element.childNodes[i];
34
- if (aria.Utils.attemptFocus(child) || aria.Utils.focusLastDescendant(child)) {
35
- return true;
36
- }
37
- }
38
- return false;
39
- };
40
-
41
- /**
42
- * @desc Set Attempt to set focus on the current node.
43
- * @param element
44
- * The node to attempt to focus on.
45
- * @returns
46
- * true if element is focused.
47
- */
48
- aria.Utils.attemptFocus = function(element) {
49
- if (!aria.Utils.isFocusable(element)) {
50
- return false;
51
- }
52
- aria.Utils.IgnoreUtilFocusChanges = true;
53
- try {
54
- element.focus();
55
- } catch (e) {
56
- }
57
- aria.Utils.IgnoreUtilFocusChanges = false;
58
- return (document.activeElement === element);
59
- };
60
-
61
- aria.Utils.isFocusable = function(element) {
62
- if (element.tabIndex > 0 || (element.tabIndex === 0 && element.getAttribute('tabIndex') !== null)) {
63
- return true;
64
- }
65
-
66
- if (element.disabled) {
67
- return false;
68
- }
69
-
70
- switch (element.nodeName) {
71
- case 'A':
72
- return !!element.href && element.rel !== 'ignore';
73
- case 'INPUT':
74
- return element.type !== 'hidden' && element.type !== 'file';
75
- case 'BUTTON':
76
- case 'SELECT':
77
- case 'TEXTAREA':
78
- return true;
79
- default:
80
- return false;
81
- }
82
- };
83
-
84
- /**
85
- * 触发一个事件
86
- * mouseenter, mouseleave, mouseover, keyup, change, click 等
87
- * @param {Element} elm
88
- * @param {String} name
89
- * @param {*} opts
90
- */
91
- aria.Utils.triggerEvent = function(elm, name, ...opts) {
92
- let eventName;
93
-
94
- if (/^mouse|click/.test(name)) {
95
- eventName = 'MouseEvents';
96
- } else if (/^key/.test(name)) {
97
- eventName = 'KeyboardEvent';
98
- } else {
99
- eventName = 'HTMLEvents';
100
- }
101
- const evt = document.createEvent(eventName);
102
-
103
- evt.initEvent(name, ...opts);
104
- elm.dispatchEvent
105
- ? elm.dispatchEvent(evt)
106
- : elm.fireEvent('on' + name, evt);
107
-
108
- return elm;
109
- };
110
-
111
- aria.Utils.keys = {
112
- tab: 9,
113
- enter: 13,
114
- space: 32,
115
- left: 37,
116
- up: 38,
117
- right: 39,
118
- down: 40,
119
- esc: 27
120
- };
121
-
122
- export default aria.Utils;
1
+ var aria = aria || {};
2
+
3
+ aria.Utils = aria.Utils || {};
4
+
5
+ /**
6
+ * @desc Set focus on descendant nodes until the first focusable element is
7
+ * found.
8
+ * @param element
9
+ * DOM node for which to find the first focusable descendant.
10
+ * @returns
11
+ * true if a focusable element is found and focus is set.
12
+ */
13
+ aria.Utils.focusFirstDescendant = function(element) {
14
+ for (var i = 0; i < element.childNodes.length; i++) {
15
+ var child = element.childNodes[i];
16
+ if (aria.Utils.attemptFocus(child) || aria.Utils.focusFirstDescendant(child)) {
17
+ return true;
18
+ }
19
+ }
20
+ return false;
21
+ };
22
+
23
+ /**
24
+ * @desc Find the last descendant node that is focusable.
25
+ * @param element
26
+ * DOM node for which to find the last focusable descendant.
27
+ * @returns
28
+ * true if a focusable element is found and focus is set.
29
+ */
30
+
31
+ aria.Utils.focusLastDescendant = function(element) {
32
+ for (var i = element.childNodes.length - 1; i >= 0; i--) {
33
+ var child = element.childNodes[i];
34
+ if (aria.Utils.attemptFocus(child) || aria.Utils.focusLastDescendant(child)) {
35
+ return true;
36
+ }
37
+ }
38
+ return false;
39
+ };
40
+
41
+ /**
42
+ * @desc Set Attempt to set focus on the current node.
43
+ * @param element
44
+ * The node to attempt to focus on.
45
+ * @returns
46
+ * true if element is focused.
47
+ */
48
+ aria.Utils.attemptFocus = function(element) {
49
+ if (!aria.Utils.isFocusable(element)) {
50
+ return false;
51
+ }
52
+ aria.Utils.IgnoreUtilFocusChanges = true;
53
+ try {
54
+ element.focus();
55
+ } catch (e) {
56
+ }
57
+ aria.Utils.IgnoreUtilFocusChanges = false;
58
+ return (document.activeElement === element);
59
+ };
60
+
61
+ aria.Utils.isFocusable = function(element) {
62
+ if (element.tabIndex > 0 || (element.tabIndex === 0 && element.getAttribute('tabIndex') !== null)) {
63
+ return true;
64
+ }
65
+
66
+ if (element.disabled) {
67
+ return false;
68
+ }
69
+
70
+ switch (element.nodeName) {
71
+ case 'A':
72
+ return !!element.href && element.rel !== 'ignore';
73
+ case 'INPUT':
74
+ return element.type !== 'hidden' && element.type !== 'file';
75
+ case 'BUTTON':
76
+ case 'SELECT':
77
+ case 'TEXTAREA':
78
+ return true;
79
+ default:
80
+ return false;
81
+ }
82
+ };
83
+
84
+ /**
85
+ * 触发一个事件
86
+ * mouseenter, mouseleave, mouseover, keyup, change, click 等
87
+ * @param {Element} elm
88
+ * @param {String} name
89
+ * @param {*} opts
90
+ */
91
+ aria.Utils.triggerEvent = function(elm, name, ...opts) {
92
+ let eventName;
93
+
94
+ if (/^mouse|click/.test(name)) {
95
+ eventName = 'MouseEvents';
96
+ } else if (/^key/.test(name)) {
97
+ eventName = 'KeyboardEvent';
98
+ } else {
99
+ eventName = 'HTMLEvents';
100
+ }
101
+ const evt = document.createEvent(eventName);
102
+
103
+ evt.initEvent(name, ...opts);
104
+ elm.dispatchEvent
105
+ ? elm.dispatchEvent(evt)
106
+ : elm.fireEvent('on' + name, evt);
107
+
108
+ return elm;
109
+ };
110
+
111
+ aria.Utils.keys = {
112
+ tab: 9,
113
+ enter: 13,
114
+ space: 32,
115
+ left: 37,
116
+ up: 38,
117
+ right: 39,
118
+ down: 40,
119
+ esc: 27
120
+ };
121
+
122
+ export default aria.Utils;