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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (517) hide show
  1. package/components/affix/demos/basic.md +2 -1
  2. package/components/affix/demos/custom.md +5 -5
  3. package/components/affix/index.md +2 -2
  4. package/components/affix/styles.ts +1 -1
  5. package/components/badge/demos/text.md +1 -1
  6. package/components/badge/index.md +3 -3
  7. package/components/badge/styles.ts +1 -1
  8. package/components/breadcrumb/demos/basic.md +1 -1
  9. package/components/breadcrumb/index.md +3 -10
  10. package/components/breadcrumb/item.ts +4 -14
  11. package/components/breadcrumb/styles.ts +9 -5
  12. package/components/button/demos/group.md +2 -2
  13. package/components/button/demos/icon.md +1 -0
  14. package/components/button/demos/loading.md +1 -1
  15. package/components/button/demos/tagName.md +0 -1
  16. package/components/button/index.md +13 -13
  17. package/components/button/index.vdt +32 -23
  18. package/components/button/styles.ts +22 -12
  19. package/components/card/demos/basic.md +4 -4
  20. package/components/card/demos/extra.md +13 -7
  21. package/components/card/demos/noHeader.md +4 -4
  22. package/components/card/index.md +3 -3
  23. package/components/card/styles.ts +2 -2
  24. package/components/carousel/index.md +4 -4
  25. package/components/carousel/styles.ts +2 -2
  26. package/components/carousel/useSlide.ts +3 -2
  27. package/components/cascader/demos/loadData.md +1 -1
  28. package/components/cascader/index.md +45 -16
  29. package/components/cascader/index.spec.ts +1 -1
  30. package/components/cascader/styles.ts +1 -1
  31. package/components/checkbox/demos/basic.md +1 -1
  32. package/components/checkbox/demos/indeterminate.md +4 -20
  33. package/components/checkbox/demos/value.md +1 -1
  34. package/components/checkbox/index.md +10 -10
  35. package/components/checkbox/index.vdt +16 -13
  36. package/components/checkbox/styles.ts +3 -7
  37. package/components/code/demos/basic.md +3 -3
  38. package/components/code/index.md +8 -10
  39. package/components/collapse/index.md +8 -8
  40. package/components/collapse/item.vdt +1 -1
  41. package/components/collapse/styles.ts +4 -3
  42. package/components/colorpicker/index.md +3 -3
  43. package/components/colorpicker/index.spec.ts +1 -1
  44. package/components/colorpicker/index.ts +3 -0
  45. package/components/colorpicker/index.vdt +5 -1
  46. package/components/colorpicker/styles.ts +1 -1
  47. package/components/context.ts +14 -7
  48. package/components/datepicker/demos/disabledDate.md +0 -2
  49. package/components/datepicker/demos/format.md +1 -1
  50. package/components/datepicker/demos/shortcuts.md +2 -2
  51. package/components/datepicker/helpers.ts +9 -2
  52. package/components/datepicker/index.md +50 -27
  53. package/components/datepicker/index.spec.ts +1 -1
  54. package/components/datepicker/styles.ts +1 -1
  55. package/components/diagram/index.md +108 -59
  56. package/components/diagram/shapes/line.ts +2 -3
  57. package/components/dialog/base.ts +2 -1
  58. package/components/dialog/demos/block.md +10 -56
  59. package/components/dialog/demos/size.md +1 -1
  60. package/components/dialog/index.md +47 -56
  61. package/components/dialog/index.spec.ts +2 -18
  62. package/components/dialog/styles.ts +4 -3
  63. package/components/dialog/useFixBody.ts +16 -0
  64. package/components/drawer/index.md +23 -20
  65. package/components/drawer/index.spec.ts +5 -5
  66. package/components/drawer/styles.ts +2 -2
  67. package/components/dropdown/demos/basic.md +4 -16
  68. package/components/dropdown/demos/contextmenu.md +1 -7
  69. package/components/dropdown/demos/disabled.md +1 -1
  70. package/components/dropdown/demos/nested.md +2 -4
  71. package/components/dropdown/demos/position.md +5 -6
  72. package/components/dropdown/demos/trigger.md +2 -4
  73. package/components/dropdown/index.md +26 -15
  74. package/components/dropdown/index.spec.ts +3 -3
  75. package/components/dropdown/index.ts +1 -2
  76. package/components/dropdown/styles.ts +2 -2
  77. package/components/editable/index.md +10 -15
  78. package/components/editable/index.vdt +1 -0
  79. package/components/editable/styles.ts +1 -1
  80. package/components/form/demos/basic.md +15 -15
  81. package/components/form/index.md +29 -13
  82. package/components/form/index.spec.ts +8 -8
  83. package/components/form/item.vdt +6 -1
  84. package/components/form/methods.ts +6 -1
  85. package/components/form/styles.ts +1 -1
  86. package/components/form/useError.ts +3 -0
  87. package/components/form/useValidate.ts +2 -2
  88. package/components/grid/col.vdt +1 -1
  89. package/components/grid/index.md +34 -13
  90. package/components/grid/styles.ts +4 -1
  91. package/components/icon/index.md +4 -2
  92. package/components/icon/index.vdt +2 -2
  93. package/components/icon/styles.ts +11 -8
  94. package/components/input/demos/blocks.md +2 -2
  95. package/components/input/demos/clearable.md +3 -3
  96. package/components/input/demos/inline.md +12 -0
  97. package/components/input/demos/size.md +0 -1
  98. package/components/input/index.md +18 -22
  99. package/components/input/index.ts +2 -0
  100. package/components/input/index.vdt +42 -33
  101. package/components/input/search.vdt +4 -1
  102. package/components/input/styles.ts +8 -12
  103. package/components/layout/demos/asideFix.md +2 -3
  104. package/components/layout/index.md +5 -5
  105. package/components/layout/styles.ts +5 -4
  106. package/components/menu/index.md +11 -11
  107. package/components/menu/index.spec.ts +2 -2
  108. package/components/menu/item.ts +5 -12
  109. package/components/menu/styles.ts +6 -5
  110. package/components/message/index.md +23 -25
  111. package/components/message/index.spec.ts +1 -1
  112. package/components/message/styles.ts +7 -3
  113. package/components/pagination/index.md +11 -19
  114. package/components/pagination/styles.ts +2 -2
  115. package/components/progress/demos/customColor.md +1 -1
  116. package/components/progress/index.md +11 -5
  117. package/components/progress/styles.ts +2 -2
  118. package/components/radio/index.md +4 -7
  119. package/components/radio/index.vdt +15 -12
  120. package/components/radio/styles.ts +6 -10
  121. package/components/rate/index.md +5 -5
  122. package/components/rate/styles.ts +3 -2
  123. package/components/scrollSelect/index.md +14 -5
  124. package/components/scrollSelect/styles.ts +7 -2
  125. package/components/select/base.ts +0 -1
  126. package/components/select/base.vdt +128 -112
  127. package/components/select/demos/creatable.md +1 -1
  128. package/components/select/demos/customMenu.md +1 -1
  129. package/components/select/demos/format.md +3 -7
  130. package/components/select/index.md +35 -30
  131. package/components/select/index.spec.ts +1 -1
  132. package/components/select/menu.vdt +1 -0
  133. package/components/select/styles.ts +15 -9
  134. package/components/slider/demos/marks.md +2 -2
  135. package/components/slider/index.md +31 -16
  136. package/components/slider/styles.ts +5 -4
  137. package/components/spin/index.md +2 -2
  138. package/components/spin/styles.ts +1 -1
  139. package/components/spinner/index.md +23 -14
  140. package/components/spinner/index.ts +2 -2
  141. package/components/spinner/styles.ts +1 -1
  142. package/components/split/index.md +7 -7
  143. package/components/split/style.ts +2 -2
  144. package/components/steps/index.md +3 -3
  145. package/components/steps/styles.ts +3 -2
  146. package/components/switch/index.md +10 -19
  147. package/components/switch/styles.ts +5 -4
  148. package/components/table/demos/animation.md +92 -0
  149. package/components/table/demos/basic.md +1 -1
  150. package/components/table/demos/checkedKeys.md +2 -3
  151. package/components/table/demos/disableRow.md +2 -2
  152. package/components/table/demos/empty.md +1 -1
  153. package/components/table/demos/export.md +8 -7
  154. package/components/table/demos/fixColumn.md +2 -2
  155. package/components/table/demos/fixHeader.md +3 -3
  156. package/components/table/demos/group.md +3 -3
  157. package/components/table/demos/mergeCell.md +1 -1
  158. package/components/table/demos/resizable.md +1 -1
  159. package/components/table/demos/rowClassName.md +1 -1
  160. package/components/table/demos/rowExpandable.md +2 -6
  161. package/components/table/demos/sort.md +2 -1
  162. package/components/table/demos/stickHeader.md +3 -3
  163. package/components/table/demos/stickScrollbar.md +3 -3
  164. package/components/table/demos/tooltip.md +1 -2
  165. package/components/table/index.md +92 -66
  166. package/components/table/index.spec.ts +4 -1
  167. package/components/table/index.ts +1 -0
  168. package/components/table/row.vdt +5 -1
  169. package/components/table/styles.ts +17 -5
  170. package/components/table/table.ts +2 -0
  171. package/components/table/table.vdt +91 -86
  172. package/components/table/useFixedColumns.ts +5 -3
  173. package/components/table/useWidth.ts +8 -1
  174. package/components/tabs/index.md +15 -8
  175. package/components/tabs/index.spec.ts +1 -1
  176. package/components/tabs/styles.ts +11 -7
  177. package/components/tabs/tab.vdt +1 -1
  178. package/components/tabs/useActiveBar.ts +3 -2
  179. package/components/tag/base.ts +3 -0
  180. package/components/tag/demos/border.md +2 -1
  181. package/components/tag/index.md +4 -3
  182. package/components/tag/styles.ts +9 -4
  183. package/components/timeline/styles.ts +3 -3
  184. package/components/timepicker/constants.ts +3 -2
  185. package/components/timepicker/demos/basic.md +2 -2
  186. package/components/timepicker/demos/step.md +1 -1
  187. package/components/timepicker/index.md +47 -16
  188. package/components/timepicker/index.spec.ts +11 -10
  189. package/components/timepicker/styles.ts +1 -1
  190. package/components/timepicker/useStep.ts +3 -3
  191. package/components/timepicker/useValue.ts +2 -2
  192. package/components/tip/demos/closable.md +1 -1
  193. package/components/tip/index.md +8 -4
  194. package/components/tip/styles.ts +1 -1
  195. package/components/tooltip/demos/basic.md +2 -13
  196. package/components/tooltip/demos/trigger.md +1 -2
  197. package/components/tooltip/index.md +26 -13
  198. package/components/tooltip/index.spec.ts +18 -14
  199. package/components/tooltip/styles.ts +1 -1
  200. package/components/transfer/index.md +36 -23
  201. package/components/transfer/index.spec.ts +7 -6
  202. package/components/transfer/styles.ts +1 -1
  203. package/components/tree/index.md +76 -49
  204. package/components/tree/index.spec.ts +13 -12
  205. package/components/tree/index.ts +1 -0
  206. package/components/tree/index.vdt +1 -0
  207. package/components/tree/styles.ts +7 -4
  208. package/components/treeSelect/index.md +50 -20
  209. package/components/treeSelect/index.spec.ts +5 -5
  210. package/components/treeSelect/styles.ts +3 -2
  211. package/components/upload/index.md +55 -19
  212. package/components/upload/index.spec.ts +1 -1
  213. package/components/upload/index.ts +1 -1
  214. package/components/upload/index.vdt +3 -4
  215. package/components/upload/styles.ts +5 -4
  216. package/components/utils.ts +1 -1
  217. package/components/wave/index.ts +94 -0
  218. package/components/wave/styles.ts +50 -0
  219. package/es/components/breadcrumb/item.d.ts +1 -1
  220. package/es/components/breadcrumb/item.js +3 -14
  221. package/es/components/breadcrumb/styles.js +1 -1
  222. package/es/components/button/index.vdt.js +26 -17
  223. package/es/components/button/styles.d.ts +82 -1
  224. package/es/components/button/styles.js +16 -2
  225. package/es/components/card/styles.js +1 -1
  226. package/es/components/carousel/styles.js +4 -1
  227. package/es/components/carousel/useSlide.js +10 -9
  228. package/es/components/cascader/index.spec.js +1 -1
  229. package/es/components/checkbox/index.vdt.js +15 -10
  230. package/es/components/checkbox/styles.js +2 -2
  231. package/es/components/collapse/item.vdt.js +2 -1
  232. package/es/components/collapse/styles.js +5 -1
  233. package/es/components/colorpicker/index.d.ts +2 -0
  234. package/es/components/colorpicker/index.js +2 -1
  235. package/es/components/colorpicker/index.spec.js +1 -1
  236. package/es/components/colorpicker/index.vdt.js +3 -1
  237. package/es/components/context.d.ts +5 -2
  238. package/es/components/context.js +7 -4
  239. package/es/components/datepicker/helpers.d.ts +2 -1
  240. package/es/components/datepicker/helpers.js +8 -2
  241. package/es/components/datepicker/index.spec.js +1 -1
  242. package/es/components/datepicker/styles.d.ts +46 -1
  243. package/es/components/diagram/shapes/generateShapes.js +3 -3
  244. package/es/components/diagram/shapes/line.d.ts +2 -2
  245. package/es/components/diagram/shapes/line.js +0 -1
  246. package/es/components/dialog/base.d.ts +2 -0
  247. package/es/components/dialog/base.js +2 -1
  248. package/es/components/dialog/index.spec.js +59 -94
  249. package/es/components/dialog/styles.js +5 -1
  250. package/es/components/dialog/useFixBody.d.ts +6 -0
  251. package/es/components/dialog/useFixBody.js +12 -0
  252. package/es/components/drawer/index.spec.js +5 -5
  253. package/es/components/drawer/styles.js +1 -1
  254. package/es/components/dropdown/index.js +1 -2
  255. package/es/components/dropdown/index.spec.js +3 -3
  256. package/es/components/dropdown/styles.js +1 -1
  257. package/es/components/editable/index.vdt.js +2 -1
  258. package/es/components/editable/styles.d.ts +8 -1
  259. package/es/components/form/index.spec.js +8 -8
  260. package/es/components/form/item.vdt.js +13 -9
  261. package/es/components/form/useError.d.ts +4 -0
  262. package/es/components/form/useError.js +3 -1
  263. package/es/components/form/useValidate.js +2 -2
  264. package/es/components/grid/col.vdt.js +4 -2
  265. package/es/components/grid/styles.js +1 -1
  266. package/es/components/grid/useGutter.d.ts +1 -1
  267. package/es/components/icon/index.vdt.js +3 -2
  268. package/es/components/icon/styles.js +8 -4
  269. package/es/components/input/index.d.ts +1 -0
  270. package/es/components/input/index.js +2 -1
  271. package/es/components/input/index.vdt.js +47 -32
  272. package/es/components/input/search.vdt.js +4 -2
  273. package/es/components/input/styles.js +8 -3
  274. package/es/components/layout/styles.d.ts +1 -1
  275. package/es/components/layout/styles.js +7 -3
  276. package/es/components/menu/index.spec.js +2 -2
  277. package/es/components/menu/item.d.ts +1 -1
  278. package/es/components/menu/item.js +4 -13
  279. package/es/components/menu/styles.d.ts +62 -1
  280. package/es/components/menu/styles.js +6 -2
  281. package/es/components/message/index.spec.js +1 -1
  282. package/es/components/message/styles.js +6 -2
  283. package/es/components/pagination/styles.js +1 -1
  284. package/es/components/radio/index.vdt.js +14 -9
  285. package/es/components/radio/styles.js +9 -1
  286. package/es/components/rate/styles.js +5 -1
  287. package/es/components/scrollSelect/styles.d.ts +14 -1
  288. package/es/components/scrollSelect/styles.js +9 -1
  289. package/es/components/select/base.vdt.js +135 -121
  290. package/es/components/select/index.spec.js +1 -1
  291. package/es/components/select/menu.vdt.js +1 -0
  292. package/es/components/select/styles.js +9 -4
  293. package/es/components/select/useSearchable.d.ts +1 -1
  294. package/es/components/slider/styles.js +5 -1
  295. package/es/components/spinner/index.d.ts +1 -1
  296. package/es/components/spinner/index.js +1 -1
  297. package/es/components/split/style.js +1 -1
  298. package/es/components/steps/context.d.ts +1 -1
  299. package/es/components/steps/styles.js +5 -1
  300. package/es/components/switch/styles.js +5 -1
  301. package/es/components/table/index.d.ts +1 -0
  302. package/es/components/table/index.spec.js +2 -1
  303. package/es/components/table/row.vdt.js +12 -4
  304. package/es/components/table/styles.js +6 -1
  305. package/es/components/table/table.d.ts +1 -0
  306. package/es/components/table/table.js +2 -1
  307. package/es/components/table/table.vdt.js +30 -27
  308. package/es/components/table/useColumns.d.ts +1 -1
  309. package/es/components/table/useFixedColumns.d.ts +1 -1
  310. package/es/components/table/useFixedColumns.js +5 -2
  311. package/es/components/table/useGroup.d.ts +1 -1
  312. package/es/components/table/useResizable.d.ts +1 -1
  313. package/es/components/table/useSortable.d.ts +1 -1
  314. package/es/components/table/useWidth.js +7 -1
  315. package/es/components/tabs/index.spec.js +1 -1
  316. package/es/components/tabs/styles.js +9 -2
  317. package/es/components/tabs/tab.vdt.js +2 -1
  318. package/es/components/tabs/useActiveBar.js +6 -3
  319. package/es/components/tag/base.js +1 -0
  320. package/es/components/tag/styles.js +8 -2
  321. package/es/components/timepicker/constants.d.ts +2 -1
  322. package/es/components/timepicker/constants.js +3 -2
  323. package/es/components/timepicker/index.spec.js +36 -35
  324. package/es/components/timepicker/useStep.js +3 -3
  325. package/es/components/timepicker/useValue.js +2 -2
  326. package/es/components/tooltip/index.spec.js +28 -24
  327. package/es/components/transfer/index.spec.js +20 -19
  328. package/es/components/tree/index.d.ts +1 -1
  329. package/es/components/tree/index.js +1 -1
  330. package/es/components/tree/index.spec.js +20 -19
  331. package/es/components/tree/index.vdt.js +1 -0
  332. package/es/components/tree/styles.js +5 -1
  333. package/es/components/treeSelect/index.spec.js +5 -5
  334. package/es/components/treeSelect/styles.js +5 -1
  335. package/es/components/upload/index.d.ts +1 -1
  336. package/es/components/upload/index.spec.js +1 -1
  337. package/es/components/upload/index.vdt.js +10 -11
  338. package/es/components/upload/styles.js +5 -1
  339. package/es/components/utils.d.ts +1 -1
  340. package/es/components/wave/index.d.ts +19 -0
  341. package/es/components/wave/index.js +120 -0
  342. package/es/components/wave/styles.d.ts +2 -0
  343. package/es/components/wave/styles.js +17 -0
  344. package/es/hooks/useRouter.d.ts +1 -0
  345. package/es/hooks/useRouter.js +10 -0
  346. package/es/index.d.ts +3 -2
  347. package/es/index.js +3 -2
  348. package/es/packages/kpc-react/__tests__/index.js +10 -7
  349. package/es/site/data/components/affix/demos/custom/index.d.ts +2 -2
  350. package/es/site/data/components/affix/demos/custom/index.js +4 -4
  351. package/es/site/data/components/affix/demos/custom/react.d.ts +2 -2
  352. package/es/site/data/components/affix/demos/custom/react.js +6 -6
  353. package/es/site/data/components/button/demos/group/react.js +2 -2
  354. package/es/site/data/components/button/demos/icon/react.js +6 -0
  355. package/es/site/data/components/card/demos/basic/react.js +2 -2
  356. package/es/site/data/components/card/demos/extra/react.js +19 -5
  357. package/es/site/data/components/card/demos/noHeader/react.js +2 -2
  358. package/es/site/data/components/checkbox/demos/indeterminate/index.d.ts +1 -1
  359. package/es/site/data/components/checkbox/demos/indeterminate/index.js +2 -2
  360. package/es/site/data/components/checkbox/demos/indeterminate/react.d.ts +1 -1
  361. package/es/site/data/components/checkbox/demos/indeterminate/react.js +5 -6
  362. package/es/site/data/components/dialog/demos/block/react.d.ts +9 -0
  363. package/es/site/data/components/dialog/demos/block/react.js +88 -0
  364. package/es/site/data/components/dropdown/demos/basic/react.js +1 -3
  365. package/es/site/data/components/dropdown/demos/nested/react.js +1 -3
  366. package/es/site/data/components/dropdown/demos/position/react.js +2 -7
  367. package/es/site/data/components/dropdown/demos/trigger/react.js +1 -3
  368. package/es/site/data/components/input/demos/blocks/react.js +4 -2
  369. package/es/site/data/components/input/demos/clearable/react.js +7 -5
  370. package/es/site/data/components/{dialog/demos/extends → input/demos/inline}/index.d.ts +0 -3
  371. package/es/site/data/components/input/demos/inline/index.js +17 -0
  372. package/es/site/data/components/input/demos/inline/react.d.ts +4 -0
  373. package/es/site/data/components/input/demos/inline/react.js +24 -0
  374. package/es/site/data/components/input/demos/size/react.js +0 -3
  375. package/es/site/data/components/layout/demos/asideFix/react.js +2 -1
  376. package/es/site/data/components/select/demos/creatable/react.js +1 -1
  377. package/es/site/data/components/select/demos/customMenu/react.js +1 -0
  378. package/es/site/data/components/select/demos/format/react.js +11 -18
  379. package/es/site/data/components/table/demos/animation/index.d.ts +23 -0
  380. package/es/site/data/components/table/demos/animation/index.js +78 -0
  381. package/es/site/data/components/table/demos/animation/react.d.ts +23 -0
  382. package/es/site/data/components/table/demos/animation/react.js +113 -0
  383. package/es/site/data/components/table/demos/export/react.js +1 -2
  384. package/es/site/data/components/table/demos/sort/react.js +4 -1
  385. package/es/site/data/components/tag/demos/border/react.js +3 -1
  386. package/es/site/data/components/tip/demos/closable/react.js +1 -0
  387. package/es/site/data/components/tooltip/demos/trigger/react.js +1 -2
  388. package/es/site/data/docs/design/{button → about}/index.d.ts +13 -11
  389. package/es/site/data/docs/design/{8point → about}/index.js +0 -0
  390. package/es/site/data/docs/design/{dialog → guide-1}/index.d.ts +15 -11
  391. package/es/site/data/docs/design/{button → guide-1}/index.js +0 -0
  392. package/es/site/data/docs/design/guide-2/index.d.ts +64 -0
  393. package/es/site/data/docs/design/{color → guide-2}/index.js +0 -0
  394. package/es/site/data/docs/design/guide-3/index.d.ts +64 -0
  395. package/es/site/data/docs/design/{dialog → guide-3}/index.js +0 -0
  396. package/es/site/data/docs/design/guide-4/index.d.ts +64 -0
  397. package/es/site/data/docs/design/{font → guide-4}/index.js +0 -0
  398. package/es/site/data/docs/design/guide-5/index.d.ts +64 -0
  399. package/es/site/data/docs/design/{format → guide-5}/index.js +0 -0
  400. package/es/site/data/docs/design/guide-6/index.d.ts +64 -0
  401. package/es/site/data/docs/design/{gutter → guide-6}/index.js +0 -0
  402. package/es/site/data/docs/design/guide-7/index.d.ts +64 -0
  403. package/es/site/data/docs/design/{hierarchy → guide-7}/index.js +0 -0
  404. package/es/site/data/docs/design/guide-8/index.d.ts +64 -0
  405. package/es/site/data/docs/design/{language → guide-8}/index.js +0 -0
  406. package/es/site/data/docs/design/guide-9/index.d.ts +64 -0
  407. package/es/site/data/docs/design/{navigator → guide-9}/index.js +0 -0
  408. package/es/site/data/docs/design/model/index.d.ts +64 -0
  409. package/es/site/data/docs/design/{tip → model}/index.js +0 -0
  410. package/es/site/data/docs/design/model-1/index.d.ts +64 -0
  411. package/es/site/data/docs/design/{text → model-1}/index.js +0 -0
  412. package/es/site/data/docs/design/pattern-1/index.d.ts +64 -0
  413. package/es/site/data/docs/design/pattern-1/index.js +42 -0
  414. package/es/site/data/docs/design/pattern-2/index.d.ts +64 -0
  415. package/es/site/data/docs/design/pattern-2/index.js +42 -0
  416. package/es/site/data/docs/design/pattern-3/index.d.ts +64 -0
  417. package/es/site/data/docs/design/pattern-3/index.js +42 -0
  418. package/es/site/data/docs/design/pattern-4/index.d.ts +64 -0
  419. package/es/site/data/docs/design/pattern-4/index.js +42 -0
  420. package/es/site/data/docs/design/pattern-5/index.d.ts +64 -0
  421. package/es/site/data/docs/design/pattern-5/index.js +42 -0
  422. package/es/site/data/docs/design/pattern-6/index.d.ts +64 -0
  423. package/es/site/data/docs/design/pattern-6/index.js +42 -0
  424. package/es/site/data/docs/design/{navigator → principle}/index.d.ts +13 -11
  425. package/es/site/data/docs/design/principle/index.js +42 -0
  426. package/es/site/data/docs/design/{tip → value}/index.d.ts +13 -11
  427. package/es/site/data/docs/design/value/index.js +42 -0
  428. package/es/site/data/docs/theme/index.d.ts +0 -2
  429. package/es/site/src/components/ImgBox/index.d.ts +21 -0
  430. package/es/site/src/components/ImgBox/index.js +69 -0
  431. package/es/site/src/{pages/designdoc → components/ImgBox}/styles.d.ts +0 -0
  432. package/es/site/src/components/ImgBox/styles.js +13 -0
  433. package/es/site/src/components/WorkflowCard/styles.js +3 -10
  434. package/es/site/src/components/article/index.d.ts +4 -1
  435. package/es/site/src/components/article/index.js +72 -6
  436. package/es/site/src/components/blockquote/index.d.ts +4 -0
  437. package/es/site/src/components/blockquote/index.js +13 -0
  438. package/es/site/src/components/blockquote/slot.d.ts +11 -0
  439. package/es/site/src/components/blockquote/slot.js +19 -0
  440. package/es/site/src/components/card/index.d.ts +1 -1
  441. package/es/site/src/components/card/index.js +4 -1
  442. package/es/site/src/components/card/styles.js +2 -10
  443. package/es/site/src/components/catalogue/index.js +2 -2
  444. package/es/site/src/components/catalogue/styles.js +1 -1
  445. package/es/site/src/components/footer/styles.js +2 -2
  446. package/es/site/src/components/link/index.d.ts +1 -0
  447. package/es/site/src/components/link/index.js +11 -3
  448. package/es/site/src/pages/design/index.d.ts +1 -0
  449. package/es/site/src/pages/design/index.js +19 -0
  450. package/es/site/src/pages/design/styles.d.ts +1 -0
  451. package/es/site/src/pages/design/styles.js +13 -0
  452. package/es/site/src/pages/document/index.d.ts +4 -2
  453. package/es/site/src/pages/document/index.js +89 -46
  454. package/es/site/src/pages/document/styles.js +1 -1
  455. package/es/site/src/pages/iframe/button/styles.js +4 -4
  456. package/es/site/src/pages/iframe/colorProcess/index.d.ts +1 -0
  457. package/es/site/src/pages/iframe/colorProcess/index.js +9 -5
  458. package/es/site/src/pages/iframe/colorProcess/styles.js +1 -1
  459. package/es/site/src/pages/index/BestPractice/index.d.ts +1 -0
  460. package/es/site/src/pages/index/BestPractice/index.js +14 -14
  461. package/es/site/src/pages/index/BestPractice/styles.d.ts +1 -1
  462. package/es/site/src/pages/index/BestPractice/styles.js +3 -3
  463. package/es/site/src/pages/index/ColorProcess/styles.d.ts +1 -1
  464. package/es/site/src/pages/index/ColorProcess/styles.js +14 -2
  465. package/es/site/src/pages/index/KingVersion/styles.js +1 -1
  466. package/es/site/src/pages/index/NewFunction/index.d.ts +1 -0
  467. package/es/site/src/pages/index/NewFunction/index.js +4 -2
  468. package/es/site/src/pages/index/NewFunction/styles.d.ts +1 -1
  469. package/es/site/src/pages/index/NewFunction/styles.js +4 -3
  470. package/es/site/src/pages/index/index.d.ts +2 -7
  471. package/es/site/src/pages/index/index.js +11 -8
  472. package/es/site/src/pages/index/styles.js +2 -4
  473. package/es/site/src/pages/layout.d.ts +1 -0
  474. package/es/site/src/pages/layout.js +24 -3
  475. package/es/site/src/pages/resource/index.d.ts +6 -0
  476. package/es/site/src/pages/resource/index.js +21 -1
  477. package/es/site/src/pages/resource/styles.js +5 -3
  478. package/es/site/src/pages/solution/index.d.ts +6 -0
  479. package/es/site/src/pages/solution/index.js +20 -1
  480. package/es/site/src/pages/solution/styles.js +3 -2
  481. package/es/site/src/pages/styles.d.ts +1 -0
  482. package/es/site/src/pages/styles.js +5 -2
  483. package/es/site/src/router/index.d.ts +1 -0
  484. package/es/site/src/router/index.js +327 -318
  485. package/es/site/src/styles/default.d.ts +1 -0
  486. package/es/site/src/styles/default.js +3 -2
  487. package/es/styles/global.js +4 -3
  488. package/es/styles/theme.d.ts +16 -7
  489. package/es/styles/theme.js +15 -7
  490. package/hooks/useRouter.ts +11 -0
  491. package/index.ts +3 -2
  492. package/package.json +6 -6
  493. package/styles/global.ts +41 -8
  494. package/styles/theme.ts +12 -8
  495. package/typings/global.d.ts +2 -0
  496. package/components/dialog/demos/asyncOpen.md +0 -111
  497. package/components/dialog/demos/extends.md +0 -87
  498. package/es/site/data/components/dialog/demos/asyncOpen/dialog.d.ts +0 -28
  499. package/es/site/data/components/dialog/demos/asyncOpen/dialog.js +0 -45
  500. package/es/site/data/components/dialog/demos/asyncOpen/index.d.ts +0 -13
  501. package/es/site/data/components/dialog/demos/asyncOpen/index.js +0 -58
  502. package/es/site/data/components/dialog/demos/extends/dialog.d.ts +0 -28
  503. package/es/site/data/components/dialog/demos/extends/dialog.js +0 -39
  504. package/es/site/data/components/dialog/demos/extends/index.js +0 -49
  505. package/es/site/data/docs/design/8point/index.d.ts +0 -58
  506. package/es/site/data/docs/design/color/demos/demos0/index.d.ts +0 -3
  507. package/es/site/data/docs/design/color/demos/demos0/index.js +0 -3
  508. package/es/site/data/docs/design/color/index.d.ts +0 -56
  509. package/es/site/data/docs/design/font/index.d.ts +0 -58
  510. package/es/site/data/docs/design/format/index.d.ts +0 -58
  511. package/es/site/data/docs/design/gutter/index.d.ts +0 -58
  512. package/es/site/data/docs/design/hierarchy/index.d.ts +0 -58
  513. package/es/site/data/docs/design/language/index.d.ts +0 -56
  514. package/es/site/data/docs/design/text/index.d.ts +0 -58
  515. package/es/site/src/pages/designdoc/index.d.ts +0 -11
  516. package/es/site/src/pages/designdoc/index.js +0 -21
  517. package/es/site/src/pages/designdoc/styles.js +0 -6
@@ -9,24 +9,55 @@ sidebar: doc
9
9
 
10
10
  | 属性 | 说明 | 类型 | 默认值 |
11
11
  | --- | --- | --- | --- |
12
- | value | 当前选中的时间字符串 | `String` | `undefind` |
13
- | clearable | 是否能清空当前值 | `Boolean` | `false` |
14
- | step | 固定时间点的步长 | `String` | `undefined` |
15
- | max | 最大可选时间 | `String` | `undefined` |
16
- | min | 最小可选时间 | `String` | `undefined` |
17
- | placeholder | 占位文字 | `String` | `"请选择时间"` |
18
- | disabled | 是否禁用 | `Boolean` | `false` |
19
- | multiple | 是否支持多选 | `Boolean` | `false` |
20
- | size | 组件尺寸 | `"large"` | `"default"` | `"small"` | `"mini"` | `"default"` |
21
- | range | 是否选择时间范围 | `Boolean` | `false` |
22
- | container | 指定弹出选择层追加的位置,默认:`Dialog`类型的组件会追加到`Dialog`中,其他会追加到`body`中。你可以传入函数返回一个DOM用来作为插入的容器,或者传入字符串用来给`querySelector`进行查询 | `Function` | `String` | `undefined` |
23
- | format | 指定时间格式化字符串 | `String` | `HH:mm:ss` |
24
- | valueFormat | 指定`value`值时间格式化字符串 | `String` | `undefined` |
25
- | showFormat | 指定展示的时间格式化字符串 | `String` | `undefined` |
12
+ | value | 当前选中的时间字符串,可用`v-model`双向绑定,你可以传入任意合法的日期,组件最终都会处理成时间字符串,日期信息将被忽略 | `Value` | `Value[]` | `[Value, Value]` | `[Value, Value][]` | `""` |
13
+ | multiple | 是否支持多选 | `boolean` | `false` |
14
+ | disabled | 是否禁用 | `boolean` | `false` |
15
+ | name | 表单元素的`name` | `string` | `undefined` |
16
+ | size | 尺寸 | `"large"` | `"default"` | `"small"` | `"mini"` | `"default"` |
17
+ | hideIcon | 是否隐藏后面的图标 | `boolean` | `false` |
18
+ | clearable | 是否可清空 | `boolean` | `false` |
19
+ | fluid | 是否宽度100% | `boolean` | `false` |
20
+ | inline | 展示内联模式,该模式下,组件没有边框,宽度和高度如同内联元素一样由内容撑开 | `boolean` | `false` |
21
+ | placeholder | 占位文案 | `string` | `"请选择时间"` |
22
+ | container | 指定弹出菜单追加的位置,默认:`Dialog`类型的组件会追加到`Dialog`中,其他会追加到`body`中。你可以传入函数返回一个DOM用来作为插入的容器,或者传入字符串用来给`querySelector`进行查询 | `Container` | `undefined` |
23
+ | width | 指定宽度,组件自动添加单位`px` | `number` | `string` | `undefined` |
24
+ | range | 是否选择时间范围 | `boolean` | `false` |
25
+ | format | 指定日期格式化字符串 | `string` | `YYYY-MM-DD HH:mm:ss` |
26
+ | valueFormat | 指定`value`值日期格式化字符串 | `string` | `undefined` |
27
+ | showFormat | 指定展示的日期格式化字符串 | `string` | `undefined` |
28
+ | max | 最大可选时间 | `Value` | `undefind` |
29
+ | min | 最小可选时间 | `Value` | `undefind` |
30
+ | disabledDate | 该属性值是一个函数,用于定义那些日期被禁止选择,函数参数为日期字符串,返回`true`则表示禁用该日期 | `(v: Dayjs) => boolean` | `undefined` |
31
+ | step | 固定时间点的步长 | `string` | `undefined` |
32
+
33
+ ```ts
34
+ import {Dayjs} from 'dayjs';
35
+ import {VNode} from 'intact';
36
+
37
+ export type Value = string | Date | number | Dayjs;
38
+ export type Container = string | ((parentDom: Element, anchor: Node | null) => Element)
39
+ ```
40
+
41
+ # 扩展点
42
+
43
+ ## Select
44
+
45
+ | 名称 | 说明 | 参数 |
46
+ | --- | --- | --- |
47
+ | value | 自定义选择结果的展示 | `([value: any, label: Children]) => Children` |
48
+ | values | 自定义多选的选择结果的展示 | `([values: any[], labels: Children[]]) => Children` |
49
+ | prefix | 自定义输入款前面展示的内容 | - |
50
+ | suffix | 自定义输入框后面展示的内容 | - |
51
+
52
+ ```ts
53
+ import {Children} from 'intact';
54
+ ```
26
55
 
27
56
  # 事件
28
57
 
29
58
  | 事件名 | 说明 | 参数 |
30
59
  | --- | --- | --- |
31
- | selectStart | 该事件尽在范围选择(`range`),并且只选择了第一个值时触发 | `timeString` |
32
- | change | 当用户操作完成且值`value`变化时触发 | `dateString` |
60
+ | show | 菜单弹出时触发 | - |
61
+ | hide | 菜单隐藏时触发 | - |
62
+ | selecting | 该事件尽在范围选择(`range`)触发,表示用户正在操作选择,可能只选了一个值,或者正在修改日期的时间 | `(value: [Dayjs, Dayjs?]) => void` |
63
+ | change | 当用户操作完成且值`value`变化时触发 | `(value: string) => void` |
@@ -11,15 +11,16 @@ describe('Timepicker', () => {
11
11
 
12
12
  afterEach(async () => {
13
13
  unmount();
14
- await wait(400);
14
+ await wait(500);
15
15
  });
16
16
 
17
- it('select time', async () => {
17
+ it('select time', async function() {
18
+ this.timeout(0);
18
19
  const [instance, element] = mount(BasicDemo);
19
20
 
20
21
  const [picker1, picker2] = element.querySelectorAll('.k-select') as NodeListOf<HTMLElement>;
21
22
  picker1.click();
22
- await wait(300);
23
+ await wait(500);
23
24
  let dropdown = getElement('.k-time-content')!;
24
25
  expect(dropdown.innerHTML).to.matchSnapshot();
25
26
  const next = dropdown.querySelector('.k-scroll-select-item:nth-child(11)') as HTMLElement;
@@ -33,18 +34,18 @@ describe('Timepicker', () => {
33
34
  expect(dropdown.innerHTML).to.matchSnapshot();
34
35
  const ok = dropdown.querySelector('.k-btn') as HTMLElement;
35
36
  ok.click();
36
- await wait(300);
37
+ await wait(500);
37
38
  expect(instance.get('time')).to.eql('02:00:00');
38
39
  expect(dropdown.style.display).to.eql('none');
39
40
  // set time
40
41
  instance.set('time', '03:03:03');
41
42
  picker1.click();
42
- await wait(300);
43
+ await wait(500);
43
44
  expect(dropdown.innerHTML).to.matchSnapshot();
44
45
 
45
46
  // multiple
46
47
  picker2.click();
47
- await wait(300);
48
+ await wait(500);
48
49
  dropdown = getElement('.k-time-content')!;
49
50
  dropdown.querySelector<HTMLElement>('.k-scroll-select-item:nth-child(11)')!.click();
50
51
  const ok2 = dropdown.querySelector('.k-btn') as HTMLElement;
@@ -83,7 +84,7 @@ describe('Timepicker', () => {
83
84
 
84
85
  const picker = element.querySelector('.k-select') as HTMLElement;
85
86
  picker.click();
86
- await wait(300);
87
+ await wait(500);
87
88
  const dropdown = getElement('.k-time-content')!;
88
89
  expect(dropdown.innerHTML).to.matchSnapshot();
89
90
  const [start, end] = dropdown.querySelectorAll<HTMLElement>('.k-datepicker-calendar-wrapper');
@@ -95,7 +96,7 @@ describe('Timepicker', () => {
95
96
  expect(dropdown.innerHTML).to.matchSnapshot();
96
97
  dropdown.querySelector<HTMLElement>('.k-btn')!.click();
97
98
  await wait();
98
- expect(instance.get('time')).to.eql(['01:00:00', '02:00:00']);
99
+ expect(instance.get('time')).to.eql(['01:00:00', '01:59:59']);
99
100
  });
100
101
 
101
102
  it('step', async () => {
@@ -122,7 +123,7 @@ describe('Timepicker', () => {
122
123
  (start.querySelector('.k-active')!.nextElementSibling as HTMLElement).click();
123
124
  await wait();
124
125
  expect(dropdown.innerHTML).to.matchSnapshot();
125
- (end.querySelector('.k-active')!.nextElementSibling as HTMLElement).click();
126
+ (end.querySelector('.k-disabled')!.nextElementSibling as HTMLElement).click();
126
127
  await wait();
127
128
  expect(dropdown.innerHTML).to.matchSnapshot();
128
129
  dropdown.querySelector<HTMLElement>('.k-btn')!.click();
@@ -165,7 +166,7 @@ describe('Timepicker', () => {
165
166
  expect(content.innerHTML).to.matchSnapshot();
166
167
  content.querySelector<HTMLElement>('.k-btn')!.click();
167
168
  await wait();
168
- expect(instance.get('time3')).eql(['00:30:00.000', '01:00:00.000']);
169
+ expect(instance.get('time3')).eql(['00:30:00.000', '00:30:00.000']);
169
170
  expect(input3.innerHTML).to.matchSnapshot();
170
171
  });
171
172
 
@@ -18,7 +18,7 @@ const defaults = {
18
18
  },
19
19
  };
20
20
 
21
- let timepicker: any;
21
+ let timepicker: typeof defaults;
22
22
  setDefault(() => {
23
23
  timepicker = deepDefaults(theme, {timepicker: defaults}).timepicker;
24
24
  });
@@ -3,7 +3,7 @@ import type {TimepickerProps} from './';
3
3
  import {useState} from '../../hooks/useState';
4
4
  import type {useDisabled} from '../datepicker/useDisabled';
5
5
  import type {useFormats} from './useFormats';
6
- import {NOW} from './constants'
6
+ import {NOW_START, NOW_END} from './constants'
7
7
  import {Dayjs} from 'dayjs';
8
8
  import {useReceive} from '../../hooks/useReceive';
9
9
 
@@ -28,9 +28,9 @@ export function useStep(
28
28
 
29
29
  if (step) {
30
30
  const data: Option[] = [];
31
- const maxValue = maxDate.value || NOW.hour(23).minute(59).second(59);
31
+ const maxValue = maxDate.value || NOW_END;
32
32
  const stepValue = parseTime(step);
33
- let value = minDate.value || NOW;
33
+ let value = minDate.value || NOW_START;
34
34
 
35
35
  const push = (value: Dayjs) => {
36
36
  data.push({
@@ -9,7 +9,7 @@ import {
9
9
  } from '../datepicker/basepicker';
10
10
  import type {useDisabled} from '../datepicker/useDisabled';
11
11
  import type {usePanel} from '../datepicker/usePanel';
12
- import {NOW} from './constants';
12
+ import {NOW_START, NOW_END} from './constants';
13
13
  import {PanelFlags} from '../datepicker/usePanel';
14
14
 
15
15
  export function useValue(
@@ -47,7 +47,7 @@ export function useValue(
47
47
  });
48
48
 
49
49
  function getPlaceholderDates(): StateValueItem {
50
- return instance.get('range') ? [NOW, NOW] : NOW;
50
+ return instance.get('range') ? [NOW_START, NOW_END] : NOW_START;
51
51
  }
52
52
 
53
53
  function onChangeTimeByStep(v: string, flag: PanelFlags) {
@@ -19,7 +19,7 @@ import {Tip} from 'kpc';
19
19
  type={$value}
20
20
  closable
21
21
  >{$value}</Tip>
22
- <Tip closable>
22
+ <Tip closable border="dashed">
23
23
  custom closing content
24
24
  <b:close>No longer show</b:close>
25
25
  </Tip>
@@ -5,15 +5,19 @@ order: 89
5
5
  sidebar: doc
6
6
  ---
7
7
 
8
- > `Tip`组件继承`Tag`组件,所以很多属性都是一样的
8
+ > `Tip`组件继承`Tag`组件,所以属性是一样的
9
9
 
10
10
  # 属性
11
11
 
12
12
  | 属性 | 说明 | 类型 | 默认值 |
13
13
  | --- | --- | --- | --- |
14
14
  | type | 组件类型 | `"default"` &#124; `"primary"` &#124; `"success"` &#124; `"warning"` &#124; `"danger"` | `"default"` |
15
- | disabled | 是否展示禁用状态 | `Boolean` | `false` |
16
- | closable | 是否可关闭 | `Boolean` | `false` |
15
+ | closable | 是否可关闭 | `boolean` | `false` |
16
+ | closed | 是否已关闭 | `boolean` | `false` |
17
+ | disabled | 是否展示禁用状态 | `boolean` | `false` |
18
+ | size | 组件尺寸 | `"large"` &#124; `"default"` &#124; `"small"` &#124; `"mini"` | `"default"` |
19
+ | border | 定义边框样式 | `"solid"` &#124; `"dashed"` &#124; `"none"` | `"solid"` |
20
+
17
21
 
18
22
  # 扩展点
19
23
 
@@ -26,4 +30,4 @@ sidebar: doc
26
30
 
27
31
  | 事件名 | 说明 | 参数 |
28
32
  | --- | --- | --- |
29
- | close | 标签关闭事件 | - |
33
+ | close | 标签关闭事件 | `(e: MouseEvent) => void` |
@@ -12,7 +12,7 @@ const defaults = {
12
12
  get padding() { return `6px ${theme.default.padding}` },
13
13
  };
14
14
 
15
- let tip: any;
15
+ let tip: typeof defaults;
16
16
  setDefault(() => {
17
17
  tip = deepDefaults(theme, {tip: defaults}).tip;
18
18
  });
@@ -6,19 +6,8 @@ order: 0
6
6
  使用`Tooltip`包裹需要展示提示的元素,使用`content`属性指定提示文本即可,组件默认为深色主题`dark`,你可以通过
7
7
  `theme`指定浅色主题`light`,通过`disabled`属性可以禁用提示,通过`size`可以指弹层的大小:`small` `default`
8
8
 
9
- > 由于`Tooltip`是一个宏函数,Intact下,会返回两个元素,所以不要当做模板的顶级元素,
10
- > 因为Intact模板只能返回一个元素,此时应该用一个元素将它包起来
11
-
12
- > `@since 1.0.0` `Tooltip`在`Vue/React`下渲染不会被元素包裹,这可能会影响你之前项目中定义的样式,
13
- > 如需渲染包裹元素,请做如下配置
14
- > ```js
15
- > // @code
16
- > import {configure} from 'kpc';
17
- >
18
- > // 该配置全局生效
19
- > configure({useWrapper: true});
20
- > ```
21
-
9
+ > 与`Dropdown`一样,`Tooltip`会返回两个元素(触发器和菜单),所以不要作为Vue2.0的模板顶层返回元素
10
+ > 因为Vue2.0只支持返回一个元素
22
11
 
23
12
  ```vdt
24
13
  import {Tooltip} from 'kpc';
@@ -7,8 +7,7 @@ order: 2
7
7
  鼠标离开触发器,弹层就会消失,如果我们需要鼠标能离开触发器并悬浮在弹层上,需要添加`canHover`属性
8
8
 
9
9
  ```vdt
10
- import {Tooltip} from 'kpc';
11
- import {ButtonGroup, Button} from 'kpc';
10
+ import {Tooltip, ButtonGroup, Button} from 'kpc';
12
11
 
13
12
  <ButtonGroup>
14
13
  <Tooltip content="hover">
@@ -9,21 +9,34 @@ sidebar: doc
9
9
 
10
10
  | 属性 | 说明 | 类型 | 默认值 |
11
11
  | --- | --- | --- | --- |
12
- | value | 提示弹层的展示隐藏状态,可用`v-model`进行双向绑定 | `Boolean` | `false` |
13
- | trigger | 触发方式,点击触发`click`, 悬浮触发`hover` | `"hover"` &#124; `"click"` | `"hover"` |
14
- | canHover | 对于悬浮触发`hover`的方式,提示内容弹层是否在鼠标悬浮时仍然展示,默认鼠标离开触发元素弹层就会关闭 | `Boolean` | `false` |
15
- | showArrow | 弹层是否展示箭头 | `Boolean` | `true` |
16
- | position | 弹层的位置 | `"left"` &#124; `"bottom"` &#124; `"right"` &#124; `"top"` &#124; `Object` | `{my: 'center bottom-10', at: 'center top'}` |
17
- | transition | 弹层动画,默认只提供`c-fade`,你也可以传入任意自定义动画类型 | `String` | `"c-fade"` |
18
- | class | 样式名。特别说明:该属性会往内容弹出层上添加,vue下会同时往触发元素和弹层元素上添加 | `String` &#124; `Object` | `undefined` |
19
- | confirm | 带“确认”和“取消”按钮的确认弹层 | `Boolean` | `false` |
20
- | onText | `confirm`模式下的“确认”按钮文案 | `String` | `"确认"` |
21
- | cancelText | `confirm`模式下的“取消”按钮文案 | `String` | `"取消"` |
22
- | container | 指定弹出提示内容追加的位置,默认:`Dialog`类型的组件会追加到`Dialog`中,其他会追加到`body`中。你可以传入函数返回一个DOM用来作为插入的容器,或者传入字符串用来给`querySelector`进行查询 | `Function` &#124; `String` | `undefined` |
12
+ | trigger | 触发方式,`hover`为悬停触发,`click`为点击触发 | `"hover"` &#124; `"click"` | `"hover"` |
13
+ | disabled | 是否禁用整个菜单 | `boolean` | `false` |
14
+ | value | 是否将弹出菜单展示出来,可通过`v-model`双向绑定 | `boolean` | `false` |
15
+ | position | 菜单弹出的位置,默认在触发器正上方向上偏移`10px`的地方 | `Position` &#124; `"left"` &#124; `"bottom"` &#124; `"right"` &#124; `"top"` | `{my: 'center bottom-10', at: 'center top', collision: 'flipfit'}` |
16
+ | of | 弹出菜单的位置是相对当前触发元素,还是触发元素所在的菜单元素,这在嵌套菜单中可能会用到,可以使所有子菜单保持统一的对齐方式,例如:级联选择(Cascader)组件 | `"self"` &#124; `"parent"` &#124; `Event` | `"self"` |
17
+ | container | 指定弹出菜单追加的位置,默认:`Dialog`类型的组件会追加到`Dialog`中,其他会追加到`body`中。你可以传入函数返回一个DOM用来作为插入的容器,或者传入字符串用来给`querySelector`进行查询 | `Container` | `undefined` |
18
+ | showArrow | 弹层是否展示箭头 | `boolean` | `true` |
23
19
  | theme | 指定主题 | `"dark"` &#124; `"light"` | `"dark"` |
24
- | disabled | 是否禁用提示 | `Boolean` | `false` |
25
- | always | 是否一直保持当前展示/隐藏状态 | `Boolean` | `false` |
20
+ | hoverable | 对于悬浮触发`hover`的方式,提示内容弹层是否在鼠标悬浮时仍然展示,默认鼠标离开触发元素弹层就会关闭 | `boolean` | `false` |
21
+ | always | 是否一直保持当前展示/隐藏状态 | `boolean` | `false` |
26
22
  | size | 弹层尺寸 | `"default"` &#124; `"small"` | `"default"` |
23
+ | confirm | 带“确认”和“取消”按钮的确认弹层 | `boolean` | `false` |
24
+ | onText | `confirm`模式下的“确认”按钮文案 | `string` | `"确认"` |
25
+ | cancelText | `confirm`模式下的“取消”按钮文案 | `string` | `"取消"` |
26
+ | content | 指定提示的内容,当然你也可以用`content`扩展点指定 | `string` &#124; `VNode` | `undefined` |
27
+
28
+ ```ts
29
+ type Position = {
30
+ my?: string | [string, string]
31
+ at?: string | [string, string]
32
+ collision?: Collision | [Collision, Collision]
33
+ collisionDirection?: ['left'] | ['top'] | ['left', 'top']
34
+ }
35
+
36
+ type Collision = 'fit' | 'flip' | 'flipfit' | 'none'
37
+
38
+ export type Container = string | ((parentDom: Element, anchor: Node | null) => Element)
39
+ ```
27
40
 
28
41
  # 事件
29
42
 
@@ -38,7 +38,7 @@ describe('Tooltip', () => {
38
38
 
39
39
  // should hide
40
40
  dispatchEvent(first, 'mouseleave');
41
- await wait(400);
41
+ await wait(600);
42
42
  expect(content.style.display).to.eql('none');
43
43
  });
44
44
 
@@ -113,27 +113,29 @@ describe('Tooltip', () => {
113
113
 
114
114
  // should hide when click document
115
115
  document.body.click();
116
- await wait(300);
116
+ await wait(500);
117
117
  expect(content.style.display).to.eql('none')
118
118
  });
119
119
 
120
- it('should be hoverable', async () => {
120
+ it('should be hoverable', async function() {
121
+ this.timeout(0);
122
+
121
123
  const [, element] = mount(TriggerDemo);
122
124
  const [, , canHover] = Array.from(element.querySelectorAll('.k-btn'));
123
125
  dispatchEvent(canHover, 'mouseenter');
124
126
  await wait();
125
127
  dispatchEvent(canHover, 'mouseleave');
126
- await wait(300);
128
+ await wait(500);
127
129
  const content = getElement('.k-tooltip-content')!;
128
130
  dispatchEvent(content, 'mouseenter');
129
- await wait(300);
131
+ await wait(500);
130
132
  const content1 = getElement('.k-tooltip-content');
131
133
 
132
- // should not hide when hover from button to tooltip content
134
+ // should not hide when move mouse from button to tooltip content
133
135
  expect(content1).eql(content);
134
136
 
135
137
  dispatchEvent(canHover, 'mouseleave');
136
- await wait(500);
138
+ await wait(800);
137
139
  expect(content.style.display).to.eql('none')
138
140
  });
139
141
 
@@ -142,7 +144,7 @@ describe('Tooltip', () => {
142
144
 
143
145
  const [btn] = Array.from<HTMLElement>(element.querySelectorAll('.k-btn'));
144
146
  btn.click();
145
- await wait(300);
147
+ await wait(500);
146
148
  const content = getElement('.k-tooltip-content') as HTMLElement;
147
149
  // ignore the arrow, because it may change className to adapt to the direction
148
150
  expect(content.querySelector<HTMLElement>('.k-slider')!.outerHTML).to.matchSnapshot();
@@ -163,7 +165,7 @@ describe('Tooltip', () => {
163
165
  expect((content.querySelector('.k-tooltip-buttons') as HTMLElement).outerHTML).to.matchSnapshot();
164
166
 
165
167
  (content.querySelector('.k-btn') as HTMLElement).click();
166
- await wait(300);
168
+ await wait(500);
167
169
  expect(content.style.display).eql('none');
168
170
 
169
171
  dispatchEvent(element.firstElementChild!, 'click');
@@ -172,7 +174,7 @@ describe('Tooltip', () => {
172
174
  const [, btn] = Array.from<HTMLElement>(content.querySelectorAll('.k-btn'));
173
175
  btn.click();
174
176
 
175
- await wait(300);
177
+ await wait(500);
176
178
  expect(content.style.display).eql('none');
177
179
  expect(cancelCb.callCount).eql(1);
178
180
  expect(okCb.callCount).eql(1);
@@ -185,15 +187,15 @@ describe('Tooltip', () => {
185
187
  expect(content.textContent).eql('hello');
186
188
 
187
189
  document.body.click();
188
- await wait(300);
190
+ await wait(500);
189
191
  expect(getElement('.k-tooltip-content')).eql(content);
190
192
 
191
193
  (element.querySelector('span') as HTMLElement).click();
192
- await wait(300);
194
+ await wait(500);
193
195
  expect(getElement('.k-tooltip-content')).eql(content);
194
196
 
195
197
  dispatchEvent(content, 'mouseleave');
196
- await wait(500);
198
+ await wait(600);
197
199
  expect(getElement('.k-tooltip-content')).eql(content);
198
200
  });
199
201
 
@@ -300,7 +302,7 @@ describe('Tooltip', () => {
300
302
  expect(content!.textContent).eql('hello');
301
303
 
302
304
  i.set('disabled', true);
303
- await wait(300);
305
+ await wait(500);
304
306
  content = getElement('.k-tooltip-content');
305
307
  expect(content).eql(undefined);
306
308
 
@@ -338,6 +340,8 @@ describe('Tooltip', () => {
338
340
 
339
341
  await wait(500);
340
342
  const content = getElement('.k-tooltip-content')!;
343
+ console.log(content.outerHTML);
344
+ console.log(JSON.stringify(content.getBoundingClientRect()));
341
345
  expect(content.getBoundingClientRect().top < 0).to.be.true;
342
346
  });
343
347
  });
@@ -31,7 +31,7 @@ const defaults = {
31
31
  smallPadding: '4px',
32
32
  };
33
33
 
34
- let tooltip: any;
34
+ let tooltip: typeof defaults;
35
35
  setDefault(() => {
36
36
  tooltip = deepDefaults(theme, {tooltip: defaults}).tooltip;
37
37
  });
@@ -9,41 +9,54 @@ sidebar: doc
9
9
 
10
10
  | 属性 | 说明 | 类型 | 默认值 |
11
11
  | --- | --- | --- | --- |
12
- | data | 需要展示的列表数据, 其中`label`会默认当做列表文案展示,`disabled`用于指定是否禁用该行选择 | `Array` | `[]` |
13
- | value | 已选择key的数据项,可用`v-model`进行双向绑定 | `Array` | `[]` |
14
- | leftCheckedKeys | 通过`key`指定勾选的左侧数据节点 | `Array` | `[]` |
15
- | rightCheckedKeys | 通过`key`指定勾选的右侧数据节点 | `Array` | `[]` |
16
- | filterable | 是否需要过滤列表功能,默认根据`data`中定义的`label`进行过滤 | `Boolean` | `false` |
17
- | filter | 指定自定义的过滤函数,组件会将每行数据`data`以及关键词`keywords`传给它 | `Function` | `(data, keywords) => data.label.includes(keywords)` |
18
- | labelName | 指定每一行数据的哪个属性当做列表的`label`属性,默认会取`label`当做`label` | `String` | `"label"` |
19
- | placeholder | 当开启过滤功能时,用于输入框展示的占位文案 | `String` | `"请输入"` |
20
- | leftTitle | 左边顶部展示的标题 | `String` | `"请选择"` |
21
- | rightTitle | 右边顶部展示的标题 | `String` | `"已选择"` |
22
- | leftKeywords | 左边筛选关键字 | `String` | `undefined` |
23
- | rightKeywords | 右边筛选关键字 | `String` | `undefined` |
24
- | keyName | 指定每一行数据的哪个属性当做列表的`key`属性,默认会取`key`或者`label`当做`key` | `String` | `"key"` |
25
- | enableAdd | 指定右箭头按钮的可用状态 | `Function` | `undefined` |
26
- | enableRemove | 指定左箭头按钮的可用状态 | `Function` | `undefined` |
12
+ | data | 需要展示的列表数据, 其中`label`会默认当做列表文案展示,`disabled`用于指定是否禁用该行选择 | `TransferDataItem[]` | `[]` |
13
+ | keyName | 指定每一行数据的哪个属性当做列表的`key`属性,默认会取`key`属性 | `string` | `"key"` |
14
+ | labelName | 指定每一行数据的哪个属性当做列表的`label`属性,默认会取`label`属性 | `string` | `"label"` |
15
+ | value | 已选择key的数据项,可用`v-model`进行双向绑定 | `string[]` | `[]` |
16
+ | leftCheckedKeys | 通过`key`指定勾选的左侧数据节点 | `string[]` | `[]` |
17
+ | rightCheckedKeys | 通过`key`指定勾选的右侧数据节点 | `string[]` | `[]` |
18
+ | filterable | 是否需要过滤列表功能,默认根据`data`中定义的`label`进行过滤 | `boolean` | `false` |
19
+ | filter | 指定自定义的过滤函数,组件会将每行数据`data`以及关键词`keywords`传给它 | `(data: TransferDataItem, keywords: string) => boolean` | `(data: TransferDataItem, keywords: string) => data.label.includes(keywords)` |
20
+ | placeholder | 当开启过滤功能时,用于输入框展示的占位文案 | `string` | `"请输入"` |
21
+ | leftKeywords | 左边筛选关键字 | `string` | `undefined` |
22
+ | rightKeywords | 右边筛选关键字 | `string` | `undefined` |
23
+ | leftTitle | 左边顶部展示的标题 | `string` &#124; `VNode` | `"请选择"` |
24
+ | rightTitle | 右边顶部展示的标题 | `string` &#124; `VNode` | `"已选择"` |
25
+ | enableAdd | 指定右箭头按钮的可用状态 | `() => boolean` | `undefined` |
26
+ | enableRemove | 指定左箭头按钮的可用状态 | `() => boolean` | `undefined` |
27
+
28
+ ```ts
29
+ export type TransferDataItem<
30
+ A extends string = 'key',
31
+ B extends string = 'label',
32
+ > = {
33
+ [K in A]: Key
34
+ } & {
35
+ [K in B]?: Children
36
+ } & {
37
+ disabled?: boolean
38
+ }
39
+ ```
27
40
 
28
41
  # 扩展点
29
42
 
30
43
  | 名称 | 说明 | 参数 |
31
44
  | --- | --- | --- |
32
- | label | 自定义每一项的渲染函数,类似于`label`属性 | `data, index, type` |
33
- | filter | 自定义检索内容 | `type` |
34
- | header | 自定义整个头部内容 | `type` |
35
- | list | 自定义整个列表内容 | `type` |
45
+ | header | 自定义整个头部内容 | <code>(type: 'left' &#124; 'right') => Children</code> |
46
+ | filter | 自定义检索内容 | <code>(type: 'left' &#124; 'right') => Children</code> |
47
+ | list | 自定义整个列表内容 | <code>(type: 'left' &#124; 'right') => Children</code> |
48
+ | label | 自定义每一项的渲染函数,类似于`label`属性 | <code>(data: TransferDataItem, key: string, type: 'left' &#124; 'right') => Children</code> |
36
49
 
37
50
  # 方法
38
51
 
39
52
  | 方法名 | 说明 | 参数 | 返回值 |
40
53
  | --- | --- | --- | --- |
41
- | getData | 获取右边的节点数据 | - | `Array` |
42
- | getCheckedData | 获取勾选的节点数据 | `model` 要获取`左边`或`右边`的数据 | `"left"` &#124; `"right"` |
54
+ | getData | 获取右边的节点数据 | `() => TransferDataItem[]` | `string[]`: 所有移入右栏的数据 |
55
+ | getCheckedData | 获取勾选的节点数据 | <code>(type: 'left' &#124; 'right') => TransferDataItem[]</code> | `TransferDataItem[]`所有`Checkbox`选中的数据 |
43
56
 
44
57
  # 事件
45
58
 
46
59
  | 事件名 | 说明 | 参数 |
47
60
  | --- | --- | --- |
48
- | add | 右箭头按钮点击事件 | `-` |
49
- | remove | 左箭头按钮点击事件 | `-` |
61
+ | add | 右箭头按钮点击事件 | - |
62
+ | remove | 左箭头按钮点击事件 | - |
@@ -43,14 +43,14 @@ describe('Transfer', () => {
43
43
  expect(element.outerHTML).to.matchSnapshot();
44
44
  const [remove, add] = element.querySelectorAll('.k-btn') as NodeListOf<HTMLElement>;
45
45
  add.click();
46
- await wait(300);
46
+ await wait(500);
47
47
  expect(element.outerHTML).to.matchSnapshot();
48
48
  const rightFirst = element.querySelector('.k-transfer-panel:nth-child(3) .k-transfer-list .k-checkbox') as HTMLElement;
49
49
  rightFirst.click();
50
50
  await wait();
51
51
  expect(element.outerHTML).to.matchSnapshot();
52
52
  remove.click();
53
- await wait(300);
53
+ await wait(500);
54
54
  expect(element.outerHTML).to.matchSnapshot();
55
55
  });
56
56
 
@@ -100,12 +100,13 @@ describe('Transfer', () => {
100
100
  expect(tree.get('leftCheckedKeys')).to.eql([]);
101
101
  });
102
102
 
103
- it('filter', async () => {
103
+ it('filter', async function() {
104
+ this.timeout(0);
104
105
  const [instance, element] = mount(LabelDemo);
105
106
 
106
107
  const transfer = instance.refs.__test as Transfer;
107
108
  transfer.set('leftKeywords', '0');
108
- await wait(300);
109
+ await wait(500);
109
110
  expect(element.innerHTML).to.matchSnapshot();
110
111
 
111
112
  const checkAll = element.querySelector('.k-transfer-title .k-checkbox') as HTMLElement;
@@ -114,7 +115,7 @@ describe('Transfer', () => {
114
115
  expect(element.innerHTML).to.matchSnapshot();
115
116
 
116
117
  transfer.set('leftKeywords', '');
117
- await wait(300);
118
+ await wait(500);
118
119
  expect(element.innerHTML).to.matchSnapshot();
119
120
 
120
121
  checkAll.click();
@@ -124,7 +125,7 @@ describe('Transfer', () => {
124
125
  transfer.set('leftKeywords', '0');
125
126
  await wait();
126
127
  transfer.set('leftKeywords', '');
127
- await wait(300);
128
+ await wait(500);
128
129
  expect(element.innerHTML).to.matchSnapshot();
129
130
  });
130
131
  });
@@ -39,7 +39,7 @@ const defaults = {
39
39
  }
40
40
  };
41
41
 
42
- let transfer: any;
42
+ let transfer: typeof defaults;
43
43
  setDefault(() => {
44
44
  transfer = deepDefaults(theme, {transfer: defaults}).transfer;
45
45
  });