tdesign-react 0.31.2-alpha.1 → 0.31.2-alpha.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 (277) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/dist/tdesign.css +498 -0
  3. package/dist/tdesign.css.map +1 -1
  4. package/dist/tdesign.js +26543 -20076
  5. package/dist/tdesign.js.map +1 -1
  6. package/dist/tdesign.min.css +1 -1
  7. package/dist/tdesign.min.css.map +1 -1
  8. package/dist/tdesign.min.js +9 -3
  9. package/dist/tdesign.min.js.map +1 -1
  10. package/es/_chunks/{dep-5d29cc59.js → dep-7e7b26b4.js} +1 -1
  11. package/es/_chunks/{dep-5d29cc59.js.map → dep-7e7b26b4.js.map} +1 -1
  12. package/es/_common/js/color-picker/cmyk.d.ts +27 -0
  13. package/es/_common/js/color-picker/color.d.ts +154 -0
  14. package/es/_common/js/color-picker/gradient.d.ts +22 -0
  15. package/es/_util/useClickOutside.d.ts +1 -1
  16. package/es/_util/useClickOutside.js +51 -3
  17. package/es/_util/useClickOutside.js.map +1 -1
  18. package/es/_util/useDrag.d.ts +16 -0
  19. package/es/_util/useDrag.js +74 -0
  20. package/es/_util/useDrag.js.map +1 -0
  21. package/es/avatar/AvararGroup.js +1 -1
  22. package/es/avatar/Avatar.js +1 -1
  23. package/es/avatar/index.js +1 -1
  24. package/es/color-picker/ColorPicker.d.ts +4 -0
  25. package/es/color-picker/ColorPicker.js +241 -0
  26. package/es/color-picker/ColorPicker.js.map +1 -0
  27. package/es/color-picker/ColorPickerPanel.d.ts +7 -0
  28. package/es/color-picker/ColorPickerPanel.js +179 -0
  29. package/es/color-picker/ColorPickerPanel.js.map +1 -0
  30. package/es/color-picker/components/panel/alpha.d.ts +4 -0
  31. package/es/color-picker/components/panel/alpha.js +48 -0
  32. package/es/color-picker/components/panel/alpha.js.map +1 -0
  33. package/es/color-picker/components/panel/format/config.d.ts +19 -0
  34. package/es/color-picker/components/panel/format/config.js +90 -0
  35. package/es/color-picker/components/panel/format/config.js.map +1 -0
  36. package/es/color-picker/components/panel/format/index.d.ts +11 -0
  37. package/es/color-picker/components/panel/format/index.js +197 -0
  38. package/es/color-picker/components/panel/format/index.js.map +1 -0
  39. package/es/color-picker/components/panel/format/inputs.d.ts +3 -0
  40. package/es/color-picker/components/panel/format/inputs.js +223 -0
  41. package/es/color-picker/components/panel/format/inputs.js.map +1 -0
  42. package/es/color-picker/components/panel/header.d.ts +14 -0
  43. package/es/color-picker/components/panel/header.js +100 -0
  44. package/es/color-picker/components/panel/header.js.map +1 -0
  45. package/es/color-picker/components/panel/hue.d.ts +4 -0
  46. package/es/color-picker/components/panel/hue.js +32 -0
  47. package/es/color-picker/components/panel/hue.js.map +1 -0
  48. package/es/color-picker/components/panel/index.d.ts +4 -0
  49. package/es/color-picker/components/panel/index.js +456 -0
  50. package/es/color-picker/components/panel/index.js.map +1 -0
  51. package/es/color-picker/components/panel/linear-gradient.d.ts +3 -0
  52. package/es/color-picker/components/panel/linear-gradient.js +360 -0
  53. package/es/color-picker/components/panel/linear-gradient.js.map +1 -0
  54. package/es/color-picker/components/panel/saturation.d.ts +4 -0
  55. package/es/color-picker/components/panel/saturation.js +124 -0
  56. package/es/color-picker/components/panel/saturation.js.map +1 -0
  57. package/es/color-picker/components/panel/slider.d.ts +10 -0
  58. package/es/color-picker/components/panel/slider.js +106 -0
  59. package/es/color-picker/components/panel/slider.js.map +1 -0
  60. package/es/color-picker/components/panel/style/css.d.ts +1 -0
  61. package/es/color-picker/components/panel/style/css.js +1 -0
  62. package/es/color-picker/components/panel/style/index.d.ts +1 -0
  63. package/es/color-picker/components/panel/style/index.js +7 -0
  64. package/es/color-picker/components/panel/style/index.js.map +1 -0
  65. package/es/color-picker/components/panel/swatches.d.ts +11 -0
  66. package/es/color-picker/components/panel/swatches.js +134 -0
  67. package/es/color-picker/components/panel/swatches.js.map +1 -0
  68. package/es/color-picker/components/style/css.d.ts +1 -0
  69. package/es/color-picker/components/style/css.js +1 -0
  70. package/es/color-picker/components/style/index.d.ts +1 -0
  71. package/es/color-picker/components/style/index.js +7 -0
  72. package/es/color-picker/components/style/index.js.map +1 -0
  73. package/es/color-picker/components/trigger.d.ts +9 -0
  74. package/es/color-picker/components/trigger.js +125 -0
  75. package/es/color-picker/components/trigger.js.map +1 -0
  76. package/es/color-picker/const.d.ts +15 -0
  77. package/es/color-picker/const.js +22 -0
  78. package/es/color-picker/const.js.map +1 -0
  79. package/es/color-picker/hooks/useClassname.d.ts +2 -0
  80. package/es/color-picker/hooks/useClassname.js +46 -0
  81. package/es/color-picker/hooks/useClassname.js.map +1 -0
  82. package/es/color-picker/index.d.ts +10 -0
  83. package/es/color-picker/index.js +172 -0
  84. package/es/color-picker/index.js.map +1 -0
  85. package/es/color-picker/interface.d.ts +23 -0
  86. package/es/color-picker/interface.js +7 -0
  87. package/es/color-picker/interface.js.map +1 -0
  88. package/es/color-picker/style/css.d.ts +1 -0
  89. package/es/color-picker/style/css.js +1 -0
  90. package/es/color-picker/style/index.css +497 -0
  91. package/es/color-picker/style/index.d.ts +1 -0
  92. package/es/color-picker/style/index.js +7 -0
  93. package/es/color-picker/style/index.js.map +1 -0
  94. package/es/color-picker/type.d.ts +109 -0
  95. package/es/color-picker/type.js +7 -0
  96. package/es/color-picker/type.js.map +1 -0
  97. package/es/index.d.ts +1 -0
  98. package/es/index.js +24 -1
  99. package/es/index.js.map +1 -1
  100. package/es/input/Input.js +1 -1
  101. package/es/input/Input.js.map +1 -1
  102. package/es/popup/hooks/useTriggerProps.js +28 -0
  103. package/es/popup/hooks/useTriggerProps.js.map +1 -1
  104. package/esm/_chunks/{dep-5d29cc59.js → dep-7e7b26b4.js} +1 -1
  105. package/esm/_chunks/{dep-5d29cc59.js.map → dep-7e7b26b4.js.map} +1 -1
  106. package/esm/_common/js/color-picker/cmyk.d.ts +27 -0
  107. package/esm/_common/js/color-picker/color.d.ts +154 -0
  108. package/esm/_common/js/color-picker/gradient.d.ts +22 -0
  109. package/esm/_util/useClickOutside.d.ts +1 -1
  110. package/esm/_util/useClickOutside.js +51 -3
  111. package/esm/_util/useClickOutside.js.map +1 -1
  112. package/esm/_util/useDrag.d.ts +16 -0
  113. package/esm/_util/useDrag.js +74 -0
  114. package/esm/_util/useDrag.js.map +1 -0
  115. package/esm/avatar/AvararGroup.js +1 -1
  116. package/esm/avatar/Avatar.js +1 -1
  117. package/esm/avatar/index.js +1 -1
  118. package/esm/color-picker/ColorPicker.d.ts +4 -0
  119. package/esm/color-picker/ColorPicker.js +250 -0
  120. package/esm/color-picker/ColorPicker.js.map +1 -0
  121. package/esm/color-picker/ColorPickerPanel.d.ts +7 -0
  122. package/esm/color-picker/ColorPickerPanel.js +188 -0
  123. package/esm/color-picker/ColorPickerPanel.js.map +1 -0
  124. package/esm/color-picker/components/panel/alpha.d.ts +4 -0
  125. package/esm/color-picker/components/panel/alpha.js +48 -0
  126. package/esm/color-picker/components/panel/alpha.js.map +1 -0
  127. package/esm/color-picker/components/panel/format/config.d.ts +19 -0
  128. package/esm/color-picker/components/panel/format/config.js +90 -0
  129. package/esm/color-picker/components/panel/format/config.js.map +1 -0
  130. package/esm/color-picker/components/panel/format/index.d.ts +11 -0
  131. package/esm/color-picker/components/panel/format/index.js +205 -0
  132. package/esm/color-picker/components/panel/format/index.js.map +1 -0
  133. package/esm/color-picker/components/panel/format/inputs.d.ts +3 -0
  134. package/esm/color-picker/components/panel/format/inputs.js +226 -0
  135. package/esm/color-picker/components/panel/format/inputs.js.map +1 -0
  136. package/esm/color-picker/components/panel/header.d.ts +14 -0
  137. package/esm/color-picker/components/panel/header.js +100 -0
  138. package/esm/color-picker/components/panel/header.js.map +1 -0
  139. package/esm/color-picker/components/panel/hue.d.ts +4 -0
  140. package/esm/color-picker/components/panel/hue.js +32 -0
  141. package/esm/color-picker/components/panel/hue.js.map +1 -0
  142. package/esm/color-picker/components/panel/index.d.ts +4 -0
  143. package/esm/color-picker/components/panel/index.js +465 -0
  144. package/esm/color-picker/components/panel/index.js.map +1 -0
  145. package/esm/color-picker/components/panel/linear-gradient.d.ts +3 -0
  146. package/esm/color-picker/components/panel/linear-gradient.js +363 -0
  147. package/esm/color-picker/components/panel/linear-gradient.js.map +1 -0
  148. package/esm/color-picker/components/panel/saturation.d.ts +4 -0
  149. package/esm/color-picker/components/panel/saturation.js +124 -0
  150. package/esm/color-picker/components/panel/saturation.js.map +1 -0
  151. package/esm/color-picker/components/panel/slider.d.ts +10 -0
  152. package/esm/color-picker/components/panel/slider.js +106 -0
  153. package/esm/color-picker/components/panel/slider.js.map +1 -0
  154. package/esm/color-picker/components/panel/style/css.d.ts +1 -0
  155. package/esm/color-picker/components/panel/style/index.d.ts +1 -0
  156. package/esm/color-picker/components/panel/style/index.js +1 -0
  157. package/esm/color-picker/components/panel/swatches.d.ts +11 -0
  158. package/esm/color-picker/components/panel/swatches.js +134 -0
  159. package/esm/color-picker/components/panel/swatches.js.map +1 -0
  160. package/esm/color-picker/components/style/css.d.ts +1 -0
  161. package/esm/color-picker/components/style/index.d.ts +1 -0
  162. package/esm/color-picker/components/style/index.js +1 -0
  163. package/esm/color-picker/components/trigger.d.ts +9 -0
  164. package/esm/color-picker/components/trigger.js +125 -0
  165. package/esm/color-picker/components/trigger.js.map +1 -0
  166. package/esm/color-picker/const.d.ts +15 -0
  167. package/esm/color-picker/const.js +22 -0
  168. package/esm/color-picker/const.js.map +1 -0
  169. package/esm/color-picker/hooks/useClassname.d.ts +2 -0
  170. package/esm/color-picker/hooks/useClassname.js +46 -0
  171. package/esm/color-picker/hooks/useClassname.js.map +1 -0
  172. package/esm/color-picker/index.d.ts +10 -0
  173. package/esm/color-picker/index.js +182 -0
  174. package/esm/color-picker/index.js.map +1 -0
  175. package/esm/color-picker/interface.d.ts +23 -0
  176. package/esm/color-picker/interface.js +7 -0
  177. package/esm/color-picker/interface.js.map +1 -0
  178. package/esm/color-picker/style/css.d.ts +1 -0
  179. package/esm/color-picker/style/index.d.ts +1 -0
  180. package/esm/color-picker/style/index.js +1 -0
  181. package/esm/color-picker/type.d.ts +109 -0
  182. package/esm/color-picker/type.js +7 -0
  183. package/esm/color-picker/type.js.map +1 -0
  184. package/esm/index.d.ts +1 -0
  185. package/esm/index.js +25 -1
  186. package/esm/index.js.map +1 -1
  187. package/esm/input/Input.js +1 -1
  188. package/esm/input/Input.js.map +1 -1
  189. package/esm/popup/hooks/useTriggerProps.js +28 -0
  190. package/esm/popup/hooks/useTriggerProps.js.map +1 -1
  191. package/lib/_chunks/{dep-1c7ceac8.js → dep-9d6a55ed.js} +1 -1
  192. package/lib/_chunks/{dep-1c7ceac8.js.map → dep-9d6a55ed.js.map} +1 -1
  193. package/lib/_common/js/color-picker/cmyk.d.ts +27 -0
  194. package/lib/_common/js/color-picker/color.d.ts +154 -0
  195. package/lib/_common/js/color-picker/gradient.d.ts +22 -0
  196. package/lib/_util/useClickOutside.d.ts +1 -1
  197. package/lib/_util/useClickOutside.js +47 -3
  198. package/lib/_util/useClickOutside.js.map +1 -1
  199. package/lib/_util/useDrag.d.ts +16 -0
  200. package/lib/_util/useDrag.js +78 -0
  201. package/lib/_util/useDrag.js.map +1 -0
  202. package/lib/avatar/AvararGroup.js +1 -1
  203. package/lib/avatar/Avatar.js +1 -1
  204. package/lib/avatar/index.js +1 -1
  205. package/lib/color-picker/ColorPicker.d.ts +4 -0
  206. package/lib/color-picker/ColorPicker.js +232 -0
  207. package/lib/color-picker/ColorPicker.js.map +1 -0
  208. package/lib/color-picker/ColorPickerPanel.d.ts +7 -0
  209. package/lib/color-picker/ColorPickerPanel.js +170 -0
  210. package/lib/color-picker/ColorPickerPanel.js.map +1 -0
  211. package/lib/color-picker/components/panel/alpha.d.ts +4 -0
  212. package/lib/color-picker/components/panel/alpha.js +57 -0
  213. package/lib/color-picker/components/panel/alpha.js.map +1 -0
  214. package/lib/color-picker/components/panel/format/config.d.ts +19 -0
  215. package/lib/color-picker/components/panel/format/config.js +95 -0
  216. package/lib/color-picker/components/panel/format/config.js.map +1 -0
  217. package/lib/color-picker/components/panel/format/index.d.ts +11 -0
  218. package/lib/color-picker/components/panel/format/index.js +189 -0
  219. package/lib/color-picker/components/panel/format/index.js.map +1 -0
  220. package/lib/color-picker/components/panel/format/inputs.d.ts +3 -0
  221. package/lib/color-picker/components/panel/format/inputs.js +220 -0
  222. package/lib/color-picker/components/panel/format/inputs.js.map +1 -0
  223. package/lib/color-picker/components/panel/header.d.ts +14 -0
  224. package/lib/color-picker/components/panel/header.js +103 -0
  225. package/lib/color-picker/components/panel/header.js.map +1 -0
  226. package/lib/color-picker/components/panel/hue.d.ts +4 -0
  227. package/lib/color-picker/components/panel/hue.js +40 -0
  228. package/lib/color-picker/components/panel/hue.js.map +1 -0
  229. package/lib/color-picker/components/panel/index.d.ts +4 -0
  230. package/lib/color-picker/components/panel/index.js +448 -0
  231. package/lib/color-picker/components/panel/index.js.map +1 -0
  232. package/lib/color-picker/components/panel/linear-gradient.d.ts +3 -0
  233. package/lib/color-picker/components/panel/linear-gradient.js +358 -0
  234. package/lib/color-picker/components/panel/linear-gradient.js.map +1 -0
  235. package/lib/color-picker/components/panel/saturation.d.ts +4 -0
  236. package/lib/color-picker/components/panel/saturation.js +132 -0
  237. package/lib/color-picker/components/panel/saturation.js.map +1 -0
  238. package/lib/color-picker/components/panel/slider.d.ts +10 -0
  239. package/lib/color-picker/components/panel/slider.js +115 -0
  240. package/lib/color-picker/components/panel/slider.js.map +1 -0
  241. package/lib/color-picker/components/panel/style/css.d.ts +1 -0
  242. package/lib/color-picker/components/panel/style/index.d.ts +1 -0
  243. package/lib/color-picker/components/panel/swatches.d.ts +11 -0
  244. package/lib/color-picker/components/panel/swatches.js +139 -0
  245. package/lib/color-picker/components/panel/swatches.js.map +1 -0
  246. package/lib/color-picker/components/style/css.d.ts +1 -0
  247. package/lib/color-picker/components/style/index.d.ts +1 -0
  248. package/lib/color-picker/components/trigger.d.ts +9 -0
  249. package/lib/color-picker/components/trigger.js +126 -0
  250. package/lib/color-picker/components/trigger.js.map +1 -0
  251. package/lib/color-picker/const.d.ts +15 -0
  252. package/lib/color-picker/const.js +35 -0
  253. package/lib/color-picker/const.js.map +1 -0
  254. package/lib/color-picker/hooks/useClassname.d.ts +2 -0
  255. package/lib/color-picker/hooks/useClassname.js +46 -0
  256. package/lib/color-picker/hooks/useClassname.js.map +1 -0
  257. package/lib/color-picker/index.d.ts +10 -0
  258. package/lib/color-picker/index.js +160 -0
  259. package/lib/color-picker/index.js.map +1 -0
  260. package/lib/color-picker/interface.d.ts +23 -0
  261. package/lib/color-picker/interface.js +9 -0
  262. package/lib/color-picker/interface.js.map +1 -0
  263. package/lib/color-picker/style/css.d.ts +1 -0
  264. package/lib/color-picker/style/index.d.ts +1 -0
  265. package/lib/color-picker/type.d.ts +109 -0
  266. package/lib/color-picker/type.js +9 -0
  267. package/lib/color-picker/type.js.map +1 -0
  268. package/lib/index-lib.js +25 -1
  269. package/lib/index-lib.js.map +1 -1
  270. package/lib/index.d.ts +1 -0
  271. package/lib/index.js +25 -1
  272. package/lib/index.js.map +1 -1
  273. package/lib/input/Input.js +1 -1
  274. package/lib/input/Input.js.map +1 -1
  275. package/lib/popup/hooks/useTriggerProps.js +24 -0
  276. package/lib/popup/hooks/useTriggerProps.js.map +1 -1
  277. package/package.json +4 -2
@@ -0,0 +1,358 @@
1
+ /**
2
+ * tdesign v0.31.1
3
+ * (c) 2022 tdesign
4
+ * @license MIT
5
+ */
6
+
7
+ 'use strict';
8
+
9
+ Object.defineProperty(exports, '__esModule', { value: true });
10
+
11
+ var toConsumableArray = require('../../../_chunks/dep-cfccf5fd.js');
12
+ var React = require('react');
13
+ var cloneDeep = require('../../../_chunks/dep-2b1e5fb0.js');
14
+ var classNames = require('classnames');
15
+ var colorPicker_hooks_useClassname = require('../../hooks/useClassname.js');
16
+ var _common_js_colorPicker_color = require('../../../_common/js/color-picker/color.js');
17
+ var _util_useCommonClassName = require('../../../_util/useCommonClassName.js');
18
+ var colorPicker_const = require('../../const.js');
19
+ var inputNumber_index = require('../../../input-number/index.js');
20
+ require('../../../_chunks/dep-5d0f89c3.js');
21
+ require('../../../_chunks/dep-418ace5a.js');
22
+ require('../../../_chunks/dep-f1535ead.js');
23
+ require('../../../_chunks/dep-1717cdf1.js');
24
+ require('../../../_chunks/dep-48820d0f.js');
25
+ require('../../../_chunks/dep-97e5708c.js');
26
+ require('../../../_chunks/dep-b5416abb.js');
27
+ require('../../../_chunks/dep-927824d3.js');
28
+ require('../../../_chunks/dep-49701a36.js');
29
+ require('../../../_chunks/dep-d11b4401.js');
30
+ require('../../../_chunks/dep-a57e90f3.js');
31
+ require('../../../_chunks/dep-3dc60caf.js');
32
+ require('../../../_chunks/dep-b2e56ab4.js');
33
+ require('../../../_chunks/dep-670e8110.js');
34
+ require('../../../_chunks/dep-95793ccd.js');
35
+ require('../../../_chunks/dep-9025380b.js');
36
+ require('../../../_chunks/dep-987d705b.js');
37
+ require('../../../_chunks/dep-fc4dab29.js');
38
+ require('../../../_chunks/dep-98e0931c.js');
39
+ require('../../../_chunks/dep-8e0a758c.js');
40
+ require('../../../_chunks/dep-29c8dea3.js');
41
+ require('../../../_chunks/dep-5c7065a8.js');
42
+ require('../../../_chunks/dep-67fe4c06.js');
43
+ require('../../../_util/useConfig.js');
44
+ require('../../../_chunks/dep-360d6b7f.js');
45
+ require('../../../_chunks/dep-3698c913.js');
46
+ require('../../../_chunks/dep-83b2f1b6.js');
47
+ require('../../../_common/js/global-config/locale/zh_CN.js');
48
+ require('../../../config-provider/zh_CN_config.js');
49
+ require('../../../_chunks/dep-58293904.js');
50
+ require('../../../_chunks/dep-8c8337be.js');
51
+ require('tinycolor2');
52
+ require('../../../_common/js/color-picker/cmyk.js');
53
+ require('../../../_common/js/color-picker/gradient.js');
54
+ require('../../../input-number/InputNumber.js');
55
+ require('../../../_chunks/dep-b60bba5d.js');
56
+ require('../../../_util/useUpdateEffect.js');
57
+ require('../../../_util/useLayoutEffect.js');
58
+ require('../../../_util/dom.js');
59
+ require('raf');
60
+ require('../../../_chunks/dep-e03ace63.js');
61
+ require('../../../_util/easing.js');
62
+ require('../../../input-number/StepHandler.js');
63
+ require('tdesign-icons-react');
64
+ require('../../../button/index.js');
65
+ require('../../../button/Button.js');
66
+ require('../../../_util/noop.js');
67
+ require('../../../_util/useRipple.js');
68
+ require('../../../_util/useAnimation.js');
69
+ require('../../../_util/setStyle.js');
70
+ require('../../../loading/index.js');
71
+ require('../../../loading/Loading.js');
72
+ require('../../../common/Portal.js');
73
+ require('react-dom');
74
+ require('../../../loading/gradient.js');
75
+ require('../../../_common/js/loading/circle-adapter.js');
76
+ require('../../../_common/js/utils/set-style.js');
77
+ require('../../../_common/js/utils/helper.js');
78
+ require('../../../loading/plugin.js');
79
+ require('../../../input-number/utils/numberUtils.js');
80
+ require('../../../input/index.js');
81
+ require('../../../input/Input.js');
82
+ require('../../../_util/forwardRefWithStatics.js');
83
+ require('hoist-non-react-statics');
84
+ require('../../../_util/helper.js');
85
+ require('../../../_chunks/dep-0cd38120.js');
86
+ require('../../../_chunks/dep-e056a03c.js');
87
+ require('../../../_chunks/dep-58c8f5ef.js');
88
+ require('../../../_chunks/dep-30bc8f66.js');
89
+ require('../../../_chunks/dep-c16d1840.js');
90
+ require('../../../input/InputGroup.js');
91
+ require('../../../_util/useDefaultValue.js');
92
+ require('../../../_util/useDefault.js');
93
+ require('../../../locale/LocalReceiver.js');
94
+
95
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
96
+
97
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
98
+ var classNames__default = /*#__PURE__*/_interopDefaultLegacy(classNames);
99
+
100
+ var DELETE_KEYS = ["delete", "backspace"];
101
+
102
+ var LinearGradient = function LinearGradient(props) {
103
+ var onChange = props.onChange,
104
+ color = props.color,
105
+ disabled = props.disabled;
106
+ var baseClassName = colorPicker_hooks_useClassname["default"]();
107
+
108
+ var _useCommonClassName = _util_useCommonClassName["default"](),
109
+ statusClassNames = _useCommonClassName.STATUS;
110
+
111
+ var refSlider = React.useRef(null);
112
+ var sliderRectRef = React.useRef({
113
+ left: 0,
114
+ width: colorPicker_const.GRADIENT_SLIDER_DEFAULT_WIDTH
115
+ });
116
+ var isDragging = React.useRef(false);
117
+ var isMoved = React.useRef(false);
118
+ var degree = React.useRef(props.color.gradientDegree);
119
+ var selectedId = React.useRef(props.color.gradientSelectedId);
120
+ var colors = React.useRef(cloneDeep.cloneDeep_1(color.gradientColors));
121
+ React.useEffect(function () {
122
+ degree.current = color === null || color === void 0 ? void 0 : color.gradientDegree;
123
+ selectedId.current = color.gradientSelectedId;
124
+ colors.current = cloneDeep.cloneDeep_1(color.gradientColors);
125
+ }, [color]);
126
+
127
+ var updateSliderRect = function updateSliderRect() {
128
+ var rect = refSlider.current.getBoundingClientRect();
129
+ sliderRectRef.current = {
130
+ left: rect.left,
131
+ width: rect.width || colorPicker_const.GRADIENT_SLIDER_DEFAULT_WIDTH
132
+ };
133
+ };
134
+
135
+ var handleChange = React.useCallback(function (key, payload, addUsedColor) {
136
+ if (disabled) {
137
+ return;
138
+ }
139
+
140
+ onChange({
141
+ key: key,
142
+ payload: payload,
143
+ addUsedColor: addUsedColor
144
+ });
145
+ }, [onChange, disabled]);
146
+
147
+ var handleDegreeChange = function handleDegreeChange(value) {
148
+ if (props.disabled || value === props.color.gradientDegree) {
149
+ return;
150
+ }
151
+
152
+ degree.current = value;
153
+ handleChange("degree", value, true);
154
+ };
155
+
156
+ var handleSelectedIdChange = function handleSelectedIdChange(value) {
157
+ if (props.disabled) {
158
+ return;
159
+ }
160
+
161
+ selectedId.current = value;
162
+ handleChange("selectedId", value);
163
+ };
164
+
165
+ var handleColorsChange = React.useCallback(function (value, isEnded) {
166
+ if (props.disabled) {
167
+ return;
168
+ }
169
+
170
+ colors.current = value;
171
+ handleChange("colors", value, isEnded);
172
+ }, [props.disabled, handleChange]);
173
+ var updateActiveThumbLeft = React.useCallback(function (left) {
174
+ var index = colors.current.findIndex(function (c) {
175
+ return c.id === selectedId.current;
176
+ });
177
+
178
+ if (index === -1) {
179
+ return;
180
+ }
181
+
182
+ var point = colors.current[index];
183
+ var formatLeft = Math.max(0, Math.min(sliderRectRef.current.width, left));
184
+ var percentLeft = formatLeft / sliderRectRef.current.width * 100;
185
+ var newColors = colors.current.map(function (item, i) {
186
+ return index !== i ? item : {
187
+ color: point.color,
188
+ left: percentLeft,
189
+ id: point.id
190
+ };
191
+ });
192
+ handleColorsChange(newColors);
193
+ }, [handleColorsChange]);
194
+
195
+ var handleStart = function handleStart(id, e) {
196
+ if (isDragging.current || props.disabled) {
197
+ return;
198
+ }
199
+
200
+ isMoved.current = false;
201
+ isDragging.current = true;
202
+ e.preventDefault();
203
+ e.stopPropagation();
204
+ refSlider.current.focus();
205
+ };
206
+
207
+ var handleMove = React.useCallback(function (e) {
208
+ if (!isDragging.current || disabled) {
209
+ return;
210
+ }
211
+
212
+ var rect = refSlider.current.getBoundingClientRect();
213
+ var left = e.clientX - rect.x;
214
+ isMoved.current = true;
215
+ updateActiveThumbLeft(left);
216
+ }, [disabled, updateActiveThumbLeft]);
217
+ var handleEnd = React.useCallback(function () {
218
+ if (!isDragging.current) {
219
+ return;
220
+ }
221
+
222
+ setTimeout(function () {
223
+ isDragging.current = false;
224
+ }, 0);
225
+
226
+ if (isMoved.current) {
227
+ handleColorsChange(colors.current, true);
228
+ isMoved.current = false;
229
+ }
230
+ }, [handleColorsChange]);
231
+
232
+ var handleKeyup = function handleKeyup(e) {
233
+ if (props.disabled) {
234
+ return;
235
+ }
236
+
237
+ var points = toConsumableArray._toConsumableArray(colors.current);
238
+
239
+ var pos = points.findIndex(function (c) {
240
+ return c.id === selectedId.current;
241
+ });
242
+ var length = points.length;
243
+
244
+ if (DELETE_KEYS.includes(e.key.toLocaleLowerCase()) && length > 2 && pos >= 0 && pos <= length - 1) {
245
+ points.splice(pos, 1);
246
+
247
+ if (!points[pos]) {
248
+ pos = points[pos + 1] ? pos + 1 : points[pos - 1] ? pos - 1 : 0;
249
+ }
250
+
251
+ var current = points[pos];
252
+ handleColorsChange(points, true);
253
+ handleSelectedIdChange(current === null || current === void 0 ? void 0 : current.id);
254
+ }
255
+ };
256
+
257
+ var handleThumbBarClick = function handleThumbBarClick(e) {
258
+ if (props.disabled) {
259
+ return;
260
+ }
261
+
262
+ updateSliderRect();
263
+ var left = e.clientX - sliderRectRef.current.left;
264
+ left = Math.max(0, Math.min(sliderRectRef.current.width, left));
265
+ var percentLeft = left / sliderRectRef.current.width * 100;
266
+ var newPoint = _common_js_colorPicker_color.genGradientPoint(percentLeft, props.color.rgba);
267
+
268
+ var newColors = toConsumableArray._toConsumableArray(colors.current);
269
+
270
+ newColors.push(newPoint);
271
+ handleColorsChange(newColors, true);
272
+ handleSelectedIdChange(newPoint.id);
273
+ };
274
+
275
+ React.useEffect(function () {
276
+ updateSliderRect();
277
+ window.addEventListener("mousemove", handleMove, false);
278
+ window.addEventListener("mouseup", handleEnd, false);
279
+ window.addEventListener("contextmenu", handleEnd, false);
280
+ return function () {
281
+ window.removeEventListener("mousemove", handleMove, false);
282
+ window.removeEventListener("mouseup", handleEnd, false);
283
+ window.removeEventListener("contextmenu", handleEnd, false);
284
+ };
285
+ }, []);
286
+ var _props$color = props.color,
287
+ linearGradient = _props$color.linearGradient,
288
+ gradientColors = _props$color.gradientColors;
289
+ var thumbBackground = _common_js_colorPicker_color.gradientColors2string({
290
+ points: gradientColors,
291
+ degree: 90
292
+ });
293
+
294
+ var handleClickThumb = function handleClickThumb(e) {
295
+ return e.stopPropagation();
296
+ };
297
+
298
+ return /* @__PURE__ */React__default["default"].createElement("div", {
299
+ className: "".concat(baseClassName, "__gradient")
300
+ }, /* @__PURE__ */React__default["default"].createElement("div", {
301
+ className: "".concat(baseClassName, "__gradient-slider")
302
+ }, /* @__PURE__ */React__default["default"].createElement("div", {
303
+ className: classNames__default["default"]("".concat(baseClassName, "__slider"), "".concat(baseClassName, "--bg-alpha")),
304
+ onKeyUp: handleKeyup,
305
+ tabIndex: 0,
306
+ ref: refSlider
307
+ }, /* @__PURE__ */React__default["default"].createElement("ul", {
308
+ className: "gradient-thumbs",
309
+ onClick: handleThumbBarClick,
310
+ style: {
311
+ background: thumbBackground
312
+ }
313
+ }, colors.current.map(function (t) {
314
+ var left = "".concat(Math.round(t.left * 100) / 100, "%");
315
+ return /* @__PURE__ */React__default["default"].createElement("li", {
316
+ className: classNames__default["default"](["".concat(baseClassName, "__thumb"), "gradient-thumbs__item", selectedId.current === t.id ? statusClassNames.active : ""]),
317
+ key: t.id,
318
+ title: "".concat(t.color, " ").concat(left),
319
+ style: {
320
+ color: t.color,
321
+ left: left
322
+ },
323
+ onClick: handleClickThumb,
324
+ onMouseDown: function onMouseDown(e) {
325
+ return handleStart(t.id, e);
326
+ }
327
+ }, /* @__PURE__ */React__default["default"].createElement("span", {
328
+ className: classNames__default["default"](["gradient-thumbs__item-inner", "".concat(baseClassName, "--bg-alpha")])
329
+ }));
330
+ })))), /* @__PURE__ */React__default["default"].createElement("div", {
331
+ className: "".concat(baseClassName, "__gradient-degree"),
332
+ title: "".concat(degree, "deg")
333
+ }, /* @__PURE__ */React__default["default"].createElement(inputNumber_index.InputNumber, {
334
+ theme: "normal",
335
+ min: 0,
336
+ max: 360,
337
+ step: 1,
338
+ format: function format(value) {
339
+ return "".concat(value, "\xB0");
340
+ },
341
+ value: degree.current,
342
+ onBlur: handleDegreeChange,
343
+ onEnter: handleDegreeChange,
344
+ disabled: props.disabled
345
+ })), /* @__PURE__ */React__default["default"].createElement("div", {
346
+ className: classNames__default["default"](["".concat(baseClassName, "__gradient-preview"), "".concat(baseClassName, "--bg-alpha")])
347
+ }, /* @__PURE__ */React__default["default"].createElement("span", {
348
+ className: "preview-inner",
349
+ style: {
350
+ background: linearGradient
351
+ }
352
+ })));
353
+ };
354
+
355
+ var LinearGradient$1 = /*#__PURE__*/React__default["default"].memo(LinearGradient);
356
+
357
+ exports["default"] = LinearGradient$1;
358
+ //# sourceMappingURL=linear-gradient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linear-gradient.js","sources":["../../../../src/color-picker/components/panel/linear-gradient.tsx"],"sourcesContent":["import React, { KeyboardEvent, MouseEvent as ReactMouseEvent, useCallback, useEffect, useRef } from 'react';\nimport cloneDeep from 'lodash/cloneDeep';\nimport classNames from 'classnames';\nimport useClassname from '../../hooks/useClassname';\nimport { genGradientPoint, gradientColors2string } from '../../../_common/js/color-picker/color';\nimport { GradientColorPoint } from '../../../_common/js/color-picker/gradient';\nimport useCommonClassName from '../../../_util/useCommonClassName';\nimport { GRADIENT_SLIDER_DEFAULT_WIDTH } from '../../const';\nimport InputNumber from '../../../input-number';\n\nconst DELETE_KEYS: string[] = ['delete', 'backspace'];\n\ntype TSliderRect = {\n left: number;\n width: number;\n};\n\nconst LinearGradient = (props) => {\n const { onChange, color, disabled } = props;\n const baseClassName = useClassname();\n const { STATUS: statusClassNames } = useCommonClassName();\n const refSlider = useRef<HTMLDivElement>(null);\n const sliderRectRef = useRef<TSliderRect>({\n left: 0,\n width: GRADIENT_SLIDER_DEFAULT_WIDTH,\n });\n const isDragging = useRef<Boolean>(false);\n const isMoved = useRef<Boolean>(false);\n const degree = useRef(props.color.gradientDegree);\n const selectedId = useRef(props.color.gradientSelectedId);\n const colors = useRef<GradientColorPoint[]>(cloneDeep(color.gradientColors));\n\n useEffect(() => {\n degree.current = color?.gradientDegree;\n selectedId.current = color.gradientSelectedId;\n colors.current = cloneDeep(color.gradientColors);\n }, [color]);\n\n const updateSliderRect = () => {\n const rect = refSlider.current.getBoundingClientRect();\n sliderRectRef.current = {\n left: rect.left,\n width: rect.width || GRADIENT_SLIDER_DEFAULT_WIDTH,\n };\n };\n\n const handleChange = useCallback(\n (key: 'degree' | 'selectedId' | 'colors', payload: any, addUsedColor?: boolean) => {\n if (disabled) {\n return;\n }\n onChange({\n key,\n payload,\n addUsedColor,\n });\n },\n [onChange, disabled],\n );\n\n const handleDegreeChange = (value: number) => {\n if (props.disabled || value === props.color.gradientDegree) {\n return;\n }\n degree.current = value;\n handleChange('degree', value, true);\n };\n\n const handleSelectedIdChange = (value: string) => {\n if (props.disabled) {\n return;\n }\n selectedId.current = value;\n handleChange('selectedId', value);\n };\n\n const handleColorsChange = useCallback(\n (value: GradientColorPoint[], isEnded?: boolean) => {\n if (props.disabled) {\n return;\n }\n colors.current = value;\n handleChange('colors', value, isEnded);\n },\n [props.disabled, handleChange],\n );\n\n /**\n * 设置bar的位置\n * @param left\n * @returns\n */\n const updateActiveThumbLeft = useCallback(\n (left: number) => {\n const index = colors.current.findIndex((c) => c.id === selectedId.current);\n if (index === -1) {\n return;\n }\n const point = colors.current[index];\n const formatLeft = Math.max(0, Math.min(sliderRectRef.current.width, left));\n\n const percentLeft = (formatLeft / sliderRectRef.current.width) * 100;\n\n const newColors = colors.current.map((item, i) =>\n index !== i\n ? item\n : {\n color: point.color,\n left: percentLeft,\n id: point.id,\n },\n );\n\n handleColorsChange(newColors);\n },\n [handleColorsChange],\n );\n\n // 移动开始\n const handleStart = (id: string, e: ReactMouseEvent) => {\n if (isDragging.current || props.disabled) {\n return;\n }\n isMoved.current = false;\n isDragging.current = true;\n e.preventDefault();\n e.stopPropagation();\n // handleSelectedIdChange(id);\n // 让slider获取焦点,以便键盘事件生效。\n refSlider.current.focus();\n };\n\n // 移动中\n const handleMove = useCallback(\n (e: MouseEvent) => {\n if (!isDragging.current || disabled) {\n return;\n }\n\n const rect = refSlider.current.getBoundingClientRect();\n const left = e.clientX - rect.x;\n isMoved.current = true;\n updateActiveThumbLeft(left);\n },\n [disabled, updateActiveThumbLeft],\n );\n\n // 移动结束\n const handleEnd = useCallback(() => {\n if (!isDragging.current) {\n return;\n }\n setTimeout(() => {\n isDragging.current = false;\n }, 0);\n if (isMoved.current) {\n handleColorsChange(colors.current, true);\n isMoved.current = false;\n }\n }, [handleColorsChange]);\n\n const handleKeyup = (e: KeyboardEvent) => {\n if (props.disabled) {\n return;\n }\n const points = [...colors.current];\n let pos = points.findIndex((c) => c.id === selectedId.current);\n const { length } = points;\n // 必须保证有两个点\n if (DELETE_KEYS.includes(e.key.toLocaleLowerCase()) && length > 2 && pos >= 0 && pos <= length - 1) {\n points.splice(pos, 1);\n if (!points[pos]) {\n // eslint-disable-next-line no-nested-ternary\n pos = points[pos + 1] ? pos + 1 : points[pos - 1] ? pos - 1 : 0;\n }\n const current = points[pos];\n handleColorsChange(points, true);\n handleSelectedIdChange(current?.id);\n }\n };\n\n const handleThumbBarClick = (e: ReactMouseEvent) => {\n if (props.disabled) {\n return;\n }\n updateSliderRect();\n\n let left = e.clientX - sliderRectRef.current.left;\n left = Math.max(0, Math.min(sliderRectRef.current.width, left));\n const percentLeft = (left / sliderRectRef.current.width) * 100;\n\n const newPoint = genGradientPoint(percentLeft, props.color.rgba);\n const newColors = [...colors.current];\n newColors.push(newPoint);\n handleColorsChange(newColors, true);\n handleSelectedIdChange(newPoint.id);\n };\n\n useEffect(() => {\n updateSliderRect();\n\n window.addEventListener('mousemove', handleMove, false);\n window.addEventListener('mouseup', handleEnd, false);\n window.addEventListener('contextmenu', handleEnd, false);\n\n return () => {\n window.removeEventListener('mousemove', handleMove, false);\n window.removeEventListener('mouseup', handleEnd, false);\n window.removeEventListener('contextmenu', handleEnd, false);\n };\n // eslint-disable-next-line\n }, []);\n\n const { linearGradient, gradientColors } = props.color;\n\n const thumbBackground = gradientColors2string({\n points: gradientColors,\n degree: 90,\n });\n\n const handleClickThumb = (e: ReactMouseEvent) => e.stopPropagation();\n\n return (\n <div className={`${baseClassName}__gradient`}>\n <div className={`${baseClassName}__gradient-slider`}>\n <div\n className={classNames(`${baseClassName}__slider`, `${baseClassName}--bg-alpha`)}\n onKeyUp={handleKeyup}\n tabIndex={0}\n ref={refSlider}\n >\n <ul\n className=\"gradient-thumbs\"\n onClick={handleThumbBarClick}\n style={{\n background: thumbBackground,\n }}\n >\n {colors.current.map((t) => {\n const left = `${Math.round(t.left * 100) / 100}%`;\n return (\n <li\n className={classNames([\n `${baseClassName}__thumb`,\n 'gradient-thumbs__item',\n selectedId.current === t.id ? statusClassNames.active : '',\n ])}\n key={t.id}\n title={`${t.color} ${left}`}\n style={{\n color: t.color,\n left,\n }}\n onClick={handleClickThumb}\n onMouseDown={(e: ReactMouseEvent) => handleStart(t.id, e)}\n >\n <span className={classNames(['gradient-thumbs__item-inner', `${baseClassName}--bg-alpha`])}></span>\n </li>\n );\n })}\n </ul>\n </div>\n </div>\n <div className={`${baseClassName}__gradient-degree`} title={`${degree}deg`}>\n <InputNumber\n theme=\"normal\"\n min={0}\n max={360}\n step={1}\n format={(value: number) => `${value}°`}\n value={degree.current}\n onBlur={handleDegreeChange}\n onEnter={handleDegreeChange}\n disabled={props.disabled}\n />\n </div>\n <div className={classNames([`${baseClassName}__gradient-preview`, `${baseClassName}--bg-alpha`])}>\n <span\n className=\"preview-inner\"\n style={{\n background: linearGradient,\n }}\n ></span>\n </div>\n </div>\n );\n};\n\nexport default React.memo(LinearGradient);\n"],"names":["DELETE_KEYS","LinearGradient","props","onChange","color","disabled","baseClassName","useClassname","useCommonClassName","statusClassNames","STATUS","refSlider","useRef","sliderRectRef","left","width","GRADIENT_SLIDER_DEFAULT_WIDTH","isDragging","isMoved","degree","gradientDegree","selectedId","gradientSelectedId","colors","cloneDeep","gradientColors","useEffect","current","updateSliderRect","rect","getBoundingClientRect","handleChange","useCallback","key","payload","addUsedColor","handleDegreeChange","value","handleSelectedIdChange","handleColorsChange","isEnded","updateActiveThumbLeft","index","findIndex","c","id","point","formatLeft","Math","max","min","percentLeft","newColors","map","item","i","handleStart","e","preventDefault","stopPropagation","focus","handleMove","clientX","x","handleEnd","setTimeout","handleKeyup","points","_toConsumableArray","pos","length","includes","toLocaleLowerCase","splice","handleThumbBarClick","newPoint","genGradientPoint","rgba","push","window","addEventListener","removeEventListener","linearGradient","thumbBackground","gradientColors2string","handleClickThumb","React","createElement","className","classNames","onKeyUp","tabIndex","ref","onClick","style","background","t","round","active","title","onMouseDown","InputNumber","theme","step","format","onBlur","onEnter","memo"],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { TdColorBaseProps } from '../../interface';
3
+ declare const _default: React.MemoExoticComponent<(props: TdColorBaseProps) => JSX.Element>;
4
+ export default _default;
@@ -0,0 +1,132 @@
1
+ /**
2
+ * tdesign v0.31.1
3
+ * (c) 2022 tdesign
4
+ * @license MIT
5
+ */
6
+
7
+ 'use strict';
8
+
9
+ Object.defineProperty(exports, '__esModule', { value: true });
10
+
11
+ var defineProperty = require('../../../_chunks/dep-3698c913.js');
12
+ var React = require('react');
13
+ var colorPicker_const = require('../../const.js');
14
+ var _util_useDrag = require('../../../_util/useDrag.js');
15
+
16
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
17
+
18
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
19
+
20
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
21
+
22
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { defineProperty._defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
23
+
24
+ var Saturation = function Saturation(props) {
25
+ var color = props.color,
26
+ disabled = props.disabled,
27
+ onChange = props.onChange,
28
+ baseClassName = props.baseClassName;
29
+ var panelRef = React.useRef(null);
30
+ var thumbRef = React.useRef(null);
31
+ var panelRectRef = React.useRef({
32
+ width: colorPicker_const.SATURATION_PANEL_DEFAULT_WIDTH,
33
+ height: colorPicker_const.SATURATION_PANEL_DEFAULT_HEIGHT
34
+ });
35
+
36
+ var styles = function styles() {
37
+ var saturation = color.saturation,
38
+ value = color.value,
39
+ rgb = color.rgb;
40
+ var _panelRectRef$current = panelRectRef.current,
41
+ width = _panelRectRef$current.width,
42
+ height = _panelRectRef$current.height;
43
+ var top = Math.round((1 - value) * height);
44
+ var left = Math.round(saturation * width);
45
+ return {
46
+ color: rgb,
47
+ left: "".concat(left, "px"),
48
+ top: "".concat(top, "px")
49
+ };
50
+ };
51
+
52
+ var getSaturationAndValueByCoordinate = function getSaturationAndValueByCoordinate(coordinate) {
53
+ var _panelRectRef$current2 = panelRectRef.current,
54
+ width = _panelRectRef$current2.width,
55
+ height = _panelRectRef$current2.height;
56
+ var x = coordinate.x,
57
+ y = coordinate.y;
58
+ var saturation = Math.round(x / width * 100);
59
+ var value = Math.round((1 - y / height) * 100);
60
+ return {
61
+ saturation: saturation,
62
+ value: value
63
+ };
64
+ };
65
+
66
+ var isDragging = React.useRef(false);
67
+ var handleDrag = React.useCallback(function (_ref, isEnd) {
68
+ var x = _ref.x,
69
+ y = _ref.y;
70
+
71
+ if (disabled) {
72
+ return;
73
+ }
74
+
75
+ isDragging.current = true;
76
+
77
+ var _getSaturationAndValu = getSaturationAndValueByCoordinate({
78
+ x: x,
79
+ y: y
80
+ }),
81
+ saturation = _getSaturationAndValu.saturation,
82
+ value = _getSaturationAndValu.value;
83
+
84
+ onChange({
85
+ saturation: saturation / 100,
86
+ value: value / 100,
87
+ addUsedColor: isEnd
88
+ });
89
+ }, [disabled, onChange]);
90
+ var handleDragEnd = React.useCallback(function (coordinate) {
91
+ if (disabled) {
92
+ return;
93
+ }
94
+
95
+ isDragging.current = false;
96
+ handleDrag(coordinate, true);
97
+ }, []);
98
+ _util_useDrag["default"](panelRef, {
99
+ start: function start() {
100
+ panelRectRef.current.width = panelRef.current.offsetWidth;
101
+ panelRectRef.current.height = panelRef.current.offsetHeight;
102
+ },
103
+ end: function end(coordinate) {
104
+ handleDragEnd(coordinate);
105
+ },
106
+ drag: function drag(coordinate) {
107
+ handleDrag(coordinate);
108
+ }
109
+ });
110
+ React.useEffect(function () {
111
+ panelRectRef.current.width = panelRef.current.offsetWidth || colorPicker_const.SATURATION_PANEL_DEFAULT_WIDTH;
112
+ panelRectRef.current.height = panelRef.current.offsetHeight || colorPicker_const.SATURATION_PANEL_DEFAULT_HEIGHT;
113
+ }, [handleDrag, handleDragEnd]);
114
+ return /* @__PURE__ */React__default["default"].createElement("div", {
115
+ className: "".concat(baseClassName, "__saturation"),
116
+ ref: panelRef,
117
+ style: {
118
+ background: "hsl(".concat(color.hue, ", 100%, 50%)")
119
+ }
120
+ }, /* @__PURE__ */React__default["default"].createElement("span", {
121
+ className: "".concat(baseClassName, "__thumb"),
122
+ role: "slider",
123
+ tabIndex: 0,
124
+ ref: thumbRef,
125
+ style: _objectSpread({}, styles())
126
+ }));
127
+ };
128
+
129
+ var SaturationPanel = /*#__PURE__*/React__default["default"].memo(Saturation);
130
+
131
+ exports["default"] = SaturationPanel;
132
+ //# sourceMappingURL=saturation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"saturation.js","sources":["../../../../src/color-picker/components/panel/saturation.tsx"],"sourcesContent":["import React, { useRef, useEffect, useCallback } from 'react';\nimport { SATURATION_PANEL_DEFAULT_HEIGHT, SATURATION_PANEL_DEFAULT_WIDTH } from '../../const';\nimport { TdColorBaseProps } from '../../interface';\nimport useDrag, { Coordinate } from '../../../_util/useDrag';\n\nconst Saturation = (props: TdColorBaseProps) => {\n const { color, disabled, onChange, baseClassName } = props;\n const panelRef = useRef<HTMLDivElement>(null);\n const thumbRef = useRef<HTMLElement>(null);\n const panelRectRef = useRef({\n width: SATURATION_PANEL_DEFAULT_WIDTH,\n height: SATURATION_PANEL_DEFAULT_HEIGHT,\n });\n\n const styles = () => {\n const { saturation, value, rgb } = color;\n const { width, height } = panelRectRef.current;\n const top = Math.round((1 - value) * height);\n const left = Math.round(saturation * width);\n return {\n color: rgb,\n left: `${left}px`,\n top: `${top}px`,\n };\n };\n\n const getSaturationAndValueByCoordinate = (coordinate: Coordinate) => {\n const { width, height } = panelRectRef.current;\n const { x, y } = coordinate;\n const saturation = Math.round((x / width) * 100);\n const value = Math.round((1 - y / height) * 100);\n return {\n saturation,\n value,\n };\n };\n\n const isDragging = useRef<Boolean>(false);\n\n const handleDrag = useCallback(\n ({ x, y }: Coordinate, isEnd?: boolean) => {\n if (disabled) {\n return;\n }\n isDragging.current = true;\n const { saturation, value } = getSaturationAndValueByCoordinate({ x, y });\n onChange({\n saturation: saturation / 100,\n value: value / 100,\n addUsedColor: isEnd,\n });\n },\n [disabled, onChange],\n );\n\n const handleDragEnd = useCallback((coordinate: Coordinate) => {\n if (disabled) {\n return;\n }\n isDragging.current = false;\n handleDrag(coordinate, true);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useDrag(panelRef, {\n start: () => {\n panelRectRef.current.width = panelRef.current.offsetWidth;\n panelRectRef.current.height = panelRef.current.offsetHeight;\n },\n end: (coordinate: Coordinate) => {\n handleDragEnd(coordinate);\n },\n drag: (coordinate: Coordinate) => {\n handleDrag(coordinate);\n },\n });\n\n useEffect(() => {\n panelRectRef.current.width = panelRef.current.offsetWidth || SATURATION_PANEL_DEFAULT_WIDTH;\n panelRectRef.current.height = panelRef.current.offsetHeight || SATURATION_PANEL_DEFAULT_HEIGHT;\n }, [handleDrag, handleDragEnd]);\n\n return (\n <div\n className={`${baseClassName}__saturation`}\n ref={panelRef}\n style={{\n background: `hsl(${color.hue}, 100%, 50%)`,\n }}\n >\n <span\n className={`${baseClassName}__thumb`}\n role=\"slider\"\n tabIndex={0}\n ref={thumbRef}\n style={{ ...styles() }}\n ></span>\n </div>\n );\n};\n\nexport default React.memo(Saturation);\n"],"names":["Saturation","props","color","disabled","onChange","baseClassName","panelRef","useRef","thumbRef","panelRectRef","width","SATURATION_PANEL_DEFAULT_WIDTH","height","SATURATION_PANEL_DEFAULT_HEIGHT","styles","saturation","value","rgb","current","top","Math","round","left","getSaturationAndValueByCoordinate","coordinate","x","y","isDragging","handleDrag","useCallback","isEnd","addUsedColor","handleDragEnd","useDrag","start","offsetWidth","offsetHeight","end","drag","useEffect","React","createElement","className","ref","style","background","hue","role","tabIndex","memo"],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import { TdColorBaseProps } from '../../interface';
3
+ export interface TdColorSliderProps extends TdColorBaseProps {
4
+ className?: string;
5
+ value?: Number;
6
+ maxValue?: Number;
7
+ railStyle?: Object;
8
+ }
9
+ declare const _default: React.MemoExoticComponent<(props: TdColorSliderProps) => JSX.Element>;
10
+ export default _default;