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

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 (517) hide show
  1. package/components/affix/demos/basic.md +2 -1
  2. package/components/affix/demos/custom.md +5 -5
  3. package/components/affix/index.md +2 -2
  4. package/components/affix/styles.ts +1 -1
  5. package/components/badge/demos/text.md +1 -1
  6. package/components/badge/index.md +3 -3
  7. package/components/badge/styles.ts +1 -1
  8. package/components/breadcrumb/demos/basic.md +1 -1
  9. package/components/breadcrumb/index.md +3 -10
  10. package/components/breadcrumb/item.ts +4 -14
  11. package/components/breadcrumb/styles.ts +9 -5
  12. package/components/button/demos/group.md +2 -2
  13. package/components/button/demos/icon.md +1 -0
  14. package/components/button/demos/loading.md +1 -1
  15. package/components/button/demos/tagName.md +0 -1
  16. package/components/button/index.md +13 -13
  17. package/components/button/index.vdt +32 -23
  18. package/components/button/styles.ts +22 -12
  19. package/components/card/demos/basic.md +4 -4
  20. package/components/card/demos/extra.md +13 -7
  21. package/components/card/demos/noHeader.md +4 -4
  22. package/components/card/index.md +3 -3
  23. package/components/card/styles.ts +2 -2
  24. package/components/carousel/index.md +4 -4
  25. package/components/carousel/styles.ts +2 -2
  26. package/components/carousel/useSlide.ts +3 -2
  27. package/components/cascader/demos/loadData.md +1 -1
  28. package/components/cascader/index.md +45 -16
  29. package/components/cascader/index.spec.ts +1 -1
  30. package/components/cascader/styles.ts +1 -1
  31. package/components/checkbox/demos/basic.md +1 -1
  32. package/components/checkbox/demos/indeterminate.md +4 -20
  33. package/components/checkbox/demos/value.md +1 -1
  34. package/components/checkbox/index.md +10 -10
  35. package/components/checkbox/index.vdt +16 -13
  36. package/components/checkbox/styles.ts +3 -7
  37. package/components/code/demos/basic.md +3 -3
  38. package/components/code/index.md +8 -10
  39. package/components/collapse/index.md +8 -8
  40. package/components/collapse/item.vdt +1 -1
  41. package/components/collapse/styles.ts +4 -3
  42. package/components/colorpicker/index.md +3 -3
  43. package/components/colorpicker/index.spec.ts +1 -1
  44. package/components/colorpicker/index.ts +3 -0
  45. package/components/colorpicker/index.vdt +5 -1
  46. package/components/colorpicker/styles.ts +1 -1
  47. package/components/context.ts +14 -7
  48. package/components/datepicker/demos/disabledDate.md +0 -2
  49. package/components/datepicker/demos/format.md +1 -1
  50. package/components/datepicker/demos/shortcuts.md +2 -2
  51. package/components/datepicker/helpers.ts +9 -2
  52. package/components/datepicker/index.md +50 -27
  53. package/components/datepicker/index.spec.ts +1 -1
  54. package/components/datepicker/styles.ts +1 -1
  55. package/components/diagram/index.md +108 -59
  56. package/components/diagram/shapes/line.ts +2 -3
  57. package/components/dialog/base.ts +2 -1
  58. package/components/dialog/demos/block.md +10 -56
  59. package/components/dialog/demos/size.md +1 -1
  60. package/components/dialog/index.md +47 -56
  61. package/components/dialog/index.spec.ts +2 -18
  62. package/components/dialog/styles.ts +4 -3
  63. package/components/dialog/useFixBody.ts +16 -0
  64. package/components/drawer/index.md +23 -20
  65. package/components/drawer/index.spec.ts +5 -5
  66. package/components/drawer/styles.ts +2 -2
  67. package/components/dropdown/demos/basic.md +4 -16
  68. package/components/dropdown/demos/contextmenu.md +1 -7
  69. package/components/dropdown/demos/disabled.md +1 -1
  70. package/components/dropdown/demos/nested.md +2 -4
  71. package/components/dropdown/demos/position.md +5 -6
  72. package/components/dropdown/demos/trigger.md +2 -4
  73. package/components/dropdown/index.md +26 -15
  74. package/components/dropdown/index.spec.ts +3 -3
  75. package/components/dropdown/index.ts +1 -2
  76. package/components/dropdown/styles.ts +2 -2
  77. package/components/editable/index.md +10 -15
  78. package/components/editable/index.vdt +1 -0
  79. package/components/editable/styles.ts +1 -1
  80. package/components/form/demos/basic.md +15 -15
  81. package/components/form/index.md +29 -13
  82. package/components/form/index.spec.ts +8 -8
  83. package/components/form/item.vdt +6 -1
  84. package/components/form/methods.ts +6 -1
  85. package/components/form/styles.ts +1 -1
  86. package/components/form/useError.ts +3 -0
  87. package/components/form/useValidate.ts +2 -2
  88. package/components/grid/col.vdt +1 -1
  89. package/components/grid/index.md +34 -13
  90. package/components/grid/styles.ts +4 -1
  91. package/components/icon/index.md +4 -2
  92. package/components/icon/index.vdt +2 -2
  93. package/components/icon/styles.ts +11 -8
  94. package/components/input/demos/blocks.md +2 -2
  95. package/components/input/demos/clearable.md +3 -3
  96. package/components/input/demos/inline.md +12 -0
  97. package/components/input/demos/size.md +0 -1
  98. package/components/input/index.md +18 -22
  99. package/components/input/index.ts +2 -0
  100. package/components/input/index.vdt +42 -33
  101. package/components/input/search.vdt +4 -1
  102. package/components/input/styles.ts +8 -12
  103. package/components/layout/demos/asideFix.md +2 -3
  104. package/components/layout/index.md +5 -5
  105. package/components/layout/styles.ts +5 -4
  106. package/components/menu/index.md +11 -11
  107. package/components/menu/index.spec.ts +2 -2
  108. package/components/menu/item.ts +5 -12
  109. package/components/menu/styles.ts +6 -5
  110. package/components/message/index.md +23 -25
  111. package/components/message/index.spec.ts +1 -1
  112. package/components/message/styles.ts +7 -3
  113. package/components/pagination/index.md +11 -19
  114. package/components/pagination/styles.ts +2 -2
  115. package/components/progress/demos/customColor.md +1 -1
  116. package/components/progress/index.md +11 -5
  117. package/components/progress/styles.ts +2 -2
  118. package/components/radio/index.md +4 -7
  119. package/components/radio/index.vdt +15 -12
  120. package/components/radio/styles.ts +6 -10
  121. package/components/rate/index.md +5 -5
  122. package/components/rate/styles.ts +3 -2
  123. package/components/scrollSelect/index.md +14 -5
  124. package/components/scrollSelect/styles.ts +7 -2
  125. package/components/select/base.ts +0 -1
  126. package/components/select/base.vdt +128 -112
  127. package/components/select/demos/creatable.md +1 -1
  128. package/components/select/demos/customMenu.md +1 -1
  129. package/components/select/demos/format.md +3 -7
  130. package/components/select/index.md +35 -30
  131. package/components/select/index.spec.ts +1 -1
  132. package/components/select/menu.vdt +1 -0
  133. package/components/select/styles.ts +15 -9
  134. package/components/slider/demos/marks.md +2 -2
  135. package/components/slider/index.md +31 -16
  136. package/components/slider/styles.ts +5 -4
  137. package/components/spin/index.md +2 -2
  138. package/components/spin/styles.ts +1 -1
  139. package/components/spinner/index.md +23 -14
  140. package/components/spinner/index.ts +2 -2
  141. package/components/spinner/styles.ts +1 -1
  142. package/components/split/index.md +7 -7
  143. package/components/split/style.ts +2 -2
  144. package/components/steps/index.md +3 -3
  145. package/components/steps/styles.ts +3 -2
  146. package/components/switch/index.md +10 -19
  147. package/components/switch/styles.ts +5 -4
  148. package/components/table/demos/animation.md +92 -0
  149. package/components/table/demos/basic.md +1 -1
  150. package/components/table/demos/checkedKeys.md +2 -3
  151. package/components/table/demos/disableRow.md +2 -2
  152. package/components/table/demos/empty.md +1 -1
  153. package/components/table/demos/export.md +8 -7
  154. package/components/table/demos/fixColumn.md +2 -2
  155. package/components/table/demos/fixHeader.md +3 -3
  156. package/components/table/demos/group.md +3 -3
  157. package/components/table/demos/mergeCell.md +1 -1
  158. package/components/table/demos/resizable.md +1 -1
  159. package/components/table/demos/rowClassName.md +1 -1
  160. package/components/table/demos/rowExpandable.md +2 -6
  161. package/components/table/demos/sort.md +2 -1
  162. package/components/table/demos/stickHeader.md +3 -3
  163. package/components/table/demos/stickScrollbar.md +3 -3
  164. package/components/table/demos/tooltip.md +1 -2
  165. package/components/table/index.md +92 -66
  166. package/components/table/index.spec.ts +4 -1
  167. package/components/table/index.ts +1 -0
  168. package/components/table/row.vdt +5 -1
  169. package/components/table/styles.ts +17 -5
  170. package/components/table/table.ts +2 -0
  171. package/components/table/table.vdt +91 -86
  172. package/components/table/useFixedColumns.ts +5 -3
  173. package/components/table/useWidth.ts +8 -1
  174. package/components/tabs/index.md +15 -8
  175. package/components/tabs/index.spec.ts +1 -1
  176. package/components/tabs/styles.ts +11 -7
  177. package/components/tabs/tab.vdt +1 -1
  178. package/components/tabs/useActiveBar.ts +3 -2
  179. package/components/tag/base.ts +3 -0
  180. package/components/tag/demos/border.md +2 -1
  181. package/components/tag/index.md +4 -3
  182. package/components/tag/styles.ts +9 -4
  183. package/components/timeline/styles.ts +3 -3
  184. package/components/timepicker/constants.ts +3 -2
  185. package/components/timepicker/demos/basic.md +2 -2
  186. package/components/timepicker/demos/step.md +1 -1
  187. package/components/timepicker/index.md +47 -16
  188. package/components/timepicker/index.spec.ts +11 -10
  189. package/components/timepicker/styles.ts +1 -1
  190. package/components/timepicker/useStep.ts +3 -3
  191. package/components/timepicker/useValue.ts +2 -2
  192. package/components/tip/demos/closable.md +1 -1
  193. package/components/tip/index.md +8 -4
  194. package/components/tip/styles.ts +1 -1
  195. package/components/tooltip/demos/basic.md +2 -13
  196. package/components/tooltip/demos/trigger.md +1 -2
  197. package/components/tooltip/index.md +26 -13
  198. package/components/tooltip/index.spec.ts +18 -14
  199. package/components/tooltip/styles.ts +1 -1
  200. package/components/transfer/index.md +36 -23
  201. package/components/transfer/index.spec.ts +7 -6
  202. package/components/transfer/styles.ts +1 -1
  203. package/components/tree/index.md +76 -49
  204. package/components/tree/index.spec.ts +13 -12
  205. package/components/tree/index.ts +1 -0
  206. package/components/tree/index.vdt +1 -0
  207. package/components/tree/styles.ts +7 -4
  208. package/components/treeSelect/index.md +50 -20
  209. package/components/treeSelect/index.spec.ts +5 -5
  210. package/components/treeSelect/styles.ts +3 -2
  211. package/components/upload/index.md +55 -19
  212. package/components/upload/index.spec.ts +1 -1
  213. package/components/upload/index.ts +1 -1
  214. package/components/upload/index.vdt +3 -4
  215. package/components/upload/styles.ts +5 -4
  216. package/components/utils.ts +1 -1
  217. package/components/wave/index.ts +94 -0
  218. package/components/wave/styles.ts +50 -0
  219. package/es/components/breadcrumb/item.d.ts +1 -1
  220. package/es/components/breadcrumb/item.js +3 -14
  221. package/es/components/breadcrumb/styles.js +1 -1
  222. package/es/components/button/index.vdt.js +26 -17
  223. package/es/components/button/styles.d.ts +82 -1
  224. package/es/components/button/styles.js +16 -2
  225. package/es/components/card/styles.js +1 -1
  226. package/es/components/carousel/styles.js +4 -1
  227. package/es/components/carousel/useSlide.js +10 -9
  228. package/es/components/cascader/index.spec.js +1 -1
  229. package/es/components/checkbox/index.vdt.js +15 -10
  230. package/es/components/checkbox/styles.js +2 -2
  231. package/es/components/collapse/item.vdt.js +2 -1
  232. package/es/components/collapse/styles.js +5 -1
  233. package/es/components/colorpicker/index.d.ts +2 -0
  234. package/es/components/colorpicker/index.js +2 -1
  235. package/es/components/colorpicker/index.spec.js +1 -1
  236. package/es/components/colorpicker/index.vdt.js +3 -1
  237. package/es/components/context.d.ts +5 -2
  238. package/es/components/context.js +7 -4
  239. package/es/components/datepicker/helpers.d.ts +2 -1
  240. package/es/components/datepicker/helpers.js +8 -2
  241. package/es/components/datepicker/index.spec.js +1 -1
  242. package/es/components/datepicker/styles.d.ts +46 -1
  243. package/es/components/diagram/shapes/generateShapes.js +3 -3
  244. package/es/components/diagram/shapes/line.d.ts +2 -2
  245. package/es/components/diagram/shapes/line.js +0 -1
  246. package/es/components/dialog/base.d.ts +2 -0
  247. package/es/components/dialog/base.js +2 -1
  248. package/es/components/dialog/index.spec.js +59 -94
  249. package/es/components/dialog/styles.js +5 -1
  250. package/es/components/dialog/useFixBody.d.ts +6 -0
  251. package/es/components/dialog/useFixBody.js +12 -0
  252. package/es/components/drawer/index.spec.js +5 -5
  253. package/es/components/drawer/styles.js +1 -1
  254. package/es/components/dropdown/index.js +1 -2
  255. package/es/components/dropdown/index.spec.js +3 -3
  256. package/es/components/dropdown/styles.js +1 -1
  257. package/es/components/editable/index.vdt.js +2 -1
  258. package/es/components/editable/styles.d.ts +8 -1
  259. package/es/components/form/index.spec.js +8 -8
  260. package/es/components/form/item.vdt.js +13 -9
  261. package/es/components/form/useError.d.ts +4 -0
  262. package/es/components/form/useError.js +3 -1
  263. package/es/components/form/useValidate.js +2 -2
  264. package/es/components/grid/col.vdt.js +4 -2
  265. package/es/components/grid/styles.js +1 -1
  266. package/es/components/grid/useGutter.d.ts +1 -1
  267. package/es/components/icon/index.vdt.js +3 -2
  268. package/es/components/icon/styles.js +8 -4
  269. package/es/components/input/index.d.ts +1 -0
  270. package/es/components/input/index.js +2 -1
  271. package/es/components/input/index.vdt.js +47 -32
  272. package/es/components/input/search.vdt.js +4 -2
  273. package/es/components/input/styles.js +8 -3
  274. package/es/components/layout/styles.d.ts +1 -1
  275. package/es/components/layout/styles.js +7 -3
  276. package/es/components/menu/index.spec.js +2 -2
  277. package/es/components/menu/item.d.ts +1 -1
  278. package/es/components/menu/item.js +4 -13
  279. package/es/components/menu/styles.d.ts +62 -1
  280. package/es/components/menu/styles.js +6 -2
  281. package/es/components/message/index.spec.js +1 -1
  282. package/es/components/message/styles.js +6 -2
  283. package/es/components/pagination/styles.js +1 -1
  284. package/es/components/radio/index.vdt.js +14 -9
  285. package/es/components/radio/styles.js +9 -1
  286. package/es/components/rate/styles.js +5 -1
  287. package/es/components/scrollSelect/styles.d.ts +14 -1
  288. package/es/components/scrollSelect/styles.js +9 -1
  289. package/es/components/select/base.vdt.js +135 -121
  290. package/es/components/select/index.spec.js +1 -1
  291. package/es/components/select/menu.vdt.js +1 -0
  292. package/es/components/select/styles.js +9 -4
  293. package/es/components/select/useSearchable.d.ts +1 -1
  294. package/es/components/slider/styles.js +5 -1
  295. package/es/components/spinner/index.d.ts +1 -1
  296. package/es/components/spinner/index.js +1 -1
  297. package/es/components/split/style.js +1 -1
  298. package/es/components/steps/context.d.ts +1 -1
  299. package/es/components/steps/styles.js +5 -1
  300. package/es/components/switch/styles.js +5 -1
  301. package/es/components/table/index.d.ts +1 -0
  302. package/es/components/table/index.spec.js +2 -1
  303. package/es/components/table/row.vdt.js +12 -4
  304. package/es/components/table/styles.js +6 -1
  305. package/es/components/table/table.d.ts +1 -0
  306. package/es/components/table/table.js +2 -1
  307. package/es/components/table/table.vdt.js +30 -27
  308. package/es/components/table/useColumns.d.ts +1 -1
  309. package/es/components/table/useFixedColumns.d.ts +1 -1
  310. package/es/components/table/useFixedColumns.js +5 -2
  311. package/es/components/table/useGroup.d.ts +1 -1
  312. package/es/components/table/useResizable.d.ts +1 -1
  313. package/es/components/table/useSortable.d.ts +1 -1
  314. package/es/components/table/useWidth.js +7 -1
  315. package/es/components/tabs/index.spec.js +1 -1
  316. package/es/components/tabs/styles.js +9 -2
  317. package/es/components/tabs/tab.vdt.js +2 -1
  318. package/es/components/tabs/useActiveBar.js +6 -3
  319. package/es/components/tag/base.js +1 -0
  320. package/es/components/tag/styles.js +8 -2
  321. package/es/components/timepicker/constants.d.ts +2 -1
  322. package/es/components/timepicker/constants.js +3 -2
  323. package/es/components/timepicker/index.spec.js +36 -35
  324. package/es/components/timepicker/useStep.js +3 -3
  325. package/es/components/timepicker/useValue.js +2 -2
  326. package/es/components/tooltip/index.spec.js +28 -24
  327. package/es/components/transfer/index.spec.js +20 -19
  328. package/es/components/tree/index.d.ts +1 -1
  329. package/es/components/tree/index.js +1 -1
  330. package/es/components/tree/index.spec.js +20 -19
  331. package/es/components/tree/index.vdt.js +1 -0
  332. package/es/components/tree/styles.js +5 -1
  333. package/es/components/treeSelect/index.spec.js +5 -5
  334. package/es/components/treeSelect/styles.js +5 -1
  335. package/es/components/upload/index.d.ts +1 -1
  336. package/es/components/upload/index.spec.js +1 -1
  337. package/es/components/upload/index.vdt.js +10 -11
  338. package/es/components/upload/styles.js +5 -1
  339. package/es/components/utils.d.ts +1 -1
  340. package/es/components/wave/index.d.ts +19 -0
  341. package/es/components/wave/index.js +120 -0
  342. package/es/components/wave/styles.d.ts +2 -0
  343. package/es/components/wave/styles.js +17 -0
  344. package/es/hooks/useRouter.d.ts +1 -0
  345. package/es/hooks/useRouter.js +10 -0
  346. package/es/index.d.ts +3 -2
  347. package/es/index.js +3 -2
  348. package/es/packages/kpc-react/__tests__/index.js +10 -7
  349. package/es/site/data/components/affix/demos/custom/index.d.ts +2 -2
  350. package/es/site/data/components/affix/demos/custom/index.js +4 -4
  351. package/es/site/data/components/affix/demos/custom/react.d.ts +2 -2
  352. package/es/site/data/components/affix/demos/custom/react.js +6 -6
  353. package/es/site/data/components/button/demos/group/react.js +2 -2
  354. package/es/site/data/components/button/demos/icon/react.js +6 -0
  355. package/es/site/data/components/card/demos/basic/react.js +2 -2
  356. package/es/site/data/components/card/demos/extra/react.js +19 -5
  357. package/es/site/data/components/card/demos/noHeader/react.js +2 -2
  358. package/es/site/data/components/checkbox/demos/indeterminate/index.d.ts +1 -1
  359. package/es/site/data/components/checkbox/demos/indeterminate/index.js +2 -2
  360. package/es/site/data/components/checkbox/demos/indeterminate/react.d.ts +1 -1
  361. package/es/site/data/components/checkbox/demos/indeterminate/react.js +5 -6
  362. package/es/site/data/components/dialog/demos/block/react.d.ts +9 -0
  363. package/es/site/data/components/dialog/demos/block/react.js +88 -0
  364. package/es/site/data/components/dropdown/demos/basic/react.js +1 -3
  365. package/es/site/data/components/dropdown/demos/nested/react.js +1 -3
  366. package/es/site/data/components/dropdown/demos/position/react.js +2 -7
  367. package/es/site/data/components/dropdown/demos/trigger/react.js +1 -3
  368. package/es/site/data/components/input/demos/blocks/react.js +4 -2
  369. package/es/site/data/components/input/demos/clearable/react.js +7 -5
  370. package/es/site/data/components/{dialog/demos/extends → input/demos/inline}/index.d.ts +0 -3
  371. package/es/site/data/components/input/demos/inline/index.js +17 -0
  372. package/es/site/data/components/input/demos/inline/react.d.ts +4 -0
  373. package/es/site/data/components/input/demos/inline/react.js +24 -0
  374. package/es/site/data/components/input/demos/size/react.js +0 -3
  375. package/es/site/data/components/layout/demos/asideFix/react.js +2 -1
  376. package/es/site/data/components/select/demos/creatable/react.js +1 -1
  377. package/es/site/data/components/select/demos/customMenu/react.js +1 -0
  378. package/es/site/data/components/select/demos/format/react.js +11 -18
  379. package/es/site/data/components/table/demos/animation/index.d.ts +23 -0
  380. package/es/site/data/components/table/demos/animation/index.js +78 -0
  381. package/es/site/data/components/table/demos/animation/react.d.ts +23 -0
  382. package/es/site/data/components/table/demos/animation/react.js +113 -0
  383. package/es/site/data/components/table/demos/export/react.js +1 -2
  384. package/es/site/data/components/table/demos/sort/react.js +4 -1
  385. package/es/site/data/components/tag/demos/border/react.js +3 -1
  386. package/es/site/data/components/tip/demos/closable/react.js +1 -0
  387. package/es/site/data/components/tooltip/demos/trigger/react.js +1 -2
  388. package/es/site/data/docs/design/{button → about}/index.d.ts +13 -11
  389. package/es/site/data/docs/design/{8point → about}/index.js +0 -0
  390. package/es/site/data/docs/design/{dialog → guide-1}/index.d.ts +15 -11
  391. package/es/site/data/docs/design/{button → guide-1}/index.js +0 -0
  392. package/es/site/data/docs/design/guide-2/index.d.ts +64 -0
  393. package/es/site/data/docs/design/{color → guide-2}/index.js +0 -0
  394. package/es/site/data/docs/design/guide-3/index.d.ts +64 -0
  395. package/es/site/data/docs/design/{dialog → guide-3}/index.js +0 -0
  396. package/es/site/data/docs/design/guide-4/index.d.ts +64 -0
  397. package/es/site/data/docs/design/{font → guide-4}/index.js +0 -0
  398. package/es/site/data/docs/design/guide-5/index.d.ts +64 -0
  399. package/es/site/data/docs/design/{format → guide-5}/index.js +0 -0
  400. package/es/site/data/docs/design/guide-6/index.d.ts +64 -0
  401. package/es/site/data/docs/design/{gutter → guide-6}/index.js +0 -0
  402. package/es/site/data/docs/design/guide-7/index.d.ts +64 -0
  403. package/es/site/data/docs/design/{hierarchy → guide-7}/index.js +0 -0
  404. package/es/site/data/docs/design/guide-8/index.d.ts +64 -0
  405. package/es/site/data/docs/design/{language → guide-8}/index.js +0 -0
  406. package/es/site/data/docs/design/guide-9/index.d.ts +64 -0
  407. package/es/site/data/docs/design/{navigator → guide-9}/index.js +0 -0
  408. package/es/site/data/docs/design/model/index.d.ts +64 -0
  409. package/es/site/data/docs/design/{tip → model}/index.js +0 -0
  410. package/es/site/data/docs/design/model-1/index.d.ts +64 -0
  411. package/es/site/data/docs/design/{text → model-1}/index.js +0 -0
  412. package/es/site/data/docs/design/pattern-1/index.d.ts +64 -0
  413. package/es/site/data/docs/design/pattern-1/index.js +42 -0
  414. package/es/site/data/docs/design/pattern-2/index.d.ts +64 -0
  415. package/es/site/data/docs/design/pattern-2/index.js +42 -0
  416. package/es/site/data/docs/design/pattern-3/index.d.ts +64 -0
  417. package/es/site/data/docs/design/pattern-3/index.js +42 -0
  418. package/es/site/data/docs/design/pattern-4/index.d.ts +64 -0
  419. package/es/site/data/docs/design/pattern-4/index.js +42 -0
  420. package/es/site/data/docs/design/pattern-5/index.d.ts +64 -0
  421. package/es/site/data/docs/design/pattern-5/index.js +42 -0
  422. package/es/site/data/docs/design/pattern-6/index.d.ts +64 -0
  423. package/es/site/data/docs/design/pattern-6/index.js +42 -0
  424. package/es/site/data/docs/design/{navigator → principle}/index.d.ts +13 -11
  425. package/es/site/data/docs/design/principle/index.js +42 -0
  426. package/es/site/data/docs/design/{tip → value}/index.d.ts +13 -11
  427. package/es/site/data/docs/design/value/index.js +42 -0
  428. package/es/site/data/docs/theme/index.d.ts +0 -2
  429. package/es/site/src/components/ImgBox/index.d.ts +21 -0
  430. package/es/site/src/components/ImgBox/index.js +69 -0
  431. package/es/site/src/{pages/designdoc → components/ImgBox}/styles.d.ts +0 -0
  432. package/es/site/src/components/ImgBox/styles.js +13 -0
  433. package/es/site/src/components/WorkflowCard/styles.js +3 -10
  434. package/es/site/src/components/article/index.d.ts +4 -1
  435. package/es/site/src/components/article/index.js +72 -6
  436. package/es/site/src/components/blockquote/index.d.ts +4 -0
  437. package/es/site/src/components/blockquote/index.js +13 -0
  438. package/es/site/src/components/blockquote/slot.d.ts +11 -0
  439. package/es/site/src/components/blockquote/slot.js +19 -0
  440. package/es/site/src/components/card/index.d.ts +1 -1
  441. package/es/site/src/components/card/index.js +4 -1
  442. package/es/site/src/components/card/styles.js +2 -10
  443. package/es/site/src/components/catalogue/index.js +2 -2
  444. package/es/site/src/components/catalogue/styles.js +1 -1
  445. package/es/site/src/components/footer/styles.js +2 -2
  446. package/es/site/src/components/link/index.d.ts +1 -0
  447. package/es/site/src/components/link/index.js +11 -3
  448. package/es/site/src/pages/design/index.d.ts +1 -0
  449. package/es/site/src/pages/design/index.js +19 -0
  450. package/es/site/src/pages/design/styles.d.ts +1 -0
  451. package/es/site/src/pages/design/styles.js +13 -0
  452. package/es/site/src/pages/document/index.d.ts +4 -2
  453. package/es/site/src/pages/document/index.js +89 -46
  454. package/es/site/src/pages/document/styles.js +1 -1
  455. package/es/site/src/pages/iframe/button/styles.js +4 -4
  456. package/es/site/src/pages/iframe/colorProcess/index.d.ts +1 -0
  457. package/es/site/src/pages/iframe/colorProcess/index.js +9 -5
  458. package/es/site/src/pages/iframe/colorProcess/styles.js +1 -1
  459. package/es/site/src/pages/index/BestPractice/index.d.ts +1 -0
  460. package/es/site/src/pages/index/BestPractice/index.js +14 -14
  461. package/es/site/src/pages/index/BestPractice/styles.d.ts +1 -1
  462. package/es/site/src/pages/index/BestPractice/styles.js +3 -3
  463. package/es/site/src/pages/index/ColorProcess/styles.d.ts +1 -1
  464. package/es/site/src/pages/index/ColorProcess/styles.js +14 -2
  465. package/es/site/src/pages/index/KingVersion/styles.js +1 -1
  466. package/es/site/src/pages/index/NewFunction/index.d.ts +1 -0
  467. package/es/site/src/pages/index/NewFunction/index.js +4 -2
  468. package/es/site/src/pages/index/NewFunction/styles.d.ts +1 -1
  469. package/es/site/src/pages/index/NewFunction/styles.js +4 -3
  470. package/es/site/src/pages/index/index.d.ts +2 -7
  471. package/es/site/src/pages/index/index.js +11 -8
  472. package/es/site/src/pages/index/styles.js +2 -4
  473. package/es/site/src/pages/layout.d.ts +1 -0
  474. package/es/site/src/pages/layout.js +24 -3
  475. package/es/site/src/pages/resource/index.d.ts +6 -0
  476. package/es/site/src/pages/resource/index.js +21 -1
  477. package/es/site/src/pages/resource/styles.js +5 -3
  478. package/es/site/src/pages/solution/index.d.ts +6 -0
  479. package/es/site/src/pages/solution/index.js +20 -1
  480. package/es/site/src/pages/solution/styles.js +3 -2
  481. package/es/site/src/pages/styles.d.ts +1 -0
  482. package/es/site/src/pages/styles.js +5 -2
  483. package/es/site/src/router/index.d.ts +1 -0
  484. package/es/site/src/router/index.js +327 -318
  485. package/es/site/src/styles/default.d.ts +1 -0
  486. package/es/site/src/styles/default.js +3 -2
  487. package/es/styles/global.js +4 -3
  488. package/es/styles/theme.d.ts +16 -7
  489. package/es/styles/theme.js +15 -7
  490. package/hooks/useRouter.ts +11 -0
  491. package/index.ts +3 -2
  492. package/package.json +6 -6
  493. package/styles/global.ts +41 -8
  494. package/styles/theme.ts +12 -8
  495. package/typings/global.d.ts +2 -0
  496. package/components/dialog/demos/asyncOpen.md +0 -111
  497. package/components/dialog/demos/extends.md +0 -87
  498. package/es/site/data/components/dialog/demos/asyncOpen/dialog.d.ts +0 -28
  499. package/es/site/data/components/dialog/demos/asyncOpen/dialog.js +0 -45
  500. package/es/site/data/components/dialog/demos/asyncOpen/index.d.ts +0 -13
  501. package/es/site/data/components/dialog/demos/asyncOpen/index.js +0 -58
  502. package/es/site/data/components/dialog/demos/extends/dialog.d.ts +0 -28
  503. package/es/site/data/components/dialog/demos/extends/dialog.js +0 -39
  504. package/es/site/data/components/dialog/demos/extends/index.js +0 -49
  505. package/es/site/data/docs/design/8point/index.d.ts +0 -58
  506. package/es/site/data/docs/design/color/demos/demos0/index.d.ts +0 -3
  507. package/es/site/data/docs/design/color/demos/demos0/index.js +0 -3
  508. package/es/site/data/docs/design/color/index.d.ts +0 -56
  509. package/es/site/data/docs/design/font/index.d.ts +0 -58
  510. package/es/site/data/docs/design/format/index.d.ts +0 -58
  511. package/es/site/data/docs/design/gutter/index.d.ts +0 -58
  512. package/es/site/data/docs/design/hierarchy/index.d.ts +0 -58
  513. package/es/site/data/docs/design/language/index.d.ts +0 -56
  514. package/es/site/data/docs/design/text/index.d.ts +0 -58
  515. package/es/site/src/pages/designdoc/index.d.ts +0 -11
  516. package/es/site/src/pages/designdoc/index.js +0 -21
  517. package/es/site/src/pages/designdoc/styles.js +0 -6
@@ -0,0 +1,92 @@
1
+ ---
2
+ title: 动效
3
+ order: 20
4
+ ---
5
+
6
+ 一个简单的`Table`,点击按钮,即可查看新增表格的动效。
7
+
8
+ ```vdt
9
+ import {Table, TableColumn, Button} from 'kpc';
10
+
11
+ <div>
12
+ <Button type="primary" ev-click={this.addRow}>增加一行</Button>
13
+ <Button type="primary" ev-click={this.removeRow}>删除一行</Button>
14
+ <Button type="primary" ev-click={this.toggleColumn}>
15
+ <template v-if={this.get('isShow')}>删除</template>
16
+ <template v-else>增加</template>
17
+ 一列
18
+ </Button>
19
+ <Table data={this.get('data')} resizable rowKey={row => row.a}>
20
+ <TableColumn key="a" title="Title 1" />
21
+ <TableColumn v-if={this.get('isShow')} key="b" title="Title 2"/>
22
+ <TableColumn key="c" title="Title 3" />
23
+ </Table>
24
+ </div>
25
+ ```
26
+
27
+ ```styl
28
+ .k-btn
29
+ margin-right 20px
30
+ .k-table, .k-btn
31
+ margin-bottom 20px
32
+ ```
33
+
34
+ ```ts
35
+ import {bind} from 'kpc/components/utils';
36
+
37
+ interface Props {
38
+ data: any[]
39
+ num: number
40
+ isShow: boolean
41
+ }
42
+
43
+ export default class extends Component<Props> {
44
+ static template = template;
45
+
46
+ static defaults() {
47
+ return {
48
+ data: [
49
+ {
50
+ a: 'Cell 1-1',
51
+ b: 'Cell 1-2',
52
+ c: 'Cell 1-3'
53
+ },
54
+ {
55
+ a: 'Cell 2-1',
56
+ b: 'Cell 2-2',
57
+ c: 'Cell 2-3'
58
+ }
59
+ ],
60
+ num: 3,
61
+ isShow: false,
62
+ }
63
+ }
64
+
65
+ @bind
66
+ addRow() {
67
+ const num = this.get('num');
68
+ const data = this.get('data').slice();
69
+ data.push({
70
+ a: `Cell ${num}-1`,
71
+ b: `Cell ${num}-2`,
72
+ c: `Cell ${num}-3`
73
+ });
74
+ this.set({
75
+ data,
76
+ num: num + 1
77
+ });
78
+ }
79
+
80
+ @bind
81
+ removeRow() {
82
+ const data = this.get('data').slice();
83
+ data.shift();
84
+ this.set({data});
85
+ }
86
+
87
+ @bind
88
+ toggleColumn() {
89
+ this.set('isShow', !this.get('isShow'));
90
+ }
91
+ }
92
+ ```
@@ -3,7 +3,7 @@ title: 基本用法
3
3
  order: 0
4
4
  ---
5
5
 
6
- 上面是一个简单的`Table`,通过`data`属性设置表格展示的数据,通过`scheme`属性或者`TableColumn`
6
+ 一个简单的`Table`,通过`data`属性设置表格展示的数据,通过`TableColumn`
7
7
  组件定义表格结构,详见”定义表格结构“说明
8
8
 
9
9
  ```vdt
@@ -3,9 +3,8 @@ title: 行选中
3
3
  order: 4
4
4
  ---
5
5
 
6
- 通过`checkedKeys`来控制哪些列被选中,默认他们的取值
7
- 为行的索引或索引数组。但我们也可以通过`rowKey`函数为每一行指定唯一的`key`,此时他们的取值为`key`值
8
- 或`key`值的数组
6
+ 通过`checkedKeys`来控制哪些列被选中,默认他们的取值为行`key`组成的数组。通过`rowKey`函数为每一行
7
+ 指定唯一的`key`,否则`key`和行号`index`等价
9
8
 
10
9
  ```vdt
11
10
  import {Table, TableColumn} from 'kpc';
@@ -3,8 +3,8 @@ title: 禁用行可选
3
3
  order: 9
4
4
  ---
5
5
 
6
- `disableRow`:禁用某一行可选状态,类型:`Function`,默认:`function(data, index) { return false }`,该函数
7
- 如果返回`true`,则表示禁用该行可选
6
+ `disableRow`:禁用某一行可选状态,类型:`(data: T, index: number, key: TableRowKey) => boolean`,
7
+ 默认:`(data: T, index: number) => false`,该函数如果返回`true`,则表示禁用该行可选
8
8
 
9
9
  对于`disabled`的行,它的选中状态不会随全选/反全选而改变
10
10
 
@@ -3,7 +3,7 @@ title: 自定义无内容时的展示信息
3
3
  order: 16
4
4
  ---
5
5
 
6
- 当`data`为空数组`[]`时, 通过`empty`扩展点,来定义无数据是展示的内容
6
+ 当`data`为空时, 通过`empty`扩展点,来定义无数据是展示的内容
7
7
 
8
8
  ```vdt
9
9
  import {Table, TableColumn} from 'kpc';
@@ -3,19 +3,20 @@ title: 导出表格
3
3
  order: 22
4
4
  ---
5
5
 
6
- 调用`Table`的`exportTable([data, [filename]])`方法,可以导出当前表格内容成`csv`格式。导出的文本
7
- 默认为当前单元格下的`textContent`内容,当需要自定义导出文本时,我们可以给`TableColumn`指定`exportCell`
8
- 函数来返回要导出的单元格内容。当需要自定义导出标题时,我们可以给当前列`TableColumn`组件添加`exportTitle`
9
- 属性来指定。另外如果给当前列设置`ignore`属性,则会忽略该列内容,例如:本例中我们忽略”操作“栏内容
6
+ 调用`Table`的`exportTable: (data: T[] = this.get('data'), filename = 'table') => Promise<string>`方法,
7
+ 可以导出当前表格内容成`csv`格式。导出的文本默认为当前单元格下的`textContent`内容,当需要自定义导出文本时,
8
+ 我们可以给`TableColumn`指定`exportCell`函数来返回要导出的单元格内容。当需要自定义导出标题时,我们可以给
9
+ 当前列`TableColumn`组件添加`exportTitle`属性来指定。另外如果给当前列设置`ignore`属性,则会忽略该列内容,
10
+ 例如:本例中我们忽略”操作“栏内容
10
11
 
11
- 1. `data` 要导出的数据,默认为当前表格的数据
12
+ 1. `data` 要导出的数据,默认为当前表格的数据,我们可以利用传入自定义的`data`数据来全量导出,而非仅仅当前
13
+ 表格的内容
12
14
  2. `filename` 下载的文件名,默认为`table`
13
15
 
14
16
  > 对于合并了表头和单元格的表格,不支持导出(csv格式文件不能合并单元格)
15
17
 
16
18
  ```vdt
17
- import {Table, TableColumn} from 'kpc';
18
- import {Button} from 'kpc';
19
+ import {Table, TableColumn, Button} from 'kpc';
19
20
 
20
21
  <div>
21
22
  <Button type="primary" ev-click={this.exportTable}>导出表格</Button>
@@ -3,10 +3,10 @@ title: 列固定
3
3
  order: 14
4
4
  ---
5
5
 
6
- 给`TableColumn`或者`scheme`添加`fixed`属性,可以将列固定,其中`left`固定在左侧,`right`固定在右侧;
6
+ 给`TableColumn`添加`fixed`属性,可以将列固定,其中`left`固定在左侧,`right`固定在右侧;
7
7
  固定的列依然支持`resizable`表头拖动,`stickHeader`表头吸顶,以及`fixHeader`表头固定
8
8
 
9
- > 固定列通过`position: sticky`来实现,所以对于不是首列或者尾列的列,需要指定它们之前或之后的列的固定宽度`width`来
9
+ > 固定列通过`position: sticky`来实现,所以对于非首/尾列,需要指定它们之前或之后的列的固定宽度`width`来
10
10
  > 帮助该列来确定固定的位置
11
11
 
12
12
  ```vdt
@@ -3,10 +3,10 @@ title: 表头固定
3
3
  order: 10
4
4
  ---
5
5
 
6
- `fixHeader`:设置表头固定,类型`Boolean` | `Number`,默认:`false`
6
+ `fixHeader`:设置表头固定,类型`boolean` | `number`,默认:`false`
7
7
 
8
- 1. 如果取值为`Boolean`,`false`表示不固定表头,`true`表示固定高度,`tbody`的高度自适应,但需要自己定义表格高度
9
- 2. 如果取值为`Number`,则表示,当表格超出该高度时即展示滚动条,并固定表头
8
+ 1. 如果取值为`boolean`,`false`表示不固定表头,`true`表示固定高度,`tbody`的高度自适应,但需要自己定义表格高度
9
+ 2. 如果取值为`number`,则表示,当表格超出该高度时即展示滚动条,并固定表头
10
10
 
11
11
  ```vdt
12
12
  import {Table, TableColumn} from 'kpc';
@@ -5,13 +5,13 @@ order: 18
5
5
 
6
6
  分组需要两个`group`来指定:
7
7
 
8
- 1. 第一个是`Table`上的`group`属性,该属性指定当前分组的方式,形式为:`{["分组的列的key"]: ["当前列选择的分组的值"]}`
9
- 2. 第二个是`TableColumn`或者`scheme`上的`group`属性,该属性指定当前列有哪些可选的分组方式,
8
+ 1. 第一个是`Table`上的`group`属性,该属性指定当前分组的方式,形式为:`{key: ["分组的列的key"], value: ["当前列选择的分组的值"]}`
9
+ 2. 第二个是`TableColumn`的`group`属性,该属性指定当前列有哪些可选的分组方式,
10
10
  如果该列支持多选,还可以添加`multiple`属性,默认为单选。形式为:`[{label: "分组展示文案", value: "选择后的值"}]`
11
11
 
12
12
  当分组方式改变时,可以监听默认事件`$change:group`来执行自定义分组逻辑
13
13
 
14
- > `group`改变时,你应该同步更新当前属性值(`sort`也一样)
14
+ > `group`改变时,你应该双向同步更新当前属性值(`sort`也一样)
15
15
 
16
16
  ```vdt
17
17
  import {Table, TableColumn} from 'kpc';
@@ -3,7 +3,7 @@ title: 合并单元格
3
3
  order: 15
4
4
  ---
5
5
 
6
- 通过`merge`属性指定一个函数来定义合并单元格的逻辑,函数返回的结果`{colspan, rowspan}`用来定义单元格占用的行列数。
6
+ 通过`merge`属性指定一个函数来定义合并单元格的逻辑,函数返回的结果`{colspan?: number, rowspan?: number}`用来定义单元格占用的行列数。
7
7
  组件传入函数的参数如下:
8
8
 
9
9
  1. `row` 当前行数据
@@ -3,7 +3,7 @@ title: 表头是否可拖动
3
3
  order: 20
4
4
  ---
5
5
 
6
- `resizable`:表头是否可拖动,类型`Boolean`,`false`(默认)。`Table`支持持久化存储列宽信息,只需要通过
6
+ `resizable`:表头是否可拖动,类型`boolean`,`false`(默认)。`Table`支持持久化存储列宽信息,只需要通过
7
7
  `widthStoreKey`指定保存到`localStorage`中的`key`就可以了,这样下次渲染`Table`时会使用上次的列宽信息
8
8
  进行渲染
9
9
 
@@ -3,7 +3,7 @@ title: 行样式
3
3
  order: 7
4
4
  ---
5
5
 
6
- `rowClassName`:给行添加样式,类型`Function`,默认:`function(value, index) { }`,该函数返回的
6
+ `rowClassName`:给行添加样式,类型`(value: T, index: number, key: TableRowKey) => string | undefined`,该函数返回的
7
7
  字符串将被当做`className`添加到该行上
8
8
 
9
9
  你也可以直接添加`stripe`属性,使相邻行展示不同的背景色
@@ -3,13 +3,9 @@ title: 行展开
3
3
  order: 8
4
4
  ---
5
5
 
6
- 通过`expand`block指定行展开后的模板内容。是否支持点击该行任何区域都展开内容,
6
+ 通过`expand`扩展点指定行展开后的模板内容。是否支持点击该行任何区域都展开内容,
7
7
  是由`rowExpandable`控制的,默认情况下它为`true`。你也可以将它设为`false`,来自定义展开逻辑。例如:
8
- 点击某个`icon`后展开改行,而点击其它元素无效。自定义展开逻辑,需要调用`shrinkRow(key)`和`expandRow(key)`
9
- 方法来实现收起和展开,或者修改`expandedKeys`属性值,来指定哪些`key`对应的行展开。
10
-
11
- * `rowExpandable`:是否点击整行即展开,类型`Boolean`,默认`true`
12
- * `expandedKeys`:指定哪些`key`对应行展开,类型`Array`,默认`[]`
8
+ 点击某个`icon`后展开改行,而点击其它元素无效。自定义展开逻辑,修改`expandedKeys`属性值,来指定哪些`key`对应的行展开。
13
9
 
14
10
  ```vdt
15
11
  import {Table, TableColumn} from 'kpc';
@@ -7,7 +7,7 @@ order: 17
7
7
 
8
8
  `{ key: '当前排序的列的key', type: '当前排序方式(desc: 降序,asc: 升序)' }`
9
9
 
10
- 当该列可排序时,只需要在定义表格结构的`scheme`或者`TableColumn`中加入`sortable`并且取值为`true`即可
10
+ 当该列可排序时,只需要在`TableColumn`中加入`sortable`即可
11
11
 
12
12
  当排序方式改变时,可以监听默认事件`$change:sort`来执行自定义排序逻辑
13
13
 
@@ -17,6 +17,7 @@ import {Table, TableColumn} from 'kpc';
17
17
  <Table data={this.get('data')}
18
18
  sort={this.get('sort')}
19
19
  ev-$change:sort={this._onSort}
20
+ rowKey={item => item.name}
20
21
  >
21
22
  <TableColumn title='姓名' key='name' sortable />
22
23
  <TableColumn title='年龄' key='age' sortable />
@@ -3,10 +3,10 @@ title: 表头吸顶
3
3
  order: 11
4
4
  ---
5
5
 
6
- `stickHeader`:设置表头是否当表格滚动超出规定高度时,将表头固定在页面顶部,类型`Boolean` | `Number`,默认:`false`
6
+ `stickHeader`:设置页面滚动使表头距视窗超出小于等于当前取值(默认为:0)时,将表头固定在页面顶部,类型`boolean` | `number`,默认:`false`
7
7
 
8
- 1. 如果取值为`Boolean`,`false`表示不吸顶,`true`表示吸顶,此时等价于`0`,表示固定的位置的`top`为`0`
9
- 2. 如果取值为`Number`,用来指定固定的位置距离视窗顶部的距离,例如本例中,固定在`top = 87px`的地方
8
+ 1. 如果取值为`boolean`,`false`表示不吸顶,`true`表示吸顶,此时等价于`0`,表示固定的位置的`top`为`0`
9
+ 2. 如果取值为`number`,用来指定固定的位置距离视窗顶部的距离,例如本例中,固定在`top = 64px`的地方
10
10
 
11
11
  > 表头吸顶后会`fixed`,此时`document.body`不要出现横向滚动条,否则横向滚动后,表格体位置变了而表头位置不会变
12
12
 
@@ -3,10 +3,10 @@ title: 横向滚动条吸底
3
3
  order: 13
4
4
  ---
5
5
 
6
- `stickScrollbar`:当出现横向滚动条时,设置是否当表格底部没有滚动到视窗中时,将横向滚动条固定在页面底部,类型`Boolean` | `Number`,默认:`false`
6
+ `stickScrollbar`:当出现横向滚动条时,设置是否当表格底部没有滚动到视窗中时,将横向滚动条固定在页面底部,类型`boolean` | `number`,默认:`false`
7
7
 
8
- 1. 如果取值为`Boolean`,`false`表示不吸底,`true`表示吸底,此时等价于`0`,表示固定的位置的`bottom`为`0`
9
- 2. 如果取值为`Number`,用来指定固定位置距离视窗底部的距离
8
+ 1. 如果取值为`boolean`,`false`表示不吸底,`true`表示吸底,此时等价于`0`,表示固定的位置的`bottom`为`0`
9
+ 2. 如果取值为`number`,用来指定固定位置距离视窗底部的距离
10
10
 
11
11
  > 滚动条吸底后会`fixed`,此时`document.body`不要出现横向滚动条,否则横向滚动后,表格位置而滚动条位置不会变
12
12
 
@@ -4,8 +4,7 @@ order: 23
4
4
  ---
5
5
 
6
6
  通过`tooltip`扩展点,可以定义表格行的提示信息,通过`tooltipPosition`属性可以定义提示信息的弹出位置,
7
- 通过`tooltipContainer`指定提示层元素插入的位置。
8
- 组件会将当前行的数据和索引传入该扩展点
7
+ 通过`tooltipContainer`指定提示层元素插入的位置。组件会将当前行的数据和索引传入该扩展点
9
8
 
10
9
  ```vdt
11
10
  import {Table, TableColumn} from 'kpc';
@@ -11,62 +11,96 @@ sidebar: doc
11
11
 
12
12
  | 属性 | 说明 | 类型 | 默认值 |
13
13
  | --- | --- | --- | --- |
14
- | data | 表格数据 | `Array` | `[]` |
15
- | scheme | 定义表格结构:表头,单元格内容 | `Object` | `{}` |
14
+ | data | 表格数据 | `T[]` | `undefined` |
15
+ | fixHeader | 表头固定,给定需要固定高度的具体数值,当超出改值时,展示滚动条 | `boolean` &#124; `number` &#124; `string` | `false` |
16
+ | stickHeader | 表头吸顶,给定需要吸顶的高度,当表头在页面滚动滚动时,距离视窗顶部的距离等于该高度时,将表头固定在此高度处 | `boolean` &#124; `number` &#124; `string` | `false` |
17
+ | stickScrollbar | 当出现横向滚动条时,设置是否当表格底部没有滚动到视窗中时,将横向滚动条固定在页面底部;取值为`number`类型时,用来指定距离视窗底部的距离 | `boolean` &#124; `number` &#124; `string` | `false` |
16
18
  | checkType | 当行可选择时,定义选择的类型: 单选 `"radio"` , 复选 `"checkbox"`, 不可选`"none"` | `"checkbox"` &#124; `"radio"` &#124; `"none"` | `"checkbox"` |
17
- | fixHeader | 表头固定,给定需要固定高度的具体数值,当超出改值时,展示滚动条 | `Boolean` &#124; `Number` &#124; `String` | `false` |
18
- | stickHeader | 表头吸顶,给定需要吸顶的高度,表格滚动超出该高度时,将表头固定在顶部 | `Boolean` &#124; `Number` &#124; `String` | `false` |
19
- | stickScrollbar | 当出现横向滚动条时,设置是否当表格底部没有滚动到视窗中时,将横向滚动条固定在页面底部;取值为`Number`类型时,用来指定距离视窗底部的距离 | `Boolean` &#124; `Number` &#124; `String` | `false` |
20
- | rowKey | 设置行的key | `Function` | function(value, index) { return `index`; } |
21
- | checkedKeys | 通过`key`数组来指定哪些行被选中 | `Array` | `[]` |
22
- | resizable | 是否可以表头拖动 | `Boolean` | `false` |
23
- | rowCheckable | 当行可选时,是否点击该行任意区域都可选中 | `Boolean` | `true` |
24
- | rowClassName | 通过一个函数定义行的`className`,该函数会传入该行数据和索引当做参数,返回的字符串将被设为该行`className` | `Function` | `function(value, index) { }` |
25
- | disableRow | 定义行禁用可选的逻辑,返回`true`,则改行被禁用选择 | `Function` | `function(data, index) { return false }` |
26
- | rowExpandable | 是否点击改行任意区域即展开 | `Boolean` | `true` |
27
- | expandedKeys | 通过`key`来指定哪些行展开 | `Array` | `[]` |
19
+ | checkedKeys | 通过`key`数组来指定哪些行被选中 | `TableRowKey[]` | `[]` |
20
+ | rowKey | 设置每行的key | `(value: T, index: number) => TableRowKey` | `(value: T, index: number) => index` |
21
+ | rowCheckable | 当行可选时,是否点击该行任意区域都可选中 | `boolean` | `true` |
22
+ | disableRow | 定义行禁用可选的逻辑,返回`true`,则改行被禁用选择 | `(value: T, index: number, key: TableRowKey) => boolean` | `undefined` |
28
23
  | type | 表格类型,默认左右无边框,`"border"`类型会添加边框, `"grid"`类型会展示栅格边框 | `"default"` &#124; `"border"` &#124; `"grid"` | `"default"` |
29
- | sort | 排序,详见示例说明 | `Object` | `{}` |
30
- | group | 分组,详见示例说明 | `Object` | `{}` |
31
- | minColWidth | 指定所有列拖动时的最小宽度 | `Number` | `40` |
32
- | loading | 是否展示加载状态 | `Boolean` | `false` |
33
- | container | 指定`group`弹出菜单追加的位置,默认:`Dialog`类型的组件会追加到`Dialog`中,其他会追加到`body`中。你可以传入函数返回一个DOM用来作为插入的容器,或者传入字符串用来给`querySelector`进行查询 | `Function` &#124; `String` | `undefined` |
34
- | stripe | 相邻行是否展示不同的背景色 | `Boolean` | `false` |
35
- | rowSelectable | 是否点击行时高亮改行,取值为`multiple`时,可以同时高亮多行 | `Boolean` &#124; `"single"` &#124; `"multiple"` | `false` |
36
- | selectedKeys | 当`rowSelectable`取值为非`false`时,指定哪些行高亮 | `Array` | `[]` |
37
- | defaultWidth | 指定表格初始化宽度,可以指定百分比,像素值必须带上单位`px` | `String` | `undefined` |
38
- | defaultWidthMap | 指定表格初始化每列列宽,该值为`Object`,`key`对应为每列的`key`,`value`为每列列宽像素值,不带单位`px`,不能指定百分比。它的优先级高于`TableColumn`中的`width`定义 | `Object` | `{}` |
39
- | widthStoreKey | 如果要保存表格拖动后的列宽信息,可以通过该属性设置保存到`localStorage`中的`key` | `String` | `undefined` |
40
- | merge | 指定表格单元格合并逻辑 | `Function` | `undefined` |
41
- | tooltipPosition | 行提示的位置 | `"left"` &#124; `"bottom"` &#124; `"right"` &#124; `"top"` &#124; `Object` | `"top"` |
42
- | tooltipContainer | 指定弹出提示内容追加的位置,默认:`Dialog`类型的组件会追加到`Dialog`中,其他会追加到`body`中。你可以传入函数返回一个DOM用来作为插入的容器,或者传入字符串用来给`querySelector`进行查询 | `Function` &#124; `String` | `undefined` |
43
- | childrenKey | 树形表格指定子元素键名 | `String` | `"children"` |
44
- | indent | 树形表格指定子元素缩进宽度 | `Number` | `32` |
45
- | spreadKeys | 树形表格指定展开的行 | `Array` | `[]` |
46
- | draggable | 表格行是否可拖动 | `Boolean` | `false` |
47
- | keepStatus | 是否在行销毁的时候,保持该行在`checkedKeys` &#124; `selectedKeys` &#124; `spreadKeys` &#124; `expandedKeys`中的`key`值,默认会同步删除(仅在销毁行的时候有效,如果整个`Table`被销毁,则不会执行该逻辑) | `Boolean` | `false` |
24
+ | stripe | 相邻行是否展示不同的背景色 | `boolean` | `false` |
25
+ | rowClassName | 通过一个函数定义行的`className`,该函数会传入该行数据,索引和`key`当做参数,返回的字符串将被设为该行的`className` | <code>(value: T, index: number, key: TableRowKey) => string &#124; undefined</code> | `undefined` |
26
+ | group | 分组,详见示例说明 | `TableGroupValue` | `undefined` |
27
+ | sort | 排序,详见示例说明 | `TableSortValue` | `undefined` |
28
+ | loading | 是否展示加载状态 | `boolean` | `false` |
29
+ | merge | 指定表格单元格合并逻辑 | `TableMerge` | `undefined` |
30
+ | expandedKeys | 通过`key`来指定哪些行展开 | `TableRowKey[]` | `undefined` |
31
+ | rowExpandable | 是否点击改行任意区域即展开 | `boolean` | `true` |
32
+ | selectedKeys | 当`rowSelectable`取值为非`false`时,指定哪些行高亮 | `TableRowKey[]` | `undefined` |
33
+ | rowSelectable | 是否点击行时高亮改行,取值为`multiple`时,可以同时高亮多行 | `boolean` &#124; `"single"` &#124; `"multiple"` | `false` |
34
+ | childrenKey | 树形表格指定子元素键名 | `string` | `"children"` |
35
+ | indent | 树形表格指定子元素缩进宽度 | `number` | `32` |
36
+ | spreadKeys | 树形表格指定展开的行 | `TableRowKey[]` | `undefined` |
37
+ | tooltipPosition | 行提示的位置 | `"left"` &#124; `"bottom"` &#124; `"right"` &#124; `"top"` &#124; `Position` | `"top"` |
38
+ | tooltipContainer | 指定行提示弹层追加的位置,默认:`Dialog`类型的组件会追加到`Dialog`中,其他会追加到`body`中。你可以传入函数返回一个DOM用来作为插入的容器,或者传入字符串用来给`querySelector`进行查询 | `Container` | `undefined` |
39
+ | keepStatus | 是否在行销毁的时候,保持该行在`checkedKeys` &#124; `selectedKeys` &#124; `spreadKeys` &#124; `expandedKeys`中的`key`值,默认会同步删除(仅在销毁行的时候有效,如果整个`Table`被销毁,则不会执行该逻辑) | `boolean` | `false` |
40
+ | showIndeterminate | 表头的`Checkbox`是否支持展示半选中状态 | `boolean` | `false` |
41
+ | resizable | 是否可以表头拖动 | `boolean` | `false` |
42
+ | minColWidth | 指定所有列拖动时的最小宽度 | `number` | `40` |
43
+ | widthStoreKey | 如果要保存表格拖动后的列宽信息,可以通过该属性设置保存到`localStorage`中的`key` | `string` | `undefined` |
44
+ | draggable | 表格行是否可拖动 | `boolean` | `false` |
45
+
46
+ ```ts
47
+ import {Props} from 'intact';
48
+
49
+ export type TableRowKey = string | number;
50
+ export type TableGroupValue<T extends string | number | symbol = string | number | symbol> = Record<T, any | any[]>
51
+ export type TableSortValue<T = string> = {
52
+ key?: T
53
+ type?: 'desc' | 'asc'
54
+ }
55
+ export type TableMerge<T = any, CheckType = 'checkbox'> = (
56
+ row: T,
57
+ column: CheckType extends 'none' ? Props<TableColumnProps> : Props<TableColumnProps> | null,
58
+ rowIndex: number,
59
+ columnIndex: number
60
+ ) => TableMergeConfig | undefined
61
+
62
+ export type TableMergeConfig = {
63
+ colspan?: number
64
+ rowspan?: number
65
+ }
66
+
67
+ type Position = {
68
+ my?: string | [string, string]
69
+ at?: string | [string, string]
70
+ collision?: Collision | [Collision, Collision]
71
+ }
72
+
73
+ type Collision = 'left' | 'top' | 'none'
74
+
75
+ export type Container = string | ((parentDom: Element, anchor: Node | null) => Element)
76
+ ```
48
77
 
49
78
  ## TableColumn
50
79
 
51
- 除了通过`Table`的`scheme`属性指定表格的结构外,还以通过`TableColumn`来指定,它的属性值跟`scheme`
52
- 数据结构一一对应
53
-
54
80
  | 属性 | 说明 | 类型 | 默认值 |
55
81
  | --- | --- | --- | --- |
56
- | title | 标题 | `String` | `""` |
57
- | template | 指定当前列,单元格渲染模板函数 | `Function` | `(data, index) => {}`,
58
- | key | 指定当前列的`key`,__必须指定,并且为了保证顺序正确,不要以数字开头__ | `String` | `""` |
59
- | sortable | 是否可排序 | `Boolean` | `false` |
60
- | width | 列宽,可以指定百分比或像素(像素不需要加单位) | `String` | `undefined` |
61
- | group | 指定分组数组,每一项格式为`{value: '选中后的值', label: '展示的文案'}` | `Array<Object>` | `undefined` |
62
- | multiple | 分组是否支持多选 | `Boolean` | `false` |
63
- | minWidth | 指定当前列拖动时的最小宽度,优先级高于`Table`的`minColWidth` | `Number` | `40` |
82
+ | key | 指定当前列的`key`,__必须指定__ | `string` | `undefined` |
83
+ | title | 标题 | `string` &#124; `VNode` | `undefined` |
84
+ | sortable | 是否可排序 | `boolean` | `false` |
85
+ | width | 列宽,可以指定百分比或像素(像素不需要加单位) | `string` | `undefined` |
86
+ | group | 指定分组数组,每一项格式为`{value: '选中后的值', label: '展示的文案'}` | `TableColumnGroupItem[]` | `undefined` |
87
+ | multiple | 分组是否支持多选 | `boolean` | `false` |
88
+ | ignore | 是否忽略当前列的导出 | `boolean` | `false` |
64
89
  | fixed | 是否将列固定,`"left"`固定在左侧;`"right"`固定在右侧 | `"left"` &#124; `"right"` | `undefined` |
65
- | className | 给当前列添加className | `String` &#124; `Object` | `undefined` |
66
- | ignore | 是否忽略当前列的导出 | `Boolean` | `false` |
67
90
  | align | 当前列对齐方式 | `"left"` &#124; `"center"` &#124; `"right"` | `undefined` |
68
- | exportTitle | 自定义导出的标题 | `String` | `undefined` |
91
+ | exportTitle | 自定义导出的标题 | `string` | `undefined` |
69
92
  | exportCell | 自定义导出的单元格内容 | `(data: any, index: number) => string` | `undefined` |
93
+ | minWidth | 指定当前列拖动时的最小宽度,优先级高于`Table`的`minColWidth` | `number` | `undefined` |
94
+ | className | 给当前列添加className | `string` &#124; `Record<string, any>` | `undefined` |
95
+
96
+ ```ts
97
+ import {VNode} from 'intact';
98
+
99
+ export type TableColumnGroupItem = {
100
+ label: string | VNode
101
+ value: any
102
+ }
103
+ ```
70
104
 
71
105
  # 扩展点
72
106
 
@@ -75,16 +109,16 @@ sidebar: doc
75
109
  | 名称 | 说明 | 参数 |
76
110
  | --- | --- | --- |
77
111
  | empty | 自定义无数据展示模板 | - |
78
- | expand | 指定行展开后要展示的模板内容 | `data, index` |
79
- | tooltip | 行提示内容 | `data, index` |
112
+ | expand | 指定行展开后要展示的模板内容 | `([data: T, index: number]) => Children` |
113
+ | tooltip | 行提示内容 | `([data: T, index: number]) => Children` |
80
114
 
81
115
  ## TableColumn
82
116
 
83
117
  | 名称 | 说明 | 参数 |
84
118
  | --- | --- | --- |
85
119
  | title | 自定义复杂表头内容 | - |
86
- | template | 自定义单元格内容 | `data, index` |
87
- | default | 与`template`扩展点等价,为了方便vue中使用的别名 | `data, index` |
120
+ | template | 自定义单元格内容 | `([data: T, index: number]) => Children` |
121
+ | default | 与`template`扩展点等价,为了方便vue中使用的别名 | `([data: Tindex: number]) => Children` |
88
122
 
89
123
 
90
124
  # 方法
@@ -93,19 +127,13 @@ sidebar: doc
93
127
 
94
128
  | 方法名 | 说明 | 参数 | 返回值 |
95
129
  | --- | --- | --- | --- |
96
- | getCheckedData | 获取选中数据信息 | - | `Array` |
97
- | getSelectedData | 获取高亮行数据信息 | - | `Array` |
130
+ | getCheckedData | 获取选中数据信息 | - | `T[]` |
131
+ | getSelectedData | 获取高亮行数据信息 | - | `T[]` |
98
132
  | checkAll | 全部选中 | - | `undefined` |
99
133
  | uncheckAll | 全不选中 | - | `undefined` |
100
- | isCheckAll | 判断是否全选 | - | `Boolean` |
101
- | isChecked | 判断某行是否选中 | `key` | `Boolean` |
102
- | checkRow | 选中某行 | `key` | `undefined` |
103
- | uncheckRow | 取消选中某行 | `key` | `undefined` |
104
- | expandRow | 展开某行 | `key` | `undefined` |
105
- | shrinkRow | 收起某行 | `key` | `undefined` |
106
- | scrollToRowByIndex | 通过索引指定滚动的行 | `index` | `undefined` |
107
- | scrollToRowByKey | 通过key指定滚动的行 | `key` | `undefined` |
108
- | refreshHeader | 如果固定了表头,`Table`会在是否展示滚动条的时候自动设置表头的`padding`值,某些特殊情况下如果没有正确`padding`值,可以调用该方法强制更新 | - | `undefined` |
134
+ | scrollToRowByIndex | 通过索引指定滚动的行 | `(index: number) => Promise<void>` | `undefined` |
135
+ | scrollToRowByKey | 通过key指定滚动的行 | `(key: TableRowKey) => Promise<void>` | `undefined` |
136
+ | exportTable | 导出表格 | `(data: T[] = this.get('data'), filename = 'table') => Promise<string>` | `Promise<string>`返回导出的内容 |
109
137
 
110
138
  # 事件
111
139
 
@@ -113,8 +141,6 @@ sidebar: doc
113
141
 
114
142
  | 事件名 | 说明 | 参数 |
115
143
  | --- | --- | --- |
116
- | $change:checked | 选中的数据变化会触发的事件 | `instance, newValue, oldValue` |
117
- | changeWidth | 当列宽拖动发生变化后触发 | `widthMap, tableWidth` |
118
- | click:row | 点击某行触发 | `data, index, key, event` |
119
- | dragstart | 行拖动开始 | `{key, from}` |
120
- | dragend | 行拖动结束 | `{key, from, to}` |
144
+ | clickRow | 点击某行触发 | `(data: T, index: number, key: TableRowKey) => void` |
145
+ | dragstart | 行拖动开始 | `(data: {key: TableRowKey, from: number}) => void` |
146
+ | dragend | 行拖动结束 | `(data: {key: TableRowKey, from: number, to: number}) => void` |
@@ -22,7 +22,10 @@ import {Icon} from '../icon';
22
22
  import {useChecked, AllCheckedStatus} from './useChecked';
23
23
 
24
24
  describe('Table', () => {
25
- afterEach(() => unmount());
25
+ afterEach(() => {
26
+ unmount();
27
+ localStorage.removeItem('resizableTable');
28
+ });
26
29
 
27
30
  it('check & uncheck', async () => {
28
31
  const [instance, element] = mount(BasicDemo);
@@ -1,2 +1,3 @@
1
1
  export * from './table';
2
2
  export * from './column';
3
+ export type {TableMerge, TableMergeConfig} from './useMerge';
@@ -1,3 +1,4 @@
1
+ import {TransitionGroup} from 'intact';
1
2
  import {getClassAndStyleForFixed} from './useFixedColumns';
2
3
  import {Checkbox} from '../checkbox';
3
4
  import {Radio} from '../radio';
@@ -88,9 +89,12 @@ cols.forEach((props, columnIndex) => {
88
89
  );
89
90
  });
90
91
 
92
+ const rows = <TransitionGroup name="k-fade-expand" move={false}>{vNodes}</TransitionGroup>
93
+ /* const rows = vNodes; */
94
+
91
95
  // for performance, no normalize
92
96
  <template>
93
- {createElementVNode(2, 'tr', vNodes, 8 /* HasKeyedChildren */, cx(classNameObj), {
97
+ {createElementVNode(2, 'tr', rows, 2, cx(classNameObj), {
94
98
  'data-key': key,
95
99
  'ev-mouseenter': this.onMouseEnter,
96
100
  'ev-mouseleave': this.onMouseLeave,