@kdcloudjs/kdesign 1.8.22 → 1.8.23

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 (37) hide show
  1. package/dist/kdesign-complete.less +18 -7
  2. package/dist/kdesign.css +21 -10
  3. package/dist/kdesign.css.map +1 -1
  4. package/dist/kdesign.js +117 -64
  5. package/dist/kdesign.js.map +1 -1
  6. package/dist/kdesign.min.css +3 -3
  7. package/dist/kdesign.min.js +9 -9
  8. package/dist/kdesign.min.js.map +1 -1
  9. package/es/color-picker/color-picker-panel.js +41 -24
  10. package/es/color-picker/color-picker.d.ts +3 -3
  11. package/es/color-picker/color-picker.js +20 -5
  12. package/es/color-picker/interface.d.ts +6 -0
  13. package/es/color-picker/style/index.css +17 -6
  14. package/es/color-picker/style/index.less +16 -5
  15. package/es/color-picker/utils/removeTransparency.d.ts +3 -0
  16. package/es/color-picker/utils/removeTransparency.js +4 -0
  17. package/es/config-provider/compDefaultProps.d.ts +1 -0
  18. package/es/config-provider/compDefaultProps.js +1 -0
  19. package/es/icon/icon.js +3 -1
  20. package/es/input/style/index.css +3 -3
  21. package/es/input/style/index.less +1 -1
  22. package/es/input/style/token.less +1 -1
  23. package/lib/color-picker/color-picker-panel.js +41 -24
  24. package/lib/color-picker/color-picker.d.ts +3 -3
  25. package/lib/color-picker/color-picker.js +19 -4
  26. package/lib/color-picker/interface.d.ts +6 -0
  27. package/lib/color-picker/style/index.css +17 -6
  28. package/lib/color-picker/style/index.less +16 -5
  29. package/lib/color-picker/utils/removeTransparency.d.ts +3 -0
  30. package/lib/color-picker/utils/removeTransparency.js +11 -0
  31. package/lib/config-provider/compDefaultProps.d.ts +1 -0
  32. package/lib/config-provider/compDefaultProps.js +1 -0
  33. package/lib/icon/icon.js +3 -1
  34. package/lib/input/style/index.css +3 -3
  35. package/lib/input/style/index.less +1 -1
  36. package/lib/input/style/token.less +1 -1
  37. package/package.json +1 -1
@@ -19,6 +19,8 @@ import { ChromePicker } from 'react-color';
19
19
  import devWarning from '../_utils/devwarning';
20
20
  import { useOnClickOutside } from '../_utils/hooks';
21
21
  import { isIE } from '../_utils/ieUtil';
22
+ import { removeTransparency } from './utils/removeTransparency';
23
+ import debounce from 'lodash/debounce';
22
24
  var ColorPickerPanel = function ColorPickerPanel(props) {
23
25
  var _classNames, _context, _context2, _context3, _context4, _context5;
24
26
  var setCorrectColorValue = props.setCorrectColorValue,
@@ -59,6 +61,7 @@ var ColorPickerPanel = function ColorPickerPanel(props) {
59
61
  showColorPickerBox = props.showColorPickerBox,
60
62
  showColorPickerPanel = props.showColorPickerPanel,
61
63
  showAlphaInput = props.showAlphaInput,
64
+ scrollHidden = props.scrollHidden,
62
65
  value = props.value,
63
66
  visible = props.visible,
64
67
  showPanel = props.showPanel;
@@ -118,7 +121,7 @@ var ColorPickerPanel = function ColorPickerPanel(props) {
118
121
  var presetColorClick = function presetColorClick(index, colorValue) {
119
122
  var colorLiAlpha = strFixed(Color(getColorObj(colorValue)).alpha(), 2);
120
123
  var formatArr = colorFormat(colorValue, colorLiAlpha);
121
- var formatCorrectValue = removeTransparency(colorValue);
124
+ var formatCorrectValue = removeTransparency(colorValue, currentColorType);
122
125
  var formatInputValue = toUpCase(formatArr[valOfCorrespondingType(format)].value);
123
126
  setIsFollow(false);
124
127
  setAlpha(isFollow ? 1 : colorLiAlpha);
@@ -134,7 +137,7 @@ var ColorPickerPanel = function ColorPickerPanel(props) {
134
137
  var historicalColorClick = function historicalColorClick(index, colorValue) {
135
138
  var colorLiAlpha = strFixed(Color(getColorObj(colorValue)).alpha(), 2);
136
139
  var formatArr = colorFormat(colorValue, colorLiAlpha);
137
- var formatCorrectValue = removeTransparency(colorValue);
140
+ var formatCorrectValue = removeTransparency(colorValue, currentColorType);
138
141
  var formatInputValue = toUpCase(formatArr[valOfCorrespondingType(format)].value);
139
142
  setIsFollow(false);
140
143
  setAlpha(isFollow ? 1 : colorLiAlpha);
@@ -150,19 +153,18 @@ var ColorPickerPanel = function ColorPickerPanel(props) {
150
153
  var handleTypeChange = function handleTypeChange(selectValue) {
151
154
  var _a, _b, _c;
152
155
  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);
156
+ if (inputCorrectColorValue) {
157
+ var colorStr = (_a = _findInstanceProperty(colTypeArr).call(colTypeArr, function (item) {
158
+ return item.type === selectValue;
159
+ })) === null || _a === void 0 ? void 0 : _a.value;
160
+ setCorrectColorValue(colorFormat(colorStr, 1, selectValue, true));
161
+ setInputColorValue((_b = _findInstanceProperty(colTypeArr).call(colTypeArr, function (item) {
162
+ return item.type === format;
163
+ })) === null || _b === void 0 ? void 0 : _b.value);
164
+ onChange === null || onChange === void 0 ? void 0 : onChange((_c = _findInstanceProperty(colTypeArr).call(colTypeArr, function (item) {
165
+ return item.type === format;
166
+ })) === null || _c === void 0 ? void 0 : _c.value, colTypeArr);
167
+ }
166
168
  };
167
169
  var handleAlphaChange = function handleAlphaChange(e) {
168
170
  var regPercentage = /^(0|[1-9][0-9]?|100)%$/;
@@ -171,7 +173,7 @@ var ColorPickerPanel = function ColorPickerPanel(props) {
171
173
  var getColorFormat = function getColorFormat(alpha) {
172
174
  var formatArr = colorFormat(correctColorValue, alpha, 'all', true);
173
175
  var outValue = formatArr[valOfCorrespondingType(format)].value;
174
- var innerInput = removeTransparency(outValue);
176
+ var innerInput = removeTransparency(outValue, currentColorType);
175
177
  return {
176
178
  formatArr: formatArr,
177
179
  outValue: outValue,
@@ -222,25 +224,25 @@ var ColorPickerPanel = function ColorPickerPanel(props) {
222
224
  var formatArr = colorFormat(val, inputCorrectColorValue ? alpha : 1, 'all', true);
223
225
  var outValue = formatArr[valOfCorrespondingType(format)].value;
224
226
  if (value === undefined) {
225
- var innerInput = removeTransparency(val);
227
+ var innerInput = removeTransparency(val, currentColorType);
226
228
  if (!inputCorrectColorValue) {
227
229
  setPanelState(formatArr, innerInput, outValue, 1, '100%');
228
230
  } else {
229
231
  setPanelState(formatArr, innerInput, outValue);
230
232
  }
231
233
  } else if (onChange === undefined) {
232
- setPanelState(colTypeArr, removeTransparency(correctColor), correctColor);
234
+ setPanelState(colTypeArr, removeTransparency(correctColor, currentColorType), correctColor);
233
235
  }
234
236
  onChange === null || onChange === void 0 ? void 0 : onChange(outValue, formatArr);
235
237
  } else {
236
238
  if (!inputCorrectColorValue) {
237
239
  var _formatArr = colorFormat(correctColor, 1, 'all', true);
238
- setPanelState(_formatArr, removeTransparency(correctColor), correctColor, 1, '100%');
240
+ setPanelState(_formatArr, removeTransparency(correctColor, currentColorType), correctColor, 1, '100%');
239
241
  onChange === null || onChange === void 0 ? void 0 : onChange((_b = _findInstanceProperty(_formatArr).call(_formatArr, function (item) {
240
242
  return item.type === format;
241
243
  })) === null || _b === void 0 ? void 0 : _b.value, _formatArr);
242
244
  } else {
243
- setPanelState(colTypeArr, removeTransparency(correctColor), correctColor);
245
+ setPanelState(colTypeArr, removeTransparency(correctColor, currentColorType), correctColor);
244
246
  onChange === null || onChange === void 0 ? void 0 : onChange((_c = _findInstanceProperty(colTypeArr).call(colTypeArr, function (item) {
245
247
  return item.type === format;
246
248
  })) === null || _c === void 0 ? void 0 : _c.value, colTypeArr);
@@ -264,7 +266,7 @@ var ColorPickerPanel = function ColorPickerPanel(props) {
264
266
  var correctColor = (_a = _findInstanceProperty(colTypeArr).call(colTypeArr, function (item) {
265
267
  return item.type === format;
266
268
  })) === null || _a === void 0 ? void 0 : _a.value;
267
- setPanelState(colTypeArr, removeTransparency(correctColor), correctColor);
269
+ setPanelState(colTypeArr, removeTransparency(correctColor, currentColorType), correctColor);
268
270
  }
269
271
  onChange === null || onChange === void 0 ? void 0 : onChange(outValue, formatArr);
270
272
  };
@@ -310,7 +312,7 @@ var ColorPickerPanel = function ColorPickerPanel(props) {
310
312
  setIsFollow(switchValue);
311
313
  if (switchValue) {
312
314
  formatArr = colorFormat(functionalColor, alpha);
313
- setPanelState(formatArr, removeTransparency(formatArr[valOfCorrespondingType(currentColorType)].value), functionalColorName, strFixed(Color(getColorObj(functionalColor)).alpha(), 2), strFixed(Color(getColorObj(functionalColor)).alpha(), 2) * 100 + '%');
315
+ setPanelState(formatArr, removeTransparency(formatArr[valOfCorrespondingType(currentColorType)].value, currentColorType), functionalColorName, strFixed(Color(getColorObj(functionalColor)).alpha(), 2), strFixed(Color(getColorObj(functionalColor)).alpha(), 2) * 100 + '%');
314
316
  setClickColorIndex(formatArr[0].value);
315
317
  } else {
316
318
  formatArr = colorFormat(defaultSystemColor, 1, 'all', true);
@@ -330,10 +332,9 @@ var ColorPickerPanel = function ColorPickerPanel(props) {
330
332
  var handleChromeChange = function handleChromeChange(color) {
331
333
  var formatArr = colorFormat(color.hex, inputCorrectColorValue ? color.rgb.a : 1);
332
334
  var colorObj = formatArr[valOfCorrespondingType(currentColorType)];
333
- console.log('colorObj', formatArr, colorObj);
334
335
  if (value === undefined) {
335
336
  setIsFollow(false);
336
- setPanelState(formatArr, removeTransparency(colorObj.value), colorObj.value, inputCorrectColorValue ? color.rgb.a : 1, inputCorrectColorValue ? (color.rgb.a * 100).toFixed() + '%' : '100%');
337
+ setPanelState(formatArr, removeTransparency(colorObj.value, currentColorType), colorObj.value, inputCorrectColorValue ? color.rgb.a : 1, inputCorrectColorValue ? (color.rgb.a * 100).toFixed() + '%' : '100%');
337
338
  setClickColorIndex(formatArr[0].value);
338
339
  }
339
340
  onChange === null || onChange === void 0 ? void 0 : onChange(colorObj.value, formatArr);
@@ -352,6 +353,22 @@ var ColorPickerPanel = function ColorPickerPanel(props) {
352
353
  }
353
354
  showPanel && onVisibleChange && onVisibleChange(false);
354
355
  });
356
+ useEffect(function () {
357
+ if (showPanel) {
358
+ var scrollAlign = debounce(function (e) {
359
+ var _a;
360
+ var isPopperScroll = e.target === panelClsRef.current || ((_a = panelClsRef === null || panelClsRef === void 0 ? void 0 : panelClsRef.current) === null || _a === void 0 ? void 0 : _a.contains(e.target));
361
+ if (scrollHidden && !isPopperScroll) {
362
+ visible === undefined && setShowPanel(!showPanel);
363
+ onVisibleChange && onVisibleChange(false);
364
+ }
365
+ }, 10);
366
+ document.addEventListener('scroll', scrollAlign, true);
367
+ return function () {
368
+ document.removeEventListener('scroll', scrollAlign, true);
369
+ };
370
+ }
371
+ }, [showPanel]);
355
372
  useEffect(function () {
356
373
  if (!panelFormatConfig) return;
357
374
  if (!Array.isArray(panelFormatConfig.show) || panelFormatConfig.show.length === 0) {
@@ -1,4 +1,4 @@
1
- import { FC } from 'react';
2
- import { IColorPickerProps } from './interface';
3
- declare const ColorPicker: FC<Partial<IColorPickerProps>>;
1
+ import React from 'react';
2
+ import { IColorPickerProps, IColorPickerInputRef } from './interface';
3
+ declare const ColorPicker: React.ForwardRefExoticComponent<Partial<IColorPickerProps> & React.RefAttributes<IColorPickerInputRef>>;
4
4
  export default ColorPicker;
@@ -11,7 +11,7 @@ var __rest = this && this.__rest || function (s, e) {
11
11
  }
12
12
  return t;
13
13
  };
14
- import React, { useContext, useState, useRef, useEffect, useCallback } from 'react';
14
+ import React, { useContext, useState, useRef, useEffect, useCallback, forwardRef, useImperativeHandle } from 'react';
15
15
  import classNames from 'classnames';
16
16
  import { ConfigContext } from '../config-provider';
17
17
  import { Input } from '../index';
@@ -24,7 +24,8 @@ import Color from 'color';
24
24
  import { getCompProps } from '../_utils';
25
25
  import usePopper from '../_utils/usePopper';
26
26
  import { systemPresetColor } from './constant/systemPresetColor';
27
- var ColorPicker = function ColorPicker(props) {
27
+ import { removeTransparency } from './utils/removeTransparency';
28
+ var InternalColorPicker = function InternalColorPicker(props, ref) {
28
29
  var _useContext = useContext(ConfigContext),
29
30
  getPrefixCls = _useContext.getPrefixCls,
30
31
  prefixCls = _useContext.prefixCls,
@@ -51,13 +52,15 @@ var ColorPicker = function ColorPicker(props) {
51
52
  placeholder = colorPickerProps.placeholder,
52
53
  defaultValue = colorPickerProps.defaultValue,
53
54
  defaultOpen = colorPickerProps.defaultOpen,
55
+ disabled = colorPickerProps.disabled,
54
56
  visible = colorPickerProps.visible,
57
+ scrollHidden = colorPickerProps.scrollHidden,
55
58
  popperClassName = colorPickerProps.popperClassName,
56
59
  suffixIcon = colorPickerProps.suffixIcon,
57
60
  prefixIcon = colorPickerProps.prefixIcon,
58
61
  onChange = colorPickerProps.onChange,
59
62
  onVisibleChange = colorPickerProps.onVisibleChange,
60
- otherProps = __rest(colorPickerProps, ["value", "className", "style", "pure", "functionalColor", "functionalColorName", "switchName", "showAlphaInput", "showClear", "showSwitch", "showColorTransfer", "showPresetColor", "showColorPickerBox", "format", "panelFormatConfig", "borderType", "presetColor", "historicalColor", "placeholder", "defaultValue", "defaultOpen", "visible", "popperClassName", "suffixIcon", "prefixIcon", "onChange", "onVisibleChange"]);
63
+ otherProps = __rest(colorPickerProps, ["value", "className", "style", "pure", "functionalColor", "functionalColorName", "switchName", "showAlphaInput", "showClear", "showSwitch", "showColorTransfer", "showPresetColor", "showColorPickerBox", "format", "panelFormatConfig", "borderType", "presetColor", "historicalColor", "placeholder", "defaultValue", "defaultOpen", "disabled", "visible", "scrollHidden", "popperClassName", "suffixIcon", "prefixIcon", "onChange", "onVisibleChange"]);
61
64
  var _useState = useState(defaultValue || ''),
62
65
  _useState2 = _slicedToArray(_useState, 2),
63
66
  inputColorValue = _useState2[0],
@@ -179,6 +182,7 @@ var ColorPicker = function ColorPicker(props) {
179
182
  onChange === null || onChange === void 0 ? void 0 : onChange(getCurrentOutputColor(), formatArr);
180
183
  };
181
184
  var handleClick = function handleClick() {
185
+ if (disabled) return;
182
186
  if (typeof visible === 'undefined') {
183
187
  setShowPanel(!showPanel);
184
188
  }
@@ -203,19 +207,27 @@ var ColorPicker = function ColorPicker(props) {
203
207
  }
204
208
  }
205
209
  }, [value, defaultValue]);
210
+ useImperativeHandle(ref, function () {
211
+ return {
212
+ dom: inputRef.current
213
+ };
214
+ });
206
215
  var beforeIcon = useCallback(function () {
207
216
  var _classNames2;
208
217
  var afterIconContainerCls = classNames("".concat(colorPickerPrefixCls, "-icon"), (_classNames2 = {}, _defineProperty(_classNames2, "".concat(colorPickerPrefixCls, "-icon-underline"), borderType === 'underline'), _defineProperty(_classNames2, "".concat(colorPickerPrefixCls, "-icon-bordered"), borderType === 'bordered'), _classNames2));
218
+ var getBgc = function getBgc() {
219
+ return inputCorrectColorValue ? colTypeArr[2].value : removeTransparency(colTypeArr[2].value, currentColorType);
220
+ };
209
221
  var noneLineCls = "".concat(colorPickerPrefixCls, "-icon-no-color-line");
210
222
  return React.createElement("div", {
211
223
  className: afterIconContainerCls,
212
224
  style: {
213
- backgroundColor: "".concat(colTypeArr[2].value || defaultSystemColor)
225
+ backgroundColor: getBgc() || defaultSystemColor
214
226
  }
215
227
  }, !validateColor(value) && !inputCorrectColorValue && React.createElement("div", {
216
228
  className: noneLineCls
217
229
  }));
218
- }, [borderType, colTypeArr, colorPickerPrefixCls, inputCorrectColorValue, value]);
230
+ }, [borderType, colTypeArr, colorPickerPrefixCls, currentColorType, inputCorrectColorValue, value]);
219
231
  var colorInputEle = React.createElement("div", {
220
232
  className: containerCls,
221
233
  ref: inputRef,
@@ -223,6 +235,7 @@ var ColorPicker = function ColorPicker(props) {
223
235
  }, React.createElement(Input, {
224
236
  borderType: pure ? 'bordered' : borderType,
225
237
  placeholder: placeholder,
238
+ disabled: disabled,
226
239
  value: value !== null && value !== void 0 ? value : inputColorValue,
227
240
  className: inputCls,
228
241
  onChange: handleChange,
@@ -251,6 +264,7 @@ var ColorPicker = function ColorPicker(props) {
251
264
  panelFormatConfig: panelFormatConfig,
252
265
  presetColor: presetColor,
253
266
  historicalColor: historicalColor,
267
+ scrollHidden: scrollHidden,
254
268
  value: value,
255
269
  visible: visible,
256
270
  showPanel: showPanel,
@@ -290,5 +304,6 @@ var ColorPicker = function ColorPicker(props) {
290
304
  });
291
305
  return usePopper(colorInputEle, panel, popperProps);
292
306
  };
307
+ var ColorPicker = forwardRef(InternalColorPicker);
293
308
  ColorPicker.displayName = 'ColorPicker';
294
309
  export default ColorPicker;
@@ -6,6 +6,9 @@ export interface IColorTypesObj {
6
6
  type: ColorType;
7
7
  value: string;
8
8
  }
9
+ export interface IColorPickerInputRef {
10
+ dom: HTMLDivElement | null;
11
+ }
9
12
  export declare const BorderTypes: ["underline", "bordered"];
10
13
  export declare type BorderType = typeof BorderTypes[number];
11
14
  export interface IInnerFormat {
@@ -15,8 +18,10 @@ export interface IInnerFormat {
15
18
  export interface IColorPickerProps extends PopperProps {
16
19
  borderType: BorderType;
17
20
  className: string;
21
+ children: ReactNode;
18
22
  defaultValue: string;
19
23
  defaultOpen: boolean;
24
+ disabled: boolean;
20
25
  functionalColorName: string;
21
26
  functionalColor: string;
22
27
  format: Exclude<typeof ColorTypes[number], 'themeColor'>;
@@ -83,6 +88,7 @@ export interface IColorPickerPanelProps {
83
88
  value: string;
84
89
  visible: boolean;
85
90
  showPanel: boolean;
91
+ scrollHidden: boolean;
86
92
  setCurrentColorType: (currentColorType: IColorTypesObj['type']) => void;
87
93
  setColTypeArr: (colTypeArr: Array<IColorTypesObj>) => void;
88
94
  setClickedPresetColorIndex: (clickedColorIndex: number) => void;
@@ -136,7 +136,6 @@
136
136
  height: 100%;
137
137
  width: 100%;
138
138
  padding: 0 8px;
139
- border-bottom: 1px solid #d9d9d9;
140
139
  font-size: var(--kd-c-color-picker-input-font-size, var(--kd-g-font-size-middle, 14px));
141
140
  }
142
141
  .kd-color-picker-container .kd-color-picker-icon-container {
@@ -171,15 +170,27 @@
171
170
  width: var(--kd-c-color-picker-panel-sizing-width, 304px);
172
171
  }
173
172
  .kd-color-picker-pop.topLeft.hidden,
173
+ .kd-color-picker-pop.topRight.hidden {
174
+ -webkit-animation-name: kdSlideDownOut;
175
+ animation-name: kdSlideDownOut;
176
+ }
177
+ .kd-color-picker-pop.topLeft,
178
+ .kd-color-picker-pop.topRight {
179
+ -webkit-animation-name: kdSlideDownIn;
180
+ animation-name: kdSlideDownIn;
181
+ }
174
182
  .kd-color-picker-pop.bottomLeft.hidden,
175
- .kd-color-picker-pop.topRight.hidden,
176
183
  .kd-color-picker-pop.bottomRight.hidden {
177
- opacity: 0;
178
- visibility: hidden;
179
- -webkit-transition: all calc(0.3s - 0.1s) cubic-bezier(0.4, 0, 0.6, 1);
180
- transition: all calc(0.3s - 0.1s) cubic-bezier(0.4, 0, 0.6, 1);
184
+ -webkit-animation-name: kdSlideUpOut;
185
+ animation-name: kdSlideUpOut;
186
+ }
187
+ .kd-color-picker-pop.bottomLeft,
188
+ .kd-color-picker-pop.bottomRight {
189
+ -webkit-animation-name: kdSlideUpIn;
190
+ animation-name: kdSlideUpIn;
181
191
  }
182
192
  .kd-color-picker-pop .kd-color-picker-panel {
193
+ position: relative;
183
194
  -webkit-box-sizing: border-box;
184
195
  box-sizing: border-box;
185
196
  width: var(--kd-c-color-picker-panel-sizing-width, 304px);
@@ -36,7 +36,6 @@
36
36
  height: 100%;
37
37
  width: 100%;
38
38
  padding: 0 8px;
39
- border-bottom: 1px solid rgba(217, 217, 217, 1);
40
39
  font-size: @color-picker-input-font-size;
41
40
  }
42
41
 
@@ -70,15 +69,27 @@
70
69
  width: @color-picker-panel-sizing-width;
71
70
 
72
71
  &.topLeft.hidden,
72
+ &.topRight.hidden {
73
+ animation-name: kdSlideDownOut;
74
+ }
75
+
76
+ &.topLeft,
77
+ &.topRight {
78
+ animation-name: kdSlideDownIn;
79
+ }
80
+
73
81
  &.bottomLeft.hidden,
74
- &.topRight.hidden,
75
82
  &.bottomRight.hidden {
76
- opacity: 0;
77
- visibility: hidden;
78
- transition: all calc(@transition-duration - 0.1s) @ease;
83
+ animation-name: kdSlideUpOut;
84
+ }
85
+
86
+ &.bottomLeft,
87
+ &.bottomRight {
88
+ animation-name: kdSlideUpIn;
79
89
  }
80
90
 
81
91
  .@{color-picker-prefix-cls}-panel {
92
+ position: relative;
82
93
  box-sizing: border-box;
83
94
  width: @color-picker-panel-sizing-width;
84
95
  padding: 4px 12px 16px;
@@ -0,0 +1,3 @@
1
+ import { ColorTypes } from '../interface';
2
+ export declare type ICurrentColorType = Exclude<typeof ColorTypes[number], 'themeColor'>;
3
+ export declare const removeTransparency: (color: string, currentColorType: ICurrentColorType) => string;
@@ -0,0 +1,4 @@
1
+ import { colorFormat } from './colorFormat';
2
+ export var removeTransparency = function removeTransparency(color, currentColorType) {
3
+ return colorFormat(color, 1, currentColorType, true);
4
+ };
@@ -73,6 +73,7 @@ declare const compDefaultProps: {
73
73
  internationalName: string;
74
74
  };
75
75
  placeholder: string;
76
+ scrollHidden: boolean;
76
77
  pure: boolean;
77
78
  showAlphaInput: boolean;
78
79
  showClear: boolean;
@@ -72,6 +72,7 @@ var compDefaultProps = {
72
72
  internationalName: 'followFunctionalColor'
73
73
  },
74
74
  placeholder: '#',
75
+ scrollHidden: false,
75
76
  pure: false,
76
77
  showAlphaInput: true,
77
78
  showClear: true,
package/es/icon/icon.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import _extends from "@babel/runtime-corejs3/helpers/extends";
2
2
  import _defineProperty from "@babel/runtime-corejs3/helpers/defineProperty";
3
3
  import _Object$getOwnPropertySymbols from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols";
4
+ import _sliceInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/slice";
4
5
  import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
5
6
  var __rest = this && this.__rest || function (s, e) {
6
7
  var t = {};
@@ -34,7 +35,8 @@ var InternalIcon = function InternalIcon(props, ref) {
34
35
  var innerRef = React.useRef();
35
36
  var iconRef = ref || innerRef;
36
37
  var iconPrefix = getPrefixCls(prefixCls, 'icon', customPrefixcls);
37
- var iconPrefixCls = iconPrefix.replace(/-/g, '');
38
+ var lastDashIndex = iconPrefix.lastIndexOf('-');
39
+ var iconPrefixCls = lastDashIndex > -1 ? _sliceInstanceProperty(iconPrefix).call(iconPrefix, 0, lastDashIndex) + _sliceInstanceProperty(iconPrefix).call(iconPrefix, lastDashIndex + 1) : iconPrefix;
38
40
  var iconClass = classNames(iconPrefixCls, className, (_classNames = {}, _defineProperty(_classNames, _concatInstanceProperty(_context = "".concat(iconPrefixCls, "-")).call(_context, type), type), _defineProperty(_classNames, "icon-spin", spin), _classNames));
39
41
  var handleClick = function handleClick(e) {
40
42
  onClick && onClick(e);
@@ -236,7 +236,7 @@ textarea {
236
236
  .kd-input-disabled {
237
237
  background-color: var(--kd-c-input-color-background-disabled, var(--kd-g-color-background-contain-disabled, #f5f5f5));
238
238
  border-color: var(--kd-c-input-color-border-disabled, var(--kd-g-color-border-strong, #d9d9d9));
239
- color: var(--kd-c-input-affix-color-text, #666);
239
+ color: var(--kd-g-color-text-primary, #212121);
240
240
  cursor: not-allowed;
241
241
  }
242
242
  .kd-input-underline.kd-input-disabled {
@@ -372,7 +372,7 @@ textarea {
372
372
  -ms-flex-pack: center;
373
373
  justify-content: center;
374
374
  word-break: keep-all;
375
- color: var(--kd-c-input-affix-color-text, #666);
375
+ color: var(--kd-c-input-affix-color-text, #999);
376
376
  }
377
377
  .kd-input-wrapper-size-small {
378
378
  height: var(--kd-c-input-sizing-height-small, 20px);
@@ -571,7 +571,7 @@ textarea {
571
571
  }
572
572
  .kd-input-group-wrapper .kd-input-group .kd-input-group-addon {
573
573
  position: relative;
574
- color: var(--kd-c-input-affix-color-text, #666);
574
+ color: var(--kd-c-input-affix-color-text, #999);
575
575
  padding: 0 9px;
576
576
  font-weight: 400;
577
577
  font-size: 14px;
@@ -78,7 +78,7 @@ textarea {
78
78
  &-disabled {
79
79
  background-color: @input-background-color-disabled-inner;
80
80
  border-color: @input-border-color-disabled-inner;
81
- color: @input-affix-color;
81
+ color: @color-text-primary;
82
82
  cursor: not-allowed;
83
83
  }
84
84
 
@@ -14,7 +14,7 @@
14
14
  @input-border-color-disabled-inner: var(~'@{input-prefix}-color-border-disabled', @color-border-strong);
15
15
  @input-underline-border-color-disabled-inner: var(~'@{input-prefix}-underline-color-border-disabled', @color-border-weak);
16
16
  @input-color-disabled-inner: var(~'@{input-prefix}-color-disabled', @color-disabled);
17
- @input-affix-color: var(~'@{input-prefix}-affix-color-text', #666);
17
+ @input-affix-color: var(~'@{input-prefix}-affix-color-text', #999);
18
18
  @input-error-color: var(~'@{input-prefix}-color-error', @color-error);
19
19
 
20
20
  // font
@@ -29,6 +29,8 @@ var _reactColor = require("react-color");
29
29
  var _devwarning = _interopRequireDefault(require("../_utils/devwarning"));
30
30
  var _hooks = require("../_utils/hooks");
31
31
  var _ieUtil = require("../_utils/ieUtil");
32
+ var _removeTransparency = require("./utils/removeTransparency");
33
+ var _debounce = _interopRequireDefault(require("lodash/debounce"));
32
34
  function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
33
35
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
34
36
  var ColorPickerPanel = function ColorPickerPanel(props) {
@@ -71,6 +73,7 @@ var ColorPickerPanel = function ColorPickerPanel(props) {
71
73
  showColorPickerBox = props.showColorPickerBox,
72
74
  showColorPickerPanel = props.showColorPickerPanel,
73
75
  showAlphaInput = props.showAlphaInput,
76
+ scrollHidden = props.scrollHidden,
74
77
  value = props.value,
75
78
  visible = props.visible,
76
79
  showPanel = props.showPanel;
@@ -130,7 +133,7 @@ var ColorPickerPanel = function ColorPickerPanel(props) {
130
133
  var presetColorClick = function presetColorClick(index, colorValue) {
131
134
  var colorLiAlpha = (0, _colorFormat.strFixed)((0, _color.default)((0, _colorFormat.getColorObj)(colorValue)).alpha(), 2);
132
135
  var formatArr = (0, _colorFormat.colorFormat)(colorValue, colorLiAlpha);
133
- var formatCorrectValue = removeTransparency(colorValue);
136
+ var formatCorrectValue = (0, _removeTransparency.removeTransparency)(colorValue, currentColorType);
134
137
  var formatInputValue = (0, _convertLetters.toUpCase)(formatArr[(0, _colorFormat.valOfCorrespondingType)(format)].value);
135
138
  setIsFollow(false);
136
139
  setAlpha(isFollow ? 1 : colorLiAlpha);
@@ -146,7 +149,7 @@ var ColorPickerPanel = function ColorPickerPanel(props) {
146
149
  var historicalColorClick = function historicalColorClick(index, colorValue) {
147
150
  var colorLiAlpha = (0, _colorFormat.strFixed)((0, _color.default)((0, _colorFormat.getColorObj)(colorValue)).alpha(), 2);
148
151
  var formatArr = (0, _colorFormat.colorFormat)(colorValue, colorLiAlpha);
149
- var formatCorrectValue = removeTransparency(colorValue);
152
+ var formatCorrectValue = (0, _removeTransparency.removeTransparency)(colorValue, currentColorType);
150
153
  var formatInputValue = (0, _convertLetters.toUpCase)(formatArr[(0, _colorFormat.valOfCorrespondingType)(format)].value);
151
154
  setIsFollow(false);
152
155
  setAlpha(isFollow ? 1 : colorLiAlpha);
@@ -162,19 +165,18 @@ var ColorPickerPanel = function ColorPickerPanel(props) {
162
165
  var handleTypeChange = function handleTypeChange(selectValue) {
163
166
  var _a, _b, _c;
164
167
  setCurrentColorType(selectValue);
165
- var colorStr = (_a = (0, _find.default)(colTypeArr).call(colTypeArr, function (item) {
166
- return item.type === selectValue;
167
- })) === null || _a === void 0 ? void 0 : _a.value;
168
- setCorrectColorValue((0, _colorFormat.colorFormat)(colorStr, 1, selectValue, true));
169
- setInputColorValue((_b = (0, _find.default)(colTypeArr).call(colTypeArr, function (item) {
170
- return item.type === format;
171
- })) === null || _b === void 0 ? void 0 : _b.value);
172
- onChange === null || onChange === void 0 ? void 0 : onChange((_c = (0, _find.default)(colTypeArr).call(colTypeArr, function (item) {
173
- return item.type === format;
174
- })) === null || _c === void 0 ? void 0 : _c.value, colTypeArr);
175
- };
176
- var removeTransparency = function removeTransparency(color) {
177
- return (0, _colorFormat.colorFormat)(color, 1, currentColorType, true);
168
+ if (inputCorrectColorValue) {
169
+ var colorStr = (_a = (0, _find.default)(colTypeArr).call(colTypeArr, function (item) {
170
+ return item.type === selectValue;
171
+ })) === null || _a === void 0 ? void 0 : _a.value;
172
+ setCorrectColorValue((0, _colorFormat.colorFormat)(colorStr, 1, selectValue, true));
173
+ setInputColorValue((_b = (0, _find.default)(colTypeArr).call(colTypeArr, function (item) {
174
+ return item.type === format;
175
+ })) === null || _b === void 0 ? void 0 : _b.value);
176
+ onChange === null || onChange === void 0 ? void 0 : onChange((_c = (0, _find.default)(colTypeArr).call(colTypeArr, function (item) {
177
+ return item.type === format;
178
+ })) === null || _c === void 0 ? void 0 : _c.value, colTypeArr);
179
+ }
178
180
  };
179
181
  var handleAlphaChange = function handleAlphaChange(e) {
180
182
  var regPercentage = /^(0|[1-9][0-9]?|100)%$/;
@@ -183,7 +185,7 @@ var ColorPickerPanel = function ColorPickerPanel(props) {
183
185
  var getColorFormat = function getColorFormat(alpha) {
184
186
  var formatArr = (0, _colorFormat.colorFormat)(correctColorValue, alpha, 'all', true);
185
187
  var outValue = formatArr[(0, _colorFormat.valOfCorrespondingType)(format)].value;
186
- var innerInput = removeTransparency(outValue);
188
+ var innerInput = (0, _removeTransparency.removeTransparency)(outValue, currentColorType);
187
189
  return {
188
190
  formatArr: formatArr,
189
191
  outValue: outValue,
@@ -234,25 +236,25 @@ var ColorPickerPanel = function ColorPickerPanel(props) {
234
236
  var formatArr = (0, _colorFormat.colorFormat)(val, inputCorrectColorValue ? alpha : 1, 'all', true);
235
237
  var outValue = formatArr[(0, _colorFormat.valOfCorrespondingType)(format)].value;
236
238
  if (value === undefined) {
237
- var innerInput = removeTransparency(val);
239
+ var innerInput = (0, _removeTransparency.removeTransparency)(val, currentColorType);
238
240
  if (!inputCorrectColorValue) {
239
241
  setPanelState(formatArr, innerInput, outValue, 1, '100%');
240
242
  } else {
241
243
  setPanelState(formatArr, innerInput, outValue);
242
244
  }
243
245
  } else if (onChange === undefined) {
244
- setPanelState(colTypeArr, removeTransparency(correctColor), correctColor);
246
+ setPanelState(colTypeArr, (0, _removeTransparency.removeTransparency)(correctColor, currentColorType), correctColor);
245
247
  }
246
248
  onChange === null || onChange === void 0 ? void 0 : onChange(outValue, formatArr);
247
249
  } else {
248
250
  if (!inputCorrectColorValue) {
249
251
  var _formatArr = (0, _colorFormat.colorFormat)(correctColor, 1, 'all', true);
250
- setPanelState(_formatArr, removeTransparency(correctColor), correctColor, 1, '100%');
252
+ setPanelState(_formatArr, (0, _removeTransparency.removeTransparency)(correctColor, currentColorType), correctColor, 1, '100%');
251
253
  onChange === null || onChange === void 0 ? void 0 : onChange((_b = (0, _find.default)(_formatArr).call(_formatArr, function (item) {
252
254
  return item.type === format;
253
255
  })) === null || _b === void 0 ? void 0 : _b.value, _formatArr);
254
256
  } else {
255
- setPanelState(colTypeArr, removeTransparency(correctColor), correctColor);
257
+ setPanelState(colTypeArr, (0, _removeTransparency.removeTransparency)(correctColor, currentColorType), correctColor);
256
258
  onChange === null || onChange === void 0 ? void 0 : onChange((_c = (0, _find.default)(colTypeArr).call(colTypeArr, function (item) {
257
259
  return item.type === format;
258
260
  })) === null || _c === void 0 ? void 0 : _c.value, colTypeArr);
@@ -276,7 +278,7 @@ var ColorPickerPanel = function ColorPickerPanel(props) {
276
278
  var correctColor = (_a = (0, _find.default)(colTypeArr).call(colTypeArr, function (item) {
277
279
  return item.type === format;
278
280
  })) === null || _a === void 0 ? void 0 : _a.value;
279
- setPanelState(colTypeArr, removeTransparency(correctColor), correctColor);
281
+ setPanelState(colTypeArr, (0, _removeTransparency.removeTransparency)(correctColor, currentColorType), correctColor);
280
282
  }
281
283
  onChange === null || onChange === void 0 ? void 0 : onChange(outValue, formatArr);
282
284
  };
@@ -322,7 +324,7 @@ var ColorPickerPanel = function ColorPickerPanel(props) {
322
324
  setIsFollow(switchValue);
323
325
  if (switchValue) {
324
326
  formatArr = (0, _colorFormat.colorFormat)(functionalColor, alpha);
325
- setPanelState(formatArr, removeTransparency(formatArr[(0, _colorFormat.valOfCorrespondingType)(currentColorType)].value), functionalColorName, (0, _colorFormat.strFixed)((0, _color.default)((0, _colorFormat.getColorObj)(functionalColor)).alpha(), 2), (0, _colorFormat.strFixed)((0, _color.default)((0, _colorFormat.getColorObj)(functionalColor)).alpha(), 2) * 100 + '%');
327
+ setPanelState(formatArr, (0, _removeTransparency.removeTransparency)(formatArr[(0, _colorFormat.valOfCorrespondingType)(currentColorType)].value, currentColorType), functionalColorName, (0, _colorFormat.strFixed)((0, _color.default)((0, _colorFormat.getColorObj)(functionalColor)).alpha(), 2), (0, _colorFormat.strFixed)((0, _color.default)((0, _colorFormat.getColorObj)(functionalColor)).alpha(), 2) * 100 + '%');
326
328
  setClickColorIndex(formatArr[0].value);
327
329
  } else {
328
330
  formatArr = (0, _colorFormat.colorFormat)(_defaultColor.defaultSystemColor, 1, 'all', true);
@@ -342,10 +344,9 @@ var ColorPickerPanel = function ColorPickerPanel(props) {
342
344
  var handleChromeChange = function handleChromeChange(color) {
343
345
  var formatArr = (0, _colorFormat.colorFormat)(color.hex, inputCorrectColorValue ? color.rgb.a : 1);
344
346
  var colorObj = formatArr[(0, _colorFormat.valOfCorrespondingType)(currentColorType)];
345
- console.log('colorObj', formatArr, colorObj);
346
347
  if (value === undefined) {
347
348
  setIsFollow(false);
348
- setPanelState(formatArr, removeTransparency(colorObj.value), colorObj.value, inputCorrectColorValue ? color.rgb.a : 1, inputCorrectColorValue ? (color.rgb.a * 100).toFixed() + '%' : '100%');
349
+ setPanelState(formatArr, (0, _removeTransparency.removeTransparency)(colorObj.value, currentColorType), colorObj.value, inputCorrectColorValue ? color.rgb.a : 1, inputCorrectColorValue ? (color.rgb.a * 100).toFixed() + '%' : '100%');
349
350
  setClickColorIndex(formatArr[0].value);
350
351
  }
351
352
  onChange === null || onChange === void 0 ? void 0 : onChange(colorObj.value, formatArr);
@@ -364,6 +365,22 @@ var ColorPickerPanel = function ColorPickerPanel(props) {
364
365
  }
365
366
  showPanel && onVisibleChange && onVisibleChange(false);
366
367
  });
368
+ (0, _react.useEffect)(function () {
369
+ if (showPanel) {
370
+ var scrollAlign = (0, _debounce.default)(function (e) {
371
+ var _a;
372
+ var isPopperScroll = e.target === panelClsRef.current || ((_a = panelClsRef === null || panelClsRef === void 0 ? void 0 : panelClsRef.current) === null || _a === void 0 ? void 0 : _a.contains(e.target));
373
+ if (scrollHidden && !isPopperScroll) {
374
+ visible === undefined && setShowPanel(!showPanel);
375
+ onVisibleChange && onVisibleChange(false);
376
+ }
377
+ }, 10);
378
+ document.addEventListener('scroll', scrollAlign, true);
379
+ return function () {
380
+ document.removeEventListener('scroll', scrollAlign, true);
381
+ };
382
+ }
383
+ }, [showPanel]);
367
384
  (0, _react.useEffect)(function () {
368
385
  if (!panelFormatConfig) return;
369
386
  if (!Array.isArray(panelFormatConfig.show) || panelFormatConfig.show.length === 0) {
@@ -1,4 +1,4 @@
1
- import { FC } from 'react';
2
- import { IColorPickerProps } from './interface';
3
- declare const ColorPicker: FC<Partial<IColorPickerProps>>;
1
+ import React from 'react';
2
+ import { IColorPickerProps, IColorPickerInputRef } from './interface';
3
+ declare const ColorPicker: React.ForwardRefExoticComponent<Partial<IColorPickerProps> & React.RefAttributes<IColorPickerInputRef>>;
4
4
  export default ColorPicker;