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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (544) hide show
  1. package/README.md +20 -118
  2. package/components/affix/demos/basic.md +2 -1
  3. package/components/affix/demos/custom.md +5 -5
  4. package/components/affix/index.md +2 -2
  5. package/components/affix/styles.ts +1 -1
  6. package/components/badge/demos/text.md +1 -1
  7. package/components/badge/index.md +3 -3
  8. package/components/badge/styles.ts +1 -1
  9. package/components/breadcrumb/demos/basic.md +1 -1
  10. package/components/breadcrumb/index.md +3 -10
  11. package/components/breadcrumb/item.ts +4 -14
  12. package/components/breadcrumb/styles.ts +9 -5
  13. package/components/button/demos/group.md +2 -2
  14. package/components/button/demos/icon.md +1 -0
  15. package/components/button/demos/loading.md +1 -1
  16. package/components/button/demos/tagName.md +0 -1
  17. package/components/button/index.md +13 -13
  18. package/components/button/index.vdt +32 -23
  19. package/components/button/styles.ts +22 -12
  20. package/components/card/demos/basic.md +4 -4
  21. package/components/card/demos/extra.md +13 -7
  22. package/components/card/demos/noHeader.md +4 -4
  23. package/components/card/index.md +3 -3
  24. package/components/card/styles.ts +2 -2
  25. package/components/carousel/index.md +4 -4
  26. package/components/carousel/styles.ts +2 -2
  27. package/components/carousel/useSlide.ts +3 -2
  28. package/components/cascader/demos/loadData.md +1 -1
  29. package/components/cascader/index.md +45 -16
  30. package/components/cascader/index.spec.ts +60 -1
  31. package/components/cascader/index.vdt +4 -4
  32. package/components/cascader/styles.ts +1 -1
  33. package/components/cascader/useLabel.ts +9 -9
  34. package/components/checkbox/demos/basic.md +1 -1
  35. package/components/checkbox/demos/indeterminate.md +4 -20
  36. package/components/checkbox/demos/value.md +1 -1
  37. package/components/checkbox/index.md +10 -10
  38. package/components/checkbox/index.vdt +16 -13
  39. package/components/checkbox/styles.ts +3 -7
  40. package/components/code/demos/basic.md +3 -3
  41. package/components/code/index.md +8 -10
  42. package/components/collapse/index.md +8 -8
  43. package/components/collapse/item.vdt +1 -1
  44. package/components/collapse/styles.ts +4 -3
  45. package/components/colorpicker/index.md +3 -3
  46. package/components/colorpicker/index.spec.ts +1 -1
  47. package/components/colorpicker/index.ts +3 -0
  48. package/components/colorpicker/index.vdt +5 -1
  49. package/components/colorpicker/styles.ts +1 -1
  50. package/components/context.ts +14 -7
  51. package/components/datepicker/demos/disabledDate.md +0 -2
  52. package/components/datepicker/demos/format.md +1 -1
  53. package/components/datepicker/demos/shortcuts.md +2 -2
  54. package/components/datepicker/helpers.ts +9 -2
  55. package/components/datepicker/index.md +50 -27
  56. package/components/datepicker/index.spec.ts +1 -1
  57. package/components/datepicker/index.vdt +7 -6
  58. package/components/datepicker/styles.ts +1 -1
  59. package/components/diagram/index.md +108 -59
  60. package/components/diagram/shapes/line.ts +2 -3
  61. package/components/dialog/base.ts +2 -1
  62. package/components/dialog/demos/block.md +10 -56
  63. package/components/dialog/demos/size.md +1 -1
  64. package/components/dialog/index.md +47 -56
  65. package/components/dialog/index.spec.ts +2 -18
  66. package/components/dialog/styles.ts +4 -3
  67. package/components/dialog/useFixBody.ts +16 -0
  68. package/components/drawer/index.md +23 -20
  69. package/components/drawer/index.spec.ts +5 -5
  70. package/components/drawer/styles.ts +2 -2
  71. package/components/dropdown/demos/basic.md +4 -16
  72. package/components/dropdown/demos/contextmenu.md +1 -7
  73. package/components/dropdown/demos/disabled.md +1 -1
  74. package/components/dropdown/demos/nested.md +2 -4
  75. package/components/dropdown/demos/position.md +5 -6
  76. package/components/dropdown/demos/trigger.md +2 -4
  77. package/components/dropdown/dropdown.ts +2 -0
  78. package/components/dropdown/index.md +26 -15
  79. package/components/dropdown/index.spec.ts +3 -3
  80. package/components/dropdown/index.ts +1 -2
  81. package/components/dropdown/styles.ts +2 -2
  82. package/components/editable/index.md +10 -15
  83. package/components/editable/index.vdt +1 -0
  84. package/components/editable/styles.ts +1 -1
  85. package/components/form/demos/basic.md +15 -15
  86. package/components/form/index.md +29 -13
  87. package/components/form/index.spec.ts +9 -9
  88. package/components/form/item.vdt +6 -1
  89. package/components/form/methods.ts +6 -1
  90. package/components/form/styles.ts +1 -1
  91. package/components/form/useError.ts +3 -0
  92. package/components/form/useValidate.ts +2 -2
  93. package/components/grid/col.vdt +1 -1
  94. package/components/grid/index.md +34 -13
  95. package/components/grid/styles.ts +4 -1
  96. package/components/icon/index.md +4 -2
  97. package/components/icon/index.vdt +2 -2
  98. package/components/icon/styles.ts +11 -8
  99. package/components/input/demos/blocks.md +2 -2
  100. package/components/input/demos/clearable.md +3 -3
  101. package/components/input/demos/inline.md +12 -0
  102. package/components/input/demos/size.md +0 -1
  103. package/components/input/index.md +18 -22
  104. package/components/input/index.ts +2 -0
  105. package/components/input/index.vdt +42 -33
  106. package/components/input/search.vdt +4 -1
  107. package/components/input/styles.ts +8 -12
  108. package/components/layout/demos/asideFix.md +2 -3
  109. package/components/layout/index.md +5 -5
  110. package/components/layout/styles.ts +5 -4
  111. package/components/menu/demos/collapse.md +3 -1
  112. package/components/menu/index.md +11 -11
  113. package/components/menu/index.spec.ts +12 -6
  114. package/components/menu/item.ts +10 -16
  115. package/components/menu/item.vdt +3 -3
  116. package/components/menu/menu.ts +4 -0
  117. package/components/menu/styles.ts +6 -5
  118. package/components/menu/useExpanded.ts +1 -1
  119. package/components/menu/useHighlight.ts +45 -40
  120. package/components/message/index.md +23 -25
  121. package/components/message/index.spec.ts +1 -1
  122. package/components/message/styles.ts +7 -3
  123. package/components/pagination/index.md +11 -19
  124. package/components/pagination/styles.ts +2 -2
  125. package/components/progress/demos/customColor.md +1 -1
  126. package/components/progress/index.md +11 -5
  127. package/components/progress/styles.ts +2 -2
  128. package/components/radio/index.md +4 -7
  129. package/components/radio/index.vdt +15 -12
  130. package/components/radio/styles.ts +6 -10
  131. package/components/rate/index.md +5 -5
  132. package/components/rate/styles.ts +3 -2
  133. package/components/scrollSelect/index.md +14 -5
  134. package/components/scrollSelect/styles.ts +7 -2
  135. package/components/select/base.ts +0 -1
  136. package/components/select/base.vdt +128 -112
  137. package/components/select/demos/creatable.md +1 -1
  138. package/components/select/demos/customMenu.md +1 -1
  139. package/components/select/demos/format.md +3 -7
  140. package/components/select/index.md +35 -30
  141. package/components/select/index.spec.ts +1 -1
  142. package/components/select/menu.vdt +1 -0
  143. package/components/select/styles.ts +15 -9
  144. package/components/slider/demos/marks.md +2 -2
  145. package/components/slider/index.md +31 -16
  146. package/components/slider/styles.ts +5 -4
  147. package/components/spin/index.md +2 -2
  148. package/components/spin/styles.ts +1 -1
  149. package/components/spinner/index.md +23 -14
  150. package/components/spinner/index.ts +2 -2
  151. package/components/spinner/styles.ts +1 -1
  152. package/components/split/index.md +7 -7
  153. package/components/split/style.ts +2 -2
  154. package/components/steps/index.md +3 -3
  155. package/components/steps/styles.ts +3 -2
  156. package/components/switch/index.md +10 -19
  157. package/components/switch/styles.ts +5 -4
  158. package/components/table/demos/animation.md +92 -0
  159. package/components/table/demos/basic.md +1 -1
  160. package/components/table/demos/checkedKeys.md +2 -3
  161. package/components/table/demos/disableRow.md +2 -2
  162. package/components/table/demos/empty.md +1 -1
  163. package/components/table/demos/export.md +8 -7
  164. package/components/table/demos/fixColumn.md +2 -2
  165. package/components/table/demos/fixHeader.md +3 -3
  166. package/components/table/demos/group.md +3 -3
  167. package/components/table/demos/mergeCell.md +1 -1
  168. package/components/table/demos/resizable.md +1 -1
  169. package/components/table/demos/rowClassName.md +1 -1
  170. package/components/table/demos/rowExpandable.md +2 -6
  171. package/components/table/demos/sort.md +2 -1
  172. package/components/table/demos/stickHeader.md +3 -3
  173. package/components/table/demos/stickScrollbar.md +3 -3
  174. package/components/table/demos/tooltip.md +1 -2
  175. package/components/table/index.md +92 -66
  176. package/components/table/index.spec.ts +4 -1
  177. package/components/table/index.ts +1 -0
  178. package/components/table/row.vdt +5 -1
  179. package/components/table/styles.ts +17 -5
  180. package/components/table/table.ts +2 -0
  181. package/components/table/table.vdt +91 -86
  182. package/components/table/useFixedColumns.ts +5 -3
  183. package/components/table/useWidth.ts +8 -1
  184. package/components/tabs/index.md +15 -8
  185. package/components/tabs/index.spec.ts +1 -1
  186. package/components/tabs/styles.ts +11 -7
  187. package/components/tabs/tab.vdt +1 -1
  188. package/components/tabs/useActiveBar.ts +3 -2
  189. package/components/tag/base.ts +3 -0
  190. package/components/tag/demos/border.md +2 -1
  191. package/components/tag/index.md +4 -3
  192. package/components/tag/styles.ts +9 -4
  193. package/components/timeline/styles.ts +3 -3
  194. package/components/timepicker/constants.ts +3 -2
  195. package/components/timepicker/demos/basic.md +2 -2
  196. package/components/timepicker/demos/step.md +1 -1
  197. package/components/timepicker/index.md +47 -16
  198. package/components/timepicker/index.spec.ts +11 -10
  199. package/components/timepicker/styles.ts +1 -1
  200. package/components/timepicker/useStep.ts +3 -3
  201. package/components/timepicker/useValue.ts +2 -2
  202. package/components/tip/demos/closable.md +1 -1
  203. package/components/tip/index.md +8 -4
  204. package/components/tip/styles.ts +1 -1
  205. package/components/tooltip/demos/basic.md +2 -13
  206. package/components/tooltip/demos/trigger.md +1 -2
  207. package/components/tooltip/index.md +26 -13
  208. package/components/tooltip/index.spec.ts +24 -15
  209. package/components/tooltip/styles.ts +1 -1
  210. package/components/transfer/index.md +36 -23
  211. package/components/transfer/index.spec.ts +7 -6
  212. package/components/transfer/styles.ts +3 -9
  213. package/components/tree/index.md +76 -49
  214. package/components/tree/index.spec.ts +13 -12
  215. package/components/tree/index.ts +1 -0
  216. package/components/tree/index.vdt +1 -0
  217. package/components/tree/styles.ts +7 -4
  218. package/components/treeSelect/index.md +50 -20
  219. package/components/treeSelect/index.spec.ts +5 -5
  220. package/components/treeSelect/styles.ts +3 -2
  221. package/components/upload/index.md +55 -19
  222. package/components/upload/index.spec.ts +1 -1
  223. package/components/upload/index.ts +1 -1
  224. package/components/upload/index.vdt +3 -4
  225. package/components/upload/styles.ts +5 -4
  226. package/components/utils.ts +1 -1
  227. package/components/wave/index.ts +94 -0
  228. package/components/wave/styles.ts +50 -0
  229. package/es/components/breadcrumb/item.d.ts +1 -1
  230. package/es/components/breadcrumb/item.js +3 -14
  231. package/es/components/breadcrumb/styles.js +1 -1
  232. package/es/components/button/index.vdt.js +26 -17
  233. package/es/components/button/styles.d.ts +82 -1
  234. package/es/components/button/styles.js +16 -2
  235. package/es/components/card/styles.js +1 -1
  236. package/es/components/carousel/styles.js +4 -1
  237. package/es/components/carousel/useSlide.js +10 -9
  238. package/es/components/cascader/index.spec.js +89 -1
  239. package/es/components/cascader/index.vdt.js +4 -4
  240. package/es/components/cascader/useLabel.js +8 -12
  241. package/es/components/checkbox/index.vdt.js +15 -10
  242. package/es/components/checkbox/styles.js +2 -2
  243. package/es/components/collapse/item.vdt.js +2 -1
  244. package/es/components/collapse/styles.js +5 -1
  245. package/es/components/colorpicker/index.d.ts +2 -0
  246. package/es/components/colorpicker/index.js +2 -1
  247. package/es/components/colorpicker/index.spec.js +1 -1
  248. package/es/components/colorpicker/index.vdt.js +3 -1
  249. package/es/components/context.d.ts +5 -2
  250. package/es/components/context.js +7 -4
  251. package/es/components/datepicker/helpers.d.ts +2 -1
  252. package/es/components/datepicker/helpers.js +8 -2
  253. package/es/components/datepicker/index.spec.js +1 -1
  254. package/es/components/datepicker/index.vdt.js +10 -5
  255. package/es/components/datepicker/styles.d.ts +46 -1
  256. package/es/components/diagram/shapes/generateShapes.js +3 -3
  257. package/es/components/diagram/shapes/line.d.ts +2 -2
  258. package/es/components/diagram/shapes/line.js +0 -1
  259. package/es/components/dialog/base.d.ts +2 -0
  260. package/es/components/dialog/base.js +2 -1
  261. package/es/components/dialog/index.spec.js +59 -94
  262. package/es/components/dialog/styles.js +5 -1
  263. package/es/components/dialog/useFixBody.d.ts +6 -0
  264. package/es/components/dialog/useFixBody.js +12 -0
  265. package/es/components/drawer/index.spec.js +5 -5
  266. package/es/components/drawer/styles.js +1 -1
  267. package/es/components/dropdown/dropdown.js +1 -0
  268. package/es/components/dropdown/index.js +1 -2
  269. package/es/components/dropdown/index.spec.js +3 -3
  270. package/es/components/dropdown/styles.js +1 -1
  271. package/es/components/editable/index.vdt.js +2 -1
  272. package/es/components/editable/styles.d.ts +8 -1
  273. package/es/components/form/index.spec.js +10 -12
  274. package/es/components/form/item.vdt.js +13 -9
  275. package/es/components/form/useError.d.ts +4 -0
  276. package/es/components/form/useError.js +3 -1
  277. package/es/components/form/useValidate.js +2 -2
  278. package/es/components/grid/col.vdt.js +4 -2
  279. package/es/components/grid/styles.js +1 -1
  280. package/es/components/grid/useGutter.d.ts +1 -1
  281. package/es/components/icon/index.vdt.js +3 -2
  282. package/es/components/icon/styles.js +8 -4
  283. package/es/components/input/index.d.ts +1 -0
  284. package/es/components/input/index.js +2 -1
  285. package/es/components/input/index.vdt.js +47 -32
  286. package/es/components/input/search.vdt.js +4 -2
  287. package/es/components/input/styles.js +8 -3
  288. package/es/components/layout/styles.d.ts +1 -1
  289. package/es/components/layout/styles.js +7 -3
  290. package/es/components/menu/index.spec.js +15 -8
  291. package/es/components/menu/item.d.ts +1 -2
  292. package/es/components/menu/item.js +10 -17
  293. package/es/components/menu/item.vdt.js +4 -4
  294. package/es/components/menu/menu.d.ts +3 -0
  295. package/es/components/menu/menu.js +4 -0
  296. package/es/components/menu/styles.d.ts +62 -1
  297. package/es/components/menu/styles.js +6 -2
  298. package/es/components/menu/useExpanded.d.ts +1 -4
  299. package/es/components/menu/useHighlight.d.ts +5 -8
  300. package/es/components/menu/useHighlight.js +44 -33
  301. package/es/components/message/index.spec.js +1 -1
  302. package/es/components/message/styles.js +6 -2
  303. package/es/components/pagination/styles.js +1 -1
  304. package/es/components/radio/index.vdt.js +14 -9
  305. package/es/components/radio/styles.js +9 -1
  306. package/es/components/rate/styles.js +5 -1
  307. package/es/components/scrollSelect/styles.d.ts +14 -1
  308. package/es/components/scrollSelect/styles.js +9 -1
  309. package/es/components/select/base.vdt.js +135 -121
  310. package/es/components/select/index.spec.js +1 -1
  311. package/es/components/select/menu.vdt.js +1 -0
  312. package/es/components/select/styles.js +9 -4
  313. package/es/components/select/useSearchable.d.ts +1 -1
  314. package/es/components/slider/styles.js +5 -1
  315. package/es/components/spinner/index.d.ts +1 -1
  316. package/es/components/spinner/index.js +1 -1
  317. package/es/components/split/style.js +1 -1
  318. package/es/components/steps/context.d.ts +1 -1
  319. package/es/components/steps/styles.js +5 -1
  320. package/es/components/switch/styles.js +5 -1
  321. package/es/components/table/index.d.ts +1 -0
  322. package/es/components/table/index.spec.js +2 -1
  323. package/es/components/table/row.vdt.js +12 -4
  324. package/es/components/table/styles.js +6 -1
  325. package/es/components/table/table.d.ts +1 -0
  326. package/es/components/table/table.js +2 -1
  327. package/es/components/table/table.vdt.js +30 -27
  328. package/es/components/table/useColumns.d.ts +1 -1
  329. package/es/components/table/useFixedColumns.d.ts +1 -1
  330. package/es/components/table/useFixedColumns.js +5 -2
  331. package/es/components/table/useGroup.d.ts +1 -1
  332. package/es/components/table/useResizable.d.ts +1 -1
  333. package/es/components/table/useSortable.d.ts +1 -1
  334. package/es/components/table/useWidth.js +7 -1
  335. package/es/components/tabs/index.spec.js +1 -1
  336. package/es/components/tabs/styles.js +9 -2
  337. package/es/components/tabs/tab.vdt.js +2 -1
  338. package/es/components/tabs/useActiveBar.js +6 -3
  339. package/es/components/tag/base.js +1 -0
  340. package/es/components/tag/styles.js +8 -2
  341. package/es/components/timepicker/constants.d.ts +2 -1
  342. package/es/components/timepicker/constants.js +3 -2
  343. package/es/components/timepicker/index.spec.js +36 -35
  344. package/es/components/timepicker/useStep.js +3 -3
  345. package/es/components/timepicker/useValue.js +2 -2
  346. package/es/components/tooltip/index.spec.js +32 -25
  347. package/es/components/transfer/index.spec.js +20 -19
  348. package/es/components/transfer/styles.js +2 -6
  349. package/es/components/tree/index.d.ts +1 -1
  350. package/es/components/tree/index.js +1 -1
  351. package/es/components/tree/index.spec.js +20 -19
  352. package/es/components/tree/index.vdt.js +1 -0
  353. package/es/components/tree/styles.js +5 -1
  354. package/es/components/treeSelect/index.spec.js +5 -5
  355. package/es/components/treeSelect/styles.js +5 -1
  356. package/es/components/upload/index.d.ts +1 -1
  357. package/es/components/upload/index.spec.js +1 -1
  358. package/es/components/upload/index.vdt.js +10 -11
  359. package/es/components/upload/styles.js +5 -1
  360. package/es/components/utils.d.ts +1 -1
  361. package/es/components/wave/index.d.ts +19 -0
  362. package/es/components/wave/index.js +120 -0
  363. package/es/components/wave/styles.d.ts +2 -0
  364. package/es/components/wave/styles.js +17 -0
  365. package/es/hooks/useRouter.d.ts +1 -0
  366. package/es/hooks/useRouter.js +10 -0
  367. package/es/i18n/en-US.d.ts +1 -0
  368. package/es/i18n/en-US.js +1 -0
  369. package/es/index.d.ts +3 -2
  370. package/es/index.js +3 -2
  371. package/es/packages/kpc-react/__tests__/index.js +10 -7
  372. package/es/site/data/components/affix/demos/custom/index.d.ts +2 -2
  373. package/es/site/data/components/affix/demos/custom/index.js +4 -4
  374. package/es/site/data/components/affix/demos/custom/react.d.ts +2 -2
  375. package/es/site/data/components/affix/demos/custom/react.js +6 -6
  376. package/es/site/data/components/button/demos/group/react.js +2 -2
  377. package/es/site/data/components/button/demos/icon/react.js +6 -0
  378. package/es/site/data/components/card/demos/basic/react.js +2 -2
  379. package/es/site/data/components/card/demos/extra/react.js +19 -5
  380. package/es/site/data/components/card/demos/noHeader/react.js +2 -2
  381. package/es/site/data/components/checkbox/demos/indeterminate/index.d.ts +1 -1
  382. package/es/site/data/components/checkbox/demos/indeterminate/index.js +2 -2
  383. package/es/site/data/components/checkbox/demos/indeterminate/react.d.ts +1 -1
  384. package/es/site/data/components/checkbox/demos/indeterminate/react.js +5 -6
  385. package/es/site/data/components/dialog/demos/block/react.d.ts +9 -0
  386. package/es/site/data/components/dialog/demos/block/react.js +88 -0
  387. package/es/site/data/components/dropdown/demos/basic/react.js +1 -3
  388. package/es/site/data/components/dropdown/demos/nested/react.js +1 -3
  389. package/es/site/data/components/dropdown/demos/position/react.js +2 -7
  390. package/es/site/data/components/dropdown/demos/trigger/react.js +1 -3
  391. package/es/site/data/components/input/demos/blocks/react.js +4 -2
  392. package/es/site/data/components/input/demos/clearable/react.js +7 -5
  393. package/es/site/data/components/{dialog/demos/extends → input/demos/inline}/index.d.ts +0 -3
  394. package/es/site/data/components/input/demos/inline/index.js +17 -0
  395. package/es/site/data/components/input/demos/inline/react.d.ts +4 -0
  396. package/es/site/data/components/input/demos/inline/react.js +24 -0
  397. package/es/site/data/components/input/demos/size/react.js +0 -3
  398. package/es/site/data/components/layout/demos/asideFix/react.js +2 -1
  399. package/es/site/data/components/menu/demos/collapse/index.js +1 -0
  400. package/es/site/data/components/menu/demos/collapse/react.js +7 -0
  401. package/es/site/data/components/select/demos/creatable/react.js +1 -1
  402. package/es/site/data/components/select/demos/customMenu/react.js +1 -0
  403. package/es/site/data/components/select/demos/format/react.js +11 -18
  404. package/es/site/data/components/table/demos/animation/index.d.ts +23 -0
  405. package/es/site/data/components/table/demos/animation/index.js +78 -0
  406. package/es/site/data/components/table/demos/animation/react.d.ts +23 -0
  407. package/es/site/data/components/table/demos/animation/react.js +113 -0
  408. package/es/site/data/components/table/demos/export/react.js +1 -2
  409. package/es/site/data/components/table/demos/sort/react.js +4 -1
  410. package/es/site/data/components/tag/demos/border/react.js +3 -1
  411. package/es/site/data/components/tip/demos/closable/react.js +1 -0
  412. package/es/site/data/components/tooltip/demos/trigger/react.js +1 -2
  413. package/es/site/data/docs/design/{button → about}/index.d.ts +13 -11
  414. package/es/site/data/docs/design/{8point → about}/index.js +0 -0
  415. package/es/site/data/docs/design/{dialog → guide-1}/index.d.ts +15 -11
  416. package/es/site/data/docs/design/{button → guide-1}/index.js +0 -0
  417. package/es/site/data/docs/design/guide-2/index.d.ts +64 -0
  418. package/es/site/data/docs/design/{color → guide-2}/index.js +0 -0
  419. package/es/site/data/docs/design/guide-3/index.d.ts +64 -0
  420. package/es/site/data/docs/design/{dialog → guide-3}/index.js +0 -0
  421. package/es/site/data/docs/design/guide-4/index.d.ts +64 -0
  422. package/es/site/data/docs/design/{font → guide-4}/index.js +0 -0
  423. package/es/site/data/docs/design/guide-5/index.d.ts +64 -0
  424. package/es/site/data/docs/design/{format → guide-5}/index.js +0 -0
  425. package/es/site/data/docs/design/guide-6/index.d.ts +64 -0
  426. package/es/site/data/docs/design/{gutter → guide-6}/index.js +0 -0
  427. package/es/site/data/docs/design/guide-7/index.d.ts +64 -0
  428. package/es/site/data/docs/design/{hierarchy → guide-7}/index.js +0 -0
  429. package/es/site/data/docs/design/guide-8/index.d.ts +64 -0
  430. package/es/site/data/docs/design/{language → guide-8}/index.js +0 -0
  431. package/es/site/data/docs/design/guide-9/index.d.ts +64 -0
  432. package/es/site/data/docs/design/{navigator → guide-9}/index.js +0 -0
  433. package/es/site/data/docs/design/model/index.d.ts +64 -0
  434. package/es/site/data/docs/design/{tip → model}/index.js +0 -0
  435. package/es/site/data/docs/design/model-1/index.d.ts +64 -0
  436. package/es/site/data/docs/design/{text → model-1}/index.js +0 -0
  437. package/es/site/data/docs/design/pattern-1/index.d.ts +64 -0
  438. package/es/site/data/docs/design/pattern-1/index.js +42 -0
  439. package/es/site/data/docs/design/pattern-2/index.d.ts +64 -0
  440. package/es/site/data/docs/design/pattern-2/index.js +42 -0
  441. package/es/site/data/docs/design/pattern-3/index.d.ts +64 -0
  442. package/es/site/data/docs/design/pattern-3/index.js +42 -0
  443. package/es/site/data/docs/design/pattern-4/index.d.ts +64 -0
  444. package/es/site/data/docs/design/pattern-4/index.js +42 -0
  445. package/es/site/data/docs/design/pattern-5/index.d.ts +64 -0
  446. package/es/site/data/docs/design/pattern-5/index.js +42 -0
  447. package/es/site/data/docs/design/pattern-6/index.d.ts +64 -0
  448. package/es/site/data/docs/design/pattern-6/index.js +42 -0
  449. package/es/site/data/docs/design/{navigator → principle}/index.d.ts +13 -11
  450. package/es/site/data/docs/design/principle/index.js +42 -0
  451. package/es/site/data/docs/design/{tip → value}/index.d.ts +13 -11
  452. package/es/site/data/docs/design/value/index.js +42 -0
  453. package/es/site/data/docs/theme/index.d.ts +0 -2
  454. package/es/site/src/client.js +4 -1
  455. package/es/site/src/components/ImgBox/index.d.ts +21 -0
  456. package/es/site/src/components/ImgBox/index.js +69 -0
  457. package/es/site/src/{pages/designdoc → components/ImgBox}/styles.d.ts +0 -0
  458. package/es/site/src/components/ImgBox/styles.js +13 -0
  459. package/es/site/src/components/WorkflowCard/styles.js +3 -10
  460. package/es/site/src/components/article/index.d.ts +4 -1
  461. package/es/site/src/components/article/index.js +72 -6
  462. package/es/site/src/components/blockquote/index.d.ts +4 -0
  463. package/es/site/src/components/blockquote/index.js +13 -0
  464. package/es/site/src/components/blockquote/slot.d.ts +11 -0
  465. package/es/site/src/components/blockquote/slot.js +19 -0
  466. package/es/site/src/components/card/index.d.ts +1 -1
  467. package/es/site/src/components/card/index.js +4 -1
  468. package/es/site/src/components/card/styles.js +2 -10
  469. package/es/site/src/components/catalogue/index.js +2 -2
  470. package/es/site/src/components/catalogue/styles.js +1 -1
  471. package/es/site/src/components/footer/styles.js +2 -2
  472. package/es/site/src/components/link/index.d.ts +1 -0
  473. package/es/site/src/components/link/index.js +11 -3
  474. package/es/site/src/pages/design/index.d.ts +1 -0
  475. package/es/site/src/pages/design/index.js +19 -0
  476. package/es/site/src/pages/design/styles.d.ts +1 -0
  477. package/es/site/src/pages/design/styles.js +13 -0
  478. package/es/site/src/pages/document/index.d.ts +4 -2
  479. package/es/site/src/pages/document/index.js +89 -46
  480. package/es/site/src/pages/document/styles.js +1 -1
  481. package/es/site/src/pages/iframe/button/styles.js +4 -4
  482. package/es/site/src/pages/iframe/colorProcess/index.d.ts +1 -0
  483. package/es/site/src/pages/iframe/colorProcess/index.js +9 -5
  484. package/es/site/src/pages/iframe/colorProcess/styles.js +1 -1
  485. package/es/site/src/pages/index/BestPractice/index.d.ts +1 -0
  486. package/es/site/src/pages/index/BestPractice/index.js +14 -14
  487. package/es/site/src/pages/index/BestPractice/styles.d.ts +1 -1
  488. package/es/site/src/pages/index/BestPractice/styles.js +3 -3
  489. package/es/site/src/pages/index/ColorProcess/styles.d.ts +1 -1
  490. package/es/site/src/pages/index/ColorProcess/styles.js +14 -2
  491. package/es/site/src/pages/index/KingVersion/styles.js +1 -1
  492. package/es/site/src/pages/index/NewFunction/index.d.ts +1 -0
  493. package/es/site/src/pages/index/NewFunction/index.js +4 -2
  494. package/es/site/src/pages/index/NewFunction/styles.d.ts +1 -1
  495. package/es/site/src/pages/index/NewFunction/styles.js +4 -3
  496. package/es/site/src/pages/index/index.d.ts +2 -7
  497. package/es/site/src/pages/index/index.js +11 -8
  498. package/es/site/src/pages/index/styles.js +2 -4
  499. package/es/site/src/pages/layout.d.ts +2 -0
  500. package/es/site/src/pages/layout.js +33 -4
  501. package/es/site/src/pages/resource/index.d.ts +6 -0
  502. package/es/site/src/pages/resource/index.js +21 -1
  503. package/es/site/src/pages/resource/styles.js +5 -3
  504. package/es/site/src/pages/solution/index.d.ts +6 -0
  505. package/es/site/src/pages/solution/index.js +19 -1
  506. package/es/site/src/pages/solution/styles.js +3 -2
  507. package/es/site/src/pages/styles.d.ts +1 -0
  508. package/es/site/src/pages/styles.js +5 -2
  509. package/es/site/src/router/index.d.ts +1 -0
  510. package/es/site/src/router/index.js +327 -318
  511. package/es/site/src/styles/default.d.ts +1 -0
  512. package/es/site/src/styles/default.js +3 -2
  513. package/es/styles/global.js +4 -3
  514. package/es/styles/theme.d.ts +16 -7
  515. package/es/styles/theme.js +15 -7
  516. package/hooks/useRouter.ts +11 -0
  517. package/i18n/en-US.ts +1 -0
  518. package/index.ts +3 -2
  519. package/package.json +6 -6
  520. package/styles/global.ts +41 -8
  521. package/styles/theme.ts +12 -8
  522. package/typings/global.d.ts +2 -0
  523. package/components/dialog/demos/asyncOpen.md +0 -111
  524. package/components/dialog/demos/extends.md +0 -87
  525. package/es/site/data/components/dialog/demos/asyncOpen/dialog.d.ts +0 -28
  526. package/es/site/data/components/dialog/demos/asyncOpen/dialog.js +0 -45
  527. package/es/site/data/components/dialog/demos/asyncOpen/index.d.ts +0 -13
  528. package/es/site/data/components/dialog/demos/asyncOpen/index.js +0 -58
  529. package/es/site/data/components/dialog/demos/extends/dialog.d.ts +0 -28
  530. package/es/site/data/components/dialog/demos/extends/dialog.js +0 -39
  531. package/es/site/data/components/dialog/demos/extends/index.js +0 -49
  532. package/es/site/data/docs/design/8point/index.d.ts +0 -58
  533. package/es/site/data/docs/design/color/demos/demos0/index.d.ts +0 -3
  534. package/es/site/data/docs/design/color/demos/demos0/index.js +0 -3
  535. package/es/site/data/docs/design/color/index.d.ts +0 -56
  536. package/es/site/data/docs/design/font/index.d.ts +0 -58
  537. package/es/site/data/docs/design/format/index.d.ts +0 -58
  538. package/es/site/data/docs/design/gutter/index.d.ts +0 -58
  539. package/es/site/data/docs/design/hierarchy/index.d.ts +0 -58
  540. package/es/site/data/docs/design/language/index.d.ts +0 -56
  541. package/es/site/data/docs/design/text/index.d.ts +0 -58
  542. package/es/site/src/pages/designdoc/index.d.ts +0 -11
  543. package/es/site/src/pages/designdoc/index.js +0 -21
  544. package/es/site/src/pages/designdoc/styles.js +0 -6
@@ -1,5 +1,5 @@
1
1
  import {css, cx} from '@emotion/css';
2
- import {theme, ThemeValue, setDefault} from '../../styles/theme';
2
+ import {theme, setDefault} from '../../styles/theme';
3
3
  import {deepDefaults, palette} from '../../styles/utils';
4
4
  import {IconProps} from './index';
5
5
  import {Sizes, Colors} from '../types';
@@ -8,18 +8,18 @@ import '../../styles/fonts/iconfont';
8
8
  import '../../styles/fonts/ionicons';
9
9
  import '../../styles/global';
10
10
 
11
- const iconStyles = {
11
+ const defaults = {
12
+ get transition() { return theme.transition.small },
13
+
12
14
  fontSize: {
13
15
  default: '16px',
14
16
  large: '22px',
15
17
  small: '14px',
16
18
  mini: '12px',
17
- }
19
+ },
18
20
  };
19
21
 
20
- const defaults = iconStyles;
21
-
22
- let icon: any;
22
+ let icon: typeof defaults;
23
23
  setDefault(() => {
24
24
  icon = deepDefaults(theme, {icon: defaults}).icon;
25
25
  });
@@ -33,9 +33,10 @@ export default function makeStyles(color?: string) {
33
33
  line-height: 1;
34
34
  // display: inline-block;
35
35
  ${sizes.map(size => {
36
+ const fontSize = icon.fontSize[size];
36
37
  return css`
37
38
  &.k-${size} {
38
- font-size: ${icon.fontSize[size]};
39
+ font-size: ${fontSize};
39
40
  }
40
41
  `
41
42
  })}
@@ -54,13 +55,15 @@ export default function makeStyles(color?: string) {
54
55
  animation: ${rotate} 1s infinite linear;
55
56
  }
56
57
  &:before {
58
+ position: relative;
57
59
  font-size: inherit;
60
+ z-index: 1;
58
61
  }
59
62
 
60
63
  // hoverable
61
64
  &.k-hoverable {
62
65
  cursor: pointer;
63
- transition: color ${theme.transition};
66
+ transition: color ${icon.transition};
64
67
  &:hover {
65
68
  color: ${theme.color.primary};
66
69
  }
@@ -32,13 +32,13 @@ import {Input, Button, Icon} from 'kpc';
32
32
  </Input>
33
33
  <Input placeholder="please enter">
34
34
  <b:prefix><Icon class="k-icon-internet" /></b:prefix>
35
- <b:suffix><Icon class="k-icon-search" /></b:suffix>
35
+ <b:suffix><Icon class="ion-ios-search" hoverable /></b:suffix>
36
36
  </Input>
37
37
  <Input placeholder="please enter">
38
38
  <b:prepend>http://</b:prepend>
39
39
  <b:append>.com</b:append>
40
40
  <b:prefix><Icon class="k-icon-internet" /></b:prefix>
41
- <b:suffix><Icon class="k-icon-search" /></b:suffix>
41
+ <b:suffix><Icon class="ion-ios-search" hoverable /></b:suffix>
42
42
  </Input>
43
43
  </div>
44
44
  ```
@@ -6,7 +6,7 @@ order: 4
6
6
  指定`clearable`可以展示快速清除按钮,如果同时指定`stackClearIcon`则将清空按钮覆盖在`suffix`按钮上展示来节省空间
7
7
 
8
8
  ```vdt
9
- import {Input} from 'kpc';
9
+ import {Input, Icon} from 'kpc';
10
10
 
11
11
  <div>
12
12
  <Input clearable placeholder="please enter" />
@@ -14,11 +14,11 @@ import {Input} from 'kpc';
14
14
  <Input value="disabled" clearable disabled />
15
15
  <br />
16
16
  <Input clearable placeholder="please enter">
17
- <b:suffix><i class="ion-ios-search"></i></b:suffix>
17
+ <b:suffix><Icon class="ion-ios-search" hoverable /></b:suffix>
18
18
  </Input>
19
19
  <br />
20
20
  <Input clearable stackClearIcon placeholder="please enter">
21
- <b:suffix><i class="ion-ios-search"></i></b:suffix>
21
+ <b:suffix><Icon class="ion-ios-search" hoverable /></b:suffix>
22
22
  </Input>
23
23
  </div>
24
24
  ```
@@ -0,0 +1,12 @@
1
+ ---
2
+ title: 内联模式
3
+ order: 8
4
+ ---
5
+
6
+ 添加`inline`属性,即可展示内联输入框
7
+
8
+ ```vdt
9
+ import {Input} from 'kpc';
10
+
11
+ <Input placeholder="内联文字" inline />
12
+ ```
@@ -21,7 +21,6 @@ import {Button} from 'kpc';
21
21
  </Input>
22
22
  <Input size="small" placeholder="please enter">
23
23
  <b:prefix><i class="ion-earth"></i></b:prefix>
24
- <b:suffix><i class="ion-ios-search"></i></b:suffix>
25
24
  <b:append><Button size="small" icon type="primary"><i class="ion-ios-search"></i></Button></b:append>
26
25
  </Input>
27
26
  <Input size="small" placeholder="please enter" clearable>
@@ -11,36 +11,32 @@ sidebar: doc
11
11
 
12
12
  | 属性 | 说明 | 类型 | 默认值 |
13
13
  | --- | --- | --- | --- |
14
- | type | 在原生`input`标签的`type`取值的基础上扩展了`textarea`值,当取该值时渲染成`<textarea>` | `String` | `"text"` |
15
- | name | 原生`input`标签的`name`属性 | `String` | `undefined` |
16
- | value | 输入框的值,可用`v-model`进行双向绑定 | `String` | `undefined` |
17
- | defaultValue | `input`的`defaultValue`,首次渲染使用该值 | `String` | `undefined` |
18
- | placeholder | 占位文案 | `String` | `undefined` |
19
- | readonly | 是否只读 | `Boolean` | `false` |
20
- | clearable | 是否展示快速清除按钮 | `Boolean` | `false` |
21
- | disabled | 是否禁用 | `Boolean` | `false` |
14
+ | type | 在原生`input`标签的`type`取值的基础上扩展了`textarea`值,当取该值时渲染成`<textarea>` | `string` | `"text"` |
15
+ | name | 原生`input`标签的`name`属性 | `string` | `undefined` |
16
+ | value | 输入框的值,可用`v-model`进行双向绑定 | `string` | `undefined` |
17
+ | defaultValue | `input`的`defaultValue`,首次渲染使用该值 | `string` | `undefined` |
18
+ | placeholder | 占位文案 | `string` | `undefined` |
19
+ | readonly | 是否只读 | `boolean` | `false` |
20
+ | clearable | 是否展示快速清除按钮 | `boolean` | `false` |
21
+ | disabled | 是否禁用 | `boolean` | `false` |
22
22
  | size | 组件尺寸 | `"large"` &#124; `"default"` &#124; `"small"` &#124; `"mini"` | `"default"` |
23
- | rows | 当`type = "textarea"`时,默认展示文本行数 | `Number` &#124; `String` | `2` |
24
- | spellcheck | `textarea`是否进行拼写检查 | `Boolean` | `false` |
25
- | fluid | 是否宽度100% | `Boolean` | `false` |
26
- | autoWidth | 是否宽度随输入的文本的长度变化而变化 | `Boolean` | `false` |
27
- | width | 指定宽度,组件会加上单位`px` | `String` &#124; `Number` | `undefined` |
28
- | tabindex | 原生`tabindex`属性 | `String` | `undefined` |
29
- | autocomplete | 原生`autocomplete`属性 | `String` | `undefined` |
30
- | nativeProps | 原生`input`或`textarea`上的属性 | `Object` | `undefined` |
31
- | stackClearIcon | 是否将清空按钮覆盖在`suffix`按钮上展示来节省空间 | `Boolean` | `false` |
32
- | frozenOnInput | 是否在输入的过程中冻结`value`更新到视图 | `Boolean` | `false` |
33
-
23
+ | rows | 当`type = "textarea"`时,默认展示文本行数 | `number` &#124; `string` | `2` |
24
+ | autoWidth | 是否宽度随输入的文本的长度变化而变化 | `boolean` | `false` |
25
+ | fluid | 是否宽度100% | `boolean` | `false` |
26
+ | width | 指定宽度,组件会加上单位`px` | `string` &#124; `number` | `undefined` |
27
+ | stackClearIcon | 是否将清空按钮覆盖在`suffix`按钮上展示来节省空间 | `boolean` | `false` |
28
+ | frozenOnInput | 是否在输入的过程中冻结`value`更新到视图 | `boolean` | `false` |
29
+ | inline | 是否展示内联模式 | `boolean` | `flase` |
34
30
 
35
31
  ## Search
36
32
 
37
33
  | 属性 | 说明 | 类型 | 默认值 |
38
34
  | --- | --- | --- | --- |
39
- | value | 组件输入的值 | `String` | `""` |
40
- | placeholder | 展位文案 | `String` | `"请输入关键字"` |
35
+ | value | 组件输入的值 | `string` | `""` |
36
+ | placeholder | 展位文案 | `string` | `"请输入关键字"` |
41
37
  | type | 类型 | `"default"` &#124; `"line"` | `"default"` |
42
38
  | size | 尺寸 | `"large"` &#124; `"default"` &#124; `"small"` &#124; `"mini"` | `"default"` |
43
- | open | 是否展开状态 | `Boolean` | `false` |
39
+ | open | 是否展开状态 | `boolean` | `false` |
44
40
 
45
41
  # 扩展点
46
42
 
@@ -63,6 +63,7 @@ export interface InputProps<V extends Value = Value> extends InputHTMLAttributes
63
63
  stackClearIcon?: boolean
64
64
  frozenOnInput?: boolean
65
65
  inline?: boolean
66
+ waveDisabled?: boolean
66
67
  }
67
68
 
68
69
  export interface InputEvents {
@@ -95,6 +96,7 @@ const typeDefs: Required<TypeDefs<Omit<InputProps, keyof InputHTMLAttributes>>>
95
96
  stackClearIcon: Boolean,
96
97
  frozenOnInput: Boolean,
97
98
  inline: Boolean,
99
+ waveDisabled: Boolean,
98
100
  }
99
101
 
100
102
  const defaults = (): Partial<InputProps> => ({
@@ -2,12 +2,15 @@ import {Icon} from '../icon';
2
2
  import {addStyle, isTextBlock, getRestProps} from '../utils';
3
3
  import {makeStyles} from './styles';
4
4
  import {noop, isNullOrUndefined} from 'intact-shared';
5
+ import {Wave} from '../wave';
6
+ import {context as ErrorContext} from '../form/useError';
5
7
 
6
8
  const {
7
9
  className, style, type, value, defaultValue, placeholder,
8
10
  clearable, disabled, size, rows, autoWidth, fluid,
9
11
  width, stackClearIcon, frozenOnInput, readonly, inline,
10
-
12
+ waveDisabled,
13
+
11
14
  'ev-click': click,
12
15
  'ev-mounseenter': mouseenter,
13
16
  'ev-mouseleave': mouseleave,
@@ -59,7 +62,6 @@ const inputProps = {
59
62
  if (hasInputValue) {
60
63
  inputProps.value = inputValue;
61
64
  }
62
-
63
65
  <div class={classNameObj}
64
66
  style={width != null ? addStyle(style, {width: `${width}px`}) : style}
65
67
  ev-click={click}
@@ -75,45 +77,52 @@ if (hasInputValue) {
75
77
  <div class={{
76
78
  "k-input-prepend": true,
77
79
  "k-input-padding": isTextBlock(children)
78
- }}>{children}</div>
80
+ }}>{children}</div>
79
81
  }
80
82
  }}
81
- <div class="k-input-wrapper">
82
- <div class="k-input-prefix" v-if={$blocks.prefix}>
83
- <b:prefix />
84
- </div>
85
- <input v-if={type !== 'textarea'}
86
- {...inputProps}
87
- class="k-input-inner"
88
- type={type}
89
- />
90
- <textarea v-else
91
- {...inputProps}
92
- class="k-input-inner k-textarea"
93
- rows={rows}
94
- ></textarea>
95
- <div class="k-input-suffix" v-if={$blocks.suffix || clearable && !disabled}>
96
- <Icon v-if={clearable && !disabled}
97
- class={{
98
- "k-input-clear ion-ios-close": true,
99
- "k-input-show": hasValue,
100
- }}
101
- ev-click={this.clear}
102
- />{' '}
103
- <b:suffix />
104
- </div>
105
- <div v-if={autoWidth}
106
- class="k-input-fake"
107
- ref={fakeRef}
108
- >{!hasValue ? placeholder : inputValue}</div>
109
- </div>
83
+ <ErrorContext.Consumer defaultValue={false}>
84
+ {isInvalid => {
85
+ return <Wave disabled={waveDisabled || disabled || isInvalid}>
86
+ <div class="k-input-wrapper">
87
+ <div class="k-input-prefix" v-if={$blocks.prefix}>
88
+ <b:prefix />
89
+ </div>
90
+ <input v-if={type !== 'textarea'}
91
+ {...inputProps}
92
+ class="k-input-inner"
93
+ type={type}
94
+ />
95
+ <textarea v-else
96
+ {...inputProps}
97
+ class="k-input-inner k-textarea"
98
+ rows={rows}
99
+ ></textarea>
100
+ <div class="k-input-suffix" v-if={$blocks.suffix || clearable && !disabled}>
101
+ <Icon v-if={clearable && !disabled}
102
+ class={{
103
+ "k-input-clear ion-ios-close": true,
104
+ "k-input-show": hasValue,
105
+ }}
106
+ ev-click={this.clear}
107
+ hoverable
108
+ />{' '}
109
+ <b:suffix />
110
+ </div>
111
+ <div v-if={autoWidth}
112
+ class="k-input-fake"
113
+ ref={fakeRef}
114
+ >{!hasValue ? placeholder : inputValue}</div>
115
+ </div>
116
+ </Wave>
117
+ }}
118
+ </ErrorContext.Consumer>
110
119
  {do {
111
120
  if ($blocks.append) {
112
121
  const children = $blocks.append(noop);
113
122
  <div class={{
114
123
  "k-input-append": true,
115
124
  "k-input-padding": isTextBlock(children)
116
- }}>{children}</div>
125
+ }}>{children}</div>
117
126
  }
118
127
  }}
119
128
  </div>
@@ -9,12 +9,14 @@ const {
9
9
  type, size, open,
10
10
  } = this.get();
11
11
 
12
+ const isTypeNotDefault = type !== 'default';
13
+
12
14
  const classNameObj = {
13
15
  'k-search': true,
14
16
  [className]: className,
15
17
  'k-open': open,
16
18
  'k-hide': !open,
17
- [`k-${type}`]: type !== 'default',
19
+ [`k-${type}`]: isTypeNotDefault,
18
20
  [makeSearchStyles()]: true,
19
21
  };
20
22
 
@@ -31,6 +33,7 @@ const classNameObj = {
31
33
  readonly={!open}
32
34
  size={size}
33
35
  class="k-with-suffix"
36
+ waveDisabled={isTypeNotDefault}
34
37
  />
35
38
  <Button icon type="none" ev-click={this.onClickBtn} size={size}>
36
39
  <Icon class="k-icon-search k-search-icon" />
@@ -5,6 +5,7 @@ import '../../styles/global';
5
5
 
6
6
  const defaults = deepDefaults(
7
7
  {
8
+ get transition() { return theme.transition.middle },
8
9
  get fontSize() { return theme.default.fontSize },
9
10
  get height() { return theme.default.height },
10
11
  width: '300px',
@@ -13,7 +14,8 @@ const defaults = deepDefaults(
13
14
  bgColor: '#fff',
14
15
  get color() { return theme.color.text },
15
16
  get focusBorder() { return `1px solid ${theme.color.primary}` },
16
- get hoverBorder() { return `1px solid ${theme.color.darkBorder}` },
17
+ // get hoverBorder() { return `1px solid ${theme.color.darkBorder}` },
18
+ get hoverBorder() { return `1px solid ${theme.color.primary}` },
17
19
  get borderRadius() { return theme.borderRadius },
18
20
  get placeholderColor() { return theme.color.placeholder },
19
21
 
@@ -60,7 +62,7 @@ const defaults = deepDefaults(
60
62
  }, {} as Record<Sizes, {fontSize: string, height: string, paddingGap: string}>),
61
63
  )
62
64
 
63
- let input: any;
65
+ let input: typeof defaults;
64
66
  setDefault(() => {
65
67
  input = deepDefaults(theme, {input: defaults}).input;
66
68
  })
@@ -80,7 +82,7 @@ export function makeStyles() {
80
82
  width: 100%;
81
83
  border: ${input.border};
82
84
  background-color: ${input.bgColor};
83
- transition: border ${theme.transition}, background ${theme.transition}, box-shadow ${theme.transition};
85
+ transition: border ${input.transition}, background ${input.transition}, box-shadow ${input.transition};
84
86
  border-radius: ${input.borderRadius};
85
87
  outline: none;
86
88
  position: relative;
@@ -114,16 +116,10 @@ export function makeStyles() {
114
116
 
115
117
  // clearable
116
118
  .k-input-clear {
117
- display: inline-block;
118
- vertical-align: top;
119
- cursor: pointer;
120
119
  opacity: 0;
121
- transition: opacity ${theme.transition};
120
+ transition: opacity ${input.transition};
122
121
  pointer-events: none;
123
122
  color: ${input.clearIconColor};
124
- &:hover {
125
- color: ${theme.color.primary};
126
- }
127
123
  + * {
128
124
  margin-left: ${input.clearIconGap};
129
125
  }
@@ -140,7 +136,7 @@ export function makeStyles() {
140
136
  z-index: 1;
141
137
  right: 0;
142
138
  &.k-input-show + i {
143
- transition: opacity ${theme.transition};
139
+ transition: opacity ${input.transition};
144
140
  }
145
141
  }
146
142
  &:hover {
@@ -308,7 +304,7 @@ export function makeSearchStyles() {
308
304
  position: relative;
309
305
  display: inline-block;
310
306
  .k-input {
311
- transition: width ${theme.transition};
307
+ transition: width ${input.transition};
312
308
  }
313
309
  .k-btn {
314
310
  position: absolute;
@@ -5,8 +5,7 @@ iframe: 400
5
5
  ---
6
6
 
7
7
  给`Header`和`Aside`分别添加`fixed`属性,即可固定顶部或者侧边栏,组件会自动添加相应样式,无需手动
8
- 添加样式。另外我们可以通过给`Aside`添加`size`属性,来控制侧边栏的宽度,给属性会自动应用到子组件
9
- `Menu`中
8
+ 添加样式。另外我们可以通过给`Aside`添加`width`属性,来控制侧边栏的宽度
10
9
 
11
10
  ```vdt
12
11
  import {
@@ -18,7 +17,7 @@ import {
18
17
  } from 'kpc';
19
18
 
20
19
  <Layout class="layout">
21
- <Aside collapse={this.get('collapse')} fixed theme="white">
20
+ <Aside collapse={this.get('collapse')} fixed theme="white" width="260px">
22
21
  <div class="logo">LOGO</div>
23
22
  <Menu
24
23
  v-model:expandedKeys="expandedKeys"
@@ -11,15 +11,15 @@ sidebar: doc
11
11
 
12
12
  | 属性 | 说明 | 类型 | 默认值 |
13
13
  | --- | --- | --- | --- |
14
- | fixed | 是否固定头部 | `Boolean` | `false` |
14
+ | fixed | 是否固定头部 | `boolean` | `false` |
15
15
  | theme | 主题颜色 | `"dark"` &#124; `"light"` &#124; `"white"` | `"dark"` |
16
- | height | 高度 | `String` &#124; `Number` | `"64px"` |
16
+ | height | 高度 | `string` &#124; `number` | `"64px"` |
17
17
 
18
18
  ## Aside
19
19
 
20
20
  | 属性 | 说明 | 类型 | 默认值 |
21
21
  | --- | --- | --- | --- |
22
- | fixed | 是否固定侧边栏 | `Boolean` | `false` |
23
- | collapse | 是否收起侧边栏 | `Boolean` | `false` |
22
+ | fixed | 是否固定侧边栏 | `boolean` | `false` |
23
+ | collapse | 是否收起侧边栏 | `boolean` | `false` |
24
24
  | theme | 主题颜色 | `"dark"` &#124; `"light"` &#124; `"white"` | `"dark"` |
25
- | width | 宽度 | `String` &#124; `Number` | `"200px"` |
25
+ | width | 宽度 | `string` &#124; `number` | `"200px"` |
@@ -8,6 +8,7 @@ const sizes = ['small', 'large'] as const;
8
8
  export const themes = ['light', 'dark', 'white'] as const;
9
9
 
10
10
  const defaults = {
11
+ get transition() { return theme.transition.large },
11
12
  get color() { return menu.item.color },
12
13
  get bgColor() { return menu.bgColor },
13
14
  light: {
@@ -26,7 +27,7 @@ const defaults = {
26
27
  // bodyMargin: '0 20px',
27
28
  };
28
29
 
29
- let layout: any;
30
+ let layout: typeof defaults;
30
31
  setDefault(() => {
31
32
  layout = deepDefaults(theme, {layout: defaults}).layout;
32
33
  });
@@ -40,7 +41,7 @@ export function makeLayoutStyles() {
40
41
  display: flex;
41
42
  flex-direction: column;
42
43
  flex: 1;
43
- transition: padding-left ${theme.transition};
44
+ transition: padding-left ${layout.transition};
44
45
  &.k-has-aside {
45
46
  flex-direction: row;
46
47
  }
@@ -60,7 +61,7 @@ export function makeHeaderStyles() {
60
61
  color: ${layout.color};
61
62
  background: ${layout.bgColor};
62
63
  left: 0;
63
- transition: left ${theme.transition};
64
+ transition: left ${layout.transition};
64
65
  &.k-fixed {
65
66
  position: fixed;
66
67
  left: 0;
@@ -84,7 +85,7 @@ export function makeHeaderStyles() {
84
85
 
85
86
  export function makeAsideStyles() {
86
87
  return css`
87
- transition: width ${theme.transition};
88
+ transition: width ${layout.transition};
88
89
  display: flex;
89
90
  flex-direction: column;
90
91
  background: ${layout.bgColor};
@@ -24,7 +24,8 @@ import {Menu, MenuItem, Switch, Icon} from 'kpc';
24
24
  falseValue="dark"
25
25
  />
26
26
  <br /><br />
27
- <Menu v-model:expandedKeys="expandedKeys"
27
+ <Menu v-model:expandedKeys="expandedKeys"
28
+ v-model:selectedKey="selectedKey"
28
29
  collapse={this.get('collapse')}
29
30
  theme={this.get('theme')}
30
31
  ref="__test"
@@ -62,6 +63,7 @@ export default class extends Component<Props> {
62
63
  static defaults() {
63
64
  return {
64
65
  expandedKeys: ['3'],
66
+ selectedKey: '3-2',
65
67
  collapse: false,
66
68
  theme: 'dark'
67
69
  } as MenuProps;
@@ -11,22 +11,23 @@ sidebar: doc
11
11
 
12
12
  | 属性 | 说明 | 类型 | 默认值 |
13
13
  | --- | --- | --- | --- |
14
- | expandedKeys | 定义菜单展开项 | `Array` | `[]` |
15
- | selectedKey | 定义菜单选中项 | `String` | `""` |
16
- | theme | 定义菜单主题 | `"light"` &#124; `"dark"` | `"dark"` |
17
- | collapse | 菜单是否折叠 | `Boolean` | `false` |
14
+ | expandedKeys | 定义菜单展开项 | <code>(string &#124; number)[]</code> | `[]` |
15
+ | selectedKey | 定义菜单选中项 | <code>string &#124; number</code> | `undefined` |
16
+ | theme | 定义菜单主题 | `"light"` &#124; `"dark"` &#124; `"white"` | `"dark"` |
17
+ | collapse | 菜单是否折叠 | `boolean` | `false` |
18
18
  | type | 定义菜单排列方式:垂直,水平 | `"vertical"` &#124; `"horizontal"` | `"vertical"` |
19
19
  | size | 定义菜单尺寸 | `"large"` &#124; `"default"` &#124; `"small"` | `"default"` |
20
- | accordion | 是否每次只能展开一项 | `Boolean` | `false` |
21
- | dot | 是否给菜单项前面添加圆点 | `Boolean` | `false` |
20
+ | accordion | 是否每次只能展开一项 | `boolean` | `false` |
21
+ | dot | 是否给菜单项前面添加圆点 | `boolean` | `false` |
22
22
 
23
23
  ## MenuItem
24
24
 
25
25
  | 属性 | 说明 | 类型 | 默认值 |
26
26
  | --- | --- | --- | --- |
27
- | key | 定义全局唯一的`key`,用于标识每一项 | `String` | `undefined` |
28
- | to | 定义超链接菜单项,点击直接跳转 | `String` | `undefined` |
29
- | dot | 是否给当前菜单项前面添加圆点 | `Boolean` | `false` |
27
+ | key | 定义全局唯一的`key`,用于标识每一项 | <code>string &#124; number</code> | `undefined` |
28
+ | to | 定义超链接菜单项,点击直接跳转 | `string` &#124; `object` | `undefined` |
29
+ | dot | 是否给当前菜单项前面添加圆点 | `boolean` | `false` |
30
+ | disabled | 是否禁用当前项 | `boolean` | `false` |
30
31
 
31
32
  # 扩展点
32
33
 
@@ -42,5 +43,4 @@ sidebar: doc
42
43
 
43
44
  | 事件名 | 说明 | 参数 |
44
45
  | --- | --- | --- |
45
- | click | 点击菜单项触发,不管该菜单项是否包含子菜单 | `Event` |
46
- | select | 选中没有子菜单的菜单项触发 | `MenuItem, Event` |
46
+ | select | 选中没有子菜单的菜单项触发 | `(menuItem: MenuItem, e: MouseEvent) => void` |
@@ -11,34 +11,40 @@ describe('Menu', () => {
11
11
 
12
12
  const title = element.querySelector('.k-expanded .k-menu-title') as HTMLElement;
13
13
  title.click();
14
- await wait(300);
14
+ await wait(500);
15
15
  expect(element.outerHTML).to.matchSnapshot();
16
16
  expect(instance.get('expandedKeys')).to.eql([]);
17
17
  title.click();
18
- await wait(300);
18
+ await wait(500);
19
19
  expect(element.outerHTML).to.matchSnapshot();
20
20
  expect(instance.get('expandedKeys')).to.eql(['3']);
21
21
  });
22
22
 
23
23
  it('select', async () => {
24
24
  const [instance, element] = mount(CollapseDemo);
25
- const menu = instance.refs.__test as Menu;
25
+
26
+ expect(element.innerHTML).to.matchSnapshot();
26
27
 
27
28
  const [title, disabledTitle] = element.querySelectorAll<HTMLElement>('.k-menu-title');
28
29
  title.click();
29
30
  await wait();
30
31
  expect(element.outerHTML).to.matchSnapshot();
31
- expect(menu.get('selectedKey')).to.eql('1');
32
+ expect(instance.get('selectedKey')).to.eql('1');
32
33
  disabledTitle.click();
33
34
  await wait();
34
35
  expect(element.outerHTML).to.matchSnapshot();
35
- expect(menu.get('selectedKey')).to.eql('1');
36
+ expect(instance.get('selectedKey')).to.eql('1');
36
37
 
37
38
  const subTitle = element.querySelector('.k-expanded .k-menu .k-menu-title') as HTMLElement;
38
39
  subTitle.click();
39
40
  await wait();
40
41
  expect(element.outerHTML).to.matchSnapshot();
41
- expect(menu.get('selectedKey')).to.eql('3-1');
42
+ expect(instance.get('selectedKey')).to.eql('3-1');
43
+
44
+ // clear
45
+ instance.set('selectedKey', '');
46
+ await wait();
47
+ expect(element.querySelector('.k-highlighted')).to.be.null;
42
48
  });
43
49
 
44
50
  it('collapse', async () => {