@king-design/react 2.1.4 → 2.1.6

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 (521) hide show
  1. package/components/affix/index.d.ts +2 -2
  2. package/components/affix/index.js +5 -0
  3. package/components/affix/index.spec.js +108 -84
  4. package/components/affix/index.vdt.js +8 -5
  5. package/components/affix/useStyle.js +19 -8
  6. package/components/badge/index.js +2 -0
  7. package/components/badge/index.vdt.js +9 -5
  8. package/components/badge/styles.js +2 -0
  9. package/components/breadcrumb/index.js +4 -0
  10. package/components/breadcrumb/index.spec.js +6 -6
  11. package/components/breadcrumb/index.vdt.js +14 -5
  12. package/components/breadcrumb/item.js +8 -0
  13. package/components/breadcrumb/item.vdt.js +6 -3
  14. package/components/breadcrumb/styles.js +3 -0
  15. package/components/button/dynamicButton.d.ts +1 -1
  16. package/components/button/dynamicButton.js +5 -2
  17. package/components/button/group.js +10 -2
  18. package/components/button/group.vdt.js +7 -4
  19. package/components/button/index.js +27 -3
  20. package/components/button/index.spec.js +96 -74
  21. package/components/button/index.vdt.js +29 -19
  22. package/components/button/styles.d.ts +2 -2
  23. package/components/button/styles.js +48 -4
  24. package/components/card/column.js +2 -0
  25. package/components/card/column.vdt.js +10 -5
  26. package/components/card/index.js +4 -0
  27. package/components/card/index.vdt.js +16 -4
  28. package/components/carousel/index.js +19 -1
  29. package/components/carousel/index.spec.js +163 -127
  30. package/components/carousel/index.vdt.js +15 -12
  31. package/components/carousel/item.js +2 -0
  32. package/components/carousel/item.vdt.js +7 -4
  33. package/components/carousel/styles.js +1 -0
  34. package/components/carousel/useAutoplay.js +4 -0
  35. package/components/carousel/useItems.js +20 -4
  36. package/components/carousel/useSlide.js +89 -57
  37. package/components/cascader/index.d.ts +45 -0
  38. package/components/cascader/index.js +18 -3
  39. package/components/cascader/index.spec.js +445 -354
  40. package/components/cascader/index.vdt.js +31 -14
  41. package/components/cascader/styles.js +6 -0
  42. package/components/cascader/useFields.js +4 -1
  43. package/components/cascader/useFilterable.js +19 -2
  44. package/components/cascader/useLabel.js +9 -1
  45. package/components/cascader/useLoad.js +35 -22
  46. package/components/cascader/useValue.d.ts +2 -2
  47. package/components/cascader/useValue.js +26 -5
  48. package/components/checkbox/index.js +27 -5
  49. package/components/checkbox/index.spec.js +171 -129
  50. package/components/checkbox/index.vdt.js +16 -12
  51. package/components/checkbox/styles.js +10 -0
  52. package/components/code/crossDomain.js +9 -2
  53. package/components/code/index.js +9 -0
  54. package/components/code/index.spec.js +55 -46
  55. package/components/code/index.vdt.js +14 -6
  56. package/components/code/styles.js +1 -0
  57. package/components/code/useEditor.js +10 -5
  58. package/components/collapse/index.d.ts +1 -1
  59. package/components/collapse/index.js +14 -3
  60. package/components/collapse/index.spec.js +60 -47
  61. package/components/collapse/index.vdt.js +12 -4
  62. package/components/collapse/item.js +10 -0
  63. package/components/collapse/item.vdt.js +14 -7
  64. package/components/collapse/styles.js +1 -0
  65. package/components/colorpicker/drag.js +5 -0
  66. package/components/colorpicker/index.js +4 -0
  67. package/components/colorpicker/index.spec.js +259 -211
  68. package/components/colorpicker/index.vdt.js +11 -8
  69. package/components/colorpicker/panel.js +5 -0
  70. package/components/colorpicker/panel.vdt.js +26 -21
  71. package/components/colorpicker/styles.js +13 -2
  72. package/components/colorpicker/useDrag.js +26 -22
  73. package/components/colorpicker/useInput.js +16 -0
  74. package/components/colorpicker/usePointer.js +18 -15
  75. package/components/colorpicker/useValue.js +7 -2
  76. package/components/context.d.ts +2 -2
  77. package/components/context.js +19 -2
  78. package/components/datepicker/basepicker.d.ts +8 -8
  79. package/components/datepicker/basepicker.js +90 -20
  80. package/components/datepicker/calendar.js +11 -0
  81. package/components/datepicker/calendar.vdt.js +14 -11
  82. package/components/datepicker/constants.js +1 -0
  83. package/components/datepicker/dayjs.js +1 -1
  84. package/components/datepicker/helpers.js +15 -3
  85. package/components/datepicker/index.d.ts +63 -0
  86. package/components/datepicker/index.js +32 -6
  87. package/components/datepicker/index.spec.js +1448 -1141
  88. package/components/datepicker/index.vdt.js +34 -20
  89. package/components/datepicker/shortcuts.d.ts +1 -1
  90. package/components/datepicker/shortcuts.js +4 -0
  91. package/components/datepicker/styles.js +8 -0
  92. package/components/datepicker/time.d.ts +1 -1
  93. package/components/datepicker/time.js +23 -3
  94. package/components/datepicker/time.vdt.js +5 -4
  95. package/components/datepicker/useDays.js +9 -2
  96. package/components/datepicker/useDisabled.js +23 -6
  97. package/components/datepicker/useFocusDate.js +2 -0
  98. package/components/datepicker/useFormats.js +15 -6
  99. package/components/datepicker/useKeyboards.js +36 -20
  100. package/components/datepicker/useMonths.js +6 -0
  101. package/components/datepicker/usePanel.js +10 -0
  102. package/components/datepicker/useShowDate.js +37 -10
  103. package/components/datepicker/useStatus.js +15 -3
  104. package/components/datepicker/useValue.js +35 -22
  105. package/components/datepicker/useYears.js +15 -4
  106. package/components/diagram/diagram.js +43 -17
  107. package/components/diagram/diagram.vdt.js +5 -2
  108. package/components/diagram/graph.js +6 -6
  109. package/components/diagram/index.d.ts +1 -1
  110. package/components/diagram/index.js +7 -7
  111. package/components/diagram/index.spec.js +495 -369
  112. package/components/diagram/layouts/circle.js +14 -6
  113. package/components/diagram/layouts/flow.js +15 -7
  114. package/components/diagram/layouts/layout.js +28 -6
  115. package/components/diagram/layouts/organic.js +11 -3
  116. package/components/diagram/layouts/partition.js +12 -4
  117. package/components/diagram/layouts/radial.js +18 -6
  118. package/components/diagram/layouts/stack.js +14 -6
  119. package/components/diagram/layouts/tree.js +21 -11
  120. package/components/diagram/mxgraph/handler/mxConnectionHandler.js +22 -15
  121. package/components/diagram/mxgraph/handler/mxConstraintHandler.js +4 -4
  122. package/components/diagram/mxgraph/handler/mxEdgeHandler.js +15 -11
  123. package/components/diagram/mxgraph/handler/mxGraphHandler.js +9 -6
  124. package/components/diagram/mxgraph/handler/mxRubberband.js +4 -4
  125. package/components/diagram/mxgraph/handler/mxVertexHandler.js +10 -7
  126. package/components/diagram/mxgraph/index.js +2 -0
  127. package/components/diagram/mxgraph/mx.js +3 -3
  128. package/components/diagram/mxgraph/shape/mxCloud.js +2 -2
  129. package/components/diagram/mxgraph/shape/mxCylinder.js +9 -4
  130. package/components/diagram/mxgraph/shape/mxEllipse.js +2 -2
  131. package/components/diagram/mxgraph/shape/mxHexagon.js +2 -2
  132. package/components/diagram/mxgraph/shape/mxLine.js +2 -2
  133. package/components/diagram/mxgraph/shape/mxRectangleShape.js +2 -2
  134. package/components/diagram/mxgraph/shape/mxRhombus.js +12 -6
  135. package/components/diagram/mxgraph/shape/mxShape.js +1 -0
  136. package/components/diagram/mxgraph/shape/mxTriangle.js +2 -2
  137. package/components/diagram/mxgraph/util/mxConstants.js +2 -2
  138. package/components/diagram/mxgraph/util/mxGuide.js +7 -5
  139. package/components/diagram/mxgraph/view/mxCellEditor.js +29 -16
  140. package/components/diagram/mxgraph/view/mxCellRenderer.js +2 -0
  141. package/components/diagram/mxgraph/view/mxGraph.js +32 -14
  142. package/components/diagram/shapes/base.d.ts +1 -1
  143. package/components/diagram/shapes/base.js +39 -9
  144. package/components/diagram/shapes/callout.js +23 -10
  145. package/components/diagram/shapes/circle.js +10 -3
  146. package/components/diagram/shapes/document.js +16 -5
  147. package/components/diagram/shapes/ellipse.js +5 -0
  148. package/components/diagram/shapes/generateShapes.d.ts +1 -1
  149. package/components/diagram/shapes/generateShapes.js +9 -0
  150. package/components/diagram/shapes/hexagon.js +26 -9
  151. package/components/diagram/shapes/image.js +9 -1
  152. package/components/diagram/shapes/line.d.ts +2 -2
  153. package/components/diagram/shapes/line.js +48 -13
  154. package/components/diagram/shapes/parallelogram.js +26 -9
  155. package/components/diagram/shapes/rectangle.js +9 -1
  156. package/components/diagram/shapes/shape.js +35 -6
  157. package/components/diagram/shapes/square.js +11 -3
  158. package/components/diagram/shapes/text.js +5 -0
  159. package/components/diagram/styles.js +1 -0
  160. package/components/dialog/alert.vdt.js +19 -9
  161. package/components/dialog/base.js +29 -1
  162. package/components/dialog/base.vdt.js +29 -14
  163. package/components/dialog/index.js +31 -6
  164. package/components/dialog/index.spec.js +554 -406
  165. package/components/dialog/staticMethods.d.ts +1 -1
  166. package/components/dialog/staticMethods.js +13 -2
  167. package/components/dialog/styles.js +11 -0
  168. package/components/dialog/useDraggable.js +6 -0
  169. package/components/dialog/useEscClosable.js +12 -4
  170. package/components/dialog/useFixBody.d.ts +1 -1
  171. package/components/dialog/useFixBody.js +11 -0
  172. package/components/dialog/usePosition.js +5 -0
  173. package/components/drawer/index.js +5 -0
  174. package/components/drawer/index.spec.js +168 -126
  175. package/components/drawer/index.vdt.js +9 -3
  176. package/components/drawer/styles.d.ts +2 -2
  177. package/components/drawer/styles.js +4 -0
  178. package/components/dropdown/dropdown.d.ts +2 -2
  179. package/components/dropdown/dropdown.js +89 -33
  180. package/components/dropdown/index.js +6 -2
  181. package/components/dropdown/index.spec.js +496 -388
  182. package/components/dropdown/item.js +25 -4
  183. package/components/dropdown/item.vdt.js +8 -5
  184. package/components/dropdown/menu.js +29 -12
  185. package/components/dropdown/menu.vdt.js +13 -5
  186. package/components/dropdown/styles.js +9 -0
  187. package/components/dropdown/useKeyboard.d.ts +2 -2
  188. package/components/dropdown/useKeyboard.js +30 -8
  189. package/components/dropdown/usePosition.d.ts +1 -1
  190. package/components/dropdown/usePosition.js +22 -12
  191. package/components/dropdown/useTransition.js +8 -0
  192. package/components/editable/index.d.ts +1 -1
  193. package/components/editable/index.js +28 -4
  194. package/components/editable/index.spec.js +189 -152
  195. package/components/editable/index.vdt.js +11 -8
  196. package/components/editable/styles.js +1 -0
  197. package/components/form/form.js +18 -0
  198. package/components/form/form.vdt.js +7 -4
  199. package/components/form/index.spec.js +1280 -1057
  200. package/components/form/item.d.ts +1 -1
  201. package/components/form/item.js +12 -0
  202. package/components/form/item.vdt.js +31 -17
  203. package/components/form/methods.d.ts +5 -5
  204. package/components/form/methods.js +12 -2
  205. package/components/form/styles.js +8 -0
  206. package/components/form/useDirty.js +7 -2
  207. package/components/form/useError.js +10 -2
  208. package/components/form/useValidate.d.ts +1 -1
  209. package/components/form/useValidate.js +24 -8
  210. package/components/grid/col.d.ts +3 -3
  211. package/components/grid/col.js +7 -0
  212. package/components/grid/col.vdt.js +13 -8
  213. package/components/grid/constants.d.ts +6 -6
  214. package/components/grid/row.js +5 -0
  215. package/components/grid/row.vdt.js +8 -5
  216. package/components/grid/styles.js +7 -0
  217. package/components/grid/useBreakpoints.js +5 -0
  218. package/components/grid/useGutter.js +25 -5
  219. package/components/icon/index.js +10 -0
  220. package/components/icon/index.vdt.js +13 -7
  221. package/components/icon/styles.js +1 -0
  222. package/components/input/index.d.ts +3 -3
  223. package/components/input/index.js +14 -0
  224. package/components/input/index.spec.js +239 -185
  225. package/components/input/index.vdt.js +49 -39
  226. package/components/input/search.js +20 -0
  227. package/components/input/search.vdt.js +9 -6
  228. package/components/input/styles.js +26 -0
  229. package/components/input/useAutoRows.js +18 -6
  230. package/components/input/useAutoWidth.js +5 -0
  231. package/components/input/useFrozen.js +6 -0
  232. package/components/input/useShowPassword.js +5 -2
  233. package/components/layout/aside.js +17 -5
  234. package/components/layout/aside.vdt.js +9 -5
  235. package/components/layout/body.js +17 -5
  236. package/components/layout/footer.js +7 -1
  237. package/components/layout/header.js +21 -7
  238. package/components/layout/layout.js +24 -9
  239. package/components/layout/styles.js +13 -2
  240. package/components/layout/template.vdt.js +4 -2
  241. package/components/layout/useParse.js +7 -0
  242. package/components/menu/index.spec.js +242 -189
  243. package/components/menu/item.js +16 -3
  244. package/components/menu/item.vdt.js +32 -20
  245. package/components/menu/menu.js +11 -2
  246. package/components/menu/menu.vdt.js +12 -6
  247. package/components/menu/styles.js +18 -0
  248. package/components/menu/useDropdown.js +9 -4
  249. package/components/menu/useExpanded.js +14 -0
  250. package/components/menu/useHighlight.js +36 -26
  251. package/components/message/index.spec.js +73 -58
  252. package/components/message/message.js +19 -0
  253. package/components/message/message.vdt.js +8 -5
  254. package/components/message/messages.js +12 -0
  255. package/components/message/messages.vdt.js +1 -0
  256. package/components/message/styles.js +9 -0
  257. package/components/pagination/index.d.ts +1 -1
  258. package/components/pagination/index.js +46 -10
  259. package/components/pagination/index.spec.js +173 -133
  260. package/components/pagination/index.vdt.js +34 -14
  261. package/components/pagination/styles.js +4 -0
  262. package/components/portal.d.ts +1 -1
  263. package/components/portal.js +29 -2
  264. package/components/position.d.ts +12 -12
  265. package/components/position.js +88 -32
  266. package/components/progress/index.d.ts +6 -6
  267. package/components/progress/index.js +12 -0
  268. package/components/progress/index.spec.js +191 -143
  269. package/components/progress/index.vdt.js +11 -8
  270. package/components/progress/styles.js +6 -0
  271. package/components/progress/useColor.js +7 -2
  272. package/components/progress/useStatus.d.ts +1 -1
  273. package/components/progress/useStatus.js +5 -2
  274. package/components/radio/index.js +18 -3
  275. package/components/radio/index.spec.js +149 -111
  276. package/components/radio/index.vdt.js +17 -14
  277. package/components/radio/styles.js +10 -0
  278. package/components/rate/index.js +7 -0
  279. package/components/rate/index.spec.js +79 -64
  280. package/components/rate/index.vdt.js +21 -8
  281. package/components/rate/styles.js +3 -0
  282. package/components/rate/useActiveValue.js +7 -2
  283. package/components/scrollSelect/index.d.ts +2 -2
  284. package/components/scrollSelect/index.js +7 -0
  285. package/components/scrollSelect/index.spec.js +131 -100
  286. package/components/scrollSelect/index.vdt.js +11 -6
  287. package/components/scrollSelect/styles.js +7 -0
  288. package/components/scrollSelect/useList.js +17 -3
  289. package/components/scrollSelect/useMouseEvents.js +49 -31
  290. package/components/scrollSelect/useTranslate.js +11 -1
  291. package/components/select/base.js +35 -5
  292. package/components/select/base.vdt.js +38 -23
  293. package/components/select/group.js +5 -0
  294. package/components/select/group.vdt.js +10 -4
  295. package/components/select/index.spec.js +452 -361
  296. package/components/select/menu.js +5 -0
  297. package/components/select/menu.vdt.js +33 -18
  298. package/components/select/option.js +16 -2
  299. package/components/select/option.vdt.js +14 -7
  300. package/components/select/select.d.ts +33 -0
  301. package/components/select/select.js +20 -3
  302. package/components/select/select.vdt.js +17 -9
  303. package/components/select/styles.js +33 -0
  304. package/components/select/useBaseLabel.d.ts +1 -1
  305. package/components/select/useBaseLabel.js +17 -4
  306. package/components/select/useCard.js +4 -0
  307. package/components/select/useEqualWidth.js +1 -0
  308. package/components/select/useFilterable.js +27 -5
  309. package/components/select/useFocusout.js +8 -0
  310. package/components/select/useInput.js +10 -6
  311. package/components/select/useLabel.js +13 -3
  312. package/components/select/useSearchable.js +10 -0
  313. package/components/skeleton/item.d.ts +1 -1
  314. package/components/skeleton/item.js +4 -0
  315. package/components/skeleton/item.vdt.js +6 -1
  316. package/components/skeleton/skeleton.js +4 -0
  317. package/components/skeleton/skeleton.vdt.js +12 -6
  318. package/components/skeleton/style.d.ts +1 -1
  319. package/components/skeleton/style.js +1 -0
  320. package/components/slider/index.d.ts +1 -1
  321. package/components/slider/index.js +7 -0
  322. package/components/slider/index.spec.js +585 -467
  323. package/components/slider/index.vdt.js +45 -32
  324. package/components/slider/styles.js +14 -0
  325. package/components/slider/useClick.js +11 -2
  326. package/components/slider/useDraggable.js +34 -23
  327. package/components/slider/useKeyboard.js +18 -7
  328. package/components/slider/useMarks.d.ts +5 -5
  329. package/components/slider/useMarks.js +13 -5
  330. package/components/slider/usePoints.d.ts +2 -2
  331. package/components/slider/usePoints.js +21 -7
  332. package/components/slider/useStyles.d.ts +1 -1
  333. package/components/slider/useStyles.js +10 -5
  334. package/components/slider/useTooltip.js +10 -2
  335. package/components/slider/useValue.d.ts +1 -1
  336. package/components/slider/useValue.js +22 -7
  337. package/components/spin/index.js +4 -0
  338. package/components/spin/index.vdt.js +11 -4
  339. package/components/spin/styles.js +2 -0
  340. package/components/spinner/index.d.ts +4 -4
  341. package/components/spinner/index.js +24 -9
  342. package/components/spinner/index.spec.js +460 -359
  343. package/components/spinner/index.vdt.js +13 -10
  344. package/components/spinner/styles.js +3 -0
  345. package/components/spinner/useChange.js +16 -4
  346. package/components/spinner/useFormatter.js +16 -6
  347. package/components/spinner/useStep.d.ts +3 -3
  348. package/components/spinner/useStep.js +20 -2
  349. package/components/spinner/useValue.js +26 -11
  350. package/components/split/index.js +7 -0
  351. package/components/split/index.spec.js +267 -223
  352. package/components/split/index.vdt.js +17 -8
  353. package/components/split/style.d.ts +1 -1
  354. package/components/split/style.js +8 -0
  355. package/components/split/useDraggable.js +35 -11
  356. package/components/split/useSize.js +5 -2
  357. package/components/steps/context.d.ts +2 -2
  358. package/components/steps/index.js +10 -2
  359. package/components/steps/index.spec.js +27 -21
  360. package/components/steps/index.vdt.js +10 -8
  361. package/components/steps/step.js +2 -0
  362. package/components/steps/step.vdt.js +12 -8
  363. package/components/steps/styles.js +27 -0
  364. package/components/switch/index.js +23 -2
  365. package/components/switch/index.spec.js +224 -188
  366. package/components/switch/index.vdt.js +32 -16
  367. package/components/switch/styles.js +14 -3
  368. package/components/switch/useDraggable.js +18 -10
  369. package/components/table/cell.js +6 -0
  370. package/components/table/cell.vdt.js +21 -14
  371. package/components/table/column.d.ts +1 -1
  372. package/components/table/column.js +5 -0
  373. package/components/table/column.vdt.js +30 -19
  374. package/components/table/exportTable.js +56 -45
  375. package/components/table/index.spec.js +984 -780
  376. package/components/table/row.d.ts +1 -1
  377. package/components/table/row.js +41 -12
  378. package/components/table/row.vdt.js +39 -27
  379. package/components/table/styles.js +11 -0
  380. package/components/table/table.d.ts +5 -5
  381. package/components/table/table.js +50 -18
  382. package/components/table/table.vdt.js +85 -61
  383. package/components/table/useChecked.d.ts +1 -1
  384. package/components/table/useChecked.js +61 -20
  385. package/components/table/useColumns.js +16 -3
  386. package/components/table/useDisableRow.js +12 -2
  387. package/components/table/useDraggable.js +12 -4
  388. package/components/table/useExpandable.js +5 -2
  389. package/components/table/useFixedColumns.d.ts +1 -1
  390. package/components/table/useFixedColumns.js +23 -4
  391. package/components/table/useGroup.d.ts +1 -1
  392. package/components/table/useGroup.js +24 -7
  393. package/components/table/useMerge.d.ts +4 -4
  394. package/components/table/useMerge.js +14 -2
  395. package/components/table/usePagination.js +18 -4
  396. package/components/table/useResizable.js +10 -2
  397. package/components/table/useRestRowStatus.js +6 -2
  398. package/components/table/useScroll.d.ts +1 -1
  399. package/components/table/useScroll.js +3 -0
  400. package/components/table/useSelected.js +5 -2
  401. package/components/table/useSortable.js +8 -2
  402. package/components/table/useStickyHeader.js +7 -3
  403. package/components/table/useStickyScrollbar.js +16 -6
  404. package/components/table/useTree.js +12 -1
  405. package/components/table/useWidth.js +30 -14
  406. package/components/tabs/index.js +51 -29
  407. package/components/tabs/index.spec.js +74 -56
  408. package/components/tabs/index.vdt.js +16 -13
  409. package/components/tabs/styles.js +16 -0
  410. package/components/tabs/tab.js +10 -0
  411. package/components/tabs/tab.vdt.js +10 -6
  412. package/components/tabs/useActiveBar.js +11 -2
  413. package/components/tabs/useScroll.js +20 -4
  414. package/components/tag/base.js +8 -0
  415. package/components/tag/index.js +4 -2
  416. package/components/tag/index.spec.js +25 -19
  417. package/components/tag/index.vdt.js +15 -8
  418. package/components/tag/styles.js +9 -0
  419. package/components/timeline/item.js +4 -0
  420. package/components/timeline/item.vdt.js +9 -4
  421. package/components/timeline/styles.d.ts +2 -2
  422. package/components/timeline/styles.js +4 -0
  423. package/components/timeline/timeline.js +2 -0
  424. package/components/timeline/timeline.vdt.js +5 -2
  425. package/components/timepicker/index.js +7 -2
  426. package/components/timepicker/index.spec.js +368 -293
  427. package/components/timepicker/panelPicker.d.ts +54 -0
  428. package/components/timepicker/panelPicker.js +11 -2
  429. package/components/timepicker/panelPicker.vdt.js +24 -14
  430. package/components/timepicker/selectPicker.js +5 -0
  431. package/components/timepicker/selectPicker.vdt.js +10 -5
  432. package/components/timepicker/styles.js +1 -0
  433. package/components/timepicker/useDisabled.js +4 -2
  434. package/components/timepicker/useFormats.js +13 -4
  435. package/components/timepicker/useStep.d.ts +1 -1
  436. package/components/timepicker/useStep.js +17 -8
  437. package/components/timepicker/useValue.js +21 -16
  438. package/components/tip/index.js +2 -0
  439. package/components/tip/index.vdt.js +17 -5
  440. package/components/tip/styles.js +3 -0
  441. package/components/tooltip/content.js +28 -0
  442. package/components/tooltip/content.vdt.js +25 -15
  443. package/components/tooltip/index.js +7 -3
  444. package/components/tooltip/index.spec.js +572 -434
  445. package/components/tooltip/styles.d.ts +1 -1
  446. package/components/tooltip/styles.js +10 -2
  447. package/components/tooltip/tooltip.js +15 -2
  448. package/components/tooltip/useArrow.js +14 -11
  449. package/components/transfer/index.d.ts +1 -1
  450. package/components/transfer/index.js +13 -1
  451. package/components/transfer/index.spec.js +194 -159
  452. package/components/transfer/index.vdt.js +34 -16
  453. package/components/transfer/styles.js +10 -0
  454. package/components/transfer/useCheck.d.ts +1 -1
  455. package/components/transfer/useCheck.js +15 -1
  456. package/components/transfer/useFilter.d.ts +1 -1
  457. package/components/transfer/useFilter.js +30 -9
  458. package/components/transfer/useTransfer.js +26 -10
  459. package/components/tree/index.d.ts +3 -3
  460. package/components/tree/index.js +22 -4
  461. package/components/tree/index.spec.js +355 -285
  462. package/components/tree/index.vdt.js +23 -12
  463. package/components/tree/styles.js +16 -2
  464. package/components/tree/useChecked.js +26 -3
  465. package/components/tree/useDraggable.js +42 -12
  466. package/components/tree/useExpanded.js +43 -26
  467. package/components/tree/useFilter.js +10 -3
  468. package/components/tree/useNodes.d.ts +1 -1
  469. package/components/tree/useNodes.js +4 -0
  470. package/components/tree/useSelected.js +38 -21
  471. package/components/tree/useTransitionEvent.js +5 -3
  472. package/components/treeSelect/index.d.ts +27 -0
  473. package/components/treeSelect/index.js +36 -9
  474. package/components/treeSelect/index.spec.js +160 -123
  475. package/components/treeSelect/index.vdt.js +20 -14
  476. package/components/treeSelect/styles.js +1 -0
  477. package/components/treeSelect/useValue.js +11 -0
  478. package/components/types.d.ts +3 -3
  479. package/components/upload/ajaxUploader.d.ts +1 -1
  480. package/components/upload/ajaxUploader.js +17 -0
  481. package/components/upload/index.d.ts +4 -4
  482. package/components/upload/index.js +14 -0
  483. package/components/upload/index.spec.js +249 -142
  484. package/components/upload/index.vdt.js +27 -12
  485. package/components/upload/styles.js +30 -0
  486. package/components/upload/useAccept.js +10 -2
  487. package/components/upload/useDrag.js +7 -0
  488. package/components/upload/useFiles.js +145 -103
  489. package/components/upload/useShowImage.js +3 -0
  490. package/components/upload/useUpload.js +69 -47
  491. package/components/utils.d.ts +3 -3
  492. package/components/utils.js +47 -12
  493. package/components/virtual.js +37 -9
  494. package/components/wave/index.js +31 -5
  495. package/hooks/useDelayClose.js +6 -2
  496. package/hooks/useDocumentClick.js +16 -8
  497. package/hooks/useDraggable.d.ts +1 -1
  498. package/hooks/useDraggable.js +9 -0
  499. package/hooks/useKeyboard.d.ts +3 -3
  500. package/hooks/useKeyboard.js +10 -0
  501. package/hooks/useMouseOutsidable.js +8 -0
  502. package/hooks/useReceive.d.ts +1 -1
  503. package/hooks/useReceive.js +4 -0
  504. package/hooks/useRecordComponent.js +6 -0
  505. package/hooks/useRouter.js +18 -7
  506. package/hooks/useShowHideEvents.js +3 -0
  507. package/hooks/useState.d.ts +2 -2
  508. package/hooks/useState.js +6 -2
  509. package/i18n/en-US.js +1 -0
  510. package/i18n/index.d.ts +1 -1
  511. package/i18n/index.js +7 -0
  512. package/index.d.ts +2 -2
  513. package/index.js +3 -2
  514. package/package.json +2 -2
  515. package/styles/global.js +3 -2
  516. package/styles/keyframes.js +1 -0
  517. package/styles/theme.d.ts +1 -1
  518. package/styles/theme.js +7 -4
  519. package/styles/utils.d.ts +1 -1
  520. package/styles/utils.js +17 -3
  521. package/yarn-error.log +218 -199
@@ -13,8 +13,7 @@ describe('Dropdown', function () {
13
13
  afterEach(function (done) {
14
14
  unmount();
15
15
  setTimeout(done, 500);
16
- });
17
- // it('demos test', () => {
16
+ }); // it('demos test', () => {
18
17
  // const req = require.context('~/components/dropdown/demos', true, /^((?!async).)*index\.js$/i);
19
18
  // req.keys().forEach(item => {
20
19
  // if (item.includes('contextmenu')) return;
@@ -29,326 +28,399 @@ describe('Dropdown', function () {
29
28
  // unmount(i);
30
29
  // });
31
30
  // });
31
+
32
32
  it('should save original events', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
33
33
  var _click, Demo, _mount, instance, element;
34
+
34
35
  return _regeneratorRuntime.wrap(function _callee$(_context2) {
35
- while (1) switch (_context2.prev = _context2.next) {
36
- case 0:
37
- _click = sinon.spy();
38
- Demo = /*#__PURE__*/function (_Component) {
39
- _inheritsLoose(Demo, _Component);
40
- function Demo() {
41
- var _context;
42
- var _this;
43
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
44
- args[_key] = arguments[_key];
36
+ while (1) {
37
+ switch (_context2.prev = _context2.next) {
38
+ case 0:
39
+ _click = sinon.spy();
40
+
41
+ Demo = /*#__PURE__*/function (_Component) {
42
+ _inheritsLoose(Demo, _Component);
43
+
44
+ function Demo() {
45
+ var _context;
46
+
47
+ var _this;
48
+
49
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
50
+ args[_key] = arguments[_key];
51
+ }
52
+
53
+ _this = _Component.call.apply(_Component, _concatInstanceProperty(_context = [this]).call(_context, args)) || this;
54
+ _this.Dropdown = Dropdown;
55
+ _this.DropdownItem = DropdownItem;
56
+ _this.DropdownMenu = DropdownMenu;
57
+ return _this;
45
58
  }
46
- _this = _Component.call.apply(_Component, _concatInstanceProperty(_context = [this]).call(_context, args)) || this;
47
- _this.Dropdown = Dropdown;
48
- _this.DropdownItem = DropdownItem;
49
- _this.DropdownMenu = DropdownMenu;
50
- return _this;
51
- }
52
- var _proto = Demo.prototype;
53
- _proto.click = function click() {
54
- _click();
55
- };
56
- return Demo;
57
- }(Component);
58
- Demo.template = "\n const {Dropdown, DropdownItem, DropdownMenu} = this;\n <div>\n <Dropdown>\n <div ref=\"test\" ev-click={this.click}>click</div>\n <DropdownMenu>\n <DropdownItem>test</DropdownItem>\n </DropdownMenu>\n </Dropdown>\n </div>\n ";
59
- _mount = mount(Demo), instance = _mount[0], element = _mount[1];
60
- instance.refs.test.click();
61
- expect(_click.callCount).to.eql(1);
62
- _context2.next = 8;
63
- return wait();
64
- case 8:
65
- expect(getElement('.k-dropdown-menu').innerHTML).to.matchSnapshot();
66
- case 9:
67
- case "end":
68
- return _context2.stop();
59
+
60
+ var _proto = Demo.prototype;
61
+
62
+ _proto.click = function click() {
63
+ _click();
64
+ };
65
+
66
+ return Demo;
67
+ }(Component);
68
+
69
+ Demo.template = "\n const {Dropdown, DropdownItem, DropdownMenu} = this;\n <div>\n <Dropdown>\n <div ref=\"test\" ev-click={this.click}>click</div>\n <DropdownMenu>\n <DropdownItem>test</DropdownItem>\n </DropdownMenu>\n </Dropdown>\n </div>\n ";
70
+ _mount = mount(Demo), instance = _mount[0], element = _mount[1];
71
+ instance.refs.test.click();
72
+ expect(_click.callCount).to.eql(1);
73
+ _context2.next = 8;
74
+ return wait();
75
+
76
+ case 8:
77
+ expect(getElement('.k-dropdown-menu').innerHTML).to.matchSnapshot();
78
+
79
+ case 9:
80
+ case "end":
81
+ return _context2.stop();
82
+ }
69
83
  }
70
84
  }, _callee);
71
85
  })));
72
86
  it('should move mouse to dropdown menu', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
73
87
  var _mount2, instance, element, dropdown;
88
+
74
89
  return _regeneratorRuntime.wrap(function _callee2$(_context3) {
75
- while (1) switch (_context3.prev = _context3.next) {
76
- case 0:
77
- _mount2 = mount(BasicDemo), instance = _mount2[0], element = _mount2[1];
78
- dispatchEvent(element.firstElementChild, 'mouseenter');
79
- _context3.next = 4;
80
- return wait();
81
- case 4:
82
- dropdown = getElement('.k-dropdown-menu');
83
- expect(dropdown.innerHTML).to.matchSnapshot();
84
- dispatchEvent(element.firstElementChild, 'mouseleave');
85
- dispatchEvent(dropdown, 'mouseenter');
86
- _context3.next = 10;
87
- return wait(500);
88
- case 10:
89
- expect(dropdown.parentNode).to.exist;
90
- case 11:
91
- case "end":
92
- return _context3.stop();
90
+ while (1) {
91
+ switch (_context3.prev = _context3.next) {
92
+ case 0:
93
+ _mount2 = mount(BasicDemo), instance = _mount2[0], element = _mount2[1];
94
+ dispatchEvent(element.firstElementChild, 'mouseenter');
95
+ _context3.next = 4;
96
+ return wait();
97
+
98
+ case 4:
99
+ dropdown = getElement('.k-dropdown-menu');
100
+ expect(dropdown.innerHTML).to.matchSnapshot();
101
+ dispatchEvent(element.firstElementChild, 'mouseleave');
102
+ dispatchEvent(dropdown, 'mouseenter');
103
+ _context3.next = 10;
104
+ return wait(500);
105
+
106
+ case 10:
107
+ expect(dropdown.parentNode).to.exist;
108
+
109
+ case 11:
110
+ case "end":
111
+ return _context3.stop();
112
+ }
93
113
  }
94
114
  }, _callee2);
95
115
  })));
96
116
  it('nested dropdown', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
97
117
  var _mount3, instance, element, dropdown, _dropdown$querySelect, hoverItem, clickItem, clickSubDropdown, hoverSubDropdown, _hoverSubDropdown$que, hoverItem1, hoverSubDropdown1, _hoverSubDropdown1$qu, hoverItem2, hoverSubDropdown2;
118
+
98
119
  return _regeneratorRuntime.wrap(function _callee3$(_context4) {
99
- while (1) switch (_context4.prev = _context4.next) {
100
- case 0:
101
- this.timeout(0);
102
- _mount3 = mount(NestedDemo), instance = _mount3[0], element = _mount3[1];
103
- element.firstElementChild.click();
104
- _context4.next = 5;
105
- return wait();
106
- case 5:
107
- dropdown = getElement('.k-dropdown-menu');
108
- _dropdown$querySelect = dropdown.querySelectorAll(':scope > .k-dropdown-item'), hoverItem = _dropdown$querySelect[3], clickItem = _dropdown$querySelect[4];
109
- clickItem.click();
110
- _context4.next = 10;
111
- return wait(500);
112
- case 10:
113
- clickSubDropdown = getElement('.k-dropdown-menu');
114
- expect(clickSubDropdown.innerHTML).to.matchSnapshot();
115
- // should hide last sub-dropdown and show next
116
- dispatchEvent(hoverItem, 'mouseenter');
117
- _context4.next = 15;
118
- return wait(500);
119
- case 15:
120
- hoverSubDropdown = getElement('.k-dropdown-menu');
121
- expect(hoverSubDropdown.innerHTML).to.matchSnapshot();
122
- _hoverSubDropdown$que = hoverSubDropdown.querySelectorAll('.k-dropdown-item'), hoverItem1 = _hoverSubDropdown$que[0];
123
- dispatchEvent(hoverItem, 'mouseleave');
124
- dispatchEvent(hoverItem1, 'mouseenter');
125
- _context4.next = 22;
126
- return wait(500);
127
- case 22:
128
- hoverSubDropdown1 = getElement('.k-dropdown-menu');
129
- expect(hoverSubDropdown1.textContent).to.eql('item 1item 2');
130
- _hoverSubDropdown1$qu = hoverSubDropdown1.querySelectorAll('.k-dropdown-item'), hoverItem2 = _hoverSubDropdown1$qu[0];
131
- dispatchEvent(hoverItem1, 'mouseleave');
132
- dispatchEvent(hoverItem2, 'mouseenter');
133
- _context4.next = 29;
134
- return wait(1000);
135
- case 29:
136
- hoverSubDropdown2 = getElement('.k-dropdown-menu');
137
- expect(hoverSubDropdown2 === hoverSubDropdown1).to.be.true;
138
- case 31:
139
- case "end":
140
- return _context4.stop();
120
+ while (1) {
121
+ switch (_context4.prev = _context4.next) {
122
+ case 0:
123
+ this.timeout(0);
124
+ _mount3 = mount(NestedDemo), instance = _mount3[0], element = _mount3[1];
125
+ element.firstElementChild.click();
126
+ _context4.next = 5;
127
+ return wait();
128
+
129
+ case 5:
130
+ dropdown = getElement('.k-dropdown-menu');
131
+ _dropdown$querySelect = dropdown.querySelectorAll(':scope > .k-dropdown-item'), hoverItem = _dropdown$querySelect[3], clickItem = _dropdown$querySelect[4];
132
+ clickItem.click();
133
+ _context4.next = 10;
134
+ return wait(500);
135
+
136
+ case 10:
137
+ clickSubDropdown = getElement('.k-dropdown-menu');
138
+ expect(clickSubDropdown.innerHTML).to.matchSnapshot(); // should hide last sub-dropdown and show next
139
+
140
+ dispatchEvent(hoverItem, 'mouseenter');
141
+ _context4.next = 15;
142
+ return wait(500);
143
+
144
+ case 15:
145
+ hoverSubDropdown = getElement('.k-dropdown-menu');
146
+ expect(hoverSubDropdown.innerHTML).to.matchSnapshot();
147
+ _hoverSubDropdown$que = hoverSubDropdown.querySelectorAll('.k-dropdown-item'), hoverItem1 = _hoverSubDropdown$que[0];
148
+ dispatchEvent(hoverItem, 'mouseleave');
149
+ dispatchEvent(hoverItem1, 'mouseenter');
150
+ _context4.next = 22;
151
+ return wait(500);
152
+
153
+ case 22:
154
+ hoverSubDropdown1 = getElement('.k-dropdown-menu');
155
+ expect(hoverSubDropdown1.textContent).to.eql('item 1item 2');
156
+ _hoverSubDropdown1$qu = hoverSubDropdown1.querySelectorAll('.k-dropdown-item'), hoverItem2 = _hoverSubDropdown1$qu[0];
157
+ dispatchEvent(hoverItem1, 'mouseleave');
158
+ dispatchEvent(hoverItem2, 'mouseenter');
159
+ _context4.next = 29;
160
+ return wait(1000);
161
+
162
+ case 29:
163
+ hoverSubDropdown2 = getElement('.k-dropdown-menu');
164
+ expect(hoverSubDropdown2 === hoverSubDropdown1).to.be.true;
165
+
166
+ case 31:
167
+ case "end":
168
+ return _context4.stop();
169
+ }
141
170
  }
142
171
  }, _callee3, this);
143
172
  })));
144
173
  it('hide on click document', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {
145
174
  var _mount4, instance, element;
175
+
146
176
  return _regeneratorRuntime.wrap(function _callee4$(_context5) {
147
- while (1) switch (_context5.prev = _context5.next) {
148
- case 0:
149
- _mount4 = mount(BasicDemo), instance = _mount4[0], element = _mount4[1];
150
- dispatchEvent(element.firstElementChild, 'mouseenter');
151
- _context5.next = 4;
152
- return wait();
153
- case 4:
154
- dispatchEvent(document, 'click');
155
- _context5.next = 7;
156
- return wait(500);
157
- case 7:
158
- expect(getElement('.k-dropdown-menu')).not.exist;
159
- case 8:
160
- case "end":
161
- return _context5.stop();
177
+ while (1) {
178
+ switch (_context5.prev = _context5.next) {
179
+ case 0:
180
+ _mount4 = mount(BasicDemo), instance = _mount4[0], element = _mount4[1];
181
+ dispatchEvent(element.firstElementChild, 'mouseenter');
182
+ _context5.next = 4;
183
+ return wait();
184
+
185
+ case 4:
186
+ dispatchEvent(document, 'click');
187
+ _context5.next = 7;
188
+ return wait(500);
189
+
190
+ case 7:
191
+ expect(getElement('.k-dropdown-menu')).not.exist;
192
+
193
+ case 8:
194
+ case "end":
195
+ return _context5.stop();
196
+ }
162
197
  }
163
198
  }, _callee4);
164
199
  })));
165
200
  it('operate by keyboard', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5() {
166
201
  var _mount5, instance, element, dropdown, subDropdown, subDropdown1;
202
+
167
203
  return _regeneratorRuntime.wrap(function _callee5$(_context6) {
168
- while (1) switch (_context6.prev = _context6.next) {
169
- case 0:
170
- _mount5 = mount(NestedDemo), instance = _mount5[0], element = _mount5[1];
171
- dispatchEvent(element.firstElementChild, 'click');
172
- _context6.next = 4;
173
- return wait();
174
- case 4:
175
- dropdown = getElement('.k-dropdown-menu'); // down
176
- dispatchEvent(document, 'keydown', {
177
- keyCode: 40
178
- });
179
- _context6.next = 8;
180
- return wait();
181
- case 8:
182
- expect(dropdown.innerHTML).to.matchSnapshot();
183
- // up
184
- dispatchEvent(document, 'keydown', {
185
- keyCode: 38
186
- });
187
- _context6.next = 12;
188
- return wait();
189
- case 12:
190
- expect(dropdown.innerHTML).to.matchSnapshot();
191
- // up and enter
192
- dispatchEvent(document, 'keydown', {
193
- keyCode: 38
194
- });
195
- dispatchEvent(document, 'keydown', {
196
- keyCode: 13
197
- });
198
- _context6.next = 17;
199
- return wait();
200
- case 17:
201
- subDropdown = getElement('.k-dropdown-menu');
202
- expect(subDropdown.innerHTML).to.matchSnapshot();
203
- // right
204
- dispatchEvent(document, 'keydown', {
205
- keyCode: 39
206
- });
207
- _context6.next = 22;
208
- return wait();
209
- case 22:
210
- subDropdown1 = getElement('.k-dropdown-menu');
211
- expect(subDropdown1.innerHTML).to.matchSnapshot();
212
- // left
213
- dispatchEvent(document, 'keydown', {
214
- keyCode: 37
215
- });
216
- _context6.next = 27;
217
- return wait(500);
218
- case 27:
219
- expect(subDropdown1.style.display).to.eql('none');
220
- // down in sub-menu
221
- dispatchEvent(document, 'keydown', {
222
- keyCode: 40
223
- });
224
- _context6.next = 31;
225
- return wait();
226
- case 31:
227
- expect(subDropdown.innerHTML).to.matchSnapshot();
228
- // select and hide
229
- dispatchEvent(document, 'keydown', {
230
- keyCode: 13
231
- });
232
- _context6.next = 35;
233
- return wait(500);
234
- case 35:
235
- expect(getElement('.k-dropdown-menu')).not.exist;
236
- case 36:
237
- case "end":
238
- return _context6.stop();
204
+ while (1) {
205
+ switch (_context6.prev = _context6.next) {
206
+ case 0:
207
+ _mount5 = mount(NestedDemo), instance = _mount5[0], element = _mount5[1];
208
+ dispatchEvent(element.firstElementChild, 'click');
209
+ _context6.next = 4;
210
+ return wait();
211
+
212
+ case 4:
213
+ dropdown = getElement('.k-dropdown-menu'); // down
214
+
215
+ dispatchEvent(document, 'keydown', {
216
+ keyCode: 40
217
+ });
218
+ _context6.next = 8;
219
+ return wait();
220
+
221
+ case 8:
222
+ expect(dropdown.innerHTML).to.matchSnapshot(); // up
223
+
224
+ dispatchEvent(document, 'keydown', {
225
+ keyCode: 38
226
+ });
227
+ _context6.next = 12;
228
+ return wait();
229
+
230
+ case 12:
231
+ expect(dropdown.innerHTML).to.matchSnapshot(); // up and enter
232
+
233
+ dispatchEvent(document, 'keydown', {
234
+ keyCode: 38
235
+ });
236
+ dispatchEvent(document, 'keydown', {
237
+ keyCode: 13
238
+ });
239
+ _context6.next = 17;
240
+ return wait();
241
+
242
+ case 17:
243
+ subDropdown = getElement('.k-dropdown-menu');
244
+ expect(subDropdown.innerHTML).to.matchSnapshot(); // right
245
+
246
+ dispatchEvent(document, 'keydown', {
247
+ keyCode: 39
248
+ });
249
+ _context6.next = 22;
250
+ return wait();
251
+
252
+ case 22:
253
+ subDropdown1 = getElement('.k-dropdown-menu');
254
+ expect(subDropdown1.innerHTML).to.matchSnapshot(); // left
255
+
256
+ dispatchEvent(document, 'keydown', {
257
+ keyCode: 37
258
+ });
259
+ _context6.next = 27;
260
+ return wait(500);
261
+
262
+ case 27:
263
+ expect(subDropdown1.style.display).to.eql('none'); // down in sub-menu
264
+
265
+ dispatchEvent(document, 'keydown', {
266
+ keyCode: 40
267
+ });
268
+ _context6.next = 31;
269
+ return wait();
270
+
271
+ case 31:
272
+ expect(subDropdown.innerHTML).to.matchSnapshot(); // select and hide
273
+
274
+ dispatchEvent(document, 'keydown', {
275
+ keyCode: 13
276
+ });
277
+ _context6.next = 35;
278
+ return wait(500);
279
+
280
+ case 35:
281
+ expect(getElement('.k-dropdown-menu')).not.exist;
282
+
283
+ case 36:
284
+ case "end":
285
+ return _context6.stop();
286
+ }
239
287
  }
240
288
  }, _callee5);
241
289
  })));
242
290
  it('context menu', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee6() {
243
291
  var _mount6, instance, element, dropdown;
292
+
244
293
  return _regeneratorRuntime.wrap(function _callee6$(_context7) {
245
- while (1) switch (_context7.prev = _context7.next) {
246
- case 0:
247
- _mount6 = mount(ContextMenuDemo), instance = _mount6[0], element = _mount6[1];
248
- dispatchEvent(element, 'contextmenu', {
249
- pageX: 10,
250
- pageY: 10
251
- });
252
- _context7.next = 4;
253
- return wait();
254
- case 4:
255
- dropdown = getElement('.k-dropdown-menu');
256
- expect(dropdown.style.left).to.eql('10px');
257
- dispatchEvent(element, 'contextmenu', {
258
- pageX: 11,
259
- pageY: 11
260
- });
261
- _context7.next = 9;
262
- return wait();
263
- case 9:
264
- expect(dropdown.style.left).to.eql('11px');
265
- _context7.next = 12;
266
- return wait(500);
267
- case 12:
268
- expect(dropdown.style.display).to.eql('');
269
- case 13:
270
- case "end":
271
- return _context7.stop();
294
+ while (1) {
295
+ switch (_context7.prev = _context7.next) {
296
+ case 0:
297
+ _mount6 = mount(ContextMenuDemo), instance = _mount6[0], element = _mount6[1];
298
+ dispatchEvent(element, 'contextmenu', {
299
+ pageX: 10,
300
+ pageY: 10
301
+ });
302
+ _context7.next = 4;
303
+ return wait();
304
+
305
+ case 4:
306
+ dropdown = getElement('.k-dropdown-menu');
307
+ expect(dropdown.style.left).to.eql('10px');
308
+ dispatchEvent(element, 'contextmenu', {
309
+ pageX: 11,
310
+ pageY: 11
311
+ });
312
+ _context7.next = 9;
313
+ return wait();
314
+
315
+ case 9:
316
+ expect(dropdown.style.left).to.eql('11px');
317
+ _context7.next = 12;
318
+ return wait(500);
319
+
320
+ case 12:
321
+ expect(dropdown.style.display).to.eql('');
322
+
323
+ case 13:
324
+ case "end":
325
+ return _context7.stop();
326
+ }
272
327
  }
273
328
  }, _callee6);
274
329
  })));
275
330
  it('click mouse and move outside should not hide menu', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee7() {
276
331
  var _mount7, instance, element, dropdown, _dropdown$querySelect2, hoverItem, clickItem, clickSubDropdown;
332
+
277
333
  return _regeneratorRuntime.wrap(function _callee7$(_context8) {
278
- while (1) switch (_context8.prev = _context8.next) {
279
- case 0:
280
- _mount7 = mount(NestedDemo), instance = _mount7[0], element = _mount7[1];
281
- element.firstChild.click();
282
- _context8.next = 4;
283
- return wait();
284
- case 4:
285
- dropdown = getElement('.k-dropdown-menu');
286
- dispatchEvent(dropdown, 'mousedown');
287
- dispatchEvent(document, 'mouseup');
288
- dispatchEvent(document, 'click');
289
- _context8.next = 10;
290
- return wait(500);
291
- case 10:
292
- expect(dropdown.style.display).to.eql('');
293
- // on submenu
294
- _dropdown$querySelect2 = dropdown.querySelectorAll(':scope > .k-dropdown-item'), hoverItem = _dropdown$querySelect2[3], clickItem = _dropdown$querySelect2[4];
295
- clickItem.click();
296
- _context8.next = 15;
297
- return wait();
298
- case 15:
299
- clickSubDropdown = getElement('.k-dropdown-menu');
300
- dispatchEvent(clickSubDropdown, 'mousedown');
301
- dispatchEvent(document, 'mouseup');
302
- dispatchEvent(document, 'click');
303
- _context8.next = 21;
304
- return wait(500);
305
- case 21:
306
- expect(dropdown.style.display).to.eql('');
307
- expect(clickSubDropdown.style.display).to.eql('');
308
- // should hide on click document directly
309
- dispatchEvent(document, 'click');
310
- _context8.next = 26;
311
- return wait(500);
312
- case 26:
313
- expect(getElement('.k-dropdown-menu')).to.be.undefined;
314
- case 27:
315
- case "end":
316
- return _context8.stop();
334
+ while (1) {
335
+ switch (_context8.prev = _context8.next) {
336
+ case 0:
337
+ _mount7 = mount(NestedDemo), instance = _mount7[0], element = _mount7[1];
338
+ element.firstChild.click();
339
+ _context8.next = 4;
340
+ return wait();
341
+
342
+ case 4:
343
+ dropdown = getElement('.k-dropdown-menu');
344
+ dispatchEvent(dropdown, 'mousedown');
345
+ dispatchEvent(document, 'mouseup');
346
+ dispatchEvent(document, 'click');
347
+ _context8.next = 10;
348
+ return wait(500);
349
+
350
+ case 10:
351
+ expect(dropdown.style.display).to.eql(''); // on submenu
352
+
353
+ _dropdown$querySelect2 = dropdown.querySelectorAll(':scope > .k-dropdown-item'), hoverItem = _dropdown$querySelect2[3], clickItem = _dropdown$querySelect2[4];
354
+ clickItem.click();
355
+ _context8.next = 15;
356
+ return wait();
357
+
358
+ case 15:
359
+ clickSubDropdown = getElement('.k-dropdown-menu');
360
+ dispatchEvent(clickSubDropdown, 'mousedown');
361
+ dispatchEvent(document, 'mouseup');
362
+ dispatchEvent(document, 'click');
363
+ _context8.next = 21;
364
+ return wait(500);
365
+
366
+ case 21:
367
+ expect(dropdown.style.display).to.eql('');
368
+ expect(clickSubDropdown.style.display).to.eql(''); // should hide on click document directly
369
+
370
+ dispatchEvent(document, 'click');
371
+ _context8.next = 26;
372
+ return wait(500);
373
+
374
+ case 26:
375
+ expect(getElement('.k-dropdown-menu')).to.be.undefined;
376
+
377
+ case 27:
378
+ case "end":
379
+ return _context8.stop();
380
+ }
317
381
  }
318
382
  }, _callee7);
319
383
  })));
320
384
  it('should throw error if has whitespace between real elements', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee8() {
321
385
  var Demo;
322
386
  return _regeneratorRuntime.wrap(function _callee8$(_context10) {
323
- while (1) switch (_context10.prev = _context10.next) {
324
- case 0:
325
- Demo = /*#__PURE__*/function (_Component2) {
326
- _inheritsLoose(Demo, _Component2);
327
- function Demo() {
328
- var _context9;
329
- var _this2;
330
- for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
331
- args[_key2] = arguments[_key2];
387
+ while (1) {
388
+ switch (_context10.prev = _context10.next) {
389
+ case 0:
390
+ Demo = /*#__PURE__*/function (_Component2) {
391
+ _inheritsLoose(Demo, _Component2);
392
+
393
+ function Demo() {
394
+ var _context9;
395
+
396
+ var _this2;
397
+
398
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
399
+ args[_key2] = arguments[_key2];
400
+ }
401
+
402
+ _this2 = _Component2.call.apply(_Component2, _concatInstanceProperty(_context9 = [this]).call(_context9, args)) || this;
403
+ _this2.Dropdown = Dropdown;
404
+ _this2.DropdownItem = DropdownItem;
405
+ _this2.DropdownMenu = DropdownMenu;
406
+ return _this2;
332
407
  }
333
- _this2 = _Component2.call.apply(_Component2, _concatInstanceProperty(_context9 = [this]).call(_context9, args)) || this;
334
- _this2.Dropdown = Dropdown;
335
- _this2.DropdownItem = DropdownItem;
336
- _this2.DropdownMenu = DropdownMenu;
337
- return _this2;
338
- }
339
- return Demo;
340
- }(Component);
341
- Demo.template = "\n const {Dropdown, DropdownMenu, DropdownItem} = this;\n <div>\n <Dropdown>\n {''}\n <div ref=\"trigger\">hover</div>\n {''}\n <DropdownMenu>\n <DropdownItem>test</DropdownItem>\n </DropdownMenu>\n </Dropdown>\n </div>\n ";
342
- expect(function () {
343
- return mount(Demo);
344
- }).to.throw;
345
- case 3:
346
- case "end":
347
- return _context10.stop();
408
+
409
+ return Demo;
410
+ }(Component);
411
+
412
+ Demo.template = "\n const {Dropdown, DropdownMenu, DropdownItem} = this;\n <div>\n <Dropdown>\n {''}\n <div ref=\"trigger\">hover</div>\n {''}\n <DropdownMenu>\n <DropdownItem>test</DropdownItem>\n </DropdownMenu>\n </Dropdown>\n </div>\n ";
413
+ expect(function () {
414
+ return mount(Demo);
415
+ }).to.throw;
416
+
417
+ case 3:
418
+ case "end":
419
+ return _context10.stop();
420
+ }
348
421
  }
349
422
  }, _callee8);
350
- })));
351
- // it('should hydrate dropdown correctly', () => {
423
+ }))); // it('should hydrate dropdown correctly', () => {
352
424
  // class Demo extends Component {
353
425
  // static template = `
354
426
  // const {Dropdown, DropdownMenu, DropdownItem} = this;
@@ -377,138 +449,174 @@ describe('Dropdown', function () {
377
449
  // demo.destroy();
378
450
  // document.body.removeChild(container);
379
451
  // });
452
+
380
453
  it('should scroll to view when we focus on DropdownItem', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee9() {
381
454
  var Demo, _mount8, instance, element, dropdown, _dropdown$querySelect3, item, parent;
455
+
382
456
  return _regeneratorRuntime.wrap(function _callee9$(_context12) {
383
- while (1) switch (_context12.prev = _context12.next) {
384
- case 0:
385
- Demo = /*#__PURE__*/function (_Component3) {
386
- _inheritsLoose(Demo, _Component3);
387
- function Demo() {
388
- var _context11;
389
- var _this3;
390
- for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
391
- args[_key3] = arguments[_key3];
457
+ while (1) {
458
+ switch (_context12.prev = _context12.next) {
459
+ case 0:
460
+ Demo = /*#__PURE__*/function (_Component3) {
461
+ _inheritsLoose(Demo, _Component3);
462
+
463
+ function Demo() {
464
+ var _context11;
465
+
466
+ var _this3;
467
+
468
+ for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
469
+ args[_key3] = arguments[_key3];
470
+ }
471
+
472
+ _this3 = _Component3.call.apply(_Component3, _concatInstanceProperty(_context11 = [this]).call(_context11, args)) || this;
473
+ _this3.Dropdown = Dropdown;
474
+ _this3.DropdownItem = DropdownItem;
475
+ _this3.DropdownMenu = DropdownMenu;
476
+ return _this3;
392
477
  }
393
- _this3 = _Component3.call.apply(_Component3, _concatInstanceProperty(_context11 = [this]).call(_context11, args)) || this;
394
- _this3.Dropdown = Dropdown;
395
- _this3.DropdownItem = DropdownItem;
396
- _this3.DropdownMenu = DropdownMenu;
397
- return _this3;
398
- }
399
- return Demo;
400
- }(Component);
401
- Demo.template = "\n const {Dropdown, DropdownMenu, DropdownItem} = this;\n <div>\n <Dropdown>\n <div ref=\"trigger\">hover</div>\n <DropdownMenu>\n <div style=\"height: 40px; overflow: auto;\">\n <DropdownItem>test1</DropdownItem>\n <DropdownItem>test2</DropdownItem>\n </div>\n </DropdownMenu>\n </Dropdown>\n </div>\n ";
402
- _mount8 = mount(Demo), instance = _mount8[0], element = _mount8[1];
403
- dispatchEvent(instance.refs.trigger, 'mouseenter');
404
- _context12.next = 6;
405
- return wait(500);
406
- case 6:
407
- dropdown = getElement('.k-dropdown-menu');
408
- _dropdown$querySelect3 = dropdown.querySelectorAll('.k-dropdown-item'), item = _dropdown$querySelect3[1];
409
- parent = item.parentNode;
410
- dispatchEvent(item, 'mouseenter');
411
- _context12.next = 12;
412
- return wait();
413
- case 12:
414
- expect(parent.scrollTop).to.eql(item.offsetHeight * 2 - 40);
415
- case 13:
416
- case "end":
417
- return _context12.stop();
478
+
479
+ return Demo;
480
+ }(Component);
481
+
482
+ Demo.template = "\n const {Dropdown, DropdownMenu, DropdownItem} = this;\n <div>\n <Dropdown>\n <div ref=\"trigger\">hover</div>\n <DropdownMenu>\n <div style=\"height: 40px; overflow: auto;\">\n <DropdownItem>test1</DropdownItem>\n <DropdownItem>test2</DropdownItem>\n </div>\n </DropdownMenu>\n </Dropdown>\n </div>\n ";
483
+ _mount8 = mount(Demo), instance = _mount8[0], element = _mount8[1];
484
+ dispatchEvent(instance.refs.trigger, 'mouseenter');
485
+ _context12.next = 6;
486
+ return wait(500);
487
+
488
+ case 6:
489
+ dropdown = getElement('.k-dropdown-menu');
490
+ _dropdown$querySelect3 = dropdown.querySelectorAll('.k-dropdown-item'), item = _dropdown$querySelect3[1];
491
+ parent = item.parentNode;
492
+ dispatchEvent(item, 'mouseenter');
493
+ _context12.next = 12;
494
+ return wait();
495
+
496
+ case 12:
497
+ expect(parent.scrollTop).to.eql(item.offsetHeight * 2 - 40);
498
+
499
+ case 13:
500
+ case "end":
501
+ return _context12.stop();
502
+ }
418
503
  }
419
504
  }, _callee9);
420
505
  })));
421
506
  it('focus trigger type', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee10() {
422
507
  var Demo, _mount9, instance;
508
+
423
509
  return _regeneratorRuntime.wrap(function _callee10$(_context14) {
424
- while (1) switch (_context14.prev = _context14.next) {
425
- case 0:
426
- Demo = /*#__PURE__*/function (_Component4) {
427
- _inheritsLoose(Demo, _Component4);
428
- function Demo() {
429
- var _context13;
430
- var _this4;
431
- for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
432
- args[_key4] = arguments[_key4];
510
+ while (1) {
511
+ switch (_context14.prev = _context14.next) {
512
+ case 0:
513
+ Demo = /*#__PURE__*/function (_Component4) {
514
+ _inheritsLoose(Demo, _Component4);
515
+
516
+ function Demo() {
517
+ var _context13;
518
+
519
+ var _this4;
520
+
521
+ for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
522
+ args[_key4] = arguments[_key4];
523
+ }
524
+
525
+ _this4 = _Component4.call.apply(_Component4, _concatInstanceProperty(_context13 = [this]).call(_context13, args)) || this;
526
+ _this4.Dropdown = Dropdown;
527
+ _this4.DropdownItem = DropdownItem;
528
+ _this4.DropdownMenu = DropdownMenu;
529
+ _this4.onFocus = sinon.spy(function (e) {
530
+ return console.log(e);
531
+ });
532
+ return _this4;
433
533
  }
434
- _this4 = _Component4.call.apply(_Component4, _concatInstanceProperty(_context13 = [this]).call(_context13, args)) || this;
435
- _this4.Dropdown = Dropdown;
436
- _this4.DropdownItem = DropdownItem;
437
- _this4.DropdownMenu = DropdownMenu;
438
- _this4.onFocus = sinon.spy(function (e) {
439
- return console.log(e);
440
- });
441
- return _this4;
442
- }
443
- return Demo;
444
- }(Component);
445
- Demo.template = "\n const {Dropdown, DropdownMenu, DropdownItem} = this;\n <div>\n <Dropdown trigger=\"focus\">\n <input ref=\"trigger\" ev-focusin={this.onFocus} />\n <DropdownMenu>\n <DropdownItem>test1</DropdownItem>\n <DropdownItem>test2</DropdownItem>\n </DropdownMenu>\n </Dropdown>\n </div>\n ";
446
- _mount9 = mount(Demo), instance = _mount9[0];
447
- dispatchEvent(instance.refs.trigger, 'focusin');
448
- _context14.next = 6;
449
- return wait(500);
450
- case 6:
451
- expect(getElement('.k-dropdown-menu')).to.be.exist;
452
- expect(instance.onFocus.callCount).to.eql(1);
453
- // clicking anywhere should not hide menu
454
- dispatchEvent(document, 'click');
455
- _context14.next = 11;
456
- return wait(500);
457
- case 11:
458
- expect(getElement('.k-dropdown-menu')).to.be.exist;
459
- dispatchEvent(instance.refs.trigger, 'focusout');
460
- _context14.next = 15;
461
- return wait(700);
462
- case 15:
463
- expect(getElement('.k-dropdown-menu')).to.not.be.exist;
464
- case 16:
465
- case "end":
466
- return _context14.stop();
534
+
535
+ return Demo;
536
+ }(Component);
537
+
538
+ Demo.template = "\n const {Dropdown, DropdownMenu, DropdownItem} = this;\n <div>\n <Dropdown trigger=\"focus\">\n <input ref=\"trigger\" ev-focusin={this.onFocus} />\n <DropdownMenu>\n <DropdownItem>test1</DropdownItem>\n <DropdownItem>test2</DropdownItem>\n </DropdownMenu>\n </Dropdown>\n </div>\n ";
539
+ _mount9 = mount(Demo), instance = _mount9[0];
540
+ dispatchEvent(instance.refs.trigger, 'focusin');
541
+ _context14.next = 6;
542
+ return wait(500);
543
+
544
+ case 6:
545
+ expect(getElement('.k-dropdown-menu')).to.be.exist;
546
+ expect(instance.onFocus.callCount).to.eql(1); // clicking anywhere should not hide menu
547
+
548
+ dispatchEvent(document, 'click');
549
+ _context14.next = 11;
550
+ return wait(500);
551
+
552
+ case 11:
553
+ expect(getElement('.k-dropdown-menu')).to.be.exist;
554
+ dispatchEvent(instance.refs.trigger, 'focusout');
555
+ _context14.next = 15;
556
+ return wait(700);
557
+
558
+ case 15:
559
+ expect(getElement('.k-dropdown-menu')).to.not.be.exist;
560
+
561
+ case 16:
562
+ case "end":
563
+ return _context14.stop();
564
+ }
467
565
  }
468
566
  }, _callee10);
469
567
  })));
470
568
  it('wrap by tooltip', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee11() {
471
569
  var _mount10, instance, element, dropdown, _dropdown$querySelect4, item1, item2, item3, item4;
570
+
472
571
  return _regeneratorRuntime.wrap(function _callee11$(_context15) {
473
- while (1) switch (_context15.prev = _context15.next) {
474
- case 0:
475
- _mount10 = mount(TooltipDemo), instance = _mount10[0], element = _mount10[1];
476
- dispatchEvent(element.firstChild, 'mouseenter');
477
- _context15.next = 4;
478
- return wait();
479
- case 4:
480
- dropdown = getElement('.k-dropdown-menu');
481
- _dropdown$querySelect4 = dropdown.querySelectorAll('.k-dropdown-item'), item1 = _dropdown$querySelect4[0], item2 = _dropdown$querySelect4[1], item3 = _dropdown$querySelect4[2], item4 = _dropdown$querySelect4[3];
482
- dispatchEvent(item1, 'mouseenter');
483
- _context15.next = 9;
484
- return wait();
485
- case 9:
486
- expect(getElement('.k-tooltip-content').textContent).to.eql('item 1');
487
- dispatchEvent(item1, 'mouseleave');
488
- dispatchEvent(item3, 'mouseenter');
489
- _context15.next = 14;
490
- return wait();
491
- case 14:
492
- expect(getElement('.k-tooltip-content').textContent).to.eql('disabled');
493
- dispatchEvent(item3, 'mouseleave');
494
- dispatchEvent(item4, 'mouseenter');
495
- _context15.next = 19;
496
- return wait();
497
- case 19:
498
- expect(getElement('.k-tooltip-content').textContent).to.eql('This is a nested Dropdown.');
499
- dispatchEvent(item4, 'click');
500
- _context15.next = 23;
501
- return wait();
502
- case 23:
503
- expect(getElement('.k-dropdown-menu').textContent).to.eql('item 1item 2');
504
- dispatchEvent(item4, 'mouseleave');
505
- _context15.next = 27;
506
- return wait(800);
507
- case 27:
508
- expect(getElement('.k-dropdown-menu')).to.not.be.exist;
509
- case 28:
510
- case "end":
511
- return _context15.stop();
572
+ while (1) {
573
+ switch (_context15.prev = _context15.next) {
574
+ case 0:
575
+ _mount10 = mount(TooltipDemo), instance = _mount10[0], element = _mount10[1];
576
+ dispatchEvent(element.firstChild, 'mouseenter');
577
+ _context15.next = 4;
578
+ return wait();
579
+
580
+ case 4:
581
+ dropdown = getElement('.k-dropdown-menu');
582
+ _dropdown$querySelect4 = dropdown.querySelectorAll('.k-dropdown-item'), item1 = _dropdown$querySelect4[0], item2 = _dropdown$querySelect4[1], item3 = _dropdown$querySelect4[2], item4 = _dropdown$querySelect4[3];
583
+ dispatchEvent(item1, 'mouseenter');
584
+ _context15.next = 9;
585
+ return wait();
586
+
587
+ case 9:
588
+ expect(getElement('.k-tooltip-content').textContent).to.eql('item 1');
589
+ dispatchEvent(item1, 'mouseleave');
590
+ dispatchEvent(item3, 'mouseenter');
591
+ _context15.next = 14;
592
+ return wait();
593
+
594
+ case 14:
595
+ expect(getElement('.k-tooltip-content').textContent).to.eql('disabled');
596
+ dispatchEvent(item3, 'mouseleave');
597
+ dispatchEvent(item4, 'mouseenter');
598
+ _context15.next = 19;
599
+ return wait();
600
+
601
+ case 19:
602
+ expect(getElement('.k-tooltip-content').textContent).to.eql('This is a nested Dropdown.');
603
+ dispatchEvent(item4, 'click');
604
+ _context15.next = 23;
605
+ return wait();
606
+
607
+ case 23:
608
+ expect(getElement('.k-dropdown-menu').textContent).to.eql('item 1item 2');
609
+ dispatchEvent(item4, 'mouseleave');
610
+ _context15.next = 27;
611
+ return wait(800);
612
+
613
+ case 27:
614
+ expect(getElement('.k-dropdown-menu')).to.not.be.exist;
615
+
616
+ case 28:
617
+ case "end":
618
+ return _context15.stop();
619
+ }
512
620
  }
513
621
  }, _callee11);
514
622
  })));