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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (517) hide show
  1. package/components/affix/demos/basic.md +2 -1
  2. package/components/affix/demos/custom.md +5 -5
  3. package/components/affix/index.md +2 -2
  4. package/components/affix/styles.ts +1 -1
  5. package/components/badge/demos/text.md +1 -1
  6. package/components/badge/index.md +3 -3
  7. package/components/badge/styles.ts +1 -1
  8. package/components/breadcrumb/demos/basic.md +1 -1
  9. package/components/breadcrumb/index.md +3 -10
  10. package/components/breadcrumb/item.ts +4 -14
  11. package/components/breadcrumb/styles.ts +9 -5
  12. package/components/button/demos/group.md +2 -2
  13. package/components/button/demos/icon.md +1 -0
  14. package/components/button/demos/loading.md +1 -1
  15. package/components/button/demos/tagName.md +0 -1
  16. package/components/button/index.md +13 -13
  17. package/components/button/index.vdt +32 -23
  18. package/components/button/styles.ts +22 -12
  19. package/components/card/demos/basic.md +4 -4
  20. package/components/card/demos/extra.md +13 -7
  21. package/components/card/demos/noHeader.md +4 -4
  22. package/components/card/index.md +3 -3
  23. package/components/card/styles.ts +2 -2
  24. package/components/carousel/index.md +4 -4
  25. package/components/carousel/styles.ts +2 -2
  26. package/components/carousel/useSlide.ts +3 -2
  27. package/components/cascader/demos/loadData.md +1 -1
  28. package/components/cascader/index.md +45 -16
  29. package/components/cascader/index.spec.ts +1 -1
  30. package/components/cascader/styles.ts +1 -1
  31. package/components/checkbox/demos/basic.md +1 -1
  32. package/components/checkbox/demos/indeterminate.md +4 -20
  33. package/components/checkbox/demos/value.md +1 -1
  34. package/components/checkbox/index.md +10 -10
  35. package/components/checkbox/index.vdt +16 -13
  36. package/components/checkbox/styles.ts +3 -7
  37. package/components/code/demos/basic.md +3 -3
  38. package/components/code/index.md +8 -10
  39. package/components/collapse/index.md +8 -8
  40. package/components/collapse/item.vdt +1 -1
  41. package/components/collapse/styles.ts +4 -3
  42. package/components/colorpicker/index.md +3 -3
  43. package/components/colorpicker/index.spec.ts +1 -1
  44. package/components/colorpicker/index.ts +3 -0
  45. package/components/colorpicker/index.vdt +5 -1
  46. package/components/colorpicker/styles.ts +1 -1
  47. package/components/context.ts +14 -7
  48. package/components/datepicker/demos/disabledDate.md +0 -2
  49. package/components/datepicker/demos/format.md +1 -1
  50. package/components/datepicker/demos/shortcuts.md +2 -2
  51. package/components/datepicker/helpers.ts +9 -2
  52. package/components/datepicker/index.md +50 -27
  53. package/components/datepicker/index.spec.ts +1 -1
  54. package/components/datepicker/styles.ts +1 -1
  55. package/components/diagram/index.md +108 -59
  56. package/components/diagram/shapes/line.ts +2 -3
  57. package/components/dialog/base.ts +2 -1
  58. package/components/dialog/demos/block.md +10 -56
  59. package/components/dialog/demos/size.md +1 -1
  60. package/components/dialog/index.md +47 -56
  61. package/components/dialog/index.spec.ts +2 -18
  62. package/components/dialog/styles.ts +4 -3
  63. package/components/dialog/useFixBody.ts +16 -0
  64. package/components/drawer/index.md +23 -20
  65. package/components/drawer/index.spec.ts +5 -5
  66. package/components/drawer/styles.ts +2 -2
  67. package/components/dropdown/demos/basic.md +4 -16
  68. package/components/dropdown/demos/contextmenu.md +1 -7
  69. package/components/dropdown/demos/disabled.md +1 -1
  70. package/components/dropdown/demos/nested.md +2 -4
  71. package/components/dropdown/demos/position.md +5 -6
  72. package/components/dropdown/demos/trigger.md +2 -4
  73. package/components/dropdown/index.md +26 -15
  74. package/components/dropdown/index.spec.ts +3 -3
  75. package/components/dropdown/index.ts +1 -2
  76. package/components/dropdown/styles.ts +2 -2
  77. package/components/editable/index.md +10 -15
  78. package/components/editable/index.vdt +1 -0
  79. package/components/editable/styles.ts +1 -1
  80. package/components/form/demos/basic.md +15 -15
  81. package/components/form/index.md +29 -13
  82. package/components/form/index.spec.ts +8 -8
  83. package/components/form/item.vdt +6 -1
  84. package/components/form/methods.ts +6 -1
  85. package/components/form/styles.ts +1 -1
  86. package/components/form/useError.ts +3 -0
  87. package/components/form/useValidate.ts +2 -2
  88. package/components/grid/col.vdt +1 -1
  89. package/components/grid/index.md +34 -13
  90. package/components/grid/styles.ts +4 -1
  91. package/components/icon/index.md +4 -2
  92. package/components/icon/index.vdt +2 -2
  93. package/components/icon/styles.ts +11 -8
  94. package/components/input/demos/blocks.md +2 -2
  95. package/components/input/demos/clearable.md +3 -3
  96. package/components/input/demos/inline.md +12 -0
  97. package/components/input/demos/size.md +0 -1
  98. package/components/input/index.md +18 -22
  99. package/components/input/index.ts +2 -0
  100. package/components/input/index.vdt +42 -33
  101. package/components/input/search.vdt +4 -1
  102. package/components/input/styles.ts +8 -12
  103. package/components/layout/demos/asideFix.md +2 -3
  104. package/components/layout/index.md +5 -5
  105. package/components/layout/styles.ts +5 -4
  106. package/components/menu/index.md +11 -11
  107. package/components/menu/index.spec.ts +2 -2
  108. package/components/menu/item.ts +5 -12
  109. package/components/menu/styles.ts +6 -5
  110. package/components/message/index.md +23 -25
  111. package/components/message/index.spec.ts +1 -1
  112. package/components/message/styles.ts +7 -3
  113. package/components/pagination/index.md +11 -19
  114. package/components/pagination/styles.ts +2 -2
  115. package/components/progress/demos/customColor.md +1 -1
  116. package/components/progress/index.md +11 -5
  117. package/components/progress/styles.ts +2 -2
  118. package/components/radio/index.md +4 -7
  119. package/components/radio/index.vdt +15 -12
  120. package/components/radio/styles.ts +6 -10
  121. package/components/rate/index.md +5 -5
  122. package/components/rate/styles.ts +3 -2
  123. package/components/scrollSelect/index.md +14 -5
  124. package/components/scrollSelect/styles.ts +7 -2
  125. package/components/select/base.ts +0 -1
  126. package/components/select/base.vdt +128 -112
  127. package/components/select/demos/creatable.md +1 -1
  128. package/components/select/demos/customMenu.md +1 -1
  129. package/components/select/demos/format.md +3 -7
  130. package/components/select/index.md +35 -30
  131. package/components/select/index.spec.ts +1 -1
  132. package/components/select/menu.vdt +1 -0
  133. package/components/select/styles.ts +15 -9
  134. package/components/slider/demos/marks.md +2 -2
  135. package/components/slider/index.md +31 -16
  136. package/components/slider/styles.ts +5 -4
  137. package/components/spin/index.md +2 -2
  138. package/components/spin/styles.ts +1 -1
  139. package/components/spinner/index.md +23 -14
  140. package/components/spinner/index.ts +2 -2
  141. package/components/spinner/styles.ts +1 -1
  142. package/components/split/index.md +7 -7
  143. package/components/split/style.ts +2 -2
  144. package/components/steps/index.md +3 -3
  145. package/components/steps/styles.ts +3 -2
  146. package/components/switch/index.md +10 -19
  147. package/components/switch/styles.ts +5 -4
  148. package/components/table/demos/animation.md +92 -0
  149. package/components/table/demos/basic.md +1 -1
  150. package/components/table/demos/checkedKeys.md +2 -3
  151. package/components/table/demos/disableRow.md +2 -2
  152. package/components/table/demos/empty.md +1 -1
  153. package/components/table/demos/export.md +8 -7
  154. package/components/table/demos/fixColumn.md +2 -2
  155. package/components/table/demos/fixHeader.md +3 -3
  156. package/components/table/demos/group.md +3 -3
  157. package/components/table/demos/mergeCell.md +1 -1
  158. package/components/table/demos/resizable.md +1 -1
  159. package/components/table/demos/rowClassName.md +1 -1
  160. package/components/table/demos/rowExpandable.md +2 -6
  161. package/components/table/demos/sort.md +2 -1
  162. package/components/table/demos/stickHeader.md +3 -3
  163. package/components/table/demos/stickScrollbar.md +3 -3
  164. package/components/table/demos/tooltip.md +1 -2
  165. package/components/table/index.md +92 -66
  166. package/components/table/index.spec.ts +4 -1
  167. package/components/table/index.ts +1 -0
  168. package/components/table/row.vdt +5 -1
  169. package/components/table/styles.ts +17 -5
  170. package/components/table/table.ts +2 -0
  171. package/components/table/table.vdt +91 -86
  172. package/components/table/useFixedColumns.ts +5 -3
  173. package/components/table/useWidth.ts +8 -1
  174. package/components/tabs/index.md +15 -8
  175. package/components/tabs/index.spec.ts +1 -1
  176. package/components/tabs/styles.ts +11 -7
  177. package/components/tabs/tab.vdt +1 -1
  178. package/components/tabs/useActiveBar.ts +3 -2
  179. package/components/tag/base.ts +3 -0
  180. package/components/tag/demos/border.md +2 -1
  181. package/components/tag/index.md +4 -3
  182. package/components/tag/styles.ts +9 -4
  183. package/components/timeline/styles.ts +3 -3
  184. package/components/timepicker/constants.ts +3 -2
  185. package/components/timepicker/demos/basic.md +2 -2
  186. package/components/timepicker/demos/step.md +1 -1
  187. package/components/timepicker/index.md +47 -16
  188. package/components/timepicker/index.spec.ts +11 -10
  189. package/components/timepicker/styles.ts +1 -1
  190. package/components/timepicker/useStep.ts +3 -3
  191. package/components/timepicker/useValue.ts +2 -2
  192. package/components/tip/demos/closable.md +1 -1
  193. package/components/tip/index.md +8 -4
  194. package/components/tip/styles.ts +1 -1
  195. package/components/tooltip/demos/basic.md +2 -13
  196. package/components/tooltip/demos/trigger.md +1 -2
  197. package/components/tooltip/index.md +26 -13
  198. package/components/tooltip/index.spec.ts +18 -14
  199. package/components/tooltip/styles.ts +1 -1
  200. package/components/transfer/index.md +36 -23
  201. package/components/transfer/index.spec.ts +7 -6
  202. package/components/transfer/styles.ts +1 -1
  203. package/components/tree/index.md +76 -49
  204. package/components/tree/index.spec.ts +13 -12
  205. package/components/tree/index.ts +1 -0
  206. package/components/tree/index.vdt +1 -0
  207. package/components/tree/styles.ts +7 -4
  208. package/components/treeSelect/index.md +50 -20
  209. package/components/treeSelect/index.spec.ts +5 -5
  210. package/components/treeSelect/styles.ts +3 -2
  211. package/components/upload/index.md +55 -19
  212. package/components/upload/index.spec.ts +1 -1
  213. package/components/upload/index.ts +1 -1
  214. package/components/upload/index.vdt +3 -4
  215. package/components/upload/styles.ts +5 -4
  216. package/components/utils.ts +1 -1
  217. package/components/wave/index.ts +94 -0
  218. package/components/wave/styles.ts +50 -0
  219. package/es/components/breadcrumb/item.d.ts +1 -1
  220. package/es/components/breadcrumb/item.js +3 -14
  221. package/es/components/breadcrumb/styles.js +1 -1
  222. package/es/components/button/index.vdt.js +26 -17
  223. package/es/components/button/styles.d.ts +82 -1
  224. package/es/components/button/styles.js +16 -2
  225. package/es/components/card/styles.js +1 -1
  226. package/es/components/carousel/styles.js +4 -1
  227. package/es/components/carousel/useSlide.js +10 -9
  228. package/es/components/cascader/index.spec.js +1 -1
  229. package/es/components/checkbox/index.vdt.js +15 -10
  230. package/es/components/checkbox/styles.js +2 -2
  231. package/es/components/collapse/item.vdt.js +2 -1
  232. package/es/components/collapse/styles.js +5 -1
  233. package/es/components/colorpicker/index.d.ts +2 -0
  234. package/es/components/colorpicker/index.js +2 -1
  235. package/es/components/colorpicker/index.spec.js +1 -1
  236. package/es/components/colorpicker/index.vdt.js +3 -1
  237. package/es/components/context.d.ts +5 -2
  238. package/es/components/context.js +7 -4
  239. package/es/components/datepicker/helpers.d.ts +2 -1
  240. package/es/components/datepicker/helpers.js +8 -2
  241. package/es/components/datepicker/index.spec.js +1 -1
  242. package/es/components/datepicker/styles.d.ts +46 -1
  243. package/es/components/diagram/shapes/generateShapes.js +3 -3
  244. package/es/components/diagram/shapes/line.d.ts +2 -2
  245. package/es/components/diagram/shapes/line.js +0 -1
  246. package/es/components/dialog/base.d.ts +2 -0
  247. package/es/components/dialog/base.js +2 -1
  248. package/es/components/dialog/index.spec.js +59 -94
  249. package/es/components/dialog/styles.js +5 -1
  250. package/es/components/dialog/useFixBody.d.ts +6 -0
  251. package/es/components/dialog/useFixBody.js +12 -0
  252. package/es/components/drawer/index.spec.js +5 -5
  253. package/es/components/drawer/styles.js +1 -1
  254. package/es/components/dropdown/index.js +1 -2
  255. package/es/components/dropdown/index.spec.js +3 -3
  256. package/es/components/dropdown/styles.js +1 -1
  257. package/es/components/editable/index.vdt.js +2 -1
  258. package/es/components/editable/styles.d.ts +8 -1
  259. package/es/components/form/index.spec.js +8 -8
  260. package/es/components/form/item.vdt.js +13 -9
  261. package/es/components/form/useError.d.ts +4 -0
  262. package/es/components/form/useError.js +3 -1
  263. package/es/components/form/useValidate.js +2 -2
  264. package/es/components/grid/col.vdt.js +4 -2
  265. package/es/components/grid/styles.js +1 -1
  266. package/es/components/grid/useGutter.d.ts +1 -1
  267. package/es/components/icon/index.vdt.js +3 -2
  268. package/es/components/icon/styles.js +8 -4
  269. package/es/components/input/index.d.ts +1 -0
  270. package/es/components/input/index.js +2 -1
  271. package/es/components/input/index.vdt.js +47 -32
  272. package/es/components/input/search.vdt.js +4 -2
  273. package/es/components/input/styles.js +8 -3
  274. package/es/components/layout/styles.d.ts +1 -1
  275. package/es/components/layout/styles.js +7 -3
  276. package/es/components/menu/index.spec.js +2 -2
  277. package/es/components/menu/item.d.ts +1 -1
  278. package/es/components/menu/item.js +4 -13
  279. package/es/components/menu/styles.d.ts +62 -1
  280. package/es/components/menu/styles.js +6 -2
  281. package/es/components/message/index.spec.js +1 -1
  282. package/es/components/message/styles.js +6 -2
  283. package/es/components/pagination/styles.js +1 -1
  284. package/es/components/radio/index.vdt.js +14 -9
  285. package/es/components/radio/styles.js +9 -1
  286. package/es/components/rate/styles.js +5 -1
  287. package/es/components/scrollSelect/styles.d.ts +14 -1
  288. package/es/components/scrollSelect/styles.js +9 -1
  289. package/es/components/select/base.vdt.js +135 -121
  290. package/es/components/select/index.spec.js +1 -1
  291. package/es/components/select/menu.vdt.js +1 -0
  292. package/es/components/select/styles.js +9 -4
  293. package/es/components/select/useSearchable.d.ts +1 -1
  294. package/es/components/slider/styles.js +5 -1
  295. package/es/components/spinner/index.d.ts +1 -1
  296. package/es/components/spinner/index.js +1 -1
  297. package/es/components/split/style.js +1 -1
  298. package/es/components/steps/context.d.ts +1 -1
  299. package/es/components/steps/styles.js +5 -1
  300. package/es/components/switch/styles.js +5 -1
  301. package/es/components/table/index.d.ts +1 -0
  302. package/es/components/table/index.spec.js +2 -1
  303. package/es/components/table/row.vdt.js +12 -4
  304. package/es/components/table/styles.js +6 -1
  305. package/es/components/table/table.d.ts +1 -0
  306. package/es/components/table/table.js +2 -1
  307. package/es/components/table/table.vdt.js +30 -27
  308. package/es/components/table/useColumns.d.ts +1 -1
  309. package/es/components/table/useFixedColumns.d.ts +1 -1
  310. package/es/components/table/useFixedColumns.js +5 -2
  311. package/es/components/table/useGroup.d.ts +1 -1
  312. package/es/components/table/useResizable.d.ts +1 -1
  313. package/es/components/table/useSortable.d.ts +1 -1
  314. package/es/components/table/useWidth.js +7 -1
  315. package/es/components/tabs/index.spec.js +1 -1
  316. package/es/components/tabs/styles.js +9 -2
  317. package/es/components/tabs/tab.vdt.js +2 -1
  318. package/es/components/tabs/useActiveBar.js +6 -3
  319. package/es/components/tag/base.js +1 -0
  320. package/es/components/tag/styles.js +8 -2
  321. package/es/components/timepicker/constants.d.ts +2 -1
  322. package/es/components/timepicker/constants.js +3 -2
  323. package/es/components/timepicker/index.spec.js +36 -35
  324. package/es/components/timepicker/useStep.js +3 -3
  325. package/es/components/timepicker/useValue.js +2 -2
  326. package/es/components/tooltip/index.spec.js +28 -24
  327. package/es/components/transfer/index.spec.js +20 -19
  328. package/es/components/tree/index.d.ts +1 -1
  329. package/es/components/tree/index.js +1 -1
  330. package/es/components/tree/index.spec.js +20 -19
  331. package/es/components/tree/index.vdt.js +1 -0
  332. package/es/components/tree/styles.js +5 -1
  333. package/es/components/treeSelect/index.spec.js +5 -5
  334. package/es/components/treeSelect/styles.js +5 -1
  335. package/es/components/upload/index.d.ts +1 -1
  336. package/es/components/upload/index.spec.js +1 -1
  337. package/es/components/upload/index.vdt.js +10 -11
  338. package/es/components/upload/styles.js +5 -1
  339. package/es/components/utils.d.ts +1 -1
  340. package/es/components/wave/index.d.ts +19 -0
  341. package/es/components/wave/index.js +120 -0
  342. package/es/components/wave/styles.d.ts +2 -0
  343. package/es/components/wave/styles.js +17 -0
  344. package/es/hooks/useRouter.d.ts +1 -0
  345. package/es/hooks/useRouter.js +10 -0
  346. package/es/index.d.ts +3 -2
  347. package/es/index.js +3 -2
  348. package/es/packages/kpc-react/__tests__/index.js +10 -7
  349. package/es/site/data/components/affix/demos/custom/index.d.ts +2 -2
  350. package/es/site/data/components/affix/demos/custom/index.js +4 -4
  351. package/es/site/data/components/affix/demos/custom/react.d.ts +2 -2
  352. package/es/site/data/components/affix/demos/custom/react.js +6 -6
  353. package/es/site/data/components/button/demos/group/react.js +2 -2
  354. package/es/site/data/components/button/demos/icon/react.js +6 -0
  355. package/es/site/data/components/card/demos/basic/react.js +2 -2
  356. package/es/site/data/components/card/demos/extra/react.js +19 -5
  357. package/es/site/data/components/card/demos/noHeader/react.js +2 -2
  358. package/es/site/data/components/checkbox/demos/indeterminate/index.d.ts +1 -1
  359. package/es/site/data/components/checkbox/demos/indeterminate/index.js +2 -2
  360. package/es/site/data/components/checkbox/demos/indeterminate/react.d.ts +1 -1
  361. package/es/site/data/components/checkbox/demos/indeterminate/react.js +5 -6
  362. package/es/site/data/components/dialog/demos/block/react.d.ts +9 -0
  363. package/es/site/data/components/dialog/demos/block/react.js +88 -0
  364. package/es/site/data/components/dropdown/demos/basic/react.js +1 -3
  365. package/es/site/data/components/dropdown/demos/nested/react.js +1 -3
  366. package/es/site/data/components/dropdown/demos/position/react.js +2 -7
  367. package/es/site/data/components/dropdown/demos/trigger/react.js +1 -3
  368. package/es/site/data/components/input/demos/blocks/react.js +4 -2
  369. package/es/site/data/components/input/demos/clearable/react.js +7 -5
  370. package/es/site/data/components/{dialog/demos/extends → input/demos/inline}/index.d.ts +0 -3
  371. package/es/site/data/components/input/demos/inline/index.js +17 -0
  372. package/es/site/data/components/input/demos/inline/react.d.ts +4 -0
  373. package/es/site/data/components/input/demos/inline/react.js +24 -0
  374. package/es/site/data/components/input/demos/size/react.js +0 -3
  375. package/es/site/data/components/layout/demos/asideFix/react.js +2 -1
  376. package/es/site/data/components/select/demos/creatable/react.js +1 -1
  377. package/es/site/data/components/select/demos/customMenu/react.js +1 -0
  378. package/es/site/data/components/select/demos/format/react.js +11 -18
  379. package/es/site/data/components/table/demos/animation/index.d.ts +23 -0
  380. package/es/site/data/components/table/demos/animation/index.js +78 -0
  381. package/es/site/data/components/table/demos/animation/react.d.ts +23 -0
  382. package/es/site/data/components/table/demos/animation/react.js +113 -0
  383. package/es/site/data/components/table/demos/export/react.js +1 -2
  384. package/es/site/data/components/table/demos/sort/react.js +4 -1
  385. package/es/site/data/components/tag/demos/border/react.js +3 -1
  386. package/es/site/data/components/tip/demos/closable/react.js +1 -0
  387. package/es/site/data/components/tooltip/demos/trigger/react.js +1 -2
  388. package/es/site/data/docs/design/{button → about}/index.d.ts +13 -11
  389. package/es/site/data/docs/design/{8point → about}/index.js +0 -0
  390. package/es/site/data/docs/design/{dialog → guide-1}/index.d.ts +15 -11
  391. package/es/site/data/docs/design/{button → guide-1}/index.js +0 -0
  392. package/es/site/data/docs/design/guide-2/index.d.ts +64 -0
  393. package/es/site/data/docs/design/{color → guide-2}/index.js +0 -0
  394. package/es/site/data/docs/design/guide-3/index.d.ts +64 -0
  395. package/es/site/data/docs/design/{dialog → guide-3}/index.js +0 -0
  396. package/es/site/data/docs/design/guide-4/index.d.ts +64 -0
  397. package/es/site/data/docs/design/{font → guide-4}/index.js +0 -0
  398. package/es/site/data/docs/design/guide-5/index.d.ts +64 -0
  399. package/es/site/data/docs/design/{format → guide-5}/index.js +0 -0
  400. package/es/site/data/docs/design/guide-6/index.d.ts +64 -0
  401. package/es/site/data/docs/design/{gutter → guide-6}/index.js +0 -0
  402. package/es/site/data/docs/design/guide-7/index.d.ts +64 -0
  403. package/es/site/data/docs/design/{hierarchy → guide-7}/index.js +0 -0
  404. package/es/site/data/docs/design/guide-8/index.d.ts +64 -0
  405. package/es/site/data/docs/design/{language → guide-8}/index.js +0 -0
  406. package/es/site/data/docs/design/guide-9/index.d.ts +64 -0
  407. package/es/site/data/docs/design/{navigator → guide-9}/index.js +0 -0
  408. package/es/site/data/docs/design/model/index.d.ts +64 -0
  409. package/es/site/data/docs/design/{tip → model}/index.js +0 -0
  410. package/es/site/data/docs/design/model-1/index.d.ts +64 -0
  411. package/es/site/data/docs/design/{text → model-1}/index.js +0 -0
  412. package/es/site/data/docs/design/pattern-1/index.d.ts +64 -0
  413. package/es/site/data/docs/design/pattern-1/index.js +42 -0
  414. package/es/site/data/docs/design/pattern-2/index.d.ts +64 -0
  415. package/es/site/data/docs/design/pattern-2/index.js +42 -0
  416. package/es/site/data/docs/design/pattern-3/index.d.ts +64 -0
  417. package/es/site/data/docs/design/pattern-3/index.js +42 -0
  418. package/es/site/data/docs/design/pattern-4/index.d.ts +64 -0
  419. package/es/site/data/docs/design/pattern-4/index.js +42 -0
  420. package/es/site/data/docs/design/pattern-5/index.d.ts +64 -0
  421. package/es/site/data/docs/design/pattern-5/index.js +42 -0
  422. package/es/site/data/docs/design/pattern-6/index.d.ts +64 -0
  423. package/es/site/data/docs/design/pattern-6/index.js +42 -0
  424. package/es/site/data/docs/design/{navigator → principle}/index.d.ts +13 -11
  425. package/es/site/data/docs/design/principle/index.js +42 -0
  426. package/es/site/data/docs/design/{tip → value}/index.d.ts +13 -11
  427. package/es/site/data/docs/design/value/index.js +42 -0
  428. package/es/site/data/docs/theme/index.d.ts +0 -2
  429. package/es/site/src/components/ImgBox/index.d.ts +21 -0
  430. package/es/site/src/components/ImgBox/index.js +69 -0
  431. package/es/site/src/{pages/designdoc → components/ImgBox}/styles.d.ts +0 -0
  432. package/es/site/src/components/ImgBox/styles.js +13 -0
  433. package/es/site/src/components/WorkflowCard/styles.js +3 -10
  434. package/es/site/src/components/article/index.d.ts +4 -1
  435. package/es/site/src/components/article/index.js +72 -6
  436. package/es/site/src/components/blockquote/index.d.ts +4 -0
  437. package/es/site/src/components/blockquote/index.js +13 -0
  438. package/es/site/src/components/blockquote/slot.d.ts +11 -0
  439. package/es/site/src/components/blockquote/slot.js +19 -0
  440. package/es/site/src/components/card/index.d.ts +1 -1
  441. package/es/site/src/components/card/index.js +4 -1
  442. package/es/site/src/components/card/styles.js +2 -10
  443. package/es/site/src/components/catalogue/index.js +2 -2
  444. package/es/site/src/components/catalogue/styles.js +1 -1
  445. package/es/site/src/components/footer/styles.js +2 -2
  446. package/es/site/src/components/link/index.d.ts +1 -0
  447. package/es/site/src/components/link/index.js +11 -3
  448. package/es/site/src/pages/design/index.d.ts +1 -0
  449. package/es/site/src/pages/design/index.js +19 -0
  450. package/es/site/src/pages/design/styles.d.ts +1 -0
  451. package/es/site/src/pages/design/styles.js +13 -0
  452. package/es/site/src/pages/document/index.d.ts +4 -2
  453. package/es/site/src/pages/document/index.js +89 -46
  454. package/es/site/src/pages/document/styles.js +1 -1
  455. package/es/site/src/pages/iframe/button/styles.js +4 -4
  456. package/es/site/src/pages/iframe/colorProcess/index.d.ts +1 -0
  457. package/es/site/src/pages/iframe/colorProcess/index.js +9 -5
  458. package/es/site/src/pages/iframe/colorProcess/styles.js +1 -1
  459. package/es/site/src/pages/index/BestPractice/index.d.ts +1 -0
  460. package/es/site/src/pages/index/BestPractice/index.js +14 -14
  461. package/es/site/src/pages/index/BestPractice/styles.d.ts +1 -1
  462. package/es/site/src/pages/index/BestPractice/styles.js +3 -3
  463. package/es/site/src/pages/index/ColorProcess/styles.d.ts +1 -1
  464. package/es/site/src/pages/index/ColorProcess/styles.js +14 -2
  465. package/es/site/src/pages/index/KingVersion/styles.js +1 -1
  466. package/es/site/src/pages/index/NewFunction/index.d.ts +1 -0
  467. package/es/site/src/pages/index/NewFunction/index.js +4 -2
  468. package/es/site/src/pages/index/NewFunction/styles.d.ts +1 -1
  469. package/es/site/src/pages/index/NewFunction/styles.js +4 -3
  470. package/es/site/src/pages/index/index.d.ts +2 -7
  471. package/es/site/src/pages/index/index.js +11 -8
  472. package/es/site/src/pages/index/styles.js +2 -4
  473. package/es/site/src/pages/layout.d.ts +1 -0
  474. package/es/site/src/pages/layout.js +24 -3
  475. package/es/site/src/pages/resource/index.d.ts +6 -0
  476. package/es/site/src/pages/resource/index.js +21 -1
  477. package/es/site/src/pages/resource/styles.js +5 -3
  478. package/es/site/src/pages/solution/index.d.ts +6 -0
  479. package/es/site/src/pages/solution/index.js +20 -1
  480. package/es/site/src/pages/solution/styles.js +3 -2
  481. package/es/site/src/pages/styles.d.ts +1 -0
  482. package/es/site/src/pages/styles.js +5 -2
  483. package/es/site/src/router/index.d.ts +1 -0
  484. package/es/site/src/router/index.js +327 -318
  485. package/es/site/src/styles/default.d.ts +1 -0
  486. package/es/site/src/styles/default.js +3 -2
  487. package/es/styles/global.js +4 -3
  488. package/es/styles/theme.d.ts +16 -7
  489. package/es/styles/theme.js +15 -7
  490. package/hooks/useRouter.ts +11 -0
  491. package/index.ts +3 -2
  492. package/package.json +6 -6
  493. package/styles/global.ts +41 -8
  494. package/styles/theme.ts +12 -8
  495. package/typings/global.d.ts +2 -0
  496. package/components/dialog/demos/asyncOpen.md +0 -111
  497. package/components/dialog/demos/extends.md +0 -87
  498. package/es/site/data/components/dialog/demos/asyncOpen/dialog.d.ts +0 -28
  499. package/es/site/data/components/dialog/demos/asyncOpen/dialog.js +0 -45
  500. package/es/site/data/components/dialog/demos/asyncOpen/index.d.ts +0 -13
  501. package/es/site/data/components/dialog/demos/asyncOpen/index.js +0 -58
  502. package/es/site/data/components/dialog/demos/extends/dialog.d.ts +0 -28
  503. package/es/site/data/components/dialog/demos/extends/dialog.js +0 -39
  504. package/es/site/data/components/dialog/demos/extends/index.js +0 -49
  505. package/es/site/data/docs/design/8point/index.d.ts +0 -58
  506. package/es/site/data/docs/design/color/demos/demos0/index.d.ts +0 -3
  507. package/es/site/data/docs/design/color/demos/demos0/index.js +0 -3
  508. package/es/site/data/docs/design/color/index.d.ts +0 -56
  509. package/es/site/data/docs/design/font/index.d.ts +0 -58
  510. package/es/site/data/docs/design/format/index.d.ts +0 -58
  511. package/es/site/data/docs/design/gutter/index.d.ts +0 -58
  512. package/es/site/data/docs/design/hierarchy/index.d.ts +0 -58
  513. package/es/site/data/docs/design/language/index.d.ts +0 -56
  514. package/es/site/data/docs/design/text/index.d.ts +0 -58
  515. package/es/site/src/pages/designdoc/index.d.ts +0 -11
  516. package/es/site/src/pages/designdoc/index.js +0 -21
  517. package/es/site/src/pages/designdoc/styles.js +0 -6
@@ -5,27 +5,22 @@ order: 99
5
5
  sidebar: doc
6
6
  ---
7
7
 
8
- > 如果你不是通过`v-model`指令进行数据双向绑定,而是通过绑定`change`事件去修改的引用数据,则你需要
9
- > 在修改数据后,手动触发更新`this.update()`,这样才能传递新的`children`子元素给组件去渲染。
10
- >
11
- > `vue`因为所有数据修改都会触发更新,所以无需手动触发更新
12
-
13
8
  # 属性
14
9
 
15
10
  | 属性 | 说明 | 类型 | 默认值 |
16
11
  | --- | --- | --- | --- |
17
- | editing | 是否为编辑状态 | `Boolean` | `false` |
18
- | value | 编辑的内容,使用`v-model`进行双向绑定 | `String` | `undefined` |
19
- | required | 是否规定不能为空 | `Boolean` | `true` |
20
- | validate | 验证规则,可以为函数/正则/正则字符串,若为字符串将转为正则表达式;函数则会传入当前编辑框的值来调用函数验证,返回`true`则验证通过,否则验证失败 | `Function` | `RegExp` | `String` | `undefined` |
21
- | disabled | 是否禁用编辑 | `Boolean` | `false` |
22
- | tip | 编辑按钮提示文案 | `String` | `"编辑"` |
23
- | trim | 是否去掉前后空白字符 | `Boolean` | `true` |
24
- | invalid | 是否为验证失败状态 | `Boolean` | `false` |
12
+ | editing | 是否为编辑状态 | `boolean` | `false` |
13
+ | value | 编辑的内容,使用`v-model`进行双向绑定 | `string` | `undefined` |
14
+ | required | 是否规定不能为空 | `boolean` | `true` |
15
+ | validate | 验证规则,可以为函数/正则/正则字符串,若为字符串将转为正则表达式;函数则会传入当前编辑框的值来调用函数验证,返回`true`则验证通过,否则验证失败 | `(v: string) => boolean` | `RegExp` | `string` | `undefined` |
16
+ | disabled | 是否禁用编辑 | `boolean` | `false` |
17
+ | tip | 编辑按钮提示文案 | `string` | `"编辑"` |
18
+ | trim | 是否去掉前后空白字符 | `boolean` | `true` |
19
+ | invalid | 是否为验证失败状态 | `boolean` | `false` |
25
20
 
26
21
  # 事件
27
22
 
28
23
  | 事件名 | 说明 | 参数 |
29
24
  | --- | --- | --- |
30
- | error | 验证失败时触发 | 当前输入的值 |
31
- | change | 当值改变时触发,与`$change:value`不同的是,该事件只会在用户输入导致变更时触发 | `newValue, oldValue` |
25
+ | error | 验证失败时触发 | `(value: string) => void` |
26
+ | change | 当值改变时触发 | `(newValue: string, oldValue: string) => void` |
@@ -22,6 +22,7 @@ const classNameObj = {
22
22
  <Icon class="k-icon-edit k-editable-icon" title={tip}
23
23
  v-if={!disabled && !editing}
24
24
  ev-click={this.edit}
25
+ hoverable
25
26
  />
26
27
  <div class="c-ellipsis">
27
28
  <template v-if={!editing}>{children}</template>
@@ -13,7 +13,7 @@ const defaults = {
13
13
  }
14
14
  };
15
15
 
16
- let editable: any;
16
+ let editable: typeof defaults;
17
17
  setDefault(() => {
18
18
  editable = deepDefaults(theme, {editable: defaults}).editable;
19
19
  });
@@ -8,22 +8,22 @@ order: 0
8
8
 
9
9
  1. 给`FormItem`添加`value`属性,指定需要验证的数据。如果不指定,则不会进行任何验证
10
10
  2. 给`FormItem`添加`rules`属性,指定需要验证的规则。如果不指定,则不会进行任何验证。内置的验证规则如下:
11
- 1. `required {Boolean}`:必须填写
12
- 2. `digits {Boolean}`: 请输入数字
13
- 3. `email {Boolean}`: 请输入正确的邮箱地址
14
- 4. `url {Boolean}`: 请输入正确的网址
11
+ 1. `required {boolean}`:必须填写
12
+ 2. `digits {boolean}`: 请输入数字
13
+ 3. `email {boolean}`: 请输入正确的邮箱地址
14
+ 4. `url {boolean}`: 请输入正确的网址
15
15
  > 该规则可以验证IP地址,但是会排除`192.168.X.X | 192.254.X.X | 172.16.0.0 - 172.31.255.255 | 10.X.X.X | 172.X.X.X`这类保留IP地址
16
- 5. `date {Boolean}`:请输入正确的日期
17
- 6. `dateISO {Boolean}`:请输入正确的日期(YYYY-MM-DD)
18
- 7. `number {Boolean}`:请输入正确的数
19
- 8. `maxLength {Number}`:如果检验的值是数组:最多选择n项;如果检验的值是字符串:最多输入n个字符
20
- 9. `minLength {Number}`:同上(检验最少长度)
21
- 10. `rangeLength {Array<Number>}`:同上,检验长度的范围
22
- 11. `max {Number}`:请输入不大于n的数
23
- 12. `min {Number}`:请输入不小于n的数
24
- 13. `range {Array<Number>}`:请输入min到max之间的数
25
- 14. `step {Number}`:请输入步长为n的数
26
- 15. `equalTo {String}`:两次输入不一致
16
+ 5. `date {boolean}`:请输入正确的日期
17
+ 6. `dateISO {boolean}`:请输入正确的日期(YYYY-MM-DD)
18
+ 7. `number {boolean}`:请输入正确的数
19
+ 8. `maxLength {number}`:如果检验的值是数组:最多选择n项;如果检验的值是字符串:最多输入n个字符
20
+ 9. `minLength {number}`:同上(检验最少长度)
21
+ 10. `rangeLength {Array<number>}`:同上,检验长度的范围
22
+ 11. `max {number}`:请输入不大于n的数
23
+ 12. `min {number}`:请输入不小于n的数
24
+ 13. `range {Array<number>}`:请输入min到max之间的数
25
+ 14. `step {number}`:请输入步长为n的数
26
+ 15. `equalTo {string}`:两次输入不一致
27
27
  3. 给`FormItem`添加`messages`属性,指定验证失败时展示的错误提示。默认内容如上所示
28
28
  4. 给`FormItem`添加`classNames`属性,指定验证失败时错误元素需要额外添加的`className`,默认不添加
29
29
 
@@ -11,23 +11,30 @@ sidebar: doc
11
11
 
12
12
  | 属性 | 说明 | 类型 | 默认值 |
13
13
  | --- | --- | --- | --- |
14
- | labelWidth | 定义所有子孙`FormItem`组件的`label`宽度 | `String` &#124; `Number` | `undefined` |
14
+ | labelWidth | 定义所有子孙`FormItem`组件的`label`宽度 | `string` &#124; `number` | `undefined` |
15
15
  | layout | 指定表单布局方式 | `"horizontal"` &#124; `"vertical"` &#124; `"inline"` | `"horizontal"` |
16
- | starOnRequired | 当`FormItem`必填时,是否在`label`前面展示`*` | `Boolean` | `false` |
16
+ | starOnRequired | 当`FormItem`必填时,是否在`label`前面展示`*` | `boolean` | `false` |
17
+ | size | 定义表单之间的间隔大小 | `"default"` &#124; `"small"` &#124; `"mini"` | `"default"` |
17
18
 
18
19
  ## FormItem
19
20
 
20
21
  | 属性 | 说明 | 类型 | 默认值 |
21
22
  | --- | --- | --- | --- |
22
- | value | 指定需要验证的数据 | `*` | `undefined` |
23
- | rules | 指定验证规则 | `Object` | `{}` |
24
- | messages | 指定验证失败时错误提示文案 | `Object` | `{}` |
25
- | classNames | 指定验证失败时添加的className | `Object` | `{}` |
26
- | label | 指定表单每一项前面展示的标题 | `String` | `undefined` |
27
- | htmlFor | 指定`label`的`for`属性 | `String` | `undefined` |
28
- | hideLabel | 是否隐藏`label`,默认会展示`label`,即使该属性为空,也会展示占位元素 | `Boolean` | `false` |
29
- | fluid | `FormItem`的宽度默认是被子元素撑开的,添加该属性可以渲染`100%`的宽度 | `Boolean` | `false` |
30
- | size | 控制`FormItem`的间距 | `"default"` &#124; `"small"` &#124; `"mini"` | `"default"` |
23
+ | value | 指定需要验证的数据 | `any` | `undefined` |
24
+ | rules | 指定验证规则 | `Record<string, any>` | `undefined` |
25
+ | messages | 指定验证失败时错误提示文案 | `Record<string, Message>` | `undefined` |
26
+ | classNames | 指定验证失败时添加的className | `Record<string, Classname>` | `undefined` |
27
+ | errorClassName | 指定验证失败时统一添加的className,不管是哪个规则导致的失败 | `string` | `undefined` |
28
+ | label | 指定表单每一项前面展示的标题 | `string` | `undefined` |
29
+ | htmlFor | 指定`label`的`for`属性 | `string` | `undefined` |
30
+ | hideLabel | 是否隐藏`label`,默认会展示`label`,即使该属性为空,也会展示占位元素 | `boolean` | `false` |
31
+ | fluid | `FormItem`的宽度默认是被子元素撑开的,添加该属性可以渲染`100%`的宽度 | `boolean` | `false` |
32
+
33
+ ```ts
34
+ type Method = (value: any, param: any) => boolean | string
35
+ type Message = string | ((value: any, param: any) => string)
36
+ type ClassName = string | ((value: any, param: any) => string)
37
+ ```
31
38
 
32
39
  # 扩展点
33
40
 
@@ -45,7 +52,7 @@ sidebar: doc
45
52
 
46
53
  | 事件名 | 说明 | 参数 |
47
54
  | --- | --- | --- |
48
- | submit | 当表单提交并且所有规则都验证通过时触发 | 1. `Event` <br /> 2. `Form`实例 |
55
+ | submit | 当表单提交并且所有规则都验证通过时触发 | `(event: Event) => void` |
49
56
 
50
57
  # 方法
51
58
 
@@ -53,7 +60,7 @@ sidebar: doc
53
60
 
54
61
  | 方法名 | 说明 | 参数 | 返回值 |
55
62
  | --- | --- | --- | --- |
56
- | validate | 验证表单所有规则 | - | `Promise`: `.then(valid => {})`,`valid`为`true`验证成功,否则失败 |
63
+ | validate | 验证表单所有规则 | - | `Promise<boolean>`: `.then(valid => {})`,`valid`为`true`验证成功,否则失败 |
57
64
  | reset | 重置表单验证状态 | - | `undefined` |
58
65
  | getFirstInvalidFormItem | 获取第一条出错的`FormItem` | - | `FormItem` |
59
66
 
@@ -67,4 +74,13 @@ sidebar: doc
67
74
  | --- | --- | --- | --- |
68
75
  | addMethod | 添加全局验证规则,这样在所有`FormItem`中如果需要使用该规则,只需要在`rules`中写上该规则名即可 | 1. `name` 指定规则名称,不能重复 <br /> 2. `method` 指定该规则的验证函数,该函数返回`true`或`false`来标识验证成功或失败,如果返回字符串,则直接当做错误文案展示,该函数将传入3个参数:1. 当前验证的值,2. 当前验证的`FormItem`实例,3. 当前规则的参数,即使用该规则时指定的值 <br /> 3. `message` 验证失败时的错误提示文案,该值可以为字符串或者函数,如果为函数,传入参数同`method`,用于个性化文案提示 <br /> 4. `className` 验证失败时添加的类名 | `undefined` |
69
76
 
77
+ ```ts
78
+ export declare const addMethod: (
79
+ name: string,
80
+ method: Method,
81
+ message?: Message | undefined,
82
+ className?: ClassName | undefined
83
+ ) => void;
84
+ ```
85
+
70
86
  [1]: https://github.com/ksc-fe/kpc/issues/6
@@ -1,4 +1,4 @@
1
- import BasicDemo from '~/components/form/demos/basic';
1
+ import BasicDemo, {data as basicDemoData} from '~/components/form/demos/basic';
2
2
  import CustomDemo from '~/components/form/demos/custom';
3
3
  import VariableDemo from '~/components/form/demos/variable';
4
4
  import RemoteDemo from '~/components/form/demos/remote';
@@ -24,7 +24,7 @@ describe('Form', () => {
24
24
  afterEach(() => unmount());
25
25
 
26
26
  it('validate', async () => {
27
- const [instance, element] = mount(BasicDemo);
27
+ const [instance, element] = mount(BasicDemo, null, basicDemoData);
28
28
  const form = instance.refs.form as Form;
29
29
 
30
30
  await instance.handleSubmit();
@@ -53,14 +53,14 @@ describe('Form', () => {
53
53
  const [input, input1] = Array.from<HTMLElement>(element.querySelectorAll('input'));
54
54
  instance.set<{'descriptions.0': string}>('descriptions.0', '1');
55
55
  dispatchEvent(input, 'focusout');
56
- await wait(300);
56
+ await wait(500);
57
57
  expect(element.innerHTML).to.matchSnapshot();
58
58
 
59
59
  instance.set<{'descriptions.0': string}>('descriptions.0', 'a');
60
60
  expect(element.innerHTML).to.matchSnapshot();
61
61
  instance.set<{'descriptions.1': string}>('descriptions.1', 'a');
62
62
  dispatchEvent(input1, 'focusout');
63
- await wait(300);
63
+ await wait(500);
64
64
  expect(element.innerHTML).to.matchSnapshot();
65
65
  instance.set<{'descriptions.1': string}>('descriptions.1', 'b');
66
66
  expect(element.innerHTML).to.matchSnapshot();
@@ -74,10 +74,10 @@ describe('Form', () => {
74
74
  expect(res).to.be.true;
75
75
 
76
76
  instance.set('firstName', 'a');
77
- await wait(100);
77
+ await wait(500);
78
78
  expect(element.innerHTML).to.matchSnapshot();
79
79
  instance.set('lastName', 'b');
80
- await wait(100);
80
+ await wait(500);
81
81
  expect(element.innerHTML).to.matchSnapshot();
82
82
  });
83
83
 
@@ -90,14 +90,14 @@ describe('Form', () => {
90
90
  await wait();
91
91
  let res = await form.validate();
92
92
  expect(res).to.be.false;
93
- await wait(300);
93
+ await wait(500);
94
94
  expect(element.innerHTML).to.matchSnapshot();
95
95
 
96
96
  i.set('userName', 'b');
97
97
  await wait();
98
98
  res = await form.validate();
99
99
  expect(res).to.be.true;
100
- await wait(300);
100
+ await wait(500);
101
101
  expect(element.innerHTML).to.matchSnapshot();
102
102
  });
103
103
 
@@ -3,6 +3,7 @@ import {Tooltip} from '../tooltip';
3
3
  import {Icon} from '../icon';
4
4
  import {Transition} from 'intact';
5
5
  import {makeItemStyles} from './styles';
6
+ import {context as ErrorContext} from './useError';
6
7
 
7
8
  const {
8
9
  className, children, label,
@@ -49,7 +50,11 @@ const {ellipsis, message, errorRef} = this.error;
49
50
  <b:label>{label}</b:label>
50
51
  </label>
51
52
  <div class="k-form-content">
52
- <b:content>{children}</b:content>
53
+ <ErrorContext.Provider value={isDirty && !isValid}>
54
+ <template>
55
+ <b:content>{children}</b:content>
56
+ </template>
57
+ </ErrorContext.Provider>
53
58
  <Transition key="error" name="k-fade" >
54
59
  <div v-if={isDirty && !isValid}
55
60
  class={{
@@ -138,7 +138,12 @@ export const messages: Record<string, Message> = {
138
138
 
139
139
  export const classNames: Record<string, ClassName> = {};
140
140
 
141
- export const addMethod = function(name: string, method: Method, message?: Message, className?: ClassName) {
141
+ export const addMethod = function(
142
+ name: string,
143
+ method: Method,
144
+ message?: Message,
145
+ className?: ClassName
146
+ ) {
142
147
  methods[name] = method;
143
148
  messages[name] = message !== undefined ? message : messages[name];
144
149
  if (className) {
@@ -33,7 +33,7 @@ const defaults = {
33
33
  },
34
34
  };
35
35
 
36
- let form: any;
36
+ let form: typeof defaults;
37
37
  setDefault(() => {
38
38
  form = deepDefaults(theme, {form: defaults}).form;
39
39
  });
@@ -3,12 +3,15 @@ import type {FormItem} from './item';
3
3
  import {useState, watchState} from '../../hooks/useState';
4
4
  import {messages as globalMessages, classNames as globalClassNames} from './methods';
5
5
  import {isFunction} from 'intact-shared';
6
+ import {createContext} from '../context';
6
7
 
7
8
  // enum MessageOrClassname {
8
9
  // Message,
9
10
  // ClassName,
10
11
  // }
11
12
 
13
+ export const context = createContext();
14
+
12
15
  export function useError() {
13
16
  const instance = useInstance() as FormItem;
14
17
  const ellipsis = useState(false);
@@ -82,7 +82,7 @@ export function useValidate(
82
82
  return [
83
83
  false,
84
84
  result || getErrorMessage(ruleName),
85
- getErrorMessage(ruleName),
85
+ getErrorClassName(ruleName),
86
86
  ];
87
87
  }
88
88
  }
@@ -94,7 +94,7 @@ export function useValidate(
94
94
  message = err;
95
95
  } else if (err) {
96
96
  message = err.message || getErrorMessage(err.name);
97
- className = err.className || getErrorMessage(err.name);
97
+ className = err.className || getErrorClassName(err.name);
98
98
  }
99
99
 
100
100
  return [false, message!, className!];
@@ -22,7 +22,7 @@ const {className, children, span, style, offset, push, pull, order} = this.get()
22
22
  return (
23
23
  <div class={classNameObj} {...getRestProps(this)} style={newStyle}>
24
24
  {gutter ?
25
- <div class={className}>{children}</div> :
25
+ <div class={{'k-col-wrapper': true, [className]: className}}>{children}</div> :
26
26
  children
27
27
  }
28
28
  </div>
@@ -11,23 +11,44 @@ sidebar: doc
11
11
 
12
12
  | 属性 | 说明 | 类型 | 默认值 |
13
13
  | --- | --- | --- | --- |
14
- | gutter | 栅格间距,单位`px`;也可以以对象的方式指定响应式间距 | `Number` &#124; `Object` | `0` |
14
+ | gutter | 栅格间距,单位`px`;也可以以对象的方式指定响应式间距 | `PrimitiveValue` &#124; `BreakpointValue` | `undefined` |
15
15
  | justify | 定义列水平方向布局,会自动启用`flex`布局 | `"start"` &#124; `"end"` &#124; `"center"` &#124; `"between"` &#124; `"around"` &#124; `"evenly"` | `undefined` |
16
16
  | align | 定义列垂直方向布局,会自动启用`flex`布局 | `"top"` &#124; `"bottom"` &#124; `"middle"` &#124; `"stretch"` &#124; `"baseline"` | `undefined` |
17
- | flex | 是否强制启用`flex`布局 | `Boolean` | `false` |
17
+
18
+ ```ts
19
+ export type Breakpoint = 'xxl' | 'xl' | 'lg' | 'md' | 'sm' | 'xs';
20
+ export type PrimitiveValue = string | number
21
+ export type BreakpointValue = {
22
+ [key in Breakpoint]?: PrimitiveValue
23
+ };
24
+ export type Value = PrimitiveValue | BreakpointValue;
25
+ ```
18
26
 
19
27
  ## Col
20
28
 
21
29
  | 属性 | 说明 | 类型 | 默认值 |
22
30
  | --- | --- | --- | --- |
23
- | span | 栅格所占宽度,可选值为0到24的整数 | `String` &#124; `Number` | `24` |
24
- | offset | 栅格左侧偏移量 | `String` &#124; `Number` | `0` |
25
- | order | 定义列的顺序,会自动启用`flex`布局 | `String` &#124; `Number` | `0` |
26
- | pull | 定义列距离右边界的栅格数 | `String` &#124; `Number` | `0` |
27
- | push | 定义列距离左边界的栅格数 | `String` &#124; `Number` | `0` |
28
- | xs | 响应式宽度 `<576px` | `String` &#124; `Number` &#124; `Object` | `undefined` |
29
- | sm | 响应式宽度 `≥576px` | `String` &#124; `Number` &#124; `Object` | `undefined` |
30
- | md | 响应式宽度 `≥768px` | `String` &#124; `Number` &#124; `Object` | `undefined` |
31
- | lg | 响应式宽度 `≥992px` | `String` &#124; `Number` &#124; `Object` | `undefined` |
32
- | xl | 响应式宽度 `≥1200px` | `String` &#124; `Number` &#124; `Object` | `undefined` |
33
- | xxl | 响应式宽度 `≥1600px` | `String` &#124; `Number` &#124; `Object` | `undefined` |
31
+ | span | 栅格所占宽度,可选值为0到24的整数 | `string` &#124; `number` | `24` |
32
+ | offset | 栅格左侧偏移量 | `string` &#124; `number` | `0` |
33
+ | order | 定义列的顺序,会自动启用`flex`布局 | `string` &#124; `number` | `0` |
34
+ | pull | 定义列距离右边界的栅格数 | `string` &#124; `number` | `0` |
35
+ | push | 定义列距离左边界的栅格数 | `string` &#124; `number` | `0` |
36
+ | xs | 响应式宽度 `<576px` | `BreakpointValue` | `undefined` |
37
+ | sm | 响应式宽度 `≥576px` | `BreakpointValue` | `undefined` |
38
+ | md | 响应式宽度 `≥768px` | `BreakpointValue` | `undefined` |
39
+ | lg | 响应式宽度 `≥992px` | `BreakpointValue` | `undefined` |
40
+ | xl | 响应式宽度 `≥1200px` | `BreakpointValue` | `undefined` |
41
+ | xxl | 响应式宽度 `≥1600px` | `BreakpointValue` | `undefined` |
42
+
43
+ ```ts
44
+ export type BaseColProps = {
45
+ span?: PrimitiveValue,
46
+ offset?: PrimitiveValue,
47
+ order?: PrimitiveValue,
48
+ pull?: PrimitiveValue,
49
+ push?: PrimitiveValue,
50
+ }
51
+ type BreakpointValue =
52
+ | PrimitiveValue
53
+ | {[key in keyof BaseColProps]?: PrimitiveValue}
54
+ ```
@@ -6,7 +6,7 @@ import {breakpoints, responsiveMap} from './constants';
6
6
 
7
7
  const defaults = {};
8
8
 
9
- let grid: any;
9
+ let grid: typeof defaults;
10
10
  setDefault(() => {
11
11
  grid = deepDefaults(theme, {grid: defaults}).grid;
12
12
  });
@@ -59,6 +59,9 @@ export function makeColStyles() {
59
59
  return css`
60
60
  position: relative;
61
61
  width: 100%;
62
+ .k-col-wrapper {
63
+ height: 100%;
64
+ }
62
65
  ${colsStyles}
63
66
  `;
64
67
  }
@@ -9,5 +9,7 @@ sidebar: doc
9
9
 
10
10
  | 属性 | 说明 | 类型 | 默认值 |
11
11
  | --- | --- | --- | --- |
12
- | size | 定义图标尺寸 | `"default"` &#124; `"large"` &#124; `"small"` &#124; `"mini"` &#124; `String` &#124; `Number` | `"default"` |
13
- | color | 图标颜色 | `"default"` &#124; `"primary"` &#124; `"danger"` &#124; `"warning"` &#124; `"success"` &#124; `String` | `undefined` |
12
+ | size | 定义图标尺寸 | `"default"` &#124; `"large"` &#124; `"small"` &#124; `"mini"` &#124; `string` &#124; `number` | `"default"` |
13
+ | color | 图标颜色 | `"default"` &#124; `"primary"` &#124; `"danger"` &#124; `"warning"` &#124; `"success"` &#124; `string` | `undefined` |
14
+ | rotate | 是否一直旋转图标 | `boolean` | `false` |
15
+ | hoverable | 图标是否具有`hover`效果 | `boolean` | `false` |
@@ -1,7 +1,7 @@
1
1
  import {addStyle, getRestProps} from '../utils';
2
2
  import makeStyles from './styles';
3
3
 
4
- const {className, style, size, color, rotate, hoverable} = this.get();
4
+ const {className, style, size, color, rotate, hoverable, children} = this.get();
5
5
 
6
6
  const classNameObj = {
7
7
  'k-icon': true,
@@ -28,4 +28,4 @@ if (this.colors.indexOf(color) > -1) {
28
28
  <i class={classNameObj}
29
29
  style={addStyle(style, _style)}
30
30
  {...getRestProps(this)}
31
- ></i>
31
+ >{children}</i>
@@ -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> => ({