@king-design/vue 2.1.3 → 2.1.4

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 (522) hide show
  1. package/components/affix/index.d.ts +2 -2
  2. package/components/affix/index.js +0 -5
  3. package/components/affix/index.spec.js +84 -108
  4. package/components/affix/index.vdt.js +5 -8
  5. package/components/affix/useStyle.js +8 -19
  6. package/components/badge/index.js +0 -2
  7. package/components/badge/index.vdt.js +5 -9
  8. package/components/badge/styles.js +0 -2
  9. package/components/breadcrumb/index.js +0 -4
  10. package/components/breadcrumb/index.spec.js +6 -6
  11. package/components/breadcrumb/index.vdt.js +5 -14
  12. package/components/breadcrumb/item.js +0 -8
  13. package/components/breadcrumb/item.vdt.js +3 -6
  14. package/components/breadcrumb/styles.js +0 -3
  15. package/components/button/dynamicButton.d.ts +1 -1
  16. package/components/button/dynamicButton.js +2 -5
  17. package/components/button/group.js +2 -10
  18. package/components/button/group.vdt.js +4 -7
  19. package/components/button/index.js +3 -27
  20. package/components/button/index.spec.js +74 -96
  21. package/components/button/index.vdt.js +19 -29
  22. package/components/button/styles.d.ts +2 -2
  23. package/components/button/styles.js +4 -48
  24. package/components/card/column.js +0 -2
  25. package/components/card/column.vdt.js +5 -10
  26. package/components/card/index.js +0 -4
  27. package/components/card/index.vdt.js +4 -16
  28. package/components/carousel/index.js +1 -19
  29. package/components/carousel/index.spec.js +127 -163
  30. package/components/carousel/index.vdt.js +12 -15
  31. package/components/carousel/item.js +0 -2
  32. package/components/carousel/item.vdt.js +4 -7
  33. package/components/carousel/styles.js +0 -1
  34. package/components/carousel/useAutoplay.js +0 -4
  35. package/components/carousel/useItems.js +4 -20
  36. package/components/carousel/useSlide.js +57 -89
  37. package/components/cascader/index.js +3 -18
  38. package/components/cascader/index.spec.js +365 -379
  39. package/components/cascader/index.vdt.js +14 -31
  40. package/components/cascader/styles.js +0 -6
  41. package/components/cascader/useFields.js +1 -4
  42. package/components/cascader/useFilterable.js +2 -19
  43. package/components/cascader/useLabel.js +1 -9
  44. package/components/cascader/useLoad.js +22 -35
  45. package/components/cascader/useValue.d.ts +2 -2
  46. package/components/cascader/useValue.js +6 -27
  47. package/components/checkbox/index.js +5 -27
  48. package/components/checkbox/index.spec.js +129 -171
  49. package/components/checkbox/index.vdt.js +12 -16
  50. package/components/checkbox/styles.js +0 -10
  51. package/components/code/crossDomain.js +2 -9
  52. package/components/code/index.js +0 -9
  53. package/components/code/index.spec.js +46 -55
  54. package/components/code/index.vdt.js +6 -14
  55. package/components/code/styles.js +0 -1
  56. package/components/code/useEditor.js +5 -10
  57. package/components/collapse/index.d.ts +1 -1
  58. package/components/collapse/index.js +3 -14
  59. package/components/collapse/index.spec.js +47 -60
  60. package/components/collapse/index.vdt.js +4 -12
  61. package/components/collapse/item.js +0 -10
  62. package/components/collapse/item.vdt.js +7 -14
  63. package/components/collapse/styles.js +0 -1
  64. package/components/colorpicker/drag.js +0 -5
  65. package/components/colorpicker/index.js +0 -4
  66. package/components/colorpicker/index.spec.js +211 -259
  67. package/components/colorpicker/index.vdt.js +8 -11
  68. package/components/colorpicker/panel.js +0 -5
  69. package/components/colorpicker/panel.vdt.js +21 -26
  70. package/components/colorpicker/styles.js +2 -13
  71. package/components/colorpicker/useDrag.js +22 -26
  72. package/components/colorpicker/useInput.js +0 -16
  73. package/components/colorpicker/usePointer.js +15 -18
  74. package/components/colorpicker/useValue.js +2 -7
  75. package/components/context.d.ts +2 -2
  76. package/components/context.js +2 -19
  77. package/components/datepicker/basepicker.d.ts +8 -8
  78. package/components/datepicker/basepicker.js +20 -90
  79. package/components/datepicker/calendar.js +0 -11
  80. package/components/datepicker/calendar.vdt.js +11 -14
  81. package/components/datepicker/constants.js +0 -1
  82. package/components/datepicker/dayjs.js +1 -1
  83. package/components/datepicker/helpers.js +3 -15
  84. package/components/datepicker/index.js +6 -32
  85. package/components/datepicker/index.spec.js +1141 -1448
  86. package/components/datepicker/index.vdt.js +20 -34
  87. package/components/datepicker/shortcuts.d.ts +1 -1
  88. package/components/datepicker/shortcuts.js +0 -4
  89. package/components/datepicker/styles.js +0 -8
  90. package/components/datepicker/time.d.ts +1 -1
  91. package/components/datepicker/time.js +3 -23
  92. package/components/datepicker/time.vdt.js +4 -5
  93. package/components/datepicker/useDays.js +2 -9
  94. package/components/datepicker/useDisabled.js +6 -23
  95. package/components/datepicker/useFocusDate.js +0 -2
  96. package/components/datepicker/useFormats.js +6 -15
  97. package/components/datepicker/useKeyboards.js +20 -36
  98. package/components/datepicker/useMonths.js +0 -6
  99. package/components/datepicker/usePanel.js +0 -10
  100. package/components/datepicker/useShowDate.js +10 -37
  101. package/components/datepicker/useStatus.js +3 -15
  102. package/components/datepicker/useValue.js +22 -35
  103. package/components/datepicker/useYears.js +4 -15
  104. package/components/diagram/diagram.js +17 -43
  105. package/components/diagram/diagram.vdt.js +2 -5
  106. package/components/diagram/graph.js +6 -6
  107. package/components/diagram/index.d.ts +1 -1
  108. package/components/diagram/index.js +7 -7
  109. package/components/diagram/index.spec.js +369 -495
  110. package/components/diagram/layouts/circle.js +6 -14
  111. package/components/diagram/layouts/flow.js +7 -15
  112. package/components/diagram/layouts/layout.js +6 -28
  113. package/components/diagram/layouts/organic.js +3 -11
  114. package/components/diagram/layouts/partition.js +4 -12
  115. package/components/diagram/layouts/radial.js +6 -18
  116. package/components/diagram/layouts/stack.js +6 -14
  117. package/components/diagram/layouts/tree.js +11 -21
  118. package/components/diagram/mxgraph/handler/mxConnectionHandler.js +15 -22
  119. package/components/diagram/mxgraph/handler/mxConstraintHandler.js +4 -4
  120. package/components/diagram/mxgraph/handler/mxEdgeHandler.js +11 -15
  121. package/components/diagram/mxgraph/handler/mxGraphHandler.js +6 -9
  122. package/components/diagram/mxgraph/handler/mxRubberband.js +4 -4
  123. package/components/diagram/mxgraph/handler/mxVertexHandler.js +7 -10
  124. package/components/diagram/mxgraph/index.js +0 -2
  125. package/components/diagram/mxgraph/mx.js +3 -3
  126. package/components/diagram/mxgraph/shape/mxCloud.js +2 -2
  127. package/components/diagram/mxgraph/shape/mxCylinder.js +4 -9
  128. package/components/diagram/mxgraph/shape/mxEllipse.js +2 -2
  129. package/components/diagram/mxgraph/shape/mxHexagon.js +2 -2
  130. package/components/diagram/mxgraph/shape/mxLine.js +2 -2
  131. package/components/diagram/mxgraph/shape/mxRectangleShape.js +2 -2
  132. package/components/diagram/mxgraph/shape/mxRhombus.js +6 -12
  133. package/components/diagram/mxgraph/shape/mxShape.js +0 -1
  134. package/components/diagram/mxgraph/shape/mxTriangle.js +2 -2
  135. package/components/diagram/mxgraph/util/mxConstants.js +2 -2
  136. package/components/diagram/mxgraph/util/mxGuide.js +5 -7
  137. package/components/diagram/mxgraph/view/mxCellEditor.js +16 -29
  138. package/components/diagram/mxgraph/view/mxCellRenderer.js +0 -2
  139. package/components/diagram/mxgraph/view/mxGraph.js +14 -32
  140. package/components/diagram/shapes/base.d.ts +1 -1
  141. package/components/diagram/shapes/base.js +9 -39
  142. package/components/diagram/shapes/callout.js +10 -23
  143. package/components/diagram/shapes/circle.js +3 -10
  144. package/components/diagram/shapes/document.js +5 -16
  145. package/components/diagram/shapes/ellipse.js +0 -5
  146. package/components/diagram/shapes/generateShapes.d.ts +1 -1
  147. package/components/diagram/shapes/generateShapes.js +0 -9
  148. package/components/diagram/shapes/hexagon.js +9 -26
  149. package/components/diagram/shapes/image.js +1 -9
  150. package/components/diagram/shapes/line.d.ts +2 -2
  151. package/components/diagram/shapes/line.js +13 -48
  152. package/components/diagram/shapes/parallelogram.js +9 -26
  153. package/components/diagram/shapes/rectangle.js +1 -9
  154. package/components/diagram/shapes/shape.js +6 -35
  155. package/components/diagram/shapes/square.js +3 -11
  156. package/components/diagram/shapes/text.js +0 -5
  157. package/components/diagram/styles.js +0 -1
  158. package/components/dialog/alert.vdt.js +9 -19
  159. package/components/dialog/base.js +1 -29
  160. package/components/dialog/base.vdt.js +14 -29
  161. package/components/dialog/index.js +6 -31
  162. package/components/dialog/index.spec.js +406 -554
  163. package/components/dialog/staticMethods.d.ts +1 -1
  164. package/components/dialog/staticMethods.js +2 -13
  165. package/components/dialog/styles.js +0 -11
  166. package/components/dialog/useDraggable.js +0 -6
  167. package/components/dialog/useEscClosable.js +4 -12
  168. package/components/dialog/useFixBody.d.ts +1 -1
  169. package/components/dialog/useFixBody.js +0 -11
  170. package/components/dialog/usePosition.js +0 -5
  171. package/components/drawer/index.js +0 -5
  172. package/components/drawer/index.spec.js +126 -168
  173. package/components/drawer/index.vdt.js +3 -9
  174. package/components/drawer/styles.d.ts +2 -2
  175. package/components/drawer/styles.js +0 -4
  176. package/components/dropdown/dropdown.d.ts +2 -2
  177. package/components/dropdown/dropdown.js +33 -89
  178. package/components/dropdown/index.js +2 -6
  179. package/components/dropdown/index.spec.js +388 -496
  180. package/components/dropdown/item.js +4 -25
  181. package/components/dropdown/item.vdt.js +5 -8
  182. package/components/dropdown/menu.js +14 -29
  183. package/components/dropdown/menu.vdt.js +5 -13
  184. package/components/dropdown/styles.js +0 -9
  185. package/components/dropdown/useKeyboard.d.ts +2 -2
  186. package/components/dropdown/useKeyboard.js +8 -30
  187. package/components/dropdown/usePosition.d.ts +2 -1
  188. package/components/dropdown/usePosition.js +24 -22
  189. package/components/dropdown/useTransition.js +0 -8
  190. package/components/editable/index.d.ts +1 -1
  191. package/components/editable/index.js +4 -28
  192. package/components/editable/index.spec.js +152 -189
  193. package/components/editable/index.vdt.js +8 -11
  194. package/components/editable/styles.js +0 -1
  195. package/components/form/form.js +0 -18
  196. package/components/form/form.vdt.js +4 -7
  197. package/components/form/index.spec.js +1057 -1280
  198. package/components/form/item.d.ts +1 -1
  199. package/components/form/item.js +0 -12
  200. package/components/form/item.vdt.js +17 -31
  201. package/components/form/methods.d.ts +5 -5
  202. package/components/form/methods.js +2 -12
  203. package/components/form/styles.js +0 -8
  204. package/components/form/useDirty.js +2 -7
  205. package/components/form/useError.js +2 -10
  206. package/components/form/useValidate.d.ts +1 -1
  207. package/components/form/useValidate.js +8 -24
  208. package/components/grid/col.d.ts +3 -3
  209. package/components/grid/col.js +0 -7
  210. package/components/grid/col.vdt.js +8 -13
  211. package/components/grid/constants.d.ts +6 -6
  212. package/components/grid/row.js +0 -5
  213. package/components/grid/row.vdt.js +5 -8
  214. package/components/grid/styles.js +0 -7
  215. package/components/grid/useBreakpoints.js +0 -5
  216. package/components/grid/useGutter.js +5 -25
  217. package/components/icon/index.js +0 -10
  218. package/components/icon/index.vdt.js +7 -13
  219. package/components/icon/styles.js +0 -1
  220. package/components/input/index.d.ts +3 -3
  221. package/components/input/index.js +0 -14
  222. package/components/input/index.spec.js +185 -239
  223. package/components/input/index.vdt.js +39 -49
  224. package/components/input/search.js +0 -20
  225. package/components/input/search.vdt.js +6 -9
  226. package/components/input/styles.js +0 -26
  227. package/components/input/useAutoRows.js +6 -18
  228. package/components/input/useAutoWidth.js +0 -5
  229. package/components/input/useFrozen.js +0 -6
  230. package/components/input/useShowPassword.js +2 -5
  231. package/components/layout/aside.js +5 -17
  232. package/components/layout/aside.vdt.js +5 -9
  233. package/components/layout/body.js +5 -17
  234. package/components/layout/footer.js +1 -7
  235. package/components/layout/header.js +7 -21
  236. package/components/layout/layout.js +9 -24
  237. package/components/layout/styles.js +2 -13
  238. package/components/layout/template.vdt.js +2 -4
  239. package/components/layout/useParse.js +0 -7
  240. package/components/menu/index.spec.js +189 -242
  241. package/components/menu/item.js +3 -16
  242. package/components/menu/item.vdt.js +20 -32
  243. package/components/menu/menu.js +2 -11
  244. package/components/menu/menu.vdt.js +6 -12
  245. package/components/menu/styles.js +0 -18
  246. package/components/menu/useDropdown.js +4 -9
  247. package/components/menu/useExpanded.js +0 -14
  248. package/components/menu/useHighlight.js +26 -36
  249. package/components/message/index.spec.js +58 -73
  250. package/components/message/message.js +0 -19
  251. package/components/message/message.vdt.js +5 -8
  252. package/components/message/messages.js +0 -12
  253. package/components/message/messages.vdt.js +0 -1
  254. package/components/message/styles.js +0 -9
  255. package/components/pagination/index.d.ts +1 -1
  256. package/components/pagination/index.js +10 -46
  257. package/components/pagination/index.spec.js +133 -173
  258. package/components/pagination/index.vdt.js +14 -34
  259. package/components/pagination/styles.js +0 -4
  260. package/components/portal.d.ts +1 -1
  261. package/components/portal.js +2 -29
  262. package/components/position.d.ts +12 -12
  263. package/components/position.js +32 -88
  264. package/components/progress/index.d.ts +6 -6
  265. package/components/progress/index.js +0 -12
  266. package/components/progress/index.spec.js +143 -191
  267. package/components/progress/index.vdt.js +8 -11
  268. package/components/progress/styles.js +0 -6
  269. package/components/progress/useColor.js +2 -7
  270. package/components/progress/useStatus.d.ts +1 -1
  271. package/components/progress/useStatus.js +2 -5
  272. package/components/radio/index.js +3 -18
  273. package/components/radio/index.spec.js +111 -149
  274. package/components/radio/index.vdt.js +14 -17
  275. package/components/radio/styles.js +0 -10
  276. package/components/rate/index.js +0 -7
  277. package/components/rate/index.spec.js +64 -79
  278. package/components/rate/index.vdt.js +8 -21
  279. package/components/rate/styles.js +0 -3
  280. package/components/rate/useActiveValue.js +2 -7
  281. package/components/scrollSelect/index.d.ts +2 -2
  282. package/components/scrollSelect/index.js +0 -7
  283. package/components/scrollSelect/index.spec.js +100 -131
  284. package/components/scrollSelect/index.vdt.js +6 -11
  285. package/components/scrollSelect/styles.js +0 -7
  286. package/components/scrollSelect/useList.js +3 -17
  287. package/components/scrollSelect/useMouseEvents.js +31 -49
  288. package/components/scrollSelect/useTranslate.js +1 -11
  289. package/components/select/base.js +5 -35
  290. package/components/select/base.vdt.js +23 -38
  291. package/components/select/group.js +0 -5
  292. package/components/select/group.vdt.js +4 -10
  293. package/components/select/index.spec.js +361 -452
  294. package/components/select/menu.js +0 -5
  295. package/components/select/menu.vdt.js +18 -33
  296. package/components/select/option.js +2 -16
  297. package/components/select/option.vdt.js +7 -14
  298. package/components/select/select.js +3 -20
  299. package/components/select/select.vdt.js +9 -17
  300. package/components/select/styles.js +0 -33
  301. package/components/select/useBaseLabel.d.ts +1 -1
  302. package/components/select/useBaseLabel.js +4 -17
  303. package/components/select/useCard.js +0 -4
  304. package/components/select/useEqualWidth.js +0 -1
  305. package/components/select/useFilterable.js +5 -27
  306. package/components/select/useFocusout.d.ts +1 -1
  307. package/components/select/useFocusout.js +1 -9
  308. package/components/select/useInput.js +6 -10
  309. package/components/select/useLabel.js +3 -13
  310. package/components/select/useSearchable.js +0 -10
  311. package/components/skeleton/item.d.ts +1 -1
  312. package/components/skeleton/item.js +0 -4
  313. package/components/skeleton/item.vdt.js +1 -6
  314. package/components/skeleton/skeleton.js +0 -4
  315. package/components/skeleton/skeleton.vdt.js +6 -12
  316. package/components/skeleton/style.d.ts +1 -1
  317. package/components/skeleton/style.js +0 -1
  318. package/components/slider/index.d.ts +1 -1
  319. package/components/slider/index.js +0 -7
  320. package/components/slider/index.spec.js +467 -585
  321. package/components/slider/index.vdt.js +32 -45
  322. package/components/slider/styles.js +0 -14
  323. package/components/slider/useClick.js +2 -11
  324. package/components/slider/useDraggable.js +23 -34
  325. package/components/slider/useKeyboard.js +7 -18
  326. package/components/slider/useMarks.d.ts +5 -5
  327. package/components/slider/useMarks.js +5 -13
  328. package/components/slider/usePoints.d.ts +2 -2
  329. package/components/slider/usePoints.js +7 -21
  330. package/components/slider/useStyles.d.ts +1 -1
  331. package/components/slider/useStyles.js +5 -10
  332. package/components/slider/useTooltip.js +2 -10
  333. package/components/slider/useValue.d.ts +1 -1
  334. package/components/slider/useValue.js +7 -22
  335. package/components/spin/index.js +0 -4
  336. package/components/spin/index.vdt.js +4 -11
  337. package/components/spin/styles.js +0 -2
  338. package/components/spinner/index.d.ts +4 -4
  339. package/components/spinner/index.js +9 -24
  340. package/components/spinner/index.spec.js +359 -460
  341. package/components/spinner/index.vdt.js +10 -13
  342. package/components/spinner/styles.js +0 -3
  343. package/components/spinner/useChange.js +4 -16
  344. package/components/spinner/useFormatter.js +6 -16
  345. package/components/spinner/useStep.d.ts +3 -3
  346. package/components/spinner/useStep.js +2 -20
  347. package/components/spinner/useValue.js +11 -26
  348. package/components/split/index.js +0 -7
  349. package/components/split/index.spec.js +223 -267
  350. package/components/split/index.vdt.js +8 -17
  351. package/components/split/style.d.ts +1 -1
  352. package/components/split/style.js +0 -8
  353. package/components/split/useDraggable.js +11 -35
  354. package/components/split/useSize.js +2 -5
  355. package/components/steps/context.d.ts +2 -2
  356. package/components/steps/index.js +2 -10
  357. package/components/steps/index.spec.js +21 -27
  358. package/components/steps/index.vdt.js +8 -10
  359. package/components/steps/step.js +0 -2
  360. package/components/steps/step.vdt.js +8 -12
  361. package/components/steps/styles.js +0 -27
  362. package/components/switch/index.js +2 -23
  363. package/components/switch/index.spec.js +188 -224
  364. package/components/switch/index.vdt.js +16 -32
  365. package/components/switch/styles.js +3 -14
  366. package/components/switch/useDraggable.js +10 -18
  367. package/components/table/cell.js +0 -6
  368. package/components/table/cell.vdt.js +14 -21
  369. package/components/table/column.d.ts +1 -1
  370. package/components/table/column.js +0 -5
  371. package/components/table/column.vdt.js +19 -30
  372. package/components/table/exportTable.js +45 -56
  373. package/components/table/index.spec.js +780 -984
  374. package/components/table/row.d.ts +1 -1
  375. package/components/table/row.js +12 -41
  376. package/components/table/row.vdt.js +27 -39
  377. package/components/table/styles.js +0 -11
  378. package/components/table/table.d.ts +5 -5
  379. package/components/table/table.js +18 -50
  380. package/components/table/table.vdt.js +61 -85
  381. package/components/table/useChecked.d.ts +1 -1
  382. package/components/table/useChecked.js +20 -61
  383. package/components/table/useColumns.js +3 -16
  384. package/components/table/useDisableRow.js +2 -12
  385. package/components/table/useDraggable.js +4 -12
  386. package/components/table/useExpandable.js +2 -5
  387. package/components/table/useFixedColumns.d.ts +1 -1
  388. package/components/table/useFixedColumns.js +4 -23
  389. package/components/table/useGroup.d.ts +1 -1
  390. package/components/table/useGroup.js +7 -24
  391. package/components/table/useMerge.d.ts +4 -4
  392. package/components/table/useMerge.js +2 -14
  393. package/components/table/usePagination.js +4 -18
  394. package/components/table/useResizable.js +2 -10
  395. package/components/table/useRestRowStatus.js +2 -6
  396. package/components/table/useScroll.d.ts +1 -1
  397. package/components/table/useScroll.js +0 -3
  398. package/components/table/useSelected.js +2 -5
  399. package/components/table/useSortable.js +2 -8
  400. package/components/table/useStickyHeader.js +3 -7
  401. package/components/table/useStickyScrollbar.js +6 -16
  402. package/components/table/useTree.js +1 -12
  403. package/components/table/useWidth.js +14 -30
  404. package/components/tabs/index.js +29 -51
  405. package/components/tabs/index.spec.js +56 -74
  406. package/components/tabs/index.vdt.js +13 -16
  407. package/components/tabs/styles.js +0 -16
  408. package/components/tabs/tab.js +0 -10
  409. package/components/tabs/tab.vdt.js +6 -10
  410. package/components/tabs/useActiveBar.js +2 -11
  411. package/components/tabs/useScroll.js +4 -20
  412. package/components/tag/base.js +0 -8
  413. package/components/tag/index.js +2 -4
  414. package/components/tag/index.spec.js +19 -25
  415. package/components/tag/index.vdt.js +8 -15
  416. package/components/tag/styles.js +0 -9
  417. package/components/timeline/item.js +0 -4
  418. package/components/timeline/item.vdt.js +4 -9
  419. package/components/timeline/styles.d.ts +2 -2
  420. package/components/timeline/styles.js +0 -4
  421. package/components/timeline/timeline.js +0 -2
  422. package/components/timeline/timeline.vdt.js +2 -5
  423. package/components/timepicker/index.js +2 -7
  424. package/components/timepicker/index.spec.js +293 -368
  425. package/components/timepicker/panelPicker.js +2 -11
  426. package/components/timepicker/panelPicker.vdt.js +14 -24
  427. package/components/timepicker/selectPicker.js +0 -5
  428. package/components/timepicker/selectPicker.vdt.js +5 -10
  429. package/components/timepicker/styles.js +0 -1
  430. package/components/timepicker/useDisabled.js +2 -4
  431. package/components/timepicker/useFormats.js +4 -13
  432. package/components/timepicker/useStep.d.ts +1 -1
  433. package/components/timepicker/useStep.js +8 -17
  434. package/components/timepicker/useValue.js +16 -21
  435. package/components/tip/index.js +0 -2
  436. package/components/tip/index.vdt.js +5 -17
  437. package/components/tip/styles.js +0 -3
  438. package/components/tooltip/content.js +0 -28
  439. package/components/tooltip/content.vdt.js +15 -25
  440. package/components/tooltip/index.js +3 -7
  441. package/components/tooltip/index.spec.js +434 -572
  442. package/components/tooltip/styles.d.ts +1 -1
  443. package/components/tooltip/styles.js +2 -10
  444. package/components/tooltip/tooltip.js +2 -15
  445. package/components/tooltip/useArrow.js +11 -14
  446. package/components/transfer/index.d.ts +1 -1
  447. package/components/transfer/index.js +1 -13
  448. package/components/transfer/index.spec.js +159 -194
  449. package/components/transfer/index.vdt.js +16 -34
  450. package/components/transfer/styles.js +0 -10
  451. package/components/transfer/useCheck.d.ts +1 -1
  452. package/components/transfer/useCheck.js +1 -15
  453. package/components/transfer/useFilter.d.ts +1 -1
  454. package/components/transfer/useFilter.js +9 -30
  455. package/components/transfer/useTransfer.js +10 -26
  456. package/components/tree/index.d.ts +3 -3
  457. package/components/tree/index.js +4 -22
  458. package/components/tree/index.spec.js +285 -355
  459. package/components/tree/index.vdt.js +12 -23
  460. package/components/tree/styles.js +2 -16
  461. package/components/tree/useChecked.js +3 -26
  462. package/components/tree/useDraggable.js +12 -42
  463. package/components/tree/useExpanded.js +26 -43
  464. package/components/tree/useFilter.js +3 -10
  465. package/components/tree/useNodes.d.ts +1 -1
  466. package/components/tree/useNodes.js +0 -4
  467. package/components/tree/useSelected.js +21 -38
  468. package/components/tree/useTransitionEvent.js +3 -5
  469. package/components/treeSelect/index.js +9 -36
  470. package/components/treeSelect/index.spec.js +123 -160
  471. package/components/treeSelect/index.vdt.js +14 -20
  472. package/components/treeSelect/styles.js +0 -1
  473. package/components/treeSelect/useValue.js +0 -11
  474. package/components/types.d.ts +3 -3
  475. package/components/upload/ajaxUploader.d.ts +1 -1
  476. package/components/upload/ajaxUploader.js +0 -17
  477. package/components/upload/index.d.ts +4 -4
  478. package/components/upload/index.js +0 -14
  479. package/components/upload/index.spec.js +142 -249
  480. package/components/upload/index.vdt.js +12 -27
  481. package/components/upload/styles.js +0 -30
  482. package/components/upload/useAccept.js +2 -10
  483. package/components/upload/useDrag.js +0 -7
  484. package/components/upload/useFiles.js +103 -145
  485. package/components/upload/useShowImage.js +0 -3
  486. package/components/upload/useUpload.js +47 -69
  487. package/components/utils.d.ts +3 -3
  488. package/components/utils.js +12 -47
  489. package/components/virtual.js +9 -37
  490. package/components/wave/index.js +5 -31
  491. package/hooks/useDelayClose.js +2 -6
  492. package/hooks/useDocumentClick.js +8 -16
  493. package/hooks/useDraggable.d.ts +1 -1
  494. package/hooks/useDraggable.js +0 -9
  495. package/hooks/useKeyboard.d.ts +3 -3
  496. package/hooks/useKeyboard.js +0 -10
  497. package/hooks/useMouseOutsidable.js +0 -8
  498. package/hooks/useReceive.d.ts +1 -1
  499. package/hooks/useReceive.js +0 -4
  500. package/hooks/useRecordComponent.js +0 -6
  501. package/hooks/useRouter.js +7 -18
  502. package/hooks/useShowHideEvents.js +0 -3
  503. package/hooks/useState.d.ts +2 -2
  504. package/hooks/useState.js +2 -6
  505. package/i18n/en-US.js +0 -1
  506. package/i18n/index.d.ts +1 -1
  507. package/i18n/index.js +0 -7
  508. package/index.d.ts +2 -2
  509. package/index.js +2 -3
  510. package/package.json +2 -2
  511. package/styles/global.js +2 -3
  512. package/styles/keyframes.js +0 -1
  513. package/styles/theme.d.ts +1 -1
  514. package/styles/theme.js +4 -7
  515. package/styles/utils.d.ts +1 -1
  516. package/styles/utils.js +3 -17
  517. package/yarn-error.log +633 -517
  518. package/components/cascader/index.d.ts +0 -45
  519. package/components/datepicker/index.d.ts +0 -63
  520. package/components/select/select.d.ts +0 -33
  521. package/components/timepicker/panelPicker.d.ts +0 -54
  522. package/components/treeSelect/index.d.ts +0 -27
@@ -13,25 +13,19 @@ var typeDefs = {
13
13
  hideOnSelect: Boolean,
14
14
  _isFocus: null
15
15
  };
16
-
17
16
  var defaults = function defaults() {
18
17
  return {
19
18
  hideOnSelect: true
20
19
  };
21
20
  };
22
-
23
21
  export var DropdownItem = /*#__PURE__*/function (_Component) {
24
22
  _inheritsLoose(DropdownItem, _Component);
25
-
26
23
  function DropdownItem() {
27
24
  var _context;
28
-
29
25
  var _this;
30
-
31
26
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
32
27
  args[_key] = arguments[_key];
33
28
  }
34
-
35
29
  _this = _Component.call.apply(_Component, _concatInstanceProperty(_context = [this]).call(_context, args)) || this;
36
30
  _this.parentDropdown = void 0;
37
31
  _this.dropdown = null;
@@ -39,35 +33,28 @@ export var DropdownItem = /*#__PURE__*/function (_Component) {
39
33
  _this.dropdownMenu = null;
40
34
  return _this;
41
35
  }
42
-
43
36
  var _proto = DropdownItem.prototype;
44
-
45
37
  _proto.init = function init() {
46
38
  this.dropdown = inject(DROPDOWN);
47
39
  this.parentDropdown = this.hasSubMenu();
48
40
  this.dropdownMenu = inject(DROPDOWN_MENU);
49
41
  this.keyboard = useKeyboardForDropdownItem(this);
50
42
  };
51
-
52
43
  _proto.select = function select() {
53
- if (this.parentDropdown) return; // trigger select event firstly for Cascader update values
54
-
44
+ if (this.parentDropdown) return;
45
+ // trigger select event firstly for Cascader update values
55
46
  this.trigger('select');
56
-
57
47
  if (this.get('hideOnSelect')) {
58
48
  // hide all dropdowns
59
49
  var dropdown = this.dropdown;
60
-
61
50
  do {
62
51
  dropdown.hide(true);
63
52
  } while (dropdown = dropdown.dropdown);
64
53
  }
65
54
  };
66
-
67
55
  _proto.hasSubMenu = function hasSubMenu() {
68
56
  // wrapped by Dropdown rather than DropdownMenu
69
57
  var parent = this.$senior;
70
-
71
58
  while (parent) {
72
59
  // Tooltip extends Dropdown, it's also a instance of Dropdown
73
60
  // so use constructor to detect
@@ -75,45 +62,37 @@ export var DropdownItem = /*#__PURE__*/function (_Component) {
75
62
  if (parent.constructor === ExportDropdownMenu) {
76
63
  return;
77
64
  }
78
-
79
65
  if (parent.constructor === ExportDropdown) {
80
66
  return parent;
81
67
  }
82
-
83
68
  parent = parent.$senior;
84
69
  }
85
70
  };
86
-
87
71
  _proto.onClick = function onClick(e) {
88
- if (this.get('disabled')) return; // Some cases, the item may been removed after click immediately
72
+ if (this.get('disabled')) return;
73
+ // Some cases, the item may been removed after click immediately
89
74
  // and the menu will hide, because it can't detect it contains
90
75
  // the removed item.
91
76
  // Set the ignore flag to prevent menu from hidding
92
77
  //
93
78
  // @Change Cascader need click item to toggle show an hide
94
79
  // (e as IgnoreClickEvent)._ignore = true;
95
-
96
80
  this.trigger('click', e);
97
81
  this.select();
98
82
  };
99
-
100
83
  return DropdownItem;
101
84
  }(Component);
102
85
  DropdownItem.template = template;
103
86
  DropdownItem.typeDefs = typeDefs;
104
87
  DropdownItem.defaults = defaults;
105
-
106
88
  __decorate([bind], DropdownItem.prototype, "onClick", null);
107
-
108
89
  function useKeyboardForDropdownItem(instance) {
109
90
  var dropdownMenu = inject(DROPDOWN_MENU);
110
-
111
91
  var showMenu = function showMenu() {
112
92
  if (instance.parentDropdown) {
113
93
  instance.parentDropdown.show(true);
114
94
  }
115
95
  };
116
-
117
96
  return useItemKeyboard({
118
97
  onShowMenu: showMenu,
119
98
  onHideMenu: function onHideMenu() {
@@ -4,18 +4,15 @@ import { getRestProps } from '../utils';
4
4
  import { makeItemStyles } from './styles';
5
5
  export default function ($props, $blocks, $__proto__) {
6
6
  var _classNameObj;
7
-
8
7
  $blocks || ($blocks = {});
9
8
  $props || ($props = {});
10
9
  var $this = this;
11
-
12
10
  var _this$get = this.get(),
13
- children = _this$get.children,
14
- disabled = _this$get.disabled,
15
- className = _this$get.className,
16
- hideOnSelect = _this$get.hideOnSelect,
17
- _isFocus = _this$get._isFocus;
18
-
11
+ children = _this$get.children,
12
+ disabled = _this$get.disabled,
13
+ className = _this$get.className,
14
+ hideOnSelect = _this$get.hideOnSelect,
15
+ _isFocus = _this$get._isFocus;
19
16
  var classNameObj = (_classNameObj = {
20
17
  'k-dropdown-item': true,
21
18
  'k-disabled': disabled
@@ -8,19 +8,16 @@ import { DROPDOWN } from './dropdown';
8
8
  import { useTransition } from './useTransition';
9
9
  import { useMenuKeyboard } from './useKeyboard';
10
10
  import { useMouseOutsidable } from '../../hooks/useMouseOutsidable';
11
+ import { usePositionForDropdownMenu } from './usePosition';
11
12
  export var DROPDOWN_MENU = 'DropdownMenu';
12
13
  export var DropdownMenu = /*#__PURE__*/function (_Component) {
13
14
  _inheritsLoose(DropdownMenu, _Component);
14
-
15
15
  function DropdownMenu() {
16
16
  var _context;
17
-
18
17
  var _this;
19
-
20
18
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
21
19
  args[_key] = arguments[_key];
22
20
  }
23
-
24
21
  _this = _Component.call.apply(_Component, _concatInstanceProperty(_context = [this]).call(_context, args)) || this;
25
22
  _this.elementRef = createRef();
26
23
  _this.dropdown = inject(DROPDOWN);
@@ -30,68 +27,56 @@ export var DropdownMenu = /*#__PURE__*/function (_Component) {
30
27
  });
31
28
  return _this;
32
29
  }
33
-
34
30
  var _proto = DropdownMenu.prototype;
35
-
36
31
  _proto.init = function init() {
37
32
  provide(DROPDOWN_MENU, this);
38
33
  useMouseOutsidable(this.elementRef);
39
- } // no matter what the trigger is, we should show menu when enter into it.
34
+ usePositionForDropdownMenu();
35
+ }
36
+ // no matter what the trigger is, we should show menu when enter into it.
40
37
  ;
41
-
42
38
  _proto.onMouseEnter = function onMouseEnter(e) {
43
39
  var dropdown = this.dropdown;
44
40
  dropdown.show();
45
41
  dropdown.trigger('mouseenter', e);
46
42
  };
47
-
48
43
  _proto.onMouseLeave = function onMouseLeave(e) {
49
44
  var dropdown = this.dropdown;
50
45
  dropdown.hide();
51
46
  dropdown.trigger('mouseleave', e);
52
47
  };
53
-
54
48
  return DropdownMenu;
55
49
  }(Component);
56
50
  DropdownMenu.template = template;
57
-
58
51
  __decorate([bind], DropdownMenu.prototype, "onMouseEnter", null);
59
-
60
52
  __decorate([bind], DropdownMenu.prototype, "onMouseLeave", null);
61
-
62
53
  function useKeyboardForDropdownMenu(dropdown) {
63
54
  var parentDropdownMenu = inject(DROPDOWN_MENU, null);
64
-
65
55
  var _useMenuKeyboard = useMenuKeyboard(),
66
- _useMenuKeyboard$ = _useMenuKeyboard[0],
67
- addKeydown = _useMenuKeyboard$[0],
68
- removeKeydown = _useMenuKeyboard$[1],
69
- lock = _useMenuKeyboard$[2],
70
- focusByIndex = _useMenuKeyboard[1],
71
- reset = _useMenuKeyboard[2];
72
-
56
+ _useMenuKeyboard$ = _useMenuKeyboard[0],
57
+ addKeydown = _useMenuKeyboard$[0],
58
+ removeKeydown = _useMenuKeyboard$[1],
59
+ lock = _useMenuKeyboard$[2],
60
+ focusByIndex = _useMenuKeyboard[1],
61
+ reset = _useMenuKeyboard[2];
73
62
  var onShow = function onShow() {
74
- addKeydown(); // lock parent dropdown menu, prevent it from operating by keyboard
75
-
63
+ addKeydown();
64
+ // lock parent dropdown menu, prevent it from operating by keyboard
76
65
  parentDropdownMenu && parentDropdownMenu.keyboard.lock(true);
77
66
  };
78
-
79
67
  var onHide = function onHide() {
80
68
  reset();
81
69
  removeKeydown();
82
70
  parentDropdownMenu && parentDropdownMenu.keyboard.lock(false);
83
71
  };
84
-
85
72
  var focus = function focus() {
86
73
  return focusByIndex(0);
87
- }; // In Cascader the menu may have been replaced by another menu, in this case,
74
+ };
75
+ // In Cascader the menu may have been replaced by another menu, in this case,
88
76
  // if the dropdown has showed while we mounted the menu, add keydown listener
89
-
90
-
91
77
  if (dropdown.get('value')) {
92
78
  onShow();
93
79
  }
94
-
95
80
  dropdown.on('show', onShow);
96
81
  dropdown.on('hide', onHide);
97
82
  dropdown.on('shouldFocus', focus);
@@ -4,30 +4,24 @@ import { Transition } from 'intact';
4
4
  import { makeMenuStyles } from './styles';
5
5
  export default function ($props, $blocks, $__proto__) {
6
6
  var _classNameObj;
7
-
8
7
  $blocks || ($blocks = {});
9
8
  $props || ($props = {});
10
9
  var $this = this;
11
10
  var _$blocks = {};
12
11
  var __$blocks = {};
13
-
14
12
  var _this$dropdown$get = this.dropdown.get(),
15
- value = _this$dropdown$get.value,
16
- trigger = _this$dropdown$get.trigger,
17
- container = _this$dropdown$get.container;
18
-
13
+ value = _this$dropdown$get.value,
14
+ trigger = _this$dropdown$get.trigger,
15
+ container = _this$dropdown$get.container;
19
16
  var _this$get = this.get(),
20
- children = _this$get.children,
21
- className = _this$get.className;
22
-
17
+ children = _this$get.children,
18
+ className = _this$get.className;
23
19
  var classNameObj = (_classNameObj = {
24
20
  'k-dropdown-menu': true
25
21
  }, _classNameObj[className] = className, _classNameObj[$props.className] = $props.className, _classNameObj[makeMenuStyles()] = true, _classNameObj);
26
-
27
22
  var transition = $props.transition || _extends({
28
23
  css: false
29
24
  }, this.transition);
30
-
31
25
  return _$cc(Transition, _extends({
32
26
  'show': 'value' in $props ? $props.value : !!value,
33
27
  'appear': true
@@ -36,11 +30,9 @@ export default function ($props, $blocks, $__proto__) {
36
30
  return children;
37
31
  }, __$blocks['children'] = function ($super, data) {
38
32
  var block = $blocks['children'];
39
-
40
33
  var callBlock = function callBlock() {
41
34
  return _$blocks['children'].call($this, $super, data);
42
35
  };
43
-
44
36
  return block ? block.call($this, callBlock, data) : callBlock();
45
37
  }, __$blocks['children'](_$no)), 0, _$cn(classNameObj), {
46
38
  'ev-mouseenter': this.onMouseEnter,
@@ -7,39 +7,30 @@ var defaults = {
7
7
  get height() {
8
8
  return theme.default.height;
9
9
  },
10
-
11
10
  get padding() {
12
11
  return "0 " + theme.default.padding;
13
12
  },
14
-
15
13
  get hoverBgColor() {
16
14
  return theme.color.bg;
17
15
  },
18
-
19
16
  // disabled
20
17
  get disabledBgColor() {
21
18
  return theme.color.disabledBg;
22
19
  },
23
-
24
20
  get disabledColor() {
25
21
  return theme.color.disabled;
26
22
  }
27
-
28
23
  },
29
24
  menu: {
30
25
  minWidth: '100px',
31
26
  bgColor: '#fff',
32
-
33
27
  get borderRadius() {
34
28
  return theme.borderRadius;
35
29
  },
36
-
37
30
  fontSize: '12px',
38
-
39
31
  get zIndex() {
40
32
  return theme.midZIndex;
41
33
  }
42
-
43
34
  }
44
35
  };
45
36
  var dropdown;
@@ -10,11 +10,11 @@ export declare enum Direction {
10
10
  Up = 0,
11
11
  Down = 1
12
12
  }
13
- export declare type MenuKeyboardMethods = {
13
+ export type MenuKeyboardMethods = {
14
14
  reset: () => void;
15
15
  focus: (item: DropdownItem) => void;
16
16
  };
17
- export declare function useMenuKeyboard(): readonly [readonly [() => void, () => void, (v: boolean) => boolean], (index: number, direction?: Direction | undefined) => void, () => void];
17
+ export declare function useMenuKeyboard(): readonly [readonly [() => void, () => void, (v: boolean) => boolean], (index: number, direction?: Direction) => void, () => void];
18
18
  export declare function useItemKeyboard(itemEvents: Omit<ItemEvents, 'onFocusin' | 'onFocusout'>): {
19
19
  onMouseEnter(e: MouseEvent): void;
20
20
  onMouseLeave(e: MouseEvent): void;
@@ -4,39 +4,34 @@ import { useRecordParent, useRecordItem } from '../../hooks/useRecordComponent';
4
4
  import { useKeyboard } from '../../hooks/useKeyboard';
5
5
  import { useState } from '../../hooks/useState';
6
6
  import { isComponentVNode } from '../utils';
7
- import { DropdownItem } from './item'; // can not import DropdownMenu from index.ts, otherwise it will cause circle reference
7
+ import { DropdownItem } from './item';
8
+ // can not import DropdownMenu from index.ts, otherwise it will cause circle reference
8
9
  // import {DropdownMenu} from './';
9
-
10
10
  import { DropdownMenu } from './menu';
11
11
  export var Direction;
12
-
13
12
  (function (Direction) {
14
13
  Direction[Direction["Up"] = 0] = "Up";
15
14
  Direction[Direction["Down"] = 1] = "Down";
16
15
  })(Direction || (Direction = {}));
17
-
18
16
  var ITEM_EVENTS = 'ItemEvents';
19
17
  var MENU_KEYBOARD = 'MenuKeyboard';
20
18
  export function useMenuKeyboard() {
21
19
  var items = [];
22
20
  var itemEvents = useRecordParent(ITEM_EVENTS, true);
23
21
  var instance = useInstance();
24
- var focusIndex = -1; // we can't use the way that DropdownItem push itself to DropdownMenu to collect the items
22
+ var focusIndex = -1;
23
+ // we can't use the way that DropdownItem push itself to DropdownMenu to collect the items
25
24
  // because it can't guarantee the order
26
-
27
25
  function collect() {
28
26
  items.length = 0;
29
27
  var children = instance.$lastInput;
30
-
31
28
  var loop = function loop(vNode) {
32
29
  if (isComponentVNode(vNode, DropdownItem)) {
33
30
  items.push(vNode.children);
34
31
  } else {
35
32
  var _children = vNode.children;
36
-
37
33
  if (isComponentClass(vNode)) {
38
34
  var tag = vNode.tag;
39
-
40
35
  if (tag !== DropdownMenu && !(tag.prototype instanceof DropdownMenu)) {
41
36
  loop(_children.$lastInput);
42
37
  }
@@ -49,11 +44,9 @@ export function useMenuKeyboard() {
49
44
  }
50
45
  }
51
46
  };
52
-
53
47
  loop(children);
54
48
  return children;
55
49
  }
56
-
57
50
  onMounted(collect);
58
51
  var oldFocusIndex;
59
52
  onBeforeUpdate(function () {
@@ -65,52 +58,43 @@ export function useMenuKeyboard() {
65
58
  if (oldFocusIndex < 0) return;
66
59
  focusByIndex(oldFocusIndex, Direction.Up);
67
60
  });
68
-
69
61
  function next(e) {
70
62
  e.preventDefault();
71
63
  focusByIndex(focusIndex + 1, Direction.Down);
72
64
  }
73
-
74
65
  function prev(e) {
75
66
  e.preventDefault();
76
67
  focusByIndex(focusIndex - 1, Direction.Up);
77
68
  }
78
-
79
69
  function focusByIndex(index, direction) {
80
70
  var max = items.length - 1;
81
71
  index = fixIndex(index, max);
82
72
  reset();
83
73
  var item = items[index];
84
74
  var i = 0;
85
-
86
75
  while (i <= max && item && item.get('disabled')) {
87
76
  index = fixIndex(direction === Direction.Down ? index + 1 : index - 1, max);
88
77
  item = items[index];
89
78
  i++;
90
- } // all items are disabled
91
-
92
-
79
+ }
80
+ // all items are disabled
93
81
  if (i > max) return;
94
82
  focusIndex = index;
95
83
  focusItem(item);
96
84
  }
97
-
98
85
  function focusItem(item) {
99
86
  itemEvents.get(item).onFocusin();
100
87
  var el = findDomFromVNode(item.$lastInput, true);
101
88
  var menuEl = findDomFromVNode(instance.$vNode, false);
102
89
  scrollToView(el, menuEl);
103
90
  }
104
-
105
91
  function reset() {
106
92
  var item = items[focusIndex];
107
-
108
93
  if (focusIndex > -1 && item) {
109
94
  itemEvents.get(item).onFocusout();
110
95
  focusIndex = -1;
111
96
  }
112
97
  }
113
-
114
98
  function makeEventCall(name) {
115
99
  return function (e) {
116
100
  if (focusIndex < 0) return;
@@ -118,13 +102,12 @@ export function useMenuKeyboard() {
118
102
  itemEvents.get(items[focusIndex])[name]();
119
103
  };
120
104
  }
121
-
122
105
  provide(MENU_KEYBOARD, {
123
106
  reset: reset,
124
107
  focus: function focus(item) {
125
108
  // reset();
126
- var index = items.indexOf(item); // if (index === -1) debugger
127
-
109
+ var index = items.indexOf(item);
110
+ // if (index === -1) debugger
128
111
  focusIndex = index;
129
112
  focusItem(item);
130
113
  }
@@ -162,31 +145,26 @@ export function useItemKeyboard(itemEvents) {
162
145
  isFocus: isFocus
163
146
  };
164
147
  }
165
-
166
148
  function fixIndex(index, max) {
167
149
  if (index > max) {
168
150
  index = 0;
169
151
  } else if (index < 0) {
170
152
  index = max;
171
153
  }
172
-
173
154
  return index;
174
155
  }
175
-
176
156
  function scrollToView(el, menuEl) {
177
157
  var elRect = el.getBoundingClientRect();
178
158
  var pEl = getScrollParent(el.parentElement, menuEl);
179
159
  var pElRect = pEl.getBoundingClientRect();
180
160
  var bottomOverflowDistance = elRect.bottom - pElRect.bottom;
181
161
  var topOverflowDistance = elRect.top - pElRect.top;
182
-
183
162
  if (bottomOverflowDistance > 0) {
184
163
  pEl.scrollTop += bottomOverflowDistance;
185
164
  } else if (topOverflowDistance < 0) {
186
165
  pEl.scrollTop += topOverflowDistance;
187
166
  }
188
167
  }
189
-
190
168
  function getScrollParent(node, breakEl) {
191
169
  if (node === breakEl || node.scrollHeight > node.clientHeight) return node;
192
170
  return getScrollParent(node.parentElement, breakEl);
@@ -1,8 +1,9 @@
1
1
  import { Feedback } from '../position';
2
- export declare type FeedbackCallback = (feedback: Feedback) => void;
2
+ export type FeedbackCallback = (feedback: Feedback) => void;
3
3
  export declare function usePosition(): {
4
4
  handle: (callback: FeedbackCallback) => void;
5
5
  positioned: {
6
6
  value: boolean;
7
7
  };
8
8
  };
9
+ export declare function usePositionForDropdownMenu(): void;
@@ -1,5 +1,5 @@
1
1
  import _extends from "@babel/runtime-corejs3/helpers/extends";
2
- import { useInstance, findDomFromVNode } from 'intact-vue-next';
2
+ import { useInstance, findDomFromVNode, onBeforeUnmount } from 'intact-vue-next';
3
3
  import { position } from '../position';
4
4
  import { noop, isObject, isFunction } from 'intact-shared';
5
5
  import { isEqualObject } from '../utils';
@@ -15,29 +15,31 @@ export function usePosition() {
15
15
  });
16
16
  ['of', 'position'].forEach(function (item) {
17
17
  instance.watch(item, function (newValue, oldValue) {
18
- if (!instance.get('value') || // return if object is the same
19
- isObject(newValue) && isObject(oldValue) && // is not event object
18
+ if (!instance.get('value') ||
19
+ // return if object is the same
20
+ isObject(newValue) && isObject(oldValue) &&
21
+ // is not event object
20
22
  !(newValue instanceof Event) && isEqualObject(newValue, oldValue)) return;
21
23
  handle(noop);
22
24
  }, {
23
25
  presented: true,
24
26
  inited: true
25
27
  });
26
- }); // watch container, it is not commonly used
27
-
28
+ });
29
+ // watch container, it is not commonly used
28
30
  instance.watch('container', function (newValue, oldValue) {
29
- if (!instance.get('value') || // return if function is the same. Not rigorous!
31
+ if (!instance.get('value') ||
32
+ // return if function is the same. Not rigorous!
30
33
  isFunction(newValue) && isFunction(oldValue) && newValue.toString() === oldValue.toString()) return;
31
34
  handle(noop);
32
35
  }, {
33
36
  presented: true,
34
37
  inited: true
35
- }); // if the dropdown is nested, we must show child after parent has positioned
36
-
38
+ });
39
+ // if the dropdown is nested, we must show child after parent has positioned
37
40
  function p(ofElement, parentFeedback) {
38
41
  var feedback;
39
42
  var pos = instance.get('position');
40
-
41
43
  switch (pos) {
42
44
  case 'left':
43
45
  case 'left':
@@ -46,21 +48,18 @@ export function usePosition() {
46
48
  at: 'left center'
47
49
  };
48
50
  break;
49
-
50
51
  case 'bottom':
51
52
  pos = {
52
53
  my: 'center top+10',
53
54
  at: 'center bottom'
54
55
  };
55
56
  break;
56
-
57
57
  case 'right':
58
58
  pos = {
59
59
  my: 'left+10 center',
60
60
  at: 'right center'
61
61
  };
62
62
  break;
63
-
64
63
  case 'top':
65
64
  pos = {
66
65
  my: 'center bottom-10',
@@ -68,7 +67,6 @@ export function usePosition() {
68
67
  };
69
68
  break;
70
69
  }
71
-
72
70
  position(findDomFromVNode(instance.menuVNode, true), _extends({
73
71
  my: 'left top+8',
74
72
  at: 'left bottom',
@@ -83,32 +81,26 @@ export function usePosition() {
83
81
  instance.trigger('positioned', parentFeedback || feedback);
84
82
  return parentFeedback || feedback;
85
83
  }
86
-
87
84
  function handle(callback) {
88
85
  var _of = instance.get('of');
89
-
90
86
  if (_of === 'parent') {
91
87
  var parent = instance.dropdown;
92
-
93
88
  if (process.env.NODE_ENV !== 'production') {
94
89
  if (!parent) {
95
90
  throw new Error('The dropdown has not parent, so you can not use `parent` as `of`.');
96
91
  }
97
92
  }
98
-
99
93
  var ofElement = findDomFromVNode(parent.menuVNode, true);
100
-
101
94
  if (parent.positionHook.positioned.value) {
102
95
  callback(p(ofElement, null));
103
96
  } else {
104
97
  // wait the parent has positioned
105
98
  var fn = function fn(feedback) {
106
- parent.off('positioned', fn); // let the child menu has the same transtion with parent menu,
99
+ parent.off('positioned', fn);
100
+ // let the child menu has the same transtion with parent menu,
107
101
  // when them show together
108
-
109
102
  callback(p(ofElement, feedback));
110
103
  };
111
-
112
104
  parent.on('positioned', fn);
113
105
  }
114
106
  } else if (_of === 'self') {
@@ -117,9 +109,19 @@ export function usePosition() {
117
109
  callback(p(_of, null));
118
110
  }
119
111
  }
120
-
121
112
  return {
122
113
  handle: handle,
123
114
  positioned: positioned
124
115
  };
116
+ }
117
+ export function usePositionForDropdownMenu() {
118
+ var instance = useInstance();
119
+ /**
120
+ * Meybe the DropdownMenu has changed by specified key
121
+ * so, we must reset the positioned.value beforeUnmount
122
+ * #956
123
+ */
124
+ onBeforeUnmount(function () {
125
+ instance.dropdown.positionHook.positioned.value = false;
126
+ });
125
127
  }
@@ -1,7 +1,6 @@
1
1
  import { addTransitionClass, removeTransitionClass, whenTransitionEnds } from 'intact-vue-next';
2
2
  export function useTransition(getFeedback) {
3
3
  var transition = 'k-slidedown';
4
-
5
4
  function onEnter(el, done) {
6
5
  getFeedback(function (feedback) {
7
6
  transition = getTransition(feedback);
@@ -17,11 +16,9 @@ export function useTransition(getFeedback) {
17
16
  });
18
17
  });
19
18
  }
20
-
21
19
  function onEnterCancelled(el) {
22
20
  removeTransitionClass(el, transition + "-enter-active");
23
21
  }
24
-
25
22
  function onLeave(el, done) {
26
23
  // maybe the position has changed, so we re-get it
27
24
  getFeedback(function (feedback) {
@@ -34,12 +31,10 @@ export function useTransition(getFeedback) {
34
31
  });
35
32
  });
36
33
  }
37
-
38
34
  function onLeaveCancelled(el) {
39
35
  removeTransitionClass(el, transition + "-leave-to");
40
36
  removeTransitionClass(el, transition + "-leave-active");
41
37
  }
42
-
43
38
  return {
44
39
  onEnter: onEnter,
45
40
  onEnterCancelled: onEnterCancelled,
@@ -47,11 +42,9 @@ export function useTransition(getFeedback) {
47
42
  onLeaveCancelled: onLeaveCancelled
48
43
  };
49
44
  }
50
-
51
45
  function getTransition(feedback) {
52
46
  var horizontal = feedback.horizontal;
53
47
  var vertical = feedback.vertical;
54
-
55
48
  if (feedback.important === 'horizontal') {
56
49
  if (horizontal === 'left') {
57
50
  return 'k-slideright';
@@ -73,6 +66,5 @@ function getTransition(feedback) {
73
66
  return 'k-slideleft';
74
67
  }
75
68
  }
76
-
77
69
  return 'k-slidedown';
78
70
  }