@king-design/react 3.1.4-beta.2 → 3.1.5

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