@kdcloudjs/kdesign 1.8.22 → 1.8.24

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 +20 -7
  2. package/dist/kdesign.css +23 -10
  3. package/dist/kdesign.css.map +1 -1
  4. package/dist/kdesign.js +115 -60
  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 +39 -21
  10. package/es/color-picker/color-picker.d.ts +3 -3
  11. package/es/color-picker/color-picker.js +19 -4
  12. package/es/color-picker/interface.d.ts +6 -0
  13. package/es/color-picker/style/index.css +19 -6
  14. package/es/color-picker/style/index.less +18 -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 +39 -21
  24. package/lib/color-picker/color-picker.d.ts +3 -3
  25. package/lib/color-picker/color-picker.js +18 -3
  26. package/lib/color-picker/interface.d.ts +6 -0
  27. package/lib/color-picker/style/index.css +19 -6
  28. package/lib/color-picker/style/index.less +18 -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;
@@ -111,14 +114,15 @@ var ColorPickerPanel = function ColorPickerPanel(props) {
111
114
  };
112
115
  var handleClearClick = function handleClearClick() {
113
116
  var formatArr = colorFormat(defaultSystemColor, 0);
114
- setPanelState(formatArr, defaultSystemColor, '', 0, '0%');
117
+ var defaultColor = colorFormat(defaultSystemColor, 1, currentColorType, true);
118
+ setPanelState(formatArr, defaultColor, '', 0, '0%');
115
119
  setClickColorIndex(-1);
116
120
  onChange === null || onChange === void 0 ? void 0 : onChange('', formatArr);
117
121
  };
118
122
  var presetColorClick = function presetColorClick(index, colorValue) {
119
123
  var colorLiAlpha = strFixed(Color(getColorObj(colorValue)).alpha(), 2);
120
124
  var formatArr = colorFormat(colorValue, colorLiAlpha);
121
- var formatCorrectValue = removeTransparency(colorValue);
125
+ var formatCorrectValue = removeTransparency(colorValue, currentColorType);
122
126
  var formatInputValue = toUpCase(formatArr[valOfCorrespondingType(format)].value);
123
127
  setIsFollow(false);
124
128
  setAlpha(isFollow ? 1 : colorLiAlpha);
@@ -134,7 +138,7 @@ var ColorPickerPanel = function ColorPickerPanel(props) {
134
138
  var historicalColorClick = function historicalColorClick(index, colorValue) {
135
139
  var colorLiAlpha = strFixed(Color(getColorObj(colorValue)).alpha(), 2);
136
140
  var formatArr = colorFormat(colorValue, colorLiAlpha);
137
- var formatCorrectValue = removeTransparency(colorValue);
141
+ var formatCorrectValue = removeTransparency(colorValue, currentColorType);
138
142
  var formatInputValue = toUpCase(formatArr[valOfCorrespondingType(format)].value);
139
143
  setIsFollow(false);
140
144
  setAlpha(isFollow ? 1 : colorLiAlpha);
@@ -154,15 +158,14 @@ var ColorPickerPanel = function ColorPickerPanel(props) {
154
158
  return item.type === selectValue;
155
159
  })) === null || _a === void 0 ? void 0 : _a.value;
156
160
  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);
161
+ if (inputCorrectColorValue) {
162
+ setInputColorValue((_b = _findInstanceProperty(colTypeArr).call(colTypeArr, function (item) {
163
+ return item.type === format;
164
+ })) === null || _b === void 0 ? void 0 : _b.value);
165
+ onChange === null || onChange === void 0 ? void 0 : onChange((_c = _findInstanceProperty(colTypeArr).call(colTypeArr, function (item) {
166
+ return item.type === format;
167
+ })) === null || _c === void 0 ? void 0 : _c.value, colTypeArr);
168
+ }
166
169
  };
167
170
  var handleAlphaChange = function handleAlphaChange(e) {
168
171
  var regPercentage = /^(0|[1-9][0-9]?|100)%$/;
@@ -171,7 +174,7 @@ var ColorPickerPanel = function ColorPickerPanel(props) {
171
174
  var getColorFormat = function getColorFormat(alpha) {
172
175
  var formatArr = colorFormat(correctColorValue, alpha, 'all', true);
173
176
  var outValue = formatArr[valOfCorrespondingType(format)].value;
174
- var innerInput = removeTransparency(outValue);
177
+ var innerInput = removeTransparency(outValue, currentColorType);
175
178
  return {
176
179
  formatArr: formatArr,
177
180
  outValue: outValue,
@@ -222,25 +225,25 @@ var ColorPickerPanel = function ColorPickerPanel(props) {
222
225
  var formatArr = colorFormat(val, inputCorrectColorValue ? alpha : 1, 'all', true);
223
226
  var outValue = formatArr[valOfCorrespondingType(format)].value;
224
227
  if (value === undefined) {
225
- var innerInput = removeTransparency(val);
228
+ var innerInput = removeTransparency(val, currentColorType);
226
229
  if (!inputCorrectColorValue) {
227
230
  setPanelState(formatArr, innerInput, outValue, 1, '100%');
228
231
  } else {
229
232
  setPanelState(formatArr, innerInput, outValue);
230
233
  }
231
234
  } else if (onChange === undefined) {
232
- setPanelState(colTypeArr, removeTransparency(correctColor), correctColor);
235
+ setPanelState(colTypeArr, removeTransparency(correctColor, currentColorType), correctColor);
233
236
  }
234
237
  onChange === null || onChange === void 0 ? void 0 : onChange(outValue, formatArr);
235
238
  } else {
236
239
  if (!inputCorrectColorValue) {
237
240
  var _formatArr = colorFormat(correctColor, 1, 'all', true);
238
- setPanelState(_formatArr, removeTransparency(correctColor), correctColor, 1, '100%');
241
+ setPanelState(_formatArr, removeTransparency(correctColor, currentColorType), removeTransparency(correctColor, format), 1, '100%');
239
242
  onChange === null || onChange === void 0 ? void 0 : onChange((_b = _findInstanceProperty(_formatArr).call(_formatArr, function (item) {
240
243
  return item.type === format;
241
244
  })) === null || _b === void 0 ? void 0 : _b.value, _formatArr);
242
245
  } else {
243
- setPanelState(colTypeArr, removeTransparency(correctColor), correctColor);
246
+ setPanelState(colTypeArr, removeTransparency(correctColor, currentColorType), correctColor);
244
247
  onChange === null || onChange === void 0 ? void 0 : onChange((_c = _findInstanceProperty(colTypeArr).call(colTypeArr, function (item) {
245
248
  return item.type === format;
246
249
  })) === null || _c === void 0 ? void 0 : _c.value, colTypeArr);
@@ -264,7 +267,7 @@ var ColorPickerPanel = function ColorPickerPanel(props) {
264
267
  var correctColor = (_a = _findInstanceProperty(colTypeArr).call(colTypeArr, function (item) {
265
268
  return item.type === format;
266
269
  })) === null || _a === void 0 ? void 0 : _a.value;
267
- setPanelState(colTypeArr, removeTransparency(correctColor), correctColor);
270
+ setPanelState(colTypeArr, removeTransparency(correctColor, currentColorType), correctColor);
268
271
  }
269
272
  onChange === null || onChange === void 0 ? void 0 : onChange(outValue, formatArr);
270
273
  };
@@ -310,7 +313,7 @@ var ColorPickerPanel = function ColorPickerPanel(props) {
310
313
  setIsFollow(switchValue);
311
314
  if (switchValue) {
312
315
  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 + '%');
316
+ setPanelState(formatArr, removeTransparency(formatArr[valOfCorrespondingType(currentColorType)].value, currentColorType), functionalColorName, strFixed(Color(getColorObj(functionalColor)).alpha(), 2), strFixed(Color(getColorObj(functionalColor)).alpha(), 2) * 100 + '%');
314
317
  setClickColorIndex(formatArr[0].value);
315
318
  } else {
316
319
  formatArr = colorFormat(defaultSystemColor, 1, 'all', true);
@@ -330,10 +333,9 @@ var ColorPickerPanel = function ColorPickerPanel(props) {
330
333
  var handleChromeChange = function handleChromeChange(color) {
331
334
  var formatArr = colorFormat(color.hex, inputCorrectColorValue ? color.rgb.a : 1);
332
335
  var colorObj = formatArr[valOfCorrespondingType(currentColorType)];
333
- console.log('colorObj', formatArr, colorObj);
334
336
  if (value === undefined) {
335
337
  setIsFollow(false);
336
- setPanelState(formatArr, removeTransparency(colorObj.value), colorObj.value, inputCorrectColorValue ? color.rgb.a : 1, inputCorrectColorValue ? (color.rgb.a * 100).toFixed() + '%' : '100%');
338
+ setPanelState(formatArr, removeTransparency(colorObj.value, currentColorType), colorObj.value, inputCorrectColorValue ? color.rgb.a : 1, inputCorrectColorValue ? (color.rgb.a * 100).toFixed() + '%' : '100%');
337
339
  setClickColorIndex(formatArr[0].value);
338
340
  }
339
341
  onChange === null || onChange === void 0 ? void 0 : onChange(colorObj.value, formatArr);
@@ -352,6 +354,22 @@ var ColorPickerPanel = function ColorPickerPanel(props) {
352
354
  }
353
355
  showPanel && onVisibleChange && onVisibleChange(false);
354
356
  });
357
+ useEffect(function () {
358
+ if (showPanel) {
359
+ var scrollAlign = debounce(function (e) {
360
+ var _a;
361
+ 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));
362
+ if (scrollHidden && !isPopperScroll) {
363
+ visible === undefined && setShowPanel(!showPanel);
364
+ onVisibleChange && onVisibleChange(false);
365
+ }
366
+ }, 10);
367
+ document.addEventListener('scroll', scrollAlign, true);
368
+ return function () {
369
+ document.removeEventListener('scroll', scrollAlign, true);
370
+ };
371
+ }
372
+ }, [showPanel]);
355
373
  useEffect(function () {
356
374
  if (!panelFormatConfig) return;
357
375
  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,14 +207,22 @@ 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, 'RGB');
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
@@ -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);
@@ -371,6 +382,8 @@
371
382
  }
372
383
  .kd-color-picker-pop .kd-color-picker-panel-container-select .kd-select .kd-select,
373
384
  .kd-color-picker-pop .kd-color-picker-panel-container-select .kd-select .kd-select-selection-item {
385
+ min-height: unset;
386
+ line-height: unset;
374
387
  overflow: visible;
375
388
  text-overflow: unset;
376
389
  }
@@ -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;
@@ -298,6 +309,8 @@
298
309
 
299
310
  .@{kd-prefix}-select,
300
311
  .@{kd-prefix}-select-selection-item {
312
+ min-height: unset;
313
+ line-height: unset;
301
314
  overflow: visible;
302
315
  text-overflow: unset;
303
316
  }
@@ -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;
@@ -123,14 +126,15 @@ var ColorPickerPanel = function ColorPickerPanel(props) {
123
126
  };
124
127
  var handleClearClick = function handleClearClick() {
125
128
  var formatArr = (0, _colorFormat.colorFormat)(_defaultColor.defaultSystemColor, 0);
126
- setPanelState(formatArr, _defaultColor.defaultSystemColor, '', 0, '0%');
129
+ var defaultColor = (0, _colorFormat.colorFormat)(_defaultColor.defaultSystemColor, 1, currentColorType, true);
130
+ setPanelState(formatArr, defaultColor, '', 0, '0%');
127
131
  setClickColorIndex(-1);
128
132
  onChange === null || onChange === void 0 ? void 0 : onChange('', formatArr);
129
133
  };
130
134
  var presetColorClick = function presetColorClick(index, colorValue) {
131
135
  var colorLiAlpha = (0, _colorFormat.strFixed)((0, _color.default)((0, _colorFormat.getColorObj)(colorValue)).alpha(), 2);
132
136
  var formatArr = (0, _colorFormat.colorFormat)(colorValue, colorLiAlpha);
133
- var formatCorrectValue = removeTransparency(colorValue);
137
+ var formatCorrectValue = (0, _removeTransparency.removeTransparency)(colorValue, currentColorType);
134
138
  var formatInputValue = (0, _convertLetters.toUpCase)(formatArr[(0, _colorFormat.valOfCorrespondingType)(format)].value);
135
139
  setIsFollow(false);
136
140
  setAlpha(isFollow ? 1 : colorLiAlpha);
@@ -146,7 +150,7 @@ var ColorPickerPanel = function ColorPickerPanel(props) {
146
150
  var historicalColorClick = function historicalColorClick(index, colorValue) {
147
151
  var colorLiAlpha = (0, _colorFormat.strFixed)((0, _color.default)((0, _colorFormat.getColorObj)(colorValue)).alpha(), 2);
148
152
  var formatArr = (0, _colorFormat.colorFormat)(colorValue, colorLiAlpha);
149
- var formatCorrectValue = removeTransparency(colorValue);
153
+ var formatCorrectValue = (0, _removeTransparency.removeTransparency)(colorValue, currentColorType);
150
154
  var formatInputValue = (0, _convertLetters.toUpCase)(formatArr[(0, _colorFormat.valOfCorrespondingType)(format)].value);
151
155
  setIsFollow(false);
152
156
  setAlpha(isFollow ? 1 : colorLiAlpha);
@@ -166,15 +170,14 @@ var ColorPickerPanel = function ColorPickerPanel(props) {
166
170
  return item.type === selectValue;
167
171
  })) === null || _a === void 0 ? void 0 : _a.value;
168
172
  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);
173
+ if (inputCorrectColorValue) {
174
+ setInputColorValue((_b = (0, _find.default)(colTypeArr).call(colTypeArr, function (item) {
175
+ return item.type === format;
176
+ })) === null || _b === void 0 ? void 0 : _b.value);
177
+ onChange === null || onChange === void 0 ? void 0 : onChange((_c = (0, _find.default)(colTypeArr).call(colTypeArr, function (item) {
178
+ return item.type === format;
179
+ })) === null || _c === void 0 ? void 0 : _c.value, colTypeArr);
180
+ }
178
181
  };
179
182
  var handleAlphaChange = function handleAlphaChange(e) {
180
183
  var regPercentage = /^(0|[1-9][0-9]?|100)%$/;
@@ -183,7 +186,7 @@ var ColorPickerPanel = function ColorPickerPanel(props) {
183
186
  var getColorFormat = function getColorFormat(alpha) {
184
187
  var formatArr = (0, _colorFormat.colorFormat)(correctColorValue, alpha, 'all', true);
185
188
  var outValue = formatArr[(0, _colorFormat.valOfCorrespondingType)(format)].value;
186
- var innerInput = removeTransparency(outValue);
189
+ var innerInput = (0, _removeTransparency.removeTransparency)(outValue, currentColorType);
187
190
  return {
188
191
  formatArr: formatArr,
189
192
  outValue: outValue,
@@ -234,25 +237,25 @@ var ColorPickerPanel = function ColorPickerPanel(props) {
234
237
  var formatArr = (0, _colorFormat.colorFormat)(val, inputCorrectColorValue ? alpha : 1, 'all', true);
235
238
  var outValue = formatArr[(0, _colorFormat.valOfCorrespondingType)(format)].value;
236
239
  if (value === undefined) {
237
- var innerInput = removeTransparency(val);
240
+ var innerInput = (0, _removeTransparency.removeTransparency)(val, currentColorType);
238
241
  if (!inputCorrectColorValue) {
239
242
  setPanelState(formatArr, innerInput, outValue, 1, '100%');
240
243
  } else {
241
244
  setPanelState(formatArr, innerInput, outValue);
242
245
  }
243
246
  } else if (onChange === undefined) {
244
- setPanelState(colTypeArr, removeTransparency(correctColor), correctColor);
247
+ setPanelState(colTypeArr, (0, _removeTransparency.removeTransparency)(correctColor, currentColorType), correctColor);
245
248
  }
246
249
  onChange === null || onChange === void 0 ? void 0 : onChange(outValue, formatArr);
247
250
  } else {
248
251
  if (!inputCorrectColorValue) {
249
252
  var _formatArr = (0, _colorFormat.colorFormat)(correctColor, 1, 'all', true);
250
- setPanelState(_formatArr, removeTransparency(correctColor), correctColor, 1, '100%');
253
+ setPanelState(_formatArr, (0, _removeTransparency.removeTransparency)(correctColor, currentColorType), (0, _removeTransparency.removeTransparency)(correctColor, format), 1, '100%');
251
254
  onChange === null || onChange === void 0 ? void 0 : onChange((_b = (0, _find.default)(_formatArr).call(_formatArr, function (item) {
252
255
  return item.type === format;
253
256
  })) === null || _b === void 0 ? void 0 : _b.value, _formatArr);
254
257
  } else {
255
- setPanelState(colTypeArr, removeTransparency(correctColor), correctColor);
258
+ setPanelState(colTypeArr, (0, _removeTransparency.removeTransparency)(correctColor, currentColorType), correctColor);
256
259
  onChange === null || onChange === void 0 ? void 0 : onChange((_c = (0, _find.default)(colTypeArr).call(colTypeArr, function (item) {
257
260
  return item.type === format;
258
261
  })) === null || _c === void 0 ? void 0 : _c.value, colTypeArr);
@@ -276,7 +279,7 @@ var ColorPickerPanel = function ColorPickerPanel(props) {
276
279
  var correctColor = (_a = (0, _find.default)(colTypeArr).call(colTypeArr, function (item) {
277
280
  return item.type === format;
278
281
  })) === null || _a === void 0 ? void 0 : _a.value;
279
- setPanelState(colTypeArr, removeTransparency(correctColor), correctColor);
282
+ setPanelState(colTypeArr, (0, _removeTransparency.removeTransparency)(correctColor, currentColorType), correctColor);
280
283
  }
281
284
  onChange === null || onChange === void 0 ? void 0 : onChange(outValue, formatArr);
282
285
  };
@@ -322,7 +325,7 @@ var ColorPickerPanel = function ColorPickerPanel(props) {
322
325
  setIsFollow(switchValue);
323
326
  if (switchValue) {
324
327
  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 + '%');
328
+ 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
329
  setClickColorIndex(formatArr[0].value);
327
330
  } else {
328
331
  formatArr = (0, _colorFormat.colorFormat)(_defaultColor.defaultSystemColor, 1, 'all', true);
@@ -342,10 +345,9 @@ var ColorPickerPanel = function ColorPickerPanel(props) {
342
345
  var handleChromeChange = function handleChromeChange(color) {
343
346
  var formatArr = (0, _colorFormat.colorFormat)(color.hex, inputCorrectColorValue ? color.rgb.a : 1);
344
347
  var colorObj = formatArr[(0, _colorFormat.valOfCorrespondingType)(currentColorType)];
345
- console.log('colorObj', formatArr, colorObj);
346
348
  if (value === undefined) {
347
349
  setIsFollow(false);
348
- setPanelState(formatArr, removeTransparency(colorObj.value), colorObj.value, inputCorrectColorValue ? color.rgb.a : 1, inputCorrectColorValue ? (color.rgb.a * 100).toFixed() + '%' : '100%');
350
+ setPanelState(formatArr, (0, _removeTransparency.removeTransparency)(colorObj.value, currentColorType), colorObj.value, inputCorrectColorValue ? color.rgb.a : 1, inputCorrectColorValue ? (color.rgb.a * 100).toFixed() + '%' : '100%');
349
351
  setClickColorIndex(formatArr[0].value);
350
352
  }
351
353
  onChange === null || onChange === void 0 ? void 0 : onChange(colorObj.value, formatArr);
@@ -364,6 +366,22 @@ var ColorPickerPanel = function ColorPickerPanel(props) {
364
366
  }
365
367
  showPanel && onVisibleChange && onVisibleChange(false);
366
368
  });
369
+ (0, _react.useEffect)(function () {
370
+ if (showPanel) {
371
+ var scrollAlign = (0, _debounce.default)(function (e) {
372
+ var _a;
373
+ 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));
374
+ if (scrollHidden && !isPopperScroll) {
375
+ visible === undefined && setShowPanel(!showPanel);
376
+ onVisibleChange && onVisibleChange(false);
377
+ }
378
+ }, 10);
379
+ document.addEventListener('scroll', scrollAlign, true);
380
+ return function () {
381
+ document.removeEventListener('scroll', scrollAlign, true);
382
+ };
383
+ }
384
+ }, [showPanel]);
367
385
  (0, _react.useEffect)(function () {
368
386
  if (!panelFormatConfig) return;
369
387
  if (!Array.isArray(panelFormatConfig.show) || panelFormatConfig.show.length === 0) {