@king-design/intact 2.0.0-beta.1 → 2.0.2

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 (544) hide show
  1. package/README.md +20 -118
  2. package/components/affix/demos/basic.md +2 -1
  3. package/components/affix/demos/custom.md +5 -5
  4. package/components/affix/index.md +2 -2
  5. package/components/affix/styles.ts +1 -1
  6. package/components/badge/demos/text.md +1 -1
  7. package/components/badge/index.md +3 -3
  8. package/components/badge/styles.ts +1 -1
  9. package/components/breadcrumb/demos/basic.md +1 -1
  10. package/components/breadcrumb/index.md +3 -10
  11. package/components/breadcrumb/item.ts +4 -14
  12. package/components/breadcrumb/styles.ts +9 -5
  13. package/components/button/demos/group.md +2 -2
  14. package/components/button/demos/icon.md +1 -0
  15. package/components/button/demos/loading.md +1 -1
  16. package/components/button/demos/tagName.md +0 -1
  17. package/components/button/index.md +13 -13
  18. package/components/button/index.vdt +32 -23
  19. package/components/button/styles.ts +22 -12
  20. package/components/card/demos/basic.md +4 -4
  21. package/components/card/demos/extra.md +13 -7
  22. package/components/card/demos/noHeader.md +4 -4
  23. package/components/card/index.md +3 -3
  24. package/components/card/styles.ts +2 -2
  25. package/components/carousel/index.md +4 -4
  26. package/components/carousel/styles.ts +2 -2
  27. package/components/carousel/useSlide.ts +3 -2
  28. package/components/cascader/demos/loadData.md +1 -1
  29. package/components/cascader/index.md +45 -16
  30. package/components/cascader/index.spec.ts +60 -1
  31. package/components/cascader/index.vdt +4 -4
  32. package/components/cascader/styles.ts +1 -1
  33. package/components/cascader/useLabel.ts +9 -9
  34. package/components/checkbox/demos/basic.md +1 -1
  35. package/components/checkbox/demos/indeterminate.md +4 -20
  36. package/components/checkbox/demos/value.md +1 -1
  37. package/components/checkbox/index.md +10 -10
  38. package/components/checkbox/index.vdt +16 -13
  39. package/components/checkbox/styles.ts +3 -7
  40. package/components/code/demos/basic.md +3 -3
  41. package/components/code/index.md +8 -10
  42. package/components/collapse/index.md +8 -8
  43. package/components/collapse/item.vdt +1 -1
  44. package/components/collapse/styles.ts +4 -3
  45. package/components/colorpicker/index.md +3 -3
  46. package/components/colorpicker/index.spec.ts +1 -1
  47. package/components/colorpicker/index.ts +3 -0
  48. package/components/colorpicker/index.vdt +5 -1
  49. package/components/colorpicker/styles.ts +1 -1
  50. package/components/context.ts +14 -7
  51. package/components/datepicker/demos/disabledDate.md +0 -2
  52. package/components/datepicker/demos/format.md +1 -1
  53. package/components/datepicker/demos/shortcuts.md +2 -2
  54. package/components/datepicker/helpers.ts +9 -2
  55. package/components/datepicker/index.md +50 -27
  56. package/components/datepicker/index.spec.ts +1 -1
  57. package/components/datepicker/index.vdt +7 -6
  58. package/components/datepicker/styles.ts +1 -1
  59. package/components/diagram/index.md +108 -59
  60. package/components/diagram/shapes/line.ts +2 -3
  61. package/components/dialog/base.ts +2 -1
  62. package/components/dialog/demos/block.md +10 -56
  63. package/components/dialog/demos/size.md +1 -1
  64. package/components/dialog/index.md +47 -56
  65. package/components/dialog/index.spec.ts +2 -18
  66. package/components/dialog/styles.ts +4 -3
  67. package/components/dialog/useFixBody.ts +16 -0
  68. package/components/drawer/index.md +23 -20
  69. package/components/drawer/index.spec.ts +5 -5
  70. package/components/drawer/styles.ts +2 -2
  71. package/components/dropdown/demos/basic.md +4 -16
  72. package/components/dropdown/demos/contextmenu.md +1 -7
  73. package/components/dropdown/demos/disabled.md +1 -1
  74. package/components/dropdown/demos/nested.md +2 -4
  75. package/components/dropdown/demos/position.md +5 -6
  76. package/components/dropdown/demos/trigger.md +2 -4
  77. package/components/dropdown/dropdown.ts +2 -0
  78. package/components/dropdown/index.md +26 -15
  79. package/components/dropdown/index.spec.ts +3 -3
  80. package/components/dropdown/index.ts +1 -2
  81. package/components/dropdown/styles.ts +2 -2
  82. package/components/editable/index.md +10 -15
  83. package/components/editable/index.vdt +1 -0
  84. package/components/editable/styles.ts +1 -1
  85. package/components/form/demos/basic.md +15 -15
  86. package/components/form/index.md +29 -13
  87. package/components/form/index.spec.ts +9 -9
  88. package/components/form/item.vdt +6 -1
  89. package/components/form/methods.ts +6 -1
  90. package/components/form/styles.ts +1 -1
  91. package/components/form/useError.ts +3 -0
  92. package/components/form/useValidate.ts +2 -2
  93. package/components/grid/col.vdt +1 -1
  94. package/components/grid/index.md +34 -13
  95. package/components/grid/styles.ts +4 -1
  96. package/components/icon/index.md +4 -2
  97. package/components/icon/index.vdt +2 -2
  98. package/components/icon/styles.ts +11 -8
  99. package/components/input/demos/blocks.md +2 -2
  100. package/components/input/demos/clearable.md +3 -3
  101. package/components/input/demos/inline.md +12 -0
  102. package/components/input/demos/size.md +0 -1
  103. package/components/input/index.md +18 -22
  104. package/components/input/index.ts +2 -0
  105. package/components/input/index.vdt +42 -33
  106. package/components/input/search.vdt +4 -1
  107. package/components/input/styles.ts +8 -12
  108. package/components/layout/demos/asideFix.md +2 -3
  109. package/components/layout/index.md +5 -5
  110. package/components/layout/styles.ts +5 -4
  111. package/components/menu/demos/collapse.md +3 -1
  112. package/components/menu/index.md +11 -11
  113. package/components/menu/index.spec.ts +12 -6
  114. package/components/menu/item.ts +10 -16
  115. package/components/menu/item.vdt +3 -3
  116. package/components/menu/menu.ts +4 -0
  117. package/components/menu/styles.ts +6 -5
  118. package/components/menu/useExpanded.ts +1 -1
  119. package/components/menu/useHighlight.ts +45 -40
  120. package/components/message/index.md +23 -25
  121. package/components/message/index.spec.ts +1 -1
  122. package/components/message/styles.ts +7 -3
  123. package/components/pagination/index.md +11 -19
  124. package/components/pagination/styles.ts +2 -2
  125. package/components/progress/demos/customColor.md +1 -1
  126. package/components/progress/index.md +11 -5
  127. package/components/progress/styles.ts +2 -2
  128. package/components/radio/index.md +4 -7
  129. package/components/radio/index.vdt +15 -12
  130. package/components/radio/styles.ts +6 -10
  131. package/components/rate/index.md +5 -5
  132. package/components/rate/styles.ts +3 -2
  133. package/components/scrollSelect/index.md +14 -5
  134. package/components/scrollSelect/styles.ts +7 -2
  135. package/components/select/base.ts +0 -1
  136. package/components/select/base.vdt +128 -112
  137. package/components/select/demos/creatable.md +1 -1
  138. package/components/select/demos/customMenu.md +1 -1
  139. package/components/select/demos/format.md +3 -7
  140. package/components/select/index.md +35 -30
  141. package/components/select/index.spec.ts +1 -1
  142. package/components/select/menu.vdt +1 -0
  143. package/components/select/styles.ts +15 -9
  144. package/components/slider/demos/marks.md +2 -2
  145. package/components/slider/index.md +31 -16
  146. package/components/slider/styles.ts +5 -4
  147. package/components/spin/index.md +2 -2
  148. package/components/spin/styles.ts +1 -1
  149. package/components/spinner/index.md +23 -14
  150. package/components/spinner/index.ts +2 -2
  151. package/components/spinner/styles.ts +1 -1
  152. package/components/split/index.md +7 -7
  153. package/components/split/style.ts +2 -2
  154. package/components/steps/index.md +3 -3
  155. package/components/steps/styles.ts +3 -2
  156. package/components/switch/index.md +10 -19
  157. package/components/switch/styles.ts +5 -4
  158. package/components/table/demos/animation.md +92 -0
  159. package/components/table/demos/basic.md +1 -1
  160. package/components/table/demos/checkedKeys.md +2 -3
  161. package/components/table/demos/disableRow.md +2 -2
  162. package/components/table/demos/empty.md +1 -1
  163. package/components/table/demos/export.md +8 -7
  164. package/components/table/demos/fixColumn.md +2 -2
  165. package/components/table/demos/fixHeader.md +3 -3
  166. package/components/table/demos/group.md +3 -3
  167. package/components/table/demos/mergeCell.md +1 -1
  168. package/components/table/demos/resizable.md +1 -1
  169. package/components/table/demos/rowClassName.md +1 -1
  170. package/components/table/demos/rowExpandable.md +2 -6
  171. package/components/table/demos/sort.md +2 -1
  172. package/components/table/demos/stickHeader.md +3 -3
  173. package/components/table/demos/stickScrollbar.md +3 -3
  174. package/components/table/demos/tooltip.md +1 -2
  175. package/components/table/index.md +92 -66
  176. package/components/table/index.spec.ts +4 -1
  177. package/components/table/index.ts +1 -0
  178. package/components/table/row.vdt +5 -1
  179. package/components/table/styles.ts +17 -5
  180. package/components/table/table.ts +2 -0
  181. package/components/table/table.vdt +91 -86
  182. package/components/table/useFixedColumns.ts +5 -3
  183. package/components/table/useWidth.ts +8 -1
  184. package/components/tabs/index.md +15 -8
  185. package/components/tabs/index.spec.ts +1 -1
  186. package/components/tabs/styles.ts +11 -7
  187. package/components/tabs/tab.vdt +1 -1
  188. package/components/tabs/useActiveBar.ts +3 -2
  189. package/components/tag/base.ts +3 -0
  190. package/components/tag/demos/border.md +2 -1
  191. package/components/tag/index.md +4 -3
  192. package/components/tag/styles.ts +9 -4
  193. package/components/timeline/styles.ts +3 -3
  194. package/components/timepicker/constants.ts +3 -2
  195. package/components/timepicker/demos/basic.md +2 -2
  196. package/components/timepicker/demos/step.md +1 -1
  197. package/components/timepicker/index.md +47 -16
  198. package/components/timepicker/index.spec.ts +11 -10
  199. package/components/timepicker/styles.ts +1 -1
  200. package/components/timepicker/useStep.ts +3 -3
  201. package/components/timepicker/useValue.ts +2 -2
  202. package/components/tip/demos/closable.md +1 -1
  203. package/components/tip/index.md +8 -4
  204. package/components/tip/styles.ts +1 -1
  205. package/components/tooltip/demos/basic.md +2 -13
  206. package/components/tooltip/demos/trigger.md +1 -2
  207. package/components/tooltip/index.md +26 -13
  208. package/components/tooltip/index.spec.ts +24 -15
  209. package/components/tooltip/styles.ts +1 -1
  210. package/components/transfer/index.md +36 -23
  211. package/components/transfer/index.spec.ts +7 -6
  212. package/components/transfer/styles.ts +3 -9
  213. package/components/tree/index.md +76 -49
  214. package/components/tree/index.spec.ts +13 -12
  215. package/components/tree/index.ts +1 -0
  216. package/components/tree/index.vdt +1 -0
  217. package/components/tree/styles.ts +7 -4
  218. package/components/treeSelect/index.md +50 -20
  219. package/components/treeSelect/index.spec.ts +5 -5
  220. package/components/treeSelect/styles.ts +3 -2
  221. package/components/upload/index.md +55 -19
  222. package/components/upload/index.spec.ts +1 -1
  223. package/components/upload/index.ts +1 -1
  224. package/components/upload/index.vdt +3 -4
  225. package/components/upload/styles.ts +5 -4
  226. package/components/utils.ts +1 -1
  227. package/components/wave/index.ts +94 -0
  228. package/components/wave/styles.ts +50 -0
  229. package/es/components/breadcrumb/item.d.ts +1 -1
  230. package/es/components/breadcrumb/item.js +3 -14
  231. package/es/components/breadcrumb/styles.js +1 -1
  232. package/es/components/button/index.vdt.js +26 -17
  233. package/es/components/button/styles.d.ts +82 -1
  234. package/es/components/button/styles.js +16 -2
  235. package/es/components/card/styles.js +1 -1
  236. package/es/components/carousel/styles.js +4 -1
  237. package/es/components/carousel/useSlide.js +10 -9
  238. package/es/components/cascader/index.spec.js +89 -1
  239. package/es/components/cascader/index.vdt.js +4 -4
  240. package/es/components/cascader/useLabel.js +8 -12
  241. package/es/components/checkbox/index.vdt.js +15 -10
  242. package/es/components/checkbox/styles.js +2 -2
  243. package/es/components/collapse/item.vdt.js +2 -1
  244. package/es/components/collapse/styles.js +5 -1
  245. package/es/components/colorpicker/index.d.ts +2 -0
  246. package/es/components/colorpicker/index.js +2 -1
  247. package/es/components/colorpicker/index.spec.js +1 -1
  248. package/es/components/colorpicker/index.vdt.js +3 -1
  249. package/es/components/context.d.ts +5 -2
  250. package/es/components/context.js +7 -4
  251. package/es/components/datepicker/helpers.d.ts +2 -1
  252. package/es/components/datepicker/helpers.js +8 -2
  253. package/es/components/datepicker/index.spec.js +1 -1
  254. package/es/components/datepicker/index.vdt.js +10 -5
  255. package/es/components/datepicker/styles.d.ts +46 -1
  256. package/es/components/diagram/shapes/generateShapes.js +3 -3
  257. package/es/components/diagram/shapes/line.d.ts +2 -2
  258. package/es/components/diagram/shapes/line.js +0 -1
  259. package/es/components/dialog/base.d.ts +2 -0
  260. package/es/components/dialog/base.js +2 -1
  261. package/es/components/dialog/index.spec.js +59 -94
  262. package/es/components/dialog/styles.js +5 -1
  263. package/es/components/dialog/useFixBody.d.ts +6 -0
  264. package/es/components/dialog/useFixBody.js +12 -0
  265. package/es/components/drawer/index.spec.js +5 -5
  266. package/es/components/drawer/styles.js +1 -1
  267. package/es/components/dropdown/dropdown.js +1 -0
  268. package/es/components/dropdown/index.js +1 -2
  269. package/es/components/dropdown/index.spec.js +3 -3
  270. package/es/components/dropdown/styles.js +1 -1
  271. package/es/components/editable/index.vdt.js +2 -1
  272. package/es/components/editable/styles.d.ts +8 -1
  273. package/es/components/form/index.spec.js +10 -12
  274. package/es/components/form/item.vdt.js +13 -9
  275. package/es/components/form/useError.d.ts +4 -0
  276. package/es/components/form/useError.js +3 -1
  277. package/es/components/form/useValidate.js +2 -2
  278. package/es/components/grid/col.vdt.js +4 -2
  279. package/es/components/grid/styles.js +1 -1
  280. package/es/components/grid/useGutter.d.ts +1 -1
  281. package/es/components/icon/index.vdt.js +3 -2
  282. package/es/components/icon/styles.js +8 -4
  283. package/es/components/input/index.d.ts +1 -0
  284. package/es/components/input/index.js +2 -1
  285. package/es/components/input/index.vdt.js +47 -32
  286. package/es/components/input/search.vdt.js +4 -2
  287. package/es/components/input/styles.js +8 -3
  288. package/es/components/layout/styles.d.ts +1 -1
  289. package/es/components/layout/styles.js +7 -3
  290. package/es/components/menu/index.spec.js +15 -8
  291. package/es/components/menu/item.d.ts +1 -2
  292. package/es/components/menu/item.js +10 -17
  293. package/es/components/menu/item.vdt.js +4 -4
  294. package/es/components/menu/menu.d.ts +3 -0
  295. package/es/components/menu/menu.js +4 -0
  296. package/es/components/menu/styles.d.ts +62 -1
  297. package/es/components/menu/styles.js +6 -2
  298. package/es/components/menu/useExpanded.d.ts +1 -4
  299. package/es/components/menu/useHighlight.d.ts +5 -8
  300. package/es/components/menu/useHighlight.js +44 -33
  301. package/es/components/message/index.spec.js +1 -1
  302. package/es/components/message/styles.js +6 -2
  303. package/es/components/pagination/styles.js +1 -1
  304. package/es/components/radio/index.vdt.js +14 -9
  305. package/es/components/radio/styles.js +9 -1
  306. package/es/components/rate/styles.js +5 -1
  307. package/es/components/scrollSelect/styles.d.ts +14 -1
  308. package/es/components/scrollSelect/styles.js +9 -1
  309. package/es/components/select/base.vdt.js +135 -121
  310. package/es/components/select/index.spec.js +1 -1
  311. package/es/components/select/menu.vdt.js +1 -0
  312. package/es/components/select/styles.js +9 -4
  313. package/es/components/select/useSearchable.d.ts +1 -1
  314. package/es/components/slider/styles.js +5 -1
  315. package/es/components/spinner/index.d.ts +1 -1
  316. package/es/components/spinner/index.js +1 -1
  317. package/es/components/split/style.js +1 -1
  318. package/es/components/steps/context.d.ts +1 -1
  319. package/es/components/steps/styles.js +5 -1
  320. package/es/components/switch/styles.js +5 -1
  321. package/es/components/table/index.d.ts +1 -0
  322. package/es/components/table/index.spec.js +2 -1
  323. package/es/components/table/row.vdt.js +12 -4
  324. package/es/components/table/styles.js +6 -1
  325. package/es/components/table/table.d.ts +1 -0
  326. package/es/components/table/table.js +2 -1
  327. package/es/components/table/table.vdt.js +30 -27
  328. package/es/components/table/useColumns.d.ts +1 -1
  329. package/es/components/table/useFixedColumns.d.ts +1 -1
  330. package/es/components/table/useFixedColumns.js +5 -2
  331. package/es/components/table/useGroup.d.ts +1 -1
  332. package/es/components/table/useResizable.d.ts +1 -1
  333. package/es/components/table/useSortable.d.ts +1 -1
  334. package/es/components/table/useWidth.js +7 -1
  335. package/es/components/tabs/index.spec.js +1 -1
  336. package/es/components/tabs/styles.js +9 -2
  337. package/es/components/tabs/tab.vdt.js +2 -1
  338. package/es/components/tabs/useActiveBar.js +6 -3
  339. package/es/components/tag/base.js +1 -0
  340. package/es/components/tag/styles.js +8 -2
  341. package/es/components/timepicker/constants.d.ts +2 -1
  342. package/es/components/timepicker/constants.js +3 -2
  343. package/es/components/timepicker/index.spec.js +36 -35
  344. package/es/components/timepicker/useStep.js +3 -3
  345. package/es/components/timepicker/useValue.js +2 -2
  346. package/es/components/tooltip/index.spec.js +32 -25
  347. package/es/components/transfer/index.spec.js +20 -19
  348. package/es/components/transfer/styles.js +2 -6
  349. package/es/components/tree/index.d.ts +1 -1
  350. package/es/components/tree/index.js +1 -1
  351. package/es/components/tree/index.spec.js +20 -19
  352. package/es/components/tree/index.vdt.js +1 -0
  353. package/es/components/tree/styles.js +5 -1
  354. package/es/components/treeSelect/index.spec.js +5 -5
  355. package/es/components/treeSelect/styles.js +5 -1
  356. package/es/components/upload/index.d.ts +1 -1
  357. package/es/components/upload/index.spec.js +1 -1
  358. package/es/components/upload/index.vdt.js +10 -11
  359. package/es/components/upload/styles.js +5 -1
  360. package/es/components/utils.d.ts +1 -1
  361. package/es/components/wave/index.d.ts +19 -0
  362. package/es/components/wave/index.js +120 -0
  363. package/es/components/wave/styles.d.ts +2 -0
  364. package/es/components/wave/styles.js +17 -0
  365. package/es/hooks/useRouter.d.ts +1 -0
  366. package/es/hooks/useRouter.js +10 -0
  367. package/es/i18n/en-US.d.ts +1 -0
  368. package/es/i18n/en-US.js +1 -0
  369. package/es/index.d.ts +3 -2
  370. package/es/index.js +3 -2
  371. package/es/packages/kpc-react/__tests__/index.js +10 -7
  372. package/es/site/data/components/affix/demos/custom/index.d.ts +2 -2
  373. package/es/site/data/components/affix/demos/custom/index.js +4 -4
  374. package/es/site/data/components/affix/demos/custom/react.d.ts +2 -2
  375. package/es/site/data/components/affix/demos/custom/react.js +6 -6
  376. package/es/site/data/components/button/demos/group/react.js +2 -2
  377. package/es/site/data/components/button/demos/icon/react.js +6 -0
  378. package/es/site/data/components/card/demos/basic/react.js +2 -2
  379. package/es/site/data/components/card/demos/extra/react.js +19 -5
  380. package/es/site/data/components/card/demos/noHeader/react.js +2 -2
  381. package/es/site/data/components/checkbox/demos/indeterminate/index.d.ts +1 -1
  382. package/es/site/data/components/checkbox/demos/indeterminate/index.js +2 -2
  383. package/es/site/data/components/checkbox/demos/indeterminate/react.d.ts +1 -1
  384. package/es/site/data/components/checkbox/demos/indeterminate/react.js +5 -6
  385. package/es/site/data/components/dialog/demos/block/react.d.ts +9 -0
  386. package/es/site/data/components/dialog/demos/block/react.js +88 -0
  387. package/es/site/data/components/dropdown/demos/basic/react.js +1 -3
  388. package/es/site/data/components/dropdown/demos/nested/react.js +1 -3
  389. package/es/site/data/components/dropdown/demos/position/react.js +2 -7
  390. package/es/site/data/components/dropdown/demos/trigger/react.js +1 -3
  391. package/es/site/data/components/input/demos/blocks/react.js +4 -2
  392. package/es/site/data/components/input/demos/clearable/react.js +7 -5
  393. package/es/site/data/components/{dialog/demos/extends → input/demos/inline}/index.d.ts +0 -3
  394. package/es/site/data/components/input/demos/inline/index.js +17 -0
  395. package/es/site/data/components/input/demos/inline/react.d.ts +4 -0
  396. package/es/site/data/components/input/demos/inline/react.js +24 -0
  397. package/es/site/data/components/input/demos/size/react.js +0 -3
  398. package/es/site/data/components/layout/demos/asideFix/react.js +2 -1
  399. package/es/site/data/components/menu/demos/collapse/index.js +1 -0
  400. package/es/site/data/components/menu/demos/collapse/react.js +7 -0
  401. package/es/site/data/components/select/demos/creatable/react.js +1 -1
  402. package/es/site/data/components/select/demos/customMenu/react.js +1 -0
  403. package/es/site/data/components/select/demos/format/react.js +11 -18
  404. package/es/site/data/components/table/demos/animation/index.d.ts +23 -0
  405. package/es/site/data/components/table/demos/animation/index.js +78 -0
  406. package/es/site/data/components/table/demos/animation/react.d.ts +23 -0
  407. package/es/site/data/components/table/demos/animation/react.js +113 -0
  408. package/es/site/data/components/table/demos/export/react.js +1 -2
  409. package/es/site/data/components/table/demos/sort/react.js +4 -1
  410. package/es/site/data/components/tag/demos/border/react.js +3 -1
  411. package/es/site/data/components/tip/demos/closable/react.js +1 -0
  412. package/es/site/data/components/tooltip/demos/trigger/react.js +1 -2
  413. package/es/site/data/docs/design/{button → about}/index.d.ts +13 -11
  414. package/es/site/data/docs/design/{8point → about}/index.js +0 -0
  415. package/es/site/data/docs/design/{dialog → guide-1}/index.d.ts +15 -11
  416. package/es/site/data/docs/design/{button → guide-1}/index.js +0 -0
  417. package/es/site/data/docs/design/guide-2/index.d.ts +64 -0
  418. package/es/site/data/docs/design/{color → guide-2}/index.js +0 -0
  419. package/es/site/data/docs/design/guide-3/index.d.ts +64 -0
  420. package/es/site/data/docs/design/{dialog → guide-3}/index.js +0 -0
  421. package/es/site/data/docs/design/guide-4/index.d.ts +64 -0
  422. package/es/site/data/docs/design/{font → guide-4}/index.js +0 -0
  423. package/es/site/data/docs/design/guide-5/index.d.ts +64 -0
  424. package/es/site/data/docs/design/{format → guide-5}/index.js +0 -0
  425. package/es/site/data/docs/design/guide-6/index.d.ts +64 -0
  426. package/es/site/data/docs/design/{gutter → guide-6}/index.js +0 -0
  427. package/es/site/data/docs/design/guide-7/index.d.ts +64 -0
  428. package/es/site/data/docs/design/{hierarchy → guide-7}/index.js +0 -0
  429. package/es/site/data/docs/design/guide-8/index.d.ts +64 -0
  430. package/es/site/data/docs/design/{language → guide-8}/index.js +0 -0
  431. package/es/site/data/docs/design/guide-9/index.d.ts +64 -0
  432. package/es/site/data/docs/design/{navigator → guide-9}/index.js +0 -0
  433. package/es/site/data/docs/design/model/index.d.ts +64 -0
  434. package/es/site/data/docs/design/{tip → model}/index.js +0 -0
  435. package/es/site/data/docs/design/model-1/index.d.ts +64 -0
  436. package/es/site/data/docs/design/{text → model-1}/index.js +0 -0
  437. package/es/site/data/docs/design/pattern-1/index.d.ts +64 -0
  438. package/es/site/data/docs/design/pattern-1/index.js +42 -0
  439. package/es/site/data/docs/design/pattern-2/index.d.ts +64 -0
  440. package/es/site/data/docs/design/pattern-2/index.js +42 -0
  441. package/es/site/data/docs/design/pattern-3/index.d.ts +64 -0
  442. package/es/site/data/docs/design/pattern-3/index.js +42 -0
  443. package/es/site/data/docs/design/pattern-4/index.d.ts +64 -0
  444. package/es/site/data/docs/design/pattern-4/index.js +42 -0
  445. package/es/site/data/docs/design/pattern-5/index.d.ts +64 -0
  446. package/es/site/data/docs/design/pattern-5/index.js +42 -0
  447. package/es/site/data/docs/design/pattern-6/index.d.ts +64 -0
  448. package/es/site/data/docs/design/pattern-6/index.js +42 -0
  449. package/es/site/data/docs/design/{navigator → principle}/index.d.ts +13 -11
  450. package/es/site/data/docs/design/principle/index.js +42 -0
  451. package/es/site/data/docs/design/{tip → value}/index.d.ts +13 -11
  452. package/es/site/data/docs/design/value/index.js +42 -0
  453. package/es/site/data/docs/theme/index.d.ts +0 -2
  454. package/es/site/src/client.js +4 -1
  455. package/es/site/src/components/ImgBox/index.d.ts +21 -0
  456. package/es/site/src/components/ImgBox/index.js +69 -0
  457. package/es/site/src/{pages/designdoc → components/ImgBox}/styles.d.ts +0 -0
  458. package/es/site/src/components/ImgBox/styles.js +13 -0
  459. package/es/site/src/components/WorkflowCard/styles.js +3 -10
  460. package/es/site/src/components/article/index.d.ts +4 -1
  461. package/es/site/src/components/article/index.js +72 -6
  462. package/es/site/src/components/blockquote/index.d.ts +4 -0
  463. package/es/site/src/components/blockquote/index.js +13 -0
  464. package/es/site/src/components/blockquote/slot.d.ts +11 -0
  465. package/es/site/src/components/blockquote/slot.js +19 -0
  466. package/es/site/src/components/card/index.d.ts +1 -1
  467. package/es/site/src/components/card/index.js +4 -1
  468. package/es/site/src/components/card/styles.js +2 -10
  469. package/es/site/src/components/catalogue/index.js +2 -2
  470. package/es/site/src/components/catalogue/styles.js +1 -1
  471. package/es/site/src/components/footer/styles.js +2 -2
  472. package/es/site/src/components/link/index.d.ts +1 -0
  473. package/es/site/src/components/link/index.js +11 -3
  474. package/es/site/src/pages/design/index.d.ts +1 -0
  475. package/es/site/src/pages/design/index.js +19 -0
  476. package/es/site/src/pages/design/styles.d.ts +1 -0
  477. package/es/site/src/pages/design/styles.js +13 -0
  478. package/es/site/src/pages/document/index.d.ts +4 -2
  479. package/es/site/src/pages/document/index.js +89 -46
  480. package/es/site/src/pages/document/styles.js +1 -1
  481. package/es/site/src/pages/iframe/button/styles.js +4 -4
  482. package/es/site/src/pages/iframe/colorProcess/index.d.ts +1 -0
  483. package/es/site/src/pages/iframe/colorProcess/index.js +9 -5
  484. package/es/site/src/pages/iframe/colorProcess/styles.js +1 -1
  485. package/es/site/src/pages/index/BestPractice/index.d.ts +1 -0
  486. package/es/site/src/pages/index/BestPractice/index.js +14 -14
  487. package/es/site/src/pages/index/BestPractice/styles.d.ts +1 -1
  488. package/es/site/src/pages/index/BestPractice/styles.js +3 -3
  489. package/es/site/src/pages/index/ColorProcess/styles.d.ts +1 -1
  490. package/es/site/src/pages/index/ColorProcess/styles.js +14 -2
  491. package/es/site/src/pages/index/KingVersion/styles.js +1 -1
  492. package/es/site/src/pages/index/NewFunction/index.d.ts +1 -0
  493. package/es/site/src/pages/index/NewFunction/index.js +4 -2
  494. package/es/site/src/pages/index/NewFunction/styles.d.ts +1 -1
  495. package/es/site/src/pages/index/NewFunction/styles.js +4 -3
  496. package/es/site/src/pages/index/index.d.ts +2 -7
  497. package/es/site/src/pages/index/index.js +11 -8
  498. package/es/site/src/pages/index/styles.js +2 -4
  499. package/es/site/src/pages/layout.d.ts +2 -0
  500. package/es/site/src/pages/layout.js +33 -4
  501. package/es/site/src/pages/resource/index.d.ts +6 -0
  502. package/es/site/src/pages/resource/index.js +21 -1
  503. package/es/site/src/pages/resource/styles.js +5 -3
  504. package/es/site/src/pages/solution/index.d.ts +6 -0
  505. package/es/site/src/pages/solution/index.js +19 -1
  506. package/es/site/src/pages/solution/styles.js +3 -2
  507. package/es/site/src/pages/styles.d.ts +1 -0
  508. package/es/site/src/pages/styles.js +5 -2
  509. package/es/site/src/router/index.d.ts +1 -0
  510. package/es/site/src/router/index.js +327 -318
  511. package/es/site/src/styles/default.d.ts +1 -0
  512. package/es/site/src/styles/default.js +3 -2
  513. package/es/styles/global.js +4 -3
  514. package/es/styles/theme.d.ts +16 -7
  515. package/es/styles/theme.js +15 -7
  516. package/hooks/useRouter.ts +11 -0
  517. package/i18n/en-US.ts +1 -0
  518. package/index.ts +3 -2
  519. package/package.json +6 -6
  520. package/styles/global.ts +41 -8
  521. package/styles/theme.ts +12 -8
  522. package/typings/global.d.ts +2 -0
  523. package/components/dialog/demos/asyncOpen.md +0 -111
  524. package/components/dialog/demos/extends.md +0 -87
  525. package/es/site/data/components/dialog/demos/asyncOpen/dialog.d.ts +0 -28
  526. package/es/site/data/components/dialog/demos/asyncOpen/dialog.js +0 -45
  527. package/es/site/data/components/dialog/demos/asyncOpen/index.d.ts +0 -13
  528. package/es/site/data/components/dialog/demos/asyncOpen/index.js +0 -58
  529. package/es/site/data/components/dialog/demos/extends/dialog.d.ts +0 -28
  530. package/es/site/data/components/dialog/demos/extends/dialog.js +0 -39
  531. package/es/site/data/components/dialog/demos/extends/index.js +0 -49
  532. package/es/site/data/docs/design/8point/index.d.ts +0 -58
  533. package/es/site/data/docs/design/color/demos/demos0/index.d.ts +0 -3
  534. package/es/site/data/docs/design/color/demos/demos0/index.js +0 -3
  535. package/es/site/data/docs/design/color/index.d.ts +0 -56
  536. package/es/site/data/docs/design/font/index.d.ts +0 -58
  537. package/es/site/data/docs/design/format/index.d.ts +0 -58
  538. package/es/site/data/docs/design/gutter/index.d.ts +0 -58
  539. package/es/site/data/docs/design/hierarchy/index.d.ts +0 -58
  540. package/es/site/data/docs/design/language/index.d.ts +0 -56
  541. package/es/site/data/docs/design/text/index.d.ts +0 -58
  542. package/es/site/src/pages/designdoc/index.d.ts +0 -11
  543. package/es/site/src/pages/designdoc/index.js +0 -21
  544. package/es/site/src/pages/designdoc/styles.js +0 -6
@@ -9,21 +9,34 @@ sidebar: doc
9
9
 
10
10
  | 属性 | 说明 | 类型 | 默认值 |
11
11
  | --- | --- | --- | --- |
12
- | value | 提示弹层的展示隐藏状态,可用`v-model`进行双向绑定 | `Boolean` | `false` |
13
- | trigger | 触发方式,点击触发`click`, 悬浮触发`hover` | `"hover"` | `"click"` | `"hover"` |
14
- | canHover | 对于悬浮触发`hover`的方式,提示内容弹层是否在鼠标悬浮时仍然展示,默认鼠标离开触发元素弹层就会关闭 | `Boolean` | `false` |
15
- | showArrow | 弹层是否展示箭头 | `Boolean` | `true` |
16
- | position | 弹层的位置 | `"left"` | `"bottom"` | `"right"` | `"top"` | `Object` | `{my: 'center bottom-10', at: 'center top'}` |
17
- | transition | 弹层动画,默认只提供`c-fade`,你也可以传入任意自定义动画类型 | `String` | `"c-fade"` |
18
- | class | 样式名。特别说明:该属性会往内容弹出层上添加,vue下会同时往触发元素和弹层元素上添加 | `String` | `Object` | `undefined` |
19
- | confirm | 带“确认”和“取消”按钮的确认弹层 | `Boolean` | `false` |
20
- | onText | `confirm`模式下的“确认”按钮文案 | `String` | `"确认"` |
21
- | cancelText | `confirm`模式下的“取消”按钮文案 | `String` | `"取消"` |
22
- | container | 指定弹出提示内容追加的位置,默认:`Dialog`类型的组件会追加到`Dialog`中,其他会追加到`body`中。你可以传入函数返回一个DOM用来作为插入的容器,或者传入字符串用来给`querySelector`进行查询 | `Function` | `String` | `undefined` |
12
+ | trigger | 触发方式,`hover`为悬停触发,`click`为点击触发 | `"hover"` | `"click"` | `"hover"` |
13
+ | disabled | 是否禁用整个菜单 | `boolean` | `false` |
14
+ | value | 是否将弹出菜单展示出来,可通过`v-model`双向绑定 | `boolean` | `false` |
15
+ | position | 菜单弹出的位置,默认在触发器正上方向上偏移`10px`的地方 | `Position` | `"left"` | `"bottom"` | `"right"` | `"top"` | `{my: 'center bottom-10', at: 'center top', collision: 'flipfit'}` |
16
+ | of | 弹出菜单的位置是相对当前触发元素,还是触发元素所在的菜单元素,这在嵌套菜单中可能会用到,可以使所有子菜单保持统一的对齐方式,例如:级联选择(Cascader)组件 | `"self"` | `"parent"` | `Event` | `"self"` |
17
+ | container | 指定弹出菜单追加的位置,默认:`Dialog`类型的组件会追加到`Dialog`中,其他会追加到`body`中。你可以传入函数返回一个DOM用来作为插入的容器,或者传入字符串用来给`querySelector`进行查询 | `Container` | `undefined` |
18
+ | showArrow | 弹层是否展示箭头 | `boolean` | `true` |
23
19
  | theme | 指定主题 | `"dark"` | `"light"` | `"dark"` |
24
- | disabled | 是否禁用提示 | `Boolean` | `false` |
25
- | always | 是否一直保持当前展示/隐藏状态 | `Boolean` | `false` |
20
+ | hoverable | 对于悬浮触发`hover`的方式,提示内容弹层是否在鼠标悬浮时仍然展示,默认鼠标离开触发元素弹层就会关闭 | `boolean` | `false` |
21
+ | always | 是否一直保持当前展示/隐藏状态 | `boolean` | `false` |
26
22
  | size | 弹层尺寸 | `"default"` | `"small"` | `"default"` |
23
+ | confirm | 带“确认”和“取消”按钮的确认弹层 | `boolean` | `false` |
24
+ | onText | `confirm`模式下的“确认”按钮文案 | `string` | `"确认"` |
25
+ | cancelText | `confirm`模式下的“取消”按钮文案 | `string` | `"取消"` |
26
+ | content | 指定提示的内容,当然你也可以用`content`扩展点指定 | `string` | `VNode` | `undefined` |
27
+
28
+ ```ts
29
+ type Position = {
30
+ my?: string | [string, string]
31
+ at?: string | [string, string]
32
+ collision?: Collision | [Collision, Collision]
33
+ collisionDirection?: ['left'] | ['top'] | ['left', 'top']
34
+ }
35
+
36
+ type Collision = 'fit' | 'flip' | 'flipfit' | 'none'
37
+
38
+ export type Container = string | ((parentDom: Element, anchor: Node | null) => Element)
39
+ ```
27
40
 
28
41
  # 事件
29
42
 
@@ -38,7 +38,7 @@ describe('Tooltip', () => {
38
38
 
39
39
  // should hide
40
40
  dispatchEvent(first, 'mouseleave');
41
- await wait(400);
41
+ await wait(600);
42
42
  expect(content.style.display).to.eql('none');
43
43
  });
44
44
 
@@ -50,7 +50,12 @@ describe('Tooltip', () => {
50
50
  const at = element.querySelector('.opera .k-btn') as HTMLElement;
51
51
  const {width, height, left, top} = at.getBoundingClientRect();
52
52
  const contains = (name: string) => expect(arrow.classList.contains(name)).to.be.true;
53
- const eql = (a: number, b: number) => expect(Math.floor(a)).to.eql(Math.floor(b));
53
+ const eql = (a: number, b: number) => {
54
+ a = Math.floor(a);
55
+ b = Math.floor(b);
56
+ // Don't be entangled with the difference of 1 to 2 pixels
57
+ expect(a >= b - 1 && a <= b + 1).to.be.true;
58
+ };
54
59
 
55
60
 
56
61
  instance.set('position', 'left');
@@ -113,27 +118,29 @@ describe('Tooltip', () => {
113
118
 
114
119
  // should hide when click document
115
120
  document.body.click();
116
- await wait(300);
121
+ await wait(500);
117
122
  expect(content.style.display).to.eql('none')
118
123
  });
119
124
 
120
- it('should be hoverable', async () => {
125
+ it('should be hoverable', async function() {
126
+ this.timeout(0);
127
+
121
128
  const [, element] = mount(TriggerDemo);
122
129
  const [, , canHover] = Array.from(element.querySelectorAll('.k-btn'));
123
130
  dispatchEvent(canHover, 'mouseenter');
124
131
  await wait();
125
132
  dispatchEvent(canHover, 'mouseleave');
126
- await wait(300);
133
+ await wait(500);
127
134
  const content = getElement('.k-tooltip-content')!;
128
135
  dispatchEvent(content, 'mouseenter');
129
- await wait(300);
136
+ await wait(500);
130
137
  const content1 = getElement('.k-tooltip-content');
131
138
 
132
- // should not hide when hover from button to tooltip content
139
+ // should not hide when move mouse from button to tooltip content
133
140
  expect(content1).eql(content);
134
141
 
135
142
  dispatchEvent(canHover, 'mouseleave');
136
- await wait(500);
143
+ await wait(800);
137
144
  expect(content.style.display).to.eql('none')
138
145
  });
139
146
 
@@ -142,7 +149,7 @@ describe('Tooltip', () => {
142
149
 
143
150
  const [btn] = Array.from<HTMLElement>(element.querySelectorAll('.k-btn'));
144
151
  btn.click();
145
- await wait(300);
152
+ await wait(500);
146
153
  const content = getElement('.k-tooltip-content') as HTMLElement;
147
154
  // ignore the arrow, because it may change className to adapt to the direction
148
155
  expect(content.querySelector<HTMLElement>('.k-slider')!.outerHTML).to.matchSnapshot();
@@ -163,7 +170,7 @@ describe('Tooltip', () => {
163
170
  expect((content.querySelector('.k-tooltip-buttons') as HTMLElement).outerHTML).to.matchSnapshot();
164
171
 
165
172
  (content.querySelector('.k-btn') as HTMLElement).click();
166
- await wait(300);
173
+ await wait(500);
167
174
  expect(content.style.display).eql('none');
168
175
 
169
176
  dispatchEvent(element.firstElementChild!, 'click');
@@ -172,7 +179,7 @@ describe('Tooltip', () => {
172
179
  const [, btn] = Array.from<HTMLElement>(content.querySelectorAll('.k-btn'));
173
180
  btn.click();
174
181
 
175
- await wait(300);
182
+ await wait(500);
176
183
  expect(content.style.display).eql('none');
177
184
  expect(cancelCb.callCount).eql(1);
178
185
  expect(okCb.callCount).eql(1);
@@ -185,15 +192,15 @@ describe('Tooltip', () => {
185
192
  expect(content.textContent).eql('hello');
186
193
 
187
194
  document.body.click();
188
- await wait(300);
195
+ await wait(500);
189
196
  expect(getElement('.k-tooltip-content')).eql(content);
190
197
 
191
198
  (element.querySelector('span') as HTMLElement).click();
192
- await wait(300);
199
+ await wait(500);
193
200
  expect(getElement('.k-tooltip-content')).eql(content);
194
201
 
195
202
  dispatchEvent(content, 'mouseleave');
196
- await wait(500);
203
+ await wait(600);
197
204
  expect(getElement('.k-tooltip-content')).eql(content);
198
205
  });
199
206
 
@@ -300,7 +307,7 @@ describe('Tooltip', () => {
300
307
  expect(content!.textContent).eql('hello');
301
308
 
302
309
  i.set('disabled', true);
303
- await wait(300);
310
+ await wait(500);
304
311
  content = getElement('.k-tooltip-content');
305
312
  expect(content).eql(undefined);
306
313
 
@@ -338,6 +345,8 @@ describe('Tooltip', () => {
338
345
 
339
346
  await wait(500);
340
347
  const content = getElement('.k-tooltip-content')!;
348
+ console.log(content.outerHTML);
349
+ console.log(JSON.stringify(content.getBoundingClientRect()));
341
350
  expect(content.getBoundingClientRect().top < 0).to.be.true;
342
351
  });
343
352
  });
@@ -31,7 +31,7 @@ const defaults = {
31
31
  smallPadding: '4px',
32
32
  };
33
33
 
34
- let tooltip: any;
34
+ let tooltip: typeof defaults;
35
35
  setDefault(() => {
36
36
  tooltip = deepDefaults(theme, {tooltip: defaults}).tooltip;
37
37
  });
@@ -9,41 +9,54 @@ sidebar: doc
9
9
 
10
10
  | 属性 | 说明 | 类型 | 默认值 |
11
11
  | --- | --- | --- | --- |
12
- | data | 需要展示的列表数据, 其中`label`会默认当做列表文案展示,`disabled`用于指定是否禁用该行选择 | `Array` | `[]` |
13
- | value | 已选择key的数据项,可用`v-model`进行双向绑定 | `Array` | `[]` |
14
- | leftCheckedKeys | 通过`key`指定勾选的左侧数据节点 | `Array` | `[]` |
15
- | rightCheckedKeys | 通过`key`指定勾选的右侧数据节点 | `Array` | `[]` |
16
- | filterable | 是否需要过滤列表功能,默认根据`data`中定义的`label`进行过滤 | `Boolean` | `false` |
17
- | filter | 指定自定义的过滤函数,组件会将每行数据`data`以及关键词`keywords`传给它 | `Function` | `(data, keywords) => data.label.includes(keywords)` |
18
- | labelName | 指定每一行数据的哪个属性当做列表的`label`属性,默认会取`label`当做`label` | `String` | `"label"` |
19
- | placeholder | 当开启过滤功能时,用于输入框展示的占位文案 | `String` | `"请输入"` |
20
- | leftTitle | 左边顶部展示的标题 | `String` | `"请选择"` |
21
- | rightTitle | 右边顶部展示的标题 | `String` | `"已选择"` |
22
- | leftKeywords | 左边筛选关键字 | `String` | `undefined` |
23
- | rightKeywords | 右边筛选关键字 | `String` | `undefined` |
24
- | keyName | 指定每一行数据的哪个属性当做列表的`key`属性,默认会取`key`或者`label`当做`key` | `String` | `"key"` |
25
- | enableAdd | 指定右箭头按钮的可用状态 | `Function` | `undefined` |
26
- | enableRemove | 指定左箭头按钮的可用状态 | `Function` | `undefined` |
12
+ | data | 需要展示的列表数据, 其中`label`会默认当做列表文案展示,`disabled`用于指定是否禁用该行选择 | `TransferDataItem[]` | `[]` |
13
+ | keyName | 指定每一行数据的哪个属性当做列表的`key`属性,默认会取`key`属性 | `string` | `"key"` |
14
+ | labelName | 指定每一行数据的哪个属性当做列表的`label`属性,默认会取`label`属性 | `string` | `"label"` |
15
+ | value | 已选择key的数据项,可用`v-model`进行双向绑定 | `string[]` | `[]` |
16
+ | leftCheckedKeys | 通过`key`指定勾选的左侧数据节点 | `string[]` | `[]` |
17
+ | rightCheckedKeys | 通过`key`指定勾选的右侧数据节点 | `string[]` | `[]` |
18
+ | filterable | 是否需要过滤列表功能,默认根据`data`中定义的`label`进行过滤 | `boolean` | `false` |
19
+ | filter | 指定自定义的过滤函数,组件会将每行数据`data`以及关键词`keywords`传给它 | `(data: TransferDataItem, keywords: string) => boolean` | `(data: TransferDataItem, keywords: string) => data.label.includes(keywords)` |
20
+ | placeholder | 当开启过滤功能时,用于输入框展示的占位文案 | `string` | `"请输入"` |
21
+ | leftKeywords | 左边筛选关键字 | `string` | `undefined` |
22
+ | rightKeywords | 右边筛选关键字 | `string` | `undefined` |
23
+ | leftTitle | 左边顶部展示的标题 | `string` &#124; `VNode` | `"请选择"` |
24
+ | rightTitle | 右边顶部展示的标题 | `string` &#124; `VNode` | `"已选择"` |
25
+ | enableAdd | 指定右箭头按钮的可用状态 | `() => boolean` | `undefined` |
26
+ | enableRemove | 指定左箭头按钮的可用状态 | `() => boolean` | `undefined` |
27
+
28
+ ```ts
29
+ export type TransferDataItem<
30
+ A extends string = 'key',
31
+ B extends string = 'label',
32
+ > = {
33
+ [K in A]: Key
34
+ } & {
35
+ [K in B]?: Children
36
+ } & {
37
+ disabled?: boolean
38
+ }
39
+ ```
27
40
 
28
41
  # 扩展点
29
42
 
30
43
  | 名称 | 说明 | 参数 |
31
44
  | --- | --- | --- |
32
- | label | 自定义每一项的渲染函数,类似于`label`属性 | `data, index, type` |
33
- | filter | 自定义检索内容 | `type` |
34
- | header | 自定义整个头部内容 | `type` |
35
- | list | 自定义整个列表内容 | `type` |
45
+ | header | 自定义整个头部内容 | <code>(type: 'left' &#124; 'right') => Children</code> |
46
+ | filter | 自定义检索内容 | <code>(type: 'left' &#124; 'right') => Children</code> |
47
+ | list | 自定义整个列表内容 | <code>(type: 'left' &#124; 'right') => Children</code> |
48
+ | label | 自定义每一项的渲染函数,类似于`label`属性 | <code>(data: TransferDataItem, key: string, type: 'left' &#124; 'right') => Children</code> |
36
49
 
37
50
  # 方法
38
51
 
39
52
  | 方法名 | 说明 | 参数 | 返回值 |
40
53
  | --- | --- | --- | --- |
41
- | getData | 获取右边的节点数据 | - | `Array` |
42
- | getCheckedData | 获取勾选的节点数据 | `model` 要获取`左边`或`右边`的数据 | `"left"` &#124; `"right"` |
54
+ | getData | 获取右边的节点数据 | `() => TransferDataItem[]` | `string[]`: 所有移入右栏的数据 |
55
+ | getCheckedData | 获取勾选的节点数据 | <code>(type: 'left' &#124; 'right') => TransferDataItem[]</code> | `TransferDataItem[]`所有`Checkbox`选中的数据 |
43
56
 
44
57
  # 事件
45
58
 
46
59
  | 事件名 | 说明 | 参数 |
47
60
  | --- | --- | --- |
48
- | add | 右箭头按钮点击事件 | `-` |
49
- | remove | 左箭头按钮点击事件 | `-` |
61
+ | add | 右箭头按钮点击事件 | - |
62
+ | remove | 左箭头按钮点击事件 | - |
@@ -43,14 +43,14 @@ describe('Transfer', () => {
43
43
  expect(element.outerHTML).to.matchSnapshot();
44
44
  const [remove, add] = element.querySelectorAll('.k-btn') as NodeListOf<HTMLElement>;
45
45
  add.click();
46
- await wait(300);
46
+ await wait(500);
47
47
  expect(element.outerHTML).to.matchSnapshot();
48
48
  const rightFirst = element.querySelector('.k-transfer-panel:nth-child(3) .k-transfer-list .k-checkbox') as HTMLElement;
49
49
  rightFirst.click();
50
50
  await wait();
51
51
  expect(element.outerHTML).to.matchSnapshot();
52
52
  remove.click();
53
- await wait(300);
53
+ await wait(500);
54
54
  expect(element.outerHTML).to.matchSnapshot();
55
55
  });
56
56
 
@@ -100,12 +100,13 @@ describe('Transfer', () => {
100
100
  expect(tree.get('leftCheckedKeys')).to.eql([]);
101
101
  });
102
102
 
103
- it('filter', async () => {
103
+ it('filter', async function() {
104
+ this.timeout(0);
104
105
  const [instance, element] = mount(LabelDemo);
105
106
 
106
107
  const transfer = instance.refs.__test as Transfer;
107
108
  transfer.set('leftKeywords', '0');
108
- await wait(300);
109
+ await wait(500);
109
110
  expect(element.innerHTML).to.matchSnapshot();
110
111
 
111
112
  const checkAll = element.querySelector('.k-transfer-title .k-checkbox') as HTMLElement;
@@ -114,7 +115,7 @@ describe('Transfer', () => {
114
115
  expect(element.innerHTML).to.matchSnapshot();
115
116
 
116
117
  transfer.set('leftKeywords', '');
117
- await wait(300);
118
+ await wait(500);
118
119
  expect(element.innerHTML).to.matchSnapshot();
119
120
 
120
121
  checkAll.click();
@@ -124,7 +125,7 @@ describe('Transfer', () => {
124
125
  transfer.set('leftKeywords', '0');
125
126
  await wait();
126
127
  transfer.set('leftKeywords', '');
127
- await wait(300);
128
+ await wait(500);
128
129
  expect(element.innerHTML).to.matchSnapshot();
129
130
  });
130
131
  });
@@ -29,8 +29,7 @@ const defaults = {
29
29
  get hoverColor() { return theme.color.primary },
30
30
  bgColor: '#fff',
31
31
  hoverBgColor: 'transparent',
32
- padding: '5px 16px',
33
- get height() { return theme.default.height },
32
+ padding: '7px 16px',
34
33
  get descColor() { return theme.color.lightBlack },
35
34
  },
36
35
 
@@ -39,7 +38,7 @@ const defaults = {
39
38
  }
40
39
  };
41
40
 
42
- let transfer: any;
41
+ let transfer: typeof defaults;
43
42
  setDefault(() => {
44
43
  transfer = deepDefaults(theme, {transfer: defaults}).transfer;
45
44
  });
@@ -68,7 +67,6 @@ export function makeStyles() {
68
67
  .k-checkbox {
69
68
  color: ${transfer.title.color};
70
69
  font-size: ${transfer.title.fontSize};
71
- display: block;
72
70
  }
73
71
  }
74
72
  .k-transfer-count {
@@ -84,7 +82,6 @@ export function makeStyles() {
84
82
  color: ${transfer.item.color};
85
83
  background: ${transfer.item.bgColor};
86
84
  user-select: none;
87
- display: table;
88
85
  width: 100%;
89
86
  &:not(.k-disabled):hover {
90
87
  background: ${transfer.item.hoverBgColor};
@@ -95,10 +92,7 @@ export function makeStyles() {
95
92
  }
96
93
  .k-checkbox {
97
94
  padding: ${transfer.item.padding};
98
- display: table-cell;
99
- height: ${transfer.item.height};
100
- vertical-align: middle;
101
- white-space: nowrap;
95
+ display: flex;
102
96
  }
103
97
  p {
104
98
  margin: 0;
@@ -9,73 +9,100 @@ sidebar: doc
9
9
 
10
10
  | 属性 | 说明 | 类型 | 默认值 |
11
11
  | --- | --- | --- | --- |
12
- | data | 要渲染的数据 | `Object` | `undefined` |
13
- | expandedKeys | 通过`key`指定展开的数据节点 | `Array` | `undefined` |
14
- | checkedKeys | 通过`key`指定勾选的数据节点 | `Array` | `undefined` |
15
- | selectedKeys | 通过`key`指定选中的数据节点 | `Array` | `undefined` |
16
- | multiple | `selectedKeys`是否支持多选 | `Boolean` | `false` |
17
- | checkbox | 是否展示复选框 | `Boolean` | `false` |
18
- | load | 指定异步加载节点数据的函数,该函数通过`Promise`返回数组来添加子节点数据 | `Function` | `undefined` |
19
- | filter | 指定节点过滤函数,返回`true`则展示,否则过滤掉 | `Function` | `undefined` |
20
- | draggable | 是否支持拖拽 | `Boolean` | `false` |
21
- | allowDrag | 指定哪些节点可拖拽 | `Function` | `undefined` |
22
- | allowDrop | 指定哪些节点可以插入子节点 | `Function` | `undefined` |
23
- | uncorrelated | 是否让父子`checkbox`选中状态互不关联 | `Boolean` | `false` |
24
- | selectable | 节点是否可选中,默认为`true`可选中 | `Boolean` | `true` |
25
- | defaultExpandAll | 是否默认展开所有节点 | `Boolean` | `false` |
26
-
27
- ## 实例属性
28
-
29
- | 属性 | 说明 | 类型 |
30
- | --- | --- | --- |
31
- | root | 组件实例的根节点对象实例,通过它可以往根节点追加节点 | `Node` |
32
-
33
- ## Node对象
34
-
35
- 组件内部使用`Node`对象来维护节点的状态
12
+ | data | 要渲染的数据 | `TreeDataItem<K>[]` | `undefined` |
13
+ | filter | 指定节点过滤函数,返回`true`则展示,否则过滤掉 | `(data: TreeDataItem<K>, node: Node<K>) => boolean` | `undefined` |
14
+ | uncorrelated | 是否让父子`checkbox`选中状态互不关联 | `boolean` | `false` |
15
+ | checkedKeys | 通过`key`指定勾选的数据节点 | `K[]` | `undefined` |
16
+ | expandedKeys | 通过`key`指定展开的数据节点 | `K[]` | `undefined` |
17
+ | defaultExpandAll | 是否默认展开所有节点 | `boolean` | `false` |
18
+ | selectable | 节点是否可选中,默认为`true`可选中 | `boolean` | `true` |
19
+ | selectedKeys | 通过`key`指定选中的数据节点 | `K[]` | `undefined` |
20
+ | multiple | `selectedKeys`是否支持多选 | `boolean` | `false` |
21
+ | checkbox | 是否展示复选框 | `boolean` | `false` |
22
+ | load | 指定异步加载节点数据的函数,该函数通过`Promise`返回数组来添加子节点数据 | <code>(node: TreeNode<K>) => Proomise<void> &#124; void</code> | `undefined` |
23
+ | showLine | 是否展示左侧对齐线 | `boolean` | `true` |
24
+ | draggable | 是否支持拖拽 | `boolean` | `false` |
25
+ | allowDrag | 指定哪些节点可拖拽 | `(node: TreeNode<K>) => boolean` | `undefined` |
26
+ | allowDrop | 指定哪些节点可以插入子节点 | `(node: TreeNode<K>) => boolean` | `undefined` |
27
+
28
+ ```ts
29
+ import {Key, Children} from 'intact';
30
+
31
+ export type TreeDataItem<K extends Key> = {
32
+ label?: Children
33
+ key?: K
34
+ disabled?: boolean
35
+ loaded?: boolean
36
+ children?: TreeDataItem<K>[]
37
+ }
38
+
39
+ export class TreeNode<K extends Key> {
40
+ data: TreeDataItem<K>;
41
+ parent: TreeNode<K> | null;
42
+ key: K;
43
+ checked: boolean;
44
+ indeterminate: boolean;
45
+ children: TreeNode<K>[] | null;
46
+ loaded: boolean | null | undefined;
47
+ filter: boolean;
48
+ constructor(data: TreeDataItem<K>, parent: TreeNode<K> | null, key: K);
49
+ }
50
+ ```
51
+
52
+ ## TreeNode对象
53
+
54
+ 组件内部使用`TreeNode`对象来维护节点的状态
36
55
 
37
56
  ### 属性
38
57
 
39
58
  | 属性 | 说明 | 类型 |
40
59
  | --- | --- | --- |
41
- | checked | 节点是否已选中 | `Boolean` |
42
- | indeterminate | 节点是否半选中 | `Boolean` |
43
- | data | 节点的原始数据 | `Object` |
44
- | parent | 节点的父节点 | `Object` &#124; `undefined` |
45
- | key | 节点的key | `String` |
46
- | children | 节点的子节点 | `Array` &#124; `undefined` |
47
- | tree | 指向`Tree`组件实例 | `Tree` |
48
- | loaded | 是否已经完成异步加载 | `Boolean` &#124; `undefined` |
49
-
50
- ### 方法
60
+ | data | 节点的原始数据 | `TreeDataItem<K>` |
61
+ | parent | 节点的父节点 | `TreeDataItem<K>` &#124; `null` |
62
+ | key | 节点的key | `K` |
63
+ | checked | 节点是否已选中 | `boolean` |
64
+ | indeterminate | 节点是否半选中 | `boolean` |
65
+ | children | 节点的子节点 | `TreeNode<K>` &#124; `null` |
66
+ | loaded | 是否已经完成异步加载 | `boolean` &#124; `undefined` |
67
+ | filter | 是否在搜索时被过滤掉了 | `boolean` | `false` |
51
68
 
52
- | 方法名 | 说明 | 参数 | 返回值 |
53
- | --- | --- | --- | --- |
54
- | append | 追加子节点 | 要追加的子节点数据,或子节点数据数组 | `undefined` |
55
- | remove | 删除节点 | - | `undefined` |
56
69
 
57
70
  # 扩展点
58
71
 
59
72
  | 名称 | 说明 | 参数 |
60
73
  | --- | --- | --- |
61
- | label | 自定义节点渲染内容 | `data, node` |
74
+ | label | 自定义节点渲染内容 | `([data: TreeDataItem<K>, node: TreeNode<K>, index: number]) => Children` |
62
75
 
63
76
  # 方法
64
77
 
65
78
  | 方法名 | 说明 | 参数 | 返回值 |
66
79
  | --- | --- | --- | --- |
67
- | getCheckedData | 获取勾选的节点数据 | `onlyLeaf` 是否只返回叶子节点 | `Array` |
68
- | getSelectedData | 获取选中的节点数据 | - | `Array` |
69
- | expand | 展开节点 | `key` 要展开的节点的key | `undefined` |
70
- | shrink | 收起节点 | `key` 要收起的节点的key | `undefined` |
71
- | toggleSelect | 选中或取消选中节点 | `key` 节点的key | `undefined` |
80
+ | getCheckedData | 获取勾选的节点数据 | `(leafOnly: boolean = false) => TreeDataItem<K>[]`: `onlyLeaf` 是否只返回叶子节点 | `TreeDataItem<K>[]` |
81
+ | getSelectedData | 获取选中的节点数据 | - | `TreeDataItem<K>[]` |
82
+ | expand | 展开节点 | `(key: K) => void`,`key` 要展开的节点的key | `undefined` |
83
+ | shrink | 收起节点 | `(key: K) => void`,`key` 要收起的节点的key | `undefined` |
84
+ | getNodes | 返回一级节点 | `() => TreeNode<K>[]` | `TreeNode<K>[]` 一级节点数组 |
72
85
 
73
86
  # 事件
74
87
 
75
88
  | 事件名 | 说明 | 参数 |
76
89
  | --- | --- | --- |
77
- | click:node | 点击节点触发 | `Node, Event` |
78
- | rightclick:node | 右键点击节点触发 | `Node, Event` |
79
- | dragend | 拖拽完成触发 | `{srcNode: '源节点', toNode: '目标节点', mode: '插入模式, -1: 插入节点前面, 1: 插入节点后面, 0: 插入节点内部', tree: '整颗节点树'}` |
80
- | denydrag | 拖拽不允许拖拽的节点触发 | `Node` |
81
- | denydrop | 插入到不允许插入的节点时触发 | `Node` |
90
+ | dragend | 拖拽完成触发 | `DragEndData<K>`,`{srcNode: '源节点', toNode: '目标节点', mode: '插入模式, Before: 插入节点前面, After: 插入节点后面, Inner: 插入节点内部'}` |
91
+ | denydrag | 拖拽不允许拖拽的节点触发 | `TreeNode<K>` |
92
+ | denydrop | 插入到不允许插入的节点时触发 | `TreeNode<K>` |
93
+
94
+ ```ts
95
+ import {Key} from 'intact';
96
+
97
+ type DragEndData<K extends Key> = {
98
+ srcNode: TreeNode<K>
99
+ toNode: TreeNode<K>
100
+ mode: TreeMode
101
+ }
102
+
103
+ export enum TreeMode {
104
+ Before,
105
+ After,
106
+ Inner
107
+ }
108
+ ```
@@ -12,21 +12,22 @@ import {RANGE} from './useDraggable';
12
12
  describe('Tree', () => {
13
13
  afterEach(() => unmount());
14
14
 
15
- it('expand and shrink', async () => {
15
+ it('expand and shrink', async function() {
16
+ this.timeout(0);
16
17
  const [instance, element] = mount(BasicDemo);
17
18
 
18
19
  const [, icon1, icon2] = element.querySelectorAll('.k-icon') as NodeListOf<HTMLElement>;
19
20
 
20
21
  icon2.click();
21
- await wait(300);
22
+ await wait(500);
22
23
  expect(element.outerHTML).to.matchSnapshot();
23
24
 
24
25
  icon1.click();
25
- await wait(300);
26
+ await wait(500);
26
27
  expect(element.outerHTML).to.matchSnapshot();
27
28
 
28
29
  icon1.click();
29
- await wait(300);
30
+ await wait(500);
30
31
  expect(element.outerHTML).to.matchSnapshot();
31
32
  });
32
33
 
@@ -51,7 +52,7 @@ describe('Tree', () => {
51
52
  const [, , icon1] = element.querySelectorAll('.k-icon') as NodeListOf<HTMLElement>;
52
53
  // expand
53
54
  icon1.click();
54
- await wait(300);
55
+ await wait(500);
55
56
  expect(element.outerHTML).to.matchSnapshot();
56
57
  const data2 = tree.getCheckedData(true);
57
58
  expect(data2.length).to.eql(2);
@@ -105,20 +106,20 @@ describe('Tree', () => {
105
106
 
106
107
  const [btn1, btn2] = element.querySelectorAll('.k-btn') as NodeListOf<HTMLElement>;
107
108
  btn1.click();
108
- await wait(300);
109
+ await wait(500);
109
110
  expect(element.outerHTML).to.matchSnapshot();
110
111
  expect(instance.get('data')).to.have.length(3);
111
112
  expect(instance.get('data')).to.matchSnapshot();
112
113
 
113
114
  btn2.click();
114
- await wait(300);
115
+ await wait(500);
115
116
  expect(element.outerHTML).to.matchSnapshot();
116
117
  const [, checkbox] = element.querySelectorAll('.k-checkbox') as NodeListOf<HTMLElement>;
117
118
  checkbox.click();
118
119
  await wait();
119
120
  const [,,, btn3] = element.querySelectorAll('.k-btn') as NodeListOf<HTMLElement>;
120
121
  btn3.click();
121
- await wait(300);
122
+ await wait(500);
122
123
  expect(element.outerHTML).to.matchSnapshot();
123
124
 
124
125
  // uncheck and remove
@@ -126,7 +127,7 @@ describe('Tree', () => {
126
127
  checkbox1.click();
127
128
  await wait();
128
129
  (checkbox1.parentNode!.querySelector('.k-btn:nth-child(2)') as HTMLElement).click();
129
- await wait(300);
130
+ await wait(500);
130
131
  expect(element.outerHTML).to.matchSnapshot();
131
132
  expect(instance.get('data')).to.matchSnapshot();
132
133
  });
@@ -163,7 +164,7 @@ describe('Tree', () => {
163
164
  // disable select and click on disabled selectable text should expand the tree
164
165
  tree.set('selectable', false);
165
166
  text1.click();
166
- await wait(300);
167
+ await wait(500);
167
168
  expect(tree.getSelectedData().length).to.eql(0);
168
169
  expect(element.outerHTML).to.matchSnapshot();
169
170
  });
@@ -181,7 +182,7 @@ describe('Tree', () => {
181
182
  const [instance, element] = mount(DraggableDemo);
182
183
 
183
184
  instance.set('expandedKeys', ['2', '2-1', '1', '1-1']);
184
- await wait(300);
185
+ await wait(500);
185
186
 
186
187
  // can not drag disabled item
187
188
  const disabled = element.querySelector('.k-disabled') as HTMLElement;
@@ -249,5 +250,5 @@ async function dragInsert(srcElement: HTMLElement, toElement: HTMLElement, mode?
249
250
 
250
251
  await wait(700);
251
252
  dispatchEvent(toElement, 'dragend');
252
- await wait(300);
253
+ await wait(500);
253
254
  }
@@ -13,6 +13,7 @@ import type {Events} from '../types';
13
13
  export type {
14
14
  Node as TreeNode,
15
15
  DataItem as TreeDataItem,
16
+ Mode as TreeMode,
16
17
  };
17
18
 
18
19
  export interface TreeProps<K extends Key = Key> {
@@ -56,6 +56,7 @@ const treeNodes = (nodes) => {
56
56
  <div class={labelClassNameObj}>
57
57
  <Icon class="k-tree-icon ion-android-arrow-dropdown"
58
58
  v-if={node.children && node.loaded !== false}
59
+ hoverable
59
60
  ev-click={(e) => {
60
61
  // it may be in dropdownMenu, e.g. TreeSelect
61
62
  e._ignore = true;