@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
@@ -10,10 +10,10 @@ export interface DLineProps extends DBaseProps {
10
10
  endArrow?: Arrow
11
11
  startPoint?: Point
12
12
  endPoint?: Point
13
- exit?: Point
14
- entry?: Point
15
13
  from?: Key
16
14
  to?: Key
15
+ exit?: Point
16
+ entry?: Point
17
17
  }
18
18
 
19
19
  type Arrow =
@@ -57,7 +57,6 @@ const arrows: Arrow[] = [
57
57
 
58
58
  const typeDefs: Required<TypeDefs<DLineProps>> = {
59
59
  ...DBase.typeDefs,
60
- strokeStyle: ['solid', 'dashed', 'dotted'],
61
60
  type: ['rounded', 'sharp', 'curved', 'straight'],
62
61
  startArrow: arrows,
63
62
  endArrow: arrows,
@@ -10,7 +10,7 @@ import {useMouseOutsidable} from '../../hooks/useMouseOutsidable';
10
10
  import {useDraggable} from './useDraggable';
11
11
  import {useEscClosable} from './useEscClosable';
12
12
  import {SHOW, HIDE, DIALOG} from './constants';
13
- import {useFixBody} from './useFixBody';
13
+ import {useFixBody, setHooks} from './useFixBody';
14
14
  import type {Events} from '../types';
15
15
 
16
16
  export interface BaseDialogProps {
@@ -100,6 +100,7 @@ export class BaseDialog<
100
100
  static typeDefs = typeDefs;
101
101
  static defaults = defaults;
102
102
  static events = events;
103
+ static setHooks = setHooks;
103
104
 
104
105
  public dialogRef = createRef<HTMLDivElement>();
105
106
 
@@ -6,8 +6,6 @@ order: 1
6
6
  组件提供了`header`和`footer`扩展点(block),通过它们可以自定义头部和底部。有时候我们可能想
7
7
  完整去掉整个底部`footer`,这可以通过置空`footer-wrapper`这个扩展点做到。
8
8
 
9
- > 可以通过`parent()`引用到组件定义的默认内容
10
-
11
9
  > vue会忽略所有空`slot`,所以如果要重置`footer-wrapper`可以传一个空`div`代替
12
10
 
13
11
  ```vdt
@@ -61,9 +59,8 @@ import {Button, Dialog} from 'kpc';
61
59
 
62
60
  <template slot="footer">
63
61
  Custom Footer
64
- <!-- vue不支持parent()引用,我们需要重新定义按钮 -->
65
- <Button @click="show = false">取消</Button>
66
62
  <Button type="primary" @click="show = false">确认</Button>
63
+ <Button @click="show = false">取消</Button>
67
64
  </template>
68
65
  </Dialog>
69
66
  <Dialog v-model="show1" title="No Footer">
@@ -82,14 +79,16 @@ data() {
82
79
  },
83
80
  ```
84
81
 
85
- ```jsx
82
+ ```tsx
86
83
  import React from 'react';
87
- import Button from 'kpc';
88
- import Dialog from 'kpc';
84
+ import {Button, Dialog} from '@king-design/react';
89
85
  import './index.styl';
90
86
 
91
87
  export default class Demo extends React.Component {
92
- state = {}
88
+ state = {
89
+ show: false,
90
+ show1: false,
91
+ }
93
92
 
94
93
  render() {
95
94
  return (
@@ -101,7 +100,7 @@ export default class Demo extends React.Component {
101
100
  type="primary"
102
101
  >Show No Footer Dialog</Button>
103
102
  <Dialog value={this.state.show}
104
- ev$change-value={(c, show) => this.setState({show})}
103
+ onChangeValue={(show) => this.setState({show})}
105
104
  b-header={
106
105
  <div className="k-title">
107
106
  <i className="ion-person"></i>
@@ -111,15 +110,15 @@ export default class Demo extends React.Component {
111
110
  b-footer={
112
111
  <React.Fragment>
113
112
  Custom Footer
114
- <Button onClick={() => this.setState({show: false})}>取消</Button>
115
113
  <Button type="primary" onClick={() => this.setState({show: false})}>确认</Button>
114
+ <Button onClick={() => this.setState({show: false})}>取消</Button>
116
115
  </React.Fragment>
117
116
  }
118
117
  >
119
118
  Dialog Body
120
119
  </Dialog>
121
120
  <Dialog value={this.state.show1}
122
- on$change-value={(c, show1) => this.setState({show1})}
121
+ onChangeValue={(show1) => this.setState({show1})}
123
122
  title="No Footer"
124
123
  b-body="body"
125
124
  b-footer-wrapper=""
@@ -130,48 +129,3 @@ export default class Demo extends React.Component {
130
129
  }
131
130
  }
132
131
  ```
133
-
134
- ```angular
135
- // import {Component} from '@angular/core';
136
- //
137
- // @Component({
138
- // selector: 'app-demo',
139
- // template: `
140
- // <div>
141
- // <k-button (click)="set('show', true)"
142
- // type="primary"
143
- // >Show Dialog</k-button>
144
- // <k-button (click)="set('show1', true)"
145
- // type="primary"
146
- // >Show No Footer Dialog</k-button>
147
- // <k-dialog [(value)]="show">
148
- // <ng-template #header>
149
- // <div class="k-title">
150
- // <i class="ion-person"></i>
151
- // Custom Header
152
- // </div>
153
- // </ng-template>
154
- //
155
- // Dialog Body
156
- //
157
- // <ng-template #footer>
158
- // Custom Footer
159
- // <k-button (click)="show = false">取消</k-button>
160
- // <k-button type="primary" (click)="show = false">确认</k-button>
161
- // </ng-template>
162
- // </k-dialog>
163
- // <k-dialog [(value)]="show1" title="No Footer">
164
- // <ng-template #body>body</ng-template>
165
- // <ng-template #footer_wrapper></ng-template>
166
- // </k-dialog>
167
- // </div>
168
- // `,
169
- // styleUrls: ['./index.styl'],
170
- // })
171
- // export class AppDemoComponent {
172
- // private show;
173
- // private show1;
174
- //
175
- // set(key, value) { this[key] = value; }
176
- // }
177
- ```
@@ -4,7 +4,7 @@ order: 0.2
4
4
  ---
5
5
 
6
6
  添加`size`属性,定义如下尺寸:`large`, `default`,`small`,`mini`;另外你也可以通过`width`属性,给弹窗指定宽度,
7
- 如果该值为`Number`类型,则默认单位为`px`,`String`类型时,你需要指定单位
7
+ 如果该值为`number`类型,则默认单位为`px`,`string`类型时,你需要指定单位
8
8
 
9
9
  > `width`优先级高于`size`
10
10
 
@@ -9,67 +9,64 @@ sidebar: doc
9
9
  > 滚动,同时会添加`padding-right`来保证页面不闪动,但如果你页面存在`position: fixed`元素,则依然
10
10
  > 可能会在弹窗弹出时闪动。
11
11
  >
12
- > 组件提供了两个全局配置,用来自定义元素的修正逻辑。例如:本文档网站的配置如下
13
- > ```js
12
+ > 组件提供了钩子函数,用来自定义元素的修正逻辑。例如:本文档网站的配置如下
13
+ > ```ts
14
14
  > // @code
15
- > import {configure} from 'kpc';
16
- >
17
- > configure({
18
- > onDialogOpen(scrollbarWidth) {
19
- > document.body.style.backgroundColor = '#f1f1f5';
20
- > const header = document.querySelector('.header-wrapper');
21
- > if (header) {
22
- > header.style.paddingRight = `${scrollbarWidth}px`;
23
- > }
24
- > const tableOfContents = document.querySelector('.table-of-contents');
25
- > if (tableOfContents) {
26
- > tableOfContents.style.right = `${scrollbarWidth}px`;
27
- > }
28
- > },
15
+ > import {Dialog} from 'kpc';
29
16
  >
30
- > onDialogClose() {
31
- > const header = document.querySelector('.header-wrapper');
32
- > if (header) {
33
- > header.removeAttribute('style');
34
- > }
35
- > const tableOfContents = document.querySelector('.table-of-contents');
36
- > if (tableOfContents) {
37
- > tableOfContents.removeAttribute('style');
38
- > }
39
- > },
40
- > });
17
+ > Dialog.setHooks({
18
+ > onStart(scrollBarWidth) {
19
+ > if (scrollBarWidth) {
20
+ > const header = document.querySelector<HTMLElement>('.k-layout-header');
21
+ > if (header) {
22
+ > header.style.paddingRight = `${scrollBarWidth}px`;
23
+ > }
24
+ > }
25
+ > },
26
+ > onEnd() {
27
+ > const header = document.querySelector<HTMLElement>('.k-layout-header');
28
+ > if (header) {
29
+ > header.style.paddingRight = '0';
30
+ > }
31
+ > }
32
+ >});
41
33
  > ```
42
34
 
43
35
  # 属性
44
36
 
45
37
  | 属性 | 说明 | 类型 | 默认值 |
46
38
  | --- | --- | --- | --- |
47
- | title | 弹窗标题 | `String` | `"提示"` |
48
- | overlay | 是否展示遮罩层 | `Boolean` | `true` |
49
- | closable | 点击遮罩层是否可以关闭弹窗 | `Boolean` | `true` |
50
- | value | 弹窗是否展示出来 | `Boolean` | `false` |
39
+ | title | 弹窗标题 | `string` | `"提示"` |
40
+ | value | 弹窗是否展示出来 | `boolean` | `false` |
51
41
  | size | 弹窗尺寸 | `"large"` &#124; `"default"` &#124; `"small"` &#124; `"mini"` | `"default"` |
52
- | loading | “确定”按钮是否为加载状态 | `Boolean` | `false` |
53
- | okText | “确定”按钮文案 | `String` | `"确定"` |
54
- | cancelText | “取消”按钮文案 | `String` | `"取消"` |
55
- | disabledOk | “确定”按钮是否为禁用状态 | `Boolean` | `false` |
56
- | ok | “确定”按钮点击后自定义回调函数 | `Function` | `undefined` |
57
- | cancel | “取消”按钮点击后自定义回调函数 | `Function` | `undefined` |
58
- | container | 指定弹层插入的容器,默认会追加到`body`中。你可以传入函数返回一个DOM用来作为插入的容器,或者传入字符串用来给`querySelector`进行查询 | `Function` &#124; `String` | `undefined` |
59
- | hideClose | 是否隐藏右上角关闭按钮 | `Boolean` | `false` |
60
- | escClosable | 是否按ESC时关闭弹窗 | `Boolean` | `true` |
61
- | terminate | 指定在用户点击“关闭”按钮,点击遮罩层或者按ESC键时的回调函数 | `Function` | `undefined` |
62
- | width | 指定弹窗宽度,`Number`类型时,单位为`px`;`String`类型时,需要指定单位 | `Number` &#124; `String` | `undefined` |
42
+ | loading | “确定”按钮是否为加载状态 | `boolean` | `false` |
43
+ | disabledOk | “确定”按钮是否为禁用状态 | `boolean` | `false` |
44
+ | okText | “确定”按钮文案 | `string` | `"确定"` |
45
+ | cancelText | “取消”按钮文案 | `string` | `"取消"` |
46
+ | ok | “确定”按钮点击后自定义回调函数 | `() => void` | `undefined` |
47
+ | cancel | “取消”按钮点击后自定义回调函数 | `() => void` | `undefined` |
48
+ | container | 指定弹层插入的位置,默认会追加到`body`中,你可以传入函数返回一个DOM用来作为插入的容器,或者传入字符串用来给`querySelector`进行查询 | `Container` | `undefined` |
49
+ | hideClose | 是否隐藏右上角关闭按钮 | `boolean` | `false` |
50
+ | overlay | 是否展示遮罩层 | `boolean` | `true` |
51
+ | closable | 点击遮罩层是否可以关闭弹窗 | `boolean` | `true` |
52
+ | terminate | 指定在用户点击“关闭”按钮,点击遮罩层或者按ESC键时的回调函数 | `() => void` | `undefined` |
53
+ | escClosable | 是否按ESC时关闭弹窗 | `boolean` | `true` |
54
+ | width | 指定弹窗宽度,`number`类型时,单位为`px`;`string`类型时,需要指定单位 | `number` &#124; `string` | `undefined` |
63
55
  | mode | 指定主体元素在关闭状态下的渲染方式,`"destroy"`代表直接销毁,`"hide"`代表只是隐藏 | `"destroy"` &#124; `"hide"` | `"hide"` |
64
56
 
57
+ ```ts
58
+ export type Container = string | ((parentDom: Element, anchor: Node | null) => Element)
59
+ ```
60
+
65
61
  # 扩展点
66
62
 
67
63
  | 名称 | 说明 |
68
64
  | --- | --- |
65
+ | content | 定义整个弹窗体,包括header,body,footer |
69
66
  | header | 扩展弹窗头部 |
70
67
  | body | 扩展弹窗主体部分 |
71
68
  | footer | 扩展弹窗底部 |
72
- | footer-wrapper | 扩展弹窗整个底部,上述`footer`是它下面一个子扩展点 |
69
+ | footerWrapper | 扩展弹窗整个底部,上述`footer`是它下面一个子扩展点 |
73
70
 
74
71
  # 方法
75
72
 
@@ -96,33 +93,27 @@ sidebar: doc
96
93
  | error | 错误提示窗口 | `Options` | `Promise` |
97
94
  | confirm | 确定提示窗口 | `Options` | `Promise` |
98
95
 
99
- 其中`Options`对象常用属性说明如下
100
-
101
- > `Dialog`属性大都支持
96
+ 其中`Options`对象常用属性说明如下,除了`Dialog`的属性外,还支持如下属性
102
97
 
103
98
  | 属性 | 说明 | 类型 | 默认值 |
104
99
  | --- | --- | --- | --- |
105
- | title | 弹窗标题,如果传入标题,则展示样式会有所不同 | `String` | `undefined` |
106
- | content | 弹窗内容 | `String` &#124; `Number` &#124; `VNode` &#124; <code>Array&lt;String &#124; Number &#124; VNode&gt;</code> | `undefined` |
100
+ | content | 弹窗内容 | `string` &#124; `VNode` &#124; <code>Array&lt;string &#124; VNode&gt;</code> | `undefined` |
107
101
  | size | 弹窗尺寸 | `"large"` &#124; `"default"` &#124; `"small"` &#124; `"mini"` | `"default"` |
108
- | okText | “确定”按钮文案 | `String` | `"确定"` |
109
- | cancelText | “取消”按钮文案 | `String` | `"取消"` |
110
- | hideIcon | 是否隐藏提示图标 | `Boolean` | `false` |
111
- | hideFooter | 是否隐藏底部按钮 | `Boolean` | `false` |
112
- | showClose | 是否展示关闭按钮 | `Boolean` | `false` |
102
+ | hideIcon | 是否隐藏提示图标 | `boolean` | `false` |
103
+ | hideFooter | 是否隐藏底部按钮 | `boolean` | `false` |
113
104
 
114
105
  其中`Promise`对象会在点击“确定”按钮时`resolve()`,在点击“取消”按钮时`reject()`,你可以在`then()`
115
106
  中书写用户点击不同按钮的逻辑
116
107
 
117
108
  > 只有`confirm`类型的提示窗口才有“取消”按钮
118
109
 
119
-
120
110
  # 事件
121
111
 
122
112
  | 事件名 | 说明 | 参数 |
123
113
  | --- | --- | --- |
124
- | cancel | 点击取消按钮时触发 | - |
125
- | ok | 点击确定按钮时触发 | - |
126
114
  | open | 弹窗打开后触发 | - |
127
115
  | close | 弹窗关闭后触发,不管是什么原因导致的关闭 | - |
116
+ | ok | 点击确定按钮时触发 | - |
117
+ | cancel | 点击取消按钮时触发 | - |
128
118
  | terminate | 用户强行关闭弹窗时触发,即:点击“关闭”按钮,点击遮罩层,按ESC键 | - |
119
+ | afterClose | 弹窗退出动画执行完成后触发 | - |
@@ -3,14 +3,13 @@ import {Dialog, BaseDialog, DialogProps} from './';
3
3
  import {getElement, mount, unmount, dispatchEvent, wait} from '../../test/utils';
4
4
  import BasicDemo from '~/components/dialog/demos/basic';
5
5
  import AsyncCloseDemo from '~/components/dialog/demos/asyncClose';
6
- import AsyncOpenDemo from '~/components/dialog/demos/asyncOpen';
7
6
  import TerminateDemo from '~/components/dialog/demos/terminate';
8
7
  import DestroyDemo from '~/components/dialog/demos/destroy';
9
8
 
10
9
  describe('Dialog', () => {
11
10
  afterEach((done) => {
12
11
  unmount();
13
- setTimeout(done, 400);
12
+ setTimeout(done, 500);
14
13
  });
15
14
 
16
15
  function expectDialog() {
@@ -143,10 +142,9 @@ describe('Dialog', () => {
143
142
 
144
143
  it('demos test', async function() {
145
144
  this.timeout(0);
146
- const req = require.context('~/components/dialog/demos', true, /^((?!async).)*index\.ts$/i);
145
+ const req = require.context('~/components/dialog/demos', true, /^((?!static).)*index\.ts$/i);
147
146
  for (const item of req.keys()) {
148
147
  if (!item.startsWith('.')) continue;
149
- if (/static/.test(item)) continue;
150
148
 
151
149
  const Demo = req(item).default;
152
150
  const [instance, element] = mount(Demo);
@@ -174,20 +172,6 @@ describe('Dialog', () => {
174
172
  expect(dialog.className).to.eql(className);
175
173
  });
176
174
 
177
- it('async open', async function() {
178
- this.timeout(0);
179
-
180
- const [instance, element] = mount(AsyncOpenDemo);
181
-
182
- dispatchEvent(element.firstChild as HTMLElement, 'click');
183
- expect(getElement('.k-dialog')).to.be.undefined;
184
-
185
- await wait(3000);
186
- const dialog = expectDialog();
187
- // close
188
- dispatchEvent(dialog.querySelector('.k-dialog-ok') as HTMLElement, 'click');
189
- });
190
-
191
175
  it('drag', async () => {
192
176
  const [instance, element] = mount(BasicDemo);
193
177
 
@@ -7,6 +7,7 @@ const defaults = {
7
7
  width: '800px',
8
8
  bgColor: '#fff',
9
9
  get borderRadius() { return theme.borderRadius },
10
+ get transition() { return theme.transition.large },
10
11
  padding: '0',
11
12
  margin: '0 20px',
12
13
  get color() { return theme.color.text },
@@ -60,7 +61,7 @@ const defaults = {
60
61
  },
61
62
  };
62
63
 
63
- let dialog: any;
64
+ let dialog: typeof defaults;
64
65
  setDefault(() => {
65
66
  dialog = deepDefaults(theme, {dialog: defaults}).dialog;
66
67
  });
@@ -87,8 +88,8 @@ export function makeDialogStyles() {
87
88
  &.transition-enter-active,
88
89
  &.transition-leave-active,
89
90
  &.transition-appear-active {
90
- // transition: transform ${theme.transition}, opacity ${theme.transition};
91
- transition: all ${theme.transition};
91
+ // transition: transform ${dialog.transition}, opacity ${dialog.transition};
92
+ transition: all ${dialog.transition};
92
93
  }
93
94
  &.transition-enter-from,
94
95
  &.transition-leave-to,
@@ -4,8 +4,14 @@ import {position} from '../position';
4
4
  import {scrollbarWidth} from '../position';
5
5
  import {SHOW} from './constants';
6
6
 
7
+ type Hooks = {
8
+ onStart?: (scrollBarWidth: number | undefined) => void
9
+ onEnd?: () => void
10
+ }
11
+
7
12
  const dialogs = new Set<BaseDialog>();
8
13
  let originalStyle: string | null = null;
14
+ let hooks: Hooks | null = null;
9
15
 
10
16
  export function useFixBody(elementRef: RefObject<HTMLDivElement>) {
11
17
  const instance = useInstance() as BaseDialog;
@@ -36,6 +42,10 @@ export function useFixBody(elementRef: RefObject<HTMLDivElement>) {
36
42
  }
37
43
  }
38
44
 
45
+ export function setHooks(h: Hooks | null) {
46
+ hooks = h;
47
+ }
48
+
39
49
  function onOpen(dialog: BaseDialog) {
40
50
  const body = document.body;
41
51
  if (dialogs.size === 0) {
@@ -47,6 +57,9 @@ function onOpen(dialog: BaseDialog) {
47
57
  if (scrollBarWidth) {
48
58
  bodyStyle.paddingRight = `${scrollBarWidth}px`;
49
59
  }
60
+ if (hooks && hooks.onStart) {
61
+ hooks.onStart(scrollBarWidth);
62
+ }
50
63
  }
51
64
  dialogs.add(dialog);
52
65
  }
@@ -61,6 +74,9 @@ function onClosed(dialog: BaseDialog) {
61
74
  } else {
62
75
  body.removeAttribute('style');
63
76
  }
77
+ if (hooks && hooks.onEnd) {
78
+ hooks.onEnd();
79
+ }
64
80
  }
65
81
  }
66
82
 
@@ -9,29 +9,30 @@ sidebar: doc
9
9
 
10
10
  | 属性 | 说明 | 类型 | 默认值 |
11
11
  | --- | --- | --- | --- |
12
- | placement | 自定义位置 | `"top"` &#124; `"bottom"` &#124;`"left"` &#124;`"right"`|`"right"`|
13
- | overlay | 是否展示遮罩层 | `Boolean` | `true` |
14
- | closable | 点击遮罩层是否可以关闭抽屉 | `Boolean` | `true` |
15
- | title | 弹窗标题 | `String` | `"提示"` |
16
- | value | 弹窗是否展示出来 | `Boolean` | `false` |
12
+ | title | 弹窗标题 | `string` | `"提示"` |
13
+ | value | 弹窗是否展示出来 | `boolean` | `false` |
17
14
  | size | 弹窗尺寸 | `"large"` &#124; `"default"` &#124; `"small"` &#124; `"mini"` | `"default"` |
18
- | loading | “确定”按钮是否为加载状态 | `Boolean` | `false` |
19
- | okText | “确定”按钮文案 | `String` | `"确定"` |
20
- | cancelText | “取消”按钮文案 | `String` | `"取消"` |
21
- | disabledOk | “确定”按钮是否为禁用状态 | `Boolean` | `false` |
22
- | ok | “确定”按钮点击后自定义回调函数 | `Function` | `undefined` |
23
- | cancel | “取消”按钮点击后自定义回调函数 | `Function` | `undefined` |
24
- | container | 指定弹层插入的容器,默认会追加到`body`中。你可以传入函数返回一个DOM用来作为插入的容器,或者传入字符串用来给`querySelector`进行查询 | `Function` &#124; `String` | `undefined` |
25
- | hideClose | 是否隐藏右上角关闭按钮 | `Boolean` | `false` |
26
- | escClosable | 是否按ESC时关闭抽屉 | `Boolean` | `true` |
27
- | terminate | 指定在用户点击“关闭”按钮,点击遮罩层或者按ESC键时的回调函数 | `Function` | `undefined` |
28
- | width | 指定抽屉宽度,`Number`类型时,单位为`px`;`String`类型时,需要指定单位 | `Number` &#124; `String` | `undefined` |
29
- | mode | 指定主体元素在关闭状态下的渲染方式,`"destroy"`代表直接销毁,`"hide"`代表只是隐藏 | `"destroy"` &#124; `"hide"` | `"destroy"` |
15
+ | loading | “确定”按钮是否为加载状态 | `boolean` | `false` |
16
+ | disabledOk | “确定”按钮是否为禁用状态 | `boolean` | `false` |
17
+ | okText | “确定”按钮文案 | `string` | `"确定"` |
18
+ | cancelText | “取消”按钮文案 | `string` | `"取消"` |
19
+ | ok | “确定”按钮点击后自定义回调函数 | `() => void` | `undefined` |
20
+ | cancel | “取消”按钮点击后自定义回调函数 | `() => void` | `undefined` |
21
+ | container | 指定弹层插入的位置,默认会追加到`body`中,你可以传入函数返回一个DOM用来作为插入的容器,或者传入字符串用来给`querySelector`进行查询 | `Container` | `undefined` |
22
+ | hideClose | 是否隐藏右上角关闭按钮 | `boolean` | `false` |
23
+ | overlay | 是否展示遮罩层 | `boolean` | `true` |
24
+ | closable | 点击遮罩层是否可以关闭弹窗 | `boolean` | `true` |
25
+ | terminate | 指定在用户点击“关闭”按钮,点击遮罩层或者按ESC键时的回调函数 | `() => void` | `undefined` |
26
+ | escClosable | 是否按ESC时关闭弹窗 | `boolean` | `true` |
27
+ | width | 指定弹窗宽度,`number`类型时,单位为`px`;`string`类型时,需要指定单位 | `number` &#124; `string` | `undefined` |
28
+ | mode | 指定主体元素在关闭状态下的渲染方式,`"destroy"`代表直接销毁,`"hide"`代表只是隐藏 | `"destroy"` &#124; `"hide"` | `"hide"` |
29
+ | placement | 自定义位置 | `"top"` &#124; `"bottom"` &#124;`"left"` &#124;`"right"`|`"right"`|
30
30
 
31
31
  # 扩展点
32
32
 
33
33
  | 名称 | 说明 |
34
34
  | --- | --- |
35
+ | content | 定义整个弹窗体,包括header,body,footer |
35
36
  | header | 扩展弹窗头部 |
36
37
  | body | 扩展弹窗主体部分 |
37
38
  | footer | 扩展弹窗底部 |
@@ -54,7 +55,9 @@ sidebar: doc
54
55
 
55
56
  | 事件名 | 说明 | 参数 |
56
57
  | --- | --- | --- |
57
- | cancel | 点击取消按钮时触发 | - |
58
- | ok | 点击确定按钮时触发 | - |
59
58
  | open | 弹窗打开后触发 | - |
60
- | close | 弹窗关闭后触发 | - |
59
+ | close | 弹窗关闭后触发,不管是什么原因导致的关闭 | - |
60
+ | ok | 点击确定按钮时触发 | - |
61
+ | cancel | 点击取消按钮时触发 | - |
62
+ | terminate | 用户强行关闭弹窗时触发,即:点击“关闭”按钮,点击遮罩层,按ESC键 | - |
63
+ | afterClose | 弹窗退出动画执行完成后触发 | - |
@@ -6,7 +6,7 @@ import {mount, unmount, dispatchEvent, getElement, wait} from '../../test/utils'
6
6
  describe('Drawer', () => {
7
7
  afterEach((done) => {
8
8
  unmount();
9
- setTimeout(done, 400);
9
+ setTimeout(done, 500);
10
10
  });
11
11
 
12
12
  it('should show drawer correctly', async function() {
@@ -20,10 +20,10 @@ describe('Drawer', () => {
20
20
  const drawer = getElement('.k-dialog-wrapper')!;
21
21
  expect(drawer.innerHTML).to.matchSnapshot();
22
22
 
23
- await wait(400);
23
+ await wait(500);
24
24
  //hide
25
25
  getElement('.k-dialog-overlay')!.click();
26
- await wait(400);
26
+ await wait(500);
27
27
  expect(getElement('.k-drawer')).to.be.undefined;
28
28
  });
29
29
 
@@ -58,13 +58,13 @@ describe('Drawer', () => {
58
58
  expect(overlay).to.be.undefined;
59
59
  await wait(200);
60
60
  dispatchEvent(document, 'click');
61
- await wait(400);
61
+ await wait(500);
62
62
  const dialog = getElement('.k-dialog-wrapper')!;
63
63
  expect(dialog.innerHTML).to.matchSnapshot();
64
64
 
65
65
  const btn = dialog.querySelector('.k-dialog-ok') as HTMLElement;
66
66
  btn.click();
67
- await wait(400);
67
+ await wait(500);
68
68
  expect(getElement('.k-drawer')).to.be.undefined;
69
69
  });
70
70
  });
@@ -10,11 +10,11 @@ export type Placement = ValueOf<typeof placements>
10
10
  export const placements = ['top', 'right', 'bottom', 'left'] as const;
11
11
 
12
12
  const defaults = {
13
- get transition() { return theme.transition },
13
+ get transition() { return theme.transition.large },
14
14
  get boxShadow() { return theme.boxShadow }
15
15
  };
16
16
 
17
- let drawer: any;
17
+ let drawer: typeof defaults;
18
18
  setDefault(() => {
19
19
  drawer = deepDefaults(theme, {drawer: defaults}).drawer;
20
20
  });
@@ -6,24 +6,12 @@ order: 0
6
6
  一个完整的菜单需要用到`Dropdown`,`DropdownMenu`和`DropdownItem`三个组件。
7
7
  `Dropdown`会将第一个子元素作为触发器,第二个元素为菜单`DropdownMenu`。
8
8
 
9
- > 与`Tooltip`一样,在Intact下,`Dropdown`会返回两个元素(触发器和菜单),而不是将它们包裹起来,作为一个元素返回,
10
- > 所以不要将它作为模板的顶级元素,例如本例中,用`<div>`将之包裹起来才能作为模板元素返回。
11
-
12
- > `@since 0.9.0` `Dropdown`在`Vue/React`下渲染不会被元素包裹,这可能会影响你之前项目中定义的样式,
13
- > 如需渲染包裹元素,请做如下配置
14
- > ```js
15
- > // @code
16
- > import {configure} from 'kpc';
17
- >
18
- > // 该配置全局生效
19
- > configure({useWrapper: true});
20
- > ```
9
+ > 与`Tooltip`一样,`Dropdown`会返回两个元素(触发器和菜单),所以不要作为Vue2.0的模板顶层返回元素
10
+ > 因为Vue2.0只支持返回一个元素
21
11
 
22
12
 
23
13
  ```vdt
24
- import {Dropdown, DropdownMenu, DropdownItem} from 'kpc';
25
- import {Button} from 'kpc';
26
- import {Icon} from 'kpc';
14
+ import {Dropdown, DropdownMenu, DropdownItem, Button, Icon} from 'kpc';
27
15
 
28
16
  <div>
29
17
  <Dropdown>
@@ -45,5 +33,5 @@ import {Icon} from 'kpc';
45
33
  transition transform .25s ease-in-out
46
34
  .k-dropdown-open
47
35
  .k-icon
48
- transform rotate(180deg)
36
+ transform rotateX(180deg)
49
37
  ```
@@ -3,13 +3,7 @@ title: 右键菜单
3
3
  order: 7
4
4
  ---
5
5
 
6
- 将`DropdownMenu`作为顶层元素,而不是`Dropdown`的子元素,然后指定`of`属性为事件对象,即可以实现
7
- 跟随鼠标位置的弹出菜单
8
-
9
- > 这里将`position`属性指定为`left+1`是为了避免弹出菜单立即被选中第一项
10
-
11
- > `React`下事件对象会复用,我们不能在异步函数中调用事件对象的属性和方法,如果需要保留事件
12
- > 对象,需要调用`event.persist()`方法 https://reactjs.org/docs/events.html#event-pooling
6
+ 指定`trigger`为`contextmenu`即可实现右键菜单功能
13
7
 
14
8
  ```vdt
15
9
  import {Dropdown, DropdownMenu, DropdownItem} from 'kpc';
@@ -43,5 +43,5 @@ import {Icon} from 'kpc';
43
43
  transition transform .25s ease-in-out
44
44
  .k-dropdown-open
45
45
  .k-icon
46
- transform rotate(180deg)
46
+ transform rotateX(180deg)
47
47
  ```
@@ -7,9 +7,7 @@ order: 4
7
7
  我们还可以通过`trigger`单独子菜单触发方式。
8
8
 
9
9
  ```vdt
10
- import {Dropdown, DropdownMenu, DropdownItem} from 'kpc';
11
- import {Button} from 'kpc';
12
- import {Icon} from 'kpc';
10
+ import {Dropdown, DropdownMenu, DropdownItem, Button, Icon} from 'kpc';
13
11
 
14
12
  <div>
15
13
  <Dropdown trigger="click">
@@ -76,5 +74,5 @@ import {Icon} from 'kpc';
76
74
  transition transform .25s ease-in-out
77
75
  .k-dropdown-open
78
76
  .k-icon
79
- transform rotate(180deg)
77
+ transform rotateX(180deg)
80
78
  ```