tntd 3.0.78 → 3.0.80
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/es/input/style/mixin.less +46 -45
- package/es/page-loading/index.js.map +1 -1
- package/es/tntd-cascader/AntdCascader/index.js +52 -1
- package/es/tntd-cascader/AntdCascader/index.js.map +1 -1
- package/es/tntd-cascader/rc-cascader/Cascader.js +5 -3
- package/es/tntd-cascader/rc-cascader/Cascader.js.map +1 -1
- package/es/tntd-cascader/rc-cascader/OptionList/Column.js +3 -2
- package/es/tntd-cascader/rc-cascader/OptionList/Column.js.map +1 -1
- package/es/tntd-cascader/rc-cascader/OptionList/useActive.js +6 -2
- package/es/tntd-cascader/rc-cascader/OptionList/useActive.js.map +1 -1
- package/es/tntd-cascader/rc-cascader/context.js +1 -1
- package/es/tntd-cascader/rc-cascader/context.js.map +1 -1
- package/es/tntd-cascader/rc-cascader/utils/commonUtil.js +4 -1
- package/es/tntd-cascader/rc-cascader/utils/commonUtil.js.map +1 -1
- package/lib/input/style/mixin.less +46 -45
- package/lib/page-loading/index.js.map +1 -1
- package/lib/tntd-cascader/AntdCascader/index.d.ts +1 -0
- package/lib/tntd-cascader/AntdCascader/index.d.ts.map +1 -1
- package/lib/tntd-cascader/AntdCascader/index.js +84 -1
- package/lib/tntd-cascader/AntdCascader/index.js.map +1 -1
- package/lib/tntd-cascader/rc-cascader/Cascader.d.ts +1 -0
- package/lib/tntd-cascader/rc-cascader/Cascader.d.ts.map +1 -1
- package/lib/tntd-cascader/rc-cascader/Cascader.js +5 -3
- package/lib/tntd-cascader/rc-cascader/Cascader.js.map +1 -1
- package/lib/tntd-cascader/rc-cascader/OptionList/Column.d.ts.map +1 -1
- package/lib/tntd-cascader/rc-cascader/OptionList/Column.js +3 -2
- package/lib/tntd-cascader/rc-cascader/OptionList/Column.js.map +1 -1
- package/lib/tntd-cascader/rc-cascader/OptionList/useActive.d.ts.map +1 -1
- package/lib/tntd-cascader/rc-cascader/OptionList/useActive.js +6 -2
- package/lib/tntd-cascader/rc-cascader/OptionList/useActive.js.map +1 -1
- package/lib/tntd-cascader/rc-cascader/context.d.ts +1 -0
- package/lib/tntd-cascader/rc-cascader/context.d.ts.map +1 -1
- package/lib/tntd-cascader/rc-cascader/context.js +1 -1
- package/lib/tntd-cascader/rc-cascader/context.js.map +1 -1
- package/lib/tntd-cascader/rc-cascader/utils/commonUtil.d.ts.map +1 -1
- package/lib/tntd-cascader/rc-cascader/utils/commonUtil.js +4 -1
- package/lib/tntd-cascader/rc-cascader/utils/commonUtil.js.map +1 -1
- package/package.json +2 -2
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
// input status
|
|
20
20
|
// == when focus or actived
|
|
21
21
|
.active(@color: @outline-color) {
|
|
22
|
-
border-color
|
|
22
|
+
border-color:~`colorPalette('@{color}', 5) `;
|
|
23
23
|
border-right-width: @border-width-base !important;
|
|
24
24
|
outline: 0;
|
|
25
25
|
box-shadow: @input-outline-offset @outline-blur-size @outline-width fade(@color, 20%);
|
|
@@ -110,7 +110,7 @@
|
|
|
110
110
|
padding-left: 0;
|
|
111
111
|
}
|
|
112
112
|
|
|
113
|
-
>
|
|
113
|
+
>[class*='col-'] {
|
|
114
114
|
padding-right: 8px;
|
|
115
115
|
|
|
116
116
|
&:last-child {
|
|
@@ -120,7 +120,7 @@
|
|
|
120
120
|
|
|
121
121
|
&-addon,
|
|
122
122
|
&-wrap,
|
|
123
|
-
|
|
123
|
+
>.@{inputClass} {
|
|
124
124
|
display: table-cell;
|
|
125
125
|
|
|
126
126
|
&:not(:first-child):not(:last-child) {
|
|
@@ -135,7 +135,7 @@
|
|
|
135
135
|
vertical-align: middle;
|
|
136
136
|
}
|
|
137
137
|
|
|
138
|
-
&-wrap
|
|
138
|
+
&-wrap>* {
|
|
139
139
|
display: block !important;
|
|
140
140
|
}
|
|
141
141
|
|
|
@@ -171,6 +171,7 @@
|
|
|
171
171
|
// Reset Select's style in addon
|
|
172
172
|
.@{ant-prefix}-select {
|
|
173
173
|
margin: calc(-1px - @input-padding-vertical-base) (-@input-padding-horizontal-base);
|
|
174
|
+
|
|
174
175
|
.@{ant-prefix}-select-selection {
|
|
175
176
|
margin: -1px;
|
|
176
177
|
background-color: inherit;
|
|
@@ -178,17 +179,17 @@
|
|
|
178
179
|
box-shadow: none;
|
|
179
180
|
}
|
|
180
181
|
|
|
181
|
-
&-open,
|
|
182
|
-
&-focused {
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
}
|
|
182
|
+
// &-open,
|
|
183
|
+
// &-focused {
|
|
184
|
+
// .@{ant-prefix}-select-selection {
|
|
185
|
+
// color: @primary-color;
|
|
186
|
+
// }
|
|
187
|
+
// }
|
|
187
188
|
}
|
|
188
189
|
|
|
189
190
|
// Expand addon icon click area
|
|
190
191
|
// https://github.com/ant-design/ant-design/issues/3714
|
|
191
|
-
>
|
|
192
|
+
>i:only-child::after {
|
|
192
193
|
position: absolute;
|
|
193
194
|
top: 0;
|
|
194
195
|
right: 0;
|
|
@@ -199,7 +200,7 @@
|
|
|
199
200
|
}
|
|
200
201
|
|
|
201
202
|
// Reset rounded corners
|
|
202
|
-
|
|
203
|
+
>.@{inputClass}:first-child,
|
|
203
204
|
&-addon:first-child {
|
|
204
205
|
border-top-right-radius: 0;
|
|
205
206
|
border-bottom-right-radius: 0;
|
|
@@ -211,7 +212,7 @@
|
|
|
211
212
|
}
|
|
212
213
|
}
|
|
213
214
|
|
|
214
|
-
|
|
215
|
+
>.@{inputClass}-affix-wrapper {
|
|
215
216
|
&:not(:first-child) .@{inputClass} {
|
|
216
217
|
border-top-left-radius: 0;
|
|
217
218
|
border-bottom-left-radius: 0;
|
|
@@ -231,7 +232,7 @@
|
|
|
231
232
|
border-left: 0;
|
|
232
233
|
}
|
|
233
234
|
|
|
234
|
-
|
|
235
|
+
>.@{inputClass}:last-child,
|
|
235
236
|
&-addon:last-child {
|
|
236
237
|
border-top-left-radius: 0;
|
|
237
238
|
border-bottom-left-radius: 0;
|
|
@@ -245,12 +246,12 @@
|
|
|
245
246
|
|
|
246
247
|
// Sizing options
|
|
247
248
|
&-lg .@{inputClass},
|
|
248
|
-
&-lg
|
|
249
|
+
&-lg>&-addon {
|
|
249
250
|
.input-lg();
|
|
250
251
|
}
|
|
251
252
|
|
|
252
253
|
&-sm .@{inputClass},
|
|
253
|
-
&-sm
|
|
254
|
+
&-sm>&-addon {
|
|
254
255
|
.input-sm();
|
|
255
256
|
}
|
|
256
257
|
|
|
@@ -275,7 +276,7 @@
|
|
|
275
276
|
|
|
276
277
|
&-addon,
|
|
277
278
|
&-wrap,
|
|
278
|
-
|
|
279
|
+
>.@{inputClass} {
|
|
279
280
|
&:not(:first-child):not(:last-child) {
|
|
280
281
|
border-right-width: @border-width-base;
|
|
281
282
|
|
|
@@ -289,14 +290,14 @@
|
|
|
289
290
|
}
|
|
290
291
|
}
|
|
291
292
|
|
|
292
|
-
|
|
293
|
+
&>* {
|
|
293
294
|
display: inline-block;
|
|
294
295
|
float: none;
|
|
295
296
|
vertical-align: top; // https://github.com/ant-design/ant-design-pro/issues/139
|
|
296
297
|
border-radius: 0;
|
|
297
298
|
}
|
|
298
299
|
|
|
299
|
-
|
|
300
|
+
&>*:not(:last-child) {
|
|
300
301
|
margin-right: -@border-width-base;
|
|
301
302
|
border-right-width: @border-width-base;
|
|
302
303
|
}
|
|
@@ -307,13 +308,13 @@
|
|
|
307
308
|
}
|
|
308
309
|
|
|
309
310
|
// reset border for Select, DatePicker, AutoComplete, Cascader, Mention, TimePicker, Input
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
311
|
+
&>.@{ant-prefix}-select>.@{ant-prefix}-select-selection,
|
|
312
|
+
&>.@{ant-prefix}-calendar-picker .@{ant-prefix}-input,
|
|
313
|
+
&>.@{ant-prefix}-select-auto-complete .@{ant-prefix}-input,
|
|
314
|
+
&>.@{ant-prefix}-cascader-picker .@{ant-prefix}-input,
|
|
315
|
+
&>.@{ant-prefix}-mention-wrapper .@{ant-prefix}-mention-editor,
|
|
316
|
+
&>.@{ant-prefix}-time-picker .@{ant-prefix}-time-picker-input,
|
|
317
|
+
&>.@{ant-prefix}-input-group-wrapper .@{ant-prefix}-input {
|
|
317
318
|
border-right-width: @border-width-base;
|
|
318
319
|
border-radius: 0;
|
|
319
320
|
|
|
@@ -326,32 +327,32 @@
|
|
|
326
327
|
}
|
|
327
328
|
}
|
|
328
329
|
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
330
|
+
&>*:first-child,
|
|
331
|
+
&>.@{ant-prefix}-select:first-child>.@{ant-prefix}-select-selection,
|
|
332
|
+
&>.@{ant-prefix}-calendar-picker:first-child .@{ant-prefix}-input,
|
|
333
|
+
&>.@{ant-prefix}-select-auto-complete:first-child .@{ant-prefix}-input,
|
|
334
|
+
&>.@{ant-prefix}-cascader-picker:first-child .@{ant-prefix}-input,
|
|
335
|
+
&>.@{ant-prefix}-mention-wrapper:first-child .@{ant-prefix}-mention-editor,
|
|
336
|
+
&>.@{ant-prefix}-time-picker:first-child .@{ant-prefix}-time-picker-input {
|
|
336
337
|
border-top-left-radius: @border-radius-base;
|
|
337
338
|
border-bottom-left-radius: @border-radius-base;
|
|
338
339
|
}
|
|
339
340
|
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
341
|
+
&>*:last-child,
|
|
342
|
+
&>.@{ant-prefix}-select:last-child>.@{ant-prefix}-select-selection,
|
|
343
|
+
&>.@{ant-prefix}-calendar-picker:last-child .@{ant-prefix}-input,
|
|
344
|
+
&>.@{ant-prefix}-select-auto-complete:last-child .@{ant-prefix}-input,
|
|
345
|
+
&>.@{ant-prefix}-cascader-picker:last-child .@{ant-prefix}-input,
|
|
346
|
+
&>.@{ant-prefix}-cascader-picker-focused:last-child .@{ant-prefix}-input,
|
|
347
|
+
&>.@{ant-prefix}-mention-wrapper:last-child .@{ant-prefix}-mention-editor,
|
|
348
|
+
&>.@{ant-prefix}-time-picker:last-child .@{ant-prefix}-time-picker-input {
|
|
348
349
|
border-right-width: @border-width-base;
|
|
349
350
|
border-top-right-radius: @border-radius-base;
|
|
350
351
|
border-bottom-right-radius: @border-radius-base;
|
|
351
352
|
}
|
|
352
353
|
|
|
353
354
|
// https://github.com/ant-design/ant-design/issues/12493
|
|
354
|
-
|
|
355
|
+
&>.@{ant-prefix}-select-auto-complete .@{ant-prefix}-input {
|
|
355
356
|
vertical-align: top;
|
|
356
357
|
}
|
|
357
358
|
}
|
|
@@ -394,7 +395,7 @@
|
|
|
394
395
|
}
|
|
395
396
|
}
|
|
396
397
|
|
|
397
|
-
.@{inputClass}-disabled
|
|
398
|
+
.@{inputClass}-disabled~.@{inputClass}-suffix {
|
|
398
399
|
.anticon {
|
|
399
400
|
color: @disabled-color;
|
|
400
401
|
cursor: not-allowed;
|
|
@@ -442,7 +443,7 @@
|
|
|
442
443
|
color: @text-color;
|
|
443
444
|
}
|
|
444
445
|
|
|
445
|
-
+
|
|
446
|
+
+i {
|
|
446
447
|
margin-left: 6px;
|
|
447
448
|
}
|
|
448
|
-
}
|
|
449
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/page-loading/index.js"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,cAAc,MAAM,wCAAwC,CAAA;AAEnE,OAAO,cAAc,CAAA;AAErB,eAAe,CAAC,KAAK,EAAE,EAAE;IACvB,MAAM,EAAE,SAAS,EAAE,OAAO,KAAe,KAAK,EAAf,KAAK,UAAK,KAAK,EAAxC,wBAAgC,CAAQ,CAAA;IAC9C,MAAM,cAAc,GAAG,OAAO,IAAI,IAAI,CAAA;IACtC,OAAO,CACL,oBAAC,cAAc,IAAC,aAAa,EAAC,aAAa,IACxC,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE;QACtB,OAAO,CACL,2CAAK,SAAS,EAAE,EAAE,CAAC,4BAA4B,EAAE,cAAc,GAAG,cAAc,EAAE,SAAS,CAAC,IAAM,KAAK;YACrG,6BAAK,SAAS,EAAC,qBAAqB;gBAClC,kCAAO,MAAM,CAAC,IAAI,CAAQ,CACtB,CACF,CACP,CAAA;IACH,CAAC,CACc,CAClB,CAAA;AACH,CAAC,CAAC","sourcesContent":["import React from 'react'\nimport cn from 'classnames'\nimport LocaleReceiver from 'antd/es/locale-provider/LocaleReceiver'\n\nimport './index.less'\n\nexport default (props) => {\n const { className, version, ...other } = props\n const currentVersion = version || 'v3'\n return (\n <LocaleReceiver componentName=\"PageLoading\">\n {(locale, localeCode) => {\n return (\n <div className={cn('tnt-page-loading-container', 'tnt-current-' + currentVersion, className)} {...other}>\n <div className=\"tnt-page-loading-bg\">\n <span>{locale.text}</span>\n </div>\n </div>\n )\n }}\n </LocaleReceiver>\n )\n}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/page-loading/index.js"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,cAAc,MAAM,wCAAwC,CAAA;AAEnE,OAAO,cAAc,CAAA;AAErB,eAAe,CAAC,KAAK,EAAE,EAAE;IACvB,MAAM,EAAE,SAAS,EAAE,OAAO,KAAe,KAAK,EAAf,KAAK,UAAK,KAAK,EAAxC,wBAAgC,CAAQ,CAAA;IAC9C,MAAM,cAAc,GAAG,OAAO,IAAI,IAAI,CAAA;IACtC,OAAO,CACL,oBAAC,cAAc,IAAC,aAAa,EAAC,aAAa,IACxC,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE;QACtB,OAAO,CACL,2CAAK,SAAS,EAAE,EAAE,CAAC,4BAA4B,EAAE,cAAc,GAAG,cAAc,EAAE,SAAS,CAAC,IAAM,KAAK;YACrG,6BAAK,SAAS,EAAC,qBAAqB;gBAClC,kCAAO,MAAM,CAAC,IAAI,CAAQ,CACtB,CACF,CACP,CAAA;IACH,CAAC,CACc,CAClB,CAAA;AACH,CAAC,CAAC","sourcesContent":["import React from 'react'\nimport cn from 'classnames'\nimport LocaleReceiver from 'antd/es/locale-provider/LocaleReceiver'\n\nimport './index.less'\n\nexport default (props) => {\n const { className, version, ...other } = props\n const currentVersion = version || 'v3'\n return (\n <LocaleReceiver componentName=\"PageLoading\">\n {(locale, localeCode) => {\n return (\n <div className={cn('tnt-page-loading-container', 'tnt-current-' + currentVersion, className)} {...other}>\n <div className=\"tnt-page-loading-bg\">\n <span>{locale.text}</span>\n </div>\n </div>\n )\n }}\n </LocaleReceiver>\n )\n};"]}
|
|
@@ -17,6 +17,7 @@ var _useCompactItemContext = require("./component/useCompactItemContext");
|
|
|
17
17
|
var _FormItemInputContext = require("./component/FormItemInputContext");
|
|
18
18
|
var _getIcons2 = _interopRequireDefault(require("./component/getIcons"));
|
|
19
19
|
var _utils = require("./config/utils");
|
|
20
|
+
var _commonUtil = require("../rc-cascader/utils/commonUtil");
|
|
20
21
|
var _warning = _interopRequireDefault(require("./config/warning"));
|
|
21
22
|
var _icon = _interopRequireDefault(require("../../icon"));
|
|
22
23
|
require("./index.less");
|
|
@@ -26,6 +27,10 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default":
|
|
|
26
27
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
27
28
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
28
29
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
30
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
31
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
32
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
33
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
29
34
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
30
35
|
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
31
36
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
@@ -103,8 +108,54 @@ var Cascader = React.forwardRef(function (props, ref) {
|
|
|
103
108
|
getPopupContainer = props.getPopupContainer,
|
|
104
109
|
customStatus = props.status,
|
|
105
110
|
showArrow = props.showArrow,
|
|
106
|
-
|
|
111
|
+
defaultTagRender = props.defaultTagRender,
|
|
112
|
+
rest = __rest(props, ["prefixCls", "size", "disabled", "className", "multiple", "bordered", "transitionName", "choiceTransitionName", "popupClassName", "dropdownClassName", "expandIcon", "placement", "showSearch", "allowClear", "notFoundContent", "direction", "getPopupContainer", "status", "showArrow", "defaultTagRender"]);
|
|
107
113
|
var restProps = (0, _omit["default"])(rest, ['suffixIcon']);
|
|
114
|
+
var _React$useState = React.useState(),
|
|
115
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
116
|
+
multipleItemValue = _React$useState2[0],
|
|
117
|
+
setMultipleItemValue = _React$useState2[1];
|
|
118
|
+
if (defaultTagRender && multiple && !(props === null || props === void 0 ? void 0 : props.multipleItemValue) && !(props === null || props === void 0 ? void 0 : props.tagRender)) {
|
|
119
|
+
Object.assign(restProps, {
|
|
120
|
+
tagRender: function tagRender(props) {
|
|
121
|
+
var label = props.label,
|
|
122
|
+
closable = props.closable,
|
|
123
|
+
onClose = props.onClose,
|
|
124
|
+
disabled = props.disabled,
|
|
125
|
+
value = props.value;
|
|
126
|
+
return React.createElement("span", {
|
|
127
|
+
// 4. 补充鼠标事件的类型标注
|
|
128
|
+
onMouseDown: function onMouseDown(e) {
|
|
129
|
+
e.preventDefault(); // 可选:阻止默认行为(如选中文本)
|
|
130
|
+
var newValue = (0, _commonUtil.toPathValueStr)(value);
|
|
131
|
+
setMultipleItemValue([newValue]);
|
|
132
|
+
},
|
|
133
|
+
// 7. 优化类名拼接:优先使用props的disabled,兜底restProps的disabled
|
|
134
|
+
className: "tntd-select-selection-item ".concat((disabled || customDisabled) && 'tntd-select-selection-item-disabled')
|
|
135
|
+
}, React.createElement("span", {
|
|
136
|
+
className: "tntd-select-selection-item-content"
|
|
137
|
+
}, label), closable && !disabled && !customDisabled ?
|
|
138
|
+
// 8. 禁用时隐藏关闭按钮
|
|
139
|
+
// 9. 修复onClose立即执行的问题:改为回调函数
|
|
140
|
+
React.createElement("span", {
|
|
141
|
+
className: "tntd-select-selection-item-remove",
|
|
142
|
+
onClick: function onClick() {
|
|
143
|
+
return onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
144
|
+
}
|
|
145
|
+
}, React.createElement(_icon["default"], {
|
|
146
|
+
type: "close"
|
|
147
|
+
})) : null);
|
|
148
|
+
},
|
|
149
|
+
multipleItemValue: multipleItemValue
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
React.useEffect(function () {
|
|
153
|
+
if (multiple && defaultTagRender) {
|
|
154
|
+
return function () {
|
|
155
|
+
setMultipleItemValue(undefined);
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
}, [multiple, defaultTagRender]);
|
|
108
159
|
var _useContext = (0, _react.useContext)(_context.ConfigContext),
|
|
109
160
|
getContextPopupContainer = _useContext.getPopupContainer,
|
|
110
161
|
getPrefixCls = _useContext.getPrefixCls,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tntd-cascader/AntdCascader/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import classNames from 'classnames'\nimport type {\n BaseOptionType,\n DefaultOptionType,\n FieldNames,\n MultipleCascaderProps as RcMultipleCascaderProps,\n ShowSearchType,\n SingleCascaderProps as RcSingleCascaderProps,\n} from '../rc-cascader'\nimport RcCascader from '../rc-cascader'\nimport omit from 'rc-util/lib/omit'\nimport * as React from 'react'\nimport { useContext } from 'react'\nimport { ConfigContext } from './component/context'\nimport defaultRenderEmpty from './component/defaultRenderEmpty'\nimport DisabledContext from './component/DisabledContext'\nimport type { SizeType } from './interface'\nimport { SizeContext } from './component/SizeContext'\nimport { useCompactItemContext } from './component/useCompactItemContext'\nimport { FormItemInputContext } from './component/FormItemInputContext'\nimport getIcons from './component/getIcons'\nimport type { SelectCommonPlacement } from './interface'\nimport {\n getTransitionDirection,\n getTransitionName,\n getMergedStatus,\n getStatusClassNames,\n} from './config/utils'\nimport type { InputStatus } from './interface'\nimport warning from './config/warning'\nimport Icon from '../../icon'\nimport './index.less'\n\n// Align the design since we use `rc-select` in root. This help:\n// - List search content will show all content\n// - Hover opacity style\n// - Search filter match case\n\nexport { BaseOptionType, DefaultOptionType }\n\nexport type FieldNamesType = FieldNames\n\nexport type FilledFieldNamesType = Required<FieldNamesType>\n\nconst { SHOW_CHILD, SHOW_PARENT } = RcCascader\n\nfunction highlightKeyword(str: string, lowerKeyword: string, prefixCls: string | undefined) {\n const cells = str\n .toLowerCase()\n .split(lowerKeyword)\n .reduce(\n (list, cur, index) => (index === 0 ? [cur] : [...list, lowerKeyword, cur]),\n [] as string[]\n )\n const fillCells: React.ReactNode[] = []\n let start = 0\n\n cells.forEach((cell: string, index: number) => {\n const end = start + cell.length\n let originWorld: React.ReactNode = str.slice(start, end)\n start = end\n\n if (index % 2 === 1) {\n originWorld = (\n <span className={`${prefixCls}-menu-item-keyword`} key={`seperator-${index}`}>\n {originWorld}\n </span>\n )\n }\n\n fillCells.push(originWorld)\n })\n\n return fillCells\n}\n\nconst defaultSearchRender: ShowSearchType['render'] = (inputValue, path, prefixCls, fieldNames) => {\n const optionList: React.ReactNode[] = []\n\n // We do lower here to save perf\n const lower = inputValue.toLowerCase()\n\n path.forEach((node, index) => {\n if (index !== 0) {\n optionList.push(' / ')\n }\n\n let label = (node as any)[fieldNames.label!]\n const type = typeof label\n if (type === 'string' || type === 'number') {\n label = highlightKeyword(String(label), lower, prefixCls)\n }\n\n optionList.push(label)\n })\n return optionList\n}\n\ntype SingleCascaderProps = Omit<RcSingleCascaderProps, 'checkable' | 'options'> & {\n multiple?: false\n}\ntype MultipleCascaderProps = Omit<RcMultipleCascaderProps, 'checkable' | 'options'> & {\n multiple: true\n}\n\ntype UnionCascaderProps = SingleCascaderProps | MultipleCascaderProps\n\nexport type CascaderProps<DataNodeType> = UnionCascaderProps & {\n multiple?: boolean\n size?: SizeType\n disabled?: boolean\n bordered?: boolean\n placement?: SelectCommonPlacement\n suffixIcon?: React.ReactNode\n options?: DataNodeType[]\n status?: InputStatus\n /**\n * @deprecated `dropdownClassName` is deprecated which will be removed in next major\n * version.Please use `popupClassName` instead.\n */\n dropdownClassName?: string\n}\n\nexport interface CascaderRef {\n focus: () => void\n blur: () => void\n}\n\nconst Cascader = React.forwardRef((props: CascaderProps<any>, ref: React.Ref<CascaderRef>) => {\n const {\n prefixCls: customizePrefixCls,\n size: customizeSize,\n disabled: customDisabled,\n className,\n multiple,\n bordered = true,\n transitionName,\n choiceTransitionName = '',\n popupClassName,\n dropdownClassName,\n expandIcon,\n placement,\n showSearch,\n allowClear = true,\n notFoundContent,\n direction,\n getPopupContainer,\n status: customStatus,\n showArrow,\n ...rest\n } = props\n\n const restProps = omit(rest, ['suffixIcon' as any])\n\n const {\n getPopupContainer: getContextPopupContainer,\n getPrefixCls,\n renderEmpty,\n direction: rootDirection,\n // virtual,\n // dropdownMatchSelectWidth,\n } = useContext(ConfigContext)\n\n const mergedDirection = direction || rootDirection\n const isRtl = mergedDirection === 'rtl'\n\n // =================== Form =====================\n const {\n status: contextStatus,\n hasFeedback,\n isFormItemInput,\n feedbackIcon,\n } = useContext(FormItemInputContext)\n const mergedStatus = getMergedStatus(contextStatus, customStatus)\n\n // =================== Warning =====================\n warning(\n !dropdownClassName,\n 'Cascader',\n '`dropdownClassName` is deprecated which will be removed in next major version. Please use `popupClassName` instead.'\n )\n\n warning(\n !multiple || !props.displayRender,\n 'Cascader',\n '`displayRender` not work on `multiple`. Please use `tagRender` instead.'\n )\n\n // =================== No Found ====================\n const mergedNotFoundContent = notFoundContent || (renderEmpty || defaultRenderEmpty)('Cascader')\n\n // ==================== Prefix =====================\n const rootPrefixCls = getPrefixCls()\n const prefixCls = getPrefixCls('select', customizePrefixCls)\n const cascaderPrefixCls = getPrefixCls('cascader', customizePrefixCls)\n const { compactSize, compactItemClassnames } = useCompactItemContext(prefixCls, direction)\n // =================== Dropdown ====================\n const mergedDropdownClassName = classNames(\n popupClassName || dropdownClassName,\n `${cascaderPrefixCls}-dropdown`,\n {\n [`${cascaderPrefixCls}-dropdown-rtl`]: mergedDirection === 'rtl',\n }\n )\n\n // ==================== Search =====================\n const mergedShowSearch = React.useMemo(() => {\n if (!showSearch) {\n return showSearch\n }\n\n let searchConfig: ShowSearchType = {\n render: defaultSearchRender,\n }\n\n if (typeof showSearch === 'object') {\n searchConfig = {\n ...searchConfig,\n ...showSearch,\n }\n }\n\n return searchConfig\n }, [showSearch])\n\n // ===================== Size ======================\n const size = React.useContext(SizeContext)\n const mergedSize = compactSize || customizeSize || size\n\n // ===================== Disabled =====================\n const disabled = React.useContext(DisabledContext)\n const mergedDisabled = customDisabled ?? disabled\n\n // ===================== Icon ======================\n let mergedExpandIcon = expandIcon\n if (!expandIcon) {\n mergedExpandIcon = isRtl ? <Icon type=\"left\" /> : <Icon type=\"right\" />\n }\n\n const loadingIcon = (\n <span className={`${prefixCls}-menu-item-loading-icon`}>\n <Icon type=\"loading\" />\n </span>\n )\n\n // =================== Multiple ====================\n const checkable = React.useMemo(\n () => (multiple ? <span className={`${cascaderPrefixCls}-checkbox-inner`} /> : false),\n [multiple]\n )\n\n // ===================== Icons =====================\n const mergedShowArrow = showArrow !== undefined ? showArrow : props.loading || !multiple\n const { suffixIcon, removeIcon, clearIcon } = getIcons({\n ...props,\n hasFeedback,\n feedbackIcon,\n showArrow: mergedShowArrow,\n multiple,\n prefixCls,\n })\n\n // ===================== Placement =====================\n const getPlacement = () => {\n if (placement !== undefined) {\n return placement\n }\n return direction === 'rtl'\n ? ('bottomRight' as SelectCommonPlacement)\n : ('bottomLeft' as SelectCommonPlacement)\n }\n\n // ==================== Render =====================\n return (\n <RcCascader\n prefixCls={prefixCls}\n className={classNames(\n !customizePrefixCls && cascaderPrefixCls,\n {\n [`${prefixCls}-lg`]: mergedSize === 'large',\n [`${prefixCls}-sm`]: mergedSize === 'small',\n [`${prefixCls}-rtl`]: isRtl,\n [`${prefixCls}-borderless`]: !bordered,\n [`${prefixCls}-in-form-item`]: isFormItemInput,\n },\n getStatusClassNames(prefixCls, mergedStatus, hasFeedback),\n compactItemClassnames,\n className\n )}\n disabled={mergedDisabled}\n {...(restProps as any)}\n direction={mergedDirection}\n placement={getPlacement()}\n notFoundContent={mergedNotFoundContent}\n allowClear={allowClear}\n showSearch={mergedShowSearch}\n expandIcon={mergedExpandIcon}\n inputIcon={suffixIcon}\n removeIcon={removeIcon}\n clearIcon={clearIcon}\n loadingIcon={loadingIcon}\n checkable={checkable}\n dropdownClassName={mergedDropdownClassName}\n dropdownPrefixCls={customizePrefixCls || cascaderPrefixCls}\n choiceTransitionName={getTransitionName(rootPrefixCls, '', choiceTransitionName)}\n transitionName={getTransitionName(\n rootPrefixCls,\n getTransitionDirection(placement),\n transitionName\n )}\n getPopupContainer={getPopupContainer || getContextPopupContainer}\n ref={ref}\n showArrow={hasFeedback || showArrow}\n />\n )\n}) as unknown as (<OptionType extends BaseOptionType | DefaultOptionType = DefaultOptionType>(\n props: React.PropsWithChildren<CascaderProps<OptionType>> & { ref?: React.Ref<CascaderRef> }\n) => React.ReactElement) & {\n displayName: string\n SHOW_PARENT: typeof SHOW_PARENT\n SHOW_CHILD: typeof SHOW_CHILD\n}\nif (process.env.NODE_ENV !== 'production') {\n Cascader.displayName = 'Cascader'\n}\nCascader.SHOW_PARENT = SHOW_PARENT\nCascader.SHOW_CHILD = SHOW_CHILD\n\nexport default Cascader\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tntd-cascader/AntdCascader/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import classNames from 'classnames'\nimport type {\n BaseOptionType,\n DefaultOptionType,\n FieldNames,\n MultipleCascaderProps as RcMultipleCascaderProps,\n ShowSearchType,\n SingleCascaderProps as RcSingleCascaderProps,\n} from '../rc-cascader'\nimport RcCascader from '../rc-cascader'\nimport omit from 'rc-util/lib/omit'\nimport * as React from 'react'\nimport { useContext } from 'react'\nimport { ConfigContext } from './component/context'\nimport defaultRenderEmpty from './component/defaultRenderEmpty'\nimport DisabledContext from './component/DisabledContext'\nimport type { SizeType } from './interface'\nimport { SizeContext } from './component/SizeContext'\nimport { useCompactItemContext } from './component/useCompactItemContext'\nimport { FormItemInputContext } from './component/FormItemInputContext'\nimport getIcons from './component/getIcons'\nimport type { SelectCommonPlacement } from './interface'\nimport {\n getTransitionDirection,\n getTransitionName,\n getMergedStatus,\n getStatusClassNames,\n} from './config/utils'\nimport { toPathValueStr } from '../rc-cascader/utils/commonUtil'\nimport type { InputStatus } from './interface'\nimport warning from './config/warning'\nimport Icon from '../../icon'\nimport './index.less'\n\n// Align the design since we use `rc-select` in root. This help:\n// - List search content will show all content\n// - Hover opacity style\n// - Search filter match case\n\nexport { BaseOptionType, DefaultOptionType }\n\nexport type FieldNamesType = FieldNames\n\nexport type FilledFieldNamesType = Required<FieldNamesType>\n\nconst { SHOW_CHILD, SHOW_PARENT } = RcCascader\n\nfunction highlightKeyword(str: string, lowerKeyword: string, prefixCls: string | undefined) {\n const cells = str\n .toLowerCase()\n .split(lowerKeyword)\n .reduce(\n (list, cur, index) => (index === 0 ? [cur] : [...list, lowerKeyword, cur]),\n [] as string[]\n )\n const fillCells: React.ReactNode[] = []\n let start = 0\n\n cells.forEach((cell: string, index: number) => {\n const end = start + cell.length\n let originWorld: React.ReactNode = str.slice(start, end)\n start = end\n\n if (index % 2 === 1) {\n originWorld = (\n <span className={`${prefixCls}-menu-item-keyword`} key={`seperator-${index}`}>\n {originWorld}\n </span>\n )\n }\n\n fillCells.push(originWorld)\n })\n\n return fillCells\n}\n\nconst defaultSearchRender: ShowSearchType['render'] = (inputValue, path, prefixCls, fieldNames) => {\n const optionList: React.ReactNode[] = []\n\n // We do lower here to save perf\n const lower = inputValue.toLowerCase()\n\n path.forEach((node, index) => {\n if (index !== 0) {\n optionList.push(' / ')\n }\n\n let label = (node as any)[fieldNames.label!]\n const type = typeof label\n if (type === 'string' || type === 'number') {\n label = highlightKeyword(String(label), lower, prefixCls)\n }\n\n optionList.push(label)\n })\n return optionList\n}\n\ntype SingleCascaderProps = Omit<RcSingleCascaderProps, 'checkable' | 'options'> & {\n multiple?: false\n}\ntype MultipleCascaderProps = Omit<RcMultipleCascaderProps, 'checkable' | 'options'> & {\n multiple: true\n}\n\ntype UnionCascaderProps = SingleCascaderProps | MultipleCascaderProps\n\nexport type CascaderProps<DataNodeType> = UnionCascaderProps & {\n multiple?: boolean\n size?: SizeType\n disabled?: boolean\n bordered?: boolean\n placement?: SelectCommonPlacement\n suffixIcon?: React.ReactNode\n options?: DataNodeType[]\n status?: InputStatus\n /**\n * @deprecated `dropdownClassName` is deprecated which will be removed in next major\n * version.Please use `popupClassName` instead.\n */\n dropdownClassName?: string\n defaultTagRender?: boolean\n}\n\nexport interface CascaderRef {\n focus: () => void\n blur: () => void\n}\n\ntype MultipleItemValueType = undefined | string[][]\n\nconst Cascader = React.forwardRef((props: CascaderProps<any>, ref: React.Ref<CascaderRef>) => {\n const {\n prefixCls: customizePrefixCls,\n size: customizeSize,\n disabled: customDisabled,\n className,\n multiple,\n bordered = true,\n transitionName,\n choiceTransitionName = '',\n popupClassName,\n dropdownClassName,\n expandIcon,\n placement,\n showSearch,\n allowClear = true,\n notFoundContent,\n direction,\n getPopupContainer,\n status: customStatus,\n showArrow,\n defaultTagRender,\n ...rest\n } = props\n\n const restProps = omit(rest, ['suffixIcon' as any])\n\n const [multipleItemValue, setMultipleItemValue] = React.useState<MultipleItemValueType>()\n\n if (defaultTagRender && multiple && !props?.multipleItemValue && !props?.tagRender) {\n Object.assign(restProps, {\n tagRender: (props: any) => {\n const { label, closable, onClose, disabled, value } = props\n return (\n <span\n // 4. 补充鼠标事件的类型标注\n onMouseDown={(e: React.MouseEvent<HTMLSpanElement>) => {\n e.preventDefault() // 可选:阻止默认行为(如选中文本)\n const newValue = toPathValueStr(value)\n setMultipleItemValue([newValue])\n }}\n // 7. 优化类名拼接:优先使用props的disabled,兜底restProps的disabled\n className={`tntd-select-selection-item ${\n (disabled || customDisabled) && 'tntd-select-selection-item-disabled'\n }`}\n >\n <span className=\"tntd-select-selection-item-content\">{label}</span>\n {closable && !disabled && !customDisabled ? ( // 8. 禁用时隐藏关闭按钮\n // 9. 修复onClose立即执行的问题:改为回调函数\n <span className=\"tntd-select-selection-item-remove\" onClick={() => onClose?.()}>\n <Icon type=\"close\" />\n </span>\n ) : null}\n </span>\n )\n },\n multipleItemValue,\n })\n }\n React.useEffect(() => {\n if (multiple && defaultTagRender) {\n return () => {\n setMultipleItemValue(undefined)\n }\n }\n }, [multiple, defaultTagRender])\n\n const {\n getPopupContainer: getContextPopupContainer,\n getPrefixCls,\n renderEmpty,\n direction: rootDirection,\n // virtual,\n // dropdownMatchSelectWidth,\n } = useContext(ConfigContext)\n\n const mergedDirection = direction || rootDirection\n const isRtl = mergedDirection === 'rtl'\n\n // =================== Form =====================\n const {\n status: contextStatus,\n hasFeedback,\n isFormItemInput,\n feedbackIcon,\n } = useContext(FormItemInputContext)\n const mergedStatus = getMergedStatus(contextStatus, customStatus)\n\n // =================== Warning =====================\n warning(\n !dropdownClassName,\n 'Cascader',\n '`dropdownClassName` is deprecated which will be removed in next major version. Please use `popupClassName` instead.'\n )\n\n warning(\n !multiple || !props.displayRender,\n 'Cascader',\n '`displayRender` not work on `multiple`. Please use `tagRender` instead.'\n )\n\n // =================== No Found ====================\n const mergedNotFoundContent = notFoundContent || (renderEmpty || defaultRenderEmpty)('Cascader')\n\n // ==================== Prefix =====================\n const rootPrefixCls = getPrefixCls()\n const prefixCls = getPrefixCls('select', customizePrefixCls)\n const cascaderPrefixCls = getPrefixCls('cascader', customizePrefixCls)\n const { compactSize, compactItemClassnames } = useCompactItemContext(prefixCls, direction)\n // =================== Dropdown ====================\n const mergedDropdownClassName = classNames(\n popupClassName || dropdownClassName,\n `${cascaderPrefixCls}-dropdown`,\n {\n [`${cascaderPrefixCls}-dropdown-rtl`]: mergedDirection === 'rtl',\n }\n )\n\n // ==================== Search =====================\n const mergedShowSearch = React.useMemo(() => {\n if (!showSearch) {\n return showSearch\n }\n\n let searchConfig: ShowSearchType = {\n render: defaultSearchRender,\n }\n\n if (typeof showSearch === 'object') {\n searchConfig = {\n ...searchConfig,\n ...showSearch,\n }\n }\n\n return searchConfig\n }, [showSearch])\n\n // ===================== Size ======================\n const size = React.useContext(SizeContext)\n const mergedSize = compactSize || customizeSize || size\n\n // ===================== Disabled =====================\n const disabled = React.useContext(DisabledContext)\n const mergedDisabled = customDisabled ?? disabled\n\n // ===================== Icon ======================\n let mergedExpandIcon = expandIcon\n if (!expandIcon) {\n mergedExpandIcon = isRtl ? <Icon type=\"left\" /> : <Icon type=\"right\" />\n }\n\n const loadingIcon = (\n <span className={`${prefixCls}-menu-item-loading-icon`}>\n <Icon type=\"loading\" />\n </span>\n )\n\n // =================== Multiple ====================\n const checkable = React.useMemo(\n () => (multiple ? <span className={`${cascaderPrefixCls}-checkbox-inner`} /> : false),\n [multiple]\n )\n\n // ===================== Icons =====================\n const mergedShowArrow = showArrow !== undefined ? showArrow : props.loading || !multiple\n const { suffixIcon, removeIcon, clearIcon } = getIcons({\n ...props,\n hasFeedback,\n feedbackIcon,\n showArrow: mergedShowArrow,\n multiple,\n prefixCls,\n })\n\n // ===================== Placement =====================\n const getPlacement = () => {\n if (placement !== undefined) {\n return placement\n }\n return direction === 'rtl'\n ? ('bottomRight' as SelectCommonPlacement)\n : ('bottomLeft' as SelectCommonPlacement)\n }\n\n // ==================== Render =====================\n return (\n <RcCascader\n prefixCls={prefixCls}\n className={classNames(\n !customizePrefixCls && cascaderPrefixCls,\n {\n [`${prefixCls}-lg`]: mergedSize === 'large',\n [`${prefixCls}-sm`]: mergedSize === 'small',\n [`${prefixCls}-rtl`]: isRtl,\n [`${prefixCls}-borderless`]: !bordered,\n [`${prefixCls}-in-form-item`]: isFormItemInput,\n },\n getStatusClassNames(prefixCls, mergedStatus, hasFeedback),\n compactItemClassnames,\n className\n )}\n disabled={mergedDisabled}\n {...(restProps as any)}\n direction={mergedDirection}\n placement={getPlacement()}\n notFoundContent={mergedNotFoundContent}\n allowClear={allowClear}\n showSearch={mergedShowSearch}\n expandIcon={mergedExpandIcon}\n inputIcon={suffixIcon}\n removeIcon={removeIcon}\n clearIcon={clearIcon}\n loadingIcon={loadingIcon}\n checkable={checkable}\n dropdownClassName={mergedDropdownClassName}\n dropdownPrefixCls={customizePrefixCls || cascaderPrefixCls}\n choiceTransitionName={getTransitionName(rootPrefixCls, '', choiceTransitionName)}\n transitionName={getTransitionName(\n rootPrefixCls,\n getTransitionDirection(placement),\n transitionName\n )}\n getPopupContainer={getPopupContainer || getContextPopupContainer}\n ref={ref}\n showArrow={hasFeedback || showArrow}\n />\n )\n}) as unknown as (<OptionType extends BaseOptionType | DefaultOptionType = DefaultOptionType>(\n props: React.PropsWithChildren<CascaderProps<OptionType>> & { ref?: React.Ref<CascaderRef> }\n) => React.ReactElement) & {\n displayName: string\n SHOW_PARENT: typeof SHOW_PARENT\n SHOW_CHILD: typeof SHOW_CHILD\n}\nif (process.env.NODE_ENV !== 'production') {\n Cascader.displayName = 'Cascader'\n}\nCascader.SHOW_PARENT = SHOW_PARENT\nCascader.SHOW_CHILD = SHOW_CHILD\n\nexport default Cascader\n"]}
|
|
@@ -96,7 +96,8 @@ var Cascader = React.forwardRef(function (props, ref) {
|
|
|
96
96
|
_props$showCheckedStr = props.showCheckedStrategy,
|
|
97
97
|
showCheckedStrategy = _props$showCheckedStr === void 0 ? _commonUtil.SHOW_PARENT : _props$showCheckedStr,
|
|
98
98
|
optionsNum = props.optionsNum,
|
|
99
|
-
|
|
99
|
+
multipleItemValue = props.multipleItemValue,
|
|
100
|
+
restProps = __rest(props, ["id", "prefixCls", "fieldNames", "defaultValue", "value", "changeOnSelect", "onChange", "displayRender", "checkable", "searchValue", "onSearch", "showSearch", "expandTrigger", "options", "dropdownPrefixCls", "loadData", "popupVisible", "open", "popupClassName", "dropdownClassName", "dropdownMenuColumnStyle", "popupPlacement", "placement", "onDropdownVisibleChange", "onPopupVisibleChange", "renderItem", "expandIcon", "loadingIcon", "children", "dropdownMatchSelectWidth", "showCheckedStrategy", "optionsNum", "multipleItemValue"]);
|
|
100
101
|
var mergedId = (0, _useId["default"])(id);
|
|
101
102
|
var multiple = !!checkable;
|
|
102
103
|
var _React$useState = React.useState(false),
|
|
@@ -291,9 +292,10 @@ var Cascader = React.forwardRef(function (props, ref) {
|
|
|
291
292
|
dropdownMenuColumnStyle: dropdownMenuColumnStyle,
|
|
292
293
|
renderItem: renderItem,
|
|
293
294
|
dropdownVisible: dropdownVisible,
|
|
294
|
-
optionsNum: optionsNum
|
|
295
|
+
optionsNum: optionsNum,
|
|
296
|
+
multipleItemValue: multipleItemValue
|
|
295
297
|
};
|
|
296
|
-
}, [mergedOptions, mergedFieldNames, checkedValues, halfCheckedValues, changeOnSelect, onInternalSelect, checkable, searchOptions, dropdownPrefixCls, loadData, expandTrigger, expandIcon, loadingIcon, dropdownMenuColumnStyle, renderItem, dropdownVisible, optionsNum]);
|
|
298
|
+
}, [mergedOptions, mergedFieldNames, checkedValues, halfCheckedValues, changeOnSelect, onInternalSelect, checkable, searchOptions, dropdownPrefixCls, loadData, expandTrigger, expandIcon, loadingIcon, dropdownMenuColumnStyle, renderItem, dropdownVisible, optionsNum, multipleItemValue]);
|
|
297
299
|
// ==============================================================
|
|
298
300
|
// == Render ==
|
|
299
301
|
// ==============================================================
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Cascader.js","sourceRoot":"","sources":["../../../src/tntd-cascader/rc-cascader/Cascader.tsx"],"names":[],"mappings":"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","sourcesContent":["// @ts-nocheck\nimport type { BaseSelectProps, BaseSelectPropsWithoutPrivate, BaseSelectRef } from 'rc-select'\nimport { BaseSelect } from 'rc-select'\nimport type { DisplayValueType, Placement } from 'rc-select/lib/BaseSelect'\nimport useId from 'rc-select/lib/hooks/useId'\nimport { conductCheck } from 'rc-tree/lib/utils/conductUtil'\nimport useMergedState from 'rc-util/lib/hooks/useMergedState'\nimport * as React from 'react'\nimport CascaderContext from './context'\nimport useDisplayValues from './hooks/useDisplayValues'\nimport useEntities from './hooks/useEntities'\nimport useMissingValues from './hooks/useMissingValues'\nimport useRefFunc from './hooks/useRefFunc'\nimport useSearchConfig from './hooks/useSearchConfig'\nimport useSearchOptions from './hooks/useSearchOptions'\nimport OptionList from './OptionList'\nimport { fillFieldNames, SHOW_CHILD, SHOW_PARENT, toPathKey, toPathKeys } from './utils/commonUtil'\nimport { formatStrategyValues, toPathOptions } from './utils/treeUtil'\nimport warningProps, { warningNullOptions } from './utils/warningPropsUtil'\nimport { RenderItem } from './context'\nimport { getLanguage, getText } from '../../prev-locale'\nimport './index.less'\n\nconst defaultPlaceholder = getText('select', getLanguage())\n\nexport interface ShowSearchType<OptionType extends BaseOptionType = DefaultOptionType> {\n filter?: (inputValue: string, options: OptionType[], fieldNames: FieldNames) => boolean\n render?: (\n inputValue: string,\n path: OptionType[],\n prefixCls: string,\n fieldNames: FieldNames\n ) => React.ReactNode\n sort?: (a: OptionType[], b: OptionType[], inputValue: string, fieldNames: FieldNames) => number\n matchInputWidth?: boolean\n limit?: number | false\n}\n\nexport interface FieldNames {\n label?: string\n value?: string\n children?: string\n}\n\nexport interface InternalFieldNames extends Required<FieldNames> {\n key: string\n}\n\nexport type SingleValueType = (string | number)[]\n\nexport type ValueType = SingleValueType | SingleValueType[]\nexport type ShowCheckedStrategy = typeof SHOW_PARENT | typeof SHOW_CHILD\n\nexport interface BaseOptionType {\n disabled?: boolean\n [name: string]: any\n}\nexport interface DefaultOptionType extends BaseOptionType {\n label: React.ReactNode\n value?: string | number | null\n children?: DefaultOptionType[]\n}\n\ninterface BaseCascaderProps<OptionType extends BaseOptionType = DefaultOptionType>\n extends Omit<\n BaseSelectPropsWithoutPrivate,\n 'tokenSeparators' | 'labelInValue' | 'mode' | 'showSearch'\n > {\n // MISC\n id?: string\n prefixCls?: string\n fieldNames?: FieldNames\n children?: React.ReactElement\n\n // Value\n value?: ValueType\n defaultValue?: ValueType\n changeOnSelect?: boolean\n displayRender?: (label: string[], selectedOptions?: OptionType[]) => React.ReactNode\n checkable?: boolean | React.ReactNode\n showCheckedStrategy?: ShowCheckedStrategy\n\n // Search\n showSearch?: boolean | ShowSearchType<OptionType>\n searchValue?: string\n onSearch?: (value: string) => void\n\n // Trigger\n expandTrigger?: 'hover' | 'click'\n\n // Options\n options?: OptionType[]\n /** @private Internal usage. Do not use in your production. */\n dropdownPrefixCls?: string\n loadData?: (selectOptions: OptionType[]) => void\n\n // Open\n /** @deprecated Use `open` instead */\n popupVisible?: boolean\n\n /** @deprecated Use `dropdownClassName` instead */\n popupClassName?: string\n dropdownClassName?: string\n dropdownMenuColumnStyle?: React.CSSProperties\n\n /** @deprecated Use `placement` instead */\n popupPlacement?: Placement\n placement?: Placement\n\n /** @deprecated Use `onDropdownVisibleChange` instead */\n onPopupVisibleChange?: (open: boolean) => void\n onDropdownVisibleChange?: (open: boolean) => void\n renderItem?: (item: RenderItem) => React.ReactNode\n\n // Icon\n expandIcon?: React.ReactNode\n loadingIcon?: React.ReactNode\n optionsNum?: number\n}\n\ntype OnSingleChange<OptionType> = (value: SingleValueType, selectOptions: OptionType[]) => void\ntype OnMultipleChange<OptionType> = (\n value: SingleValueType[],\n selectOptions: OptionType[][]\n) => void\n\nexport interface SingleCascaderProps<OptionType extends BaseOptionType = DefaultOptionType>\n extends BaseCascaderProps<OptionType> {\n checkable?: false\n\n onChange?: OnSingleChange<OptionType>\n}\n\nexport interface MultipleCascaderProps<OptionType extends BaseOptionType = DefaultOptionType>\n extends BaseCascaderProps<OptionType> {\n checkable: true | React.ReactNode\n\n onChange?: OnMultipleChange<OptionType>\n}\n\nexport type CascaderProps<OptionType extends BaseOptionType = DefaultOptionType> =\n | SingleCascaderProps<OptionType>\n | MultipleCascaderProps<OptionType>\n\nexport type InternalCascaderProps<OptionType extends BaseOptionType = DefaultOptionType> = Omit<\n SingleCascaderProps<OptionType> | MultipleCascaderProps<OptionType>,\n 'onChange'\n> & {\n onChange?: (\n value: SingleValueType | SingleValueType[],\n selectOptions: OptionType[] | OptionType[][]\n ) => void\n}\n\nexport type CascaderRef = Omit<BaseSelectRef, 'scrollTo'>\n\nfunction isMultipleValue(value: ValueType): value is SingleValueType[] {\n return Array.isArray(value) && Array.isArray(value[0])\n}\n\nfunction toRawValues(value: ValueType): SingleValueType[] {\n if (!value) {\n return []\n }\n\n if (isMultipleValue(value)) {\n return value\n }\n\n return (value.length === 0 ? [] : [value]).map((val) => (Array.isArray(val) ? val : [val]))\n}\n\nconst Cascader = React.forwardRef<CascaderRef, InternalCascaderProps>((props, ref) => {\n const {\n // MISC\n id,\n prefixCls = 'rc-cascader',\n fieldNames,\n\n // Value\n defaultValue,\n value,\n changeOnSelect,\n onChange,\n displayRender,\n checkable,\n\n // Search\n searchValue,\n onSearch,\n showSearch,\n\n // Trigger\n expandTrigger,\n\n // Options\n options,\n dropdownPrefixCls,\n loadData,\n\n // Open\n popupVisible,\n open,\n\n popupClassName,\n dropdownClassName,\n dropdownMenuColumnStyle,\n\n popupPlacement,\n placement,\n\n onDropdownVisibleChange,\n onPopupVisibleChange,\n renderItem,\n\n // Icon\n expandIcon = '>',\n loadingIcon,\n\n // Children\n children,\n dropdownMatchSelectWidth = false,\n showCheckedStrategy = SHOW_PARENT,\n optionsNum,\n ...restProps\n } = props\n\n const mergedId = useId(id)\n const multiple = !!checkable\n const [dropdownVisible, setDropdownVisible] = React.useState(false)\n\n // =========================== Values ===========================\n const [rawValues, setRawValues] = useMergedState<ValueType, SingleValueType[]>(defaultValue, {\n value,\n postState: toRawValues,\n })\n\n // ========================= FieldNames =========================\n const mergedFieldNames = React.useMemo(\n () => fillFieldNames(fieldNames),\n /* eslint-disable react-hooks/exhaustive-deps */\n [JSON.stringify(fieldNames)]\n /* eslint-enable react-hooks/exhaustive-deps */\n )\n\n // =========================== Option ===========================\n const mergedOptions = React.useMemo(() => options || [], [options])\n\n // Only used in multiple mode, this fn will not call in single mode\n const getPathKeyEntities = useEntities(mergedOptions, mergedFieldNames)\n\n /** Convert path key back to value format */\n const getValueByKeyPath = React.useCallback(\n (pathKeys: React.Key[]): SingleValueType[] => {\n const keyPathEntities = getPathKeyEntities()\n\n return pathKeys.map((pathKey) => {\n const { nodes } = keyPathEntities[pathKey]\n\n return nodes.map((node) => node[mergedFieldNames.value])\n })\n },\n [getPathKeyEntities, mergedFieldNames]\n )\n\n // =========================== Search ===========================\n const [mergedSearchValue, setSearchValue] = useMergedState('', {\n value: searchValue,\n postState: (search) => search || '',\n })\n\n const onInternalSearch: BaseSelectProps['onSearch'] = (searchText, info) => {\n setSearchValue(searchText)\n\n if (info.source !== 'blur' && onSearch) {\n onSearch(searchText)\n }\n }\n\n const [mergedShowSearch, searchConfig] = useSearchConfig(showSearch)\n\n const searchOptions = useSearchOptions(\n mergedSearchValue,\n mergedOptions,\n mergedFieldNames,\n dropdownPrefixCls || prefixCls,\n searchConfig,\n changeOnSelect\n )\n\n // =========================== Values ===========================\n const getMissingValues = useMissingValues(mergedOptions, mergedFieldNames)\n\n // Fill `rawValues` with checked conduction values\n const [checkedValues, halfCheckedValues, missingCheckedValues] = React.useMemo(() => {\n const [existValues, missingValues] = getMissingValues(rawValues)\n\n if (!multiple || !rawValues.length) {\n return [existValues, [], missingValues]\n }\n\n const keyPathValues = toPathKeys(existValues)\n const keyPathEntities = getPathKeyEntities()\n\n const { checkedKeys, halfCheckedKeys } = conductCheck(keyPathValues, true, keyPathEntities)\n\n // Convert key back to value cells\n return [getValueByKeyPath(checkedKeys), getValueByKeyPath(halfCheckedKeys), missingValues]\n }, [multiple, rawValues, getPathKeyEntities, getValueByKeyPath, getMissingValues])\n\n const deDuplicatedValues = React.useMemo(() => {\n const checkedKeys = toPathKeys(checkedValues)\n const deduplicateKeys = formatStrategyValues(\n checkedKeys,\n getPathKeyEntities,\n showCheckedStrategy\n )\n\n return [...missingCheckedValues, ...getValueByKeyPath(deduplicateKeys)]\n }, [\n checkedValues,\n getPathKeyEntities,\n getValueByKeyPath,\n missingCheckedValues,\n showCheckedStrategy,\n ])\n\n const displayValues = useDisplayValues(\n deDuplicatedValues,\n mergedOptions,\n mergedFieldNames,\n multiple,\n displayRender\n )\n\n // =========================== Change ===========================\n const triggerChange = useRefFunc((nextValues: ValueType) => {\n setRawValues(nextValues)\n\n // Save perf if no need trigger event\n if (onChange) {\n const nextRawValues = toRawValues(nextValues)\n\n const valueOptions = nextRawValues.map((valueCells) =>\n toPathOptions(valueCells, mergedOptions, mergedFieldNames).map(\n (valueOpt) => valueOpt.option\n )\n )\n\n const triggerValues = multiple ? nextRawValues : nextRawValues[0]\n const triggerOptions = multiple ? valueOptions : valueOptions[0]\n\n onChange(triggerValues, triggerOptions)\n }\n })\n\n // =========================== Select ===========================\n const onInternalSelect = useRefFunc((valuePath: SingleValueType) => {\n setSearchValue('')\n if (!multiple) {\n triggerChange(valuePath)\n } else {\n // Prepare conduct required info\n const pathKey = toPathKey(valuePath)\n const checkedPathKeys = toPathKeys(checkedValues)\n const halfCheckedPathKeys = toPathKeys(halfCheckedValues)\n\n const existInChecked = checkedPathKeys.includes(pathKey)\n const existInMissing = missingCheckedValues.some(\n (valueCells) => toPathKey(valueCells) === pathKey\n )\n\n // Do update\n let nextCheckedValues = checkedValues\n let nextMissingValues = missingCheckedValues\n\n if (existInMissing && !existInChecked) {\n // Missing value only do filter\n nextMissingValues = missingCheckedValues.filter(\n (valueCells) => toPathKey(valueCells) !== pathKey\n )\n } else {\n // Update checked key first\n const nextRawCheckedKeys = existInChecked\n ? checkedPathKeys.filter((key) => key !== pathKey)\n : [...checkedPathKeys, pathKey]\n\n const pathKeyEntities = getPathKeyEntities()\n\n // Conduction by selected or not\n let checkedKeys: React.Key[]\n if (existInChecked) {\n ;({ checkedKeys } = conductCheck(\n nextRawCheckedKeys,\n { checked: false, halfCheckedKeys: halfCheckedPathKeys },\n pathKeyEntities\n ))\n } else {\n ;({ checkedKeys } = conductCheck(nextRawCheckedKeys, true, pathKeyEntities))\n }\n\n // Roll up to parent level keys\n const deDuplicatedKeys = formatStrategyValues(\n checkedKeys,\n getPathKeyEntities,\n showCheckedStrategy\n )\n nextCheckedValues = getValueByKeyPath(deDuplicatedKeys)\n }\n\n triggerChange([...nextMissingValues, ...nextCheckedValues])\n }\n })\n\n // Display Value change logic\n const onDisplayValuesChange: BaseSelectProps['onDisplayValuesChange'] = (_, info) => {\n if (info.type === 'clear') {\n triggerChange([])\n return\n }\n\n // Cascader do not support `add` type. Only support `remove`\n const { valueCells } = info.values[0] as DisplayValueType & { valueCells: SingleValueType }\n onInternalSelect(valueCells)\n }\n\n // ============================ Open ============================\n const mergedOpen = open !== undefined ? open : popupVisible\n\n const mergedDropdownClassName = dropdownClassName || popupClassName\n\n const mergedPlacement = placement || popupPlacement\n\n const onInternalDropdownVisibleChange = (nextVisible: boolean) => {\n onDropdownVisibleChange?.(nextVisible)\n onPopupVisibleChange?.(nextVisible)\n setDropdownVisible(nextVisible)\n }\n\n // ========================== Warning ===========================\n if (process.env.NODE_ENV !== 'production') {\n warningProps(props)\n warningNullOptions(mergedOptions, mergedFieldNames)\n }\n\n // ========================== Context ===========================\n const cascaderContext = React.useMemo(\n () => ({\n options: mergedOptions,\n fieldNames: mergedFieldNames,\n values: checkedValues,\n halfValues: halfCheckedValues,\n changeOnSelect,\n onSelect: onInternalSelect,\n checkable,\n searchOptions,\n dropdownPrefixCls,\n loadData,\n expandTrigger,\n expandIcon,\n loadingIcon,\n dropdownMenuColumnStyle,\n renderItem,\n dropdownVisible,\n optionsNum,\n }),\n [\n mergedOptions,\n mergedFieldNames,\n checkedValues,\n halfCheckedValues,\n changeOnSelect,\n onInternalSelect,\n checkable,\n searchOptions,\n dropdownPrefixCls,\n loadData,\n expandTrigger,\n expandIcon,\n loadingIcon,\n dropdownMenuColumnStyle,\n renderItem,\n dropdownVisible,\n optionsNum,\n ]\n )\n\n // ==============================================================\n // == Render ==\n // ==============================================================\n const emptyOptions = !(mergedSearchValue ? searchOptions : mergedOptions).length\n\n const dropdownStyle: React.CSSProperties =\n // Search to match width\n (mergedSearchValue && searchConfig.matchInputWidth) ||\n // Empty keep the width\n emptyOptions\n ? {}\n : {\n minWidth: 'auto',\n }\n return (\n <CascaderContext.Provider value={cascaderContext}>\n <BaseSelect\n placeholder={defaultPlaceholder}\n {...restProps}\n // MISC\n ref={ref as any}\n id={mergedId}\n prefixCls={prefixCls}\n dropdownMatchSelectWidth={dropdownMatchSelectWidth}\n dropdownStyle={dropdownStyle}\n // Value\n displayValues={displayValues}\n onDisplayValuesChange={onDisplayValuesChange}\n mode={multiple ? 'multiple' : undefined}\n // Search\n searchValue={mergedSearchValue}\n onSearch={onInternalSearch}\n showSearch={mergedShowSearch}\n // Options\n OptionList={OptionList}\n emptyOptions={emptyOptions}\n // Open\n open={mergedOpen}\n dropdownClassName={mergedDropdownClassName}\n placement={mergedPlacement}\n onDropdownVisibleChange={onInternalDropdownVisibleChange}\n // Children\n getRawInputElement={() => children}\n />\n </CascaderContext.Provider>\n )\n}) as unknown as (<OptionType extends BaseOptionType | DefaultOptionType = DefaultOptionType>(\n props: React.PropsWithChildren<CascaderProps<OptionType>> & {\n ref?: React.Ref<BaseSelectRef>\n }\n) => React.ReactElement) & {\n displayName?: string\n SHOW_PARENT: typeof SHOW_PARENT\n SHOW_CHILD: typeof SHOW_CHILD\n}\n\nif (process.env.NODE_ENV !== 'production') {\n Cascader.displayName = 'Cascader'\n}\n\nCascader.SHOW_PARENT = SHOW_PARENT\nCascader.SHOW_CHILD = SHOW_CHILD\nexport default Cascader\n"]}
|
|
1
|
+
{"version":3,"file":"Cascader.js","sourceRoot":"","sources":["../../../src/tntd-cascader/rc-cascader/Cascader.tsx"],"names":[],"mappings":"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","sourcesContent":["// @ts-nocheck\nimport type { BaseSelectProps, BaseSelectPropsWithoutPrivate, BaseSelectRef } from 'rc-select'\nimport { BaseSelect } from 'rc-select'\nimport type { DisplayValueType, Placement } from 'rc-select/lib/BaseSelect'\nimport useId from 'rc-select/lib/hooks/useId'\nimport { conductCheck } from 'rc-tree/lib/utils/conductUtil'\nimport useMergedState from 'rc-util/lib/hooks/useMergedState'\nimport * as React from 'react'\nimport CascaderContext from './context'\nimport useDisplayValues from './hooks/useDisplayValues'\nimport useEntities from './hooks/useEntities'\nimport useMissingValues from './hooks/useMissingValues'\nimport useRefFunc from './hooks/useRefFunc'\nimport useSearchConfig from './hooks/useSearchConfig'\nimport useSearchOptions from './hooks/useSearchOptions'\nimport OptionList from './OptionList'\nimport { fillFieldNames, SHOW_CHILD, SHOW_PARENT, toPathKey, toPathKeys } from './utils/commonUtil'\nimport { formatStrategyValues, toPathOptions } from './utils/treeUtil'\nimport warningProps, { warningNullOptions } from './utils/warningPropsUtil'\nimport { RenderItem } from './context'\nimport { getLanguage, getText } from '../../prev-locale'\nimport './index.less'\n\nconst defaultPlaceholder = getText('select', getLanguage())\n\nexport interface ShowSearchType<OptionType extends BaseOptionType = DefaultOptionType> {\n filter?: (inputValue: string, options: OptionType[], fieldNames: FieldNames) => boolean\n render?: (\n inputValue: string,\n path: OptionType[],\n prefixCls: string,\n fieldNames: FieldNames\n ) => React.ReactNode\n sort?: (a: OptionType[], b: OptionType[], inputValue: string, fieldNames: FieldNames) => number\n matchInputWidth?: boolean\n limit?: number | false\n}\n\nexport interface FieldNames {\n label?: string\n value?: string\n children?: string\n}\n\nexport interface InternalFieldNames extends Required<FieldNames> {\n key: string\n}\n\nexport type SingleValueType = (string | number)[]\n\nexport type ValueType = SingleValueType | SingleValueType[]\nexport type ShowCheckedStrategy = typeof SHOW_PARENT | typeof SHOW_CHILD\n\nexport interface BaseOptionType {\n disabled?: boolean\n [name: string]: any\n}\nexport interface DefaultOptionType extends BaseOptionType {\n label: React.ReactNode\n value?: string | number | null\n children?: DefaultOptionType[]\n}\n\ninterface BaseCascaderProps<OptionType extends BaseOptionType = DefaultOptionType>\n extends Omit<\n BaseSelectPropsWithoutPrivate,\n 'tokenSeparators' | 'labelInValue' | 'mode' | 'showSearch'\n > {\n // MISC\n id?: string\n prefixCls?: string\n fieldNames?: FieldNames\n children?: React.ReactElement\n\n // Value\n value?: ValueType\n defaultValue?: ValueType\n changeOnSelect?: boolean\n displayRender?: (label: string[], selectedOptions?: OptionType[]) => React.ReactNode\n checkable?: boolean | React.ReactNode\n showCheckedStrategy?: ShowCheckedStrategy\n\n // Search\n showSearch?: boolean | ShowSearchType<OptionType>\n searchValue?: string\n onSearch?: (value: string) => void\n\n // Trigger\n expandTrigger?: 'hover' | 'click'\n\n // Options\n options?: OptionType[]\n /** @private Internal usage. Do not use in your production. */\n dropdownPrefixCls?: string\n loadData?: (selectOptions: OptionType[]) => void\n\n // Open\n /** @deprecated Use `open` instead */\n popupVisible?: boolean\n\n /** @deprecated Use `dropdownClassName` instead */\n popupClassName?: string\n dropdownClassName?: string\n dropdownMenuColumnStyle?: React.CSSProperties\n\n /** @deprecated Use `placement` instead */\n popupPlacement?: Placement\n placement?: Placement\n\n /** @deprecated Use `onDropdownVisibleChange` instead */\n onPopupVisibleChange?: (open: boolean) => void\n onDropdownVisibleChange?: (open: boolean) => void\n renderItem?: (item: RenderItem) => React.ReactNode\n\n // Icon\n expandIcon?: React.ReactNode\n loadingIcon?: React.ReactNode\n optionsNum?: number\n multipleItemValue?: SingleValueType[]\n}\n\ntype OnSingleChange<OptionType> = (value: SingleValueType, selectOptions: OptionType[]) => void\ntype OnMultipleChange<OptionType> = (\n value: SingleValueType[],\n selectOptions: OptionType[][]\n) => void\n\nexport interface SingleCascaderProps<OptionType extends BaseOptionType = DefaultOptionType>\n extends BaseCascaderProps<OptionType> {\n checkable?: false\n\n onChange?: OnSingleChange<OptionType>\n}\n\nexport interface MultipleCascaderProps<OptionType extends BaseOptionType = DefaultOptionType>\n extends BaseCascaderProps<OptionType> {\n checkable: true | React.ReactNode\n\n onChange?: OnMultipleChange<OptionType>\n}\n\nexport type CascaderProps<OptionType extends BaseOptionType = DefaultOptionType> =\n | SingleCascaderProps<OptionType>\n | MultipleCascaderProps<OptionType>\n\nexport type InternalCascaderProps<OptionType extends BaseOptionType = DefaultOptionType> = Omit<\n SingleCascaderProps<OptionType> | MultipleCascaderProps<OptionType>,\n 'onChange'\n> & {\n onChange?: (\n value: SingleValueType | SingleValueType[],\n selectOptions: OptionType[] | OptionType[][]\n ) => void\n}\n\nexport type CascaderRef = Omit<BaseSelectRef, 'scrollTo'>\n\nfunction isMultipleValue(value: ValueType): value is SingleValueType[] {\n return Array.isArray(value) && Array.isArray(value[0])\n}\n\nfunction toRawValues(value: ValueType): SingleValueType[] {\n if (!value) {\n return []\n }\n\n if (isMultipleValue(value)) {\n return value\n }\n\n return (value.length === 0 ? [] : [value]).map((val) => (Array.isArray(val) ? val : [val]))\n}\n\nconst Cascader = React.forwardRef<CascaderRef, InternalCascaderProps>((props, ref) => {\n const {\n // MISC\n id,\n prefixCls = 'rc-cascader',\n fieldNames,\n\n // Value\n defaultValue,\n value,\n changeOnSelect,\n onChange,\n displayRender,\n checkable,\n\n // Search\n searchValue,\n onSearch,\n showSearch,\n\n // Trigger\n expandTrigger,\n\n // Options\n options,\n dropdownPrefixCls,\n loadData,\n\n // Open\n popupVisible,\n open,\n\n popupClassName,\n dropdownClassName,\n dropdownMenuColumnStyle,\n\n popupPlacement,\n placement,\n\n onDropdownVisibleChange,\n onPopupVisibleChange,\n renderItem,\n\n // Icon\n expandIcon = '>',\n loadingIcon,\n\n // Children\n children,\n dropdownMatchSelectWidth = false,\n showCheckedStrategy = SHOW_PARENT,\n optionsNum,\n multipleItemValue,\n ...restProps\n } = props\n\n const mergedId = useId(id)\n const multiple = !!checkable\n const [dropdownVisible, setDropdownVisible] = React.useState(false)\n\n // =========================== Values ===========================\n const [rawValues, setRawValues] = useMergedState<ValueType, SingleValueType[]>(defaultValue, {\n value,\n postState: toRawValues,\n })\n\n // ========================= FieldNames =========================\n const mergedFieldNames = React.useMemo(\n () => fillFieldNames(fieldNames),\n /* eslint-disable react-hooks/exhaustive-deps */\n [JSON.stringify(fieldNames)]\n /* eslint-enable react-hooks/exhaustive-deps */\n )\n\n // =========================== Option ===========================\n const mergedOptions = React.useMemo(() => options || [], [options])\n\n // Only used in multiple mode, this fn will not call in single mode\n const getPathKeyEntities = useEntities(mergedOptions, mergedFieldNames)\n\n /** Convert path key back to value format */\n const getValueByKeyPath = React.useCallback(\n (pathKeys: React.Key[]): SingleValueType[] => {\n const keyPathEntities = getPathKeyEntities()\n\n return pathKeys.map((pathKey) => {\n const { nodes } = keyPathEntities[pathKey]\n\n return nodes.map((node) => node[mergedFieldNames.value])\n })\n },\n [getPathKeyEntities, mergedFieldNames]\n )\n\n // =========================== Search ===========================\n const [mergedSearchValue, setSearchValue] = useMergedState('', {\n value: searchValue,\n postState: (search) => search || '',\n })\n\n const onInternalSearch: BaseSelectProps['onSearch'] = (searchText, info) => {\n setSearchValue(searchText)\n\n if (info.source !== 'blur' && onSearch) {\n onSearch(searchText)\n }\n }\n\n const [mergedShowSearch, searchConfig] = useSearchConfig(showSearch)\n\n const searchOptions = useSearchOptions(\n mergedSearchValue,\n mergedOptions,\n mergedFieldNames,\n dropdownPrefixCls || prefixCls,\n searchConfig,\n changeOnSelect\n )\n\n // =========================== Values ===========================\n const getMissingValues = useMissingValues(mergedOptions, mergedFieldNames)\n\n // Fill `rawValues` with checked conduction values\n const [checkedValues, halfCheckedValues, missingCheckedValues] = React.useMemo(() => {\n const [existValues, missingValues] = getMissingValues(rawValues)\n\n if (!multiple || !rawValues.length) {\n return [existValues, [], missingValues]\n }\n\n const keyPathValues = toPathKeys(existValues)\n const keyPathEntities = getPathKeyEntities()\n\n const { checkedKeys, halfCheckedKeys } = conductCheck(keyPathValues, true, keyPathEntities)\n\n // Convert key back to value cells\n return [getValueByKeyPath(checkedKeys), getValueByKeyPath(halfCheckedKeys), missingValues]\n }, [multiple, rawValues, getPathKeyEntities, getValueByKeyPath, getMissingValues])\n\n const deDuplicatedValues = React.useMemo(() => {\n const checkedKeys = toPathKeys(checkedValues)\n const deduplicateKeys = formatStrategyValues(\n checkedKeys,\n getPathKeyEntities,\n showCheckedStrategy\n )\n\n return [...missingCheckedValues, ...getValueByKeyPath(deduplicateKeys)]\n }, [\n checkedValues,\n getPathKeyEntities,\n getValueByKeyPath,\n missingCheckedValues,\n showCheckedStrategy,\n ])\n\n const displayValues = useDisplayValues(\n deDuplicatedValues,\n mergedOptions,\n mergedFieldNames,\n multiple,\n displayRender\n )\n\n // =========================== Change ===========================\n const triggerChange = useRefFunc((nextValues: ValueType) => {\n setRawValues(nextValues)\n\n // Save perf if no need trigger event\n if (onChange) {\n const nextRawValues = toRawValues(nextValues)\n\n const valueOptions = nextRawValues.map((valueCells) =>\n toPathOptions(valueCells, mergedOptions, mergedFieldNames).map(\n (valueOpt) => valueOpt.option\n )\n )\n\n const triggerValues = multiple ? nextRawValues : nextRawValues[0]\n const triggerOptions = multiple ? valueOptions : valueOptions[0]\n\n onChange(triggerValues, triggerOptions)\n }\n })\n\n // =========================== Select ===========================\n const onInternalSelect = useRefFunc((valuePath: SingleValueType) => {\n setSearchValue('')\n if (!multiple) {\n triggerChange(valuePath)\n } else {\n // Prepare conduct required info\n const pathKey = toPathKey(valuePath)\n const checkedPathKeys = toPathKeys(checkedValues)\n const halfCheckedPathKeys = toPathKeys(halfCheckedValues)\n\n const existInChecked = checkedPathKeys.includes(pathKey)\n const existInMissing = missingCheckedValues.some(\n (valueCells) => toPathKey(valueCells) === pathKey\n )\n\n // Do update\n let nextCheckedValues = checkedValues\n let nextMissingValues = missingCheckedValues\n\n if (existInMissing && !existInChecked) {\n // Missing value only do filter\n nextMissingValues = missingCheckedValues.filter(\n (valueCells) => toPathKey(valueCells) !== pathKey\n )\n } else {\n // Update checked key first\n const nextRawCheckedKeys = existInChecked\n ? checkedPathKeys.filter((key) => key !== pathKey)\n : [...checkedPathKeys, pathKey]\n\n const pathKeyEntities = getPathKeyEntities()\n\n // Conduction by selected or not\n let checkedKeys: React.Key[]\n if (existInChecked) {\n ;({ checkedKeys } = conductCheck(\n nextRawCheckedKeys,\n { checked: false, halfCheckedKeys: halfCheckedPathKeys },\n pathKeyEntities\n ))\n } else {\n ;({ checkedKeys } = conductCheck(nextRawCheckedKeys, true, pathKeyEntities))\n }\n\n // Roll up to parent level keys\n const deDuplicatedKeys = formatStrategyValues(\n checkedKeys,\n getPathKeyEntities,\n showCheckedStrategy\n )\n nextCheckedValues = getValueByKeyPath(deDuplicatedKeys)\n }\n\n triggerChange([...nextMissingValues, ...nextCheckedValues])\n }\n })\n\n // Display Value change logic\n const onDisplayValuesChange: BaseSelectProps['onDisplayValuesChange'] = (_, info) => {\n if (info.type === 'clear') {\n triggerChange([])\n return\n }\n\n // Cascader do not support `add` type. Only support `remove`\n const { valueCells } = info.values[0] as DisplayValueType & { valueCells: SingleValueType }\n onInternalSelect(valueCells)\n }\n\n // ============================ Open ============================\n const mergedOpen = open !== undefined ? open : popupVisible\n\n const mergedDropdownClassName = dropdownClassName || popupClassName\n\n const mergedPlacement = placement || popupPlacement\n\n const onInternalDropdownVisibleChange = (nextVisible: boolean) => {\n onDropdownVisibleChange?.(nextVisible)\n onPopupVisibleChange?.(nextVisible)\n setDropdownVisible(nextVisible)\n }\n\n // ========================== Warning ===========================\n if (process.env.NODE_ENV !== 'production') {\n warningProps(props)\n warningNullOptions(mergedOptions, mergedFieldNames)\n }\n\n // ========================== Context ===========================\n const cascaderContext = React.useMemo(\n () => ({\n options: mergedOptions,\n fieldNames: mergedFieldNames,\n values: checkedValues,\n halfValues: halfCheckedValues,\n changeOnSelect,\n onSelect: onInternalSelect,\n checkable,\n searchOptions,\n dropdownPrefixCls,\n loadData,\n expandTrigger,\n expandIcon,\n loadingIcon,\n dropdownMenuColumnStyle,\n renderItem,\n dropdownVisible,\n optionsNum,\n multipleItemValue,\n }),\n [\n mergedOptions,\n mergedFieldNames,\n checkedValues,\n halfCheckedValues,\n changeOnSelect,\n onInternalSelect,\n checkable,\n searchOptions,\n dropdownPrefixCls,\n loadData,\n expandTrigger,\n expandIcon,\n loadingIcon,\n dropdownMenuColumnStyle,\n renderItem,\n dropdownVisible,\n optionsNum,\n multipleItemValue,\n ]\n )\n\n // ==============================================================\n // == Render ==\n // ==============================================================\n const emptyOptions = !(mergedSearchValue ? searchOptions : mergedOptions).length\n\n const dropdownStyle: React.CSSProperties =\n // Search to match width\n (mergedSearchValue && searchConfig.matchInputWidth) ||\n // Empty keep the width\n emptyOptions\n ? {}\n : {\n minWidth: 'auto',\n }\n return (\n <CascaderContext.Provider value={cascaderContext}>\n <BaseSelect\n placeholder={defaultPlaceholder}\n {...restProps}\n // MISC\n ref={ref as any}\n id={mergedId}\n prefixCls={prefixCls}\n dropdownMatchSelectWidth={dropdownMatchSelectWidth}\n dropdownStyle={dropdownStyle}\n // Value\n displayValues={displayValues}\n onDisplayValuesChange={onDisplayValuesChange}\n mode={multiple ? 'multiple' : undefined}\n // Search\n searchValue={mergedSearchValue}\n onSearch={onInternalSearch}\n showSearch={mergedShowSearch}\n // Options\n OptionList={OptionList}\n emptyOptions={emptyOptions}\n // Open\n open={mergedOpen}\n dropdownClassName={mergedDropdownClassName}\n placement={mergedPlacement}\n onDropdownVisibleChange={onInternalDropdownVisibleChange}\n // Children\n getRawInputElement={() => children}\n />\n </CascaderContext.Provider>\n )\n}) as unknown as (<OptionType extends BaseOptionType | DefaultOptionType = DefaultOptionType>(\n props: React.PropsWithChildren<CascaderProps<OptionType>> & {\n ref?: React.Ref<BaseSelectRef>\n }\n) => React.ReactElement) & {\n displayName?: string\n SHOW_PARENT: typeof SHOW_PARENT\n SHOW_CHILD: typeof SHOW_CHILD\n}\n\nif (process.env.NODE_ENV !== 'production') {\n Cascader.displayName = 'Cascader'\n}\n\nCascader.SHOW_PARENT = SHOW_PARENT\nCascader.SHOW_CHILD = SHOW_CHILD\nexport default Cascader\n"]}
|
|
@@ -64,7 +64,8 @@ function Column(_ref) {
|
|
|
64
64
|
expandTrigger = _React$useContext.expandTrigger,
|
|
65
65
|
expandIcon = _React$useContext.expandIcon,
|
|
66
66
|
loadingIcon = _React$useContext.loadingIcon,
|
|
67
|
-
dropdownMenuColumnStyle = _React$useContext.dropdownMenuColumnStyle
|
|
67
|
+
dropdownMenuColumnStyle = _React$useContext.dropdownMenuColumnStyle,
|
|
68
|
+
multipleItemValue = _React$useContext.multipleItemValue;
|
|
68
69
|
var hoverOpen = expandTrigger === 'hover';
|
|
69
70
|
// 将drop展示赋值给ref
|
|
70
71
|
React.useEffect(function () {
|
|
@@ -73,7 +74,7 @@ function Column(_ref) {
|
|
|
73
74
|
/** 单选情况下滚动到相应的位置 */
|
|
74
75
|
React.useEffect(function () {
|
|
75
76
|
var timer = null;
|
|
76
|
-
if (ref.current && ref.current.scrollTo && !multiple && dropdownVisible && initDropRenderRef.current) {
|
|
77
|
+
if (ref.current && ref.current.scrollTo && (!multiple || multipleItemValue) && dropdownVisible && initDropRenderRef.current) {
|
|
77
78
|
var index = options.findIndex(function (it) {
|
|
78
79
|
return it[fieldNames.value] === activeValue;
|
|
79
80
|
});
|