@king-design/intact 3.0.0-beta.0 → 3.0.0-beta.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 (603) hide show
  1. package/README.md +1 -1
  2. package/components/button/demos/basic.md +2 -1
  3. package/components/button/demos/disabled.md +2 -1
  4. package/components/button/demos/group.md +13 -2
  5. package/components/button/demos/icon.md +7 -6
  6. package/components/button/demos/loading.md +4 -4
  7. package/components/button/demos/size.md +4 -4
  8. package/components/button/index.md +1 -1
  9. package/components/button/index.ts +2 -2
  10. package/components/button/styles.ts +24 -13
  11. package/components/carousel/index.vdt +2 -2
  12. package/components/cascader/index.md +18 -0
  13. package/components/cascader/index.spec.ts +56 -0
  14. package/components/cascader/index.ts +35 -12
  15. package/components/cascader/index.vdt +10 -9
  16. package/components/cascader/styles.ts +2 -1
  17. package/components/cascader/useFields.ts +22 -0
  18. package/components/cascader/useFilterable.ts +23 -8
  19. package/components/cascader/useLabel.ts +7 -4
  20. package/components/cascader/useLoad.ts +4 -2
  21. package/components/checkbox/demos/basic.md +1 -1
  22. package/components/checkbox/demos/group.md +1 -1
  23. package/components/checkbox/demos/indeterminate.md +1 -1
  24. package/components/checkbox/demos/value.md +1 -1
  25. package/components/code/demos/basic.md +1 -1
  26. package/components/collapse/item.vdt +1 -1
  27. package/components/colorpicker/index.md +16 -0
  28. package/components/colorpicker/index.ts +4 -0
  29. package/components/colorpicker/index.vdt +3 -2
  30. package/components/copy/demos/basic.md +12 -0
  31. package/components/copy/demos/children.md +37 -0
  32. package/components/copy/index.md +21 -0
  33. package/components/copy/index.spec.ts +21 -0
  34. package/components/copy/index.ts +37 -0
  35. package/components/copy/index.vdt +23 -0
  36. package/components/copy/styles.ts +9 -0
  37. package/components/copy/useCopy.ts +91 -0
  38. package/components/datepicker/calendar.vdt +6 -6
  39. package/components/datepicker/demos/basic.md +1 -0
  40. package/components/datepicker/demos/datetime.md +5 -4
  41. package/components/datepicker/index.md +13 -0
  42. package/components/datepicker/index.spec.ts +13 -3
  43. package/components/datepicker/index.vdt +2 -2
  44. package/components/datepicker/styles.ts +13 -2
  45. package/components/datepicker/useValue.ts +35 -10
  46. package/components/dialog/alert.vdt +10 -6
  47. package/components/dialog/index.spec.ts +6 -6
  48. package/components/dialog/styles.ts +1 -1
  49. package/components/dropdown/demos/basic.md +1 -1
  50. package/components/dropdown/demos/checkbox.md +1 -1
  51. package/components/dropdown/demos/disabled.md +2 -2
  52. package/components/dropdown/demos/nested.md +6 -6
  53. package/components/dropdown/demos/position.md +3 -3
  54. package/components/dropdown/demos/tooltip.md +1 -1
  55. package/components/dropdown/demos/trigger.md +2 -2
  56. package/components/dropdown/dropdown.ts +51 -79
  57. package/components/dropdown/index.spec.ts +52 -3
  58. package/components/dropdown/item.ts +18 -7
  59. package/components/dropdown/menu.ts +4 -4
  60. package/components/dropdown/usePosition.ts +12 -1
  61. package/components/editable/index.ts +17 -3
  62. package/components/editable/index.vdt +1 -0
  63. package/components/form/demos/basic.md +2 -2
  64. package/components/form/demos/custom.md +2 -4
  65. package/components/form/index.spec.ts +1 -1
  66. package/components/form/item.vdt +1 -1
  67. package/components/form/styles.ts +22 -27
  68. package/components/grid/useGutter.ts +7 -6
  69. package/components/icon/demos/icons.md +130 -97
  70. package/components/icon/styles.ts +6 -2
  71. package/components/input/demos/autoRows.md +44 -0
  72. package/components/input/demos/blocks.md +7 -2
  73. package/components/input/demos/clearable.md +2 -2
  74. package/components/input/demos/flat.md +16 -0
  75. package/components/input/demos/password.md +12 -0
  76. package/components/input/demos/showCount.md +18 -0
  77. package/components/input/demos/size.md +6 -4
  78. package/components/input/demos/textarea.md +2 -2
  79. package/components/input/index.md +3 -0
  80. package/components/input/index.spec.ts +97 -1
  81. package/components/input/index.ts +26 -13
  82. package/components/input/index.vdt +48 -16
  83. package/components/input/search.vdt +2 -5
  84. package/components/input/styles.ts +111 -76
  85. package/components/input/useAutoRows.ts +65 -0
  86. package/components/input/useAutoWidth.ts +12 -3
  87. package/components/input/useFocus.ts +17 -0
  88. package/components/input/useShowPassword.ts +27 -0
  89. package/components/menu/demos/collapse.md +1 -1
  90. package/components/menu/index.spec.ts +9 -1
  91. package/components/menu/item.ts +7 -0
  92. package/components/menu/item.vdt +1 -1
  93. package/components/pagination/demos/flat.md +22 -0
  94. package/components/pagination/index.md +1 -1
  95. package/components/pagination/index.spec.ts +23 -0
  96. package/components/pagination/index.ts +4 -3
  97. package/components/pagination/index.vdt +8 -11
  98. package/components/pagination/styles.ts +2 -2
  99. package/components/popover/content.ts +40 -0
  100. package/components/popover/content.vdt +32 -0
  101. package/components/popover/demos/basic.md +47 -0
  102. package/components/popover/demos/button.md +49 -0
  103. package/components/popover/demos/content.md +36 -0
  104. package/components/popover/demos/text.md +38 -0
  105. package/components/popover/demos/type.md +51 -0
  106. package/components/popover/index.md +54 -0
  107. package/components/popover/index.spec.ts +91 -0
  108. package/components/popover/index.ts +52 -0
  109. package/components/popover/styles.ts +45 -0
  110. package/components/portal.ts +4 -4
  111. package/components/position.ts +5 -1
  112. package/components/progress/demos/children.md +1 -1
  113. package/components/progress/demos/circleSize.md +84 -0
  114. package/components/progress/demos/customColor.md +1 -3
  115. package/components/progress/index.ts +1 -1
  116. package/components/progress/index.vdt +36 -7
  117. package/components/progress/styles.ts +34 -21
  118. package/components/radio/demos/basic.md +1 -1
  119. package/components/radio/demos/group.md +1 -1
  120. package/components/radio/demos/value.md +1 -1
  121. package/components/rate/styles.ts +1 -0
  122. package/components/select/base.ts +11 -3
  123. package/components/select/base.vdt +56 -50
  124. package/components/select/demos/basic.md +21 -12
  125. package/components/select/demos/creatable.md +1 -1
  126. package/components/select/demos/customMenu.md +2 -2
  127. package/components/select/demos/draggable.md +55 -0
  128. package/components/select/demos/flat.md +42 -0
  129. package/components/select/demos/nowrap.md +24 -0
  130. package/components/select/demos/size.md +41 -1
  131. package/components/select/index.md +12 -0
  132. package/components/select/index.spec.ts +6 -3
  133. package/components/select/menu.vdt +7 -7
  134. package/components/select/option.vdt +1 -0
  135. package/components/select/styles.ts +57 -39
  136. package/components/select/useDraggble.ts +12 -0
  137. package/components/slider/index.spec.ts +32 -1
  138. package/components/slider/index.ts +2 -2
  139. package/components/slider/index.vdt +34 -16
  140. package/components/slider/styles.ts +21 -13
  141. package/components/slider/useValue.ts +15 -3
  142. package/components/spinner/index.md +1 -1
  143. package/components/spinner/index.ts +0 -9
  144. package/components/spinner/index.vdt +11 -8
  145. package/components/spinner/styles.ts +9 -6
  146. package/components/spinner/useChange.ts +2 -2
  147. package/components/spinner/useValue.ts +9 -1
  148. package/components/split/index.vdt +13 -3
  149. package/components/split/memo.ts +29 -0
  150. package/components/steps/demos/vertical.md +79 -0
  151. package/components/steps/index.md +1 -0
  152. package/components/steps/index.spec.ts +1 -1
  153. package/components/steps/index.ts +3 -1
  154. package/components/steps/index.vdt +4 -3
  155. package/components/steps/step.vdt +3 -3
  156. package/components/steps/styles.ts +159 -26
  157. package/components/switch/demos/onOff.md +2 -2
  158. package/components/switch/index.spec.ts +15 -10
  159. package/components/table/cell.ts +4 -5
  160. package/components/table/cell.vdt +1 -1
  161. package/components/table/column.vdt +27 -16
  162. package/components/table/demos/group.md +4 -3
  163. package/components/table/demos/hideHeader.md +33 -0
  164. package/components/table/demos/pagination.md +53 -0
  165. package/components/table/demos/title.md +3 -5
  166. package/components/table/index.md +22 -0
  167. package/components/table/index.spec.ts +91 -2
  168. package/components/table/row.ts +3 -3
  169. package/components/table/styles.ts +26 -28
  170. package/components/table/table.ts +29 -4
  171. package/components/table/table.vdt +21 -3
  172. package/components/table/useChecked.ts +21 -6
  173. package/components/table/useDisableRow.ts +3 -2
  174. package/components/table/useDraggable.ts +12 -8
  175. package/components/table/useGroup.ts +43 -23
  176. package/components/table/useMerge.ts +6 -3
  177. package/components/table/usePagination.ts +71 -0
  178. package/components/table/useRestRowStatus.ts +4 -1
  179. package/components/table/useStickyScrollbar.ts +2 -2
  180. package/components/table/useTree.ts +4 -3
  181. package/components/table/useWidth.ts +2 -2
  182. package/components/tabs/demos/beforeChange.md +2 -2
  183. package/components/tabs/demos/card.md +2 -11
  184. package/components/tabs/demos/closable.md +7 -6
  185. package/components/tabs/demos/scroll.md +104 -0
  186. package/components/tabs/demos/vertical.md +1 -9
  187. package/components/tabs/index.md +1 -1
  188. package/components/tabs/index.spec.ts +36 -0
  189. package/components/tabs/index.ts +11 -12
  190. package/components/tabs/index.vdt +7 -7
  191. package/components/tabs/styles.ts +113 -144
  192. package/components/tabs/useScroll.ts +101 -42
  193. package/components/tag/base.ts +1 -1
  194. package/components/tag/demos/draggable.md +49 -0
  195. package/components/tag/demos/tags.md +72 -0
  196. package/components/tag/index.md +42 -0
  197. package/components/tag/index.spec.ts +70 -2
  198. package/components/tag/index.ts +2 -0
  199. package/components/tag/styles.ts +53 -4
  200. package/components/tag/tags.ts +54 -0
  201. package/components/tag/tags.vdt +50 -0
  202. package/components/tag/useChildren.ts +42 -0
  203. package/components/tag/useDraggable.ts +97 -0
  204. package/components/tag/useNowrap.ts +117 -0
  205. package/components/timepicker/index.md +13 -0
  206. package/components/timepicker/index.spec.ts +1 -1
  207. package/components/tooltip/content.ts +21 -7
  208. package/components/tooltip/content.vdt +14 -8
  209. package/components/tooltip/demos/trigger.md +1 -1
  210. package/components/tooltip/index.md +3 -6
  211. package/components/tooltip/index.spec.ts +69 -40
  212. package/components/tooltip/styles.ts +3 -3
  213. package/components/tooltip/tooltip.ts +7 -1
  214. package/components/transfer/index.vdt +4 -3
  215. package/components/treeSelect/index.md +11 -0
  216. package/components/types.ts +1 -0
  217. package/components/upload/index.spec.ts +4 -4
  218. package/components/upload/index.vdt +5 -5
  219. package/components/upload/styles.ts +0 -2
  220. package/components/utils.ts +25 -4
  221. package/components/virtual.ts +98 -0
  222. package/es/components/button/index.d.ts +1 -1
  223. package/es/components/button/index.js +1 -1
  224. package/es/components/button/styles.d.ts +1 -1
  225. package/es/components/button/styles.js +3 -5
  226. package/es/components/carousel/index.vdt.js +2 -2
  227. package/es/components/cascader/index.d.ts +22 -11
  228. package/es/components/cascader/index.js +9 -12
  229. package/es/components/cascader/index.spec.js +81 -0
  230. package/es/components/cascader/index.vdt.js +11 -9
  231. package/es/components/cascader/styles.js +1 -1
  232. package/es/components/cascader/useFields.d.ts +2 -0
  233. package/es/components/cascader/useFields.js +18 -0
  234. package/es/components/cascader/useFilterable.d.ts +2 -1
  235. package/es/components/cascader/useFilterable.js +17 -6
  236. package/es/components/cascader/useLabel.d.ts +2 -1
  237. package/es/components/cascader/useLabel.js +4 -4
  238. package/es/components/cascader/useLoad.d.ts +2 -1
  239. package/es/components/cascader/useLoad.js +9 -7
  240. package/es/components/collapse/item.vdt.js +1 -1
  241. package/es/components/colorpicker/index.d.ts +2 -0
  242. package/es/components/colorpicker/index.js +7 -2
  243. package/es/components/colorpicker/index.vdt.js +3 -6
  244. package/es/components/copy/index.d.ts +17 -0
  245. package/es/components/copy/index.js +43 -0
  246. package/es/components/copy/index.spec.d.ts +1 -0
  247. package/es/components/copy/index.spec.js +52 -0
  248. package/es/components/copy/index.vdt.js +45 -0
  249. package/es/components/copy/styles.d.ts +2 -0
  250. package/es/components/copy/styles.js +14 -0
  251. package/es/components/copy/useCopy.d.ts +4 -0
  252. package/es/components/copy/useCopy.js +90 -0
  253. package/es/components/datepicker/calendar.vdt.js +6 -6
  254. package/es/components/datepicker/index.spec.js +171 -153
  255. package/es/components/datepicker/index.vdt.js +1 -1
  256. package/es/components/datepicker/styles.js +1 -1
  257. package/es/components/datepicker/useValue.d.ts +3 -3
  258. package/es/components/datepicker/useValue.js +38 -9
  259. package/es/components/diagram/shapes/callout.d.ts +1 -1
  260. package/es/components/diagram/shapes/circle.d.ts +1 -1
  261. package/es/components/diagram/shapes/document.d.ts +1 -1
  262. package/es/components/diagram/shapes/ellipse.d.ts +1 -1
  263. package/es/components/diagram/shapes/hexagon.d.ts +1 -1
  264. package/es/components/diagram/shapes/image.d.ts +1 -1
  265. package/es/components/diagram/shapes/parallelogram.d.ts +1 -1
  266. package/es/components/diagram/shapes/rectangle.d.ts +1 -1
  267. package/es/components/diagram/shapes/square.d.ts +1 -1
  268. package/es/components/diagram/shapes/text.d.ts +1 -1
  269. package/es/components/dialog/alert.vdt.js +6 -5
  270. package/es/components/dialog/index.spec.js +6 -6
  271. package/es/components/dialog/styles.js +1 -1
  272. package/es/components/dropdown/dropdown.d.ts +6 -6
  273. package/es/components/dropdown/dropdown.js +58 -75
  274. package/es/components/dropdown/index.spec.js +96 -17
  275. package/es/components/dropdown/item.d.ts +1 -1
  276. package/es/components/dropdown/item.js +19 -7
  277. package/es/components/dropdown/menu.js +1 -1
  278. package/es/components/dropdown/usePosition.js +11 -2
  279. package/es/components/editable/index.d.ts +1 -0
  280. package/es/components/editable/index.js +20 -6
  281. package/es/components/editable/index.vdt.js +2 -1
  282. package/es/components/form/index.spec.js +4 -2
  283. package/es/components/form/item.vdt.js +2 -1
  284. package/es/components/form/styles.js +4 -4
  285. package/es/components/grid/useGutter.js +8 -8
  286. package/es/components/icon/styles.js +1 -1
  287. package/es/components/input/index.d.ts +13 -2
  288. package/es/components/input/index.js +16 -13
  289. package/es/components/input/index.spec.js +169 -1
  290. package/es/components/input/index.vdt.js +44 -12
  291. package/es/components/input/search.vdt.js +2 -4
  292. package/es/components/input/styles.js +30 -6
  293. package/es/components/input/useAutoRows.d.ts +2 -0
  294. package/es/components/input/useAutoRows.js +79 -0
  295. package/es/components/input/useAutoWidth.js +13 -3
  296. package/es/components/input/useFocus.d.ts +4 -0
  297. package/es/components/input/useFocus.js +21 -0
  298. package/es/components/input/useShowPassword.d.ts +7 -0
  299. package/es/components/input/useShowPassword.js +31 -0
  300. package/es/components/menu/index.spec.js +26 -15
  301. package/es/components/menu/item.d.ts +2 -0
  302. package/es/components/menu/item.js +5 -0
  303. package/es/components/menu/item.vdt.js +4 -1
  304. package/es/components/pagination/index.d.ts +1 -1
  305. package/es/components/pagination/index.js +3 -2
  306. package/es/components/pagination/index.spec.js +49 -0
  307. package/es/components/pagination/index.vdt.js +10 -12
  308. package/es/components/pagination/styles.js +1 -1
  309. package/es/components/popover/content.d.ts +19 -0
  310. package/es/components/popover/content.js +31 -0
  311. package/es/components/popover/content.vdt.js +68 -0
  312. package/es/components/popover/index.d.ts +16 -0
  313. package/es/components/popover/index.js +44 -0
  314. package/es/components/popover/index.spec.d.ts +1 -0
  315. package/es/components/popover/index.spec.js +195 -0
  316. package/es/components/popover/styles.d.ts +1 -0
  317. package/es/components/popover/styles.js +22 -0
  318. package/es/components/portal.d.ts +6 -2
  319. package/es/components/portal.js +4 -3
  320. package/es/components/position.js +2 -1
  321. package/es/components/progress/index.js +1 -1
  322. package/es/components/progress/index.vdt.js +46 -8
  323. package/es/components/progress/styles.js +19 -13
  324. package/es/components/rate/styles.js +1 -1
  325. package/es/components/select/base.d.ts +7 -3
  326. package/es/components/select/base.js +9 -3
  327. package/es/components/select/base.vdt.js +75 -47
  328. package/es/components/select/index.spec.js +25 -13
  329. package/es/components/select/menu.vdt.js +6 -6
  330. package/es/components/select/option.vdt.js +2 -1
  331. package/es/components/select/styles.js +11 -5
  332. package/es/components/select/useDraggble.d.ts +2 -0
  333. package/es/components/select/useDraggble.js +11 -0
  334. package/es/components/slider/index.spec.js +48 -9
  335. package/es/components/slider/index.vdt.js +23 -12
  336. package/es/components/slider/styles.js +23 -14
  337. package/es/components/slider/useValue.d.ts +3 -1
  338. package/es/components/slider/useValue.js +12 -0
  339. package/es/components/spinner/index.d.ts +0 -1
  340. package/es/components/spinner/index.js +1 -19
  341. package/es/components/spinner/index.vdt.js +13 -8
  342. package/es/components/spinner/styles.js +2 -2
  343. package/es/components/spinner/useChange.d.ts +1 -1
  344. package/es/components/spinner/useChange.js +2 -2
  345. package/es/components/spinner/useValue.d.ts +1 -0
  346. package/es/components/spinner/useValue.js +16 -1
  347. package/es/components/split/index.vdt.js +32 -20
  348. package/es/components/split/memo.d.ts +9 -0
  349. package/es/components/split/memo.js +26 -0
  350. package/es/components/steps/index.d.ts +1 -0
  351. package/es/components/steps/index.js +2 -1
  352. package/es/components/steps/index.spec.js +1 -1
  353. package/es/components/steps/index.vdt.js +7 -4
  354. package/es/components/steps/step.vdt.js +2 -3
  355. package/es/components/steps/styles.d.ts +1 -0
  356. package/es/components/steps/styles.js +50 -17
  357. package/es/components/switch/index.spec.js +82 -65
  358. package/es/components/table/cell.js +1 -6
  359. package/es/components/table/cell.vdt.js +1 -1
  360. package/es/components/table/column.vdt.js +40 -24
  361. package/es/components/table/index.spec.js +162 -20
  362. package/es/components/table/row.d.ts +1 -1
  363. package/es/components/table/row.js +2 -1
  364. package/es/components/table/styles.js +16 -9
  365. package/es/components/table/table.d.ts +15 -0
  366. package/es/components/table/table.js +16 -7
  367. package/es/components/table/table.vdt.js +20 -6
  368. package/es/components/table/useChecked.d.ts +3 -2
  369. package/es/components/table/useChecked.js +23 -12
  370. package/es/components/table/useDisableRow.d.ts +2 -1
  371. package/es/components/table/useDisableRow.js +4 -4
  372. package/es/components/table/useDraggable.d.ts +3 -2
  373. package/es/components/table/useDraggable.js +11 -15
  374. package/es/components/table/useGroup.d.ts +9 -3
  375. package/es/components/table/useGroup.js +48 -37
  376. package/es/components/table/useMerge.d.ts +2 -1
  377. package/es/components/table/useMerge.js +5 -4
  378. package/es/components/table/usePagination.d.ts +8 -0
  379. package/es/components/table/usePagination.js +81 -0
  380. package/es/components/table/useStickyScrollbar.js +2 -2
  381. package/es/components/table/useTree.d.ts +2 -1
  382. package/es/components/table/useTree.js +3 -4
  383. package/es/components/table/useWidth.js +2 -2
  384. package/es/components/tabs/index.d.ts +1 -1
  385. package/es/components/tabs/index.js +1 -1
  386. package/es/components/tabs/index.spec.js +67 -0
  387. package/es/components/tabs/index.vdt.js +9 -4
  388. package/es/components/tabs/styles.js +32 -34
  389. package/es/components/tabs/useScroll.d.ts +1 -1
  390. package/es/components/tabs/useScroll.js +75 -48
  391. package/es/components/tag/base.d.ts +1 -0
  392. package/es/components/tag/base.js +1 -1
  393. package/es/components/tag/index.d.ts +1 -0
  394. package/es/components/tag/index.js +2 -1
  395. package/es/components/tag/index.spec.js +147 -4
  396. package/es/components/tag/styles.d.ts +67 -0
  397. package/es/components/tag/styles.js +33 -8
  398. package/es/components/tag/tags.d.ts +27 -0
  399. package/es/components/tag/tags.js +51 -0
  400. package/es/components/tag/tags.vdt.js +91 -0
  401. package/es/components/tag/useChildren.d.ts +2 -0
  402. package/es/components/tag/useChildren.js +39 -0
  403. package/es/components/tag/useDraggable.d.ts +3 -0
  404. package/es/components/tag/useDraggable.js +89 -0
  405. package/es/components/tag/useNowrap.d.ts +7 -0
  406. package/es/components/tag/useNowrap.js +115 -0
  407. package/es/components/timepicker/index.spec.js +1 -1
  408. package/es/components/tooltip/content.d.ts +3 -2
  409. package/es/components/tooltip/content.js +18 -1
  410. package/es/components/tooltip/content.vdt.js +22 -10
  411. package/es/components/tooltip/index.spec.js +147 -92
  412. package/es/components/tooltip/styles.d.ts +23 -0
  413. package/es/components/tooltip/styles.js +2 -2
  414. package/es/components/tooltip/tooltip.d.ts +1 -1
  415. package/es/components/tooltip/tooltip.js +11 -11
  416. package/es/components/transfer/index.vdt.js +14 -3
  417. package/es/components/types.d.ts +1 -0
  418. package/es/components/upload/index.spec.js +5 -6
  419. package/es/components/upload/index.vdt.js +7 -5
  420. package/es/components/utils.d.ts +2 -0
  421. package/es/components/utils.js +24 -3
  422. package/es/components/virtual.d.ts +8 -0
  423. package/es/components/virtual.js +126 -0
  424. package/es/hooks/useResizeObserver.d.ts +1 -1
  425. package/es/hooks/useResizeObserver.js +19 -6
  426. package/es/i18n/en-US.d.ts +4 -1
  427. package/es/i18n/en-US.js +6 -2
  428. package/es/index.d.ts +5 -3
  429. package/es/index.js +5 -3
  430. package/es/packages/kpc-react/__tests__/components/cascader.spec.d.ts +1 -0
  431. package/es/packages/kpc-react/__tests__/components/cascader.spec.js +79 -0
  432. package/es/packages/kpc-react/__tests__/components/drawer.spec.js +74 -6
  433. package/es/site/data/components/button/demos/basic/react.js +3 -1
  434. package/es/site/data/components/button/demos/disabled/react.js +5 -2
  435. package/es/site/data/components/button/demos/group/react.js +28 -2
  436. package/es/site/data/components/button/demos/icon/react.js +12 -6
  437. package/es/site/data/components/button/demos/loading/react.js +4 -4
  438. package/es/site/data/components/button/demos/size/react.js +4 -4
  439. package/es/site/data/components/copy/demos/basic/react.js +23 -0
  440. package/es/site/data/components/copy/demos/children/react.js +44 -0
  441. package/es/site/data/components/copy/index.d.ts +57 -0
  442. package/es/site/data/components/copy/index.js +42 -0
  443. package/es/site/data/components/datepicker/demos/basic/react.js +8 -0
  444. package/es/site/data/components/datepicker/demos/datetime/index.d.ts +1 -0
  445. package/es/site/data/components/datepicker/demos/datetime/index.js +1 -0
  446. package/es/site/data/components/dropdown/demos/basic/react.js +1 -1
  447. package/es/site/data/components/dropdown/demos/checkbox/react.js +1 -1
  448. package/es/site/data/components/dropdown/demos/disabled/react.js +2 -2
  449. package/es/site/data/components/dropdown/demos/nested/react.js +9 -9
  450. package/es/site/data/components/dropdown/demos/position/react.js +3 -3
  451. package/es/site/data/components/dropdown/demos/tooltip/react.js +2 -1
  452. package/es/site/data/components/dropdown/demos/trigger/react.js +2 -2
  453. package/es/site/data/components/form/demos/basic/react.js +1 -1
  454. package/es/site/data/components/icon/demos/icons/index.d.ts +8 -4
  455. package/es/site/data/components/icon/demos/icons/index.js +35 -1
  456. package/es/site/data/components/icon/demos/icons/react.d.ts +9 -4
  457. package/es/site/data/components/icon/demos/icons/react.js +51 -9
  458. package/es/site/data/components/input/demos/autoRows/index.d.ts +9 -0
  459. package/es/site/data/components/input/demos/autoRows/index.js +24 -0
  460. package/es/site/data/components/input/demos/autoRows/react.d.ts +8 -0
  461. package/es/site/data/components/input/demos/autoRows/react.js +62 -0
  462. package/es/site/data/components/input/demos/blocks/react.js +7 -7
  463. package/es/site/data/components/input/demos/clearable/react.js +2 -2
  464. package/es/site/data/components/input/demos/flat/index.d.ts +5 -0
  465. package/es/site/data/components/input/demos/flat/index.js +17 -0
  466. package/es/site/data/components/input/demos/flat/react.d.ts +4 -0
  467. package/es/site/data/components/input/demos/flat/react.js +29 -0
  468. package/es/site/data/components/input/demos/password/index.d.ts +5 -0
  469. package/es/site/data/components/input/demos/password/index.js +17 -0
  470. package/es/site/data/components/input/demos/password/react.d.ts +5 -0
  471. package/es/site/data/components/input/demos/password/react.js +41 -0
  472. package/es/site/data/components/input/demos/showCount/index.d.ts +5 -0
  473. package/es/site/data/components/input/demos/showCount/index.js +17 -0
  474. package/es/site/data/components/input/demos/showCount/react.d.ts +4 -0
  475. package/es/site/data/components/input/demos/showCount/react.js +33 -0
  476. package/es/site/data/components/input/demos/size/react.js +8 -8
  477. package/es/site/data/components/input/demos/textarea/react.js +4 -2
  478. package/es/site/data/components/menu/demos/collapse/index.js +1 -1
  479. package/es/site/data/components/menu/demos/collapse/react.js +1 -1
  480. package/es/site/data/components/pagination/demos/flat/index.d.ts +6 -0
  481. package/es/site/data/components/pagination/demos/flat/index.js +18 -0
  482. package/es/site/data/components/pagination/demos/flat/react.d.ts +5 -0
  483. package/es/site/data/components/pagination/demos/{noBoard → flat}/react.js +12 -8
  484. package/es/site/data/components/popover/demos/basic/react.d.ts +8 -0
  485. package/es/site/data/components/{tooltip/demos/confirm → popover/demos/basic}/react.js +14 -9
  486. package/es/site/data/components/popover/demos/button/index.d.ts +8 -0
  487. package/es/site/data/components/popover/demos/button/index.js +42 -0
  488. package/es/site/data/components/popover/demos/button/react.d.ts +8 -0
  489. package/es/site/data/components/popover/demos/button/react.js +73 -0
  490. package/es/site/data/components/popover/demos/content/index.d.ts +7 -0
  491. package/es/site/data/components/popover/demos/content/index.js +28 -0
  492. package/es/site/data/components/{tooltip/demos/confirm → popover/demos/content}/react.d.ts +0 -1
  493. package/es/site/data/components/popover/demos/content/react.js +43 -0
  494. package/es/site/data/components/popover/demos/text/index.d.ts +7 -0
  495. package/es/site/data/components/popover/demos/text/index.js +28 -0
  496. package/es/site/data/components/popover/demos/text/react.d.ts +6 -0
  497. package/es/site/data/components/popover/demos/text/react.js +36 -0
  498. package/es/site/data/components/popover/demos/type/index.d.ts +11 -0
  499. package/es/site/data/components/popover/demos/type/index.js +34 -0
  500. package/es/site/data/components/popover/demos/type/react.d.ts +11 -0
  501. package/es/site/data/components/popover/demos/type/react.js +58 -0
  502. package/es/site/data/components/popover/index.d.ts +57 -0
  503. package/es/site/data/components/popover/index.js +42 -0
  504. package/es/site/data/components/progress/demos/children/react.js +4 -4
  505. package/es/site/data/components/progress/demos/circleSize/index.d.ts +14 -0
  506. package/es/site/data/components/progress/demos/circleSize/index.js +43 -0
  507. package/es/site/data/components/progress/demos/circleSize/react.d.ts +14 -0
  508. package/es/site/data/components/progress/demos/circleSize/react.js +98 -0
  509. package/es/site/data/components/progress/demos/customColor/react.js +4 -4
  510. package/es/site/data/components/select/demos/basic/react.js +19 -7
  511. package/es/site/data/components/select/demos/creatable/react.js +2 -1
  512. package/es/site/data/components/select/demos/customMenu/react.js +5 -5
  513. package/es/site/data/components/select/demos/draggable/index.d.ts +10 -0
  514. package/es/site/data/components/select/demos/draggable/index.js +24 -0
  515. package/es/site/data/components/select/demos/draggable/react.d.ts +10 -0
  516. package/es/site/data/components/select/demos/draggable/react.js +85 -0
  517. package/es/site/data/components/select/demos/flat/index.d.ts +5 -0
  518. package/es/site/data/components/select/demos/flat/index.js +17 -0
  519. package/es/site/data/components/select/demos/flat/react.d.ts +4 -0
  520. package/es/site/data/components/select/demos/flat/react.js +73 -0
  521. package/es/site/data/components/select/demos/inline/index.d.ts +5 -0
  522. package/es/site/data/components/select/demos/inline/index.js +17 -0
  523. package/es/site/data/components/select/demos/inline/react.d.ts +4 -0
  524. package/es/site/data/components/select/demos/nowrap/index.d.ts +5 -0
  525. package/es/site/data/components/select/demos/nowrap/index.js +17 -0
  526. package/es/site/data/components/select/demos/nowrap/react.d.ts +4 -0
  527. package/es/site/data/components/select/demos/nowrap/react.js +41 -0
  528. package/es/site/data/components/select/demos/size/index.d.ts +1 -0
  529. package/es/site/data/components/select/demos/size/index.js +2 -1
  530. package/es/site/data/components/select/demos/size/react.d.ts +1 -0
  531. package/es/site/data/components/select/demos/size/react.js +93 -1
  532. package/es/site/data/components/steps/demos/vertical/index.d.ts +14 -0
  533. package/es/site/data/components/steps/demos/vertical/index.js +40 -0
  534. package/es/site/data/components/steps/demos/vertical/react.d.ts +14 -0
  535. package/es/site/data/components/steps/demos/vertical/react.js +124 -0
  536. package/es/site/data/components/switch/demos/onOff/react.js +1 -3
  537. package/es/site/data/components/table/demos/hideHeader/index.d.ts +12 -0
  538. package/es/site/data/components/table/demos/hideHeader/index.js +30 -0
  539. package/es/site/data/components/table/demos/hideHeader/react.d.ts +11 -0
  540. package/es/site/data/components/table/demos/hideHeader/react.js +60 -0
  541. package/es/site/data/components/table/demos/pagination/index.d.ts +12 -0
  542. package/es/site/data/components/table/demos/pagination/index.js +35 -0
  543. package/es/site/data/components/table/demos/pagination/react.d.ts +16 -0
  544. package/es/site/data/components/table/demos/pagination/react.js +65 -0
  545. package/es/site/data/components/table/demos/title/react.js +4 -4
  546. package/es/site/data/components/tabs/demos/card/react.js +1 -15
  547. package/es/site/data/components/tabs/demos/closable/index.js +1 -1
  548. package/es/site/data/components/tabs/demos/closable/react.js +9 -3
  549. package/es/site/data/components/tabs/demos/scroll/index.d.ts +18 -0
  550. package/es/site/data/components/tabs/demos/scroll/index.js +87 -0
  551. package/es/site/data/components/tabs/demos/scroll/react.d.ts +18 -0
  552. package/es/site/data/components/tabs/demos/scroll/react.js +166 -0
  553. package/es/site/data/components/tabs/demos/vertical/react.js +1 -16
  554. package/es/site/data/components/tag/demos/draggable/index.d.ts +11 -0
  555. package/es/site/data/components/tag/demos/draggable/index.js +24 -0
  556. package/es/site/data/components/tag/demos/draggable/react.d.ts +11 -0
  557. package/es/site/data/components/tag/demos/draggable/react.js +62 -0
  558. package/es/site/data/components/tag/demos/tags/index.d.ts +12 -0
  559. package/es/site/data/components/tag/demos/tags/index.js +39 -0
  560. package/es/site/data/components/tag/demos/tags/react.d.ts +12 -0
  561. package/es/site/data/components/tag/demos/tags/react.js +83 -0
  562. package/es/site/src/pages/document/index.js +2 -3
  563. package/es/site/src/pages/styles.js +1 -1
  564. package/es/site/src/router/index.js +1 -1
  565. package/es/styles/fonts/iconfont.eot +0 -0
  566. package/es/styles/fonts/iconfont.js +2 -2
  567. package/es/styles/fonts/iconfont.svg +35 -35
  568. package/es/styles/fonts/iconfont.ttf +0 -0
  569. package/es/styles/fonts/iconfont.woff +0 -0
  570. package/es/styles/fonts/ionicons.js +3 -3
  571. package/es/styles/global.js +1 -1
  572. package/hooks/useResizeObserver.ts +19 -7
  573. package/i18n/en-US.ts +6 -1
  574. package/index.ts +5 -3
  575. package/package.json +9 -5
  576. package/styles/fonts/demo.css +277 -108
  577. package/styles/fonts/demo_index.html +2169 -0
  578. package/styles/fonts/iconfont.css +52 -50
  579. package/styles/fonts/iconfont.eot +0 -0
  580. package/styles/fonts/iconfont.js +1 -0
  581. package/styles/fonts/iconfont.json +611 -0
  582. package/styles/fonts/iconfont.svg +35 -35
  583. package/styles/fonts/iconfont.ts +124 -125
  584. package/styles/fonts/iconfont.ttf +0 -0
  585. package/styles/fonts/iconfont.woff +0 -0
  586. package/styles/fonts/iconfont.woff2 +0 -0
  587. package/styles/fonts/ionicons.ts +2 -3
  588. package/styles/global.ts +7 -7
  589. package/components/pagination/demos/noBoard.md +0 -22
  590. package/components/table/useResizeObserver.ts +0 -22
  591. package/components/tooltip/demos/confirm.md +0 -41
  592. package/es/components/table/useResizeObserver.d.ts +0 -2
  593. package/es/components/table/useResizeObserver.js +0 -20
  594. /package/components/select/demos/{noBorder.md → inline.md} +0 -0
  595. /package/es/site/data/components/{select/demos/noBorder → copy/demos/basic}/index.d.ts +0 -0
  596. /package/es/site/data/components/{select/demos/noBorder → copy/demos/basic}/index.js +0 -0
  597. /package/es/site/data/components/{select/demos/noBorder → copy/demos/basic}/react.d.ts +0 -0
  598. /package/es/site/data/components/{pagination/demos/noBoard → copy/demos/children}/index.d.ts +0 -0
  599. /package/es/site/data/components/{pagination/demos/noBoard → copy/demos/children}/index.js +0 -0
  600. /package/es/site/data/components/{pagination/demos/noBoard → copy/demos/children}/react.d.ts +0 -0
  601. /package/es/site/data/components/{tooltip/demos/confirm → popover/demos/basic}/index.d.ts +0 -0
  602. /package/es/site/data/components/{tooltip/demos/confirm → popover/demos/basic}/index.js +0 -0
  603. /package/es/site/data/components/select/demos/{noBorder → inline}/react.js +0 -0
@@ -26,7 +26,13 @@ var defaults = deepDefaults({
26
26
 
27
27
  close: {
28
28
  fontSize: '20px',
29
- gap: '8px'
29
+ gap: '8px',
30
+
31
+ /**
32
+ * fix the width to calculate the width for nowrap tags,
33
+ * otherwise the width will be decided by font font-icons loaded
34
+ */
35
+ width: '7px'
30
36
  },
31
37
  disabled: {
32
38
  get color() {
@@ -45,24 +51,36 @@ var defaults = deepDefaults({
45
51
  large: {
46
52
  padding: "0px 8px",
47
53
  height: '24px',
54
+
55
+ get fontSize() {
56
+ return theme.large.fontSize;
57
+ },
58
+
48
59
  close: {
49
- fontSize: '20px',
50
- gap: '12px'
60
+ fontSize: '22px',
61
+ gap: '6px'
51
62
  }
52
63
  },
53
64
  small: {
54
65
  padding: "0 4px",
55
66
  height: '16px',
67
+
68
+ get fontSize() {
69
+ return theme.small.fontSize;
70
+ },
71
+
56
72
  close: {
57
- fontSize: '12px',
73
+ fontSize: '18px',
58
74
  gap: '4px'
59
75
  }
60
76
  },
61
77
  mini: {
62
78
  padding: "0 2px",
63
79
  height: '14px',
80
+ // get fontSize() { return theme.mini.fontSize },
81
+ fontSize: '11px',
64
82
  close: {
65
- fontSize: '12px',
83
+ fontSize: '16px',
66
84
  gap: '2px'
67
85
  }
68
86
  },
@@ -71,6 +89,9 @@ var defaults = deepDefaults({
71
89
  return theme.color.bg;
72
90
  }
73
91
 
92
+ },
93
+ tags: {
94
+ gap: '8px'
74
95
  }
75
96
  }, types.reduce(function (memo, type) {
76
97
  if (type === 'disabled') return memo;
@@ -92,13 +113,17 @@ setDefault(function () {
92
113
  tag: defaults
93
114
  }).tag;
94
115
  });
116
+ export { tag };
95
117
  export function makeStyles() {
96
- return /*#__PURE__*/css("display:inline-flex;align-items:center;padding:", tag.padding, ";border:", tag.border, ";border-radius:", tag.borderRadius, ";font-size:", tag.fontSize, ";height:", tag.height, ";.k-tag-close{font-size:", tag.close.fontSize, ";margin-left:", tag.close.gap, ";}&.k-none{border:none;background:", tag.none.bgColor, ";}", _mapInstanceProperty(types).call(types, function (t) {
118
+ return /*#__PURE__*/css("display:inline-flex;align-items:center;padding:", tag.padding, ";border:", tag.border, ";border-radius:", tag.borderRadius, ";font-size:", tag.fontSize, ";height:", tag.height, ";.k-tag-close{font-size:", tag.close.fontSize, ";margin-left:", tag.close.gap, ";width:", tag.close.width, ";}&.k-none{border:none;background:", tag.none.bgColor, ";}", _mapInstanceProperty(types).call(types, function (t) {
97
119
  var styles = tag[t];
98
120
  return /*#__PURE__*/css("&.k-", t, "{color:", styles.color, ";border-color:", styles.color, ";background:", styles.bgColor, ";}");
99
121
  }), " ", _mapInstanceProperty(sizes).call(sizes, function (s) {
100
122
  if (s === 'default') return;
101
123
  var styles = tag[s];
102
- return /*#__PURE__*/css("&.k-", s, "{padding:", styles.padding, ";height:", styles.height, ";.k-tag-close{font-size:", styles.close.fontSize, ";margin-left:", styles.close.gap, ";}}");
103
- }), "&.k-dashed{border-style:dashed;}");
124
+ return /*#__PURE__*/css("&.k-", s, "{padding:", styles.padding, ";height:", styles.height, ";font-size:", styles.fontSize, ";.k-tag-close{font-size:", styles.close.fontSize, ";margin-left:", styles.close.gap, ";}}");
125
+ }), "&.k-dashed{border-style:dashed;}&.k-dragging{opacity:0;}");
126
+ }
127
+ export function makeTagsStyles() {
128
+ return /*#__PURE__*/css("display:flex;flex-wrap:wrap;gap:", defaults.tags.gap, ";position:relative;overflow:hidden;&.k-nowrap{flex-wrap:nowrap;.k-tag{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0;}}.k-tags-more{cursor:default;font-family:monospace;}.k-tag.k-draggable{cursor:move;}");
104
129
  }
@@ -0,0 +1,27 @@
1
+ import { Component, TypeDefs, Key } from 'intact';
2
+ import { TagProps } from './base';
3
+ import type { Events } from '../types';
4
+ export interface TagsProps extends Pick<TagProps, 'size' | 'border'> {
5
+ nowrap?: boolean;
6
+ draggable?: boolean;
7
+ }
8
+ export declare type TagsDragStartParam = {
9
+ key: Key;
10
+ from: number;
11
+ };
12
+ export declare type TagsDragEndParam = TagsDragStartParam & {
13
+ to: number;
14
+ };
15
+ export interface TagsEvents {
16
+ dragstart: [TagsDragStartParam];
17
+ dragend: [TagsDragEndParam];
18
+ }
19
+ export declare class Tags extends Component<TagsProps, TagsEvents> {
20
+ static template: string | import("intact").Template<any>;
21
+ static typeDefs: Required<TypeDefs<TagsProps>>;
22
+ static defaults: () => Partial<TagsProps>;
23
+ static events: Events<TagsEvents>;
24
+ private children;
25
+ private draggable;
26
+ private nowrap;
27
+ }
@@ -0,0 +1,51 @@
1
+ import _inheritsLoose from "@babel/runtime-corejs3/helpers/inheritsLoose";
2
+ import _concatInstanceProperty from "@babel/runtime-corejs3/core-js/instance/concat";
3
+ import { Component } from 'intact';
4
+ import template from './tags.vdt';
5
+ import { useNowrap } from './useNowrap';
6
+ import { typeDefs as tagTypeDefs } from './base';
7
+ import { useChildren } from './useChildren';
8
+ import { useDraggable } from './useDraggable';
9
+ var typeDefs = {
10
+ nowrap: Boolean,
11
+ draggable: Boolean,
12
+ size: tagTypeDefs.size,
13
+ border: tagTypeDefs.border
14
+ };
15
+
16
+ var defaults = function defaults() {
17
+ return {
18
+ size: 'default',
19
+ border: 'none'
20
+ };
21
+ };
22
+
23
+ var events = {
24
+ dragstart: true,
25
+ dragend: true
26
+ };
27
+ export var Tags = /*#__PURE__*/function (_Component) {
28
+ _inheritsLoose(Tags, _Component);
29
+
30
+ function Tags() {
31
+ var _context;
32
+
33
+ var _this;
34
+
35
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
36
+ args[_key] = arguments[_key];
37
+ }
38
+
39
+ _this = _Component.call.apply(_Component, _concatInstanceProperty(_context = [this]).call(_context, args)) || this;
40
+ _this.children = useChildren();
41
+ _this.draggable = useDraggable(_this.children);
42
+ _this.nowrap = useNowrap(_this.draggable);
43
+ return _this;
44
+ }
45
+
46
+ return Tags;
47
+ }(Component);
48
+ Tags.template = template;
49
+ Tags.typeDefs = typeDefs;
50
+ Tags.defaults = defaults;
51
+ Tags.events = events;
@@ -0,0 +1,91 @@
1
+ import _extends from "@babel/runtime-corejs3/helpers/extends";
2
+ import { createVNode as _$cv, className as _$cn, createUnknownComponentVNode as _$cc, createTextVNode as _$ct, extend as _$ex, EMPTY_OBJ as _$em, createElementVNode as _$ce, noop as _$no } from 'intact';
3
+ import { TransitionGroup } from 'intact';
4
+ import { getRestProps } from '../utils';
5
+ import { makeTagsStyles } from './styles';
6
+ import { Tag } from './';
7
+ import { Tooltip } from '../tooltip';
8
+ import { Tags } from './tags';
9
+ import { Virtual } from '../virtual';
10
+ export default function ($props, $blocks, $__proto__) {
11
+ var _classNameObj;
12
+
13
+ $blocks || ($blocks = {});
14
+ $props || ($props = {});
15
+ var $this = this;
16
+ var _$blocks = {};
17
+ var __$blocks = {};
18
+
19
+ var _this$get = this.get(),
20
+ className = _this$get.className,
21
+ nowrap = _this$get.nowrap,
22
+ size = _this$get.size,
23
+ border = _this$get.border,
24
+ draggable = _this$get.draggable;
25
+
26
+ var classNameObj = (_classNameObj = {
27
+ 'k-tags': true,
28
+ 'k-nowrap': nowrap,
29
+ 'k-draggable': draggable
30
+ }, _classNameObj[makeTagsStyles()] = true, _classNameObj[className] = className, _classNameObj);
31
+ var _this$nowrap = this.nowrap,
32
+ containerRef = _this$nowrap.containerRef,
33
+ children = _this$nowrap.children,
34
+ hiddenChildren = _this$nowrap.hiddenChildren;
35
+ var vNodes = children.value;
36
+ /**
37
+ * We should always render Tooltip in nowrap mode, otherwise it will be removed while we close one tag.
38
+ * Because we will render all tags to calculate the width
39
+ */
40
+
41
+ return _$cv('div', _extends({
42
+ 'className': _$cn(classNameObj)
43
+ }, getRestProps(this), {
44
+ 'ref': containerRef
45
+ }), [!nowrap ? _$cc(TransitionGroup, {
46
+ 'name': 'k-fade',
47
+ 'children': vNodes
48
+ }) : vNodes, nowrap ? _$cc(Tooltip, {
49
+ 'key': '$tooltip',
50
+ 'hoverable': true,
51
+ 'theme': 'light',
52
+ 'className': 'k-tags-tooltip',
53
+ 'children': _$cc(Tag, {
54
+ 'key': '$more',
55
+ 'className': _$cn({
56
+ "k-tags-more": true,
57
+ 'c-hidden': !hiddenChildren.value.length
58
+ }),
59
+ 'size': size,
60
+ 'border': border,
61
+ 'children': [_$ct('\n +'), hiddenChildren.value.length]
62
+ }, '$more'),
63
+ '$blocks': function ($blocks) {
64
+ var _$blocks = {},
65
+ __$blocks = _$ex({}, $blocks);
66
+
67
+ return (_$blocks['content'] = function ($super) {
68
+ return _$ce(2, 'div', hiddenChildren.value, 0, _$cn(classNameObj));
69
+ }, __$blocks['content'] = function ($super, data) {
70
+ var block = $blocks['content'];
71
+
72
+ var callBlock = function callBlock() {
73
+ return _$blocks['content'].call($this, $super, data);
74
+ };
75
+
76
+ return block ? block.call($this, callBlock, data) : callBlock();
77
+ }), __$blocks;
78
+ }.call($this, _$em)
79
+ }, '$tooltip') : undefined, (_$blocks['append'] = function ($super) {
80
+ return null;
81
+ }, __$blocks['append'] = function ($super, data) {
82
+ var block = $blocks['append'];
83
+
84
+ var callBlock = function callBlock() {
85
+ return _$blocks['append'].call($this, $super, data);
86
+ };
87
+
88
+ return block ? block.call($this, callBlock, data) : callBlock();
89
+ }, __$blocks['append'](_$no))]);
90
+ }
91
+ ;
@@ -0,0 +1,2 @@
1
+ import { VNode } from 'intact';
2
+ export declare function useChildren(): import("../../hooks/useState").State<VNode<import("intact").VNodeTag>[]>;
@@ -0,0 +1,39 @@
1
+ import { useInstance } from 'intact';
2
+ import { eachChildren, findChildren, isComponentVNode } from '../utils';
3
+ import { isStringOrNumber } from 'intact-shared';
4
+ import { useState } from '../../hooks/useState';
5
+ import { Tag } from './';
6
+ import { Dropdown } from '../dropdown';
7
+ import { Tooltip } from '../tooltip';
8
+ export function useChildren() {
9
+ var instance = useInstance();
10
+ var children = useState([]);
11
+ instance.watch('children', function (v) {
12
+ var vNodes = [];
13
+ eachChildren(v, function (vNode) {
14
+ if (isTagOrContainsTag(vNode)) {
15
+ vNodes.push(vNode);
16
+ }
17
+ });
18
+ children.set(vNodes);
19
+ });
20
+ return children;
21
+ }
22
+
23
+ function isTagOrContainsTag(vNode) {
24
+ if (isStringOrNumber(vNode)) return false;
25
+
26
+ if (isComponentVNode(vNode, Tag)) {
27
+ return true;
28
+ }
29
+
30
+ if (isComponentVNode(vNode, Dropdown) || isComponentVNode(vNode, Tooltip)) {
31
+ var _vNode$props;
32
+
33
+ return !!findChildren((_vNode$props = vNode.props) == null ? void 0 : _vNode$props.children, function (vNode) {
34
+ return isTagOrContainsTag(vNode);
35
+ });
36
+ }
37
+
38
+ return false;
39
+ }
@@ -0,0 +1,3 @@
1
+ import { VNode } from 'intact';
2
+ import { State } from '../../hooks/useState';
3
+ export declare function useDraggable(originVNodes: State<VNode[]>): State<VNode<import("intact").VNodeTag>[]>;
@@ -0,0 +1,89 @@
1
+ import _mapInstanceProperty from "@babel/runtime-corejs3/core-js/instance/map";
2
+ import { useInstance, findDomFromVNode, createVNode as h } from 'intact';
3
+ import { nextFrame, swap } from '../utils';
4
+ import { useState, watchState } from '../../hooks/useState';
5
+ import { Virtual } from '../virtual';
6
+ import { cx } from '@emotion/css';
7
+ export function useDraggable(originVNodes) {
8
+ var instance = useInstance();
9
+ var children = useState([]);
10
+ var draggingKey = useState(null);
11
+ var draggingIndex = -1;
12
+ var originIndex = -1;
13
+ var lastOverIndex = -1;
14
+ /* let the dragover event only trigger once when tags changed order */
15
+
16
+ watchState(originVNodes, render);
17
+ watchState(draggingKey, render);
18
+
19
+ function render() {
20
+ var _context;
21
+
22
+ var _instance$get = instance.get(),
23
+ draggable = _instance$get.draggable;
24
+
25
+ children.set(!draggable ? originVNodes.value : _mapInstanceProperty(_context = originVNodes.value).call(_context, function (vNode, index) {
26
+ var key = vNode.key;
27
+ return h(Virtual, {
28
+ 'ev-dragstart': function evDragstart() {
29
+ return onStart(key, index);
30
+ },
31
+ 'ev-dragover': function evDragover(e) {
32
+ return onOver(e, key, index);
33
+ },
34
+ 'ev-dragend': function evDragend(e) {
35
+ return onEnd(e);
36
+ },
37
+ key: key,
38
+ draggable: draggable,
39
+ className: cx({
40
+ 'k-dragging': key === draggingKey.value,
41
+ 'k-draggable': draggable
42
+ })
43
+ }, vNode);
44
+ }));
45
+ }
46
+
47
+ function onStart(key, index) {
48
+ draggingIndex = originIndex = index;
49
+ nextFrame(function () {
50
+ draggingKey.set(key);
51
+ });
52
+ instance.trigger('dragstart', {
53
+ key: key,
54
+ from: index
55
+ });
56
+ }
57
+
58
+ function onOver(e, key, index) {
59
+ e.preventDefault();
60
+ e.stopPropagation(); // Dragging the tag of another tags drag to this tags should be ignored
61
+
62
+ if (draggingIndex === -1) return;
63
+ if (lastOverIndex === index) return;
64
+ lastOverIndex = index;
65
+ if (index === draggingIndex) return; // if the tag has move transition, you cannot drag over it before transition ended.
66
+
67
+ var dom = findDomFromVNode(children.value[index], true);
68
+ if (dom.classList.contains('k-fade-move')) return;
69
+ var vNodes = swap(originVNodes.value, draggingIndex, index);
70
+ lastOverIndex = draggingIndex;
71
+ draggingIndex = index;
72
+ originVNodes.set(vNodes);
73
+ }
74
+
75
+ function onEnd(e) {
76
+ e.preventDefault();
77
+ instance.trigger('dragend', {
78
+ key: draggingKey.value,
79
+ from: originIndex,
80
+ to: draggingIndex
81
+ });
82
+ draggingKey.set(null);
83
+ lastOverIndex = -1;
84
+ draggingIndex = -1;
85
+ originIndex = -1;
86
+ }
87
+
88
+ return children;
89
+ }
@@ -0,0 +1,7 @@
1
+ import { VNode } from 'intact';
2
+ import { State } from '../../hooks/useState';
3
+ export declare function useNowrap(originVNodes: State<VNode[]>): {
4
+ containerRef: import("intact").RefObject<HTMLDivElement>;
5
+ children: State<VNode<import("intact").VNodeTag>[]>;
6
+ hiddenChildren: State<VNode<import("intact").VNodeTag>[]>;
7
+ };
@@ -0,0 +1,115 @@
1
+ import _sliceInstanceProperty from "@babel/runtime-corejs3/core-js/instance/slice";
2
+ import _Map from "@babel/runtime-corejs3/core-js/map";
3
+ import { useInstance, createRef, findDomFromVNode, onBeforeMount, nextTick } from 'intact';
4
+ import { useState, watchState } from '../../hooks/useState';
5
+ import { tag as tagStyles } from './styles';
6
+ import { getLeft, getRight } from '../../styles/utils';
7
+ import { useReceive } from '../../hooks/useReceive';
8
+ import { useResizeObserver } from '../../hooks/useResizeObserver';
9
+ export function useNowrap(originVNodes) {
10
+ var instance = useInstance();
11
+ var containerRef = createRef();
12
+ var children = useState([]);
13
+ var hiddenChildren = useState([]);
14
+ var estimateMoreElementWidth = useEstimateMoreElementWidth();
15
+ var offsetMap = useChildrenOffset(originVNodes);
16
+ watchState(originVNodes, function (v) {
17
+ children.set(v);
18
+ nextTick(refresh);
19
+ }); // instance.watch('children', refresh, { presented: true })
20
+
21
+ useResizeObserver(containerRef, refresh);
22
+
23
+ function refresh() {
24
+ if (!instance.get('nowrap') || instance.$unmounted) return;
25
+ var container = containerRef.value;
26
+ var containerWidth = container.offsetWidth;
27
+ var vNodes = [];
28
+ var _originVNodes = originVNodes.value;
29
+ var length = _originVNodes.length;
30
+
31
+ if (_originVNodes.length > 1) {
32
+ _originVNodes.forEach(function (vNode, index) {
33
+ var offset = offsetMap.get(vNode); // estimate the "more" element's with for performance
34
+
35
+ var width = estimateMoreElementWidth(length - index - 1);
36
+
37
+ if (offset + width <= containerWidth) {
38
+ vNodes.push(vNode);
39
+ }
40
+ });
41
+ } else {
42
+ vNodes.push.apply(vNodes, _originVNodes);
43
+ }
44
+ /**
45
+ * refresh function will be called in ResizeObserver,
46
+ * state changed will cause container's width to change,
47
+ * and a error will throw (ResizeObserver loop completed with undelivered notifications)
48
+ * so we call setState in requestAnimationFrame
49
+ */
50
+
51
+
52
+ requestAnimationFrame(function () {
53
+ hiddenChildren.set(_sliceInstanceProperty(_originVNodes).call(_originVNodes, vNodes.length));
54
+ children.set(vNodes);
55
+ });
56
+ }
57
+
58
+ return {
59
+ containerRef: containerRef,
60
+ children: children,
61
+ hiddenChildren: hiddenChildren
62
+ };
63
+ }
64
+
65
+ function useChildrenOffset(vNodes) {
66
+ var instance = useInstance();
67
+ var map = new _Map(); // instance.watch('children', updateMap, { presented: true })
68
+
69
+ watchState(vNodes, function () {
70
+ return nextTick(updateMap);
71
+ });
72
+
73
+ function updateMap() {
74
+ map.clear();
75
+ if (!instance.get('nowrap')) return;
76
+ vNodes.value.forEach(function (vNode) {
77
+ var dom = findDomFromVNode(vNode, true);
78
+ if (!dom || dom.nodeType !== 1) return;
79
+ var offsetLeft = dom.offsetLeft,
80
+ offsetWidth = dom.offsetWidth;
81
+ map.set(vNode, offsetLeft + offsetWidth);
82
+ });
83
+ }
84
+
85
+ return map;
86
+ }
87
+
88
+ function useEstimateMoreElementWidth() {
89
+ var instance = useInstance();
90
+ var widthPerChar = 7.2;
91
+ var cacheWidth = 0;
92
+ onBeforeMount(cache);
93
+ useReceive(['size', 'border'], cache, true);
94
+
95
+ function cache() {
96
+ var _instance$get = instance.get(),
97
+ size = _instance$get.size,
98
+ border = _instance$get.border;
99
+
100
+ cacheWidth = parseInt(tagStyles.tags.gap) + widthPerChar
101
+ /* the "+" mark */
102
+ ;
103
+
104
+ if (border !== 'none') {
105
+ cacheWidth += 2;
106
+ }
107
+
108
+ var padding = size === 'default' ? tagStyles.padding : tagStyles[size].padding;
109
+ cacheWidth += parseInt(getLeft(padding)) + parseInt(getRight(padding));
110
+ }
111
+
112
+ return function (count) {
113
+ return Math.round(count.toString().length * widthPerChar + cacheWidth);
114
+ };
115
+ }
@@ -100,7 +100,7 @@ describe('Timepicker', function () {
100
100
  case 45:
101
101
  expect(instance.get('timeArray')).to.eql(['01:00:00', '02:00:00']); // remove one value
102
102
 
103
- _picker2$querySelecto = picker2.querySelectorAll('.k-select-close'), close = _picker2$querySelecto[1];
103
+ _picker2$querySelecto = picker2.querySelectorAll('.k-tag-close'), close = _picker2$querySelecto[1];
104
104
  close.click();
105
105
  _context2.next = 50;
106
106
  return wait();
@@ -6,12 +6,13 @@ export interface TooltipContentEvents extends DropdownMenuEvents {
6
6
  export interface TooltipContentBlocks extends DropdownMenuBlocks {
7
7
  buttons: null;
8
8
  }
9
- export declare class TooltipContent extends DropdownMenu<TooltipContentProps, TooltipContentEvents, TooltipContentBlocks> {
9
+ export declare class TooltipContent<T extends TooltipContentProps = TooltipContentProps, E extends TooltipContentEvents = TooltipContentEvents, B extends TooltipContentBlocks = TooltipContentBlocks> extends DropdownMenu<T, E, B> {
10
10
  static template: string | import("intact").Template<any>;
11
- private isEmptyChildren;
11
+ protected isEmptyChildren: boolean;
12
12
  private arrow;
13
13
  init(): void;
14
14
  private onEnter;
15
+ private onAfterLeave;
15
16
  protected onMouseEnter(e: MouseEvent): void;
16
17
  private ok;
17
18
  private cancel;
@@ -5,6 +5,7 @@ import { DropdownMenu } from '../dropdown/menu';
5
5
  import template from './content.vdt';
6
6
  import { bind } from '../utils';
7
7
  import { useArrow } from './useArrow';
8
+ import { tooltip as tooltipTheme } from './styles';
8
9
  export var TooltipContent = /*#__PURE__*/function (_DropdownMenu) {
9
10
  _inheritsLoose(TooltipContent, _DropdownMenu);
10
11
 
@@ -35,10 +36,24 @@ export var TooltipContent = /*#__PURE__*/function (_DropdownMenu) {
35
36
  });
36
37
  };
37
38
 
38
- _proto.onEnter = function onEnter() {
39
+ _proto.onEnter = function onEnter(elem) {
40
+ // fix the width, https://github.com/ksc-fe/kpc/issues/873
41
+ var maxWidth = parseInt(tooltipTheme.maxWidth);
42
+ var width = elem.offsetWidth;
43
+
44
+ if (width === maxWidth) {
45
+ elem.style.width = width + "px";
46
+ }
47
+
39
48
  this.dropdown.position();
40
49
  };
41
50
 
51
+ _proto.onAfterLeave = function onAfterLeave(elem) {
52
+ // remove the position after leave, https://github.com/ksc-fe/kpc/issues/873
53
+ var style = elem.style;
54
+ style.left = style.top = style.width = '';
55
+ };
56
+
42
57
  _proto.onMouseEnter = function onMouseEnter(e) {
43
58
  var dropdown = this.dropdown;
44
59
 
@@ -67,6 +82,8 @@ TooltipContent.template = template;
67
82
 
68
83
  __decorate([bind], TooltipContent.prototype, "onEnter", null);
69
84
 
85
+ __decorate([bind], TooltipContent.prototype, "onAfterLeave", null);
86
+
70
87
  __decorate([bind], TooltipContent.prototype, "onMouseEnter", null);
71
88
 
72
89
  __decorate([bind], TooltipContent.prototype, "ok", null);
@@ -1,4 +1,4 @@
1
- import { superCall as _$su, className as _$cn, extend as _$ex, EMPTY_OBJ as _$em, createElementVNode as _$ce, createUnknownComponentVNode as _$cc, noop as _$no } from 'intact';
1
+ import { superCall as _$su, className as _$cn, extend as _$ex, EMPTY_OBJ as _$em, noop as _$no, createElementVNode as _$ce, createUnknownComponentVNode as _$cc } from 'intact';
2
2
  import { Button } from '../button';
3
3
  import makeStyles from './styles';
4
4
  export default function ($props, $blocks, $__proto__) {
@@ -33,12 +33,14 @@ export default function ($props, $blocks, $__proto__) {
33
33
  'k-tooltip-content': true,
34
34
  'k-hoverable': hoverable || trigger === 'click',
35
35
  'k-always': always
36
- }, _classNameObj["k-" + theme] = true, _classNameObj["k-" + size] = size !== 'default', _classNameObj[className] = className, _classNameObj[makeStyles()] = true, _classNameObj);
36
+ }, _classNameObj["k-" + theme] = true, _classNameObj["k-" + size] = size !== 'default', _classNameObj[className] = className, _classNameObj[makeStyles()] = true, _classNameObj[$props.className] = $props.className, _classNameObj);
37
37
  return _$su.call($this, {
38
38
  'value': !!value && !this.isEmptyChildren,
39
39
  'transition': {
40
40
  name: 'k-fade',
41
- onEnter: this.onEnter
41
+ onEnter: this.onEnter,
42
+ onAfterLeave: this.onAfterLeave,
43
+ onLeaveCancelled: this.onAfterLeave
42
44
  },
43
45
  'className': _$cn(classNameObj)
44
46
  }, function ($blocks) {
@@ -48,9 +50,17 @@ export default function ($props, $blocks, $__proto__) {
48
50
  return (_$blocks['children'] = function ($super) {
49
51
  var _$cn2;
50
52
 
51
- return [children, showArrow ? _$ce(2, 'i', null, 1, _$cn((_$cn2 = {
52
- "k-tooltip-arrow": true
53
- }, _$cn2["k-" + arrowType.value] = arrowType.value, _$cn2)), null, 'tooltip-arrow', arrowRef) : undefined, confirm ? _$ce(2, 'div', (_$blocks['buttons'] = function ($super) {
53
+ return [(_$blocks['body'] = function ($super) {
54
+ return children;
55
+ }, __$blocks['body'] = function ($super, data) {
56
+ var block = $blocks['body'];
57
+
58
+ var callBlock = function callBlock() {
59
+ return _$blocks['body'].call($this, $super, data);
60
+ };
61
+
62
+ return block ? block.call($this, callBlock, data) : callBlock();
63
+ }, __$blocks['body'](_$no)), confirm ? _$ce(2, 'div', (_$blocks['footer'] = function ($super) {
54
64
  return [_$cc(Button, {
55
65
  'ev-click': this.cancel,
56
66
  'size': 'small',
@@ -61,15 +71,17 @@ export default function ($props, $blocks, $__proto__) {
61
71
  'size': 'small',
62
72
  'children': okText
63
73
  })];
64
- }, __$blocks['buttons'] = function ($super, data) {
65
- var block = $blocks['buttons'];
74
+ }, __$blocks['footer'] = function ($super, data) {
75
+ var block = $blocks['footer'];
66
76
 
67
77
  var callBlock = function callBlock() {
68
- return _$blocks['buttons'].call($this, $super, data);
78
+ return _$blocks['footer'].call($this, $super, data);
69
79
  };
70
80
 
71
81
  return block ? block.call($this, callBlock, data) : callBlock();
72
- }, __$blocks['buttons'](_$no)), 0, 'k-tooltip-buttons', null, 'tooltip-buttons') : undefined];
82
+ }, __$blocks['footer'](_$no)), 0, 'k-tooltip-footer', null, 'tooltip-footer') : undefined, showArrow ? _$ce(2, 'i', null, 1, _$cn((_$cn2 = {
83
+ "k-tooltip-arrow": true
84
+ }, _$cn2["k-" + arrowType.value] = arrowType.value, _$cn2)), null, 'tooltip-arrow', arrowRef) : undefined];
73
85
  }, __$blocks['children'] = function ($super, data) {
74
86
  var block = $blocks['children'];
75
87