@kdcloudjs/kdesign 1.7.24 → 1.7.26
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 +46 -0
- package/dist/kdesign-complete.less +101 -43
- package/dist/kdesign.css +81 -37
- package/dist/kdesign.css.map +1 -1
- package/dist/kdesign.js +251 -132
- package/dist/kdesign.js.map +1 -1
- package/dist/kdesign.min.css +3 -3
- package/dist/kdesign.min.js +5 -5
- package/dist/kdesign.min.js.map +1 -1
- package/es/_utils/usePopper.d.ts +1 -0
- package/es/_utils/usePopper.js +4 -2
- package/es/cascader/cascader.js +64 -32
- package/es/cascader/style/index.css +40 -24
- package/es/cascader/style/index.less +49 -27
- package/es/cascader/style/token.less +4 -3
- package/es/city-picker/city-picker.js +33 -26
- package/es/city-picker/option.js +4 -3
- package/es/city-picker/style/index.css +24 -10
- package/es/city-picker/style/index.less +22 -6
- package/es/city-picker/style/token.less +4 -5
- package/es/collapse/panel.js +31 -18
- package/es/collapse/style/index.css +4 -1
- package/es/collapse/style/index.less +4 -1
- package/es/form/Field.d.ts +1 -0
- package/es/form/Field.js +5 -3
- package/es/form/FieldWrapper.d.ts +1 -0
- package/es/form/FieldWrapper.js +13 -5
- package/es/form/style/index.css +11 -1
- package/es/form/style/index.less +16 -1
- package/es/form/style/token.less +1 -0
- package/es/input-number/inputNumber.js +15 -3
- package/es/input-number/useSelectionRange.d.ts +4 -0
- package/es/input-number/useSelectionRange.js +22 -0
- package/es/locale/locale.d.ts +4 -4
- package/es/locale/zh-CN.d.ts +4 -2
- package/es/locale/zh-CN.js +4 -2
- package/es/radio/style/index.css +1 -0
- package/es/radio/style/index.less +1 -0
- package/es/select/select.js +3 -3
- package/es/tag/tag.d.ts +1 -0
- package/es/tree-select/tree-select.js +2 -1
- package/lib/_utils/usePopper.d.ts +1 -0
- package/lib/_utils/usePopper.js +4 -2
- package/lib/cascader/cascader.js +63 -31
- package/lib/cascader/style/index.css +40 -24
- package/lib/cascader/style/index.less +49 -27
- package/lib/cascader/style/token.less +4 -3
- package/lib/city-picker/city-picker.js +33 -26
- package/lib/city-picker/option.js +4 -3
- package/lib/city-picker/style/index.css +24 -10
- package/lib/city-picker/style/index.less +22 -6
- package/lib/city-picker/style/token.less +4 -5
- package/lib/collapse/panel.js +32 -19
- package/lib/collapse/style/index.css +4 -1
- package/lib/collapse/style/index.less +4 -1
- package/lib/form/Field.d.ts +1 -0
- package/lib/form/Field.js +5 -3
- package/lib/form/FieldWrapper.d.ts +1 -0
- package/lib/form/FieldWrapper.js +13 -5
- package/lib/form/style/index.css +11 -1
- package/lib/form/style/index.less +16 -1
- package/lib/form/style/token.less +1 -0
- package/lib/input-number/inputNumber.js +14 -2
- package/lib/input-number/useSelectionRange.d.ts +4 -0
- package/lib/input-number/useSelectionRange.js +29 -0
- package/lib/locale/locale.d.ts +4 -4
- package/lib/locale/zh-CN.d.ts +4 -2
- package/lib/locale/zh-CN.js +4 -2
- package/lib/radio/style/index.css +1 -0
- package/lib/radio/style/index.less +1 -0
- package/lib/select/select.js +3 -3
- package/lib/tag/tag.d.ts +1 -0
- package/lib/tree-select/tree-select.js +2 -1
- package/package.json +1 -1
package/es/_utils/usePopper.d.ts
CHANGED
|
@@ -25,6 +25,7 @@ export interface PopperProps {
|
|
|
25
25
|
onVisibleChange?: (visible: boolean) => void;
|
|
26
26
|
getTriggerElement?: (locatorNode: HTMLElement) => HTMLElement;
|
|
27
27
|
getPopupContainer?: (locatorNode: HTMLElement) => HTMLElement;
|
|
28
|
+
onTransitionEnd?: (e: React.TransitionEvent) => void;
|
|
28
29
|
}
|
|
29
30
|
declare function usePopper(locatorElement: React.ReactElement, popperElement: React.ReactElement, props: PopperProps): JSX.Element;
|
|
30
31
|
export default usePopper;
|
package/es/_utils/usePopper.js
CHANGED
|
@@ -153,7 +153,8 @@ function usePopper(locatorElement, popperElement, props) {
|
|
|
153
153
|
_props$getPopupContai = props.getPopupContainer,
|
|
154
154
|
getPopupContainer = _props$getPopupContai === void 0 ? function () {
|
|
155
155
|
return document.body;
|
|
156
|
-
} : _props$getPopupContai
|
|
156
|
+
} : _props$getPopupContai,
|
|
157
|
+
onTransitionEnd = props.onTransitionEnd;
|
|
157
158
|
var arrowWidth = Math.sqrt(2 * Math.pow(arrowSize, 2));
|
|
158
159
|
var componentName = (prefixCls === null || prefixCls === void 0 ? void 0 : prefixCls.split('-')[1]) || '';
|
|
159
160
|
devWarning(Placements.indexOf(placement) === -1, componentName, _concatInstanceProperty(_context3 = "cannot found ".concat(componentName, " placement '")).call(_context3, placement, "'"));
|
|
@@ -439,7 +440,8 @@ function usePopper(locatorElement, popperElement, props) {
|
|
|
439
440
|
className: classNames(prefixCls, popperClassName, nextPlacement, _defineProperty({
|
|
440
441
|
arrow: arrow,
|
|
441
442
|
hidden: !visible
|
|
442
|
-
}, "".concat(nextPlacement, "-active"), active))
|
|
443
|
+
}, "".concat(nextPlacement, "-active"), active)),
|
|
444
|
+
onTransitionEnd: typeof onTransitionEnd === 'function' ? onTransitionEnd : undefined
|
|
443
445
|
};
|
|
444
446
|
var popperNode = popperRef.current;
|
|
445
447
|
var locatorNode = getRealDom(locatorRef, locatorElement);
|
package/es/cascader/cascader.js
CHANGED
|
@@ -16,7 +16,7 @@ var __rest = this && this.__rest || function (s, e) {
|
|
|
16
16
|
}
|
|
17
17
|
return t;
|
|
18
18
|
};
|
|
19
|
-
import React, { useMemo, useCallback, useState, useRef } from 'react';
|
|
19
|
+
import React, { useMemo, useCallback, useState, useRef, useEffect, useImperativeHandle } from 'react';
|
|
20
20
|
import classNames from 'classnames';
|
|
21
21
|
import { tuple } from '../_utils/type';
|
|
22
22
|
import { getCompProps } from '../_utils';
|
|
@@ -62,15 +62,15 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
62
62
|
customAllowClear = allProps.allowClear,
|
|
63
63
|
popupPlacement = allProps.popupPlacement,
|
|
64
64
|
maxTagCount = allProps.maxTagCount,
|
|
65
|
+
autoFocus = allProps.autoFocus,
|
|
65
66
|
otherProps = __rest(allProps
|
|
66
67
|
// className前缀
|
|
67
|
-
, ["mode", "style", "options", "bordered", "disabled", "children", "loadData", "clearIcon", "className", "fieldNames", "placeholder", "defaultValue", "maxTagPlaceholder", "displayRender", "expandTrigger", "changeOnSelect", "dropdownRender", "notFoundContent", "getPopupContainer", "defaultPopupVisible", "onPopupVisibleChange", "onPopperVisibleChange", "prefixCls", "allowClear", "popupPlacement", "maxTagCount"]);
|
|
68
|
+
, ["mode", "style", "options", "bordered", "disabled", "children", "loadData", "clearIcon", "className", "fieldNames", "placeholder", "defaultValue", "maxTagPlaceholder", "displayRender", "expandTrigger", "changeOnSelect", "dropdownRender", "notFoundContent", "getPopupContainer", "defaultPopupVisible", "onPopupVisibleChange", "onPopperVisibleChange", "prefixCls", "allowClear", "popupPlacement", "maxTagCount", "autoFocus"]);
|
|
68
69
|
// className前缀
|
|
69
70
|
var prefixCls = getPrefixCls(pkgPrefixCls, 'cascader', customPrefixcls);
|
|
70
|
-
var
|
|
71
|
-
var
|
|
71
|
+
var mergeRef = useRef();
|
|
72
|
+
var inputRef = useRef();
|
|
72
73
|
var wrapperRef = useRef();
|
|
73
|
-
var mergeRef = ref || pickerRef;
|
|
74
74
|
var _useState = useState(!!props.popperVisible || !!props.popupVisible || defaultPopupVisible),
|
|
75
75
|
_useState2 = _slicedToArray(_useState, 2),
|
|
76
76
|
visible = _useState2[0],
|
|
@@ -157,21 +157,53 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
157
157
|
setCurrentOptions(newMultipleOptions);
|
|
158
158
|
}
|
|
159
159
|
}, [options, value, fieldNames, isMultiple]);
|
|
160
|
-
|
|
160
|
+
var handleFocus = function handleFocus() {
|
|
161
|
+
var _a, _b;
|
|
162
|
+
if (!disabled) {
|
|
163
|
+
if (isMultiple) {
|
|
164
|
+
(_a = mergeRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
165
|
+
} else {
|
|
166
|
+
(_b = inputRef.current) === null || _b === void 0 ? void 0 : _b.focus();
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
};
|
|
170
|
+
var handleBlur = function handleBlur() {
|
|
171
|
+
var _a, _b;
|
|
172
|
+
if (!disabled) {
|
|
173
|
+
if (isMultiple) {
|
|
174
|
+
(_a = mergeRef.current) === null || _a === void 0 ? void 0 : _a.blur();
|
|
175
|
+
} else {
|
|
176
|
+
(_b = inputRef.current) === null || _b === void 0 ? void 0 : _b.blur();
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
};
|
|
180
|
+
useImperativeHandle(ref, function () {
|
|
181
|
+
return {
|
|
182
|
+
focus: handleFocus,
|
|
183
|
+
blur: handleBlur,
|
|
184
|
+
dom: mergeRef.current
|
|
185
|
+
};
|
|
186
|
+
});
|
|
187
|
+
useEffect(function () {
|
|
188
|
+
if (autoFocus) {
|
|
189
|
+
handleFocus();
|
|
190
|
+
}
|
|
191
|
+
}, [autoFocus, inputRef]);
|
|
192
|
+
var handleMouseUp = function handleMouseUp(e) {
|
|
161
193
|
var _a;
|
|
162
|
-
|
|
163
|
-
|
|
194
|
+
var cln = (_a = e === null || e === void 0 ? void 0 : e.target) === null || _a === void 0 ? void 0 : _a.className;
|
|
195
|
+
var isCloseBtn = cln.indexOf('kd-tag-close-icon') > -1 || cln.indexOf('kdicon') > -1;
|
|
196
|
+
if (isCloseBtn) {
|
|
197
|
+
e.stopPropagation();
|
|
164
198
|
}
|
|
165
|
-
}
|
|
199
|
+
};
|
|
166
200
|
React.useEffect(function () {
|
|
167
201
|
var _a;
|
|
168
|
-
(_a = wrapperRef.current) === null || _a === void 0 ? void 0 : _a.addEventListener('mouseup',
|
|
202
|
+
(_a = wrapperRef.current) === null || _a === void 0 ? void 0 : _a.addEventListener('mouseup', handleMouseUp);
|
|
203
|
+
return function () {
|
|
169
204
|
var _a;
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
e.stopPropagation();
|
|
173
|
-
}
|
|
174
|
-
});
|
|
205
|
+
(_a = wrapperRef.current) === null || _a === void 0 ? void 0 : _a.removeEventListener('mouseup', handleMouseUp);
|
|
206
|
+
};
|
|
175
207
|
}, []);
|
|
176
208
|
var labels = useMemo(function () {
|
|
177
209
|
return !isMultiple ? _mapInstanceProperty(currentOptions).call(currentOptions, function (_ref) {
|
|
@@ -195,8 +227,10 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
195
227
|
});
|
|
196
228
|
});
|
|
197
229
|
}, [currentOptions, isMultiple]);
|
|
198
|
-
var allowClear = customAllowClear && value.length > 0;
|
|
230
|
+
var allowClear = customAllowClear && value.length > 0 && !disabled;
|
|
199
231
|
var handleClear = function handleClear() {
|
|
232
|
+
handleBlur();
|
|
233
|
+
setVisible(false);
|
|
200
234
|
onChange([]);
|
|
201
235
|
};
|
|
202
236
|
var renderSuffix = function renderSuffix() {
|
|
@@ -236,9 +270,7 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
236
270
|
};
|
|
237
271
|
var renderMultiple = function renderMultiple() {
|
|
238
272
|
var _classNames3, _classNames4;
|
|
239
|
-
var multipleCls = classNames((_classNames3 = {
|
|
240
|
-
disabled: disabled
|
|
241
|
-
}, _defineProperty(_classNames3, "".concat(prefixCls, "-multiple"), true), _defineProperty(_classNames3, "".concat(prefixCls, "-bordered"), bordered), _classNames3));
|
|
273
|
+
var multipleCls = classNames((_classNames3 = {}, _defineProperty(_classNames3, "".concat(prefixCls, "-expand"), visible), _defineProperty(_classNames3, "".concat(prefixCls, "-disabled"), disabled), _defineProperty(_classNames3, "".concat(prefixCls, "-multiple"), true), _defineProperty(_classNames3, "".concat(prefixCls, "-bordered"), bordered), _classNames3));
|
|
242
274
|
var itemCls = classNames((_classNames4 = {}, _defineProperty(_classNames4, "".concat(prefixCls, "-selection-item"), true), _defineProperty(_classNames4, "".concat(prefixCls, "-tag-describe"), true), _classNames4));
|
|
243
275
|
var TagStyle = {
|
|
244
276
|
margin: '2px 8px 2px 0',
|
|
@@ -246,9 +278,11 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
246
278
|
};
|
|
247
279
|
return /*#__PURE__*/React.createElement("div", _extends({
|
|
248
280
|
className: multipleCls,
|
|
249
|
-
ref:
|
|
281
|
+
ref: mergeRef,
|
|
250
282
|
style: style
|
|
251
|
-
}, otherProps
|
|
283
|
+
}, otherProps, {
|
|
284
|
+
tabIndex: -1
|
|
285
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
252
286
|
className: "".concat(prefixCls, "-multiple-wrapper"),
|
|
253
287
|
ref: wrapperRef
|
|
254
288
|
}, Array.isArray(currentOptions) && /*#__PURE__*/React.createElement(React.Fragment, null, _mapInstanceProperty(currentOptions).call(currentOptions, function (option, index) {
|
|
@@ -257,6 +291,7 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
257
291
|
className: classNames("".concat(prefixCls, "-selection-tag"))
|
|
258
292
|
}, (!maxTagCount || index <= maxTagCount - 1) && /*#__PURE__*/React.createElement(Tag, {
|
|
259
293
|
type: "edit",
|
|
294
|
+
disabled: disabled,
|
|
260
295
|
style: TagStyle,
|
|
261
296
|
closable: true,
|
|
262
297
|
onClose: function onClose(e) {
|
|
@@ -274,8 +309,10 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
274
309
|
}, renderSuffix())));
|
|
275
310
|
};
|
|
276
311
|
var renderSingle = function renderSingle() {
|
|
312
|
+
var _classNames5;
|
|
277
313
|
var inputProps = {
|
|
278
314
|
value: value,
|
|
315
|
+
ref: inputRef,
|
|
279
316
|
placeholder: placeholder,
|
|
280
317
|
readOnly: true,
|
|
281
318
|
borderType: bordered ? 'bordered' : 'underline',
|
|
@@ -293,18 +330,13 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
293
330
|
var singleProps = {
|
|
294
331
|
style: style,
|
|
295
332
|
tabIndex: 0,
|
|
296
|
-
className: classNames("".concat(prefixCls, "-picker"), className, _defineProperty(
|
|
297
|
-
expand: visible,
|
|
298
|
-
allowClear: allowClear,
|
|
299
|
-
disabled: disabled
|
|
300
|
-
}, "".concat(prefixCls, "-bordered"), bordered))
|
|
333
|
+
className: classNames("".concat(prefixCls, "-picker"), className, (_classNames5 = {}, _defineProperty(_classNames5, "".concat(prefixCls, "-single"), true), _defineProperty(_classNames5, "".concat(prefixCls, "-expand"), visible), _defineProperty(_classNames5, "allowClear", allowClear), _defineProperty(_classNames5, "".concat(prefixCls, "-disabled"), disabled), _defineProperty(_classNames5, "".concat(prefixCls, "-bordered"), bordered), _classNames5))
|
|
301
334
|
};
|
|
302
335
|
return /*#__PURE__*/React.createElement("div", _extends({}, singleProps, {
|
|
303
336
|
ref: mergeRef
|
|
304
|
-
}, otherProps), React.Children.count(children) === 1 && children.type ? /*#__PURE__*/React.cloneElement(children, {
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
ref: triggerRef
|
|
337
|
+
}, otherProps), React.Children.count(children) === 1 && children.type ? /*#__PURE__*/React.cloneElement(children) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
338
|
+
className: "".concat(prefixCls, "-single-wrapper"),
|
|
339
|
+
ref: wrapperRef
|
|
308
340
|
}, /*#__PURE__*/React.createElement(Input, _extends({}, inputProps)), /*#__PURE__*/React.createElement("span", {
|
|
309
341
|
className: "".concat(prefixCls, "-picker-label")
|
|
310
342
|
}, (labels === null || labels === void 0 ? void 0 : labels.length) ? displayRender(labels, currentOptions) : ''), allowClear && /*#__PURE__*/React.createElement(Icon, {
|
|
@@ -422,13 +454,13 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
422
454
|
gap: 4,
|
|
423
455
|
visible: visible,
|
|
424
456
|
onVisibleChange: onVisibleChange,
|
|
425
|
-
trigger:
|
|
457
|
+
trigger: expandTrigger,
|
|
426
458
|
getPopupContainer: getPopupContainer,
|
|
427
459
|
prefixCls: "".concat(prefixCls, "-menus"),
|
|
428
460
|
placement: allProps.popperPlacement || popupPlacement,
|
|
429
461
|
popperClassName: allProps.popperClassName || allProps.popupClassName,
|
|
430
462
|
getTriggerElement: function getTriggerElement() {
|
|
431
|
-
return
|
|
463
|
+
return mergeRef.current;
|
|
432
464
|
}
|
|
433
465
|
});
|
|
434
466
|
return usePopper(cascaderLocator, cascaderPopper, popperProps);
|
|
@@ -112,17 +112,6 @@
|
|
|
112
112
|
cursor: pointer;
|
|
113
113
|
background: var(--kd-c-cascader-color-background, var(--kd-g-color-white, #fff));
|
|
114
114
|
}
|
|
115
|
-
.kd-cascader-picker:focus > .kd-cascader-picker-input {
|
|
116
|
-
border-color: var(--kd-c-cascader-color-active, #999);
|
|
117
|
-
}
|
|
118
|
-
.kd-cascader-picker:focus > .kd-cascader-picker-input .kd-input-suffix,
|
|
119
|
-
.kd-cascader-picker:focus > .kd-cascader-picker-input i[class*='kdicon'] {
|
|
120
|
-
color: var(--kd-c-cascader-color-active, #999);
|
|
121
|
-
}
|
|
122
|
-
.kd-cascader-picker:hover > .kd-cascader-picker-input .kd-input-suffix,
|
|
123
|
-
.kd-cascader-picker:hover > .kd-cascader-picker-input i[class*='kdicon'] {
|
|
124
|
-
color: var(--kd-c-cascader-color-active, #999);
|
|
125
|
-
}
|
|
126
115
|
.kd-cascader-picker.disabled .kd-cascader-picker-input {
|
|
127
116
|
cursor: not-allowed;
|
|
128
117
|
border-color: var(--kd-g-color-border-strong, #d9d9d9);
|
|
@@ -148,7 +137,7 @@
|
|
|
148
137
|
text-overflow: ellipsis;
|
|
149
138
|
}
|
|
150
139
|
.kd-cascader-picker-input {
|
|
151
|
-
background-color: transparent
|
|
140
|
+
background-color: transparent;
|
|
152
141
|
-webkit-transition: all 0.2s;
|
|
153
142
|
transition: all 0.2s;
|
|
154
143
|
}
|
|
@@ -156,11 +145,7 @@
|
|
|
156
145
|
color: transparent !important;
|
|
157
146
|
cursor: pointer;
|
|
158
147
|
}
|
|
159
|
-
.kd-cascader-picker-input.expand {
|
|
160
|
-
border-color: var(--kd-c-cascader-color-active, #999);
|
|
161
|
-
}
|
|
162
148
|
.kd-cascader-picker-input.expand i[class*='kdicon'] {
|
|
163
|
-
color: var(--kd-c-cascader-color-active, #999);
|
|
164
149
|
-webkit-transform: rotate(180deg);
|
|
165
150
|
transform: rotate(180deg);
|
|
166
151
|
}
|
|
@@ -190,7 +175,7 @@
|
|
|
190
175
|
opacity: 0;
|
|
191
176
|
cursor: pointer;
|
|
192
177
|
visibility: hidden;
|
|
193
|
-
color: var(--kd-c-cascader-
|
|
178
|
+
color: var(--kd-c-cascader-clear-color-text, #d9d9d9);
|
|
194
179
|
-webkit-transition: all 0.1s;
|
|
195
180
|
transition: all 0.1s;
|
|
196
181
|
-webkit-transform-origin: 50% 50%;
|
|
@@ -199,7 +184,7 @@
|
|
|
199
184
|
transform: scale(0.9) translateY(-50%);
|
|
200
185
|
}
|
|
201
186
|
.kd-cascader-picker-close:hover {
|
|
202
|
-
color: var(--kd-c-cascader-color-
|
|
187
|
+
color: var(--kd-c-cascader-icon-clear-color-text-hover, #999);
|
|
203
188
|
}
|
|
204
189
|
.kd-cascader-menus {
|
|
205
190
|
-webkit-box-sizing: border-box;
|
|
@@ -312,6 +297,10 @@
|
|
|
312
297
|
border-bottom: 1px solid #d9d9d9;
|
|
313
298
|
background: var(--kd-c-cascader-color-background, var(--kd-g-color-white, #fff));
|
|
314
299
|
}
|
|
300
|
+
.kd-cascader-multiple:not(.kd-cascader-disabled):focus {
|
|
301
|
+
border-color: var(--kd-c-cascader-color-text-selected, var(--kd-g-color-theme, #5582f3));
|
|
302
|
+
outline: none;
|
|
303
|
+
}
|
|
315
304
|
.kd-cascader-multiple-wrapper {
|
|
316
305
|
display: -webkit-box;
|
|
317
306
|
display: -ms-flexbox;
|
|
@@ -325,7 +314,8 @@
|
|
|
325
314
|
}
|
|
326
315
|
.kd-cascader-placeholder {
|
|
327
316
|
position: absolute;
|
|
328
|
-
|
|
317
|
+
font-size: 14px;
|
|
318
|
+
color: var(--kd-c-cascader-placeholder-color, var(--kd-g-color-text-placeholder, #ccc));
|
|
329
319
|
overflow: hidden;
|
|
330
320
|
white-space: nowrap;
|
|
331
321
|
text-overflow: ellipsis;
|
|
@@ -380,9 +370,6 @@
|
|
|
380
370
|
transition: transform calc(0.3s - 0.1s) cubic-bezier(0.4, 0, 0.6, 1);
|
|
381
371
|
transition: transform calc(0.3s - 0.1s) cubic-bezier(0.4, 0, 0.6, 1), -webkit-transform calc(0.3s - 0.1s) cubic-bezier(0.4, 0, 0.6, 1);
|
|
382
372
|
}
|
|
383
|
-
.kd-cascader-icon-arrow-focus {
|
|
384
|
-
color: var(--kd-c-cascader-color-border-foucs, var(--kd-g-color-theme, #5582f3));
|
|
385
|
-
}
|
|
386
373
|
.kd-cascader-icon-clear {
|
|
387
374
|
opacity: 0;
|
|
388
375
|
z-index: 1;
|
|
@@ -390,7 +377,7 @@
|
|
|
390
377
|
background: #fff;
|
|
391
378
|
-webkit-transition: opacity 0.15s ease;
|
|
392
379
|
transition: opacity 0.15s ease;
|
|
393
|
-
color: var(--kd-c-cascader-
|
|
380
|
+
color: var(--kd-c-cascader-clear-color-text, #d9d9d9);
|
|
394
381
|
}
|
|
395
382
|
.kd-cascader-icon-clear:hover {
|
|
396
383
|
color: var(--kd-c-cascader-icon-clear-color-text-hover, #999);
|
|
@@ -412,7 +399,6 @@
|
|
|
412
399
|
-webkit-box-align: center;
|
|
413
400
|
-ms-flex-align: center;
|
|
414
401
|
align-items: center;
|
|
415
|
-
vertical-align: middle;
|
|
416
402
|
padding: 0 7px;
|
|
417
403
|
overflow: hidden;
|
|
418
404
|
white-space: nowrap;
|
|
@@ -420,3 +406,33 @@
|
|
|
420
406
|
border: 1px solid #ccc;
|
|
421
407
|
color: #212121;
|
|
422
408
|
}
|
|
409
|
+
.kd-cascader-disabled {
|
|
410
|
+
cursor: not-allowed;
|
|
411
|
+
}
|
|
412
|
+
.kd-cascader-disabled .kd-cascader-picker-label {
|
|
413
|
+
color: var(--kd-c-cascader-color-text-disabled, var(--kd-g-color-disabled, #b2b2b2));
|
|
414
|
+
}
|
|
415
|
+
.kd-cascader-disabled .kd-cascader-picker-input {
|
|
416
|
+
background-color: var(--kd-c-cascader-color-background-disabled, var(--kd-g-color-background-contain-disabled, #f5f5f5));
|
|
417
|
+
}
|
|
418
|
+
.kd-cascader-disabled .kd-cascader-picker-input > input {
|
|
419
|
+
background-color: var(--kd-c-cascader-color-background-disabled, var(--kd-g-color-background-contain-disabled, #f5f5f5));
|
|
420
|
+
}
|
|
421
|
+
.kd-cascader-disabled.kd-cascader-multiple {
|
|
422
|
+
background-color: var(--kd-c-cascader-color-background-disabled, var(--kd-g-color-background-contain-disabled, #f5f5f5));
|
|
423
|
+
}
|
|
424
|
+
.kd-cascader-disabled .kd-cascader-suffix {
|
|
425
|
+
color: var(--kd-c-cascader-color-text-disabled, var(--kd-g-color-disabled, #b2b2b2));
|
|
426
|
+
}
|
|
427
|
+
.kd-cascader-disabled .kd-cascader-tag-describe-content {
|
|
428
|
+
color: var(--kd-c-cascader-tag-disabled-color, #d9d9d9);
|
|
429
|
+
border-color: var(--kd-c-cascader-tag-disabled-color, #d9d9d9);
|
|
430
|
+
}
|
|
431
|
+
.kd-cascader-picker:not(.kd-cascader-disabled):hover .kd-input-wrapper,
|
|
432
|
+
.kd-cascader-expand .kd-input-wrapper {
|
|
433
|
+
border-color: var(--kd-c-cascader-color-border-foucs, var(--kd-g-color-theme, #5582f3));
|
|
434
|
+
}
|
|
435
|
+
.kd-cascader-multiple:not(.kd-cascader-disabled):hover,
|
|
436
|
+
.kd-cascader-expand {
|
|
437
|
+
border-color: var(--kd-c-cascader-color-border-foucs, var(--kd-g-color-theme, #5582f3));
|
|
438
|
+
}
|
|
@@ -12,22 +12,6 @@
|
|
|
12
12
|
cursor: pointer;
|
|
13
13
|
background: @cascader-bg-color;
|
|
14
14
|
|
|
15
|
-
&:focus > &-input {
|
|
16
|
-
border-color: @cascader-active-color;
|
|
17
|
-
|
|
18
|
-
.@{kd-prefix}-input-suffix,
|
|
19
|
-
i[class*='kdicon'] {
|
|
20
|
-
color: @cascader-active-color;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
&:hover > &-input {
|
|
25
|
-
.@{kd-prefix}-input-suffix,
|
|
26
|
-
i[class*='kdicon'] {
|
|
27
|
-
color: @cascader-active-color;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
|
|
31
15
|
&.disabled {
|
|
32
16
|
.@{cascader-picker-prefix-cls}-input {
|
|
33
17
|
cursor: not-allowed;
|
|
@@ -54,7 +38,7 @@
|
|
|
54
38
|
}
|
|
55
39
|
|
|
56
40
|
&-input {
|
|
57
|
-
background-color: transparent
|
|
41
|
+
background-color: transparent;
|
|
58
42
|
transition: all 0.2s;
|
|
59
43
|
|
|
60
44
|
> input {
|
|
@@ -63,10 +47,7 @@
|
|
|
63
47
|
}
|
|
64
48
|
|
|
65
49
|
&.expand {
|
|
66
|
-
border-color: @cascader-active-color;
|
|
67
|
-
|
|
68
50
|
i[class*='kdicon'] {
|
|
69
|
-
color: @cascader-active-color;
|
|
70
51
|
transform: rotate(180deg);
|
|
71
52
|
}
|
|
72
53
|
}
|
|
@@ -105,7 +86,7 @@
|
|
|
105
86
|
transform: scale(0.9) translateY(-50%);
|
|
106
87
|
|
|
107
88
|
&:hover {
|
|
108
|
-
color: @cascader-
|
|
89
|
+
color: @cascader-clear-color-hover;
|
|
109
90
|
}
|
|
110
91
|
}
|
|
111
92
|
}
|
|
@@ -217,6 +198,11 @@
|
|
|
217
198
|
position: relative;
|
|
218
199
|
border-bottom: 1px solid #d9d9d9;
|
|
219
200
|
background: @cascader-bg-color;
|
|
201
|
+
|
|
202
|
+
&:not(.@{kd-prefix}-cascader-disabled):focus {
|
|
203
|
+
border-color: @cascader-selected-color;
|
|
204
|
+
outline: none;
|
|
205
|
+
}
|
|
220
206
|
}
|
|
221
207
|
|
|
222
208
|
&-multiple-wrapper {
|
|
@@ -228,7 +214,8 @@
|
|
|
228
214
|
|
|
229
215
|
&-placeholder {
|
|
230
216
|
position: absolute;
|
|
231
|
-
|
|
217
|
+
font-size: @middle-font-size;
|
|
218
|
+
color: @cascader-placeholder-color;
|
|
232
219
|
overflow: hidden;
|
|
233
220
|
white-space: nowrap;
|
|
234
221
|
text-overflow: ellipsis;
|
|
@@ -267,10 +254,6 @@
|
|
|
267
254
|
transform: rotate(0deg);
|
|
268
255
|
transition: transform calc(@transition-duration - 0.1s) @ease;
|
|
269
256
|
}
|
|
270
|
-
|
|
271
|
-
&-focus {
|
|
272
|
-
color: @cascader-g-color-border-foucs;
|
|
273
|
-
}
|
|
274
257
|
}
|
|
275
258
|
|
|
276
259
|
&-clear {
|
|
@@ -285,6 +268,7 @@
|
|
|
285
268
|
}
|
|
286
269
|
}
|
|
287
270
|
}
|
|
271
|
+
|
|
288
272
|
&-tag {
|
|
289
273
|
&-describe {
|
|
290
274
|
font-size: 12px;
|
|
@@ -296,7 +280,6 @@
|
|
|
296
280
|
&-content {
|
|
297
281
|
display: inline-flex;
|
|
298
282
|
align-items: center;
|
|
299
|
-
vertical-align: middle;
|
|
300
283
|
padding: 0 7px;
|
|
301
284
|
overflow: hidden;
|
|
302
285
|
white-space: nowrap;
|
|
@@ -306,4 +289,43 @@
|
|
|
306
289
|
}
|
|
307
290
|
}
|
|
308
291
|
}
|
|
292
|
+
|
|
293
|
+
&-disabled {
|
|
294
|
+
cursor: not-allowed;
|
|
295
|
+
|
|
296
|
+
.@{kd-prefix}-cascader-picker-label {
|
|
297
|
+
color: @cascader-disabled-color;
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
.@{kd-prefix}-cascader-picker-input {
|
|
301
|
+
background-color: @cascader-disabled-color-background;
|
|
302
|
+
|
|
303
|
+
> input {
|
|
304
|
+
background-color: @cascader-disabled-color-background;
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
&.@{kd-prefix}-cascader-multiple {
|
|
309
|
+
background-color: @cascader-disabled-color-background;
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
.@{kd-prefix}-cascader-suffix {
|
|
313
|
+
color: @cascader-disabled-color;
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
.@{kd-prefix}-cascader-tag-describe-content {
|
|
317
|
+
color: @cascader-tag-disabled-color;
|
|
318
|
+
border-color: @cascader-tag-disabled-color;
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
&-picker:not(&-disabled):hover, &-expand {
|
|
323
|
+
.kd-input-wrapper {
|
|
324
|
+
border-color: @cascader-g-color-border-focus;
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
&-multiple:not(&-disabled):hover, &-expand {
|
|
329
|
+
border-color: @cascader-g-color-border-focus;
|
|
330
|
+
}
|
|
309
331
|
}
|
|
@@ -12,17 +12,18 @@
|
|
|
12
12
|
@cascader-menu-item-padding-horizontal: var(~'@{cascader-prefix}-menu-item-spacing-padding-horizontal', 12px);
|
|
13
13
|
|
|
14
14
|
// colors
|
|
15
|
-
@cascader-active-color: var(~'@{cascader-prefix}-color-active', #999);
|
|
16
15
|
@cascader-color: var(~'@{cascader-prefix}-color-text', @color-text-primary);
|
|
17
16
|
@cascader-bg-color: var(~'@{cascader-prefix}-color-background', @color-white);
|
|
18
17
|
@cascader-hover-bg-color: var(~'@{cascader-prefix}-color-background-hover', @color-hover);
|
|
19
18
|
@cascader-selected-color: var(~'@{cascader-prefix}-color-text-selected', @color-theme);
|
|
20
19
|
@cascader-selected-bg-color: var(~'@{cascader-prefix}-color-background-selected', @color-background-ongoing);
|
|
21
20
|
@cascader-disabled-color: var(~'@{cascader-prefix}-color-text-disabled', @color-disabled);
|
|
21
|
+
@cascader-disabled-color-background: var(~'@{cascader-prefix}-color-background-disabled', @color-background-contain-disabled);
|
|
22
22
|
@cascader-clear-color: var(~'@{cascader-prefix}-clear-color-text', #d9d9d9);
|
|
23
|
-
@cascader-g-color-border-foucs: var(~'@{cascader-prefix}-color-border-foucs', @color-theme);
|
|
24
|
-
@cascader-clear-color: var(~'@{cascader-prefix}-icon-clear-color-text', #d9d9d9);
|
|
25
23
|
@cascader-clear-color-hover: var(~'@{cascader-prefix}-icon-clear-color-text-hover', #999);
|
|
24
|
+
@cascader-g-color-border-focus: var(~'@{cascader-prefix}-color-border-foucs', @color-theme);
|
|
25
|
+
@cascader-tag-disabled-color: var(~'@{cascader-prefix}-tag-disabled-color', #d9d9d9);
|
|
26
|
+
@cascader-placeholder-color: var(~'@{cascader-prefix}-placeholder-color', @color-text-placeholder);
|
|
26
27
|
|
|
27
28
|
// font
|
|
28
29
|
@cascader-font-size: var(~'@{cascader-prefix}-font-size', @font-size-small);
|
|
@@ -14,20 +14,17 @@ import { Icon, Tabs, Spin } from '../index';
|
|
|
14
14
|
import usePopper from '../_utils/usePopper';
|
|
15
15
|
import Option from './option';
|
|
16
16
|
import escapeRegExp from 'lodash/escapeRegExp';
|
|
17
|
-
var tabsData = [{
|
|
18
|
-
id: 'domestic',
|
|
19
|
-
name: '国内'
|
|
20
|
-
}, {
|
|
21
|
-
id: 'foreign',
|
|
22
|
-
name: '国际/中国港澳台'
|
|
23
|
-
}];
|
|
24
17
|
var InternalSelect = function InternalSelect(props, ref) {
|
|
25
18
|
var _context, _classNames3, _classNames5;
|
|
26
19
|
var _useContext = useContext(ConfigContext),
|
|
27
20
|
getPrefixCls = _useContext.getPrefixCls,
|
|
28
21
|
prefixCls = _useContext.prefixCls,
|
|
29
|
-
userDefaultProps = _useContext.compDefaultProps
|
|
22
|
+
userDefaultProps = _useContext.compDefaultProps,
|
|
23
|
+
locale = _useContext.locale;
|
|
30
24
|
var selectProps = getCompProps('CityPicker', userDefaultProps, props);
|
|
25
|
+
var cityPickerLangMsg = locale.getCompLangMsg({
|
|
26
|
+
componentName: 'CityPicker'
|
|
27
|
+
});
|
|
31
28
|
var type = selectProps.type,
|
|
32
29
|
size = selectProps.size,
|
|
33
30
|
value = selectProps.value,
|
|
@@ -72,6 +69,13 @@ var InternalSelect = function InternalSelect(props, ref) {
|
|
|
72
69
|
_useMergedState2 = _slicedToArray(_useMergedState, 2),
|
|
73
70
|
initValue = _useMergedState2[0],
|
|
74
71
|
setInitValue = _useMergedState2[1];
|
|
72
|
+
var tabsData = [{
|
|
73
|
+
id: 'domestic',
|
|
74
|
+
name: cityPickerLangMsg === null || cityPickerLangMsg === void 0 ? void 0 : cityPickerLangMsg.tabsDomestic
|
|
75
|
+
}, {
|
|
76
|
+
id: 'foreign',
|
|
77
|
+
name: cityPickerLangMsg === null || cityPickerLangMsg === void 0 ? void 0 : cityPickerLangMsg.tabsInternation
|
|
78
|
+
}];
|
|
75
79
|
var innerRef = useRef();
|
|
76
80
|
var selectRef = ref || innerRef;
|
|
77
81
|
var searchRef = useRef(null); // 搜索框ref
|
|
@@ -112,20 +116,13 @@ var InternalSelect = function InternalSelect(props, ref) {
|
|
|
112
116
|
var city = _findInstanceProperty(cityList).call(cityList, function (city) {
|
|
113
117
|
return city.id === value;
|
|
114
118
|
});
|
|
115
|
-
|
|
116
|
-
setSeletedCity(city);
|
|
117
|
-
}
|
|
119
|
+
setSeletedCity(city);
|
|
118
120
|
}, [commonList, domesticList, foreignList, value]);
|
|
119
121
|
useEffect(function () {
|
|
120
122
|
if (typeof props.visible !== 'undefined') {
|
|
121
123
|
setOptionShow(props.visible);
|
|
122
124
|
}
|
|
123
125
|
}, [props.visible]);
|
|
124
|
-
useEffect(function () {
|
|
125
|
-
if (optionShow === false) {
|
|
126
|
-
handleClear();
|
|
127
|
-
}
|
|
128
|
-
}, [optionShow]);
|
|
129
126
|
var handleFocus = useCallback(function (e) {
|
|
130
127
|
e.stopPropagation();
|
|
131
128
|
setFocusd(true);
|
|
@@ -222,6 +219,7 @@ var InternalSelect = function InternalSelect(props, ref) {
|
|
|
222
219
|
}
|
|
223
220
|
};
|
|
224
221
|
var renderNodeList = function renderNodeList(data, notContent) {
|
|
222
|
+
var isCommon = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
225
223
|
if (!data.length) {
|
|
226
224
|
return renderNotContent(notContent);
|
|
227
225
|
}
|
|
@@ -232,7 +230,10 @@ var InternalSelect = function InternalSelect(props, ref) {
|
|
|
232
230
|
key: item.id,
|
|
233
231
|
value: initValue,
|
|
234
232
|
city: item,
|
|
235
|
-
|
|
233
|
+
className: searchValue ? "".concat(selectPrefixCls, "-list-item-match") : undefined,
|
|
234
|
+
renderCityInfo: function renderCityInfo(data, flag) {
|
|
235
|
+
return _renderCityInfo(data, isCommon, flag);
|
|
236
|
+
},
|
|
236
237
|
onChangeSelect: handleOption,
|
|
237
238
|
itemRender: itemRender
|
|
238
239
|
}, searchValue ? getHighlightText(item === null || item === void 0 ? void 0 : item.name, (item === null || item === void 0 ? void 0 : item[optionHighlightProps]) || searchValue) : item === null || item === void 0 ? void 0 : item.name);
|
|
@@ -260,21 +261,22 @@ var InternalSelect = function InternalSelect(props, ref) {
|
|
|
260
261
|
key: item.id,
|
|
261
262
|
tab: item.name
|
|
262
263
|
}, item);
|
|
263
|
-
})), tabsValue === 'domestic' ? renderNodeList(domesticList,
|
|
264
|
+
})), tabsValue === 'domestic' ? renderNodeList(domesticList, cityPickerLangMsg === null || cityPickerLangMsg === void 0 ? void 0 : cityPickerLangMsg.emptyText) : renderNodeList(foreignList, cityPickerLangMsg === null || cityPickerLangMsg === void 0 ? void 0 : cityPickerLangMsg.emptyText)) : /*#__PURE__*/React.createElement(React.Fragment, null, !!commonList.length && /*#__PURE__*/React.createElement("div", {
|
|
264
265
|
className: "".concat(selectPrefixCls, "-dropdown-common")
|
|
265
|
-
},
|
|
266
|
+
}, cityPickerLangMsg === null || cityPickerLangMsg === void 0 ? void 0 : cityPickerLangMsg.common), renderNodeList(commonList, cityPickerLangMsg === null || cityPickerLangMsg === void 0 ? void 0 : cityPickerLangMsg.commonEmptyText, true)));
|
|
266
267
|
};
|
|
267
|
-
var
|
|
268
|
-
var
|
|
269
|
-
var
|
|
268
|
+
var _renderCityInfo = useCallback(function (data) {
|
|
269
|
+
var isCommon = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
270
|
+
var flag = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
271
|
+
var symbol = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : ', ';
|
|
270
272
|
if (!data) return null;
|
|
271
273
|
if (isDomestic(type)) {
|
|
272
274
|
var _context3;
|
|
273
|
-
var curVal = tabsValue === 'domestic' ? data === null || data === void 0 ? void 0 : data.province : data === null || data === void 0 ? void 0 : data.country;
|
|
275
|
+
var curVal = tabsValue === 'domestic' || isCommon ? data === null || data === void 0 ? void 0 : data.province : data === null || data === void 0 ? void 0 : data.country;
|
|
274
276
|
return _concatInstanceProperty(_context3 = "".concat(flag && curVal ? symbol : '')).call(_context3, curVal);
|
|
275
277
|
} else {
|
|
276
278
|
var _context4, _context5, _context6;
|
|
277
|
-
return _concatInstanceProperty(_context4 = _concatInstanceProperty(_context5 = _concatInstanceProperty(_context6 = "".concat(flag && (data === null || data === void 0 ? void 0 : data.province) ? symbol : '')).call(_context6, data === null || data === void 0 ? void 0 : data.province)).call(_context5, (data === null || data === void 0 ? void 0 : data.country) ? symbol : '')).call(_context4, data === null || data === void 0 ? void 0 : data.country);
|
|
279
|
+
return _concatInstanceProperty(_context4 = _concatInstanceProperty(_context5 = _concatInstanceProperty(_context6 = "".concat(flag && ((data === null || data === void 0 ? void 0 : data.province) || (data === null || data === void 0 ? void 0 : data.country)) ? symbol : '')).call(_context6, data === null || data === void 0 ? void 0 : data.province)).call(_context5, (data === null || data === void 0 ? void 0 : data.country) && (data === null || data === void 0 ? void 0 : data.province) ? symbol : '')).call(_context4, data === null || data === void 0 ? void 0 : data.country);
|
|
278
280
|
}
|
|
279
281
|
}, [type, tabsValue]);
|
|
280
282
|
var renderSingle = function renderSingle() {
|
|
@@ -301,7 +303,7 @@ var InternalSelect = function InternalSelect(props, ref) {
|
|
|
301
303
|
title: seletedCity === null || seletedCity === void 0 ? void 0 : seletedCity.name
|
|
302
304
|
}, seletedCity === null || seletedCity === void 0 ? void 0 : seletedCity.name)), !searchValue && /*#__PURE__*/React.createElement("span", {
|
|
303
305
|
className: "".concat(selectPrefixCls, "-content-info")
|
|
304
|
-
},
|
|
306
|
+
}, _renderCityInfo(seletedCity))), /*#__PURE__*/React.createElement("span", {
|
|
305
307
|
className: "".concat(selectPrefixCls, "-placeholder"),
|
|
306
308
|
style: hiddenStyle
|
|
307
309
|
}, placeholder), /*#__PURE__*/React.createElement("span", {
|
|
@@ -373,7 +375,12 @@ var InternalSelect = function InternalSelect(props, ref) {
|
|
|
373
375
|
defaultVisible: optionShow,
|
|
374
376
|
visible: optionShow,
|
|
375
377
|
onVisibleChange: handleVisibleChange,
|
|
376
|
-
clickToClose: !searchValue
|
|
378
|
+
clickToClose: !searchValue,
|
|
379
|
+
onTransitionEnd: function onTransitionEnd() {
|
|
380
|
+
if (optionShow === false) {
|
|
381
|
+
handleClear();
|
|
382
|
+
}
|
|
383
|
+
}
|
|
377
384
|
});
|
|
378
385
|
return usePopper(renderCityPicker(), renderContent(), popperProps);
|
|
379
386
|
};
|