@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
package/README.md CHANGED
@@ -1,18 +1,18 @@
1
1
  <div align="center">
2
2
 
3
- <a href="https://ksc-fe.github.io/kpc/" rel="nofollow">
4
- <img src="/site/src/imgs/logo.png" alt="LOGO" width="150">
3
+ <a href="https://design.ksyun.com" rel="nofollow">
4
+ <img src="/site/src/imgs/header_logo_x2.png" alt="LOGO" />
5
5
  </a>
6
6
 
7
7
  <p></p>
8
8
 
9
9
  [![Build Status](https://github.com/ksc-fe/kpc/workflows/Node.js%20CI/badge.svg?branch=master)](https://github.com/ksc-fe/kpc/actions?query=workflow%3A%22Node.js+CI%22)
10
10
  [![Codecov](https://codecov.io/gh/ksc-fe/kpc/branch/master/graphs/badge.svg)](https://codecov.io/gh/ksc-fe/kpc/branch/master)
11
- [![gzip size: js](http://img.badgesize.io/https://cdn.jsdelivr.net/npm/kpc/dist/kpc.min.js?compression=gzip&label=gzip%20size:%20js)](https://cdn.jsdelivr.net/npm/kpc/dist/)
12
- [![gzip size: css](http://img.badgesize.io/https://cdn.jsdelivr.net/npm/kpc/dist/kpc.css?compression=gzip&label=gzip%20size:%20css)](https://cdn.jsdelivr.net/npm/kpc/dist/)
11
+ [![npm](https://img.shields.io/npm/v/@king-design/vue.svg)](https://www.npmjs.com/package/@king-design/vue)
13
12
 
14
- [![npm](https://img.shields.io/npm/dm/kpc.svg)](https://www.npmjs.com/package/kpc)
15
- [![npm](https://img.shields.io/npm/v/kpc.svg)](https://www.npmjs.com/package/kpc)
13
+ [![npm](https://img.shields.io/npm/dm/@king-design/react.svg?label=react%20download)](https://www.npmjs.com/package/@king-design/react)
14
+ [![npm](https://img.shields.io/npm/dm/@king-design/vue.svg?label=vue3%20download)](https://www.npmjs.com/package/@king-design/vue)
15
+ [![npm](https://img.shields.io/npm/dm/@king-design/vue-legacy.svg?label=vue2%20download)](https://www.npmjs.com/package/@king-design/vue-legacy)
16
16
 
17
17
  </div>
18
18
 
@@ -20,11 +20,11 @@ English | [简体中文](./README-zh_CN.md)
20
20
 
21
21
  ## Features
22
22
 
23
- * Support multiple frameworks: [Intact][1] / [Vue][2] / [React][3] / [Angular][4].
24
- * Complete custom theme system.
25
- * 360° locate popup layer.
23
+ * Support multiple frameworks: [Intact][1] / [Vue][2] / [React][3].
24
+ * Support TypeScript.
25
+ * Change theme on runtime.
26
26
  * Declarative form validation.
27
- * Excellent [documents](https://ksc-fe.github.io/kpc/) and design
27
+ * Excellent [documents](https://design.ksyun.com) and design
28
28
  * 90% coverage unit tests.
29
29
 
30
30
  ## Browsers Support
@@ -38,7 +38,11 @@ English | [简体中文](./README-zh_CN.md)
38
38
  ### Installation
39
39
 
40
40
  ```shell
41
- npm install kpc-vue --save
41
+ # Vue3
42
+ npm install @king-design/vue --save
43
+
44
+ # Vue2
45
+ npm install @king-desing/vue-legacy --save
42
46
  ```
43
47
 
44
48
  ### Usage
@@ -48,7 +52,7 @@ npm install kpc-vue --save
48
52
  <Button>Hello</Button>
49
53
  </template>
50
54
  <script>
51
- import {Button} from 'kpc-vue';
55
+ import {Button} from '@king-design/vue';
52
56
 
53
57
  export default {
54
58
  components: {
@@ -63,114 +67,16 @@ export default {
63
67
  ### Installation
64
68
 
65
69
  ```shell
66
- npm install kpc-react --save
70
+ npm install @king-design/react--save
67
71
  ```
68
72
 
69
73
  ### Usage
70
74
 
71
75
  ```jsx
72
- import React from 'react';
73
- import {Button} from 'kpc-react';
74
-
75
- class App extends React.Component {
76
- render() {
77
- return <Button>Hello</Button>
78
- }
79
- }
80
- ```
81
-
82
- ## Intact
83
-
84
- ### Installation
85
-
86
- ```shell
87
- npm install kpc --save
88
- ```
89
-
90
- ### Usage
91
-
92
- ```js
93
- import {Button} from 'kpc';
94
-
95
- <Button>Hello</Button>
96
- ```
97
-
98
- ## Angular
99
-
100
- Read [more][5]
76
+ import {Button} from '@king-design/react';
101
77
 
102
- ### Installation
103
-
104
- ```shell
105
- npm install kpc-angular -S
106
- ```
107
-
108
- ### Configure `webpack.config.js`
109
-
110
- You need use `@angular-builders/custom-webapck` to configure webpack, if your project initialized by Angular CLI.
111
-
112
- ```js
113
- const path = require('path');
114
-
115
- module.exports = function(config) {
116
- config.module.rules.find(rule => {
117
- if (rule.test.toString() === '/\\.css$/') {
118
- rule.exclude.push(path.resolve(__dirname, 'node_modules/kpc-angular'));
119
- return true;
120
- }
121
- });
122
-
123
- return config;
124
- };
125
- ```
126
-
127
- ### Usage
128
-
129
- `src/app/app.module.ts`
130
-
131
- ```ts
132
- import { KpcBrowserModule, KpcModule } from 'kpc-angular';
133
- import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
134
-
135
- import { AppRoutingModule } from './app-routing.module';
136
- import { AppComponent } from './app.component';
137
-
138
- @NgModule({
139
- declarations: [
140
- AppComponent
141
- ],
142
- imports: [
143
- KpcBrowserModule,
144
- AppRoutingModule,
145
- KpcModule,
146
- ],
147
- providers: [],
148
- bootstrap: [AppComponent],
149
- schemas: [CUSTOM_ELEMENTS_SCHEMA]
150
- })
151
- export class AppModule { }
152
- ```
153
-
154
- ```ts
155
- import { Component, ViewEncapsulation } from '@angular/core';
156
- import { MessageComponent } from 'kpc-angular';
157
-
158
- @Component({
159
- selector: 'app-root',
160
- template: `
161
- <k-button type="primary" (click)="onClick()">Hello World</k-button>
162
- `,
163
- style: `
164
- .k-button {
165
- margin: 10px;
166
- }
167
- `,
168
- encapsulation: ViewEncapsulation.None,
169
- })
170
- export class AppComponent {
171
- onClick() {
172
- MessageComponent.success('Welcome to kpc world!');
173
- }
78
+ function App() {
79
+ return <Button>Hello</Button>
174
80
  }
175
81
  ```
176
82
 
@@ -187,10 +93,6 @@ Welcome to join us by QQ. Group Number: 529739732
187
93
 
188
94
  * [KPC Document](https://design.ksyun.com)
189
95
  * [Intact MVVM Framework][1]
190
- * [Vdt Template Engine](http://javey.github.io/vdt.js/)
191
- * [Intact-Vue Compatibility Layer](https://github.com/Javey/intact-vue)
192
- * [Intact-React Compatibility Layer](https://github.com/ksc-fe/intact-react)
193
- * [Intact-Angular Compatibility Layer](https://github.com/ksc-fe/intact-angular)
194
96
 
195
97
  ## Develop
196
98
 
@@ -3,7 +3,8 @@ title: 基础用法
3
3
  order: 0
4
4
  ---
5
5
 
6
- 通过`top`可以指定元素固定在顶部的位置,通过`bottom`可以指定元素固定在底部的位置,都不指定时,默认固定在最顶部
6
+ 通过`top`可以指定元素固定在顶部的位置,通过`bottom`可以指定元素固定在底部的位置,都不指定时,
7
+ 默认固定在最顶部,即`top = 0`
7
8
 
8
9
  > 可以通过缩放浏览器查看效果
9
10
 
@@ -6,17 +6,17 @@ order: 1
6
6
  通过`shouldFix`可以自定义元素固定的规则,此时设置的`top` `bottom`属性,仅仅用来设置固定的位置,并不用于固定
7
7
  规则的判断,当`shouldFix`返回`true`时,元素就会固定,否则不固定。本例中:只要滚动超过`100px`就会固定
8
8
 
9
- 通过`exclude`可以在内部判断元素应该固定时,排除某些情况,让它不固定。本例中:当当前示例容器超出视野(viewport)
9
+ 通过`exclude`可以在判断元素应该固定时,排除某些情况,让它不固定。本例中:当前示例容器超出视野(viewport)
10
10
  之外时,不启用固定
11
11
 
12
12
  ```vdt
13
13
  import {Affix, Button} from 'kpc';
14
14
 
15
15
  <div ref="node">
16
- <Affix top={150} shouldFix={this._shouldFix}>
16
+ <Affix top={150} shouldFix={this.shouldFix}>
17
17
  <Button type="primary">fix at 150px from the top when scroll top 100px</Button>
18
18
  </Affix>
19
- <Affix bottom={this.get('bottom')} exclude={this._exclude}>
19
+ <Affix bottom={this.get('bottom')} exclude={this.exclude}>
20
20
  <Button type="primary">fix at the bottom only when this demo is in viewport</Button>
21
21
  </Affix>
22
22
  </div>
@@ -44,14 +44,14 @@ export default class extends Component<Props> {
44
44
  }
45
45
 
46
46
  @bind
47
- _shouldFix() {
47
+ shouldFix() {
48
48
  // when scroll top greater than or equal to 100
49
49
  // fix it at 150px from top
50
50
  return window.pageYOffset >= 100;
51
51
  }
52
52
 
53
53
  @bind
54
- _exclude() {
54
+ exclude() {
55
55
  // when this demo is not in the viewport
56
56
  // don't fix it
57
57
  const {top} = (this.refs.node as HTMLElement).getBoundingClientRect();
@@ -9,8 +9,8 @@ sidebar: doc
9
9
 
10
10
  | 属性 | 说明 | 类型 | 默认值 |
11
11
  | --- | --- | --- | --- |
12
- | top | 指定元素固定距离顶部的位置 | `Number` | `undefined` |
13
- | bottom | 指定元素固定距离底部的位置 | `Number` | `undefined` |
12
+ | top | 指定元素固定距离顶部的位置 | `number` | `undefined` |
13
+ | bottom | 指定元素固定距离底部的位置 | `number` | `undefined` |
14
14
  | shouldFix | 自定义元素固定规则 | `Function` | `undefined` |
15
15
  | exclude | 排除某些固定的情况 | `Function` | `undefined` |
16
16
 
@@ -7,7 +7,7 @@ const defaults = {
7
7
  zIndex: 9
8
8
  };
9
9
 
10
- let affix: any;
10
+ let affix: typeof defaults;
11
11
  setDefault(() => {
12
12
  affix = deepDefaults(theme, {affix: defaults}).affix;
13
13
  });
@@ -3,7 +3,7 @@ title: 展示文字
3
3
  order: 0
4
4
  ---
5
5
 
6
- 通过`text`属性,展示文案。如果`text`为`Number`类型,还可以指定`max`来规定最大展示数字,
6
+ 通过`text`属性,展示文案。如果`text`为`number`类型,还可以指定`max`来规定最大展示数字,
7
7
  超过该数字,后面添加加号`+`
8
8
 
9
9
  ```vdt
@@ -9,6 +9,6 @@ sidebar: doc
9
9
 
10
10
  | 属性 | 说明 | 类型 | 默认值 |
11
11
  | --- | --- | --- | --- |
12
- | text | 要展示的文案,不指定该属性,则展示红点 | `String` &#124; `Number` | `undefined` |
13
- | max | 如果`text`属性`Number`类型,可以通过该属性指定最大数字 | `Number` | `undefined` |
14
- | disabled | 禁用徽标展示 | `Boolean` | `false` |
12
+ | text | 要展示的文案,不指定该属性,则展示红点 | `string` &#124; `number` | `undefined` |
13
+ | max | 如果`text`属性`number`类型,可以通过该属性指定最大数字 | `number` | `undefined` |
14
+ | disabled | 禁用徽标展示 | `boolean` | `false` |
@@ -14,7 +14,7 @@ const defaults = {
14
14
  textColor: '#fff',
15
15
  };
16
16
 
17
- let badge: any;
17
+ let badge: typeof defaults;
18
18
  setDefault(() => {
19
19
  badge = deepDefaults(theme, {badge: defaults}).badge;
20
20
  });
@@ -3,7 +3,7 @@ title: 基础用法
3
3
  order: 0
4
4
  ---
5
5
 
6
- 通过添加`to`属性,来展示超链接
6
+ 通过添加`to`属性,来设置超链接
7
7
 
8
8
  > `to`属性支持`vue-router`或者`react-router` `push`方法参数用法
9
9
 
@@ -11,14 +11,13 @@ sidebar: doc
11
11
 
12
12
  | 属性 | 说明 | 类型 | 默认值 |
13
13
  | --- | --- | --- | --- |
14
- | separator | 指定分隔符 | `String` | `undefined` |
14
+ | separator | 指定分隔符 | `string` | `undefined` |
15
15
 
16
16
  ## BreadcrumbItem
17
17
 
18
18
  | 属性 | 说明 | 类型 | 默认值 |
19
19
  | --- | --- | --- | --- |
20
- | to | 指定超链接地址 | `String` | `undefined` |
21
- | separator | 指定分隔符,会覆盖`Breadcrumb`中的定义 | `String` | `">"` |
20
+ | to | 指定超链接地址 | `string` &#124; `object` | `undefined` |
22
21
 
23
22
  # 扩展点
24
23
 
@@ -26,10 +25,4 @@ sidebar: doc
26
25
 
27
26
  | 名称 | 说明 |
28
27
  | --- | --- |
29
- | separator | 扩展分隔符 |
30
-
31
- ## BreadcrumbItem
32
-
33
- | 名称 | 说明 |
34
- | --- | --- |
35
- | separator | 扩展分隔符,优先级高于`Breadcrumb`中的定义 |
28
+ | separator | 指定分隔符 |
@@ -1,15 +1,14 @@
1
1
  import {Component, TypeDefs, VNode} from 'intact';
2
2
  import {bind} from '../utils';
3
3
  import template from './item.vdt';
4
- import {isExternalLink} from '../utils';
5
- import {useRouter} from '../../hooks/useRouter';
4
+ import {useRouter, navigate} from '../../hooks/useRouter';
6
5
 
7
6
  export interface BreadcrumbItemProps {
8
- to?: string,
7
+ to?: string | object,
9
8
  }
10
9
 
11
10
  const typeDefs: Required<TypeDefs<BreadcrumbItemProps>> = {
12
- to: String,
11
+ to: [String, Object],
13
12
  };
14
13
 
15
14
  export class BreadcrumbItem extends Component<BreadcrumbItemProps> {
@@ -20,15 +19,6 @@ export class BreadcrumbItem extends Component<BreadcrumbItemProps> {
20
19
 
21
20
  @bind
22
21
  private onClick(): void {
23
- const to = this.get('to');
24
-
25
- if (to) {
26
- const router = this.router.value;
27
- if (router && !isExternalLink(to)) {
28
- router.push(to!);
29
- } else {
30
- window.location.href = to!;
31
- }
32
- }
22
+ navigate(this.router.value, this.get('to'));
33
23
  }
34
24
  }
@@ -12,7 +12,7 @@ const defaults = {
12
12
  activeColor: `#262626`,
13
13
  };
14
14
 
15
- let breadcrumb: any;
15
+ let breadcrumb: typeof defaults;
16
16
  setDefault(() => {
17
17
  breadcrumb = deepDefaults(theme, {breadcrumb: defaults}).breadcrumb;
18
18
  });
@@ -20,8 +20,9 @@ setDefault(() => {
20
20
  export default function makeStyles() {
21
21
  return css`
22
22
  font-size: ${breadcrumb.fontSize};
23
+ display: flex;
24
+ align-items: center;
23
25
  .k-breadcrumb-item {
24
- display: inline-block;
25
26
  &:last-of-type .k-breadcrumb-link {
26
27
  font-weight: ${breadcrumb.activeFontWeight};
27
28
  color: ${breadcrumb.activeColor};
@@ -31,9 +32,12 @@ export default function makeStyles() {
31
32
  .k-breadcrumb-link a {
32
33
  color: ${breadcrumb.color};
33
34
  }
34
- a.k-breadcrumb-link:hover,
35
- .k-breadcrumb-link a:hover {
36
- color: ${breadcrumb.hoverColor};
35
+ a.k-breadcrumb-link,
36
+ .k-breadcrumb-link a {
37
+ cursor: pointer;
38
+ &:hover {
39
+ color: ${breadcrumb.hoverColor};
40
+ }
37
41
  }
38
42
  .k-breadcrumb-separator {
39
43
  margin: 0 ${breadcrumb.gap};
@@ -36,14 +36,14 @@ import {Button, ButtonGroup} from 'kpc';
36
36
  <Button type="primary">重启</Button>
37
37
  </ButtonGroup>
38
38
  <br /><br />
39
- <p>radio按钮组</p>
39
+ <p>单选按钮组</p>
40
40
  <ButtonGroup checkType="radio" v-model="city">
41
41
  <Button value="beijing">北京</Button>
42
42
  <Button value="shanghai" ref="__radioShanghai">上海</Button>
43
43
  <Button value="guangzhou">广州</Button>
44
44
  <Button value="shenzhen">深圳</Button>
45
45
  </ButtonGroup>
46
- <p>checkbox按钮组</p>
46
+ <p>多选按钮组</p>
47
47
  <ButtonGroup checkType="checkbox" v-model="cities">
48
48
  <Button value="beijing" size="small">北京</Button>
49
49
  <Button value="shanghai" size="small" ref="__checkboxShanghai">上海</Button>
@@ -13,6 +13,7 @@ import {Button, Icon} from 'kpc';
13
13
  <div>
14
14
  <Button icon><Icon class="ion-ios-search" /></Button>
15
15
  <Button icon circle><Icon class="ion-ios-search" /></Button>
16
+ <Button icon circle type="none"><Icon class="ion-ios-search" /></Button>
16
17
  <Button type="danger" size="large" icon circle><Icon class="ion-ios-search" size="large" /></Button>
17
18
  <Button type="primary"><Icon class="ion-ios-search" size="small" />搜索</Button>
18
19
  <Button circle type='primary'><Icon class="ion-ios-search" size="small" />搜索</Button>
@@ -5,7 +5,7 @@ order: 2
5
5
 
6
6
  添加`loading`属性,可以将按钮设为加载状态,此时按钮不可点。
7
7
 
8
- > 请给图标元素添加`k-icon`类名,或者使用`Icon`组件,用于定位图标元素,
8
+ > 请给图标元素添加`icon`类名,或者使用`Icon`组件,用于定位图标元素,
9
9
  > 以便按钮变为`loading`状态时能够将它替换为loading图标
10
10
 
11
11
  ```vdt
@@ -4,7 +4,6 @@ order: 5
4
4
  ---
5
5
 
6
6
  `Button`默认渲染成`button`元素,通过`tagName`,我们可以渲染成任意元素或组件。
7
- 此时,我们可以通过`tagProps`属性,给指定的`tagName`传递与`Button`属性名相冲突的属性。
8
7
 
9
8
  > 当给`Button`指定`href`属性时,则它会强制渲染成`a`标签
10
9
 
@@ -11,27 +11,27 @@ sidebar: doc
11
11
 
12
12
  | 属性 | 说明 | 类型 | 默认值 |
13
13
  | --- | --- | --- | --- |
14
- | type | 按钮类型 | `"default"` &#124; `"primary"` &#124; `"warning"` &#124; `"danger"` &#124; `"success"` &#124; `"none"` | `"default"` |
14
+ | type | 按钮类型 | `"default"` &#124; `"primary"` &#124; `"warning"` &#124; `"danger"` &#124; `"success"` &#124; `"none"` &#124; `"secondary" `&#124; `"link"`| `"default"` |
15
15
  | size | 按钮尺寸 | `"default"` &#124; `"small"` &#124; `"mini"` | `"default"` |
16
- | icon | 是否为图标按钮(宽高相等)| `Boolean` | `false` |
17
- | circle | 是否为圆角按钮 | `Boolean` | `false` |
18
- | loading | 是否为正在加载中的按钮 | `Boolean` | `false` |
19
- | disabled | 是否禁用状态 | `Boolean` | `false` |
20
- | fluid | 是否宽度100% | `Boolean` | `false` |
21
- | htmlType | 按钮`<button>`元素的`type` | `String` | `"button"` |
22
- | tagName | 按钮渲染后的实际html元素,例如我们可以传入`"a"`来渲染成超链接 | `String` | `button` |
23
- | tagProps | 当指定`tagName`时,该属性将传给`tagName`指定的元素 | `Object` | `undefind` |
24
- | value | 对于`radio`类型的按钮组,我们可以给每个按钮指定一个选中时的值 | `*` | `undefined` |
25
- | name | 对于`radio`类型的按钮组,我们给`radio`指定`name`属性 | `String` | `undefined` |
26
- | ghost | 展示透明背景的按钮 | `Boolean` | `false` |
16
+ | icon | 是否为图标按钮(宽高相等)| `boolean` | `false` |
17
+ | circle | 是否为圆角按钮 | `boolean` | `false` |
18
+ | loading | 是否为正在加载中的按钮 | `boolean` | `false` |
19
+ | disabled | 是否禁用状态 | `boolean` | `false` |
20
+ | fluid | 是否宽度100% | `boolean` | `false` |
21
+ | htmlType | 按钮`<button>`元素的`type` | `string` | `"button"` |
22
+ | tagName | 按钮渲染后的实际html元素,例如我们可以传入`"a"`来渲染成超链接 | `string` | `button` |
23
+ | value | 对于`radio/checkbox`类型的按钮组,我们可以给每个按钮指定一个选中时的值 | `*` | `undefined` |
24
+ | name | 对于`radio/checkbox`类型的按钮组,我们给`input`指定`name`属性 | `string` | `undefined` |
25
+ | ghost | 展示透明背景的按钮 | `boolean` | `false` |
27
26
 
28
27
  ## ButtonGroup
29
28
 
30
29
  | 属性 | 说明 | 类型 | 默认值 |
31
30
  | --- | --- | --- | --- |
32
- | vertical | 是否垂直排列按钮组 | `Boolean` | `false` |
31
+ | vertical | 是否垂直排列按钮组 | `boolean` | `false` |
33
32
  | checkType | 指定按钮组为单选或复选类型,此时需要给每个按钮指定`value`来作为选中的值 | `"radio"` &#124; `"checkbox"` &#124; `"none"` | `"none"` |
34
33
  | value | 对于`radio`和`checkbox`类型按钮组,该值表示选中的按钮的值,可以使用`v-model`进行双向绑定 | `*` | `undefined` |
34
+ | fluid | 是否宽度100% | `boolean` | `false` |
35
35
 
36
36
  # 方法
37
37
 
@@ -2,6 +2,8 @@ import {getRestProps} from '../utils';
2
2
  import {Icon} from '../icon';
3
3
  import {makeButtonStyles} from './styles';
4
4
  import {DynamicButton} from './dynamicButton';
5
+ import {Wave} from '../wave';
6
+ import {button as theme} from './styles';
5
7
 
6
8
  let {
7
9
  type, className, size, icon, circle, ref, key, tabindex,
@@ -61,28 +63,35 @@ const loadingIcon = (
61
63
  const buttonGroup = this.buttonGroup;
62
64
  const checkType = buttonGroup ? buttonGroup.get('checkType') : 'none';
63
65
  const isCheckType = checkType !== 'none';
66
+ const typeStyles = theme[type];
67
+ const waveColor = typeStyles && typeStyles.borderColor || theme.primary.borderColor;
64
68
 
65
- <DynamicButton
66
- class={classNameObj}
67
- tagName={tagName}
68
- {...getRestProps(this)}
69
- ref={this.elementRef}
70
- tabindex={disabled || loading ? '-1' : tabindex}
71
- ev-click={this.onClick}
72
- ev-mouseup={this.onMouseUp}
73
- htmlType={htmlType}
74
- name={isCheckType ? null : name}
69
+ <Wave disabled={loading || disabled || type === 'none' || type === 'link'}
70
+ inset="-2px"
71
+ color={waveColor}
75
72
  >
76
- {loading ?
77
- iconSide === 'right' ?
78
- [children, loadingIcon] :
79
- [loadingIcon, children] :
80
- children
81
- }
82
- <input type={checkType} v-if={isCheckType}
83
- class="k-button-input"
84
- name={name}
85
- checked={checked}
86
- tabindex="-1"
87
- />
88
- </DynamicButton>
73
+ <DynamicButton
74
+ class={classNameObj}
75
+ tagName={tagName}
76
+ {...getRestProps(this)}
77
+ ref={this.elementRef}
78
+ tabindex={disabled || loading ? '-1' : tabindex}
79
+ ev-click={this.onClick}
80
+ ev-mouseup={this.onMouseUp}
81
+ htmlType={htmlType}
82
+ name={isCheckType ? null : name}
83
+ >
84
+ {loading ?
85
+ iconSide === 'right' ?
86
+ [children, loadingIcon] :
87
+ [loadingIcon, children] :
88
+ children
89
+ }
90
+ <input type={checkType} v-if={isCheckType}
91
+ class="k-button-input"
92
+ name={name}
93
+ checked={checked}
94
+ tabindex="-1"
95
+ />
96
+ </DynamicButton>
97
+ </Wave>
@@ -1,6 +1,6 @@
1
1
  import {css, cx} from '@emotion/css';
2
2
  import { ButtonProps, Button } from './index';
3
- import {theme, ThemeValue, setDefault} from '../../styles/theme';
3
+ import {theme, setDefault} from '../../styles/theme';
4
4
  import {deepDefaults, palette, getLeft, darken} from '../../styles/utils';
5
5
  import '../../styles/global';
6
6
 
@@ -11,17 +11,17 @@ type Types = ValueOf<typeof types>
11
11
  type Sizes = ValueOf<typeof sizes>
12
12
 
13
13
  type TypeStyles = {
14
- color: ThemeValue<string>
15
- bgColor: ThemeValue<string>
16
- borderColor: ThemeValue<string>
17
- hoverBorderColor: ThemeValue<string>
18
- ghostColor: ThemeValue<string>
14
+ color: string
15
+ bgColor: string
16
+ borderColor: string
17
+ hoverBorderColor: string
18
+ ghostColor: string
19
19
  }
20
20
 
21
21
  type SizeStyles = {
22
- fontSize: ThemeValue<string>
23
- height: ThemeValue<string>
24
- padding: ThemeValue<string>
22
+ fontSize: string
23
+ height: string
24
+ padding: string
25
25
  }
26
26
 
27
27
  export const types = ['primary', 'warning', 'danger', 'active', 'success'] as const;
@@ -103,6 +103,7 @@ const btnSizeStyles = sizes.reduce((memo, size) => {
103
103
 
104
104
  const defaults = deepDefaults(
105
105
  {
106
+ get transition() { return theme.transition.middle },
106
107
  active: btnActiveStyles,
107
108
  secondary: {
108
109
  get color() { return theme.color.primary },
@@ -113,6 +114,11 @@ const defaults = deepDefaults(
113
114
  link: {
114
115
  get color() { return theme.color.link },
115
116
  get hoverColor() { return theme.color.linkHover },
117
+ get hoverBgColor() { return theme.color.hoverBg },
118
+ },
119
+
120
+ none: {
121
+ get hoverBgColor() { return theme.color.bg },
116
122
  },
117
123
 
118
124
  // ButtonGroup
@@ -136,7 +142,7 @@ const defaults = deepDefaults(
136
142
  btnSizeStyles,
137
143
  );
138
144
 
139
- let button: any;
145
+ let button: typeof defaults;
140
146
  setDefault(() => {
141
147
  button = deepDefaults(theme, {button: defaults}).button;
142
148
  });
@@ -163,7 +169,7 @@ export function makeButtonStyles({iconSide}: {iconSide?: string}) {
163
169
  border: 1px solid ${button.borderColor};
164
170
  font-size: ${button.fontSize};
165
171
  white-space: nowrap;
166
- transition: all ${theme.transition};
172
+ transition: all ${button.transition};
167
173
  line-height: ${button.lineHeight};
168
174
  &:hover,
169
175
  &:focus {
@@ -221,6 +227,7 @@ export function makeButtonStyles({iconSide}: {iconSide?: string}) {
221
227
  color: ${link.color};
222
228
  &:hover {
223
229
  color: ${link.hoverColor};
230
+ background: ${link.hoverBgColor};
224
231
  }
225
232
  }
226
233
 
@@ -236,14 +243,17 @@ export function makeButtonStyles({iconSide}: {iconSide?: string}) {
236
243
 
237
244
  &.k-none,
238
245
  &.k-link {
246
+ background: transparent;
239
247
  &, &:hover {
240
248
  border: none;
241
- background: transparent;
242
249
  }
243
250
  &.k-active {
244
251
  color: ${theme.color.primary};
245
252
  }
246
253
  }
254
+ &.k-none:hover {
255
+ background: ${button.none.hoverBgColor};
256
+ }
247
257
 
248
258
  ${sizes.map(size => {
249
259
  const styles = button[size];