@easyv/react-components 0.0.13 → 0.0.15

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 (50) hide show
  1. package/dist/Color/Preview.d.ts +8 -0
  2. package/dist/Color/Preview.js +78 -0
  3. package/dist/Color/Preview.less +48 -0
  4. package/dist/Color/index.d.ts +2 -0
  5. package/dist/Color/index.js +69 -0
  6. package/dist/Color/interface.d.ts +5 -0
  7. package/dist/Color/interface.js +1 -0
  8. package/dist/ColorPicker/Panel.d.ts +11 -0
  9. package/dist/ColorPicker/Panel.js +50 -0
  10. package/dist/ColorPicker/Panel.less +159 -0
  11. package/dist/ColorPicker/index.d.ts +9 -3
  12. package/dist/ColorPicker/index.js +266 -44
  13. package/dist/ColorPicker/index.less +194 -132
  14. package/dist/ColorPicker/utils.d.ts +16 -6
  15. package/dist/ColorPicker/utils.js +86 -40
  16. package/dist/Input/index.js +15 -14
  17. package/dist/InputNumber/PointDrag.d.ts +13 -0
  18. package/dist/InputNumber/PointDrag.js +107 -0
  19. package/dist/InputNumber/index.d.ts +3 -1
  20. package/dist/InputNumber/index.js +183 -1
  21. package/dist/InputNumber/index.less +93 -0
  22. package/dist/InputNumber/interface.d.ts +6 -1
  23. package/dist/InputNumber/util.d.ts +8 -0
  24. package/dist/InputNumber/util.js +31 -0
  25. package/dist/RangeColor/Panel.d.ts +9 -0
  26. package/dist/RangeColor/Panel.js +187 -0
  27. package/dist/RangeColor/Panel.less +0 -0
  28. package/dist/RangeColor/Points.d.ts +2 -0
  29. package/dist/RangeColor/Points.js +88 -0
  30. package/dist/RangeColor/index.d.ts +3 -0
  31. package/dist/RangeColor/index.js +76 -0
  32. package/dist/RangeColor/index.less +49 -0
  33. package/dist/RangeColor/interface.d.ts +8 -0
  34. package/dist/RangeColor/interface.js +1 -0
  35. package/dist/SpaceModal/index.d.ts +5 -0
  36. package/dist/SpaceModal/index.js +19 -0
  37. package/dist/SpaceModal/index.less +5 -0
  38. package/dist/hooks/index.d.ts +2 -0
  39. package/dist/hooks/index.js +2 -0
  40. package/dist/hooks/useClickOutside.d.ts +1 -0
  41. package/dist/hooks/useClickOutside.js +16 -0
  42. package/dist/hooks/useEventListener.d.ts +1 -0
  43. package/dist/hooks/useEventListener.js +18 -0
  44. package/dist/index.css +4 -0
  45. package/dist/index.d.ts +2 -1
  46. package/dist/index.js +4 -1
  47. package/package.json +2 -2
  48. package/dist/ColorPicker/ColorPreview.d.ts +0 -19
  49. package/dist/ColorPicker/ColorPreview.js +0 -27
  50. package/dist/ColorPicker/ColorPreview.less +0 -5
@@ -1,37 +1,31 @@
1
- import React from 'react';
2
- import { Panel as ColorPickerPanel } from 'rc-color-picker';
3
- import 'rc-color-picker/assets/index.css';
4
- import Color from 'rc-color-picker/lib/helpers/color';
5
- import { useDebounceFn } from 'ahooks';
1
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
2
+ 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; }
3
+ 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(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; }
4
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
6
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
7
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
8
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
9
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
10
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
11
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
12
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
13
+ import { useState, useEffect, forwardRef, useRef } from 'react';
14
+ import classNames from 'classnames';
15
+ import { DownOutlined } from '@easyv/react-icons';
16
+ import InputNumber from "../InputNumber";
17
+ import { useLocalStorageState } from 'ahooks';
18
+ import SpaceModal from "../SpaceModal";
19
+ import Points from "./Points";
20
+ import { getBackgroundAccordingColor } from "./utils";
21
+ import ColorPickerPanel from "./Panel";
22
+ import { useClickOutside } from "../hooks";
6
23
  import "./index.less";
7
- import ColorPreview from "./ColorPreview";
8
24
  import { jsx as _jsx } from "react/jsx-runtime";
9
- import { Fragment as _Fragment } from "react/jsx-runtime";
10
25
  import { jsxs as _jsxs } from "react/jsx-runtime";
11
- export default function ColorPicker(_ref) {
12
- var _ref$value = _ref.value,
13
- value = _ref$value === void 0 ? 'rgba(255,0,255,0.5)' : _ref$value,
14
- onChange = _ref.onChange;
15
- var colorObj = new Color(value);
16
- var _useDebounceFn = useDebounceFn(function (_ref2) {
17
- var color = _ref2.color,
18
- alpha = _ref2.alpha;
19
- var newColor;
20
- var rgbColor;
21
- if (alpha === 100) {
22
- newColor = color;
23
- } else {
24
- rgbColor = new Color(color).RGB;
25
- newColor = "RGBA(".concat(rgbColor[0], ",").concat(rgbColor[1], ",").concat(rgbColor[2], ",").concat(alpha / 100, ")");
26
- }
27
- onChange === null || onChange === void 0 ? void 0 : onChange(newColor);
28
- }, {
29
- wait: 100,
30
- leading: true,
31
- trailing: false
32
- }),
33
- run = _useDebounceFn.run;
34
- var linearValue = {
26
+ var defaultColorValue = {
27
+ pure: '#000',
28
+ linear: {
35
29
  stops: [{
36
30
  offset: 0,
37
31
  color: '#fff'
@@ -40,18 +34,246 @@ export default function ColorPicker(_ref) {
40
34
  color: '#000'
41
35
  }],
42
36
  angle: 0,
43
- opacity: 100
37
+ opacity: 1
38
+ }
39
+ };
40
+ function CustomColorPicker(_ref, ref) {
41
+ var mode = _ref.mode,
42
+ color = _ref.color,
43
+ position = _ref.position,
44
+ onChange = _ref.onChange,
45
+ onCancel = _ref.onCancel;
46
+ var _useLocalStorageState = useLocalStorageState('usedColors'),
47
+ _useLocalStorageState2 = _slicedToArray(_useLocalStorageState, 1),
48
+ usedPureColors = _useLocalStorageState2[0];
49
+ var _useLocalStorageState3 = useLocalStorageState('usedLinearColors'),
50
+ _useLocalStorageState4 = _slicedToArray(_useLocalStorageState3, 1),
51
+ usedLinearColors = _useLocalStorageState4[0];
52
+ var _useLocalStorageState5 = useLocalStorageState('recentCollapsed'),
53
+ _useLocalStorageState6 = _slicedToArray(_useLocalStorageState5, 2),
54
+ recentCollapsed = _useLocalStorageState6[0],
55
+ setRecentCollapsed = _useLocalStorageState6[1];
56
+ var _useState = useState(0),
57
+ _useState2 = _slicedToArray(_useState, 2),
58
+ active = _useState2[0],
59
+ setActive = _useState2[1];
60
+ var _useState3 = useState(''),
61
+ _useState4 = _slicedToArray(_useState3, 2),
62
+ localColor = _useState4[0],
63
+ setLocalColor = _useState4[1];
64
+ var lastColorRef = useRef(null);
65
+ var currentColor = mode === 'multi' ? color.type === 'pure' ? color.pure : color[color.type].stops[active] ? color[color.type].stops[active].color : '#fff' : color;
66
+ useEffect(function () {
67
+ setLocalColor(currentColor);
68
+ }, [currentColor]);
69
+ useClickOutside(ref, onCancel);
70
+ useEffect(function () {
71
+ return function () {
72
+ var lastColor = lastColorRef.current;
73
+ console.log('lastColor', lastColor);
74
+ if (lastColor != null) {
75
+ if (typeof lastColor === 'string') {
76
+ var newColors = [lastColor].concat(usedPureColors || []);
77
+ newColors = Array.from(new Set(newColors)).slice(0, 16);
78
+ localStorage.setItem('usedColors', JSON.stringify(newColors));
79
+ } else {
80
+ var _newColors = [lastColor].concat(usedLinearColors || []);
81
+ _newColors = _newColors.slice(0, 16);
82
+ localStorage.setItem('usedLinearColors', JSON.stringify(_newColors));
83
+ }
84
+ }
85
+ };
86
+ }, []);
87
+ useEffect(function () {
88
+ var downHandler = function downHandler(e) {
89
+ e.stopPropagation();
90
+ if (e.key === 'Backspace') {
91
+ if (mode === 'multi' && color.type !== 'pure') {
92
+ var stops = color[color.type].stops;
93
+ if (stops.length > 2) {
94
+ stops = stops.filter(function (d, i) {
95
+ return i !== active;
96
+ });
97
+ setActive(active > 0 ? active - 1 : 0);
98
+ onChange(_objectSpread(_objectSpread({}, color), {}, _defineProperty({}, color.type, _objectSpread(_objectSpread({}, color[color.type]), {}, {
99
+ stops: stops
100
+ }))));
101
+ }
102
+ }
103
+ }
104
+ };
105
+ document.body.addEventListener('keydown', downHandler);
106
+ return function () {
107
+ document.body.removeEventListener('keydown', downHandler);
108
+ };
109
+ }, [color, active]);
110
+ var handleTypeChange = function handleTypeChange(type) {
111
+ var typeValue = color[type];
112
+ if (typeValue) {
113
+ onChange(_objectSpread(_objectSpread({}, color), {}, {
114
+ type: type
115
+ }));
116
+ } else {
117
+ onChange(_objectSpread(_objectSpread({}, color), {}, _defineProperty({
118
+ type: type
119
+ }, type, defaultColorValue[type])));
120
+ }
121
+ setActive(0);
122
+ };
123
+ var handleColorChange = function handleColorChange(colorValue, used) {
124
+ if (mode === 'multi') {
125
+ if (color.type === 'pure') {
126
+ lastColorRef.current = used ? null : colorValue;
127
+ onChange(_objectSpread(_objectSpread({}, color), {}, {
128
+ pure: colorValue
129
+ }));
130
+ } else {
131
+ var newColors = color[color.type].stops.map(function (d, i) {
132
+ return i === active ? _objectSpread(_objectSpread({}, d), {}, {
133
+ color: colorValue
134
+ }) : d;
135
+ });
136
+ lastColorRef.current = used ? null : newColors;
137
+ onChange(_objectSpread(_objectSpread({}, color), {}, _defineProperty({}, color.type, _objectSpread(_objectSpread({}, color[color.type]), {}, {
138
+ stops: newColors
139
+ }))));
140
+ }
141
+ } else {
142
+ if (ref.current) {
143
+ lastColorRef.current = used ? null : colorValue;
144
+ }
145
+ onChange(colorValue);
146
+ }
147
+ };
148
+
149
+ // const handleChangeComplete = (value) => {
150
+ // if (value && value.hex) {
151
+ // const { rgb, hex } = value;
152
+ // const { r, g, b, a } = rgb;
153
+ // let newColor = rgb.a === 1 ? hex : `RGBA(${r},${g},${b},${a})`;
154
+
155
+ // handleColorChange(newColor);
156
+ // }
157
+ // };
158
+
159
+ var handleCollapseRecent = function handleCollapseRecent() {
160
+ setRecentCollapsed(function (prev) {
161
+ return !prev;
162
+ });
163
+ };
164
+ var handleColorsChange = function handleColorsChange(colors, used) {
165
+ onChange(_objectSpread(_objectSpread({}, color), {}, _defineProperty({}, color.type, _objectSpread(_objectSpread({}, color[color.type]), {}, {
166
+ stops: colors
167
+ }))));
168
+ lastColorRef.current = used ? null : colors;
169
+ };
170
+ var handleAngleChange = function handleAngleChange(value) {
171
+ onChange(_objectSpread(_objectSpread({}, color), {}, _defineProperty({}, color.type, _objectSpread(_objectSpread({}, color[color.type]), {}, {
172
+ angle: value
173
+ }))));
44
174
  };
45
- return /*#__PURE__*/_jsxs(_Fragment, {
46
- children: [/*#__PURE__*/_jsx(ColorPreview, {
47
- type: "linear",
48
- value: linearValue
49
- }), /*#__PURE__*/_jsx(ColorPickerPanel, {
50
- className: "arco-color-picker",
51
- mode: "RGB",
52
- color: colorObj.toHexString(),
53
- alpha: colorObj.alpha,
54
- onChange: run
55
- })]
175
+
176
+ // const handleLocalColorChange = useCallback((color) => {
177
+ // setLocalColor(color);
178
+ // }, []);
179
+
180
+ return /*#__PURE__*/_jsx(SpaceModal, {
181
+ children: /*#__PURE__*/_jsxs("div", {
182
+ className: 'arco-color-picker',
183
+ style: {
184
+ left: position.x,
185
+ top: position.y
186
+ },
187
+ ref: ref,
188
+ children: [mode === 'multi' && /*#__PURE__*/_jsxs("div", {
189
+ children: [/*#__PURE__*/_jsxs("div", {
190
+ className: 'arco-color-picker-type',
191
+ children: [/*#__PURE__*/_jsx("span", {
192
+ className: classNames('arco-color-picker-circle', 'arco-color-picker-pure', _defineProperty({}, 'arco-color-picker-active', color.type === 'pure')),
193
+ onClick: function onClick(e) {
194
+ return handleTypeChange('pure');
195
+ }
196
+ }), /*#__PURE__*/_jsx("span", {
197
+ className: classNames('arco-color-picker-circle', 'arco-color-picker-linear', _defineProperty({}, 'arco-color-picker-active', color.type === 'linear')),
198
+ onClick: function onClick(e) {
199
+ return handleTypeChange('linear');
200
+ }
201
+ })]
202
+ }), color.type === 'linear' && /*#__PURE__*/_jsxs("div", {
203
+ className: 'arco-color-picker-colors',
204
+ children: [/*#__PURE__*/_jsx(Points, {
205
+ dots: color.linear.stops,
206
+ active: active,
207
+ setActive: setActive,
208
+ onChange: handleColorsChange
209
+ }), /*#__PURE__*/_jsx("div", {
210
+ style: {
211
+ flex: 1
212
+ },
213
+ children: /*#__PURE__*/_jsx(InputNumber, {
214
+ hideControl: true,
215
+ min: -360,
216
+ max: 360,
217
+ suffix: "\xB0",
218
+ value: color.linear.angle,
219
+ onChange: handleAngleChange,
220
+ style: {
221
+ width: 36
222
+ }
223
+ })
224
+ })]
225
+ })]
226
+ }), /*#__PURE__*/_jsxs("div", {
227
+ className: 'arco-color-picker-scroll-container',
228
+ children: [/*#__PURE__*/_jsx(ColorPickerPanel, {
229
+ record: lastColorRef.current,
230
+ color: localColor,
231
+ active: active,
232
+ onChange: handleColorChange
233
+ }), /*#__PURE__*/_jsxs("div", {
234
+ className: 'arco-color-picker-recent',
235
+ children: [/*#__PURE__*/_jsxs("div", {
236
+ className: 'arco-color-picker-title',
237
+ onClick: handleCollapseRecent,
238
+ children: [/*#__PURE__*/_jsx("div", {
239
+ children: "\u6700\u8FD1\u4F7F\u7528"
240
+ }), /*#__PURE__*/_jsx(DownOutlined, {
241
+ className: classNames('arco-color-picker-icon', _defineProperty({}, 'arco-color-picker-collapsed', recentCollapsed))
242
+ })]
243
+ }), !recentCollapsed && mode === 'multi' && color.type === 'linear' && usedLinearColors && usedLinearColors.length && /*#__PURE__*/_jsx("div", {
244
+ className: 'arco-color-picker-recent-title',
245
+ children: "\u6E10\u53D8"
246
+ }), !recentCollapsed && mode === 'multi' && color.type === 'linear' && /*#__PURE__*/_jsx("div", {
247
+ className: 'arco-color-picker-list',
248
+ children: usedLinearColors && usedLinearColors.map(function (d, i) {
249
+ return /*#__PURE__*/_jsx("div", {
250
+ className: 'arco-color-picker-item',
251
+ style: getBackgroundAccordingColor(d),
252
+ onClick: function onClick() {
253
+ return handleColorsChange(d, true);
254
+ }
255
+ }, i);
256
+ })
257
+ }), !recentCollapsed && mode === 'multi' && color.type === 'linear' && /*#__PURE__*/_jsx("div", {
258
+ className: 'arco-color-picker-recent-title',
259
+ children: "\u7EAF\u8272"
260
+ }), !recentCollapsed && /*#__PURE__*/_jsx("div", {
261
+ className: 'arco-color-picker-list',
262
+ children: usedPureColors && usedPureColors.map(function (d) {
263
+ return /*#__PURE__*/_jsx("div", {
264
+ className: 'arco-color-picker-item',
265
+ style: {
266
+ background: d
267
+ },
268
+ onClick: function onClick() {
269
+ return handleColorChange(d, true);
270
+ }
271
+ }, d);
272
+ })
273
+ })]
274
+ })]
275
+ })]
276
+ })
56
277
  });
57
- }
278
+ }
279
+ export default /*#__PURE__*/forwardRef(CustomColorPicker);
@@ -1,160 +1,222 @@
1
1
  .arco-color-picker {
2
- border: 1px solid var(--color-border-3);
3
- background-color: var(--color-bg-white);
4
- width: 238px;
2
+ position: absolute;
3
+ border-radius: 4px;
4
+ background: var(--color-bg-1);
5
+ border: 1px solid #393b4a;
6
+ box-shadow: 0 6px 6px 0 rgba(0, 0, 0, 0.3);
7
+ overflow-y: auto;
8
+ overflow-x: hidden;
9
+ z-index: 9999;
10
+ // max-height: 438px;
11
+ width: 242px;
12
+ display: flex;
13
+ flex-direction: column;
14
+
15
+ &::-webkit-scrollbar {
16
+ width: 0;
17
+ }
18
+
19
+ .arco-color-picker-recent {
20
+ padding: 6px 10px 8px;
21
+ border-top: 1px solid #393b4a;
22
+ background: var(--color-bg-1);
23
+
24
+ .arco-color-picker-title {
25
+ display: flex;
26
+ justify-content: space-between;
27
+ align-items: center;
28
+ color: #fff;
29
+
30
+ .arco-color-picker-icon {
31
+ cursor: pointer;
32
+ transition: transform linear 200ms;
33
+ font-size: 18px !important;
34
+
35
+ &.arco-color-picker-collapsed {
36
+ transform: rotate(-90deg);
37
+ }
38
+ }
5
39
 
6
- .rc-color-picker-panel-board {
7
- margin: 11px 11px 0;
8
- }
40
+ .arco-color-picker-add {
41
+ margin-right: 8px;
42
+ cursor: pointer;
9
43
 
10
- .rc-color-picker-panel-board-hsv {
11
- width: 216px;
12
- }
13
-
14
- .rc-color-picker-panel-ribbon,
15
- .rc-color-picker-panel-alpha {
16
- border-radius: 0;
17
- box-shadow: none;
18
-
19
- span {
20
- width: 12px;
21
- height: 12px;
22
- border-radius: 6px;
23
- border: 2px solid #fff;
24
- background-color: transparent;
25
- margin-left: -6px;
26
- margin-top: -3px;
44
+ &:hover {
45
+ color: var(--easyv-primary-color);
46
+ }
47
+ }
27
48
  }
28
- }
29
-
30
- .rc-color-picker-panel-wrap {
31
- margin-top: 16px;
32
- }
33
49
 
34
- // rgb滑块
35
- .rc-color-picker-panel-wrap-ribbon {
36
- top: 3px;
37
- left: 11px;
38
- right: 50px;
39
- height: 6px;
40
- padding: 0 6px;
41
- border-radius: 3px;
42
- background-image: linear-gradient(
43
- to right,
44
- #ff0000 0%,
45
- #ff9900 10%,
46
- #cdff00 20%,
47
- #35ff00 30%,
48
- #00ff66 40%,
49
- #00fffd 50%,
50
- #0066ff 60%,
51
- #3200ff 70%,
52
- #cd00ff 80%,
53
- #ff0099 90%,
54
- #ff0000 100%
55
- );
56
- }
50
+ .arco-color-picker-list {
51
+ display: flex;
52
+ flex-wrap: wrap;
53
+ margin: 12px -10px 0;
54
+ padding: 0 0 0 10px;
55
+
56
+ .arco-color-picker-item {
57
+ box-sizing: border-box;
58
+ width: 20px;
59
+ height: 20px;
60
+ margin: 0 8px 8px 0;
61
+ border-radius: 50%;
62
+ background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAMUlEQVQ4T2NkYGAQYcAP3uCTZhw1gGGYhAGBZIA/nYDCgBDAm9BGDWAAJyRCgLaBCAAgXwixzAS0pgAAAABJRU5ErkJggg==')
63
+ left center;
64
+ overflow: hidden;
65
+ cursor: pointer;
66
+ position: relative;
67
+ border: 1px solid #38393f;
68
+ }
57
69
 
58
- .rc-color-picker-panel-ribbon {
59
- background-image: none;
70
+ .arco-color-picker-color {
71
+ width: 100%;
72
+ height: 100%;
73
+ }
74
+ }
60
75
  }
61
76
 
62
- // alpha 滑块
63
- .rc-color-picker-panel-wrap-alpha {
64
- bottom: 3px;
65
- left: 11px;
66
- right: 50px;
67
- height: 6px;
68
- padding: 0 6px;
77
+ .arco-color-picker-operate {
78
+ position: absolute;
79
+ background: var(--background-4);
80
+ color: var(--text-1);
81
+ width: 80px;
82
+ box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.57);
69
83
  border-radius: 3px;
70
- background-image: linear-gradient(
71
- 45deg,
72
- #b9b8c1 25%,
73
- transparent 0,
74
- transparent 75%,
75
- #b9b8c1 0
76
- ),
77
- linear-gradient(
78
- 45deg,
79
- #b9b8c1 25%,
80
- transparent 0,
81
- transparent 75%,
82
- #b9b8c1 0
83
- );
84
- background-color: #e1e1ea;
85
- background-size: 6px 6px;
86
- background-position: 0 0, 3px 3px;
87
- }
88
84
 
89
- .rc-color-picker-panel-alpha {
90
- width: auto;
91
- background-image: none;
92
- }
85
+ .arco-color-picker-item {
86
+ padding: 0 16px;
87
+ height: 28px;
88
+ line-height: 28px;
89
+ cursor: pointer;
93
90
 
94
- .rc-color-picker-panel-alpha-bg {
95
- width: 177px;
96
- border-radius: 3px;
97
- margin-left: -6px;
91
+ &:hover {
92
+ color: #fff;
93
+ }
94
+ }
98
95
  }
96
+ }
99
97
 
100
- .rc-color-picker-panel-params-input {
101
- padding: 2px 11px;
98
+ .arco-color-picker-type {
99
+ display: flex;
100
+ height: 36px;
101
+ align-items: center;
102
+ border-bottom: 1px solid #393b4a;
103
+
104
+ .arco-color-picker-circle {
105
+ position: relative;
106
+ width: 30px;
107
+ height: 36px;
108
+ cursor: pointer;
109
+
110
+ &::before {
111
+ position: absolute;
112
+ top: 50%;
113
+ left: 50%;
114
+ transform: translate(-50%, -50%);
115
+ content: '';
116
+ width: 16px;
117
+ height: 16px;
118
+ border-radius: 50%;
119
+ border: 1px solid #666;
120
+ }
102
121
 
103
- input {
104
- outline: none;
105
- height: 24px;
106
- border-color: var(--color-border-3);
107
- background-color: var(--color-bg-white);
108
- color: #bfbfbf;
122
+ &.arco-color-picker-linear {
123
+ &::before {
124
+ background-image: linear-gradient(#aaa, #000);
125
+ }
109
126
 
110
- &[type='number'] {
111
- margin-left: 4px;
127
+ &.arco-color-picker-active {
128
+ &::before {
129
+ background-image: linear-gradient(
130
+ 180deg,
131
+ rgba(36, 145, 247, 0) 18%,
132
+ var(--easyv-primary-color) 100%
133
+ );
134
+ border: 1px solid var(--easyv-primary-color);
135
+ }
112
136
  }
113
137
  }
114
- }
115
138
 
116
- .rc-color-picker-panel-wrap-preview {
117
- right: 11px;
118
- border-radius: 50%;
119
- overflow: hidden;
139
+ &.arco-color-picker-pure {
140
+ &::before {
141
+ background: #666666;
142
+ }
120
143
 
121
- input {
122
- display: none;
144
+ &.arco-color-picker-active {
145
+ &::before {
146
+ background: var(--easyv-primary-color);
147
+ }
148
+ }
123
149
  }
124
150
  }
151
+ }
125
152
 
126
- .rc-color-picker-panel-params-lable {
127
- color: var(--easyv-text-color);
128
- }
129
-
130
- .rc-color-picker-panel-params-lable-number:hover {
131
- border-radius: 0;
132
- box-shadow: none;
133
- background-color: transparent;
134
- cursor: initial;
135
- }
153
+ .arco-color-picker-colors {
154
+ display: flex;
155
+ align-items: center;
156
+ height: 48px;
157
+ padding: 0 8px 0 16px;
158
+ border-bottom: 1px solid #393b4a;
136
159
 
137
- // 颜色板的圈
138
- .rc-color-picker-panel-board span {
139
- width: 12px;
140
- height: 12px;
141
- border-radius: 6px;
142
- border-width: 2px;
143
- margin: -6px 0 0 -6px;
144
- }
160
+ .arco-color-picker-bar {
161
+ position: relative;
162
+ width: 150px;
163
+ height: 6px;
164
+ margin-right: 16px;
165
+ border-radius: 4px;
166
+ // background-image: linear-gradient(90deg, #fff, #f00);
167
+ &::before {
168
+ content: '';
169
+ position: relative;
170
+ z-index: -1;
171
+ display: block;
172
+ width: 100%;
173
+ height: 100%;
174
+ border-radius: 4px;
175
+ background-image: linear-gradient(
176
+ 45deg,
177
+ #404040 25%,
178
+ transparent 0,
179
+ transparent 75%,
180
+ #404040 0
181
+ ),
182
+ linear-gradient(
183
+ 45deg,
184
+ #404040 25%,
185
+ transparent 0,
186
+ transparent 75%,
187
+ #404040 0
188
+ );
189
+ background-color: #4a4a4a;
190
+ background-size: 10px 10px;
191
+ background-position: 0 0, 5px 5px;
192
+ }
145
193
 
146
- .rc-color-picker-panel-params-hex {
147
- width: 70px;
194
+ .arco-color-picker-item {
195
+ position: absolute;
196
+ top: -2px;
197
+ width: 10px;
198
+ height: 10px;
199
+ border-radius: 50%;
200
+ transform: translateX(-50%);
201
+ border: 2px solid #ffffff;
202
+ cursor: pointer;
203
+
204
+ &.arco-color-picker-active {
205
+ width: 12px;
206
+ height: 12px;
207
+ box-shadow: 0 0 0 3px rgba(36, 145, 247, 0.6);
208
+ }
209
+ }
148
210
  }
211
+ }
149
212
 
150
- .rc-color-picker-panel-params-lable-hex {
151
- width: 70px;
152
- }
213
+ .arco-color-picker-recent-title {
214
+ color: #bfbfbf;
215
+ margin-bottom: 10px;
216
+ }
153
217
 
154
- .rc-color-picker-panel-inner {
155
- box-shadow: none;
156
- border: none;
157
- border-radius: 0;
158
- overflow: hidden;
159
- }
218
+ .arco-color-picker-scroll-container {
219
+ flex: 1;
220
+ overflow-x: hidden;
221
+ overflow-y: auto;
160
222
  }