@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
@@ -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,
@@ -4,6 +4,8 @@ import {deepDefaults, palette} from '../../styles/utils';
4
4
  import '../../styles/global';
5
5
 
6
6
  const defaults = {
7
+ get transition() { return theme.transition.large },
8
+ // transition: '15000s',
7
9
  border: `1px solid #e5e5e5`,
8
10
  fontSize: `12px`,
9
11
  bgColor: `#fff`,
@@ -61,7 +63,7 @@ const defaults = {
61
63
  draggingOpacity: `.4`,
62
64
  };
63
65
 
64
- let table: any;
66
+ let table: typeof defaults;
65
67
  setDefault(() => {
66
68
  table = deepDefaults(theme, {table: defaults}).table;
67
69
  });
@@ -82,6 +84,11 @@ export function makeStyles() {
82
84
  // border-collapse: collapse;
83
85
  border-spacing: 0;
84
86
  table-layout: fixed;
87
+
88
+ td,
89
+ th{
90
+ transition: all ${table.transition};
91
+ }
85
92
  }
86
93
 
87
94
  // thead
@@ -131,7 +138,8 @@ export function makeStyles() {
131
138
  background: ${table.tbody.hoverBgcolor};
132
139
  }
133
140
  &:last-of-type td {
134
- border-bottom: none;
141
+ // border-bottom: none;
142
+ border-bottom-color: transparent;
135
143
  }
136
144
  }
137
145
  }
@@ -152,7 +160,7 @@ export function makeStyles() {
152
160
  &:after {
153
161
  content: '';
154
162
  display: block;
155
- transition: box-shadow ${theme.transition};
163
+ transition: box-shadow ${table.transition};
156
164
  position: absolute;
157
165
  top: 0;
158
166
  bottom: 0px;
@@ -192,6 +200,9 @@ export function makeStyles() {
192
200
  .k-affix-wrapper {
193
201
  overflow: hidden;
194
202
  }
203
+ &.k-fixed {
204
+ position: relative;
205
+ }
195
206
  }
196
207
 
197
208
  // type
@@ -233,7 +244,7 @@ export function makeStyles() {
233
244
  // position: absolute;
234
245
  // top: -1px;
235
246
  // left: 2px;
236
- transition: transform ${theme.transition};
247
+ transition: transform ${table.transition};
237
248
  }
238
249
  &.k-dropdown-open .k-icon {
239
250
  transform: rotate(180deg);
@@ -293,6 +304,7 @@ export function makeStyles() {
293
304
  }
294
305
  .k-table-expand {
295
306
  border-top: ${table.border};
307
+ box-sizing: content-box;
296
308
  }
297
309
 
298
310
  // select
@@ -306,7 +318,7 @@ export function makeStyles() {
306
318
  // }
307
319
  .k-table-arrow {
308
320
  margin-right: ${table.arrow.gap};
309
- transition: transform ${theme.transition};
321
+ transition: transform ${table.transition};
310
322
  position: relative;
311
323
  top: -1px;
312
324
  }
@@ -58,6 +58,7 @@ export interface TableProps<
58
58
  resizable?: boolean
59
59
  minColWidth?: number
60
60
  widthStoreKey?: string
61
+ draggable?: boolean
61
62
  }
62
63
 
63
64
  export interface TableEvents<T = any, K extends TableRowKey = number> {
@@ -114,6 +115,7 @@ const typeDefs: Required<TypeDefs<TableProps<unknown>>> = {
114
115
  resizable: Boolean,
115
116
  minColWidth: Number,
116
117
  widthStoreKey: String,
118
+ draggable: Boolean,
117
119
  };
118
120
 
119
121
  const defaults = (): Partial<TableProps> => ({
@@ -26,7 +26,7 @@ const {
26
26
  draggable,
27
27
  } = this.get();
28
28
  const {columns, cols, maxRows, maxCols} = this.columns.getData();
29
- const {setScrollPosition, scrollPosition, hasFixed, getHasFixedLeft, getOffsetMap} = this.fixedColumns;
29
+ const {scrollPosition, hasFixed, getHasFixedLeft, getOffsetMap} = this.fixedColumns;
30
30
  const {scrollRef} = this.scroll;
31
31
  const {stickHeader, excludeStickHeader, elementRef, headRef} = this.stickyHeader;
32
32
  const classNameObj = {
@@ -71,20 +71,23 @@ const thead = (
71
71
  <FixedColumnsContext.Provider value={offsetMap}>
72
72
  <thead>
73
73
  <tr v-for={columns}>
74
- <th v-if={$key === 0 && checkType !== 'none'}
75
- {...getClassAndStyleForFixed({
76
- fixed: hasFixedLeft ? 'left' : false,
77
- }, 0)}
78
- rowspan={maxRows}
79
- >
80
- <Checkbox v-if={checkType === 'checkbox'}
81
- value={allCheckedStatus === AllCheckedStatus.All}
82
- indeterminate={showIndeterminate && allCheckedStatus == AllCheckedStatus.Indeterminate}
83
- ev-$change:value={toggleCheckedAll}
84
- disabled={!hasData}
85
- />
86
- </th>
87
- {$value}
74
+ <TransitionGroup name="k-fade-expand" move={false}>
75
+ <th v-if={$key === 0 && checkType !== 'none'}
76
+ {...getClassAndStyleForFixed({
77
+ fixed: hasFixedLeft ? 'left' : false,
78
+ }, 0)}
79
+ rowspan={maxRows}
80
+ key="$checktype"
81
+ >
82
+ <Checkbox v-if={checkType === 'checkbox'}
83
+ value={allCheckedStatus === AllCheckedStatus.All}
84
+ indeterminate={showIndeterminate && allCheckedStatus == AllCheckedStatus.Indeterminate}
85
+ ev-$change:value={toggleCheckedAll}
86
+ disabled={!hasData}
87
+ />
88
+ </th>
89
+ {$value}
90
+ </TransitionGroup>
88
91
  </tr>
89
92
  </thead>
90
93
  </FixedColumnsContext.Provider>
@@ -104,91 +107,93 @@ const {isSelected} = this.selected;
104
107
  const {loopData, isSpreaded, toggleSpreadRow} = this.tree;
105
108
  const {onRowDragStart, onRowDragOver, onRowDragEnd, draggingKey} = this.draggable;
106
109
  const tbody = (
107
- <TransitionGroup tag="tbody" name="k-fade" move={!draggingKey.value}>
110
+ <tbody>
108
111
  {!hasData ?
109
112
  <tr key="table-empty">
110
113
  <td colspan={colCount} class="k-table-empty">
111
114
  <b:empty>{_$('/(ㄒoㄒ)/~~ 没有找到亲要的数据哦~')}</b:empty>
112
115
  </td>
113
116
  </tr> :
114
- (() => {
115
- const rows = [];
116
- loopData((value, index, level, hidden) => {
117
- // don't render if row is hidden
118
- if (hidden) return hidden;
117
+ <TransitionGroup name="k-fade-in-left" move={!draggingKey.value}>
118
+ {(() => {
119
+ const rows = [];
120
+ loopData((value, index, level, hidden) => {
121
+ // don't render if row is hidden
122
+ if (hidden) return hidden;
119
123
 
120
- const status = allStatus[index];
121
- const key = allKeys[index];
122
- const spreaded = isSpreaded(key);
123
- const hasChildren = !!childrenKey && Array.isArray(value[childrenKey]);
124
- const indentSize = indent ? indent * level : 0;
124
+ const status = allStatus[index];
125
+ const key = allKeys[index];
126
+ const spreaded = isSpreaded(key);
127
+ const hasChildren = !!childrenKey && Array.isArray(value[childrenKey]);
128
+ const indentSize = indent ? indent * level : 0;
125
129
 
126
- let row = <TableRow
127
- key={key}
128
- cols={cols}
129
- data={value}
130
- checkType={checkType}
131
- hasFixedLeft={hasFixedLeft}
132
- onClick={this.clickRow}
133
- checked={status.checked}
134
- indeterminate={status.indeterminate}
135
- index={index}
136
- disabled={status.disabled}
137
- allDisabled={status.allDisabled}
138
- className={rowClassName && rowClassName(value, index, key)}
139
- merge={merge}
140
- grid={getGrid()}
141
- onChangeChecked={onChangeChecked}
142
- selected={isSelected(key)}
143
- spreaded={spreaded}
144
- hasChildren={hasChildren}
145
- indent={indentSize}
146
- onToggleSpreadRow={toggleSpreadRow}
147
- onBeforeUnmount={this.resetRowStatus.onRowBeforeUnmount}
148
- offsetMap={offsetMap}
130
+ let row = <TableRow
131
+ key={key}
132
+ cols={cols}
133
+ data={value}
134
+ checkType={checkType}
135
+ hasFixedLeft={hasFixedLeft}
136
+ onClick={this.clickRow}
137
+ checked={status.checked}
138
+ indeterminate={status.indeterminate}
139
+ index={index}
140
+ disabled={status.disabled}
141
+ allDisabled={status.allDisabled}
142
+ className={rowClassName && rowClassName(value, index, key)}
143
+ merge={merge}
144
+ grid={getGrid()}
145
+ onChangeChecked={onChangeChecked}
146
+ selected={isSelected(key)}
147
+ spreaded={spreaded}
148
+ hasChildren={hasChildren}
149
+ indent={indentSize}
150
+ onToggleSpreadRow={toggleSpreadRow}
151
+ onBeforeUnmount={this.resetRowStatus.onRowBeforeUnmount}
152
+ offsetMap={offsetMap}
149
153
 
150
- draggable={draggable}
151
- draggingKey={draggingKey.value}
152
- onRowDragStart={onRowDragStart}
153
- onRowDragEnd={onRowDragEnd}
154
- onRowDragOver={onRowDragOver}
155
- />
154
+ draggable={draggable}
155
+ draggingKey={draggingKey.value}
156
+ onRowDragStart={onRowDragStart}
157
+ onRowDragEnd={onRowDragEnd}
158
+ onRowDragOver={onRowDragOver}
159
+ />
156
160
 
157
- if ($blocks.tooltip) {
158
- const content = <b:tooltip params={[value, index]} />;
159
- row = (
160
- <Tooltip key={key} position={tooltipPosition} container={tooltipContainer}>
161
- <template>{row}</template>
162
- <b:content>{content}</b:content>
163
- </Tooltip>
164
- );
165
- }
161
+ if ($blocks.tooltip) {
162
+ const content = <b:tooltip params={[value, index]} />;
163
+ row = (
164
+ <Tooltip key={key} position={tooltipPosition} container={tooltipContainer}>
165
+ <template>{row}</template>
166
+ <b:content>{content}</b:content>
167
+ </Tooltip>
168
+ );
169
+ }
166
170
 
167
- rows.push(row);
168
- if ($blocks.expand) {
169
- const expanded = isExpanded(key);
170
- rows.push(
171
- <tr class={{"k-expand": true, 'k-expanded': expanded}}
172
- key={`${key}.$expand`}
173
- >
174
- <td colspan={colCount}>
175
- <Transition {...expandAnimationCallbacks}>
176
- <div v-if={expanded} class="k-table-expand">
177
- <b:expand params={[value, index]} />
178
- </div>
179
- </Transition>
180
- </td>
181
- </tr>
182
- );
183
- }
171
+ rows.push(row);
172
+ if ($blocks.expand) {
173
+ const expanded = isExpanded(key);
174
+ rows.push(
175
+ <tr class={{"k-expand": true, 'k-expanded': expanded}}
176
+ key={`${key}.$expand`}
177
+ >
178
+ <td colspan={colCount}>
179
+ <Transition {...expandAnimationCallbacks}>
180
+ <div v-if={expanded} class="k-table-expand">
181
+ <b:expand params={[value, index]} />
182
+ </div>
183
+ </Transition>
184
+ </td>
185
+ </tr>
186
+ );
187
+ }
184
188
 
185
- return hidden || !spreaded;
186
- });
189
+ return hidden || !spreaded;
190
+ });
187
191
 
188
- return rows;
189
- })()
192
+ return rows;
193
+ })()}
194
+ </TransitionGroup>
190
195
  }
191
- </TransitionGroup>
196
+ </tbody>
192
197
  );
193
198
 
194
199
  const tableWidthPx = tableWidth.value ? `${tableWidth.value}px` : null;