@king-design/intact 2.1.1 → 3.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (468) hide show
  1. package/README.md +1 -1
  2. package/components/button/demos/basic.md +1 -0
  3. package/components/button/demos/group.md +11 -0
  4. package/components/button/demos/icon.md +1 -0
  5. package/components/button/index.md +1 -1
  6. package/components/button/index.ts +2 -2
  7. package/components/button/styles.ts +10 -2
  8. package/components/card/styles.ts +3 -2
  9. package/components/checkbox/styles.ts +31 -6
  10. package/components/collapse/styles.ts +4 -1
  11. package/components/copy/demos/basic.md +12 -0
  12. package/components/copy/demos/children.md +37 -0
  13. package/components/copy/index.md +21 -0
  14. package/components/copy/index.spec.ts +21 -0
  15. package/components/copy/index.ts +37 -0
  16. package/components/copy/index.vdt +23 -0
  17. package/components/copy/styles.ts +9 -0
  18. package/components/copy/useCopy.ts +91 -0
  19. package/components/datepicker/demos/basic.md +1 -0
  20. package/components/datepicker/index.md +2 -0
  21. package/components/datepicker/index.spec.ts +2 -2
  22. package/components/datepicker/index.vdt +2 -2
  23. package/components/datepicker/styles.ts +13 -5
  24. package/components/dialog/alert.vdt +10 -6
  25. package/components/dialog/base.vdt +4 -5
  26. package/components/dialog/index.spec.ts +4 -4
  27. package/components/dialog/styles.ts +18 -13
  28. package/components/drawer/styles.ts +20 -10
  29. package/components/dropdown/demos/tooltip.md +1 -1
  30. package/components/dropdown/index.spec.ts +1 -1
  31. package/components/dropdown/styles.ts +1 -1
  32. package/components/form/index.spec.ts +1 -1
  33. package/components/form/item.vdt +1 -1
  34. package/components/form/styles.ts +21 -26
  35. package/components/grid/useGutter.ts +7 -6
  36. package/components/icon/demos/disabled.md +21 -0
  37. package/components/icon/demos/icons.md +87 -116
  38. package/components/icon/index.md +1 -0
  39. package/components/icon/index.ts +2 -0
  40. package/components/icon/index.vdt +6 -2
  41. package/components/icon/styles.ts +8 -1
  42. package/components/input/demos/flat.md +16 -0
  43. package/components/input/index.md +1 -0
  44. package/components/input/index.ts +4 -10
  45. package/components/input/index.vdt +2 -1
  46. package/components/input/styles.ts +29 -21
  47. package/components/message/demos/basic.md +1 -1
  48. package/components/message/demos/duration.md +3 -3
  49. package/components/message/index.md +1 -1
  50. package/components/message/message.ts +2 -2
  51. package/components/message/message.vdt +6 -6
  52. package/components/message/styles.ts +10 -19
  53. package/components/pagination/demos/flat.md +22 -0
  54. package/components/pagination/index.md +1 -1
  55. package/components/pagination/index.spec.ts +1 -1
  56. package/components/pagination/index.ts +2 -2
  57. package/components/pagination/index.vdt +15 -18
  58. package/components/pagination/styles.ts +13 -9
  59. package/components/popover/content.ts +40 -0
  60. package/components/popover/content.vdt +32 -0
  61. package/components/popover/demos/basic.md +47 -0
  62. package/components/popover/demos/button.md +49 -0
  63. package/components/popover/demos/content.md +36 -0
  64. package/components/popover/demos/text.md +38 -0
  65. package/components/popover/demos/type.md +51 -0
  66. package/components/popover/index.md +54 -0
  67. package/components/popover/index.spec.ts +91 -0
  68. package/components/popover/index.ts +52 -0
  69. package/components/popover/styles.ts +45 -0
  70. package/components/progress/demos/children.md +1 -1
  71. package/components/progress/demos/circleSize.md +84 -0
  72. package/components/progress/demos/customColor.md +1 -3
  73. package/components/progress/index.ts +1 -1
  74. package/components/progress/index.vdt +36 -7
  75. package/components/progress/styles.ts +34 -21
  76. package/components/radio/styles.ts +28 -9
  77. package/components/rate/styles.ts +1 -0
  78. package/components/select/base.ts +8 -2
  79. package/components/select/base.vdt +40 -39
  80. package/components/select/demos/basic.md +21 -12
  81. package/components/select/demos/creatable.md +1 -1
  82. package/components/select/demos/draggable.md +55 -0
  83. package/components/select/demos/flat.md +42 -0
  84. package/components/select/demos/nowrap.md +24 -0
  85. package/components/select/demos/size.md +41 -1
  86. package/components/select/index.md +2 -0
  87. package/components/select/index.spec.ts +2 -2
  88. package/components/select/menu.vdt +5 -5
  89. package/components/select/styles.ts +55 -64
  90. package/components/select/useDraggble.ts +12 -0
  91. package/components/select/useNowrap.ts +24 -0
  92. package/components/slider/index.spec.ts +32 -1
  93. package/components/slider/index.ts +2 -2
  94. package/components/slider/index.vdt +34 -16
  95. package/components/slider/styles.ts +21 -13
  96. package/components/slider/useValue.ts +15 -3
  97. package/components/spinner/index.md +1 -1
  98. package/components/spinner/index.ts +0 -9
  99. package/components/spinner/index.vdt +13 -8
  100. package/components/spinner/styles.ts +36 -36
  101. package/components/spinner/useChange.ts +2 -2
  102. package/components/spinner/useValue.ts +9 -1
  103. package/components/split/index.vdt +13 -3
  104. package/components/split/memo.ts +29 -0
  105. package/components/steps/demos/basic.md +2 -1
  106. package/components/steps/demos/clickable.md +6 -0
  107. package/components/steps/demos/error.md +25 -5
  108. package/components/steps/demos/line.md +7 -6
  109. package/components/steps/demos/simple.md +0 -6
  110. package/components/steps/demos/vertical.md +79 -0
  111. package/components/steps/index.md +2 -1
  112. package/components/steps/index.spec.ts +1 -1
  113. package/components/steps/index.ts +7 -5
  114. package/components/steps/index.vdt +5 -3
  115. package/components/steps/step.vdt +16 -13
  116. package/components/steps/styles.ts +422 -255
  117. package/components/switch/demos/basic.md +1 -2
  118. package/components/switch/demos/disabled.md +20 -0
  119. package/components/switch/demos/onOff.md +5 -0
  120. package/components/switch/index.spec.ts +15 -10
  121. package/components/switch/styles.ts +29 -37
  122. package/components/table/styles.ts +11 -6
  123. package/components/table/useDraggable.ts +4 -3
  124. package/components/table/useStickyScrollbar.ts +2 -2
  125. package/components/table/useWidth.ts +2 -2
  126. package/components/tabs/demos/basic.md +0 -1
  127. package/components/tabs/demos/beforeChange.md +2 -2
  128. package/components/tabs/demos/card.md +2 -11
  129. package/components/tabs/demos/closable.md +7 -6
  130. package/components/tabs/demos/scroll.md +104 -0
  131. package/components/tabs/demos/vertical.md +1 -9
  132. package/components/tabs/index.md +1 -1
  133. package/components/tabs/index.spec.ts +36 -0
  134. package/components/tabs/index.ts +11 -12
  135. package/components/tabs/index.vdt +8 -9
  136. package/components/tabs/styles.ts +205 -186
  137. package/components/tabs/useScroll.ts +101 -42
  138. package/components/tag/base.ts +2 -2
  139. package/components/tag/demos/border.md +2 -2
  140. package/components/tag/demos/draggable.md +49 -0
  141. package/components/tag/demos/tags.md +72 -0
  142. package/components/tag/index.md +12 -1
  143. package/components/tag/index.spec.ts +70 -2
  144. package/components/tag/index.ts +2 -0
  145. package/components/tag/styles.ts +59 -9
  146. package/components/tag/tags.ts +54 -0
  147. package/components/tag/tags.vdt +49 -0
  148. package/components/tag/useChildren.ts +42 -0
  149. package/components/tag/useDraggable.ts +97 -0
  150. package/components/tag/useNowrap.ts +117 -0
  151. package/components/timepicker/index.md +2 -0
  152. package/components/timepicker/index.spec.ts +1 -1
  153. package/components/tip/index.vdt +1 -3
  154. package/components/tip/styles.ts +8 -2
  155. package/components/tooltip/content.ts +6 -6
  156. package/components/tooltip/content.vdt +8 -7
  157. package/components/tooltip/index.md +3 -6
  158. package/components/tooltip/index.spec.ts +6 -36
  159. package/components/tooltip/styles.ts +10 -8
  160. package/components/transfer/index.vdt +3 -2
  161. package/components/transfer/styles.ts +1 -0
  162. package/components/transfer/useCheck.ts +9 -2
  163. package/components/treeSelect/index.md +2 -0
  164. package/components/upload/demos/manually.md +12 -13
  165. package/components/upload/index.spec.ts +4 -4
  166. package/components/upload/index.vdt +40 -34
  167. package/components/upload/styles.ts +58 -64
  168. package/components/utils.ts +25 -4
  169. package/es/components/button/index.d.ts +1 -1
  170. package/es/components/button/index.js +1 -1
  171. package/es/components/button/styles.js +3 -3
  172. package/es/components/card/styles.js +10 -2
  173. package/es/components/checkbox/styles.js +21 -10
  174. package/es/components/collapse/styles.js +6 -1
  175. package/es/components/copy/index.d.ts +17 -0
  176. package/es/components/copy/index.js +43 -0
  177. package/es/components/copy/index.spec.d.ts +1 -0
  178. package/es/components/copy/index.spec.js +52 -0
  179. package/es/components/copy/index.vdt.js +45 -0
  180. package/es/components/copy/styles.d.ts +2 -0
  181. package/es/components/copy/styles.js +14 -0
  182. package/es/components/copy/useCopy.d.ts +4 -0
  183. package/es/components/copy/useCopy.js +90 -0
  184. package/es/components/datepicker/index.spec.js +1 -1
  185. package/es/components/datepicker/index.vdt.js +1 -1
  186. package/es/components/datepicker/styles.d.ts +1 -1
  187. package/es/components/datepicker/styles.js +5 -2
  188. package/es/components/diagram/shapes/callout.d.ts +1 -1
  189. package/es/components/diagram/shapes/circle.d.ts +1 -1
  190. package/es/components/diagram/shapes/document.d.ts +1 -1
  191. package/es/components/diagram/shapes/ellipse.d.ts +1 -1
  192. package/es/components/diagram/shapes/hexagon.d.ts +1 -1
  193. package/es/components/diagram/shapes/image.d.ts +1 -1
  194. package/es/components/diagram/shapes/parallelogram.d.ts +1 -1
  195. package/es/components/diagram/shapes/rectangle.d.ts +1 -1
  196. package/es/components/diagram/shapes/square.d.ts +1 -1
  197. package/es/components/diagram/shapes/text.d.ts +1 -1
  198. package/es/components/dialog/alert.vdt.js +6 -5
  199. package/es/components/dialog/base.vdt.js +5 -6
  200. package/es/components/dialog/index.spec.js +4 -4
  201. package/es/components/dialog/styles.js +16 -14
  202. package/es/components/drawer/styles.js +20 -5
  203. package/es/components/dropdown/styles.js +1 -1
  204. package/es/components/form/index.spec.js +4 -2
  205. package/es/components/form/item.vdt.js +2 -1
  206. package/es/components/form/styles.js +5 -5
  207. package/es/components/grid/useGutter.js +8 -8
  208. package/es/components/icon/index.d.ts +1 -0
  209. package/es/components/icon/index.js +2 -1
  210. package/es/components/icon/index.vdt.js +4 -2
  211. package/es/components/icon/styles.js +10 -2
  212. package/es/components/input/index.d.ts +1 -0
  213. package/es/components/input/index.js +4 -11
  214. package/es/components/input/index.vdt.js +4 -2
  215. package/es/components/input/styles.js +13 -11
  216. package/es/components/message/message.js +1 -1
  217. package/es/components/message/message.vdt.js +7 -6
  218. package/es/components/message/styles.js +8 -8
  219. package/es/components/pagination/index.d.ts +1 -1
  220. package/es/components/pagination/index.js +1 -1
  221. package/es/components/pagination/index.spec.js +4 -2
  222. package/es/components/pagination/index.vdt.js +16 -18
  223. package/es/components/pagination/styles.js +12 -3
  224. package/es/components/popover/content.d.ts +19 -0
  225. package/es/components/popover/content.js +31 -0
  226. package/es/components/popover/content.vdt.js +68 -0
  227. package/es/components/popover/index.d.ts +16 -0
  228. package/es/components/popover/index.js +44 -0
  229. package/es/components/popover/index.spec.d.ts +1 -0
  230. package/es/components/popover/index.spec.js +195 -0
  231. package/es/components/popover/styles.d.ts +1 -0
  232. package/es/components/popover/styles.js +22 -0
  233. package/es/components/progress/index.js +1 -1
  234. package/es/components/progress/index.vdt.js +46 -8
  235. package/es/components/progress/styles.js +19 -13
  236. package/es/components/radio/styles.js +16 -6
  237. package/es/components/rate/styles.js +1 -1
  238. package/es/components/select/base.d.ts +5 -2
  239. package/es/components/select/base.js +7 -3
  240. package/es/components/select/base.vdt.js +46 -38
  241. package/es/components/select/index.spec.js +2 -2
  242. package/es/components/select/menu.vdt.js +1 -1
  243. package/es/components/select/styles.js +14 -28
  244. package/es/components/select/useDraggble.d.ts +2 -0
  245. package/es/components/select/useDraggble.js +11 -0
  246. package/es/components/select/useNowrap.d.ts +3 -0
  247. package/es/components/select/useNowrap.js +19 -0
  248. package/es/components/slider/index.spec.js +48 -9
  249. package/es/components/slider/index.vdt.js +23 -12
  250. package/es/components/slider/styles.js +23 -14
  251. package/es/components/slider/useValue.d.ts +3 -1
  252. package/es/components/slider/useValue.js +12 -0
  253. package/es/components/spinner/index.d.ts +0 -1
  254. package/es/components/spinner/index.js +1 -19
  255. package/es/components/spinner/index.vdt.js +15 -8
  256. package/es/components/spinner/styles.js +33 -5
  257. package/es/components/spinner/useChange.d.ts +1 -1
  258. package/es/components/spinner/useChange.js +2 -2
  259. package/es/components/spinner/useValue.d.ts +1 -0
  260. package/es/components/spinner/useValue.js +16 -1
  261. package/es/components/split/index.vdt.js +32 -20
  262. package/es/components/split/memo.d.ts +9 -0
  263. package/es/components/split/memo.js +26 -0
  264. package/es/components/steps/index.d.ts +3 -2
  265. package/es/components/steps/index.js +4 -3
  266. package/es/components/steps/index.spec.js +1 -1
  267. package/es/components/steps/index.vdt.js +8 -4
  268. package/es/components/steps/step.vdt.js +17 -9
  269. package/es/components/steps/styles.d.ts +2 -1
  270. package/es/components/steps/styles.js +106 -72
  271. package/es/components/switch/index.spec.js +82 -65
  272. package/es/components/switch/styles.js +20 -34
  273. package/es/components/table/styles.js +9 -4
  274. package/es/components/table/useDraggable.js +3 -10
  275. package/es/components/table/useStickyScrollbar.js +2 -2
  276. package/es/components/table/useWidth.js +2 -2
  277. package/es/components/tabs/index.d.ts +1 -1
  278. package/es/components/tabs/index.js +1 -1
  279. package/es/components/tabs/index.spec.js +67 -0
  280. package/es/components/tabs/index.vdt.js +5 -5
  281. package/es/components/tabs/styles.js +73 -29
  282. package/es/components/tabs/useScroll.d.ts +1 -1
  283. package/es/components/tabs/useScroll.js +75 -48
  284. package/es/components/tag/base.d.ts +1 -0
  285. package/es/components/tag/base.js +2 -2
  286. package/es/components/tag/index.d.ts +1 -0
  287. package/es/components/tag/index.js +2 -1
  288. package/es/components/tag/index.spec.js +147 -4
  289. package/es/components/tag/styles.d.ts +67 -0
  290. package/es/components/tag/styles.js +42 -12
  291. package/es/components/tag/tags.d.ts +27 -0
  292. package/es/components/tag/tags.js +51 -0
  293. package/es/components/tag/tags.vdt.js +79 -0
  294. package/es/components/tag/useChildren.d.ts +2 -0
  295. package/es/components/tag/useChildren.js +39 -0
  296. package/es/components/tag/useDraggable.d.ts +3 -0
  297. package/es/components/tag/useDraggable.js +89 -0
  298. package/es/components/tag/useNowrap.d.ts +7 -0
  299. package/es/components/tag/useNowrap.js +115 -0
  300. package/es/components/timepicker/index.spec.js +1 -1
  301. package/es/components/tip/index.vdt.js +1 -3
  302. package/es/components/tip/styles.js +4 -3
  303. package/es/components/tooltip/content.d.ts +2 -2
  304. package/es/components/tooltip/content.vdt.js +23 -13
  305. package/es/components/tooltip/index.spec.js +56 -108
  306. package/es/components/tooltip/styles.d.ts +1 -0
  307. package/es/components/tooltip/styles.js +13 -8
  308. package/es/components/transfer/index.vdt.js +3 -1
  309. package/es/components/transfer/styles.js +1 -1
  310. package/es/components/transfer/useCheck.d.ts +1 -0
  311. package/es/components/transfer/useCheck.js +8 -1
  312. package/es/components/upload/index.spec.js +5 -6
  313. package/es/components/upload/index.vdt.js +24 -21
  314. package/es/components/upload/styles.js +22 -30
  315. package/es/components/utils.d.ts +2 -0
  316. package/es/components/utils.js +24 -3
  317. package/es/hooks/useResizeObserver.d.ts +1 -1
  318. package/es/hooks/useResizeObserver.js +19 -6
  319. package/es/i18n/en-US.d.ts +6 -2
  320. package/es/i18n/en-US.js +8 -3
  321. package/es/index.d.ts +4 -2
  322. package/es/index.js +4 -2
  323. package/es/packages/kpc-react/__tests__/components/drawer.spec.js +74 -6
  324. package/es/site/data/components/button/demos/basic/react.js +3 -1
  325. package/es/site/data/components/button/demos/group/react.js +26 -0
  326. package/es/site/data/components/button/demos/icon/react.js +6 -0
  327. package/es/site/data/components/copy/demos/basic/react.js +23 -0
  328. package/es/site/data/components/copy/demos/children/react.js +44 -0
  329. package/es/site/data/components/copy/index.d.ts +57 -0
  330. package/es/site/data/components/copy/index.js +42 -0
  331. package/es/site/data/components/datepicker/demos/basic/react.js +8 -0
  332. package/es/site/data/components/dropdown/demos/tooltip/react.js +2 -1
  333. package/es/site/data/components/icon/demos/disabled/index.d.ts +6 -0
  334. package/es/site/data/components/icon/demos/disabled/index.js +18 -0
  335. package/es/site/data/components/icon/demos/disabled/react.d.ts +5 -0
  336. package/es/site/data/components/icon/demos/disabled/react.js +33 -0
  337. package/es/site/data/components/icon/demos/icons/index.js +1 -1
  338. package/es/site/data/components/icon/demos/icons/react.js +1 -1
  339. package/es/site/data/components/input/demos/flat/index.d.ts +5 -0
  340. package/es/site/data/components/input/demos/flat/index.js +17 -0
  341. package/es/site/data/components/input/demos/flat/react.d.ts +4 -0
  342. package/es/site/data/components/input/demos/flat/react.js +29 -0
  343. package/es/site/data/components/message/demos/duration/index.js +2 -2
  344. package/es/site/data/components/message/demos/duration/react.js +2 -2
  345. package/es/site/data/components/pagination/demos/flat/index.d.ts +6 -0
  346. package/es/site/data/components/pagination/demos/flat/index.js +18 -0
  347. package/es/site/data/components/pagination/demos/flat/react.d.ts +5 -0
  348. package/es/site/data/components/pagination/demos/{noBoard → flat}/react.js +12 -8
  349. package/es/site/data/components/popover/demos/basic/react.d.ts +8 -0
  350. package/es/site/data/components/{tooltip/demos/confirm → popover/demos/basic}/react.js +14 -9
  351. package/es/site/data/components/popover/demos/button/index.d.ts +8 -0
  352. package/es/site/data/components/popover/demos/button/index.js +42 -0
  353. package/es/site/data/components/popover/demos/button/react.d.ts +8 -0
  354. package/es/site/data/components/popover/demos/button/react.js +73 -0
  355. package/es/site/data/components/popover/demos/content/index.d.ts +7 -0
  356. package/es/site/data/components/popover/demos/content/index.js +28 -0
  357. package/es/site/data/components/{tooltip/demos/confirm → popover/demos/content}/react.d.ts +0 -1
  358. package/es/site/data/components/popover/demos/content/react.js +43 -0
  359. package/es/site/data/components/popover/demos/text/index.d.ts +7 -0
  360. package/es/site/data/components/popover/demos/text/index.js +28 -0
  361. package/es/site/data/components/popover/demos/text/react.d.ts +6 -0
  362. package/es/site/data/components/popover/demos/text/react.js +36 -0
  363. package/es/site/data/components/popover/demos/type/index.d.ts +11 -0
  364. package/es/site/data/components/popover/demos/type/index.js +34 -0
  365. package/es/site/data/components/popover/demos/type/react.d.ts +11 -0
  366. package/es/site/data/components/popover/demos/type/react.js +58 -0
  367. package/es/site/data/components/popover/index.d.ts +57 -0
  368. package/es/site/data/components/popover/index.js +42 -0
  369. package/es/site/data/components/progress/demos/children/react.js +4 -4
  370. package/es/site/data/components/progress/demos/circleSize/index.d.ts +14 -0
  371. package/es/site/data/components/progress/demos/circleSize/index.js +43 -0
  372. package/es/site/data/components/progress/demos/circleSize/react.d.ts +14 -0
  373. package/es/site/data/components/progress/demos/circleSize/react.js +98 -0
  374. package/es/site/data/components/progress/demos/customColor/react.js +4 -4
  375. package/es/site/data/components/select/demos/basic/react.js +19 -7
  376. package/es/site/data/components/select/demos/creatable/react.js +2 -1
  377. package/es/site/data/components/select/demos/draggable/index.d.ts +10 -0
  378. package/es/site/data/components/select/demos/draggable/index.js +24 -0
  379. package/es/site/data/components/select/demos/draggable/react.d.ts +10 -0
  380. package/es/site/data/components/select/demos/draggable/react.js +85 -0
  381. package/es/site/data/components/select/demos/flat/index.d.ts +5 -0
  382. package/es/site/data/components/select/demos/flat/index.js +17 -0
  383. package/es/site/data/components/select/demos/flat/react.d.ts +4 -0
  384. package/es/site/data/components/select/demos/flat/react.js +73 -0
  385. package/es/site/data/components/select/demos/inline/index.d.ts +5 -0
  386. package/es/site/data/components/select/demos/inline/index.js +17 -0
  387. package/es/site/data/components/select/demos/inline/react.d.ts +4 -0
  388. package/es/site/data/components/select/demos/nowrap/index.d.ts +5 -0
  389. package/es/site/data/components/select/demos/nowrap/index.js +17 -0
  390. package/es/site/data/components/select/demos/nowrap/react.d.ts +4 -0
  391. package/es/site/data/components/select/demos/nowrap/react.js +41 -0
  392. package/es/site/data/components/select/demos/size/index.d.ts +1 -0
  393. package/es/site/data/components/select/demos/size/index.js +2 -1
  394. package/es/site/data/components/select/demos/size/react.d.ts +1 -0
  395. package/es/site/data/components/select/demos/size/react.js +93 -1
  396. package/es/site/data/components/steps/demos/basic/react.js +1 -1
  397. package/es/site/data/components/steps/demos/clickable/react.js +15 -0
  398. package/es/site/data/components/steps/demos/error/react.js +22 -2
  399. package/es/site/data/components/steps/demos/line/react.js +15 -11
  400. package/es/site/data/components/steps/demos/simple/react.js +1 -11
  401. package/es/site/data/components/steps/demos/vertical/index.d.ts +14 -0
  402. package/es/site/data/components/steps/demos/vertical/index.js +40 -0
  403. package/es/site/data/components/steps/demos/vertical/react.d.ts +14 -0
  404. package/es/site/data/components/steps/demos/vertical/react.js +124 -0
  405. package/es/site/data/components/switch/demos/basic/react.js +0 -2
  406. package/es/site/data/components/switch/demos/disabled/index.d.ts +6 -0
  407. package/es/site/data/components/switch/demos/disabled/index.js +18 -0
  408. package/es/site/data/components/switch/demos/disabled/react.d.ts +5 -0
  409. package/es/site/data/components/switch/demos/disabled/react.js +27 -0
  410. package/es/site/data/components/switch/demos/onOff/react.js +11 -0
  411. package/es/site/data/components/tabs/demos/card/react.js +1 -15
  412. package/es/site/data/components/tabs/demos/closable/index.js +1 -1
  413. package/es/site/data/components/tabs/demos/closable/react.js +9 -3
  414. package/es/site/data/components/tabs/demos/scroll/index.d.ts +18 -0
  415. package/es/site/data/components/tabs/demos/scroll/index.js +87 -0
  416. package/es/site/data/components/tabs/demos/scroll/react.d.ts +18 -0
  417. package/es/site/data/components/tabs/demos/scroll/react.js +166 -0
  418. package/es/site/data/components/tabs/demos/vertical/react.js +1 -16
  419. package/es/site/data/components/tag/demos/border/index.js +1 -1
  420. package/es/site/data/components/tag/demos/border/react.js +1 -1
  421. package/es/site/data/components/tag/demos/draggable/index.d.ts +11 -0
  422. package/es/site/data/components/tag/demos/draggable/index.js +24 -0
  423. package/es/site/data/components/tag/demos/draggable/react.d.ts +11 -0
  424. package/es/site/data/components/tag/demos/draggable/react.js +62 -0
  425. package/es/site/data/components/tag/demos/tags/index.d.ts +12 -0
  426. package/es/site/data/components/tag/demos/tags/index.js +39 -0
  427. package/es/site/data/components/tag/demos/tags/react.d.ts +12 -0
  428. package/es/site/data/components/tag/demos/tags/react.js +83 -0
  429. package/es/site/data/components/upload/demos/manually/react.js +5 -7
  430. package/es/site/src/pages/document/styles.js +1 -1
  431. package/es/styles/fonts/iconfont.eot +0 -0
  432. package/es/styles/fonts/iconfont.js +2 -2
  433. package/es/styles/fonts/iconfont.svg +189 -369
  434. package/es/styles/fonts/iconfont.ttf +0 -0
  435. package/es/styles/fonts/iconfont.woff +0 -0
  436. package/es/styles/fonts/ionicons.js +2 -2
  437. package/es/styles/global.js +1 -1
  438. package/es/styles/theme.d.ts +10 -2
  439. package/es/styles/theme.js +23 -21
  440. package/hooks/useResizeObserver.ts +19 -7
  441. package/i18n/en-US.ts +8 -2
  442. package/index.ts +4 -2
  443. package/package.json +5 -1
  444. package/styles/fonts/iconfont.css +172 -289
  445. package/styles/fonts/iconfont.eot +0 -0
  446. package/styles/fonts/iconfont.svg +189 -369
  447. package/styles/fonts/iconfont.ts +256 -370
  448. package/styles/fonts/iconfont.ttf +0 -0
  449. package/styles/fonts/iconfont.woff +0 -0
  450. package/styles/fonts/iconfont.woff2 +0 -0
  451. package/styles/fonts/ionicons.ts +2 -2
  452. package/styles/global.ts +3 -3
  453. package/styles/theme.ts +23 -19
  454. package/components/pagination/demos/noBoard.md +0 -22
  455. package/components/table/useResizeObserver.ts +0 -22
  456. package/components/tooltip/demos/confirm.md +0 -41
  457. package/es/components/table/useResizeObserver.d.ts +0 -2
  458. package/es/components/table/useResizeObserver.js +0 -20
  459. /package/components/select/demos/{noBorder.md → inline.md} +0 -0
  460. /package/es/site/data/components/{select/demos/noBorder → copy/demos/basic}/index.d.ts +0 -0
  461. /package/es/site/data/components/{select/demos/noBorder → copy/demos/basic}/index.js +0 -0
  462. /package/es/site/data/components/{select/demos/noBorder → copy/demos/basic}/react.d.ts +0 -0
  463. /package/es/site/data/components/{pagination/demos/noBoard → copy/demos/children}/index.d.ts +0 -0
  464. /package/es/site/data/components/{pagination/demos/noBoard → copy/demos/children}/index.js +0 -0
  465. /package/es/site/data/components/{pagination/demos/noBoard → copy/demos/children}/react.d.ts +0 -0
  466. /package/es/site/data/components/{tooltip/demos/confirm → popover/demos/basic}/index.d.ts +0 -0
  467. /package/es/site/data/components/{tooltip/demos/confirm → popover/demos/basic}/index.js +0 -0
  468. /package/es/site/data/components/select/demos/{noBorder → inline}/react.js +0 -0
@@ -45,6 +45,44 @@ import {Select, Option} from 'kpc';
45
45
  <Option value="Saturday">星期六</Option>
46
46
  <Option value="Sunday">星期天</Option>
47
47
  </Select>
48
+ <br /><br />
49
+ <Select v-model="days" size="large" multiple>
50
+ <Option value="Monday">星期一</Option>
51
+ <Option value="Tuesday">星期二</Option>
52
+ <Option value="Wednesday">星期三</Option>
53
+ <Option value="Thursday">星期四</Option>
54
+ <Option value="Friday">星期五</Option>
55
+ <Option value="Saturday">星期六</Option>
56
+ <Option value="Sunday">星期天</Option>
57
+ </Select>
58
+ <Select v-model="days" multiple>
59
+ <Option value="Monday">星期一</Option>
60
+ <Option value="Tuesday">星期二</Option>
61
+ <Option value="Wednesday">星期三</Option>
62
+ <Option value="Thursday">星期四</Option>
63
+ <Option value="Friday">星期五</Option>
64
+ <Option value="Saturday">星期六</Option>
65
+ <Option value="Sunday">星期天</Option>
66
+ </Select>
67
+ <Select v-model="days" size="small" multiple>
68
+ <Option value="Monday">星期一</Option>
69
+ <Option value="Tuesday">星期二</Option>
70
+ <Option value="Wednesday">星期三</Option>
71
+ <Option value="Thursday">星期四</Option>
72
+ <Option value="Friday">星期五</Option>
73
+ <Option value="Saturday">星期六</Option>
74
+ <Option value="Sunday">星期天</Option>
75
+ </Select>
76
+ <Select v-model="days" size="mini" multiple>
77
+ <Option value="Monday">星期一</Option>
78
+ <Option value="Tuesday">星期二</Option>
79
+ <Option value="Wednesday">星期三</Option>
80
+ <Option value="Thursday">星期四</Option>
81
+ <Option value="Friday">星期五</Option>
82
+ <Option value="Saturday">星期六</Option>
83
+ <Option value="Sunday">星期天</Option>
84
+ </Select>
85
+
48
86
  </div>
49
87
  ```
50
88
 
@@ -56,13 +94,15 @@ import {Select, Option} from 'kpc';
56
94
  ```ts
57
95
  interface Props {
58
96
  day?: string | null
97
+ days?: string[]
59
98
  }
60
99
 
61
100
  export default class extends Component {
62
101
  static template = template;
63
102
  static defaults() {
64
103
  return {
65
- day: null
104
+ day: null,
105
+ days: [],
66
106
  } as Props;
67
107
  }
68
108
  }
@@ -33,6 +33,8 @@ sidebar: doc
33
33
  | autoDisableArrow | 是否在没有更多可选项时,给箭头一个`disabled`状态来提示用户 | `boolean` | `false` |
34
34
  | show | 是否展示菜单项 | `boolean` | `false` |
35
35
  | position | 菜单弹出的位置,默认与触发器左侧对齐向下偏移`8px`的地方 | `Position` &#124; `"left"` &#124; `"bottom"` &#124; `"right"` &#124; `"top"` | `{my: 'left top+8', 'left bottom'}` |
36
+ | flat | 是否展示扁平样式 | `boolean` | `false` |
37
+ | draggable | 多选值是否支持拖动排序 | `boolean` | `false` |
36
38
 
37
39
  ```ts
38
40
  type Position = {
@@ -46,7 +46,7 @@ describe('Select', () => {
46
46
  const dropdown = getElement('.k-select-menu')!;
47
47
  expect(dropdown.innerHTML).to.matchSnapshot();
48
48
 
49
- const close = element.querySelector('.k-select-close') as HTMLElement;
49
+ const close = element.querySelector('.k-tag-close') as HTMLElement;
50
50
  close.click();
51
51
  await wait();
52
52
  expect(instance.get('days')!.length).to.eql(2);
@@ -108,7 +108,7 @@ describe('Select', () => {
108
108
  expect(dropdown.innerHTML).to.matchSnapshot();
109
109
  expect(instance.get('days')).to.eql(['Monday', 'Tuesday']);
110
110
  // delete
111
- const deleteBtn = element.querySelector('.k-select-close') as HTMLElement;
111
+ const deleteBtn = element.querySelector('.k-tag-close') as HTMLElement;
112
112
  deleteBtn.click();
113
113
  await wait();
114
114
  expect(instance.get('days')).to.eql(['Tuesday']);
@@ -26,10 +26,10 @@ if (card) {
26
26
  const {labels, group} = process(children);
27
27
  children = (
28
28
  <template>
29
- <Tabs vertical type="border-card"
29
+ <Tabs vertical type="card"
30
30
  value={activeIndex.value}
31
31
  ev-$change:value={activeIndex.set}
32
- >
32
+ >
33
33
  <Tab v-for={labels} value={$key}>
34
34
  {isFunction($value) /* is <b:label> block */ ? $value(noop) : $value}
35
35
  </Tab>
@@ -66,13 +66,13 @@ if (searchable) {
66
66
  <div class="k-select-op" v-if={multiple}>
67
67
  <Button type="link" size="small"
68
68
  ev-click={selectAll}
69
- >{_$('全选')}</Button>
69
+ >{_$('全选')}</Button>
70
70
  <Button type="link" size="small"
71
71
  ev-click={toggleSelect}
72
- >{_$('反选')}</Button>
72
+ >{_$('反选')}</Button>
73
73
  <Button type="link" size="small"
74
74
  ev-click={unselectAll}
75
- >{_$('清空')}</Button>
75
+ >{_$('清空')}</Button>
76
76
  </div>
77
77
  </div>
78
78
  <div class="k-select-body">
@@ -7,8 +7,6 @@ type SizeStyles = {
7
7
  padding?: string,
8
8
  height: string,
9
9
  fontSize: string,
10
- multipleGap: string,
11
- multipleMargin: string,
12
10
  }
13
11
 
14
12
  const defaults = deepDefaults(
@@ -22,11 +20,9 @@ const defaults = deepDefaults(
22
20
  get focusBorder() { return `1px solid ${theme.color.primary}` },
23
21
  // get hoverBorder() { return `1px solid ${theme.color.darkBorder}` },
24
22
  get hoverBorder() { return `1px solid ${theme.color.primary}` },
25
- get iconColor() { return theme.color.placeholder },
26
23
  get activeColor() { return theme.color.primary },
27
24
  get borderRadius() { return theme.borderRadius },
28
25
  suffixGap: '10px',
29
- disabledArrowColor: '#e5e5e5',
30
26
 
31
27
  clearGap: `8px`,
32
28
  get placeholderColor() { return theme.color.placeholder },
@@ -58,15 +54,15 @@ const defaults = deepDefaults(
58
54
  },
59
55
  tag: {
60
56
  margin: `3px 8px 3px 0`,
61
- padding: `3px 8px`,
57
+ padding: `1px 8px`,
62
58
  get borderRadius() { return theme.borderRadius },
63
59
  get bgColor() { return theme.color.bg },
64
- disabledBgColor: '#eee',
60
+ disabledBgColor: '#f8f9fa',
65
61
 
66
62
  delete: {
67
63
  gap: `8px`,
68
64
  fontSize: '14px',
69
- get color() { return theme.color.placeholder },
65
+ get color() { return theme.color.lightBlack },
70
66
  }
71
67
  },
72
68
 
@@ -96,28 +92,17 @@ const defaults = deepDefaults(
96
92
  btnGap: `8px`,
97
93
  },
98
94
  },
95
+
96
+ // flat
97
+ flat: {
98
+ get color() { return theme.color.lightBlack },
99
+ },
99
100
  },
100
101
  sizes.reduce((memo, size) => {
101
102
  memo[size] = {
102
103
  get padding() { return `0 ${theme[size].padding}` },
103
104
  get height() { return theme[size].height },
104
105
  get fontSize() { return theme[size].fontSize },
105
- multipleGap: `1px`,
106
- multipleMargin: `0 2px 1px 0`,
107
- }
108
-
109
- if (size === 'large') {
110
- // use default padding for large size
111
- Object.defineProperty(memo.large, 'padding', {
112
- get() {
113
- return `0 ${theme.default.padding}`;
114
- }
115
- });
116
- Object.defineProperty(memo.large, 'fontSize', {
117
- get() {
118
- return theme.default.fontSize;
119
- }
120
- });
121
106
  }
122
107
 
123
108
  return memo;
@@ -148,11 +133,11 @@ export default function makeStyles() {
148
133
  }
149
134
  .k-select-prefix,
150
135
  .k-select-suffix {
151
- color: ${select.iconColor};
152
136
  position: relative;
153
137
  }
154
138
  .k-select-suffix {
155
139
  margin-left: ${select.suffixGap};
140
+ // margin-top: 1px;
156
141
  }
157
142
 
158
143
  .k-select-placeholder {
@@ -160,6 +145,11 @@ export default function makeStyles() {
160
145
  user-select: none;
161
146
  }
162
147
 
148
+ // add .k-input to increase priority
149
+ .k-input .k-input-inner {
150
+ background: transparent;
151
+ }
152
+
163
153
  &.k-fluid {
164
154
  width: 100%;
165
155
  }
@@ -193,9 +183,6 @@ export default function makeStyles() {
193
183
  .k-select-arrow {
194
184
  display: inline-block;
195
185
  transition: transform ${select.transition};
196
- &.k-disabled {
197
- color: ${select.disabledArrowColor};
198
- }
199
186
  }
200
187
 
201
188
  // show
@@ -210,47 +197,14 @@ export default function makeStyles() {
210
197
  border: ${select.focusBorder};
211
198
  }
212
199
 
213
- // disabled
214
- &.k-disabled {
215
- color: ${select.disabled.color};
216
- cursor: not-allowed;
217
- background: ${select.disabled.bgColor};
218
- border-color: ${select.disabled.borderColor};
219
- .k-select-tag {
220
- background: ${select.tag.disabledBgColor};
221
- }
222
- }
223
-
224
200
  // multiple
225
- .k-select-values {
226
- display: inline-block;
227
- margin-right: -${getRight(select.tag.margin)};
228
- width: 100%;
229
- &.k-with-values {
230
- margin: 0;
231
- }
201
+ .k-tags {
202
+ padding: 3px 0;
232
203
  }
233
- .k-select-tag {
234
- display: inline-flex;
235
- align-items: center;
236
- padding: ${select.tag.padding};
237
- background: ${select.tag.bgColor};
238
- border-radius: ${select.tag.borderRadius};
239
- margin: ${select.tag.margin};
240
- max-width: calc(100% - ${getRight(select.tag.margin)} - 1px);
241
- }
242
- .k-select-text {
243
- max-width: calc(100% - 18px);
204
+ .k-tag {
244
205
  word-break: break-word;
206
+ height: auto;
245
207
  }
246
- .k-select-close {
247
- margin-left: ${select.tag.delete.gap};
248
- font-size: ${select.tag.delete.fontSize};
249
- color: ${select.tag.delete.color};
250
- }
251
- // .k-select-input {
252
- // margin-right: ${getRight(select.tag.margin)};
253
- // }
254
208
 
255
209
  // size
256
210
  ${sizes.map(size => {
@@ -279,6 +233,43 @@ export default function makeStyles() {
279
233
  line-height: inherit;
280
234
  }
281
235
  }
236
+
237
+ // flat
238
+ &.k-flat {
239
+ border: none;
240
+ background: ${theme.color.bg};
241
+ color: ${defaults.flat.color};
242
+ .k-tag {
243
+ background: ${select.tag.disabledBgColor};
244
+ }
245
+ }
246
+
247
+ // disabled (should place at last)
248
+ &.k-disabled {
249
+ color: ${select.disabled.color};
250
+ cursor: not-allowed;
251
+ background: ${select.disabled.bgColor};
252
+ border-color: ${select.disabled.borderColor};
253
+ .k-tag {
254
+ background: ${select.tag.disabledBgColor};
255
+ }
256
+ }
257
+
258
+ // nowrap
259
+ &.k-nowrap {
260
+ .k-select-values {
261
+ display: flex;
262
+ align-items: center;
263
+ }
264
+ .k-tags {
265
+ flex: 1;
266
+ }
267
+ .k-select-text {
268
+ white-space: nowrap;
269
+ overflow: hidden;
270
+ text-overlay: ellipsis;
271
+ }
272
+ }
282
273
  `;
283
274
  }
284
275
 
@@ -0,0 +1,12 @@
1
+ import { useInstance } from 'intact';
2
+ import type {Select } from './select';
3
+ import {swap} from '../utils';
4
+ import type { TagsDragEndParam } from '../tag';
5
+
6
+ export function useDraggable() {
7
+ const instance = useInstance() as Select<any, true>;
8
+
9
+ return function onEnd({key, from, to}: TagsDragEndParam) {
10
+ instance.set('value', swap(instance.get('value')!, from, to));
11
+ }
12
+ }
@@ -0,0 +1,24 @@
1
+ import {Children, VNodeComponentClass, VNode, useInstance, watch, createRef, Props} from 'intact';
2
+ import {isNullOrUndefined, isStringOrNumber, EMPTY_OBJ} from 'intact-shared';
3
+ import {findChildren, isEmptyString, ValidVNode, isComponentVNode} from '../utils';
4
+ import {Option, OptionProps} from './option';
5
+ import {OptionGroup, OptionGroupProps} from './group';
6
+ import type {Select, SelectProps} from './select';
7
+ import {useBaseLabel} from './useBaseLabel';
8
+
9
+ export function useNowrap() {
10
+ const instance = useInstance() as Select;
11
+ const containerRef = createRef<HTMLDivElement>();
12
+
13
+ instance.watch('value', refresh, { presented: true });
14
+
15
+ function refresh() {
16
+ if (!instance.get('multiple')) return;
17
+ const container = containerRef.value!;
18
+ const width = container.getBoundingClientRect().width;
19
+
20
+ console.log('aaa', width);
21
+ }
22
+
23
+ return { containerRef };
24
+ }
@@ -51,7 +51,8 @@ describe('Slider', () => {
51
51
  it('range test', async () => {
52
52
  const [instance, element] = mount(RangeDemo);
53
53
 
54
- const windowWidth = 800; //document.documentElement.clientWidth;
54
+ // const windowWidth = 800; //document.documentElement.clientWidth;
55
+ const windowWidth = element.querySelector('.k-slider-main')!.clientWidth;
55
56
  const [first, second] = element.querySelectorAll<HTMLElement>('.k-slider-thumb');
56
57
 
57
58
  // drag
@@ -87,6 +88,36 @@ describe('Slider', () => {
87
88
  instance.set<number>('values', 1);
88
89
  await wait();
89
90
  expect(instance.get('values')).eql([1, 1]);
91
+
92
+ // increase first value
93
+ const increaseBtn = element.querySelector('.k-right') as HTMLElement;
94
+ increaseBtn.click();
95
+ await wait();
96
+ expect(instance.get('values')).eql([2, 2]);
97
+
98
+ // should disable second spinner's decrease button
99
+ const decreaseBtn = element.querySelector('.k-spinner:last-of-type .k-left') as HTMLElement;
100
+ decreaseBtn.click();
101
+ await wait();
102
+ expect(instance.get('values')).eql([2, 2]);
103
+
104
+ // input value
105
+ const [firstInput, secondInput] = element.querySelectorAll<HTMLInputElement>('.k-input-inner');
106
+ dispatchEvent(firstInput, 'focusin');
107
+ firstInput.value = '5';
108
+ dispatchEvent(firstInput, 'input');
109
+ firstInput.value = '50';
110
+ dispatchEvent(firstInput, 'input');
111
+ dispatchEvent(firstInput, 'change');
112
+ dispatchEvent(secondInput, 'focusin');
113
+ await wait();
114
+ secondInput.value = '6';
115
+ dispatchEvent(secondInput, 'input');
116
+ secondInput.value = '60';
117
+ dispatchEvent(secondInput, 'input');
118
+ dispatchEvent(secondInput, 'change');
119
+ await wait();
120
+ expect(instance.get('values')).eql([50, 60]);
90
121
  });
91
122
 
92
123
  it('keyboard operation for basic', async () => {
@@ -17,7 +17,7 @@ export interface SliderProps<Range extends boolean = boolean> {
17
17
  max?: number
18
18
  min?: number
19
19
  value?: Value<Range>
20
- range?: Range
20
+ range?: Range
21
21
  unit?: string
22
22
  showEnd?: boolean
23
23
  showInput?: boolean
@@ -81,7 +81,7 @@ const events: Events<SliderEvents> = {
81
81
  };
82
82
 
83
83
  export class Slider<
84
- Range extends boolean = false
84
+ Range extends boolean = false
85
85
  > extends Component<SliderProps<Range>, SliderEvents<Range>, SliderBlocks<Range>> {
86
86
  static template = template;
87
87
  static typeDefs = typeDefs;
@@ -26,7 +26,7 @@ const classNameObj = {
26
26
  };
27
27
 
28
28
  const {barStyle, thumbFirstStyle, thumbSecondStyle} = this.styles();
29
- const {onSpinnerChange} = this.value;
29
+ const {onSpinnerChange, onLeftSpinnerChange, onRightSpinnerChange} = this.value;
30
30
  const {onKeydown, onKeyup} = this.keyboard;
31
31
  const {firstTooltipRef, secondTooltipRef, getTooltipProps, hide} = this.tooltip;
32
32
  const tooltipProps = getTooltipProps();
@@ -42,7 +42,7 @@ const createThumb = (thumbStyle, isFirst, ref, value, tooltipRef) => {
42
42
  >
43
43
  <div class="k-slider-thumb"
44
44
  tabindex={disabled ? '-1' : '0'}
45
- ev-mousedown={onStart}
45
+ ev-mousedown={onStart}
46
46
  ev-focusin={linkEvent(isFirst, onFocusin)}
47
47
  ev-focusout={hide}
48
48
  ev-keydown={onKeydown}
@@ -79,7 +79,7 @@ const marks = this.marks();
79
79
  secondTooltipRef,
80
80
  )}
81
81
  </template>
82
- <i v-for={points}
82
+ <i v-for={points}
83
83
  class={{'k-slider-point': true, 'k-active': $value.active}}
84
84
  style={$value.style}
85
85
  ></i>
@@ -97,18 +97,36 @@ const marks = this.marks();
97
97
  <span ev-click={linkEvent(max, setOneValue)}>{max + unit}</span>
98
98
  </div>
99
99
  </div>
100
- <div class="k-slider-spinner" v-if={showInput && !range}>
101
- <Spinner
102
- disabled={disabled}
103
- max={max}
104
- min={min}
105
- step={step || 0.01}
106
- vertical
107
- value={value}
108
- suffix={unit}
109
- forceStep={!!step && forceStep}
110
- ev-$change:value={onSpinnerChange}
111
- {...spinnerProps}
112
- />
100
+ <div class="k-slider-spinner" v-if={showInput}>
101
+ {(() => {
102
+ const props = {
103
+ disabled,
104
+ min,
105
+ max,
106
+ step: step || 0.01,
107
+ vertical: true,
108
+ suffix: unit,
109
+ forceStep: !!step && forceStep,
110
+ };
111
+
112
+ return <template>
113
+ <Spinner
114
+ {...props}
115
+ value={range ? value[0] : value}
116
+ ev-$change:value={range ? onLeftSpinnerChange : onSpinnerChange}
117
+ {...spinnerProps}
118
+ />
119
+ <template v-if={range}>
120
+ <span class="k-slider-spinner-sep">-</span>
121
+ <Spinner
122
+ {...props}
123
+ min={value[0]}
124
+ value={range ? value[1] : value}
125
+ ev-$change:value={onRightSpinnerChange}
126
+ {...spinnerProps}
127
+ />
128
+ </template>
129
+ </template>
130
+ })()}
113
131
  </div>
114
132
  </div>
@@ -5,35 +5,36 @@ import '../../styles/global';
5
5
 
6
6
  const defaults = {
7
7
  get transition() { return theme.transition.middle },
8
- height: '4px',
9
-
10
- bgColor: '#e5e5e5',
8
+ height: '6px',
9
+
10
+ bgColor: '#F0F2F4',
11
11
  get barColor() { return theme.color.primary },
12
- borderRadius: '2px',
12
+ get borderRadius() { return theme.borderRadius },
13
13
 
14
14
  thumb: {
15
15
  height: '12px',
16
16
  width: '12px',
17
- get border() { return `2px solid ${slider.barColor}` },
17
+ get border() { return `3px solid #fff` },
18
18
  borderRadius: '50%',
19
- bgColor: '#fff',
20
- hoverTransform: 'scale(1.5)',
21
- hoverBgColor: '#fff',
22
- disabledBgColor: '#fff',
19
+ get bgColor() { return slider.barColor },
20
+ hoverTransform: 'scale(1.25)',
21
+ get hoverBgColor() { return slider.barColor },
22
+ boxShadow: '0px 0px 5px 0px rgba(0, 0, 0, 0.08)',
23
23
  },
24
24
 
25
25
  endPadding: '10px 0 0',
26
26
 
27
27
  disabled: {
28
28
  get color() { return theme.color.disabled },
29
- get bgColor() { return theme.color.disabledBg },
29
+ // might be calculate according to the bar color
30
+ bgColor: '#B5E3FF',
30
31
  },
31
32
 
32
33
  // spinnerWidth: '124px',
33
34
  spinnerGap: '16px',
34
35
 
35
36
  point: {
36
- width: '8px',
37
+ width: '10px',
37
38
  get height() { return slider.point.width },
38
39
  bgColor: '#fff',
39
40
  borderRadius: '50%',
@@ -89,12 +90,14 @@ export function makeStyles() {
89
90
  z-index: 1;
90
91
  }
91
92
  .k-slider-thumb {
93
+ box-sizing: content-box;
92
94
  height: ${slider.thumb.height};
93
95
  width: ${slider.thumb.width};
94
96
  transition: all ${slider.transition};
95
97
  border: ${slider.thumb.border};
96
98
  border-radius: ${slider.thumb.borderRadius};
97
99
  background-color: ${slider.thumb.bgColor};
100
+ box-shadow: ${slider.thumb.boxShadow};
98
101
  outline: none;
99
102
  &:hover,
100
103
  &:focus {
@@ -113,6 +116,10 @@ export function makeStyles() {
113
116
  .k-slider-spinner {
114
117
  margin-left: ${slider.spinnerGap};
115
118
  }
119
+ .k-slider-spinner-sep {
120
+ display: inline-block;
121
+ margin: auto 8px;
122
+ }
116
123
 
117
124
  // dragging
118
125
  &.k-dragging {
@@ -131,10 +138,11 @@ export function makeStyles() {
131
138
  cursor: not-allowed;
132
139
  }
133
140
  .k-slider-bar {
134
- background-color: ${slider.disabled.color};
141
+ background-color: ${slider.disabled.bgColor};
135
142
  }
136
143
  .k-slider-thumb {
137
- border-color: ${slider.disabled.color};
144
+ border-color: #fff;
145
+ background-color: ${slider.disabled.bgColor};
138
146
  &:hover,
139
147
  &:focus {
140
148
  background-color: ${slider.disabled.bgColor};
@@ -29,7 +29,7 @@ export function useValue(getStep: NormalizedGetStep, getDragging: () => boolean)
29
29
  }
30
30
 
31
31
  function fixValue(value: Value, fixShowValue: boolean) {
32
- const fixedValue = getFixedValue(value);
32
+ const fixedValue = getFixedValue(value);
33
33
  showValue.set(fixShowValue ? fixedValue: value);
34
34
  setValue(fixedValue);
35
35
  }
@@ -60,7 +60,7 @@ export function useValue(getStep: NormalizedGetStep, getDragging: () => boolean)
60
60
  function fix(value: number): number {
61
61
  const {max, forceStep} = instance.get();
62
62
  const [step, min] = getStep(value);
63
-
63
+
64
64
  if (min > max!) {
65
65
  if (process.env.NODE_ENV !== 'production') {
66
66
  error(`[Slider] min must less than or equal to max, but got min: ${min} max: ${max}`);
@@ -71,11 +71,21 @@ export function useValue(getStep: NormalizedGetStep, getDragging: () => boolean)
71
71
  return minMaxStep(value, min, max!, forceStep ? step : null);
72
72
  }
73
73
 
74
- function onSpinnerChange(v: number) {
74
+ function onSpinnerChange(v: Value) {
75
75
  showValue.set(v);
76
76
  instance.set({value: v});
77
77
  }
78
78
 
79
+ function onLeftSpinnerChange(v: number) {
80
+ const secondValue = (showValue.value as Value<true>)[1];
81
+ onSpinnerChange([v, Math.max(v, secondValue)]);
82
+ }
83
+
84
+ function onRightSpinnerChange(v: number) {
85
+ const firstValue = (showValue.value as Value<true>)[0];
86
+ onSpinnerChange([Math.min(v, firstValue), v]);
87
+ }
88
+
79
89
  function triggerChangeEvent(oldValue: Value) {
80
90
  const {value} = instance.get();
81
91
  if (isEqualValue(value!, oldValue)) return;
@@ -86,6 +96,8 @@ export function useValue(getStep: NormalizedGetStep, getDragging: () => boolean)
86
96
  return {
87
97
  showValue,
88
98
  onSpinnerChange,
99
+ onLeftSpinnerChange,
100
+ onRightSpinnerChange,
89
101
  setValue,
90
102
  triggerChangeEvent,
91
103
  fixValue,
@@ -37,4 +37,4 @@ export type StepFunction = (value: number) => number
37
37
 
38
38
  | 事件名 | 说明 | 参数 |
39
39
  | --- | --- | --- |
40
- | change | `value`值变化时触发,与默认事件`$change:value`不同的是,该事件仅在`input` `change`事件触发或者点击加减按钮改变`value`时触发 | `(value: number) => void` |
40
+ | change | `value`值变化时触发,与默认事件`$change:value`不同的是,该事件仅在输入框`change`事件触发或者点击加减按钮改变`value`时触发 | `(value: number) => void` |
@@ -88,13 +88,4 @@ export class Spinner extends Component<SpinnerProps, SpinnerEvents> {
88
88
  const {value, max, disabled} = this.get();
89
89
  return disabled || value! >= max!;
90
90
  }
91
-
92
- // we need change value as long as the input is valid, #213
93
- @bind
94
- private onInput(e: InputEvent) {
95
- const val = (e.target as HTMLInputElement).value;
96
- const {value} = this.value.getFixedValue(val.trim(), this.get('value')!);
97
- this.value.showValue.set(val);
98
- this.set({value});
99
- }
100
91
  }