@sheinx/base 3.7.5-beta.10 → 3.7.5-beta.2
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/cjs/alert/alert.d.ts.map +1 -1
- package/cjs/alert/alert.js +1 -1
- package/cjs/cascader/node.d.ts.map +1 -1
- package/cjs/cascader/node.js +3 -7
- package/cjs/select/result-more.d.ts.map +1 -1
- package/cjs/select/result-more.js +50 -21
- package/cjs/select/result-more.type.d.ts +1 -0
- package/cjs/select/result-more.type.d.ts.map +1 -1
- package/cjs/select/result.d.ts.map +1 -1
- package/cjs/select/result.js +5 -18
- package/cjs/tree/tree-virtual-node.d.ts.map +1 -1
- package/cjs/tree/tree-virtual-node.js +1 -13
- package/esm/alert/alert.d.ts.map +1 -1
- package/esm/alert/alert.js +1 -1
- package/esm/cascader/node.d.ts.map +1 -1
- package/esm/cascader/node.js +3 -7
- package/esm/select/result-more.d.ts.map +1 -1
- package/esm/select/result-more.js +50 -21
- package/esm/select/result-more.type.d.ts +1 -0
- package/esm/select/result-more.type.d.ts.map +1 -1
- package/esm/select/result.d.ts.map +1 -1
- package/esm/select/result.js +5 -18
- package/esm/tree/tree-virtual-node.d.ts.map +1 -1
- package/esm/tree/tree-virtual-node.js +1 -13
- package/package.json +2 -2
package/cjs/alert/alert.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alert.d.ts","sourceRoot":"","sources":["alert.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAgB,UAAU,EAAE,MAAM,cAAc,CAAC;AAWxD,QAAA,MAAM,KAAK,UAAW,UAAU,
|
|
1
|
+
{"version":3,"file":"alert.d.ts","sourceRoot":"","sources":["alert.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAgB,UAAU,EAAE,MAAM,cAAc,CAAC;AAWxD,QAAA,MAAM,KAAK,UAAW,UAAU,mDA4H/B,CAAC;AAEF,eAAe,KAAK,CAAC"}
|
package/cjs/alert/alert.js
CHANGED
|
@@ -128,7 +128,7 @@ var Alert = function Alert(props) {
|
|
|
128
128
|
if (dismiss === HIDE) {
|
|
129
129
|
return null;
|
|
130
130
|
}
|
|
131
|
-
if (title) {
|
|
131
|
+
if ('title' in props && title !== undefined) {
|
|
132
132
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", _objectSpread(_objectSpread({
|
|
133
133
|
className: rootClass
|
|
134
134
|
}, getRootProps()), {}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["node.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAuB,MAAM,eAAe,CAAC;AAElE,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAQhD,QAAA,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["node.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAuB,MAAM,eAAe,CAAC;AAElE,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAQhD,QAAA,MAAM,YAAY,gIAiJjB,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
package/cjs/cascader/node.js
CHANGED
|
@@ -50,8 +50,8 @@ var CascaderNode = function CascaderNode(props) {
|
|
|
50
50
|
_useState2 = _slicedToArray(_useState, 2),
|
|
51
51
|
loading = _useState2[0],
|
|
52
52
|
setLoading = _useState2[1];
|
|
53
|
+
// const [activeState, setActiveState] = useState(false);
|
|
53
54
|
var checkboxRef = (0, _react.useRef)();
|
|
54
|
-
var hasHandleSelectRef = (0, _react.useRef)(false);
|
|
55
55
|
var isDisabled = datum.isDisabled(id);
|
|
56
56
|
var children = data[childrenKey];
|
|
57
57
|
var hasChildren = children && children.length > 0;
|
|
@@ -92,17 +92,13 @@ var CascaderNode = function CascaderNode(props) {
|
|
|
92
92
|
}
|
|
93
93
|
if (isHoverAble) {
|
|
94
94
|
events.onMouseEnter = handlePathChange;
|
|
95
|
-
if (multiple)
|
|
96
|
-
events.onClick = handleSelect;
|
|
97
|
-
hasHandleSelectRef.current = true;
|
|
98
|
-
}
|
|
95
|
+
if (multiple) events.onClick = handleSelect;
|
|
99
96
|
} else if (isRealLeafNode && multiple) {
|
|
100
97
|
// 非hover模式下: 末级节点支持整个节点区域点击选中checkbox
|
|
101
98
|
events.onClick = function (e) {
|
|
102
99
|
handleClick(e);
|
|
103
100
|
handleSelect(e);
|
|
104
101
|
};
|
|
105
|
-
hasHandleSelectRef.current = true;
|
|
106
102
|
}
|
|
107
103
|
return events;
|
|
108
104
|
};
|
|
@@ -158,7 +154,7 @@ var CascaderNode = function CascaderNode(props) {
|
|
|
158
154
|
className: styles.optionCheckbox,
|
|
159
155
|
checked: datum.getChecked(id),
|
|
160
156
|
disabled: isDisabled,
|
|
161
|
-
onChange:
|
|
157
|
+
onChange: isRealLeafNode && multiple ? undefined : handleChange
|
|
162
158
|
}), renderContent(), renderIcon()]
|
|
163
159
|
})
|
|
164
160
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"result-more.d.ts","sourceRoot":"","sources":["result-more.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAKrD,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,OAAO,EACjB,SAAS,EAAE,WAAW,EACtB,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"result-more.d.ts","sourceRoot":"","sources":["result-more.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAKrD,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,OAAO,EACjB,SAAS,EAAE,WAAW,EACtB,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,UA6D9B;;AAsHD,wBAAyC"}
|
|
@@ -34,25 +34,44 @@ function getResetMore(onFilter, container, doms) {
|
|
|
34
34
|
var hideMargin = (0, _hooks.parsePxToNumber)(hideElStyle.marginLeft) + (0, _hooks.parsePxToNumber)(hideElStyle.marginRight);
|
|
35
35
|
var num = 0;
|
|
36
36
|
var sumWidth = 0;
|
|
37
|
-
|
|
38
|
-
var
|
|
39
|
-
var
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
if (resetNum > 0) {
|
|
45
|
-
var reset = "+".concat(resetNum);
|
|
46
|
-
hideEl.childNodes[0].innerText = reset;
|
|
47
|
-
moreWidth = hideEl.offsetWidth + hideMargin;
|
|
48
|
-
}
|
|
49
|
-
if (sumWidth > contentWidth - moreWidth) {
|
|
50
|
-
num = i;
|
|
51
|
-
break;
|
|
52
|
-
}
|
|
37
|
+
var itemWidthArr = items.map(function (item) {
|
|
38
|
+
var itemStyle = getComputedStyle(item);
|
|
39
|
+
var itemLen = item.offsetWidth + (0, _hooks.parsePxToNumber)(itemStyle.marginLeft) + (0, _hooks.parsePxToNumber)(itemStyle.marginRight);
|
|
40
|
+
sumWidth += itemLen;
|
|
41
|
+
return itemLen;
|
|
42
|
+
});
|
|
43
|
+
if (sumWidth <= contentWidth) {
|
|
53
44
|
num = -1;
|
|
45
|
+
} else {
|
|
46
|
+
var len = 0;
|
|
47
|
+
for (var i = 0; i < itemWidthArr.length; i++) {
|
|
48
|
+
var itemLen = itemWidthArr[i];
|
|
49
|
+
// number length
|
|
50
|
+
var resetNum = items.length - 1 - i;
|
|
51
|
+
var moreWidth = void 0;
|
|
52
|
+
if (resetNum <= 0) {
|
|
53
|
+
moreWidth = 0;
|
|
54
|
+
} else {
|
|
55
|
+
var reset = "+".concat(resetNum);
|
|
56
|
+
hideEl.childNodes[0].innerText = reset;
|
|
57
|
+
// (+num) width
|
|
58
|
+
moreWidth = hideEl.offsetWidth + hideMargin;
|
|
59
|
+
}
|
|
60
|
+
len += itemLen;
|
|
61
|
+
if (len > contentWidth - moreWidth) {
|
|
62
|
+
break;
|
|
63
|
+
}
|
|
64
|
+
num += 1;
|
|
65
|
+
if (i === items.length - 1) {
|
|
66
|
+
// not show more
|
|
67
|
+
num = -1;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
// at least show one
|
|
72
|
+
if (num === 0 && itemWidthArr[0]) {
|
|
73
|
+
num = 1;
|
|
54
74
|
}
|
|
55
|
-
;
|
|
56
75
|
return num;
|
|
57
76
|
}
|
|
58
77
|
var More = function More(props) {
|
|
@@ -74,7 +93,16 @@ var More = function More(props) {
|
|
|
74
93
|
var shouldShowMore = showNum < 0 || showNum >= data.length;
|
|
75
94
|
var before = [];
|
|
76
95
|
var after = [];
|
|
77
|
-
var
|
|
96
|
+
var itemsLength = 0;
|
|
97
|
+
var tagStyle = shouldShowMore ? {
|
|
98
|
+
position: 'absolute',
|
|
99
|
+
zIndex: -100,
|
|
100
|
+
userSelect: 'none',
|
|
101
|
+
msUserSelect: 'none',
|
|
102
|
+
contain: 'layout',
|
|
103
|
+
opacity: 0,
|
|
104
|
+
pointerEvents: 'none'
|
|
105
|
+
} : {};
|
|
78
106
|
if (!shouldShowMore) {
|
|
79
107
|
before = new Array(showNum).fill(undefined).map(function (_item, index) {
|
|
80
108
|
return data[index];
|
|
@@ -82,9 +110,9 @@ var More = function More(props) {
|
|
|
82
110
|
after = new Array(data.length - showNum).fill(undefined).map(function (_item, index) {
|
|
83
111
|
return data[showNum + index];
|
|
84
112
|
});
|
|
85
|
-
|
|
113
|
+
itemsLength = after.length;
|
|
86
114
|
}
|
|
87
|
-
if (
|
|
115
|
+
if (showNum < 0 || showNum >= data.length) {
|
|
88
116
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_react.default.Fragment, {
|
|
89
117
|
children: [data, /*#__PURE__*/(0, _jsxRuntime.jsx)(_tag.default, {
|
|
90
118
|
className: styles.tag,
|
|
@@ -111,9 +139,10 @@ var More = function More(props) {
|
|
|
111
139
|
className: styles.tag,
|
|
112
140
|
jssStyle: jssStyle,
|
|
113
141
|
size: size,
|
|
142
|
+
style: tagStyle,
|
|
114
143
|
mode: visible ? 'fill' : 'bright',
|
|
115
144
|
color: visible ? 'info' : 'default',
|
|
116
|
-
children: shouldShowMore ? '+' : "+".concat(
|
|
145
|
+
children: shouldShowMore ? '+' : "+".concat(itemsLength)
|
|
117
146
|
}, 'more'), compressed !== 'hide-popover' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_popover.default, {
|
|
118
147
|
jssStyle: jssStyle,
|
|
119
148
|
className: compressedClassName,
|
|
@@ -4,6 +4,7 @@ import { SelectProps } from './select.type';
|
|
|
4
4
|
export interface ResultMoreProps<DataItem, Value> extends Pick<SelectProps<DataItem, Value>, 'jssStyle' | 'size' | 'multiple' | 'placeholder' | 'keygen' | 'value' | 'compressed' | 'compressedBound' | 'renderCompressed' | 'compressedClassName' | 'disabled' | 'onFilter'> {
|
|
5
5
|
data: React.ReactNode[];
|
|
6
6
|
datas?: (DataItem | UnMatchedData)[];
|
|
7
|
+
more?: number;
|
|
7
8
|
showNum?: number;
|
|
8
9
|
onRemove?: (item: DataItem | UnMatchedData, key?: KeygenResult, index?: number) => void;
|
|
9
10
|
classes: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"result-more.type.d.ts","sourceRoot":"","sources":["result-more.type.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,WAAW,eAAe,CAAC,QAAQ,EAAE,KAAK,CAC9C,SAAQ,IAAI,CACV,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,EAC1B,UAAU,GACV,MAAM,GACN,UAAU,GACV,aAAa,GACb,QAAQ,GACR,OAAO,GACP,YAAY,GACZ,iBAAiB,GACjB,kBAAkB,GAClB,qBAAqB,GACrB,UAAU,GACV,UAAU,CACb;IACD,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,CAAC,QAAQ,GAAG,aAAa,CAAC,EAAE,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,GAAG,aAAa,EAAE,GAAG,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACxF,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/C"}
|
|
1
|
+
{"version":3,"file":"result-more.type.d.ts","sourceRoot":"","sources":["result-more.type.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,WAAW,eAAe,CAAC,QAAQ,EAAE,KAAK,CAC9C,SAAQ,IAAI,CACV,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,EAC1B,UAAU,GACV,MAAM,GACN,UAAU,GACV,aAAa,GACb,QAAQ,GACR,OAAO,GACP,YAAY,GACZ,iBAAiB,GACjB,kBAAkB,GAClB,qBAAqB,GACrB,UAAU,GACV,UAAU,CACb;IACD,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,CAAC,QAAQ,GAAG,aAAa,CAAC,EAAE,CAAC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,GAAG,aAAa,EAAE,GAAG,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACxF,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"result.d.ts","sourceRoot":"","sources":["result.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAY5C,QAAA,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"result.d.ts","sourceRoot":"","sources":["result.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAY5C,QAAA,MAAM,MAAM,mGAybX,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
package/cjs/select/result.js
CHANGED
|
@@ -84,11 +84,7 @@ var Result = function Result(props) {
|
|
|
84
84
|
setShouldResetMore = _useState4[1];
|
|
85
85
|
var render = (0, _hooks.useRender)();
|
|
86
86
|
var resultRef = (0, _react.useRef)(null);
|
|
87
|
-
var
|
|
88
|
-
prevMore: more,
|
|
89
|
-
maxMore: 0
|
|
90
|
-
}),
|
|
91
|
-
context = _useRef.current;
|
|
87
|
+
var prevMore = (0, _react.useRef)(more);
|
|
92
88
|
var removeLock = (0, _react.useRef)(false);
|
|
93
89
|
var showInput = allowOnFilter;
|
|
94
90
|
var mounted = (0, _react.useRef)(false);
|
|
@@ -291,6 +287,7 @@ var Result = function Result(props) {
|
|
|
291
287
|
data: result,
|
|
292
288
|
datas: renderMultipleResult.datas,
|
|
293
289
|
size: size,
|
|
290
|
+
more: moreNumber,
|
|
294
291
|
compressed: compressed,
|
|
295
292
|
renderCompressed: renderCompressed,
|
|
296
293
|
compressedClassName: compressedClassName,
|
|
@@ -320,22 +317,13 @@ var Result = function Result(props) {
|
|
|
320
317
|
}
|
|
321
318
|
return result;
|
|
322
319
|
};
|
|
323
|
-
var handleResetMore = function handleResetMore(
|
|
320
|
+
var handleResetMore = function handleResetMore() {
|
|
324
321
|
if (!compressed) return;
|
|
325
322
|
if (isCompressedBound()) return;
|
|
326
323
|
if (removeLock.current) {
|
|
327
324
|
removeLock.current = false;
|
|
328
325
|
return;
|
|
329
326
|
}
|
|
330
|
-
|
|
331
|
-
// 性能优化:当选项数量远超容器承载能力时,跳过昂贵的DOM计算
|
|
332
|
-
// 在1000+选项时,重新计算会导致INP超过1000ms
|
|
333
|
-
var hasExistingCompression = context.prevMore > 0;
|
|
334
|
-
var hasValidEstimate = context.maxMore > 0;
|
|
335
|
-
var exceedsCapacity = valueLength && valueLength > context.maxMore;
|
|
336
|
-
if (hasExistingCompression && hasValidEstimate && exceedsCapacity) {
|
|
337
|
-
return; // 跳过重新计算,保持现有的压缩状态
|
|
338
|
-
}
|
|
339
327
|
setMore(-1);
|
|
340
328
|
setShouldResetMore(true);
|
|
341
329
|
};
|
|
@@ -392,7 +380,7 @@ var Result = function Result(props) {
|
|
|
392
380
|
}
|
|
393
381
|
}, [focus, multiple]);
|
|
394
382
|
(0, _react.useLayoutEffect)(function () {
|
|
395
|
-
handleResetMore(
|
|
383
|
+
handleResetMore();
|
|
396
384
|
}, [valueProp, data]);
|
|
397
385
|
(0, _react.useEffect)(function () {
|
|
398
386
|
// datum.getDataByValues(value); 需要等待 useTree useEffect 执行完毕 才能获取到
|
|
@@ -403,7 +391,7 @@ var Result = function Result(props) {
|
|
|
403
391
|
var tagClassName = ".".concat(styles.tag.split(' ')[0]);
|
|
404
392
|
if (shouldResetMore && isArray(value) && (value || []).length) {
|
|
405
393
|
var newMore = (0, _resultMore.getResetMore)(showInput, resultRef.current, resultRef.current.querySelectorAll(tagClassName));
|
|
406
|
-
|
|
394
|
+
prevMore.current = newMore;
|
|
407
395
|
setMore(newMore);
|
|
408
396
|
setShouldResetMore(false);
|
|
409
397
|
} else {
|
|
@@ -417,7 +405,6 @@ var Result = function Result(props) {
|
|
|
417
405
|
if (!resultRef.current) return;
|
|
418
406
|
if (!compressed) return;
|
|
419
407
|
if (isCompressedBound()) return;
|
|
420
|
-
context.maxMore = Math.floor(resultRef.current.clientWidth / 20);
|
|
421
408
|
var cancelObserver = (0, _hooks.addResizeObserver)(resultRef.current, handleResetMore, {
|
|
422
409
|
direction: 'x'
|
|
423
410
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree-virtual-node.d.ts","sourceRoot":"","sources":["tree-virtual-node.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,EAA4B,YAAY,EAAE,MAAM,eAAe,CAAC;AAKvE,QAAA,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"tree-virtual-node.d.ts","sourceRoot":"","sources":["tree-virtual-node.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,EAA4B,YAAY,EAAE,MAAM,eAAe,CAAC;AAKvE,QAAA,MAAM,WAAW,mIA2IhB,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -83,19 +83,7 @@ var VirtualNode = function VirtualNode(props) {
|
|
|
83
83
|
});
|
|
84
84
|
if (onToggle) onToggle(id, nextExpanded);
|
|
85
85
|
};
|
|
86
|
-
var
|
|
87
|
-
if (size === "large") {
|
|
88
|
-
if (line && level === 1) {
|
|
89
|
-
return 16;
|
|
90
|
-
}
|
|
91
|
-
return 32;
|
|
92
|
-
}
|
|
93
|
-
if (line && level === 1) {
|
|
94
|
-
return 8;
|
|
95
|
-
}
|
|
96
|
-
return 24;
|
|
97
|
-
};
|
|
98
|
-
var indent = getIndent();
|
|
86
|
+
var indent = size === "large" ? 32 : 24;
|
|
99
87
|
var $indents;
|
|
100
88
|
if (line) {
|
|
101
89
|
$indents = Array.from({
|
package/esm/alert/alert.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alert.d.ts","sourceRoot":"","sources":["alert.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAgB,UAAU,EAAE,MAAM,cAAc,CAAC;AAWxD,QAAA,MAAM,KAAK,UAAW,UAAU,
|
|
1
|
+
{"version":3,"file":"alert.d.ts","sourceRoot":"","sources":["alert.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAgB,UAAU,EAAE,MAAM,cAAc,CAAC;AAWxD,QAAA,MAAM,KAAK,UAAW,UAAU,mDA4H/B,CAAC;AAEF,eAAe,KAAK,CAAC"}
|
package/esm/alert/alert.js
CHANGED
|
@@ -120,7 +120,7 @@ var Alert = function Alert(props) {
|
|
|
120
120
|
if (dismiss === HIDE) {
|
|
121
121
|
return null;
|
|
122
122
|
}
|
|
123
|
-
if (title) {
|
|
123
|
+
if ('title' in props && title !== undefined) {
|
|
124
124
|
return /*#__PURE__*/_jsxs("div", _objectSpread(_objectSpread({
|
|
125
125
|
className: rootClass
|
|
126
126
|
}, getRootProps()), {}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["node.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAuB,MAAM,eAAe,CAAC;AAElE,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAQhD,QAAA,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["node.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAuB,MAAM,eAAe,CAAC;AAElE,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAQhD,QAAA,MAAM,YAAY,gIAiJjB,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
package/esm/cascader/node.js
CHANGED
|
@@ -44,8 +44,8 @@ var CascaderNode = function CascaderNode(props) {
|
|
|
44
44
|
_useState2 = _slicedToArray(_useState, 2),
|
|
45
45
|
loading = _useState2[0],
|
|
46
46
|
setLoading = _useState2[1];
|
|
47
|
+
// const [activeState, setActiveState] = useState(false);
|
|
47
48
|
var checkboxRef = useRef();
|
|
48
|
-
var hasHandleSelectRef = useRef(false);
|
|
49
49
|
var isDisabled = datum.isDisabled(id);
|
|
50
50
|
var children = data[childrenKey];
|
|
51
51
|
var hasChildren = children && children.length > 0;
|
|
@@ -86,17 +86,13 @@ var CascaderNode = function CascaderNode(props) {
|
|
|
86
86
|
}
|
|
87
87
|
if (isHoverAble) {
|
|
88
88
|
events.onMouseEnter = handlePathChange;
|
|
89
|
-
if (multiple)
|
|
90
|
-
events.onClick = handleSelect;
|
|
91
|
-
hasHandleSelectRef.current = true;
|
|
92
|
-
}
|
|
89
|
+
if (multiple) events.onClick = handleSelect;
|
|
93
90
|
} else if (isRealLeafNode && multiple) {
|
|
94
91
|
// 非hover模式下: 末级节点支持整个节点区域点击选中checkbox
|
|
95
92
|
events.onClick = function (e) {
|
|
96
93
|
handleClick(e);
|
|
97
94
|
handleSelect(e);
|
|
98
95
|
};
|
|
99
|
-
hasHandleSelectRef.current = true;
|
|
100
96
|
}
|
|
101
97
|
return events;
|
|
102
98
|
};
|
|
@@ -152,7 +148,7 @@ var CascaderNode = function CascaderNode(props) {
|
|
|
152
148
|
className: styles.optionCheckbox,
|
|
153
149
|
checked: datum.getChecked(id),
|
|
154
150
|
disabled: isDisabled,
|
|
155
|
-
onChange:
|
|
151
|
+
onChange: isRealLeafNode && multiple ? undefined : handleChange
|
|
156
152
|
}), renderContent(), renderIcon()]
|
|
157
153
|
})
|
|
158
154
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"result-more.d.ts","sourceRoot":"","sources":["result-more.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAKrD,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,OAAO,EACjB,SAAS,EAAE,WAAW,EACtB,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"result-more.d.ts","sourceRoot":"","sources":["result-more.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAKrD,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,OAAO,EACjB,SAAS,EAAE,WAAW,EACtB,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,UA6D9B;;AAsHD,wBAAyC"}
|
|
@@ -24,25 +24,44 @@ export function getResetMore(onFilter, container, doms) {
|
|
|
24
24
|
var hideMargin = parsePxToNumber(hideElStyle.marginLeft) + parsePxToNumber(hideElStyle.marginRight);
|
|
25
25
|
var num = 0;
|
|
26
26
|
var sumWidth = 0;
|
|
27
|
-
|
|
28
|
-
var
|
|
29
|
-
var
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
if (resetNum > 0) {
|
|
35
|
-
var reset = "+".concat(resetNum);
|
|
36
|
-
hideEl.childNodes[0].innerText = reset;
|
|
37
|
-
moreWidth = hideEl.offsetWidth + hideMargin;
|
|
38
|
-
}
|
|
39
|
-
if (sumWidth > contentWidth - moreWidth) {
|
|
40
|
-
num = i;
|
|
41
|
-
break;
|
|
42
|
-
}
|
|
27
|
+
var itemWidthArr = items.map(function (item) {
|
|
28
|
+
var itemStyle = getComputedStyle(item);
|
|
29
|
+
var itemLen = item.offsetWidth + parsePxToNumber(itemStyle.marginLeft) + parsePxToNumber(itemStyle.marginRight);
|
|
30
|
+
sumWidth += itemLen;
|
|
31
|
+
return itemLen;
|
|
32
|
+
});
|
|
33
|
+
if (sumWidth <= contentWidth) {
|
|
43
34
|
num = -1;
|
|
35
|
+
} else {
|
|
36
|
+
var len = 0;
|
|
37
|
+
for (var i = 0; i < itemWidthArr.length; i++) {
|
|
38
|
+
var itemLen = itemWidthArr[i];
|
|
39
|
+
// number length
|
|
40
|
+
var resetNum = items.length - 1 - i;
|
|
41
|
+
var moreWidth = void 0;
|
|
42
|
+
if (resetNum <= 0) {
|
|
43
|
+
moreWidth = 0;
|
|
44
|
+
} else {
|
|
45
|
+
var reset = "+".concat(resetNum);
|
|
46
|
+
hideEl.childNodes[0].innerText = reset;
|
|
47
|
+
// (+num) width
|
|
48
|
+
moreWidth = hideEl.offsetWidth + hideMargin;
|
|
49
|
+
}
|
|
50
|
+
len += itemLen;
|
|
51
|
+
if (len > contentWidth - moreWidth) {
|
|
52
|
+
break;
|
|
53
|
+
}
|
|
54
|
+
num += 1;
|
|
55
|
+
if (i === items.length - 1) {
|
|
56
|
+
// not show more
|
|
57
|
+
num = -1;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
// at least show one
|
|
62
|
+
if (num === 0 && itemWidthArr[0]) {
|
|
63
|
+
num = 1;
|
|
44
64
|
}
|
|
45
|
-
;
|
|
46
65
|
return num;
|
|
47
66
|
}
|
|
48
67
|
var More = function More(props) {
|
|
@@ -64,7 +83,16 @@ var More = function More(props) {
|
|
|
64
83
|
var shouldShowMore = showNum < 0 || showNum >= data.length;
|
|
65
84
|
var before = [];
|
|
66
85
|
var after = [];
|
|
67
|
-
var
|
|
86
|
+
var itemsLength = 0;
|
|
87
|
+
var tagStyle = shouldShowMore ? {
|
|
88
|
+
position: 'absolute',
|
|
89
|
+
zIndex: -100,
|
|
90
|
+
userSelect: 'none',
|
|
91
|
+
msUserSelect: 'none',
|
|
92
|
+
contain: 'layout',
|
|
93
|
+
opacity: 0,
|
|
94
|
+
pointerEvents: 'none'
|
|
95
|
+
} : {};
|
|
68
96
|
if (!shouldShowMore) {
|
|
69
97
|
before = new Array(showNum).fill(undefined).map(function (_item, index) {
|
|
70
98
|
return data[index];
|
|
@@ -72,9 +100,9 @@ var More = function More(props) {
|
|
|
72
100
|
after = new Array(data.length - showNum).fill(undefined).map(function (_item, index) {
|
|
73
101
|
return data[showNum + index];
|
|
74
102
|
});
|
|
75
|
-
|
|
103
|
+
itemsLength = after.length;
|
|
76
104
|
}
|
|
77
|
-
if (
|
|
105
|
+
if (showNum < 0 || showNum >= data.length) {
|
|
78
106
|
return /*#__PURE__*/_jsxs(React.Fragment, {
|
|
79
107
|
children: [data, /*#__PURE__*/_jsx(Tag, {
|
|
80
108
|
className: styles.tag,
|
|
@@ -101,9 +129,10 @@ var More = function More(props) {
|
|
|
101
129
|
className: styles.tag,
|
|
102
130
|
jssStyle: jssStyle,
|
|
103
131
|
size: size,
|
|
132
|
+
style: tagStyle,
|
|
104
133
|
mode: visible ? 'fill' : 'bright',
|
|
105
134
|
color: visible ? 'info' : 'default',
|
|
106
|
-
children: shouldShowMore ? '+' : "+".concat(
|
|
135
|
+
children: shouldShowMore ? '+' : "+".concat(itemsLength)
|
|
107
136
|
}, 'more'), compressed !== 'hide-popover' && /*#__PURE__*/_jsx(Popover, {
|
|
108
137
|
jssStyle: jssStyle,
|
|
109
138
|
className: compressedClassName,
|
|
@@ -4,6 +4,7 @@ import { SelectProps } from './select.type';
|
|
|
4
4
|
export interface ResultMoreProps<DataItem, Value> extends Pick<SelectProps<DataItem, Value>, 'jssStyle' | 'size' | 'multiple' | 'placeholder' | 'keygen' | 'value' | 'compressed' | 'compressedBound' | 'renderCompressed' | 'compressedClassName' | 'disabled' | 'onFilter'> {
|
|
5
5
|
data: React.ReactNode[];
|
|
6
6
|
datas?: (DataItem | UnMatchedData)[];
|
|
7
|
+
more?: number;
|
|
7
8
|
showNum?: number;
|
|
8
9
|
onRemove?: (item: DataItem | UnMatchedData, key?: KeygenResult, index?: number) => void;
|
|
9
10
|
classes: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"result-more.type.d.ts","sourceRoot":"","sources":["result-more.type.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,WAAW,eAAe,CAAC,QAAQ,EAAE,KAAK,CAC9C,SAAQ,IAAI,CACV,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,EAC1B,UAAU,GACV,MAAM,GACN,UAAU,GACV,aAAa,GACb,QAAQ,GACR,OAAO,GACP,YAAY,GACZ,iBAAiB,GACjB,kBAAkB,GAClB,qBAAqB,GACrB,UAAU,GACV,UAAU,CACb;IACD,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,CAAC,QAAQ,GAAG,aAAa,CAAC,EAAE,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,GAAG,aAAa,EAAE,GAAG,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACxF,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/C"}
|
|
1
|
+
{"version":3,"file":"result-more.type.d.ts","sourceRoot":"","sources":["result-more.type.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,WAAW,eAAe,CAAC,QAAQ,EAAE,KAAK,CAC9C,SAAQ,IAAI,CACV,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,EAC1B,UAAU,GACV,MAAM,GACN,UAAU,GACV,aAAa,GACb,QAAQ,GACR,OAAO,GACP,YAAY,GACZ,iBAAiB,GACjB,kBAAkB,GAClB,qBAAqB,GACrB,UAAU,GACV,UAAU,CACb;IACD,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,CAAC,QAAQ,GAAG,aAAa,CAAC,EAAE,CAAC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,GAAG,aAAa,EAAE,GAAG,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACxF,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"result.d.ts","sourceRoot":"","sources":["result.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAY5C,QAAA,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"result.d.ts","sourceRoot":"","sources":["result.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAY5C,QAAA,MAAM,MAAM,mGAybX,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
package/esm/select/result.js
CHANGED
|
@@ -76,11 +76,7 @@ var Result = function Result(props) {
|
|
|
76
76
|
setShouldResetMore = _useState4[1];
|
|
77
77
|
var render = useRender();
|
|
78
78
|
var resultRef = useRef(null);
|
|
79
|
-
var
|
|
80
|
-
prevMore: more,
|
|
81
|
-
maxMore: 0
|
|
82
|
-
}),
|
|
83
|
-
context = _useRef.current;
|
|
79
|
+
var prevMore = useRef(more);
|
|
84
80
|
var removeLock = useRef(false);
|
|
85
81
|
var showInput = allowOnFilter;
|
|
86
82
|
var mounted = useRef(false);
|
|
@@ -283,6 +279,7 @@ var Result = function Result(props) {
|
|
|
283
279
|
data: result,
|
|
284
280
|
datas: renderMultipleResult.datas,
|
|
285
281
|
size: size,
|
|
282
|
+
more: moreNumber,
|
|
286
283
|
compressed: compressed,
|
|
287
284
|
renderCompressed: renderCompressed,
|
|
288
285
|
compressedClassName: compressedClassName,
|
|
@@ -312,22 +309,13 @@ var Result = function Result(props) {
|
|
|
312
309
|
}
|
|
313
310
|
return result;
|
|
314
311
|
};
|
|
315
|
-
var handleResetMore = function handleResetMore(
|
|
312
|
+
var handleResetMore = function handleResetMore() {
|
|
316
313
|
if (!compressed) return;
|
|
317
314
|
if (isCompressedBound()) return;
|
|
318
315
|
if (removeLock.current) {
|
|
319
316
|
removeLock.current = false;
|
|
320
317
|
return;
|
|
321
318
|
}
|
|
322
|
-
|
|
323
|
-
// 性能优化:当选项数量远超容器承载能力时,跳过昂贵的DOM计算
|
|
324
|
-
// 在1000+选项时,重新计算会导致INP超过1000ms
|
|
325
|
-
var hasExistingCompression = context.prevMore > 0;
|
|
326
|
-
var hasValidEstimate = context.maxMore > 0;
|
|
327
|
-
var exceedsCapacity = valueLength && valueLength > context.maxMore;
|
|
328
|
-
if (hasExistingCompression && hasValidEstimate && exceedsCapacity) {
|
|
329
|
-
return; // 跳过重新计算,保持现有的压缩状态
|
|
330
|
-
}
|
|
331
319
|
setMore(-1);
|
|
332
320
|
setShouldResetMore(true);
|
|
333
321
|
};
|
|
@@ -384,7 +372,7 @@ var Result = function Result(props) {
|
|
|
384
372
|
}
|
|
385
373
|
}, [focus, multiple]);
|
|
386
374
|
useLayoutEffect(function () {
|
|
387
|
-
handleResetMore(
|
|
375
|
+
handleResetMore();
|
|
388
376
|
}, [valueProp, data]);
|
|
389
377
|
useEffect(function () {
|
|
390
378
|
// datum.getDataByValues(value); 需要等待 useTree useEffect 执行完毕 才能获取到
|
|
@@ -395,7 +383,7 @@ var Result = function Result(props) {
|
|
|
395
383
|
var tagClassName = ".".concat(styles.tag.split(' ')[0]);
|
|
396
384
|
if (shouldResetMore && isArray(value) && (value || []).length) {
|
|
397
385
|
var newMore = getResetMore(showInput, resultRef.current, resultRef.current.querySelectorAll(tagClassName));
|
|
398
|
-
|
|
386
|
+
prevMore.current = newMore;
|
|
399
387
|
setMore(newMore);
|
|
400
388
|
setShouldResetMore(false);
|
|
401
389
|
} else {
|
|
@@ -409,7 +397,6 @@ var Result = function Result(props) {
|
|
|
409
397
|
if (!resultRef.current) return;
|
|
410
398
|
if (!compressed) return;
|
|
411
399
|
if (isCompressedBound()) return;
|
|
412
|
-
context.maxMore = Math.floor(resultRef.current.clientWidth / 20);
|
|
413
400
|
var cancelObserver = addResizeObserver(resultRef.current, handleResetMore, {
|
|
414
401
|
direction: 'x'
|
|
415
402
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree-virtual-node.d.ts","sourceRoot":"","sources":["tree-virtual-node.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,EAA4B,YAAY,EAAE,MAAM,eAAe,CAAC;AAKvE,QAAA,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"tree-virtual-node.d.ts","sourceRoot":"","sources":["tree-virtual-node.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,EAA4B,YAAY,EAAE,MAAM,eAAe,CAAC;AAKvE,QAAA,MAAM,WAAW,mIA2IhB,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -77,19 +77,7 @@ var VirtualNode = function VirtualNode(props) {
|
|
|
77
77
|
});
|
|
78
78
|
if (onToggle) onToggle(id, nextExpanded);
|
|
79
79
|
};
|
|
80
|
-
var
|
|
81
|
-
if (size === "large") {
|
|
82
|
-
if (line && level === 1) {
|
|
83
|
-
return 16;
|
|
84
|
-
}
|
|
85
|
-
return 32;
|
|
86
|
-
}
|
|
87
|
-
if (line && level === 1) {
|
|
88
|
-
return 8;
|
|
89
|
-
}
|
|
90
|
-
return 24;
|
|
91
|
-
};
|
|
92
|
-
var indent = getIndent();
|
|
80
|
+
var indent = size === "large" ? 32 : 24;
|
|
93
81
|
var $indents;
|
|
94
82
|
if (line) {
|
|
95
83
|
$indents = Array.from({
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sheinx/base",
|
|
3
|
-
"version": "3.7.5-beta.
|
|
3
|
+
"version": "3.7.5-beta.2",
|
|
4
4
|
"description": "",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"license": "MIT",
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"module": "./esm/index.js",
|
|
11
11
|
"typings": "./cjs/index.d.ts",
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@sheinx/hooks": "3.7.5-beta.
|
|
13
|
+
"@sheinx/hooks": "3.7.5-beta.2",
|
|
14
14
|
"immer": "^10.0.0",
|
|
15
15
|
"classnames": "^2.0.0",
|
|
16
16
|
"@shined/reactive": "^0.1.3-alpha.0"
|