@king-design/intact 2.0.0-beta.0 → 2.0.1

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 (527) 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 +1 -1
  31. package/components/cascader/styles.ts +1 -1
  32. package/components/checkbox/demos/basic.md +1 -1
  33. package/components/checkbox/demos/indeterminate.md +4 -20
  34. package/components/checkbox/demos/value.md +1 -1
  35. package/components/checkbox/index.md +10 -10
  36. package/components/checkbox/index.vdt +16 -13
  37. package/components/checkbox/styles.ts +3 -7
  38. package/components/code/demos/basic.md +3 -3
  39. package/components/code/index.md +8 -10
  40. package/components/collapse/index.md +8 -8
  41. package/components/collapse/item.vdt +1 -1
  42. package/components/collapse/styles.ts +4 -3
  43. package/components/colorpicker/index.md +3 -3
  44. package/components/colorpicker/index.spec.ts +1 -1
  45. package/components/colorpicker/index.ts +3 -0
  46. package/components/colorpicker/index.vdt +5 -1
  47. package/components/colorpicker/styles.ts +1 -1
  48. package/components/context.ts +14 -7
  49. package/components/datepicker/demos/disabledDate.md +0 -2
  50. package/components/datepicker/demos/format.md +1 -1
  51. package/components/datepicker/demos/shortcuts.md +2 -2
  52. package/components/datepicker/helpers.ts +9 -2
  53. package/components/datepicker/index.md +50 -27
  54. package/components/datepicker/index.spec.ts +1 -1
  55. package/components/datepicker/index.vdt +7 -6
  56. package/components/datepicker/styles.ts +1 -1
  57. package/components/diagram/index.md +108 -59
  58. package/components/diagram/shapes/line.ts +2 -3
  59. package/components/dialog/base.ts +2 -1
  60. package/components/dialog/demos/block.md +10 -56
  61. package/components/dialog/demos/size.md +1 -1
  62. package/components/dialog/index.md +47 -56
  63. package/components/dialog/index.spec.ts +2 -18
  64. package/components/dialog/styles.ts +4 -3
  65. package/components/dialog/useFixBody.ts +16 -0
  66. package/components/drawer/index.md +23 -20
  67. package/components/drawer/index.spec.ts +5 -5
  68. package/components/drawer/styles.ts +2 -2
  69. package/components/dropdown/demos/basic.md +4 -16
  70. package/components/dropdown/demos/contextmenu.md +1 -7
  71. package/components/dropdown/demos/disabled.md +1 -1
  72. package/components/dropdown/demos/nested.md +2 -4
  73. package/components/dropdown/demos/position.md +5 -6
  74. package/components/dropdown/demos/trigger.md +2 -4
  75. package/components/dropdown/dropdown.ts +2 -0
  76. package/components/dropdown/index.md +26 -15
  77. package/components/dropdown/index.spec.ts +3 -3
  78. package/components/dropdown/index.ts +1 -2
  79. package/components/dropdown/styles.ts +2 -2
  80. package/components/editable/index.md +10 -15
  81. package/components/editable/index.vdt +1 -0
  82. package/components/editable/styles.ts +1 -1
  83. package/components/form/demos/basic.md +15 -15
  84. package/components/form/index.md +29 -13
  85. package/components/form/index.spec.ts +8 -8
  86. package/components/form/item.vdt +6 -1
  87. package/components/form/methods.ts +6 -1
  88. package/components/form/styles.ts +1 -1
  89. package/components/form/useError.ts +3 -0
  90. package/components/form/useValidate.ts +2 -2
  91. package/components/grid/col.vdt +1 -1
  92. package/components/grid/index.md +34 -13
  93. package/components/grid/styles.ts +4 -1
  94. package/components/icon/index.md +4 -2
  95. package/components/icon/index.vdt +2 -2
  96. package/components/icon/styles.ts +11 -8
  97. package/components/input/demos/blocks.md +2 -2
  98. package/components/input/demos/clearable.md +3 -3
  99. package/components/input/demos/inline.md +12 -0
  100. package/components/input/demos/size.md +0 -1
  101. package/components/input/index.md +18 -22
  102. package/components/input/index.ts +2 -0
  103. package/components/input/index.vdt +42 -33
  104. package/components/input/search.vdt +4 -1
  105. package/components/input/styles.ts +8 -12
  106. package/components/layout/demos/asideFix.md +2 -3
  107. package/components/layout/index.md +5 -5
  108. package/components/layout/styles.ts +5 -4
  109. package/components/menu/index.md +11 -11
  110. package/components/menu/index.spec.ts +2 -2
  111. package/components/menu/item.ts +5 -12
  112. package/components/menu/styles.ts +6 -5
  113. package/components/message/index.md +23 -25
  114. package/components/message/index.spec.ts +1 -1
  115. package/components/message/styles.ts +7 -3
  116. package/components/pagination/index.md +11 -19
  117. package/components/pagination/styles.ts +2 -2
  118. package/components/progress/demos/customColor.md +1 -1
  119. package/components/progress/index.md +11 -5
  120. package/components/progress/styles.ts +2 -2
  121. package/components/radio/index.md +4 -7
  122. package/components/radio/index.vdt +15 -12
  123. package/components/radio/styles.ts +6 -10
  124. package/components/rate/index.md +5 -5
  125. package/components/rate/styles.ts +3 -2
  126. package/components/scrollSelect/index.md +14 -5
  127. package/components/scrollSelect/styles.ts +7 -2
  128. package/components/select/base.ts +0 -1
  129. package/components/select/base.vdt +128 -112
  130. package/components/select/demos/creatable.md +1 -1
  131. package/components/select/demos/customMenu.md +1 -1
  132. package/components/select/demos/format.md +3 -7
  133. package/components/select/index.md +35 -30
  134. package/components/select/index.spec.ts +1 -1
  135. package/components/select/menu.vdt +1 -0
  136. package/components/select/styles.ts +15 -9
  137. package/components/slider/demos/marks.md +2 -2
  138. package/components/slider/index.md +31 -16
  139. package/components/slider/styles.ts +5 -4
  140. package/components/spin/index.md +2 -2
  141. package/components/spin/styles.ts +1 -1
  142. package/components/spinner/index.md +23 -14
  143. package/components/spinner/index.ts +2 -2
  144. package/components/spinner/styles.ts +1 -1
  145. package/components/split/index.md +7 -7
  146. package/components/split/style.ts +2 -2
  147. package/components/steps/index.md +3 -3
  148. package/components/steps/styles.ts +3 -2
  149. package/components/switch/index.md +10 -19
  150. package/components/switch/styles.ts +5 -4
  151. package/components/table/demos/animation.md +92 -0
  152. package/components/table/demos/basic.md +1 -1
  153. package/components/table/demos/checkedKeys.md +2 -3
  154. package/components/table/demos/disableRow.md +2 -2
  155. package/components/table/demos/empty.md +1 -1
  156. package/components/table/demos/export.md +8 -7
  157. package/components/table/demos/fixColumn.md +2 -2
  158. package/components/table/demos/fixHeader.md +3 -3
  159. package/components/table/demos/group.md +3 -3
  160. package/components/table/demos/mergeCell.md +1 -1
  161. package/components/table/demos/resizable.md +1 -1
  162. package/components/table/demos/rowClassName.md +1 -1
  163. package/components/table/demos/rowExpandable.md +2 -6
  164. package/components/table/demos/sort.md +2 -1
  165. package/components/table/demos/stickHeader.md +3 -3
  166. package/components/table/demos/stickScrollbar.md +3 -3
  167. package/components/table/demos/tooltip.md +1 -2
  168. package/components/table/index.md +92 -66
  169. package/components/table/index.spec.ts +5 -2
  170. package/components/table/index.ts +1 -0
  171. package/components/table/row.vdt +5 -1
  172. package/components/table/styles.ts +17 -5
  173. package/components/table/table.ts +2 -0
  174. package/components/table/table.vdt +91 -86
  175. package/components/table/useFixedColumns.ts +5 -3
  176. package/components/table/useWidth.ts +11 -2
  177. package/components/tabs/index.md +15 -8
  178. package/components/tabs/index.spec.ts +1 -1
  179. package/components/tabs/styles.ts +11 -7
  180. package/components/tabs/tab.vdt +1 -1
  181. package/components/tabs/useActiveBar.ts +3 -2
  182. package/components/tag/base.ts +3 -0
  183. package/components/tag/demos/border.md +2 -1
  184. package/components/tag/index.md +4 -3
  185. package/components/tag/styles.ts +9 -4
  186. package/components/timeline/styles.ts +3 -3
  187. package/components/timepicker/constants.ts +3 -2
  188. package/components/timepicker/demos/basic.md +2 -2
  189. package/components/timepicker/demos/step.md +1 -1
  190. package/components/timepicker/index.md +47 -16
  191. package/components/timepicker/index.spec.ts +11 -10
  192. package/components/timepicker/styles.ts +1 -1
  193. package/components/timepicker/useStep.ts +3 -3
  194. package/components/timepicker/useValue.ts +2 -2
  195. package/components/tip/demos/closable.md +1 -1
  196. package/components/tip/index.md +8 -4
  197. package/components/tip/styles.ts +1 -1
  198. package/components/tooltip/demos/basic.md +2 -13
  199. package/components/tooltip/demos/trigger.md +1 -2
  200. package/components/tooltip/index.md +26 -13
  201. package/components/tooltip/index.spec.ts +24 -15
  202. package/components/tooltip/styles.ts +1 -1
  203. package/components/transfer/index.md +36 -23
  204. package/components/transfer/index.spec.ts +7 -6
  205. package/components/transfer/styles.ts +3 -9
  206. package/components/tree/index.md +76 -49
  207. package/components/tree/index.spec.ts +13 -12
  208. package/components/tree/index.ts +1 -0
  209. package/components/tree/index.vdt +1 -0
  210. package/components/tree/styles.ts +7 -4
  211. package/components/treeSelect/index.md +50 -20
  212. package/components/treeSelect/index.spec.ts +5 -5
  213. package/components/treeSelect/styles.ts +3 -2
  214. package/components/upload/index.md +55 -19
  215. package/components/upload/index.spec.ts +1 -1
  216. package/components/upload/index.ts +1 -1
  217. package/components/upload/index.vdt +3 -4
  218. package/components/upload/styles.ts +5 -4
  219. package/components/utils.ts +1 -1
  220. package/components/wave/index.ts +94 -0
  221. package/components/wave/styles.ts +50 -0
  222. package/es/components/breadcrumb/item.d.ts +1 -1
  223. package/es/components/breadcrumb/item.js +3 -14
  224. package/es/components/breadcrumb/styles.js +1 -1
  225. package/es/components/button/index.vdt.js +26 -17
  226. package/es/components/button/styles.d.ts +82 -1
  227. package/es/components/button/styles.js +16 -2
  228. package/es/components/card/styles.js +1 -1
  229. package/es/components/carousel/styles.js +4 -1
  230. package/es/components/carousel/useSlide.js +10 -9
  231. package/es/components/cascader/index.spec.js +1 -1
  232. package/es/components/checkbox/index.vdt.js +15 -10
  233. package/es/components/checkbox/styles.js +2 -2
  234. package/es/components/collapse/item.vdt.js +2 -1
  235. package/es/components/collapse/styles.js +5 -1
  236. package/es/components/colorpicker/index.d.ts +2 -0
  237. package/es/components/colorpicker/index.js +2 -1
  238. package/es/components/colorpicker/index.spec.js +1 -1
  239. package/es/components/colorpicker/index.vdt.js +3 -1
  240. package/es/components/context.d.ts +5 -2
  241. package/es/components/context.js +7 -4
  242. package/es/components/datepicker/helpers.d.ts +2 -1
  243. package/es/components/datepicker/helpers.js +8 -2
  244. package/es/components/datepicker/index.spec.js +1 -1
  245. package/es/components/datepicker/index.vdt.js +10 -5
  246. package/es/components/datepicker/styles.d.ts +46 -1
  247. package/es/components/diagram/shapes/generateShapes.js +3 -3
  248. package/es/components/diagram/shapes/line.d.ts +2 -2
  249. package/es/components/diagram/shapes/line.js +0 -1
  250. package/es/components/dialog/base.d.ts +2 -0
  251. package/es/components/dialog/base.js +2 -1
  252. package/es/components/dialog/index.spec.js +59 -94
  253. package/es/components/dialog/styles.js +5 -1
  254. package/es/components/dialog/useFixBody.d.ts +6 -0
  255. package/es/components/dialog/useFixBody.js +12 -0
  256. package/es/components/drawer/index.spec.js +5 -5
  257. package/es/components/drawer/styles.js +1 -1
  258. package/es/components/dropdown/dropdown.js +1 -0
  259. package/es/components/dropdown/index.js +1 -2
  260. package/es/components/dropdown/index.spec.js +3 -3
  261. package/es/components/dropdown/styles.js +1 -1
  262. package/es/components/editable/index.vdt.js +2 -1
  263. package/es/components/editable/styles.d.ts +8 -1
  264. package/es/components/form/index.spec.js +8 -8
  265. package/es/components/form/item.vdt.js +13 -9
  266. package/es/components/form/useError.d.ts +4 -0
  267. package/es/components/form/useError.js +3 -1
  268. package/es/components/form/useValidate.js +2 -2
  269. package/es/components/grid/col.vdt.js +4 -2
  270. package/es/components/grid/styles.js +1 -1
  271. package/es/components/grid/useGutter.d.ts +1 -1
  272. package/es/components/icon/index.vdt.js +3 -2
  273. package/es/components/icon/styles.js +8 -4
  274. package/es/components/input/index.d.ts +1 -0
  275. package/es/components/input/index.js +2 -1
  276. package/es/components/input/index.vdt.js +47 -32
  277. package/es/components/input/search.vdt.js +4 -2
  278. package/es/components/input/styles.js +8 -3
  279. package/es/components/layout/styles.d.ts +1 -1
  280. package/es/components/layout/styles.js +7 -3
  281. package/es/components/menu/index.spec.js +2 -2
  282. package/es/components/menu/item.d.ts +1 -1
  283. package/es/components/menu/item.js +4 -13
  284. package/es/components/menu/styles.d.ts +62 -1
  285. package/es/components/menu/styles.js +6 -2
  286. package/es/components/message/index.spec.js +1 -1
  287. package/es/components/message/styles.js +6 -2
  288. package/es/components/pagination/styles.js +1 -1
  289. package/es/components/radio/index.vdt.js +14 -9
  290. package/es/components/radio/styles.js +9 -1
  291. package/es/components/rate/styles.js +5 -1
  292. package/es/components/scrollSelect/styles.d.ts +14 -1
  293. package/es/components/scrollSelect/styles.js +9 -1
  294. package/es/components/select/base.vdt.js +135 -121
  295. package/es/components/select/index.spec.js +1 -1
  296. package/es/components/select/menu.vdt.js +1 -0
  297. package/es/components/select/styles.js +9 -4
  298. package/es/components/select/useSearchable.d.ts +1 -1
  299. package/es/components/slider/styles.js +5 -1
  300. package/es/components/spinner/index.d.ts +1 -1
  301. package/es/components/spinner/index.js +1 -1
  302. package/es/components/split/style.js +1 -1
  303. package/es/components/steps/context.d.ts +1 -1
  304. package/es/components/steps/styles.js +5 -1
  305. package/es/components/switch/styles.js +5 -1
  306. package/es/components/table/index.d.ts +1 -0
  307. package/es/components/table/index.spec.js +3 -2
  308. package/es/components/table/row.vdt.js +12 -4
  309. package/es/components/table/styles.js +6 -1
  310. package/es/components/table/table.d.ts +1 -0
  311. package/es/components/table/table.js +2 -1
  312. package/es/components/table/table.vdt.js +30 -27
  313. package/es/components/table/useColumns.d.ts +1 -1
  314. package/es/components/table/useFixedColumns.d.ts +1 -1
  315. package/es/components/table/useFixedColumns.js +5 -2
  316. package/es/components/table/useGroup.d.ts +1 -1
  317. package/es/components/table/useResizable.d.ts +1 -1
  318. package/es/components/table/useSortable.d.ts +1 -1
  319. package/es/components/table/useWidth.js +13 -2
  320. package/es/components/tabs/index.spec.js +1 -1
  321. package/es/components/tabs/styles.js +9 -2
  322. package/es/components/tabs/tab.vdt.js +2 -1
  323. package/es/components/tabs/useActiveBar.js +6 -3
  324. package/es/components/tag/base.js +1 -0
  325. package/es/components/tag/styles.js +8 -2
  326. package/es/components/timepicker/constants.d.ts +2 -1
  327. package/es/components/timepicker/constants.js +3 -2
  328. package/es/components/timepicker/index.spec.js +36 -35
  329. package/es/components/timepicker/useStep.js +3 -3
  330. package/es/components/timepicker/useValue.js +2 -2
  331. package/es/components/tooltip/index.spec.js +32 -25
  332. package/es/components/transfer/index.spec.js +20 -19
  333. package/es/components/transfer/styles.js +2 -6
  334. package/es/components/tree/index.d.ts +1 -1
  335. package/es/components/tree/index.js +1 -1
  336. package/es/components/tree/index.spec.js +20 -19
  337. package/es/components/tree/index.vdt.js +1 -0
  338. package/es/components/tree/styles.js +5 -1
  339. package/es/components/treeSelect/index.spec.js +5 -5
  340. package/es/components/treeSelect/styles.js +5 -1
  341. package/es/components/upload/index.d.ts +1 -1
  342. package/es/components/upload/index.spec.js +1 -1
  343. package/es/components/upload/index.vdt.js +10 -11
  344. package/es/components/upload/styles.js +5 -1
  345. package/es/components/utils.d.ts +1 -1
  346. package/es/components/wave/index.d.ts +19 -0
  347. package/es/components/wave/index.js +120 -0
  348. package/es/components/wave/styles.d.ts +2 -0
  349. package/es/components/wave/styles.js +17 -0
  350. package/es/hooks/useRouter.d.ts +1 -0
  351. package/es/hooks/useRouter.js +10 -0
  352. package/es/i18n/en-US.d.ts +1 -0
  353. package/es/i18n/en-US.js +1 -0
  354. package/es/index.d.ts +3 -2
  355. package/es/index.js +3 -2
  356. package/es/packages/kpc-react/__tests__/index.js +10 -7
  357. package/es/site/data/components/affix/demos/custom/index.d.ts +2 -2
  358. package/es/site/data/components/affix/demos/custom/index.js +4 -4
  359. package/es/site/data/components/affix/demos/custom/react.d.ts +2 -2
  360. package/es/site/data/components/affix/demos/custom/react.js +6 -6
  361. package/es/site/data/components/button/demos/group/react.js +2 -2
  362. package/es/site/data/components/button/demos/icon/react.js +6 -0
  363. package/es/site/data/components/card/demos/basic/react.js +2 -2
  364. package/es/site/data/components/card/demos/extra/react.js +19 -5
  365. package/es/site/data/components/card/demos/noHeader/react.js +2 -2
  366. package/es/site/data/components/checkbox/demos/indeterminate/index.d.ts +1 -1
  367. package/es/site/data/components/checkbox/demos/indeterminate/index.js +2 -2
  368. package/es/site/data/components/checkbox/demos/indeterminate/react.d.ts +1 -1
  369. package/es/site/data/components/checkbox/demos/indeterminate/react.js +5 -6
  370. package/es/site/data/components/dialog/demos/block/react.d.ts +9 -0
  371. package/es/site/data/components/dialog/demos/block/react.js +88 -0
  372. package/es/site/data/components/dropdown/demos/basic/react.js +1 -3
  373. package/es/site/data/components/dropdown/demos/nested/react.js +1 -3
  374. package/es/site/data/components/dropdown/demos/position/react.js +2 -7
  375. package/es/site/data/components/dropdown/demos/trigger/react.js +1 -3
  376. package/es/site/data/components/input/demos/blocks/react.js +4 -2
  377. package/es/site/data/components/input/demos/clearable/react.js +7 -5
  378. package/es/site/data/components/{dialog/demos/extends → input/demos/inline}/index.d.ts +0 -3
  379. package/es/site/data/components/input/demos/inline/index.js +17 -0
  380. package/es/site/data/components/input/demos/inline/react.d.ts +4 -0
  381. package/es/site/data/components/input/demos/inline/react.js +24 -0
  382. package/es/site/data/components/input/demos/size/react.js +0 -3
  383. package/es/site/data/components/layout/demos/asideFix/react.js +2 -1
  384. package/es/site/data/components/select/demos/creatable/react.js +1 -1
  385. package/es/site/data/components/select/demos/customMenu/react.js +1 -0
  386. package/es/site/data/components/select/demos/format/react.js +11 -18
  387. package/es/site/data/components/table/demos/animation/index.d.ts +23 -0
  388. package/es/site/data/components/table/demos/animation/index.js +78 -0
  389. package/es/site/data/components/table/demos/animation/react.d.ts +23 -0
  390. package/es/site/data/components/table/demos/animation/react.js +113 -0
  391. package/es/site/data/components/table/demos/export/react.js +1 -2
  392. package/es/site/data/components/table/demos/sort/react.js +4 -1
  393. package/es/site/data/components/tag/demos/border/react.js +3 -1
  394. package/es/site/data/components/tip/demos/closable/react.js +1 -0
  395. package/es/site/data/components/tooltip/demos/trigger/react.js +1 -2
  396. package/es/site/data/docs/design/{button → about}/index.d.ts +13 -11
  397. package/es/site/data/docs/design/{8point → about}/index.js +0 -0
  398. package/es/site/data/docs/design/{dialog → guide-1}/index.d.ts +15 -11
  399. package/es/site/data/docs/design/{button → guide-1}/index.js +0 -0
  400. package/es/site/data/docs/design/guide-2/index.d.ts +64 -0
  401. package/es/site/data/docs/design/{color → guide-2}/index.js +0 -0
  402. package/es/site/data/docs/design/guide-3/index.d.ts +64 -0
  403. package/es/site/data/docs/design/{dialog → guide-3}/index.js +0 -0
  404. package/es/site/data/docs/design/guide-4/index.d.ts +64 -0
  405. package/es/site/data/docs/design/{font → guide-4}/index.js +0 -0
  406. package/es/site/data/docs/design/guide-5/index.d.ts +64 -0
  407. package/es/site/data/docs/design/{format → guide-5}/index.js +0 -0
  408. package/es/site/data/docs/design/guide-6/index.d.ts +64 -0
  409. package/es/site/data/docs/design/{gutter → guide-6}/index.js +0 -0
  410. package/es/site/data/docs/design/guide-7/index.d.ts +64 -0
  411. package/es/site/data/docs/design/{hierarchy → guide-7}/index.js +0 -0
  412. package/es/site/data/docs/design/guide-8/index.d.ts +64 -0
  413. package/es/site/data/docs/design/{language → guide-8}/index.js +0 -0
  414. package/es/site/data/docs/design/guide-9/index.d.ts +64 -0
  415. package/es/site/data/docs/design/{navigator → guide-9}/index.js +0 -0
  416. package/es/site/data/docs/design/model/index.d.ts +64 -0
  417. package/es/site/data/docs/design/{tip → model}/index.js +0 -0
  418. package/es/site/data/docs/design/model-1/index.d.ts +64 -0
  419. package/es/site/data/docs/design/{text → model-1}/index.js +0 -0
  420. package/es/site/data/docs/design/pattern-1/index.d.ts +64 -0
  421. package/es/site/data/docs/design/pattern-1/index.js +42 -0
  422. package/es/site/data/docs/design/pattern-2/index.d.ts +64 -0
  423. package/es/site/data/docs/design/pattern-2/index.js +42 -0
  424. package/es/site/data/docs/design/pattern-3/index.d.ts +64 -0
  425. package/es/site/data/docs/design/pattern-3/index.js +42 -0
  426. package/es/site/data/docs/design/pattern-4/index.d.ts +64 -0
  427. package/es/site/data/docs/design/pattern-4/index.js +42 -0
  428. package/es/site/data/docs/design/pattern-5/index.d.ts +64 -0
  429. package/es/site/data/docs/design/pattern-5/index.js +42 -0
  430. package/es/site/data/docs/design/pattern-6/index.d.ts +64 -0
  431. package/es/site/data/docs/design/pattern-6/index.js +42 -0
  432. package/es/site/data/docs/design/{navigator → principle}/index.d.ts +13 -11
  433. package/es/site/data/docs/design/principle/index.js +42 -0
  434. package/es/site/data/docs/design/{tip → value}/index.d.ts +13 -11
  435. package/es/site/data/docs/design/value/index.js +42 -0
  436. package/es/site/data/docs/theme/index.d.ts +0 -2
  437. package/es/site/src/client.js +3 -0
  438. package/es/site/src/components/ImgBox/index.d.ts +21 -0
  439. package/es/site/src/components/ImgBox/index.js +69 -0
  440. package/es/site/src/{pages/designdoc → components/ImgBox}/styles.d.ts +0 -0
  441. package/es/site/src/components/ImgBox/styles.js +13 -0
  442. package/es/site/src/components/WorkflowCard/styles.js +3 -10
  443. package/es/site/src/components/article/index.d.ts +4 -1
  444. package/es/site/src/components/article/index.js +72 -6
  445. package/es/site/src/components/blockquote/index.d.ts +4 -0
  446. package/es/site/src/components/blockquote/index.js +13 -0
  447. package/es/site/src/components/blockquote/slot.d.ts +11 -0
  448. package/es/site/src/components/blockquote/slot.js +19 -0
  449. package/es/site/src/components/card/index.d.ts +1 -1
  450. package/es/site/src/components/card/index.js +4 -1
  451. package/es/site/src/components/card/styles.js +2 -10
  452. package/es/site/src/components/catalogue/index.js +2 -2
  453. package/es/site/src/components/catalogue/styles.js +1 -1
  454. package/es/site/src/components/footer/styles.js +2 -2
  455. package/es/site/src/components/link/index.d.ts +1 -0
  456. package/es/site/src/components/link/index.js +11 -3
  457. package/es/site/src/pages/design/index.d.ts +1 -0
  458. package/es/site/src/pages/design/index.js +19 -0
  459. package/es/site/src/pages/design/styles.d.ts +1 -0
  460. package/es/site/src/pages/design/styles.js +13 -0
  461. package/es/site/src/pages/document/index.d.ts +4 -2
  462. package/es/site/src/pages/document/index.js +89 -46
  463. package/es/site/src/pages/document/styles.js +1 -1
  464. package/es/site/src/pages/iframe/button/styles.js +4 -4
  465. package/es/site/src/pages/iframe/colorProcess/index.d.ts +1 -0
  466. package/es/site/src/pages/iframe/colorProcess/index.js +9 -5
  467. package/es/site/src/pages/iframe/colorProcess/styles.js +1 -1
  468. package/es/site/src/pages/index/BestPractice/index.d.ts +1 -0
  469. package/es/site/src/pages/index/BestPractice/index.js +14 -14
  470. package/es/site/src/pages/index/BestPractice/styles.d.ts +1 -1
  471. package/es/site/src/pages/index/BestPractice/styles.js +3 -3
  472. package/es/site/src/pages/index/ColorProcess/styles.d.ts +1 -1
  473. package/es/site/src/pages/index/ColorProcess/styles.js +14 -2
  474. package/es/site/src/pages/index/KingVersion/styles.js +1 -1
  475. package/es/site/src/pages/index/NewFunction/index.d.ts +1 -0
  476. package/es/site/src/pages/index/NewFunction/index.js +4 -2
  477. package/es/site/src/pages/index/NewFunction/styles.d.ts +1 -1
  478. package/es/site/src/pages/index/NewFunction/styles.js +4 -3
  479. package/es/site/src/pages/index/index.d.ts +2 -7
  480. package/es/site/src/pages/index/index.js +11 -8
  481. package/es/site/src/pages/index/styles.js +2 -4
  482. package/es/site/src/pages/layout.d.ts +2 -0
  483. package/es/site/src/pages/layout.js +33 -4
  484. package/es/site/src/pages/resource/index.d.ts +6 -0
  485. package/es/site/src/pages/resource/index.js +21 -1
  486. package/es/site/src/pages/resource/styles.js +5 -3
  487. package/es/site/src/pages/solution/index.d.ts +6 -0
  488. package/es/site/src/pages/solution/index.js +19 -1
  489. package/es/site/src/pages/solution/styles.js +3 -2
  490. package/es/site/src/pages/styles.d.ts +1 -0
  491. package/es/site/src/pages/styles.js +5 -2
  492. package/es/site/src/router/index.d.ts +1 -0
  493. package/es/site/src/router/index.js +327 -318
  494. package/es/site/src/styles/default.d.ts +1 -0
  495. package/es/site/src/styles/default.js +3 -2
  496. package/es/styles/global.js +4 -3
  497. package/es/styles/theme.d.ts +16 -7
  498. package/es/styles/theme.js +15 -7
  499. package/hooks/useRouter.ts +11 -0
  500. package/i18n/en-US.ts +1 -0
  501. package/index.ts +3 -2
  502. package/package.json +6 -6
  503. package/styles/global.ts +41 -8
  504. package/styles/theme.ts +12 -8
  505. package/typings/global.d.ts +2 -0
  506. package/components/dialog/demos/asyncOpen.md +0 -111
  507. package/components/dialog/demos/extends.md +0 -87
  508. package/es/site/data/components/dialog/demos/asyncOpen/dialog.d.ts +0 -28
  509. package/es/site/data/components/dialog/demos/asyncOpen/dialog.js +0 -45
  510. package/es/site/data/components/dialog/demos/asyncOpen/index.d.ts +0 -13
  511. package/es/site/data/components/dialog/demos/asyncOpen/index.js +0 -58
  512. package/es/site/data/components/dialog/demos/extends/dialog.d.ts +0 -28
  513. package/es/site/data/components/dialog/demos/extends/dialog.js +0 -39
  514. package/es/site/data/components/dialog/demos/extends/index.js +0 -49
  515. package/es/site/data/docs/design/8point/index.d.ts +0 -58
  516. package/es/site/data/docs/design/color/demos/demos0/index.d.ts +0 -3
  517. package/es/site/data/docs/design/color/demos/demos0/index.js +0 -3
  518. package/es/site/data/docs/design/color/index.d.ts +0 -56
  519. package/es/site/data/docs/design/font/index.d.ts +0 -58
  520. package/es/site/data/docs/design/format/index.d.ts +0 -58
  521. package/es/site/data/docs/design/gutter/index.d.ts +0 -58
  522. package/es/site/data/docs/design/hierarchy/index.d.ts +0 -58
  523. package/es/site/data/docs/design/language/index.d.ts +0 -56
  524. package/es/site/data/docs/design/text/index.d.ts +0 -58
  525. package/es/site/src/pages/designdoc/index.d.ts +0 -11
  526. package/es/site/src/pages/designdoc/index.js +0 -21
  527. package/es/site/src/pages/designdoc/styles.js +0 -6
@@ -9,73 +9,100 @@ sidebar: doc
9
9
 
10
10
  | 属性 | 说明 | 类型 | 默认值 |
11
11
  | --- | --- | --- | --- |
12
- | data | 要渲染的数据 | `Object` | `undefined` |
13
- | expandedKeys | 通过`key`指定展开的数据节点 | `Array` | `undefined` |
14
- | checkedKeys | 通过`key`指定勾选的数据节点 | `Array` | `undefined` |
15
- | selectedKeys | 通过`key`指定选中的数据节点 | `Array` | `undefined` |
16
- | multiple | `selectedKeys`是否支持多选 | `Boolean` | `false` |
17
- | checkbox | 是否展示复选框 | `Boolean` | `false` |
18
- | load | 指定异步加载节点数据的函数,该函数通过`Promise`返回数组来添加子节点数据 | `Function` | `undefined` |
19
- | filter | 指定节点过滤函数,返回`true`则展示,否则过滤掉 | `Function` | `undefined` |
20
- | draggable | 是否支持拖拽 | `Boolean` | `false` |
21
- | allowDrag | 指定哪些节点可拖拽 | `Function` | `undefined` |
22
- | allowDrop | 指定哪些节点可以插入子节点 | `Function` | `undefined` |
23
- | uncorrelated | 是否让父子`checkbox`选中状态互不关联 | `Boolean` | `false` |
24
- | selectable | 节点是否可选中,默认为`true`可选中 | `Boolean` | `true` |
25
- | defaultExpandAll | 是否默认展开所有节点 | `Boolean` | `false` |
26
-
27
- ## 实例属性
28
-
29
- | 属性 | 说明 | 类型 |
30
- | --- | --- | --- |
31
- | root | 组件实例的根节点对象实例,通过它可以往根节点追加节点 | `Node` |
32
-
33
- ## Node对象
34
-
35
- 组件内部使用`Node`对象来维护节点的状态
12
+ | data | 要渲染的数据 | `TreeDataItem<K>[]` | `undefined` |
13
+ | filter | 指定节点过滤函数,返回`true`则展示,否则过滤掉 | `(data: TreeDataItem<K>, node: Node<K>) => boolean` | `undefined` |
14
+ | uncorrelated | 是否让父子`checkbox`选中状态互不关联 | `boolean` | `false` |
15
+ | checkedKeys | 通过`key`指定勾选的数据节点 | `K[]` | `undefined` |
16
+ | expandedKeys | 通过`key`指定展开的数据节点 | `K[]` | `undefined` |
17
+ | defaultExpandAll | 是否默认展开所有节点 | `boolean` | `false` |
18
+ | selectable | 节点是否可选中,默认为`true`可选中 | `boolean` | `true` |
19
+ | selectedKeys | 通过`key`指定选中的数据节点 | `K[]` | `undefined` |
20
+ | multiple | `selectedKeys`是否支持多选 | `boolean` | `false` |
21
+ | checkbox | 是否展示复选框 | `boolean` | `false` |
22
+ | load | 指定异步加载节点数据的函数,该函数通过`Promise`返回数组来添加子节点数据 | <code>(node: TreeNode<K>) => Proomise<void> &#124; void</code> | `undefined` |
23
+ | showLine | 是否展示左侧对齐线 | `boolean` | `true` |
24
+ | draggable | 是否支持拖拽 | `boolean` | `false` |
25
+ | allowDrag | 指定哪些节点可拖拽 | `(node: TreeNode<K>) => boolean` | `undefined` |
26
+ | allowDrop | 指定哪些节点可以插入子节点 | `(node: TreeNode<K>) => boolean` | `undefined` |
27
+
28
+ ```ts
29
+ import {Key, Children} from 'intact';
30
+
31
+ export type TreeDataItem<K extends Key> = {
32
+ label?: Children
33
+ key?: K
34
+ disabled?: boolean
35
+ loaded?: boolean
36
+ children?: TreeDataItem<K>[]
37
+ }
38
+
39
+ export class TreeNode<K extends Key> {
40
+ data: TreeDataItem<K>;
41
+ parent: TreeNode<K> | null;
42
+ key: K;
43
+ checked: boolean;
44
+ indeterminate: boolean;
45
+ children: TreeNode<K>[] | null;
46
+ loaded: boolean | null | undefined;
47
+ filter: boolean;
48
+ constructor(data: TreeDataItem<K>, parent: TreeNode<K> | null, key: K);
49
+ }
50
+ ```
51
+
52
+ ## TreeNode对象
53
+
54
+ 组件内部使用`TreeNode`对象来维护节点的状态
36
55
 
37
56
  ### 属性
38
57
 
39
58
  | 属性 | 说明 | 类型 |
40
59
  | --- | --- | --- |
41
- | checked | 节点是否已选中 | `Boolean` |
42
- | indeterminate | 节点是否半选中 | `Boolean` |
43
- | data | 节点的原始数据 | `Object` |
44
- | parent | 节点的父节点 | `Object` &#124; `undefined` |
45
- | key | 节点的key | `String` |
46
- | children | 节点的子节点 | `Array` &#124; `undefined` |
47
- | tree | 指向`Tree`组件实例 | `Tree` |
48
- | loaded | 是否已经完成异步加载 | `Boolean` &#124; `undefined` |
49
-
50
- ### 方法
60
+ | data | 节点的原始数据 | `TreeDataItem<K>` |
61
+ | parent | 节点的父节点 | `TreeDataItem<K>` &#124; `null` |
62
+ | key | 节点的key | `K` |
63
+ | checked | 节点是否已选中 | `boolean` |
64
+ | indeterminate | 节点是否半选中 | `boolean` |
65
+ | children | 节点的子节点 | `TreeNode<K>` &#124; `null` |
66
+ | loaded | 是否已经完成异步加载 | `boolean` &#124; `undefined` |
67
+ | filter | 是否在搜索时被过滤掉了 | `boolean` | `false` |
51
68
 
52
- | 方法名 | 说明 | 参数 | 返回值 |
53
- | --- | --- | --- | --- |
54
- | append | 追加子节点 | 要追加的子节点数据,或子节点数据数组 | `undefined` |
55
- | remove | 删除节点 | - | `undefined` |
56
69
 
57
70
  # 扩展点
58
71
 
59
72
  | 名称 | 说明 | 参数 |
60
73
  | --- | --- | --- |
61
- | label | 自定义节点渲染内容 | `data, node` |
74
+ | label | 自定义节点渲染内容 | `([data: TreeDataItem<K>, node: TreeNode<K>, index: number]) => Children` |
62
75
 
63
76
  # 方法
64
77
 
65
78
  | 方法名 | 说明 | 参数 | 返回值 |
66
79
  | --- | --- | --- | --- |
67
- | getCheckedData | 获取勾选的节点数据 | `onlyLeaf` 是否只返回叶子节点 | `Array` |
68
- | getSelectedData | 获取选中的节点数据 | - | `Array` |
69
- | expand | 展开节点 | `key` 要展开的节点的key | `undefined` |
70
- | shrink | 收起节点 | `key` 要收起的节点的key | `undefined` |
71
- | toggleSelect | 选中或取消选中节点 | `key` 节点的key | `undefined` |
80
+ | getCheckedData | 获取勾选的节点数据 | `(leafOnly: boolean = false) => TreeDataItem<K>[]`: `onlyLeaf` 是否只返回叶子节点 | `TreeDataItem<K>[]` |
81
+ | getSelectedData | 获取选中的节点数据 | - | `TreeDataItem<K>[]` |
82
+ | expand | 展开节点 | `(key: K) => void`,`key` 要展开的节点的key | `undefined` |
83
+ | shrink | 收起节点 | `(key: K) => void`,`key` 要收起的节点的key | `undefined` |
84
+ | getNodes | 返回一级节点 | `() => TreeNode<K>[]` | `TreeNode<K>[]` 一级节点数组 |
72
85
 
73
86
  # 事件
74
87
 
75
88
  | 事件名 | 说明 | 参数 |
76
89
  | --- | --- | --- |
77
- | click:node | 点击节点触发 | `Node, Event` |
78
- | rightclick:node | 右键点击节点触发 | `Node, Event` |
79
- | dragend | 拖拽完成触发 | `{srcNode: '源节点', toNode: '目标节点', mode: '插入模式, -1: 插入节点前面, 1: 插入节点后面, 0: 插入节点内部', tree: '整颗节点树'}` |
80
- | denydrag | 拖拽不允许拖拽的节点触发 | `Node` |
81
- | denydrop | 插入到不允许插入的节点时触发 | `Node` |
90
+ | dragend | 拖拽完成触发 | `DragEndData<K>`,`{srcNode: '源节点', toNode: '目标节点', mode: '插入模式, Before: 插入节点前面, After: 插入节点后面, Inner: 插入节点内部'}` |
91
+ | denydrag | 拖拽不允许拖拽的节点触发 | `TreeNode<K>` |
92
+ | denydrop | 插入到不允许插入的节点时触发 | `TreeNode<K>` |
93
+
94
+ ```ts
95
+ import {Key} from 'intact';
96
+
97
+ type DragEndData<K extends Key> = {
98
+ srcNode: TreeNode<K>
99
+ toNode: TreeNode<K>
100
+ mode: TreeMode
101
+ }
102
+
103
+ export enum TreeMode {
104
+ Before,
105
+ After,
106
+ Inner
107
+ }
108
+ ```
@@ -12,21 +12,22 @@ import {RANGE} from './useDraggable';
12
12
  describe('Tree', () => {
13
13
  afterEach(() => unmount());
14
14
 
15
- it('expand and shrink', async () => {
15
+ it('expand and shrink', async function() {
16
+ this.timeout(0);
16
17
  const [instance, element] = mount(BasicDemo);
17
18
 
18
19
  const [, icon1, icon2] = element.querySelectorAll('.k-icon') as NodeListOf<HTMLElement>;
19
20
 
20
21
  icon2.click();
21
- await wait(300);
22
+ await wait(500);
22
23
  expect(element.outerHTML).to.matchSnapshot();
23
24
 
24
25
  icon1.click();
25
- await wait(300);
26
+ await wait(500);
26
27
  expect(element.outerHTML).to.matchSnapshot();
27
28
 
28
29
  icon1.click();
29
- await wait(300);
30
+ await wait(500);
30
31
  expect(element.outerHTML).to.matchSnapshot();
31
32
  });
32
33
 
@@ -51,7 +52,7 @@ describe('Tree', () => {
51
52
  const [, , icon1] = element.querySelectorAll('.k-icon') as NodeListOf<HTMLElement>;
52
53
  // expand
53
54
  icon1.click();
54
- await wait(300);
55
+ await wait(500);
55
56
  expect(element.outerHTML).to.matchSnapshot();
56
57
  const data2 = tree.getCheckedData(true);
57
58
  expect(data2.length).to.eql(2);
@@ -105,20 +106,20 @@ describe('Tree', () => {
105
106
 
106
107
  const [btn1, btn2] = element.querySelectorAll('.k-btn') as NodeListOf<HTMLElement>;
107
108
  btn1.click();
108
- await wait(300);
109
+ await wait(500);
109
110
  expect(element.outerHTML).to.matchSnapshot();
110
111
  expect(instance.get('data')).to.have.length(3);
111
112
  expect(instance.get('data')).to.matchSnapshot();
112
113
 
113
114
  btn2.click();
114
- await wait(300);
115
+ await wait(500);
115
116
  expect(element.outerHTML).to.matchSnapshot();
116
117
  const [, checkbox] = element.querySelectorAll('.k-checkbox') as NodeListOf<HTMLElement>;
117
118
  checkbox.click();
118
119
  await wait();
119
120
  const [,,, btn3] = element.querySelectorAll('.k-btn') as NodeListOf<HTMLElement>;
120
121
  btn3.click();
121
- await wait(300);
122
+ await wait(500);
122
123
  expect(element.outerHTML).to.matchSnapshot();
123
124
 
124
125
  // uncheck and remove
@@ -126,7 +127,7 @@ describe('Tree', () => {
126
127
  checkbox1.click();
127
128
  await wait();
128
129
  (checkbox1.parentNode!.querySelector('.k-btn:nth-child(2)') as HTMLElement).click();
129
- await wait(300);
130
+ await wait(500);
130
131
  expect(element.outerHTML).to.matchSnapshot();
131
132
  expect(instance.get('data')).to.matchSnapshot();
132
133
  });
@@ -163,7 +164,7 @@ describe('Tree', () => {
163
164
  // disable select and click on disabled selectable text should expand the tree
164
165
  tree.set('selectable', false);
165
166
  text1.click();
166
- await wait(300);
167
+ await wait(500);
167
168
  expect(tree.getSelectedData().length).to.eql(0);
168
169
  expect(element.outerHTML).to.matchSnapshot();
169
170
  });
@@ -181,7 +182,7 @@ describe('Tree', () => {
181
182
  const [instance, element] = mount(DraggableDemo);
182
183
 
183
184
  instance.set('expandedKeys', ['2', '2-1', '1', '1-1']);
184
- await wait(300);
185
+ await wait(500);
185
186
 
186
187
  // can not drag disabled item
187
188
  const disabled = element.querySelector('.k-disabled') as HTMLElement;
@@ -249,5 +250,5 @@ async function dragInsert(srcElement: HTMLElement, toElement: HTMLElement, mode?
249
250
 
250
251
  await wait(700);
251
252
  dispatchEvent(toElement, 'dragend');
252
- await wait(300);
253
+ await wait(500);
253
254
  }
@@ -13,6 +13,7 @@ import type {Events} from '../types';
13
13
  export type {
14
14
  Node as TreeNode,
15
15
  DataItem as TreeDataItem,
16
+ Mode as TreeMode,
16
17
  };
17
18
 
18
19
  export interface TreeProps<K extends Key = Key> {
@@ -56,6 +56,7 @@ const treeNodes = (nodes) => {
56
56
  <div class={labelClassNameObj}>
57
57
  <Icon class="k-tree-icon ion-android-arrow-dropdown"
58
58
  v-if={node.children && node.loaded !== false}
59
+ hoverable
59
60
  ev-click={(e) => {
60
61
  // it may be in dropdownMenu, e.g. TreeSelect
61
62
  e._ignore = true;
@@ -4,6 +4,7 @@ import {deepDefaults, palette} from '../../styles/utils';
4
4
  import '../../styles/global';
5
5
 
6
6
  const defaults = {
7
+ get transition() { return theme.transition.middle },
7
8
  fontSize: '12px',
8
9
  lineHeight: '24px',
9
10
  get hoverColor() { return theme.color.primary },
@@ -33,7 +34,7 @@ const defaults = {
33
34
  get line() { return `1px dashed ${theme.color.border}` },
34
35
  };
35
36
 
36
- let tree: any;
37
+ let tree: typeof defaults;
37
38
  setDefault(() => {
38
39
  tree = deepDefaults(theme, {tree: defaults}).tree;
39
40
  });
@@ -87,8 +88,10 @@ export function makeStyles() {
87
88
  width: ${tree.iconWidth};
88
89
  text-align: center;
89
90
  color: ${tree.iconColor};
90
- transform: rotate(-90deg);
91
- transition: transform ${theme.transition};
91
+ &:before {
92
+ transform: rotate(-90deg);
93
+ transition: transform ${tree.transition};
94
+ }
92
95
  }
93
96
 
94
97
  .k-tree-checkbox {
@@ -114,7 +117,7 @@ export function makeStyles() {
114
117
  }
115
118
  }
116
119
  &.k-expanded {
117
- > .k-tree-label .k-tree-icon {
120
+ > .k-tree-label .k-tree-icon:before {
118
121
  transform: rotate(0);
119
122
  }
120
123
  }
@@ -11,30 +11,60 @@ sidebar: doc
11
11
 
12
12
  | 属性 | 说明 | 类型 | 默认值 |
13
13
  | --- | --- | --- | --- |
14
- | value | 当前选择的元素,可用`v-model`双向绑定 | `*` | `""` |
15
- | multiple | 是否支持多选 | `Boolean` | `false` |
16
- | disabled | 是否禁用 | `Boolean` | `false` |
17
- | clearable | 是否可清空 | `Boolean` | `false` |
18
- | filterable | 是否支持筛选 | `Boolean` | `false` |
19
- | filter | 当支持筛选时,可以自定义筛选规则 | `Function` | `undefined` |
20
- | keywords | 如果支持筛选,当前关键词 | `String` | `undefined` |
21
- | placeholder | 占位文案 | `String` | `"请选择"` |
14
+ | value | 当前选择的元素,可用`v-model`双向绑定 | `any` | `""` |
15
+ | multiple | 是否支持多选 | `boolean` | `false` |
16
+ | filterable | 是否支持筛选 | `boolean` | `false` |
17
+ | loading | 数据加载状态 | `boolean` | `false` |
18
+ | disabled | 是否禁用 | `boolean` | `false` |
19
+ | name | 表单元素的`name` | `string` | `undefined` |
22
20
  | size | 尺寸 | `"large"` &#124; `"default"` &#124; `"small"` &#124; `"mini"` | `"default"` |
23
- | fluid | 是否宽度100% | `Boolean` | `false` |
24
- | width | 指定宽度,组件自动添加单位`px` | `Number` &#124; `String` | `undefined` |
25
- | container | 指定弹出菜单追加的位置,默认:`Dialog`类型的组件会追加到`Dialog`中,其他会追加到`body`中。你可以传入函数返回一个DOM用来作为插入的容器,或者传入字符串用来给`querySelector`进行查询 | `Function` &#124; `String` | `undefined` |
26
- | inline | 展示内联模式,该模式下,组件没有边框,宽度和高度如同内联元素一样由内容撑开 | `Boolean` | `false` |
27
- | loading | 数据加载状态 | `Boolean` | `false` |
28
- | position | 定义弹层的位置 | `Object` | `{my: 'left top+8', at: 'left bottom'}` |
29
- | data | 要渲染的数据 | `Object` | `undefined` |
30
- | checkbox | 是否展示复选框 | `Boolean` | `false` |
31
- | load | 指定异步加载节点数据的函数,该函数通过`Promise`返回数组来添加子节点数据 | `Function` | `undefined` |
32
- | defaultExpandAll | 是否默认展开所有节点 | `Boolean` | `true` |
33
- | uncorrelated | 是否让父子`checkbox`选中状态互不关联 | `Boolean` | `false` |
21
+ | hideIcon | 是否隐藏后面的图标 | `boolean` | `false` |
22
+ | clearable | 是否可清空 | `boolean` | `false` |
23
+ | fluid | 是否宽度100% | `boolean` | `false` |
24
+ | inline | 展示内联模式,该模式下,组件没有边框,宽度和高度如同内联元素一样由内容撑开 | `boolean` | `false` |
25
+ | placeholder | 占位文案 | `string` | `"请选择"` |
26
+ | container | 指定弹出菜单追加的位置,默认:`Dialog`类型的组件会追加到`Dialog`中,其他会追加到`body`中。你可以传入函数返回一个DOM用来作为插入的容器,或者传入字符串用来给`querySelector`进行查询 | `Container` | `undefined` |
27
+ | width | 指定宽度,组件自动添加单位`px` | `number` &#124; `string` | `undefined` |
28
+ | data | 要渲染的数据 | `TreeDataItem<K>[]` | `undefined` |
29
+ | uncorrelated | 是否让父子`checkbox`选中状态互不关联 | `boolean` | `false` |
30
+ | load | 指定异步加载节点数据的函数,该函数通过`Promise`返回数组来添加子节点数据 | <code>(node: TreeNode<K>) => Proomise<void> &#124; void</code> | `undefined` |
31
+ | showLine | 是否展示`Tree`的对齐线 | `boolean` | `true` |
32
+ | defaultExpandAll | 是否默认展开所有节点 | `boolean` | `true` |
33
+ | checkbox | 是否展示复选框 | `boolean` | `false` |
34
+ | filter | 当支持筛选时,可以自定义筛选规则 | `(keywords: string, data: TreeDataItem<K>) => boolean` | `undefined` |
35
+
36
+ ```ts
37
+ import {Key, Children} from 'intact';
38
+
39
+ export type Container = string | ((parentDom: Element, anchor: Node | null) => Element)
40
+
41
+ export type TreeDataItem<K extends Key> = {
42
+ label?: Children
43
+ key?: K
44
+ disabled?: boolean
45
+ loaded?: boolean
46
+ children?: TreeDataItem<K>[]
47
+ }
48
+
49
+ ```
34
50
 
35
51
  # 扩展点
36
52
 
37
53
  | 名称 | 说明 | 参数 |
38
54
  | --- | --- | --- |
39
- | value | 自定义选择结果的展示 | `value, label` |
55
+ | value | 自定义选择结果的展示 | `([value: any, label: Children]) => Children` |
56
+ | values | 自定义多选的选择结果的展示 | `([values: any[], labels: Children[]]) => Children` |
57
+ | prefix | 自定义输入款前面展示的内容 | - |
58
+ | suffix | 自定义输入框后面展示的内容 | - |
59
+ | menu | 自定义整个菜单的内容 | - |
40
60
 
61
+ ```ts
62
+ import {Children} from 'intact';
63
+ ```
64
+
65
+ # 事件
66
+
67
+ | 事件名 | 说明 | 参数 |
68
+ | --- | --- | --- |
69
+ | show | 菜单弹出时触发 | - |
70
+ | hide | 菜单隐藏时触发 | - |
@@ -21,7 +21,7 @@ describe('TreeSelect', () => {
21
21
  (dropdown.querySelector('.k-tree-text') as HTMLElement).click();
22
22
  expect(instance.get('value')).to.eql('1');
23
23
 
24
- await wait(300);
24
+ await wait(500);
25
25
  expect(getElement('.k-tree-select-menu')).to.be.undefined;
26
26
  });
27
27
 
@@ -39,7 +39,7 @@ describe('TreeSelect', () => {
39
39
  expect(instance.get('values')).to.eql(['1.1']);
40
40
 
41
41
  instance.set('values', ['1']);
42
- await wait(300)
42
+ await wait(500)
43
43
  expect(dropdown.innerHTML).to.matchSnapshot();
44
44
  expect(element.innerHTML).to.matchSnapshot();
45
45
  });
@@ -73,7 +73,7 @@ describe('TreeSelect', () => {
73
73
  const input = element.querySelector('.k-input-inner') as HTMLInputElement;
74
74
  input.value = 'first';
75
75
  dispatchEvent(input, 'input');
76
- await wait(300);
76
+ await wait(500);
77
77
  expect(dropdown.innerHTML).to.matchSnapshot();
78
78
 
79
79
  const [, text2] = dropdown.querySelectorAll('.k-tree-text');
@@ -103,11 +103,11 @@ describe('TreeSelect', () => {
103
103
  await wait();
104
104
  dispatchEvent(select, 'focusout');
105
105
 
106
- await wait(300);
106
+ await wait(500);
107
107
  expect(element.querySelector('.k-form-error')).to.be.null;
108
108
 
109
109
  dispatchEvent(select, 'click');
110
- await wait(300);
110
+ await wait(500);
111
111
  expect(element.querySelector('.k-form-error')).not.to.be.null;
112
112
  });
113
113
  });
@@ -4,11 +4,12 @@ import {deepDefaults, palette} from '../../styles/utils';
4
4
  import '../../styles/global';
5
5
 
6
6
  const defaults = {
7
+ get transition() { return theme.transition.middle },
7
8
  maxHeight: `400px`,
8
9
  padding: `3px 6px`,
9
10
  };
10
11
 
11
- let treeSelect: any;
12
+ let treeSelect: typeof defaults;
12
13
  setDefault(() => {
13
14
  treeSelect = deepDefaults(theme, {treeSelect: defaults}).treeSelect;
14
15
  });
@@ -20,7 +21,7 @@ export function makeStyles() {
20
21
  padding: ${treeSelect.padding};
21
22
  overflow: auto;
22
23
  &:not([class*="-active"]) {
23
- transition: left ${theme.transition}, top ${theme.transition};
24
+ transition: left ${treeSelect.transition}, top ${treeSelect.transition};
24
25
  }
25
26
  `;
26
27
  }
@@ -9,23 +9,49 @@ sidebar: doc
9
9
 
10
10
  | 属性 | 说明 | 类型 | 默认值 |
11
11
  | --- | --- | --- | --- |
12
- | accept | `input`的[accept](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-accept)属性,支持的文件的类型 | `String` | `undefined` |
13
- | multiple | `input`的`multiple`属性,是否支持多选 | `Boolean` | `false` |
12
+ | accept | `input`的[accept](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-accept)属性,支持的文件的类型 | `string` | `undefined` |
13
+ | files | 所有已上传和待上传的文件列表 | `UploadFile[]` | `[]` |
14
+ | defaultFiles | 指定初始化上传列表,见示例 | <code>(Partial&lt;UploadFile&gt; & Pick&lt;UploadFile, 'name' &#124; 'url'&gt;)[]</code> | `undefined` |
15
+ | maxSize | 最大上传文件大小限制(kb),默认无限制 | `number` | `undefined` |
16
+ | limit | 最大上传文件数量限制,默认无限制 | `number` | `undefined` |
17
+ | autoUpload | 是否选择文件后即自动上传 | `boolean` | `true` |
18
+ | beforeRemove | 指定文件在删除之前的处理逻辑,如果该函数返回`false`,则取消删除,你也可以使用异步函数或返回`Promise`对象;组件会将当前文件(file)和文件列表(files)传给该函数 | `BeforeCallback` | `undefined` |
19
+ | beforeUpload | 指定文件在开始上传之前的处理逻辑,如果该函数返回`false`,则取消上传,你也可以使用异步函数或返回`Promise`对象;组件会将当前文件(file)和文件列表(files)传给该函数 | `BeforeCallback` | `undefined` |
20
+ | data | 指定上传附加的请求数据,可以为对象或者函数,为函数时,组件会将当前文件对象作为参数传入,函数应返回一个对象作为附加数据 | `DataObject` &#124; `DataFunction` | `undefined` |
21
+ | action | 上传地址 | `string` | `undefined` |
22
+ | headers | 指定上传的请求头 | <code>Record&lt;string &#124; number, string&gt;</code> | `undefined` |
23
+ | name | 指定上传文件字段名,不存在时,组件默认会使用原始文件名 | `string` | `undefined` |
24
+ | withCredentials | 指定跨域请求是是否允许传送cookie | `boolean` | `false` |
14
25
  | type | 组件风格 | `"select"` &#124; `"drag"` &#124; `"gallery"` | `"select"` |
15
- | autoUpload | 是否选择文件后即自动上传 | `Boolean` | `true` |
16
- | disabled | 是否禁用上传 | `Boolean` | `false` |
17
- | action | 上传地址 | `String` | `""` |
18
- | name | 指定上传文件字段名,不存在时,组件默认会使用原始文件名 | `String` | `undefined` |
19
- | headers | 指定上传的请求头 | `Object` | `undefined` |
20
- | data | 指定上传附加的请求数据,可以为对象或者函数,为函数时,组件会将当前文件对象作为参数传入,函数应返回一个对象作为附加数据 | `Object` &#124; `Function` | `undefined` |
21
- | withCredentials | 指定跨域请求是是否允许传送cookie | `Boolean` | `false` |
22
- | limit | 最大上传文件数量限制,默认无限制 | `Number` | `undefined` |
23
- | maxSize | 最大上传文件大小限制(kb),默认无限制 | `Number` | `undefined` |
24
- | defaultFiles | 指定初始化上传列表,见示例 | `Array<Object>` | `undefined` |
25
- | beforeUpload | 指定文件在开始上传之前的处理逻辑,如果该函数返回`false`,则取消上传,你也可以使用异步函数或返回`Promise`对象;组件会将当前文件(file)和文件列表(files)传给该函数 | `Function` | `() => true` |
26
- | beforeRemove | 指定文件在删除之前的处理逻辑,如果该函数返回`false`,则取消删除,你也可以使用异步函数或返回`Promise`对象;组件会将当前文件(file)和文件列表(files)传给该函数 | `Function` | `() => true` |
27
- | files | 所有已上传和待上传的文件列表 | `Array` | `[]` |
28
- | directory | 是否支持上传文件夹 [caniuse](https://caniuse.com/#feat=input-file-directory) | `Boolean` | `false` |
26
+ | directory | 是否支持上传文件夹 [caniuse](https://caniuse.com/#feat=input-file-directory) | `boolean` | `false` |
27
+ | disabled | 是否禁用上传 | `boolean` | `false` |
28
+ | multiple | `input`的`multiple`属性,是否支持多选 | `boolean` | `false` |
29
+
30
+ ```ts
31
+ export type UploadFile = {
32
+ status: UploadFileStatus
33
+ type?: string
34
+ size?: number
35
+ name: string
36
+ percent: number
37
+ uid: number
38
+ raw: File | Partial<UploadFile>
39
+ url?: string
40
+ request?: any
41
+ }
42
+
43
+ export enum UploadFileStatus {
44
+ Done,
45
+ Ready,
46
+ NotReady,
47
+ Uploading,
48
+ Error,
49
+ }
50
+
51
+ type BeforeCallback = (file: UploadFile, files: UploadFile[]) => Promise<boolean> | boolean
52
+ type DataObject = Record<string | number, any>
53
+ type DataFunction = (file: UploadFile) => DataObject
54
+ ```
29
55
 
30
56
  # 扩展点
31
57
 
@@ -45,6 +71,16 @@ sidebar: doc
45
71
 
46
72
  | 事件名 | 说明 | 参数 |
47
73
  | --- | --- | --- |
48
- | error | 文件超出最大文件数量限制,超出文件大小限制,或者上传失败都会抛出该事件 | `Error, file, files` |
49
- | progress | 文件上传过程中会抛出该事件 | `Event, file, files` |
50
- | success | 文件上传成功时会抛出该事件 | `response, file, files` |
74
+ | progress | 文件上传过程中会抛出该事件 | `(event: ProgressEvent, xml: XMLHttpRequest, file: UploadFile, files: UploadFile[]) => void` |
75
+ | success | 文件上传成功时会抛出该事件 | `(res: any, xml: XMLHttpRequest, file: UploadFile, files: UploadFile[]) => void` |
76
+ | error | 文件超出最大文件数量限制,超出文件大小限制,或者上传失败都会抛出该事件 | <code>(err: Error &#124; RequestError, file: File[] &#124; File &#124; UploadFile, files: UploadFile[]) => void</code> |
77
+
78
+ ```ts
79
+ interface RequestError extends Error {
80
+ status: number
81
+ method: string
82
+ url: string
83
+ response: any
84
+ xhr: XMLHttpRequest
85
+ }
86
+ ```
@@ -52,7 +52,7 @@ describe('Upload', () => {
52
52
  unmount();
53
53
  respond = xhr => { xhr.respond(200) };
54
54
  this.xhr.restore();
55
- setTimeout(done, 400);
55
+ setTimeout(done, 500);
56
56
  });
57
57
 
58
58
  it('basic', function(done) {
@@ -9,7 +9,7 @@ import {useShowImage} from './useShowImage';
9
9
  import type {RequestError} from './ajaxUploader';
10
10
  import type {Events} from '../types';
11
11
 
12
- export type {RequestError};
12
+ export type {RequestError, UploadFileStatus};
13
13
 
14
14
  export interface UploadProps {
15
15
  accept?: string
@@ -53,11 +53,10 @@ const handle = (
53
53
 
54
54
  const {removeFile} = this.files;
55
55
  const closeBtn = (value, index, icon) => (
56
- <Button type="none" icon size="mini" class="k-upload-close"
56
+ <Icon class={{"k-upload-close": true, [icon]: true}}
57
57
  ev-click={() => removeFile(value, index)}
58
- >
59
- <Icon class={icon} />
60
- </Button>
58
+ hoverable
59
+ />
61
60
  );
62
61
 
63
62
  const {show, close, image, isShow} = this.showImage;
@@ -4,6 +4,7 @@ import {deepDefaults, palette} from '../../styles/utils';
4
4
  import '../../styles/global';
5
5
 
6
6
  const defaults = {
7
+ get transition() { return theme.transition.middle },
7
8
  fontSize: '12px',
8
9
  tip: {
9
10
  gap: '16px',
@@ -73,7 +74,7 @@ const defaults = {
73
74
  }
74
75
  };
75
76
 
76
- let upload: any;
77
+ let upload: typeof defaults;
77
78
  setDefault(() => {
78
79
  upload = deepDefaults(theme, {upload: defaults}).upload;
79
80
  });
@@ -149,7 +150,7 @@ export function makeStyles() {
149
150
  border-radius: ${upload.drag.borderRadius};
150
151
  cursor: pointer;
151
152
  text-align: center;
152
- transition: border-color ${theme.transition};
153
+ transition: border-color ${upload.transition};
153
154
  &:hover {
154
155
  border-color: ${upload.drag.hoverBorderColor};
155
156
  }
@@ -198,7 +199,7 @@ export function makeStyles() {
198
199
  right: ${upload.gallery.close.right};
199
200
  display: inline-block;
200
201
  opacity: 0;
201
- transition: opacity ${theme.transition};
202
+ transition: opacity ${upload.transition};
202
203
  pointer-events: none;
203
204
  .k-icon {
204
205
  font-size: ${upload.gallery.close.fontSize};
@@ -206,7 +207,7 @@ export function makeStyles() {
206
207
  }
207
208
  .k-upload-icons {
208
209
  opacity: 0;
209
- transition: opacity ${theme.transition};
210
+ transition: opacity ${upload.transition};
210
211
  }
211
212
  &:hover {
212
213
  .k-upload-icons {
@@ -159,7 +159,7 @@ export function getRestProps<T>(component: Component<T>, props = component.get()
159
159
  }
160
160
 
161
161
  const externalLinkReg = /^(https?:)?\/\//;
162
- export function isExternalLink(to?: string) {
162
+ export function isExternalLink(to?: string | object): to is string {
163
163
  if (!isString(to)) return false;
164
164
  return externalLinkReg.test(to);
165
165
  }