@kdcloudjs/kdesign 1.8.14 → 1.8.16
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.
- package/dist/kdesign-complete.less +297 -81
- package/dist/kdesign.css +269 -58
- package/dist/kdesign.css.map +1 -1
- package/dist/kdesign.js +987 -543
- package/dist/kdesign.js.map +1 -1
- package/dist/kdesign.min.css +3 -3
- package/dist/kdesign.min.js +10 -10
- package/dist/kdesign.min.js.map +1 -1
- package/es/breadcrumb/breadcrumb.js +2 -2
- package/es/button/group.d.ts +1 -1
- package/es/button/group.js +5 -3
- package/es/city-picker/city-picker.js +12 -27
- package/es/city-picker/option.js +1 -5
- package/es/city-picker/style/index.css +8 -0
- package/es/city-picker/style/index.less +10 -0
- package/es/color-picker/color-picker-panel.js +332 -82
- package/es/color-picker/color-picker.js +128 -58
- package/es/color-picker/constant/colorTypes.js +4 -4
- package/es/color-picker/constant/defaultColor.d.ts +1 -1
- package/es/color-picker/constant/defaultColor.js +1 -1
- package/es/color-picker/interface.d.ts +33 -11
- package/es/color-picker/style/index.css +256 -53
- package/es/color-picker/style/index.less +277 -73
- package/es/color-picker/style/token.less +6 -2
- package/es/color-picker/utils/colorFormat.d.ts +5 -1
- package/es/color-picker/utils/colorFormat.js +10 -10
- package/es/color-picker/utils/convertLetters.d.ts +1 -0
- package/es/color-picker/utils/convertLetters.js +12 -0
- package/es/color-picker/utils/validateColor.js +12 -9
- package/es/config-provider/compDefaultProps.d.ts +8 -0
- package/es/config-provider/compDefaultProps.js +8 -0
- package/es/popper/index.d.ts +1 -1
- package/es/popper/index.js +4 -1
- package/es/popper/style/index.css +4 -4
- package/es/popper/style/index.less +4 -6
- package/es/signature/signature.d.ts +1 -0
- package/es/signature/signature.js +42 -8
- package/es/tree/tree.d.ts +1 -0
- package/es/tree/tree.js +3 -1
- package/es/tree/treeNode.d.ts +1 -0
- package/es/tree/treeNode.js +3 -2
- package/lib/breadcrumb/breadcrumb.js +2 -2
- package/lib/button/group.d.ts +1 -1
- package/lib/button/group.js +5 -3
- package/lib/city-picker/city-picker.js +12 -27
- package/lib/city-picker/option.js +1 -5
- package/lib/city-picker/style/index.css +8 -0
- package/lib/city-picker/style/index.less +10 -0
- package/lib/color-picker/color-picker-panel.js +329 -79
- package/lib/color-picker/color-picker.js +125 -55
- package/lib/color-picker/constant/colorTypes.js +4 -4
- package/lib/color-picker/constant/defaultColor.d.ts +1 -1
- package/lib/color-picker/constant/defaultColor.js +1 -1
- package/lib/color-picker/interface.d.ts +33 -11
- package/lib/color-picker/style/index.css +256 -53
- package/lib/color-picker/style/index.less +277 -73
- package/lib/color-picker/style/token.less +6 -2
- package/lib/color-picker/utils/colorFormat.d.ts +5 -1
- package/lib/color-picker/utils/colorFormat.js +10 -9
- package/lib/color-picker/utils/convertLetters.d.ts +1 -0
- package/lib/color-picker/utils/convertLetters.js +13 -0
- package/lib/color-picker/utils/validateColor.js +12 -9
- package/lib/config-provider/compDefaultProps.d.ts +8 -0
- package/lib/config-provider/compDefaultProps.js +8 -0
- package/lib/popper/index.d.ts +1 -1
- package/lib/popper/index.js +4 -1
- package/lib/popper/style/index.css +4 -4
- package/lib/popper/style/index.less +4 -6
- package/lib/signature/signature.d.ts +1 -0
- package/lib/signature/signature.js +42 -8
- package/lib/tree/tree.d.ts +1 -0
- package/lib/tree/tree.js +3 -1
- package/lib/tree/treeNode.d.ts +1 -0
- package/lib/tree/treeNode.js +3 -2
- package/package.json +1 -1
|
@@ -1,27 +1,35 @@
|
|
|
1
|
+
import _extends from "@babel/runtime-corejs3/helpers/extends";
|
|
1
2
|
import _defineProperty from "@babel/runtime-corejs3/helpers/defineProperty";
|
|
3
|
+
import _slicedToArray from "@babel/runtime-corejs3/helpers/slicedToArray";
|
|
4
|
+
import _findInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/find";
|
|
5
|
+
import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/filter";
|
|
2
6
|
import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
|
|
3
|
-
import
|
|
7
|
+
import _fillInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/fill";
|
|
8
|
+
import React, { useContext, useRef, useEffect, useState } from 'react';
|
|
4
9
|
import { Input, Select, Switch } from '../index';
|
|
5
10
|
import classNames from 'classnames';
|
|
6
11
|
import { ConfigContext } from '../config-provider';
|
|
7
12
|
import { systemPresetColor } from './constant/systemPresetColor';
|
|
8
|
-
import { colorFormat, valOfCorrespondingType, strFixed, getColorObj,
|
|
13
|
+
import { colorFormat, valOfCorrespondingType, strFixed, getColorObj, presetColorToHEX, colorToStr } from './utils/colorFormat';
|
|
9
14
|
import { defaultSystemColor } from './constant/defaultColor';
|
|
10
15
|
import { validateColor } from './utils/validateColor';
|
|
11
|
-
import {
|
|
16
|
+
import { toUpCase } from './utils/convertLetters';
|
|
12
17
|
import Color from 'color';
|
|
13
18
|
import { ChromePicker } from 'react-color';
|
|
14
19
|
import devWarning from '../_utils/devwarning';
|
|
15
20
|
import { useOnClickOutside } from '../_utils/hooks';
|
|
16
21
|
import { isIE } from '../_utils/ieUtil';
|
|
17
22
|
var ColorPickerPanel = function ColorPickerPanel(props) {
|
|
18
|
-
var _classNames,
|
|
23
|
+
var _classNames, _context, _context2, _context3, _context4, _context5;
|
|
19
24
|
var setCorrectColorValue = props.setCorrectColorValue,
|
|
25
|
+
setInputCorrectColorValue = props.setInputCorrectColorValue,
|
|
20
26
|
setInputColorValue = props.setInputColorValue,
|
|
21
27
|
setAlpha = props.setAlpha,
|
|
22
28
|
setAlphaNoVerifyVal = props.setAlphaNoVerifyVal,
|
|
23
29
|
setIsFollow = props.setIsFollow,
|
|
24
|
-
|
|
30
|
+
setClickedPresetColorIndex = props.setClickedPresetColorIndex,
|
|
31
|
+
setClickedHistoricalColorIndex = props.setClickedHistoricalColorIndex,
|
|
32
|
+
setClickColorIndex = props.setClickColorIndex,
|
|
25
33
|
setShowPanel = props.setShowPanel,
|
|
26
34
|
setColTypeArr = props.setColTypeArr,
|
|
27
35
|
setCurrentColorType = props.setCurrentColorType,
|
|
@@ -29,26 +37,42 @@ var ColorPickerPanel = function ColorPickerPanel(props) {
|
|
|
29
37
|
onVisibleChange = props.onVisibleChange,
|
|
30
38
|
alpha = props.alpha,
|
|
31
39
|
alphaNoVerifyVal = props.alphaNoVerifyVal,
|
|
32
|
-
|
|
40
|
+
clickedPresetColorIndex = props.clickedPresetColorIndex,
|
|
41
|
+
clickedHistoricalColorIndex = props.clickedHistoricalColorIndex,
|
|
33
42
|
colTypeArr = props.colTypeArr,
|
|
34
43
|
correctColorValue = props.correctColorValue,
|
|
44
|
+
inputCorrectColorValue = props.inputCorrectColorValue,
|
|
35
45
|
currentColorType = props.currentColorType,
|
|
36
46
|
functionalColor = props.functionalColor,
|
|
37
47
|
functionalColorName = props.functionalColorName,
|
|
38
48
|
switchName = props.switchName,
|
|
39
49
|
inputRef = props.inputRef,
|
|
40
50
|
isFollow = props.isFollow,
|
|
51
|
+
panelFormatConfig = props.panelFormatConfig,
|
|
52
|
+
format = props.format,
|
|
41
53
|
presetColor = props.presetColor,
|
|
54
|
+
historicalColor = props.historicalColor,
|
|
55
|
+
showClear = props.showClear,
|
|
42
56
|
showSwitch = props.showSwitch,
|
|
43
57
|
showColorTransfer = props.showColorTransfer,
|
|
44
58
|
showPresetColor = props.showPresetColor,
|
|
45
59
|
showColorPickerBox = props.showColorPickerBox,
|
|
46
60
|
showColorPickerPanel = props.showColorPickerPanel,
|
|
61
|
+
showAlphaInput = props.showAlphaInput,
|
|
47
62
|
value = props.value,
|
|
48
63
|
visible = props.visible,
|
|
49
64
|
showPanel = props.showPanel;
|
|
50
|
-
var
|
|
65
|
+
var panelSelectRef = useRef(null);
|
|
51
66
|
var panelClsRef = useRef(null);
|
|
67
|
+
var _useState = useState(panelFormatConfig),
|
|
68
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
69
|
+
innerFormatConfig = _useState2[0],
|
|
70
|
+
setInnerFormatConfig = _useState2[1];
|
|
71
|
+
var _useState3 = useState(),
|
|
72
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
73
|
+
activeGroupInptItem = _useState4[0],
|
|
74
|
+
setActiveGroupInptItem = _useState4[1];
|
|
75
|
+
var baseFormat = ['HEX', 'HSB', 'RGB', 'HSL'];
|
|
52
76
|
var Option = Select.Option;
|
|
53
77
|
var _useContext = useContext(ConfigContext),
|
|
54
78
|
getPrefixCls = _useContext.getPrefixCls,
|
|
@@ -57,66 +81,121 @@ var ColorPickerPanel = function ColorPickerPanel(props) {
|
|
|
57
81
|
var colorPickerPrefixCls = getPrefixCls(prefixCls, 'color-picker');
|
|
58
82
|
var panelCls = classNames("".concat(colorPickerPrefixCls, "-panel"));
|
|
59
83
|
var panelChromePickerCls = classNames("".concat(colorPickerPrefixCls, "-panel-chrome"), (_classNames = {}, _defineProperty(_classNames, "".concat(colorPickerPrefixCls, "-panel-chrome-no-box"), !(showColorPickerBox === null || showColorPickerBox === void 0 ? void 0 : showColorPickerBox.showBox)), _defineProperty(_classNames, "".concat(colorPickerPrefixCls, "-panel-chrome-no-hue"), !(showColorPickerBox === null || showColorPickerBox === void 0 ? void 0 : showColorPickerBox.showHue)), _defineProperty(_classNames, "".concat(colorPickerPrefixCls, "-panel-chrome-no-opacity"), !(showColorPickerBox === null || showColorPickerBox === void 0 ? void 0 : showColorPickerBox.showOpacity)), _classNames));
|
|
84
|
+
var panelClearColor = classNames("".concat(colorPickerPrefixCls, "-panel-clear"));
|
|
85
|
+
var panelClearColorBox = classNames("".concat(colorPickerPrefixCls, "-panel-clear-box"));
|
|
86
|
+
var panelClearColorText = classNames("".concat(colorPickerPrefixCls, "-panel-clear-text"));
|
|
60
87
|
var panelFollowThemeCls = classNames("".concat(colorPickerPrefixCls, "-panel-switch"));
|
|
61
88
|
var panelContainerCls = classNames("".concat(colorPickerPrefixCls, "-panel-container"));
|
|
89
|
+
var panelselectCls = classNames("".concat(colorPickerPrefixCls, "-panel-container-select"));
|
|
62
90
|
var panelInputCls = classNames("".concat(colorPickerPrefixCls, "-panel-container-input"));
|
|
91
|
+
var panelInputGroupCls = classNames("".concat(colorPickerPrefixCls, "-panel-container-input-group"));
|
|
92
|
+
var gePanelInputGroupItemCls = function gePanelInputGroupItemCls(order) {
|
|
93
|
+
return classNames("".concat(colorPickerPrefixCls, "-panel-container-input-group-item"), {
|
|
94
|
+
active: activeGroupInptItem === order && order === 1
|
|
95
|
+
});
|
|
96
|
+
};
|
|
63
97
|
var transparentCls = classNames("".concat(colorPickerPrefixCls, "-panel-container-transparent"));
|
|
64
|
-
var
|
|
65
|
-
var
|
|
66
|
-
|
|
67
|
-
|
|
98
|
+
var colorBoxCls = classNames("".concat(colorPickerPrefixCls, "-panel-color-box"), _defineProperty({}, "".concat(colorPickerPrefixCls, "-panel-color-box-container-ie11"), isIE));
|
|
99
|
+
var colorBoxTitleCls = classNames("".concat(colorPickerPrefixCls, "-panel-color-box-title"));
|
|
100
|
+
var colorBoxContainerCls = classNames("".concat(colorPickerPrefixCls, "-panel-color-box-container"));
|
|
101
|
+
var historicalColorBoxCls = classNames("".concat(colorPickerPrefixCls, "-panel-historical-color-box"), _defineProperty({}, "".concat(colorPickerPrefixCls, "-panel-historical-color-box-container-ie11"), isIE));
|
|
102
|
+
var historicalColorBoxTitleCls = classNames("".concat(colorPickerPrefixCls, "-panel-historical-color-box-title"));
|
|
103
|
+
var historicalColorBoxContainerCls = classNames("".concat(colorPickerPrefixCls, "-panel-historical-color-box-container"));
|
|
104
|
+
var setPanelState = function setPanelState(formatArr, correctColorValue, inputColorValue, alpha, alphaStr) {
|
|
105
|
+
setColTypeArr(formatArr);
|
|
106
|
+
setCorrectColorValue(correctColorValue);
|
|
107
|
+
setInputCorrectColorValue(inputColorValue);
|
|
108
|
+
setInputColorValue(inputColorValue);
|
|
109
|
+
alpha && setAlpha(alpha);
|
|
110
|
+
alphaStr && setAlphaNoVerifyVal(alphaStr);
|
|
111
|
+
};
|
|
112
|
+
var handleClearClick = function handleClearClick() {
|
|
113
|
+
var formatArr = colorFormat(defaultSystemColor, 0);
|
|
114
|
+
setPanelState(formatArr, defaultSystemColor, '', 0, '0%');
|
|
115
|
+
setClickColorIndex(-1);
|
|
116
|
+
onChange === null || onChange === void 0 ? void 0 : onChange('', formatArr);
|
|
117
|
+
};
|
|
118
|
+
var presetColorClick = function presetColorClick(index, colorValue) {
|
|
119
|
+
var colorLiAlpha = strFixed(Color(getColorObj(colorValue)).alpha(), 2);
|
|
120
|
+
var formatArr = colorFormat(colorValue, colorLiAlpha);
|
|
121
|
+
var formatCorrectValue = removeTransparency(colorValue);
|
|
122
|
+
var formatInputValue = toUpCase(formatArr[valOfCorrespondingType(format)].value);
|
|
68
123
|
setIsFollow(false);
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
setAlphaNoVerifyVal(100 + '%');
|
|
72
|
-
}
|
|
124
|
+
setAlpha(isFollow ? 1 : colorLiAlpha);
|
|
125
|
+
setAlphaNoVerifyVal(isFollow ? 100 + '%' : colorLiAlpha * 100 + '%');
|
|
73
126
|
if (value === undefined) {
|
|
74
|
-
setInputColorValue(
|
|
75
|
-
setCorrectColorValue(
|
|
127
|
+
setInputColorValue(formatInputValue);
|
|
128
|
+
setCorrectColorValue(formatCorrectValue);
|
|
76
129
|
setColTypeArr(formatArr);
|
|
77
130
|
}
|
|
78
|
-
|
|
79
|
-
onChange
|
|
131
|
+
setClickedPresetColorIndex(index);
|
|
132
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(formatInputValue, formatArr);
|
|
80
133
|
};
|
|
81
|
-
var
|
|
82
|
-
|
|
134
|
+
var historicalColorClick = function historicalColorClick(index, colorValue) {
|
|
135
|
+
var colorLiAlpha = strFixed(Color(getColorObj(colorValue)).alpha(), 2);
|
|
136
|
+
var formatArr = colorFormat(colorValue, colorLiAlpha);
|
|
137
|
+
var formatCorrectValue = removeTransparency(colorValue);
|
|
138
|
+
var formatInputValue = toUpCase(formatArr[valOfCorrespondingType(format)].value);
|
|
139
|
+
setIsFollow(false);
|
|
140
|
+
setAlpha(isFollow ? 1 : colorLiAlpha);
|
|
141
|
+
setAlphaNoVerifyVal(isFollow ? 100 + '%' : colorLiAlpha * 100 + '%');
|
|
83
142
|
if (value === undefined) {
|
|
84
|
-
|
|
85
|
-
|
|
143
|
+
setInputColorValue(formatInputValue);
|
|
144
|
+
setCorrectColorValue(formatCorrectValue);
|
|
145
|
+
setColTypeArr(formatArr);
|
|
86
146
|
}
|
|
87
|
-
|
|
147
|
+
setClickedHistoricalColorIndex(index);
|
|
148
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(formatInputValue, formatArr);
|
|
88
149
|
};
|
|
89
|
-
var
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
150
|
+
var handleTypeChange = function handleTypeChange(selectValue) {
|
|
151
|
+
var _a, _b, _c;
|
|
152
|
+
setCurrentColorType(selectValue);
|
|
153
|
+
var colorStr = (_a = _findInstanceProperty(colTypeArr).call(colTypeArr, function (item) {
|
|
154
|
+
return item.type === selectValue;
|
|
155
|
+
})) === null || _a === void 0 ? void 0 : _a.value;
|
|
156
|
+
setCorrectColorValue(colorFormat(colorStr, 1, selectValue, true));
|
|
157
|
+
setInputColorValue((_b = _findInstanceProperty(colTypeArr).call(colTypeArr, function (item) {
|
|
158
|
+
return item.type === format;
|
|
159
|
+
})) === null || _b === void 0 ? void 0 : _b.value);
|
|
160
|
+
onChange === null || onChange === void 0 ? void 0 : onChange((_c = _findInstanceProperty(colTypeArr).call(colTypeArr, function (item) {
|
|
161
|
+
return item.type === format;
|
|
162
|
+
})) === null || _c === void 0 ? void 0 : _c.value, colTypeArr);
|
|
163
|
+
};
|
|
164
|
+
var removeTransparency = function removeTransparency(color) {
|
|
165
|
+
return colorFormat(color, 1, currentColorType, true);
|
|
95
166
|
};
|
|
96
167
|
var handleAlphaChange = function handleAlphaChange(e) {
|
|
97
168
|
var regPercentage = /^(0|[1-9][0-9]?|100)%$/;
|
|
98
169
|
var regDot = /^(0(\.\d+)?|1(\.0+)?)$/;
|
|
99
170
|
var val = e.target.value;
|
|
100
|
-
var
|
|
171
|
+
var getColorFormat = function getColorFormat(alpha) {
|
|
172
|
+
var formatArr = colorFormat(correctColorValue, alpha, 'all', true);
|
|
173
|
+
var outValue = formatArr[valOfCorrespondingType(format)].value;
|
|
174
|
+
var innerInput = removeTransparency(outValue);
|
|
175
|
+
return {
|
|
176
|
+
formatArr: formatArr,
|
|
177
|
+
outValue: outValue,
|
|
178
|
+
innerInput: innerInput
|
|
179
|
+
};
|
|
180
|
+
};
|
|
181
|
+
var alphaValue;
|
|
182
|
+
if (regPercentage.test(val)) {
|
|
183
|
+
alphaValue = +val.replace('%', '') / 100;
|
|
184
|
+
} else if (regDot.test(val)) {
|
|
185
|
+
alphaValue = +val;
|
|
186
|
+
} else {
|
|
187
|
+
alphaValue = 1;
|
|
188
|
+
}
|
|
189
|
+
var _getColorFormat = getColorFormat(alphaValue),
|
|
190
|
+
formatArr = _getColorFormat.formatArr,
|
|
191
|
+
outValue = _getColorFormat.outValue,
|
|
192
|
+
innerInput = _getColorFormat.innerInput;
|
|
101
193
|
if (value === undefined) {
|
|
102
|
-
setAlphaNoVerifyVal(
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
outValue = formatArr[valOfCorrespondingType(currentColorType)].value;
|
|
106
|
-
setPanelState(formatArr, outValue, outValue, +val.replace('%', '') / 100);
|
|
107
|
-
setClickedColorIndex(highlightPresetColorIndex(formatArr[0].value, presetColorToHEX(presetColor || systemPresetColor)));
|
|
108
|
-
} else if (regDot.test(val)) {
|
|
109
|
-
formatArr = colorFormat(correctColorValue, +val, 'all', true);
|
|
110
|
-
outValue = formatArr[valOfCorrespondingType(currentColorType)].value;
|
|
111
|
-
setPanelState(formatArr, outValue, outValue, strFixed(val, 2));
|
|
112
|
-
setClickedColorIndex(highlightPresetColorIndex(formatArr[0].value, presetColorToHEX(presetColor || systemPresetColor)));
|
|
113
|
-
} else {
|
|
114
|
-
formatArr = colorFormat(correctColorValue, 1, 'all', true);
|
|
115
|
-
outValue = formatArr[valOfCorrespondingType(currentColorType)].value;
|
|
116
|
-
setPanelState(formatArr, outValue, outValue, 1);
|
|
117
|
-
}
|
|
118
|
-
onChange && onChange(outValue, formatArr);
|
|
194
|
+
setAlphaNoVerifyVal(val);
|
|
195
|
+
setPanelState(formatArr, innerInput, outValue, alphaValue);
|
|
196
|
+
setClickColorIndex(formatArr[0].value);
|
|
119
197
|
}
|
|
198
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(outValue, formatArr);
|
|
120
199
|
};
|
|
121
200
|
var handleAlphaBlur = function handleAlphaBlur(e) {
|
|
122
201
|
var regPercentage = /^(0|[1-9][0-9]?|100)%$/;
|
|
@@ -130,6 +209,98 @@ var ColorPickerPanel = function ColorPickerPanel(props) {
|
|
|
130
209
|
setAlphaNoVerifyVal('100%');
|
|
131
210
|
}
|
|
132
211
|
};
|
|
212
|
+
var handleHEXInputChange = function handleHEXInputChange(e) {
|
|
213
|
+
setCorrectColorValue(e.target.value);
|
|
214
|
+
};
|
|
215
|
+
var handleHEXInputBlur = function handleHEXInputBlur(e) {
|
|
216
|
+
var _a, _b, _c;
|
|
217
|
+
var val = e.target.value;
|
|
218
|
+
var correctColor = (_a = _findInstanceProperty(colTypeArr).call(colTypeArr, function (item) {
|
|
219
|
+
return item.type === format;
|
|
220
|
+
})) === null || _a === void 0 ? void 0 : _a.value;
|
|
221
|
+
if (validateColor(val)) {
|
|
222
|
+
var formatArr = colorFormat(val, inputCorrectColorValue ? alpha : 1, 'all', true);
|
|
223
|
+
var outValue = formatArr[valOfCorrespondingType(format)].value;
|
|
224
|
+
if (value === undefined) {
|
|
225
|
+
var innerInput = removeTransparency(val);
|
|
226
|
+
if (!inputCorrectColorValue) {
|
|
227
|
+
setPanelState(formatArr, innerInput, outValue, 1, '100%');
|
|
228
|
+
} else {
|
|
229
|
+
setPanelState(formatArr, innerInput, outValue);
|
|
230
|
+
}
|
|
231
|
+
} else if (onChange === undefined) {
|
|
232
|
+
setPanelState(colTypeArr, removeTransparency(correctColor), correctColor);
|
|
233
|
+
}
|
|
234
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(outValue, formatArr);
|
|
235
|
+
} else {
|
|
236
|
+
if (!inputCorrectColorValue) {
|
|
237
|
+
var _formatArr = colorFormat(correctColor, 1, 'all', true);
|
|
238
|
+
setPanelState(_formatArr, removeTransparency(correctColor), correctColor, 1, '100%');
|
|
239
|
+
onChange === null || onChange === void 0 ? void 0 : onChange((_b = _findInstanceProperty(_formatArr).call(_formatArr, function (item) {
|
|
240
|
+
return item.type === format;
|
|
241
|
+
})) === null || _b === void 0 ? void 0 : _b.value, _formatArr);
|
|
242
|
+
} else {
|
|
243
|
+
setPanelState(colTypeArr, removeTransparency(correctColor), correctColor);
|
|
244
|
+
onChange === null || onChange === void 0 ? void 0 : onChange((_c = _findInstanceProperty(colTypeArr).call(colTypeArr, function (item) {
|
|
245
|
+
return item.type === format;
|
|
246
|
+
})) === null || _c === void 0 ? void 0 : _c.value, colTypeArr);
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
};
|
|
250
|
+
var handleInputGroupItemFocus = function handleInputGroupItemFocus(order) {
|
|
251
|
+
setActiveGroupInptItem(order);
|
|
252
|
+
};
|
|
253
|
+
var handleInputGroupItemBlur = function handleInputGroupItemBlur() {
|
|
254
|
+
var _a;
|
|
255
|
+
var formatArr = colorFormat(correctColorValue, inputCorrectColorValue ? alpha : 1, 'all', true);
|
|
256
|
+
var outValue = formatArr[valOfCorrespondingType(format)].value;
|
|
257
|
+
if (value === undefined) {
|
|
258
|
+
if (inputCorrectColorValue) {
|
|
259
|
+
setPanelState(formatArr, correctColorValue, outValue);
|
|
260
|
+
} else {
|
|
261
|
+
setPanelState(formatArr, correctColorValue, outValue, 1, '100%');
|
|
262
|
+
}
|
|
263
|
+
} else if (onChange === undefined) {
|
|
264
|
+
var correctColor = (_a = _findInstanceProperty(colTypeArr).call(colTypeArr, function (item) {
|
|
265
|
+
return item.type === format;
|
|
266
|
+
})) === null || _a === void 0 ? void 0 : _a.value;
|
|
267
|
+
setPanelState(colTypeArr, removeTransparency(correctColor), correctColor);
|
|
268
|
+
}
|
|
269
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(outValue, formatArr);
|
|
270
|
+
};
|
|
271
|
+
var handleInputGroupItemChange = function handleInputGroupItemChange(e, color, i) {
|
|
272
|
+
var number = e.target.value;
|
|
273
|
+
if (!/^\d*$/.test(number)) return;
|
|
274
|
+
var colorArr = Color(getColorObj(color)).color;
|
|
275
|
+
var colorComponents = {
|
|
276
|
+
HSB: ['h', 's', 'v'],
|
|
277
|
+
HSL: ['h', 's', 'l'],
|
|
278
|
+
RGB: ['r', 'g', 'b']
|
|
279
|
+
};
|
|
280
|
+
var methodName = colorComponents[currentColorType].join('');
|
|
281
|
+
var getColorAttr = function getColorAttr() {
|
|
282
|
+
var selectedComponents = colorComponents[currentColorType];
|
|
283
|
+
if (!selectedComponents) {
|
|
284
|
+
return;
|
|
285
|
+
}
|
|
286
|
+
return selectedComponents.reduce(function (acc, component, index) {
|
|
287
|
+
acc[component] = i === index ? number : colorArr[index];
|
|
288
|
+
return acc;
|
|
289
|
+
}, {});
|
|
290
|
+
};
|
|
291
|
+
var getColorValue = function getColorValue() {
|
|
292
|
+
var colorObj = Color(getColorAttr())[methodName]();
|
|
293
|
+
if (currentColorType === 'RGB') {
|
|
294
|
+
return colorObj.toString();
|
|
295
|
+
}
|
|
296
|
+
return colorToStr(colorObj);
|
|
297
|
+
};
|
|
298
|
+
setCorrectColorValue(getColorValue());
|
|
299
|
+
};
|
|
300
|
+
var getColorNumberVal = function getColorNumberVal(color, i) {
|
|
301
|
+
var colorArr = Color(getColorObj(color)).color;
|
|
302
|
+
return colorArr[i];
|
|
303
|
+
};
|
|
133
304
|
var handleSwitchChange = function handleSwitchChange(switchValue) {
|
|
134
305
|
var formatArr;
|
|
135
306
|
if (functionalColor) {
|
|
@@ -139,39 +310,40 @@ var ColorPickerPanel = function ColorPickerPanel(props) {
|
|
|
139
310
|
setIsFollow(switchValue);
|
|
140
311
|
if (switchValue) {
|
|
141
312
|
formatArr = colorFormat(functionalColor, alpha);
|
|
142
|
-
setPanelState(formatArr, formatArr[valOfCorrespondingType(currentColorType)].value, functionalColorName, strFixed(Color(getColorObj(functionalColor)).alpha(), 2), strFixed(Color(getColorObj(functionalColor)).alpha(), 2) * 100 + '%');
|
|
143
|
-
|
|
313
|
+
setPanelState(formatArr, removeTransparency(formatArr[valOfCorrespondingType(currentColorType)].value), functionalColorName, strFixed(Color(getColorObj(functionalColor)).alpha(), 2), strFixed(Color(getColorObj(functionalColor)).alpha(), 2) * 100 + '%');
|
|
314
|
+
setClickColorIndex(formatArr[0].value);
|
|
144
315
|
} else {
|
|
145
316
|
formatArr = colorFormat(defaultSystemColor, 1, 'all', true);
|
|
146
317
|
setPanelState(formatArr, defaultSystemColor, '', 1, 100 + '%');
|
|
147
|
-
|
|
318
|
+
setClickColorIndex(formatArr[0].value);
|
|
148
319
|
}
|
|
149
320
|
}
|
|
150
321
|
}
|
|
151
322
|
devWarning(!inputValType, 'color-picker', "'themeColor' must be hexadecimal, RGB, HSB, HSL or English color name");
|
|
152
323
|
}
|
|
153
324
|
if (switchValue) {
|
|
154
|
-
onChange
|
|
325
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(functionalColorName, formatArr);
|
|
155
326
|
} else {
|
|
156
|
-
onChange
|
|
327
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(defaultSystemColor, formatArr);
|
|
157
328
|
}
|
|
158
329
|
};
|
|
159
330
|
var handleChromeChange = function handleChromeChange(color) {
|
|
160
|
-
var formatArr = colorFormat(color.hex, color.rgb.a);
|
|
331
|
+
var formatArr = colorFormat(color.hex, inputCorrectColorValue ? color.rgb.a : 1);
|
|
161
332
|
var colorObj = formatArr[valOfCorrespondingType(currentColorType)];
|
|
333
|
+
console.log('colorObj', formatArr, colorObj);
|
|
162
334
|
if (value === undefined) {
|
|
163
335
|
setIsFollow(false);
|
|
164
|
-
setPanelState(formatArr, colorObj.value, colorObj.value, color.rgb.a, (color.rgb.a * 100).toFixed() + '%');
|
|
165
|
-
|
|
336
|
+
setPanelState(formatArr, removeTransparency(colorObj.value), colorObj.value, inputCorrectColorValue ? color.rgb.a : 1, inputCorrectColorValue ? (color.rgb.a * 100).toFixed() + '%' : '100%');
|
|
337
|
+
setClickColorIndex(formatArr[0].value);
|
|
166
338
|
}
|
|
167
|
-
onChange
|
|
339
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(colorObj.value, formatArr);
|
|
168
340
|
};
|
|
169
341
|
var checkUserPresetColor = function checkUserPresetColor(colorArr) {
|
|
170
342
|
if (!colorArr) return false;
|
|
171
343
|
var isTrueFormat = colorArr.every(function (hexColor) {
|
|
172
|
-
return ['HEX', 'HSB', 'RGB', 'HSL', 'colorName'].indexOf(validateColor(hexColor)) !== -1;
|
|
344
|
+
return ['HEX', 'HEXA', 'HSB', 'HSBA', 'RGB', 'RGBA', 'HSL', 'HSLA', 'colorName'].indexOf(validateColor(hexColor)) !== -1;
|
|
173
345
|
});
|
|
174
|
-
devWarning(!isTrueFormat, 'color-picker', "'presetColor' must be an array of hexadecimal, RGB, HSB, HSL or English color name string type");
|
|
346
|
+
devWarning(!isTrueFormat, 'color-picker', "'presetColor' must be an array of hexadecimal, HEXA, RGB, RGBA, HSB, HSBA, HSL, HSLA or English color name string type");
|
|
175
347
|
return isTrueFormat;
|
|
176
348
|
};
|
|
177
349
|
useOnClickOutside([panelClsRef, inputRef], function () {
|
|
@@ -180,66 +352,144 @@ var ColorPickerPanel = function ColorPickerPanel(props) {
|
|
|
180
352
|
}
|
|
181
353
|
showPanel && onVisibleChange && onVisibleChange(false);
|
|
182
354
|
});
|
|
355
|
+
useEffect(function () {
|
|
356
|
+
if (!panelFormatConfig) return;
|
|
357
|
+
if (!Array.isArray(panelFormatConfig.show) || panelFormatConfig.show.length === 0) {
|
|
358
|
+
devWarning(true, 'color-picker', "'show' property of 'panelFormatConfig' must be one or more of HEX, RGB, HSB, or HSL");
|
|
359
|
+
}
|
|
360
|
+
if (baseFormat.indexOf(panelFormatConfig === null || panelFormatConfig === void 0 ? void 0 : panelFormatConfig.default) === -1) {
|
|
361
|
+
setInnerFormatConfig(_extends(_extends({}, panelFormatConfig), {
|
|
362
|
+
default: 'HEX'
|
|
363
|
+
}));
|
|
364
|
+
devWarning(true, 'color-picker', "'default' property of 'panelFormatConfig' must be one of HEX, RGB, HSB, or HSL");
|
|
365
|
+
}
|
|
366
|
+
if (panelFormatConfig.show.every(function (item) {
|
|
367
|
+
return baseFormat.indexOf(item) !== -1;
|
|
368
|
+
})) {
|
|
369
|
+
var newShow = _filterInstanceProperty(baseFormat).call(baseFormat, function (ele) {
|
|
370
|
+
return panelFormatConfig.show.indexOf(ele) !== -1;
|
|
371
|
+
});
|
|
372
|
+
if (newShow.indexOf(panelFormatConfig.default) === -1) {
|
|
373
|
+
devWarning(true, 'color-picker', "'default' property of 'panelFormatConfig' must be one of 'show'");
|
|
374
|
+
}
|
|
375
|
+
} else {
|
|
376
|
+
devWarning(true, 'color-picker', "'show' property of 'panelFormatConfig' must be one or more of HEX, RGB, HSB, or HSL");
|
|
377
|
+
}
|
|
378
|
+
}, [panelFormatConfig]);
|
|
183
379
|
return React.createElement(React.Fragment, null, showColorPickerPanel && React.createElement("div", {
|
|
184
380
|
className: panelCls,
|
|
185
381
|
ref: panelClsRef
|
|
186
|
-
}, React.createElement(
|
|
187
|
-
className:
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
382
|
+
}, showClear && React.createElement("div", {
|
|
383
|
+
className: panelClearColor
|
|
384
|
+
}, React.createElement("span", {
|
|
385
|
+
className: panelClearColorBox,
|
|
386
|
+
onClick: handleClearClick
|
|
387
|
+
}), React.createElement("span", {
|
|
388
|
+
className: panelClearColorText
|
|
389
|
+
}, "\u65E0\u989C\u8272\u586B\u5145")), functionalColor && showSwitch && React.createElement("div", {
|
|
191
390
|
className: panelFollowThemeCls
|
|
192
391
|
}, React.createElement("span", null, (switchName === null || switchName === void 0 ? void 0 : switchName.internationalName) && locale.getLangMsg('ColorPicker', switchName.internationalName) || switchName.name), React.createElement(Switch, {
|
|
193
392
|
checked: isFollow,
|
|
194
393
|
onChange: handleSwitchChange
|
|
195
|
-
})),
|
|
394
|
+
})), React.createElement(ChromePicker, {
|
|
395
|
+
className: panelChromePickerCls,
|
|
396
|
+
color: colTypeArr[2].value,
|
|
397
|
+
onChange: handleChromeChange
|
|
398
|
+
}), showColorTransfer && React.createElement("div", {
|
|
196
399
|
className: panelContainerCls
|
|
197
400
|
}, React.createElement("div", {
|
|
198
|
-
className:
|
|
199
|
-
ref:
|
|
401
|
+
className: panelselectCls,
|
|
402
|
+
ref: panelSelectRef
|
|
200
403
|
}, React.createElement(Select, {
|
|
201
404
|
disabled: isFollow,
|
|
202
405
|
borderType: "bordered",
|
|
203
|
-
value:
|
|
204
|
-
placeholder: "#",
|
|
406
|
+
value: currentColorType,
|
|
205
407
|
onChange: handleTypeChange,
|
|
206
408
|
optionLabelProp: "value",
|
|
207
409
|
getPopupContainer: function getPopupContainer() {
|
|
208
|
-
return
|
|
410
|
+
return panelSelectRef.current;
|
|
209
411
|
}
|
|
210
|
-
}, _mapInstanceProperty(
|
|
412
|
+
}, _mapInstanceProperty(_context = innerFormatConfig.show).call(_context, function (name, i) {
|
|
211
413
|
return React.createElement(Option, {
|
|
212
|
-
title:
|
|
213
|
-
value:
|
|
414
|
+
title: name,
|
|
415
|
+
value: name,
|
|
214
416
|
className: classNames({
|
|
215
|
-
'active-option':
|
|
417
|
+
'active-option': name === currentColorType
|
|
216
418
|
}),
|
|
217
419
|
key: i
|
|
218
|
-
},
|
|
219
|
-
}))), React.createElement(Input, {
|
|
420
|
+
}, name);
|
|
421
|
+
}))), currentColorType === 'HEX' ? React.createElement(Input, {
|
|
422
|
+
className: panelInputCls,
|
|
423
|
+
value: correctColorValue,
|
|
424
|
+
onChange: handleHEXInputChange,
|
|
425
|
+
onBlur: handleHEXInputBlur,
|
|
426
|
+
borderType: "bordered",
|
|
427
|
+
disabled: isFollow
|
|
428
|
+
}) : React.createElement("div", {
|
|
429
|
+
className: panelInputGroupCls
|
|
430
|
+
}, _mapInstanceProperty(_context2 = _fillInstanceProperty(_context3 = new Array(3)).call(_context3, undefined)).call(_context2, function (_, i) {
|
|
431
|
+
return React.createElement(Input, {
|
|
432
|
+
key: i,
|
|
433
|
+
className: gePanelInputGroupItemCls(i),
|
|
434
|
+
onFocus: function onFocus() {
|
|
435
|
+
handleInputGroupItemFocus(i);
|
|
436
|
+
},
|
|
437
|
+
onBlur: handleInputGroupItemBlur,
|
|
438
|
+
value: getColorNumberVal(correctColorValue, i),
|
|
439
|
+
onChange: function onChange(e) {
|
|
440
|
+
handleInputGroupItemChange(e, correctColorValue, i);
|
|
441
|
+
},
|
|
442
|
+
borderType: "bordered",
|
|
443
|
+
disabled: isFollow
|
|
444
|
+
});
|
|
445
|
+
})), showAlphaInput && React.createElement(Input, {
|
|
220
446
|
className: transparentCls,
|
|
221
447
|
onChange: handleAlphaChange,
|
|
222
448
|
onBlur: handleAlphaBlur,
|
|
223
449
|
borderType: "bordered",
|
|
224
450
|
value: alphaNoVerifyVal,
|
|
225
451
|
disabled: isFollow
|
|
226
|
-
})),
|
|
227
|
-
className:
|
|
228
|
-
},
|
|
452
|
+
})), historicalColor && (historicalColor === null || historicalColor === void 0 ? void 0 : historicalColor.length) > 0 && React.createElement("div", {
|
|
453
|
+
className: historicalColorBoxCls
|
|
454
|
+
}, React.createElement("div", {
|
|
455
|
+
className: historicalColorBoxTitleCls
|
|
456
|
+
}, "\u6700\u8FD1\u4F7F\u7528\u989C\u8272"), React.createElement("div", {
|
|
457
|
+
className: historicalColorBoxContainerCls
|
|
458
|
+
}, checkUserPresetColor(historicalColor) && _mapInstanceProperty(_context4 = presetColorToHEX(historicalColor)).call(_context4, function (colorValue, i) {
|
|
459
|
+
return React.createElement("li", {
|
|
460
|
+
key: i,
|
|
461
|
+
style: {
|
|
462
|
+
backgroundColor: "".concat(colorValue)
|
|
463
|
+
},
|
|
464
|
+
onClick: function onClick() {
|
|
465
|
+
historicalColorClick(i, colorValue);
|
|
466
|
+
}
|
|
467
|
+
}, React.createElement("div", {
|
|
468
|
+
className: classNames('square', {
|
|
469
|
+
'square-click': clickedHistoricalColorIndex === i
|
|
470
|
+
})
|
|
471
|
+
}));
|
|
472
|
+
}))), showPresetColor && (presetColor && (presetColor === null || presetColor === void 0 ? void 0 : presetColor.length) > 0 || !presetColor && systemPresetColor.length > 0) && React.createElement("div", {
|
|
473
|
+
className: colorBoxCls
|
|
474
|
+
}, historicalColor && (historicalColor === null || historicalColor === void 0 ? void 0 : historicalColor.length) > 0 && React.createElement("div", {
|
|
475
|
+
className: colorBoxTitleCls
|
|
476
|
+
}, "\u63A8\u8350\u8272"), React.createElement("div", {
|
|
477
|
+
className: colorBoxContainerCls
|
|
478
|
+
}, _mapInstanceProperty(_context5 = checkUserPresetColor(presetColor) && presetColorToHEX(presetColor) || systemPresetColor).call(_context5, function (colorValue, i) {
|
|
229
479
|
return React.createElement("li", {
|
|
230
480
|
key: i,
|
|
231
481
|
style: {
|
|
232
482
|
backgroundColor: "".concat(colorValue)
|
|
233
483
|
},
|
|
234
484
|
onClick: function onClick() {
|
|
235
|
-
|
|
485
|
+
presetColorClick(i, colorValue);
|
|
236
486
|
}
|
|
237
487
|
}, React.createElement("div", {
|
|
238
488
|
className: classNames('square', {
|
|
239
|
-
'square-click':
|
|
489
|
+
'square-click': clickedPresetColorIndex === i
|
|
240
490
|
})
|
|
241
491
|
}));
|
|
242
|
-
}))));
|
|
492
|
+
})))));
|
|
243
493
|
};
|
|
244
494
|
ColorPickerPanel.displayName = 'ColorPickerPanel';
|
|
245
495
|
export default ColorPickerPanel;
|