@kdcloudjs/kdesign 1.7.33 → 1.7.35
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/CHANGELOG.md +44 -0
- package/dist/kdesign-complete.less +63 -51
- package/dist/kdesign.css +39 -19
- package/dist/kdesign.css.map +1 -1
- package/dist/kdesign.js +232 -217
- package/dist/kdesign.js.map +1 -1
- package/dist/kdesign.min.css +3 -3
- package/dist/kdesign.min.js +8 -8
- package/dist/kdesign.min.js.map +1 -1
- package/es/_utils/ieUtil.d.ts +2 -0
- package/es/_utils/ieUtil.js +20 -0
- package/es/color-picker/color-picker-panel.js +15 -6
- package/es/color-picker/color-picker.js +17 -3
- package/es/color-picker/interface.d.ts +5 -0
- package/es/color-picker/style/index.css +30 -13
- package/es/color-picker/style/index.less +49 -43
- package/es/date-picker/date-picker.d.ts +1 -0
- package/es/date-picker/date-picker.js +6 -15
- package/es/date-picker/interface.d.ts +1 -0
- package/es/date-picker/range/input-range.js +3 -2
- package/es/date-picker/range-picker.js +6 -4
- package/es/date-picker/single/input-date.js +3 -2
- package/es/date-picker/style/index.css +3 -0
- package/es/date-picker/style/index.less +4 -0
- package/es/date-picker/utils/date-fns.js +5 -11
- package/es/locale/locale.d.ts +2 -0
- package/es/locale/zh-CN.d.ts +2 -0
- package/es/locale/zh-CN.js +3 -1
- package/es/select/select.js +12 -4
- package/es/select/style/index.css +5 -5
- package/es/select/style/index.less +10 -8
- package/es/upload/upload.js +3 -4
- package/lib/_utils/ieUtil.d.ts +2 -0
- package/lib/_utils/ieUtil.js +28 -0
- package/lib/color-picker/color-picker-panel.js +16 -7
- package/lib/color-picker/color-picker.js +17 -3
- package/lib/color-picker/interface.d.ts +5 -0
- package/lib/color-picker/style/index.css +30 -13
- package/lib/color-picker/style/index.less +49 -43
- package/lib/date-picker/date-picker.d.ts +1 -0
- package/lib/date-picker/date-picker.js +5 -14
- package/lib/date-picker/interface.d.ts +1 -0
- package/lib/date-picker/range/input-range.js +3 -2
- package/lib/date-picker/range-picker.js +5 -3
- package/lib/date-picker/single/input-date.js +3 -2
- package/lib/date-picker/style/index.css +3 -0
- package/lib/date-picker/style/index.less +4 -0
- package/lib/date-picker/utils/date-fns.js +5 -11
- package/lib/locale/locale.d.ts +2 -0
- package/lib/locale/zh-CN.d.ts +2 -0
- package/lib/locale/zh-CN.js +3 -1
- package/lib/select/select.js +12 -4
- package/lib/select/style/index.css +5 -5
- package/lib/select/style/index.less +10 -8
- package/lib/upload/upload.js +3 -4
- package/package.json +1 -1
- package/es/color-picker/utils/hooks/useOnClickOutside.d.ts +0 -2
- package/es/color-picker/utils/hooks/useOnClickOutside.js +0 -16
- package/lib/color-picker/utils/hooks/useOnClickOutside.d.ts +0 -2
- package/lib/color-picker/utils/hooks/useOnClickOutside.js +0 -23
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
var _a;
|
|
2
|
+
export var isIE = ((_a = window) === null || _a === void 0 ? void 0 : _a.ActiveXObject) || 'ActiveXObject' in window;
|
|
3
|
+
export var getFileUtil = function getFileUtil(file) {
|
|
4
|
+
var name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
5
|
+
if (file) {
|
|
6
|
+
if (isIE) {
|
|
7
|
+
var blob = new Blob([file], {
|
|
8
|
+
type: file.type
|
|
9
|
+
});
|
|
10
|
+
blob.fileName = name || file.name;
|
|
11
|
+
blob.lastModifiedDate = (file === null || file === void 0 ? void 0 : file.lastModifiedDate) || Date.now();
|
|
12
|
+
return blob;
|
|
13
|
+
} else {
|
|
14
|
+
return new File([file], name || file.name, {
|
|
15
|
+
type: file.type
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
return file;
|
|
20
|
+
};
|
|
@@ -13,7 +13,7 @@ import { toLowerCase } from './utils/convertLetters';
|
|
|
13
13
|
import Color from 'color';
|
|
14
14
|
import { ChromePicker } from 'react-color';
|
|
15
15
|
import devWarning from '../_utils/devwarning';
|
|
16
|
-
import useOnClickOutside from '
|
|
16
|
+
import { useOnClickOutside } from '../_utils/hooks';
|
|
17
17
|
var ColorPickerPanel = function ColorPickerPanel(props) {
|
|
18
18
|
var _classNames, _context;
|
|
19
19
|
var setCorrectColorValue = props.setCorrectColorValue,
|
|
@@ -26,6 +26,7 @@ var ColorPickerPanel = function ColorPickerPanel(props) {
|
|
|
26
26
|
setColTypeArr = props.setColTypeArr,
|
|
27
27
|
setCurrentColorType = props.setCurrentColorType,
|
|
28
28
|
onChange = props.onChange,
|
|
29
|
+
onVisibleChange = props.onVisibleChange,
|
|
29
30
|
alpha = props.alpha,
|
|
30
31
|
alphaNoVerifyVal = props.alphaNoVerifyVal,
|
|
31
32
|
clickedColorIndex = props.clickedColorIndex,
|
|
@@ -43,7 +44,9 @@ var ColorPickerPanel = function ColorPickerPanel(props) {
|
|
|
43
44
|
showPresetColor = props.showPresetColor,
|
|
44
45
|
showColorPickerBox = props.showColorPickerBox,
|
|
45
46
|
showColorPickerPanel = props.showColorPickerPanel,
|
|
46
|
-
value = props.value
|
|
47
|
+
value = props.value,
|
|
48
|
+
visible = props.visible,
|
|
49
|
+
showPanel = props.showPanel;
|
|
47
50
|
var panelInputRef = useRef(null);
|
|
48
51
|
var panelClsRef = useRef(null);
|
|
49
52
|
var Option = Select.Option;
|
|
@@ -55,8 +58,9 @@ var ColorPickerPanel = function ColorPickerPanel(props) {
|
|
|
55
58
|
var panelCls = classNames("".concat(colorPickerPrefixCls, "-panel"));
|
|
56
59
|
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));
|
|
57
60
|
var panelFollowThemeCls = classNames("".concat(colorPickerPrefixCls, "-panel-switch"));
|
|
58
|
-
var
|
|
59
|
-
var
|
|
61
|
+
var panelContainerCls = classNames("".concat(colorPickerPrefixCls, "-panel-container"));
|
|
62
|
+
var panelInputCls = classNames("".concat(colorPickerPrefixCls, "-panel-container-input"));
|
|
63
|
+
var transparentCls = classNames("".concat(colorPickerPrefixCls, "-panel-container-transparent"));
|
|
60
64
|
var colorDivContainerCls = classNames("".concat(colorPickerPrefixCls, "-panel-colorDivContainer"), _defineProperty({}, "".concat(colorPickerPrefixCls, "-panel-colorDivContainer-unset-color"), (presetColor === null || presetColor === void 0 ? void 0 : presetColor.length) === 0));
|
|
61
65
|
var colorLiClick = function colorLiClick(index, colorValue) {
|
|
62
66
|
var formatArr = colorFormat(colorValue, alpha);
|
|
@@ -171,7 +175,10 @@ var ColorPickerPanel = function ColorPickerPanel(props) {
|
|
|
171
175
|
return isTrueFormat;
|
|
172
176
|
};
|
|
173
177
|
useOnClickOutside([panelClsRef, inputRef], function () {
|
|
174
|
-
|
|
178
|
+
if (typeof visible === 'undefined') {
|
|
179
|
+
setShowPanel(false);
|
|
180
|
+
}
|
|
181
|
+
showPanel && onVisibleChange && onVisibleChange(false);
|
|
175
182
|
});
|
|
176
183
|
return /*#__PURE__*/React.createElement(React.Fragment, null, showColorPickerPanel && /*#__PURE__*/React.createElement("div", {
|
|
177
184
|
className: panelCls,
|
|
@@ -185,7 +192,9 @@ var ColorPickerPanel = function ColorPickerPanel(props) {
|
|
|
185
192
|
}, /*#__PURE__*/React.createElement("span", null, (switchName === null || switchName === void 0 ? void 0 : switchName.internationalName) && locale.getLangMsg('ColorPicker', switchName.internationalName) || switchName.name), /*#__PURE__*/React.createElement(Switch, {
|
|
186
193
|
checked: isFollow,
|
|
187
194
|
onChange: handleSwitchChange
|
|
188
|
-
})), showColorTransfer && /*#__PURE__*/React.createElement(
|
|
195
|
+
})), showColorTransfer && /*#__PURE__*/React.createElement("div", {
|
|
196
|
+
className: panelContainerCls
|
|
197
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
189
198
|
className: panelInputCls,
|
|
190
199
|
ref: panelInputRef
|
|
191
200
|
}, /*#__PURE__*/React.createElement(Select, {
|
|
@@ -36,8 +36,10 @@ var ColorPicker = function ColorPicker(props) {
|
|
|
36
36
|
placeholder = colorPickerProps.placeholder,
|
|
37
37
|
defaultValue = colorPickerProps.defaultValue,
|
|
38
38
|
defaultOpen = colorPickerProps.defaultOpen,
|
|
39
|
+
visible = colorPickerProps.visible,
|
|
39
40
|
suffixIcon = colorPickerProps.suffixIcon,
|
|
40
|
-
onChange = colorPickerProps.onChange
|
|
41
|
+
onChange = colorPickerProps.onChange,
|
|
42
|
+
onVisibleChange = colorPickerProps.onVisibleChange;
|
|
41
43
|
var _useState = useState(defaultValue || ''),
|
|
42
44
|
_useState2 = _slicedToArray(_useState, 2),
|
|
43
45
|
inputColorValue = _useState2[0],
|
|
@@ -54,7 +56,7 @@ var ColorPicker = function ColorPicker(props) {
|
|
|
54
56
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
55
57
|
colTypeArr = _useState8[0],
|
|
56
58
|
setColTypeArr = _useState8[1];
|
|
57
|
-
var _useState9 = useState(defaultOpen),
|
|
59
|
+
var _useState9 = useState(typeof visible === 'undefined' ? !!defaultOpen : !!visible),
|
|
58
60
|
_useState10 = _slicedToArray(_useState9, 2),
|
|
59
61
|
showPanel = _useState10[0],
|
|
60
62
|
setShowPanel = _useState10[1];
|
|
@@ -118,8 +120,16 @@ var ColorPicker = function ColorPicker(props) {
|
|
|
118
120
|
functionalColor && showSwitch && setIsFollow(false);
|
|
119
121
|
};
|
|
120
122
|
var handleClick = function handleClick() {
|
|
121
|
-
|
|
123
|
+
if (typeof visible === 'undefined') {
|
|
124
|
+
setShowPanel(!showPanel);
|
|
125
|
+
}
|
|
126
|
+
onVisibleChange && onVisibleChange(!showPanel);
|
|
122
127
|
};
|
|
128
|
+
useEffect(function () {
|
|
129
|
+
if (typeof visible !== 'undefined') {
|
|
130
|
+
setShowPanel(visible);
|
|
131
|
+
}
|
|
132
|
+
}, [visible]);
|
|
123
133
|
useEffect(function () {
|
|
124
134
|
if (value) {
|
|
125
135
|
setIconColor(value);
|
|
@@ -169,6 +179,9 @@ var ColorPicker = function ColorPicker(props) {
|
|
|
169
179
|
switchName: switchName,
|
|
170
180
|
presetColor: presetColor,
|
|
171
181
|
value: value,
|
|
182
|
+
visible: visible,
|
|
183
|
+
showPanel: showPanel,
|
|
184
|
+
onVisibleChange: onVisibleChange,
|
|
172
185
|
// private
|
|
173
186
|
setInputColorValue: setInputColorValue,
|
|
174
187
|
setCorrectColorValue: setCorrectColorValue,
|
|
@@ -195,6 +208,7 @@ var ColorPicker = function ColorPicker(props) {
|
|
|
195
208
|
placement: 'bottomLeft',
|
|
196
209
|
defaultVisible: showPanel,
|
|
197
210
|
visible: showPanel,
|
|
211
|
+
onVisibleChange: null,
|
|
198
212
|
clickToClose: false
|
|
199
213
|
});
|
|
200
214
|
return usePopper(colorInputEle, panel, popperProps);
|
|
@@ -32,7 +32,9 @@ export interface IColorPickerProps extends PopperProps {
|
|
|
32
32
|
showOpacity: boolean;
|
|
33
33
|
};
|
|
34
34
|
defaultOpen: boolean;
|
|
35
|
+
visible: boolean;
|
|
35
36
|
onChange: (inputValue: string, formatColorArr: Array<IColorTypesObj>) => void;
|
|
37
|
+
onVisibleChange: (visible: boolean) => void;
|
|
36
38
|
}
|
|
37
39
|
export interface IColorPickerPanelProps {
|
|
38
40
|
alpha: number;
|
|
@@ -60,6 +62,8 @@ export interface IColorPickerPanelProps {
|
|
|
60
62
|
};
|
|
61
63
|
showColorPickerPanel: boolean;
|
|
62
64
|
value: string;
|
|
65
|
+
visible: boolean;
|
|
66
|
+
showPanel: boolean;
|
|
63
67
|
setCurrentColorType: (currentColorType: IColorTypesObj['type']) => void;
|
|
64
68
|
setColTypeArr: (colTypeArr: Array<IColorTypesObj>) => void;
|
|
65
69
|
setClickedColorIndex: (clickedColorIndex: number) => void;
|
|
@@ -70,4 +74,5 @@ export interface IColorPickerPanelProps {
|
|
|
70
74
|
setInputColorValue: (colorValue: string) => void;
|
|
71
75
|
setShowPanel: (showPanel: boolean) => void;
|
|
72
76
|
onChange?: (inputValue: string, formatColorArr: Array<IColorTypesObj>) => void;
|
|
77
|
+
onVisibleChange?: (visible: boolean) => void;
|
|
73
78
|
}
|
|
@@ -105,6 +105,7 @@
|
|
|
105
105
|
/* ----------- zIndex ——————---- end */
|
|
106
106
|
.kd-color-picker-container {
|
|
107
107
|
position: relative;
|
|
108
|
+
width: var(--kd-c-color-picker-input-sizing-width, 230px);
|
|
108
109
|
}
|
|
109
110
|
.kd-color-picker-container .kd-color-picker-input {
|
|
110
111
|
width: var(--kd-c-color-picker-input-sizing-width, 230px);
|
|
@@ -146,6 +147,9 @@
|
|
|
146
147
|
transition: transform 0.2s ease-in-out;
|
|
147
148
|
transition: transform 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;
|
|
148
149
|
}
|
|
150
|
+
.kd-color-picker-pop {
|
|
151
|
+
width: var(--kd-c-color-picker-panel-sizing-width, 304px);
|
|
152
|
+
}
|
|
149
153
|
.kd-color-picker-pop.topLeft.hidden,
|
|
150
154
|
.kd-color-picker-pop.bottomLeft.hidden,
|
|
151
155
|
.kd-color-picker-pop.topRight.hidden,
|
|
@@ -255,19 +259,30 @@
|
|
|
255
259
|
vertical-align: middle;
|
|
256
260
|
margin-right: 9px;
|
|
257
261
|
}
|
|
258
|
-
.kd-color-picker-pop .kd-color-picker-panel-
|
|
262
|
+
.kd-color-picker-pop .kd-color-picker-panel-container {
|
|
263
|
+
display: -webkit-box;
|
|
264
|
+
display: -ms-flexbox;
|
|
265
|
+
display: flex;
|
|
266
|
+
-ms-flex-wrap: nowrap;
|
|
267
|
+
flex-wrap: nowrap;
|
|
268
|
+
margin-top: 10px;
|
|
269
|
+
}
|
|
270
|
+
.kd-color-picker-pop .kd-color-picker-panel-container-input {
|
|
271
|
+
-webkit-box-flex: 1;
|
|
272
|
+
-ms-flex: 1 1 auto;
|
|
273
|
+
flex: 1 1 auto;
|
|
259
274
|
display: inline-block;
|
|
260
275
|
position: relative;
|
|
261
|
-
margin-top: 12px;
|
|
262
276
|
font-size: var(--kd-c-color-picker-panel-select-font-size, var(--kd-g-font-size-middle, 14px));
|
|
263
277
|
}
|
|
264
|
-
.kd-color-picker-pop .kd-color-picker-panel-input-
|
|
265
|
-
margin
|
|
278
|
+
.kd-color-picker-pop .kd-color-picker-panel-container-input .kd-select-dropdown-panel {
|
|
279
|
+
margin: 0 !important;
|
|
266
280
|
}
|
|
267
|
-
.kd-color-picker-pop .kd-color-picker-panel-input .kd-select.bottomLeft,
|
|
268
|
-
.kd-color-picker-pop .kd-color-picker-panel-input .kd-select.topLeft {
|
|
281
|
+
.kd-color-picker-pop .kd-color-picker-panel-container-input .kd-select-dropdown-panel.bottomLeft,
|
|
282
|
+
.kd-color-picker-pop .kd-color-picker-panel-container-input .kd-select-dropdown-panel.topLeft {
|
|
269
283
|
position: absolute;
|
|
270
284
|
width: 60px !important;
|
|
285
|
+
min-width: unset !important;
|
|
271
286
|
background: #FFFFFF;
|
|
272
287
|
right: 0;
|
|
273
288
|
left: unset !important;
|
|
@@ -275,7 +290,7 @@
|
|
|
275
290
|
box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.2);
|
|
276
291
|
border-radius: 2px;
|
|
277
292
|
}
|
|
278
|
-
.kd-color-picker-pop .kd-color-picker-panel-input .kd-select .kd-select-dropdown .kd-select-item-option {
|
|
293
|
+
.kd-color-picker-pop .kd-color-picker-panel-container-input .kd-select-dropdown-panel .kd-select-dropdown .kd-select-item-option {
|
|
279
294
|
display: -webkit-box;
|
|
280
295
|
display: -ms-flexbox;
|
|
281
296
|
display: flex;
|
|
@@ -284,21 +299,23 @@
|
|
|
284
299
|
justify-content: center;
|
|
285
300
|
min-width: unset;
|
|
286
301
|
}
|
|
287
|
-
.kd-color-picker-pop .kd-color-picker-panel-input .kd-select-bordered {
|
|
302
|
+
.kd-color-picker-pop .kd-color-picker-panel-container-input .kd-select-bordered {
|
|
288
303
|
border-radius: 2px;
|
|
289
304
|
width: var(--kd-c-color-picker-panel-select-sizing-width, 212px);
|
|
290
305
|
height: var(--kd-c-color-picker-panel-select-sizing-height, 28px);
|
|
291
306
|
min-height: 28px;
|
|
292
|
-
|
|
307
|
+
padding: 0 28px 0 0;
|
|
293
308
|
}
|
|
294
|
-
.kd-color-picker-pop .kd-color-picker-panel-input .kd-select-bordered .kd-select-placeholder {
|
|
309
|
+
.kd-color-picker-pop .kd-color-picker-panel-container-input .kd-select-bordered .kd-select-placeholder {
|
|
295
310
|
left: 8px;
|
|
296
311
|
}
|
|
297
|
-
.kd-color-picker-pop .kd-color-picker-panel-input .active-option {
|
|
312
|
+
.kd-color-picker-pop .kd-color-picker-panel-container-input .active-option {
|
|
298
313
|
background-color: var(--kd-c-color-picker-panel-option-color-background-selected, var(--kd-g-color-theme-3, #e3eeff));
|
|
299
314
|
}
|
|
300
|
-
.kd-color-picker-pop .kd-color-picker-panel-transparent {
|
|
301
|
-
|
|
315
|
+
.kd-color-picker-pop .kd-color-picker-panel-container-transparent {
|
|
316
|
+
-webkit-box-flex: 0;
|
|
317
|
+
-ms-flex: 0 0 60px;
|
|
318
|
+
flex: 0 0 60px;
|
|
302
319
|
height: 28px;
|
|
303
320
|
margin-left: 8px;
|
|
304
321
|
text-align: center;
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
.@{color-picker-prefix-cls}-container {
|
|
8
8
|
position: relative;
|
|
9
|
+
width: @color-picker-input-sizing-width;
|
|
9
10
|
|
|
10
11
|
.@{color-picker-prefix-cls}-input {
|
|
11
12
|
width: @color-picker-input-sizing-width;
|
|
@@ -52,6 +53,7 @@
|
|
|
52
53
|
}
|
|
53
54
|
|
|
54
55
|
.@{color-picker-prefix-cls}-pop {
|
|
56
|
+
width: @color-picker-panel-sizing-width;
|
|
55
57
|
|
|
56
58
|
&.topLeft.hidden,
|
|
57
59
|
&.bottomLeft.hidden,
|
|
@@ -202,63 +204,67 @@
|
|
|
202
204
|
}
|
|
203
205
|
}
|
|
204
206
|
|
|
205
|
-
&-
|
|
206
|
-
display:
|
|
207
|
-
|
|
208
|
-
margin-top:
|
|
209
|
-
font-size: @color-picker-panel-select-font-size;
|
|
207
|
+
&-container {
|
|
208
|
+
display: flex;
|
|
209
|
+
flex-wrap: nowrap;
|
|
210
|
+
margin-top: 10px;
|
|
210
211
|
|
|
211
|
-
&-
|
|
212
|
-
|
|
213
|
-
|
|
212
|
+
&-input {
|
|
213
|
+
flex: 1 1 auto;
|
|
214
|
+
display: inline-block;
|
|
215
|
+
position: relative;
|
|
216
|
+
font-size: @color-picker-panel-select-font-size;
|
|
217
|
+
|
|
218
|
+
.@{kd-prefix}-select-dropdown-panel {
|
|
219
|
+
margin: 0 !important;
|
|
220
|
+
|
|
221
|
+
&.bottomLeft,
|
|
222
|
+
&.topLeft {
|
|
223
|
+
position: absolute;
|
|
224
|
+
width: 60px !important;
|
|
225
|
+
min-width: unset !important;
|
|
226
|
+
background: #FFFFFF;
|
|
227
|
+
right: 0;
|
|
228
|
+
left: unset !important;
|
|
229
|
+
box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.20);
|
|
230
|
+
border-radius: 2px;
|
|
231
|
+
}
|
|
214
232
|
|
|
215
|
-
|
|
233
|
+
.@{kd-prefix}-select-dropdown {
|
|
234
|
+
.@{kd-prefix}-select-item-option {
|
|
235
|
+
display: flex;
|
|
236
|
+
justify-content: center;
|
|
237
|
+
min-width: unset;
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
}
|
|
216
241
|
|
|
217
|
-
|
|
218
|
-
&.topLeft {
|
|
219
|
-
position: absolute;
|
|
220
|
-
width: 60px !important;
|
|
221
|
-
background: #FFFFFF;
|
|
222
|
-
right: 0;
|
|
223
|
-
left: unset !important;
|
|
224
|
-
box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.20);
|
|
242
|
+
.@{kd-prefix}-select-bordered {
|
|
225
243
|
border-radius: 2px;
|
|
226
|
-
|
|
244
|
+
width: @color-picker-panel-select-sizing-width;
|
|
245
|
+
height: @color-picker-panel-select-sizing-height;
|
|
246
|
+
min-height: 28px;
|
|
247
|
+
padding: 0 28px 0 0;
|
|
227
248
|
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
display: flex;
|
|
231
|
-
justify-content: center;
|
|
232
|
-
min-width: unset;
|
|
249
|
+
.@{kd-prefix}-select-placeholder {
|
|
250
|
+
left: 8px;
|
|
233
251
|
}
|
|
234
252
|
}
|
|
235
|
-
}
|
|
236
|
-
|
|
237
|
-
.@{kd-prefix}-select-bordered {
|
|
238
|
-
border-radius: 2px;
|
|
239
|
-
width: @color-picker-panel-select-sizing-width;
|
|
240
|
-
height: @color-picker-panel-select-sizing-height;
|
|
241
|
-
min-height: 28px;
|
|
242
|
-
margin-top: -2px;
|
|
243
253
|
|
|
244
|
-
|
|
245
|
-
|
|
254
|
+
.active-option {
|
|
255
|
+
background-color: @color-picker-panel-option-color-background;
|
|
246
256
|
}
|
|
247
257
|
}
|
|
248
258
|
|
|
249
|
-
|
|
250
|
-
|
|
259
|
+
&-transparent {
|
|
260
|
+
flex: 0 0 60px;
|
|
261
|
+
height: 28px;
|
|
262
|
+
margin-left: 8px;
|
|
263
|
+
text-align: center;
|
|
264
|
+
font-size: @color-picker-panel-alpha-font-size;
|
|
251
265
|
}
|
|
252
266
|
}
|
|
253
267
|
|
|
254
|
-
&-transparent {
|
|
255
|
-
width: 60px;
|
|
256
|
-
height: 28px;
|
|
257
|
-
margin-left: 8px;
|
|
258
|
-
text-align: center;
|
|
259
|
-
font-size: @color-picker-panel-alpha-font-size;
|
|
260
|
-
}
|
|
261
|
-
|
|
262
268
|
&-colorDivContainer {
|
|
263
269
|
display: grid;
|
|
264
270
|
grid-template-columns: repeat(12, 1fr);
|
|
@@ -37,6 +37,7 @@ export interface PickerSharedProps extends React.AriaAttributes {
|
|
|
37
37
|
onMouseLeave?: React.MouseEventHandler<HTMLDivElement>;
|
|
38
38
|
onClick?: React.MouseEventHandler<HTMLDivElement>;
|
|
39
39
|
onContextMenu?: React.MouseEventHandler<HTMLDivElement>;
|
|
40
|
+
status?: 'error';
|
|
40
41
|
}
|
|
41
42
|
declare type OmitPanelProps<Props> = Omit<Props, 'onChange' | 'hideHeader' | 'pickerValue' | 'onPickerValueChange'>;
|
|
42
43
|
export interface PickerBaseProps extends PickerSharedProps, OmitPanelProps<PickerPanelBaseProps> {
|
|
@@ -12,7 +12,7 @@ import InputDate from './single/input-date';
|
|
|
12
12
|
import { getDefaultFormat, getDataOrAriaProps, getInternalNextMode, generateUnits } from './utils';
|
|
13
13
|
import useValueTexts from './hooks/use-value-texts';
|
|
14
14
|
import useHoverValue from './hooks/use-hover-value';
|
|
15
|
-
import { formatDate, getHours, getLowerBoundTime, getMinutes, getSeconds, isEqual, isValid, newDate, parseDate, setTime } from './utils/date-fns';
|
|
15
|
+
import { formatDate, getHours, getLowerBoundTime, getMinutes, getSeconds, isEqual, isValid, newDate, parseDate, setTime, isDate } from './utils/date-fns';
|
|
16
16
|
import useTextValueMapping from './hooks/use-text-value-mapping';
|
|
17
17
|
import getExtraFooter from './utils/get-extra-footer';
|
|
18
18
|
import getRanges from './utils/get-ranges';
|
|
@@ -80,8 +80,8 @@ var InternalDatePicker = function InternalDatePicker(props, ref) {
|
|
|
80
80
|
onMouseLeave = datePickerProps.onMouseLeave,
|
|
81
81
|
onContextMenu = datePickerProps.onContextMenu,
|
|
82
82
|
onClick = datePickerProps.onClick,
|
|
83
|
-
_onOk = datePickerProps.onOk
|
|
84
|
-
|
|
83
|
+
_onOk = datePickerProps.onOk,
|
|
84
|
+
status = datePickerProps.status;
|
|
85
85
|
var inputDivRefDefault = React.useRef(null);
|
|
86
86
|
var inputDivRef = ref || inputDivRefDefault;
|
|
87
87
|
var popperRefDefault = React.useRef(null);
|
|
@@ -90,14 +90,10 @@ var InternalDatePicker = function InternalDatePicker(props, ref) {
|
|
|
90
90
|
var isHourStepValid = 24 % hourStep === 0;
|
|
91
91
|
var isMinuteStepValid = 60 % minuteStep === 0;
|
|
92
92
|
var isSecondStepValid = 60 % secondStep === 0;
|
|
93
|
-
// const hours = generateUnits(0, 23, hourStep, disabledHours && disabledHours())
|
|
94
|
-
// const minutes = generateUnits(0, 59, minuteStep, disabledMinutes && disabledMinutes(originHour))
|
|
95
|
-
// const seconds = generateUnits(0, 59, secondStep, disabledSeconds && disabledSeconds(originHour, minute))
|
|
96
93
|
var needConfirmButton = picker === 'date' && !!showTime || picker === 'time';
|
|
97
94
|
var datePickerLang = _extends({}, globalLocale.getCompLangMsg({
|
|
98
95
|
componentName: 'DatePicker'
|
|
99
96
|
}), locale || {});
|
|
100
|
-
// 原始数据
|
|
101
97
|
var _useMergedState = useMergedState(null, {
|
|
102
98
|
value: value,
|
|
103
99
|
defaultValue: defaultValue
|
|
@@ -105,7 +101,6 @@ var InternalDatePicker = function InternalDatePicker(props, ref) {
|
|
|
105
101
|
_useMergedState2 = _slicedToArray(_useMergedState, 2),
|
|
106
102
|
dateValue = _useMergedState2[0],
|
|
107
103
|
setDateValue = _useMergedState2[1];
|
|
108
|
-
// 选中的数据
|
|
109
104
|
var _React$useState = React.useState(dateValue),
|
|
110
105
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
111
106
|
selectedValue = _React$useState2[0],
|
|
@@ -135,22 +130,19 @@ var InternalDatePicker = function InternalDatePicker(props, ref) {
|
|
|
135
130
|
}
|
|
136
131
|
}
|
|
137
132
|
var _format = getDefaultFormat(format, picker, showTime && !disabledTimePanel, use12Hours);
|
|
138
|
-
// 面板展示日期
|
|
139
133
|
var _useState = useState(defaultPickerValue || dateValue || new Date()),
|
|
140
134
|
_useState2 = _slicedToArray(_useState, 2),
|
|
141
135
|
viewDate = _useState2[0],
|
|
142
136
|
setInnerViewDate = _useState2[1];
|
|
143
137
|
var setViewDate = function setViewDate(date) {
|
|
144
|
-
setInnerViewDate(date
|
|
138
|
+
setInnerViewDate(isDate(date) ? date : new Date());
|
|
145
139
|
};
|
|
146
140
|
useEffect(function () {
|
|
147
141
|
setViewDate(dateValue);
|
|
148
142
|
}, [dateValue]);
|
|
149
|
-
// text
|
|
150
143
|
var valueText = useValueTexts(selectedValue, {
|
|
151
144
|
format: _format
|
|
152
145
|
});
|
|
153
|
-
// input 展示
|
|
154
146
|
var _useTextValueMapping = useTextValueMapping({
|
|
155
147
|
valueText: valueText,
|
|
156
148
|
onTextChange: function onTextChange(newText) {
|
|
@@ -200,7 +192,6 @@ var InternalDatePicker = function InternalDatePicker(props, ref) {
|
|
|
200
192
|
_useMergedState4 = _slicedToArray(_useMergedState3, 2),
|
|
201
193
|
openValue = _useMergedState4[0],
|
|
202
194
|
triggerInnerOpen = _useMergedState4[1];
|
|
203
|
-
// Save panel is changed from which panel
|
|
204
195
|
var _useMergedState5 = useMergedState(function () {
|
|
205
196
|
if (picker === 'time') {
|
|
206
197
|
return 'time';
|
|
@@ -323,7 +314,6 @@ var InternalDatePicker = function InternalDatePicker(props, ref) {
|
|
|
323
314
|
format: _format,
|
|
324
315
|
onChange: setSelectedValue
|
|
325
316
|
});
|
|
326
|
-
// 渲染日期选择表盘
|
|
327
317
|
var renderPanel = function renderPanel() {
|
|
328
318
|
var panelNode = /*#__PURE__*/React.createElement(Panel, _extends({}, panelProps));
|
|
329
319
|
if (panelRender) {
|
|
@@ -393,7 +383,8 @@ var InternalDatePicker = function InternalDatePicker(props, ref) {
|
|
|
393
383
|
triggerTextChange: triggerTextChange,
|
|
394
384
|
triggerOpen: triggerOpen,
|
|
395
385
|
triggerChange: triggerChange,
|
|
396
|
-
resetText: resetText
|
|
386
|
+
resetText: resetText,
|
|
387
|
+
status: status
|
|
397
388
|
};
|
|
398
389
|
return usePopper( /*#__PURE__*/React.createElement(InputDate, _extends({
|
|
399
390
|
ref: inputDivRef
|
|
@@ -63,7 +63,8 @@ function InputDate(props, ref) {
|
|
|
63
63
|
triggerChange = props.triggerChange,
|
|
64
64
|
triggerOpenAndFocus = props.triggerOpenAndFocus,
|
|
65
65
|
setMergedActivePickerIndex = props.setMergedActivePickerIndex,
|
|
66
|
-
setHoverRangedValue = props.setHoverRangedValue
|
|
66
|
+
setHoverRangedValue = props.setHoverRangedValue,
|
|
67
|
+
status = props.status;
|
|
67
68
|
var preventBlurRef = useRef(false);
|
|
68
69
|
var _useState = useState(false),
|
|
69
70
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -187,7 +188,7 @@ function InputDate(props, ref) {
|
|
|
187
188
|
};
|
|
188
189
|
return /*#__PURE__*/React.createElement("div", _extends({
|
|
189
190
|
ref: ref,
|
|
190
|
-
className: classnames(prefixCls, "".concat(prefixCls, "-range"), className, borderClass, (_classnames2 = {}, _defineProperty(_classnames2, _concatInstanceProperty(_context = "".concat(prefixCls, "-")).call(_context, size), size), _defineProperty(_classnames2, "".concat(prefixCls, "-disabled"), mergedDisabled[0] && mergedDisabled[1]), _defineProperty(_classnames2, "".concat(prefixCls, "-focused"), mergedActivePickerIndex === 0 ? startFocused : endFocused), _classnames2)),
|
|
191
|
+
className: classnames(prefixCls, "".concat(prefixCls, "-range"), className, borderClass, (_classnames2 = {}, _defineProperty(_classnames2, _concatInstanceProperty(_context = "".concat(prefixCls, "-")).call(_context, size), size), _defineProperty(_classnames2, "".concat(prefixCls, "-disabled"), mergedDisabled[0] && mergedDisabled[1]), _defineProperty(_classnames2, "".concat(prefixCls, "-focused"), mergedActivePickerIndex === 0 ? startFocused : endFocused), _defineProperty(_classnames2, "".concat(prefixCls, "-error"), status === 'error'), _classnames2)),
|
|
191
192
|
style: style,
|
|
192
193
|
onMouseDown: onInternalonMouseDown,
|
|
193
194
|
onMouseUp: onMouseUp,
|
|
@@ -15,7 +15,7 @@ import InputDate from './range/input-range';
|
|
|
15
15
|
import { generateUnits, getClosingViewDate, getDataOrAriaProps, getDefaultFormat, getValue, updateValues } from './utils';
|
|
16
16
|
import useValueTexts from './hooks/use-value-texts';
|
|
17
17
|
import useHoverValue from './hooks/use-hover-value';
|
|
18
|
-
import { formatDate, isAfter, newDate, parseDate, isEqual, isSameQuarter, isSameDay, isValid, getHours, getMinutes, getSeconds } from './utils/date-fns';
|
|
18
|
+
import { formatDate, isAfter, newDate, parseDate, isEqual, isSameQuarter, isSameDay, isValid, getHours, getMinutes, getSeconds, isDate } from './utils/date-fns';
|
|
19
19
|
import useTextValueMapping from './hooks/use-text-value-mapping';
|
|
20
20
|
import useRangeViewDates from './hooks/use-range-view-dates';
|
|
21
21
|
import useRangeDisabled from './hooks/use-range-disabled';
|
|
@@ -109,7 +109,8 @@ var InternalRangePicker = function InternalRangePicker(props, ref) {
|
|
|
109
109
|
onFocus = datePickerProps.onFocus,
|
|
110
110
|
onBlur = datePickerProps.onBlur,
|
|
111
111
|
_onOk = datePickerProps.onOk,
|
|
112
|
-
getPopupContainer = datePickerProps.getPopupContainer
|
|
112
|
+
getPopupContainer = datePickerProps.getPopupContainer,
|
|
113
|
+
status = datePickerProps.status;
|
|
113
114
|
var needConfirmButton = picker === 'date' && !!showTime || picker === 'time';
|
|
114
115
|
var datePickerLang = _extends({}, globalLocale.getCompLangMsg({
|
|
115
116
|
componentName: 'DatePicker'
|
|
@@ -414,7 +415,7 @@ var InternalRangePicker = function InternalRangePicker(props, ref) {
|
|
|
414
415
|
var onSelect = function onSelect(date, type) {
|
|
415
416
|
var values = updateValues(selectedValue, date, mergedActivePickerIndex);
|
|
416
417
|
if (type === 'inner') {
|
|
417
|
-
if (values && values[mergedActivePickerIndex]) {
|
|
418
|
+
if (values && values[mergedActivePickerIndex] && isDate(values[mergedActivePickerIndex])) {
|
|
418
419
|
setViewDate(values[mergedActivePickerIndex], mergedActivePickerIndex);
|
|
419
420
|
}
|
|
420
421
|
} else {
|
|
@@ -636,7 +637,8 @@ var InternalRangePicker = function InternalRangePicker(props, ref) {
|
|
|
636
637
|
triggerOpenAndFocus: triggerOpenAndFocus,
|
|
637
638
|
triggerChange: triggerChange,
|
|
638
639
|
onFocus: onFocus,
|
|
639
|
-
onBlur: onBlur
|
|
640
|
+
onBlur: onBlur,
|
|
641
|
+
status: status
|
|
640
642
|
};
|
|
641
643
|
var renderConfig = function renderConfig() {
|
|
642
644
|
if (ranges) {
|
|
@@ -47,7 +47,8 @@ function InputDate(props, ref) {
|
|
|
47
47
|
setSelectedValue = props.setSelectedValue,
|
|
48
48
|
triggerTextChange = props.triggerTextChange,
|
|
49
49
|
triggerOpen = props.triggerOpen,
|
|
50
|
-
triggerChange = props.triggerChange
|
|
50
|
+
triggerChange = props.triggerChange,
|
|
51
|
+
status = props.status;
|
|
51
52
|
var preventBlurRef = useRef(false);
|
|
52
53
|
var _useState = useState(false),
|
|
53
54
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -143,7 +144,7 @@ function InputDate(props, ref) {
|
|
|
143
144
|
var borderClass = classnames((_classnames = {}, _defineProperty(_classnames, "".concat(prefixCls, "-underline"), borderType === 'underline'), _defineProperty(_classnames, "".concat(prefixCls, "-borderless"), borderType === 'none'), _classnames));
|
|
144
145
|
return /*#__PURE__*/React.createElement("div", _extends({
|
|
145
146
|
ref: ref,
|
|
146
|
-
className: classnames(prefixCls, className, borderClass, (_classnames2 = {}, _defineProperty(_classnames2, "".concat(prefixCls, "-disabled"), disabled), _defineProperty(_classnames2, "".concat(prefixCls, "-focused"), focused), _defineProperty(_classnames2, _concatInstanceProperty(_context = "".concat(prefixCls, "-")).call(_context, size), size), _classnames2)),
|
|
147
|
+
className: classnames(prefixCls, className, borderClass, (_classnames2 = {}, _defineProperty(_classnames2, "".concat(prefixCls, "-disabled"), disabled), _defineProperty(_classnames2, "".concat(prefixCls, "-focused"), focused), _defineProperty(_classnames2, _concatInstanceProperty(_context = "".concat(prefixCls, "-")).call(_context, size), size), _defineProperty(_classnames2, "".concat(prefixCls, "-error"), status === 'error'), _classnames2)),
|
|
147
148
|
style: style,
|
|
148
149
|
onMouseDown: onInternalonMouseDown,
|
|
149
150
|
onMouseUp: onInternalMouseUp,
|
|
@@ -330,6 +330,9 @@
|
|
|
330
330
|
.kd-date-picker-focused .kd-date-picker-suffix {
|
|
331
331
|
color: var(--kd-c-date-picker-clear-color-background-focused, var(--kd-g-color-theme, #5582f3));
|
|
332
332
|
}
|
|
333
|
+
.kd-date-picker-error {
|
|
334
|
+
border-color: var(--kd-g-color-error, #fb2323);
|
|
335
|
+
}
|
|
333
336
|
.kd-date-picker-panel {
|
|
334
337
|
-webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
|
|
335
338
|
box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import _includesInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/includes";
|
|
2
2
|
import _sliceInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/slice";
|
|
3
|
-
import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
|
|
4
3
|
import isDate from 'date-fns/isDate';
|
|
5
4
|
import isValidDate from 'date-fns/isValid';
|
|
6
5
|
import format from 'date-fns/format';
|
|
@@ -271,19 +270,14 @@ export function getLowerBoundTime(hour, minute, second, hourStep, minuteStep, se
|
|
|
271
270
|
return [lowerBoundHour, lowerBoundMinute, lowerBoundSecond];
|
|
272
271
|
}
|
|
273
272
|
export var setYearOrMonthOfDate = function setYearOrMonthOfDate(date1, date2) {
|
|
274
|
-
var _context, _context2, _context3, _context4, _context5;
|
|
275
273
|
var type = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'year';
|
|
276
|
-
var
|
|
274
|
+
var d1 = new Date(date1 || 0);
|
|
275
|
+
var d2 = new Date(date2 || 0);
|
|
277
276
|
if (type === 'year') {
|
|
278
|
-
|
|
277
|
+
d1.setFullYear(d2.getFullYear());
|
|
279
278
|
}
|
|
280
|
-
var m = new Date(date1 || date2).getMonth() + 1;
|
|
281
279
|
if (type === 'month') {
|
|
282
|
-
|
|
280
|
+
d1.setMonth(d2.getMonth());
|
|
283
281
|
}
|
|
284
|
-
|
|
285
|
-
var h = new Date(date1 || date2).getHours();
|
|
286
|
-
var mi = new Date(date1 || date2).getMinutes();
|
|
287
|
-
var s = new Date(date1 || date2).getSeconds();
|
|
288
|
-
return new Date(_concatInstanceProperty(_context = _concatInstanceProperty(_context2 = _concatInstanceProperty(_context3 = _concatInstanceProperty(_context4 = _concatInstanceProperty(_context5 = "".concat(y, "-")).call(_context5, m, "-")).call(_context4, d, " ")).call(_context3, h, ":")).call(_context2, mi, ":")).call(_context, s));
|
|
282
|
+
return d1;
|
|
289
283
|
};
|
package/es/locale/locale.d.ts
CHANGED
|
@@ -98,6 +98,8 @@ declare class LocaleCache {
|
|
|
98
98
|
'Table.notIsNull': string;
|
|
99
99
|
'Table.resetFilter': string;
|
|
100
100
|
'Table.confirmFilter': string;
|
|
101
|
+
'Select.selectAll': string;
|
|
102
|
+
'Select.seleted': string;
|
|
101
103
|
'DatePicker.placeholder': string;
|
|
102
104
|
'DatePicker.yearPlaceholder': string;
|
|
103
105
|
'DatePicker.quarterPlaceholder': string;
|
package/es/locale/zh-CN.d.ts
CHANGED
|
@@ -72,6 +72,8 @@ declare const locale: {
|
|
|
72
72
|
'Table.notIsNull': string;
|
|
73
73
|
'Table.resetFilter': string;
|
|
74
74
|
'Table.confirmFilter': string;
|
|
75
|
+
'Select.selectAll': string;
|
|
76
|
+
'Select.seleted': string;
|
|
75
77
|
'DatePicker.placeholder': string;
|
|
76
78
|
'DatePicker.yearPlaceholder': string;
|
|
77
79
|
'DatePicker.quarterPlaceholder': string;
|