shineout 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/index.js CHANGED
@@ -522,5 +522,5 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
522
522
  // 此文件由脚本自动生成,请勿直接修改。
523
523
  // This file was generated automatically by a script. Please do not modify it directly.
524
524
  var _default = exports.default = {
525
- version: '3.7.5-beta.10'
525
+ version: '3.7.5-beta.2'
526
526
  };
package/dist/shineout.js CHANGED
@@ -7389,7 +7389,7 @@ var Alert = function Alert(props) {
7389
7389
  if (dismiss === HIDE) {
7390
7390
  return null;
7391
7391
  }
7392
- if (title) {
7392
+ if ('title' in props && title !== undefined) {
7393
7393
  return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", objectSpread2_default()(objectSpread2_default()({
7394
7394
  className: rootClass
7395
7395
  }, getRootProps()), {}, {
@@ -12234,7 +12234,7 @@ var handleStyle = function handleStyle(style) {
12234
12234
  };
12235
12235
  /* harmony default export */ var jss_style_handleStyle = (handleStyle);
12236
12236
  ;// CONCATENATED MODULE: ../shineout-style/src/version.ts
12237
- /* harmony default export */ var version = ('3.7.5-beta.10');
12237
+ /* harmony default export */ var version = ('3.7.5-beta.2');
12238
12238
  ;// CONCATENATED MODULE: ../shineout-style/src/jss-style/index.tsx
12239
12239
 
12240
12240
 
@@ -30375,13 +30375,10 @@ var usePopup = function usePopup(props) {
30375
30375
  }
30376
30376
  };
30377
30377
  var handleMouseEnter = use_persist_fn(function (e) {
30378
- var _targetEvents$onMouse, _targetRef$current;
30378
+ var _targetEvents$onMouse;
30379
30379
  targetEvents === null || targetEvents === void 0 || (_targetEvents$onMouse = targetEvents.onMouseEnter) === null || _targetEvents$onMouse === void 0 || _targetEvents$onMouse.call(targetEvents, e);
30380
30380
  if (trigger !== 'hover') return;
30381
- var isParentContainsCurrent = (_targetRef$current = targetRef.current) === null || _targetRef$current === void 0 ? void 0 : _targetRef$current.contains(e.target);
30382
- if (isParentContainsCurrent) {
30383
- handleHoverToggle(true);
30384
- }
30381
+ handleHoverToggle(true);
30385
30382
  });
30386
30383
  var handleMouseLeave = use_persist_fn(function (e) {
30387
30384
  var _targetEvents$onMouse2, _popupRef$current2;
@@ -39413,8 +39410,9 @@ var useTree = function useTree(props) {
39413
39410
  }
39414
39411
  context.updateMap.forEach(function (call, id) {
39415
39412
  if (ignoreExpanded) {
39416
- var nodeStatus = call('get', true);
39417
- if (nodeStatus && nodeStatus.hasTriggered) return;
39413
+ var _ref4 = call('get', true),
39414
+ hasTriggered = _ref4.hasTriggered;
39415
+ if (hasTriggered) return;
39418
39416
  }
39419
39417
  call('expanded', tempExpandMap.has(id));
39420
39418
  });
@@ -40070,8 +40068,8 @@ var CascaderNode = function CascaderNode(props) {
40070
40068
  _useState2 = slicedToArray_default()(_useState, 2),
40071
40069
  loading = _useState2[0],
40072
40070
  setLoading = _useState2[1];
40071
+ // const [activeState, setActiveState] = useState(false);
40073
40072
  var checkboxRef = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useRef)();
40074
- var hasHandleSelectRef = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useRef)(false);
40075
40073
  var isDisabled = datum.isDisabled(id);
40076
40074
  var children = data[childrenKey];
40077
40075
  var hasChildren = children && children.length > 0;
@@ -40112,17 +40110,13 @@ var CascaderNode = function CascaderNode(props) {
40112
40110
  }
40113
40111
  if (isHoverAble) {
40114
40112
  events.onMouseEnter = handlePathChange;
40115
- if (multiple) {
40116
- events.onClick = handleSelect;
40117
- hasHandleSelectRef.current = true;
40118
- }
40113
+ if (multiple) events.onClick = handleSelect;
40119
40114
  } else if (isRealLeafNode && multiple) {
40120
40115
  // 非hover模式下: 末级节点支持整个节点区域点击选中checkbox
40121
40116
  events.onClick = function (e) {
40122
40117
  handleClick(e);
40123
40118
  handleSelect(e);
40124
40119
  };
40125
- hasHandleSelectRef.current = true;
40126
40120
  }
40127
40121
  return events;
40128
40122
  };
@@ -40178,7 +40172,7 @@ var CascaderNode = function CascaderNode(props) {
40178
40172
  className: styles.optionCheckbox,
40179
40173
  checked: datum.getChecked(id),
40180
40174
  disabled: isDisabled,
40181
- onChange: hasHandleSelectRef.current ? undefined : handleChange
40175
+ onChange: isRealLeafNode && multiple ? undefined : handleChange
40182
40176
  }), renderContent(), renderIcon()]
40183
40177
  })
40184
40178
  }));
@@ -41101,25 +41095,44 @@ function getResetMore(onFilter, container, doms) {
41101
41095
  var hideMargin = parsePxToNumber(hideElStyle.marginLeft) + parsePxToNumber(hideElStyle.marginRight);
41102
41096
  var num = 0;
41103
41097
  var sumWidth = 0;
41104
- for (var i = 0; i < doms.length; i++) {
41105
- var _item2 = doms[i];
41106
- var itemStyle = getComputedStyle(_item2);
41107
- var itemWidth = _item2.offsetWidth + parsePxToNumber(itemStyle.marginLeft) + parsePxToNumber(itemStyle.marginRight);
41108
- sumWidth += itemWidth;
41109
- var moreWidth = 0;
41110
- var resetNum = items.length - 1 - i;
41111
- if (resetNum > 0) {
41112
- var reset = "+".concat(resetNum);
41113
- hideEl.childNodes[0].innerText = reset;
41114
- moreWidth = hideEl.offsetWidth + hideMargin;
41115
- }
41116
- if (sumWidth > contentWidth - moreWidth) {
41117
- num = i;
41118
- break;
41119
- }
41098
+ var itemWidthArr = items.map(function (item) {
41099
+ var itemStyle = getComputedStyle(item);
41100
+ var itemLen = item.offsetWidth + parsePxToNumber(itemStyle.marginLeft) + parsePxToNumber(itemStyle.marginRight);
41101
+ sumWidth += itemLen;
41102
+ return itemLen;
41103
+ });
41104
+ if (sumWidth <= contentWidth) {
41120
41105
  num = -1;
41106
+ } else {
41107
+ var len = 0;
41108
+ for (var i = 0; i < itemWidthArr.length; i++) {
41109
+ var itemLen = itemWidthArr[i];
41110
+ // number length
41111
+ var resetNum = items.length - 1 - i;
41112
+ var moreWidth = void 0;
41113
+ if (resetNum <= 0) {
41114
+ moreWidth = 0;
41115
+ } else {
41116
+ var reset = "+".concat(resetNum);
41117
+ hideEl.childNodes[0].innerText = reset;
41118
+ // (+num) width
41119
+ moreWidth = hideEl.offsetWidth + hideMargin;
41120
+ }
41121
+ len += itemLen;
41122
+ if (len > contentWidth - moreWidth) {
41123
+ break;
41124
+ }
41125
+ num += 1;
41126
+ if (i === items.length - 1) {
41127
+ // not show more
41128
+ num = -1;
41129
+ }
41130
+ }
41131
+ }
41132
+ // at least show one
41133
+ if (num === 0 && itemWidthArr[0]) {
41134
+ num = 1;
41121
41135
  }
41122
- ;
41123
41136
  return num;
41124
41137
  }
41125
41138
  var More = function More(props) {
@@ -41141,7 +41154,16 @@ var More = function More(props) {
41141
41154
  var shouldShowMore = showNum < 0 || showNum >= data.length;
41142
41155
  var before = [];
41143
41156
  var after = [];
41144
- var afterLength = 0;
41157
+ var itemsLength = 0;
41158
+ var tagStyle = shouldShowMore ? {
41159
+ position: 'absolute',
41160
+ zIndex: -100,
41161
+ userSelect: 'none',
41162
+ msUserSelect: 'none',
41163
+ contain: 'layout',
41164
+ opacity: 0,
41165
+ pointerEvents: 'none'
41166
+ } : {};
41145
41167
  if (!shouldShowMore) {
41146
41168
  before = new Array(showNum).fill(undefined).map(function (_item, index) {
41147
41169
  return data[index];
@@ -41149,9 +41171,9 @@ var More = function More(props) {
41149
41171
  after = new Array(data.length - showNum).fill(undefined).map(function (_item, index) {
41150
41172
  return data[showNum + index];
41151
41173
  });
41152
- afterLength = after.length;
41174
+ itemsLength = after.length;
41153
41175
  }
41154
- if (shouldShowMore) {
41176
+ if (showNum < 0 || showNum >= data.length) {
41155
41177
  return /*#__PURE__*/(0,jsx_runtime.jsxs)((external_root_React_commonjs2_react_commonjs_react_amd_react_default()).Fragment, {
41156
41178
  children: [data, /*#__PURE__*/(0,jsx_runtime.jsx)(src_tag_tag, {
41157
41179
  className: styles.tag,
@@ -41178,9 +41200,10 @@ var More = function More(props) {
41178
41200
  className: styles.tag,
41179
41201
  jssStyle: jssStyle,
41180
41202
  size: size,
41203
+ style: tagStyle,
41181
41204
  mode: visible ? 'fill' : 'bright',
41182
41205
  color: visible ? 'info' : 'default',
41183
- children: shouldShowMore ? '+' : "+".concat(afterLength)
41206
+ children: shouldShowMore ? '+' : "+".concat(itemsLength)
41184
41207
  }, 'more'), compressed !== 'hide-popover' && /*#__PURE__*/(0,jsx_runtime.jsx)(src_popover_popover, {
41185
41208
  jssStyle: jssStyle,
41186
41209
  className: compressedClassName,
@@ -41278,11 +41301,7 @@ var result_Result = function Result(props) {
41278
41301
  setShouldResetMore = _useState4[1];
41279
41302
  var render = useRender();
41280
41303
  var resultRef = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useRef)(null);
41281
- var _useRef = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useRef)({
41282
- prevMore: more,
41283
- maxMore: 0
41284
- }),
41285
- context = _useRef.current;
41304
+ var prevMore = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useRef)(more);
41286
41305
  var removeLock = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useRef)(false);
41287
41306
  var showInput = allowOnFilter;
41288
41307
  var mounted = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useRef)(false);
@@ -41485,6 +41504,7 @@ var result_Result = function Result(props) {
41485
41504
  data: result,
41486
41505
  datas: renderMultipleResult.datas,
41487
41506
  size: size,
41507
+ more: moreNumber,
41488
41508
  compressed: compressed,
41489
41509
  renderCompressed: renderCompressed,
41490
41510
  compressedClassName: compressedClassName,
@@ -41514,22 +41534,13 @@ var result_Result = function Result(props) {
41514
41534
  }
41515
41535
  return result;
41516
41536
  };
41517
- var handleResetMore = function handleResetMore(valueLength) {
41537
+ var handleResetMore = function handleResetMore() {
41518
41538
  if (!compressed) return;
41519
41539
  if (isCompressedBound()) return;
41520
41540
  if (removeLock.current) {
41521
41541
  removeLock.current = false;
41522
41542
  return;
41523
41543
  }
41524
-
41525
- // 性能优化:当选项数量远超容器承载能力时,跳过昂贵的DOM计算
41526
- // 在1000+选项时,重新计算会导致INP超过1000ms
41527
- var hasExistingCompression = context.prevMore > 0;
41528
- var hasValidEstimate = context.maxMore > 0;
41529
- var exceedsCapacity = valueLength && valueLength > context.maxMore;
41530
- if (hasExistingCompression && hasValidEstimate && exceedsCapacity) {
41531
- return; // 跳过重新计算,保持现有的压缩状态
41532
- }
41533
41544
  setMore(-1);
41534
41545
  setShouldResetMore(true);
41535
41546
  };
@@ -41586,7 +41597,7 @@ var result_Result = function Result(props) {
41586
41597
  }
41587
41598
  }, [focus, multiple]);
41588
41599
  (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useLayoutEffect)(function () {
41589
- handleResetMore((valueProp === null || valueProp === void 0 ? void 0 : valueProp.length) || 0);
41600
+ handleResetMore();
41590
41601
  }, [valueProp, data]);
41591
41602
  (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useEffect)(function () {
41592
41603
  // datum.getDataByValues(value); 需要等待 useTree useEffect 执行完毕 才能获取到
@@ -41597,7 +41608,7 @@ var result_Result = function Result(props) {
41597
41608
  var tagClassName = ".".concat(styles.tag.split(' ')[0]);
41598
41609
  if (shouldResetMore && result_isArray(value) && (value || []).length) {
41599
41610
  var newMore = getResetMore(showInput, resultRef.current, resultRef.current.querySelectorAll(tagClassName));
41600
- context.prevMore = newMore;
41611
+ prevMore.current = newMore;
41601
41612
  setMore(newMore);
41602
41613
  setShouldResetMore(false);
41603
41614
  } else {
@@ -41611,7 +41622,6 @@ var result_Result = function Result(props) {
41611
41622
  if (!resultRef.current) return;
41612
41623
  if (!compressed) return;
41613
41624
  if (isCompressedBound()) return;
41614
- context.maxMore = Math.floor(resultRef.current.clientWidth / 20);
41615
41625
  var cancelObserver = addResizeObserver(resultRef.current, handleResetMore, {
41616
41626
  direction: 'x'
41617
41627
  });
@@ -45257,7 +45267,6 @@ var useDatePickerFormat = function useDatePickerFormat(props) {
45257
45267
  return getFormatValueArr(dateArr, props.formatResult);
45258
45268
  } else if (typeof props.formatResult === 'function') {
45259
45269
  return dateArr.map(function (item) {
45260
- if (!item) return '';
45261
45270
  return props.formatResult(item);
45262
45271
  });
45263
45272
  } else {
@@ -50822,9 +50831,6 @@ var useForm = function useForm(props) {
50822
50831
  context.names.delete(n);
50823
50832
  delete context.defaultValues[n];
50824
50833
  }
50825
- if (context.errors[n]) {
50826
- delete context.errors[n];
50827
- }
50828
50834
  var finalReserveAble = (_props$reserveAble = props.reserveAble) !== null && _props$reserveAble !== void 0 ? _props$reserveAble : reserveAble;
50829
50835
  if (!finalReserveAble && !context.removeLock) {
50830
50836
  addRemove(n);
@@ -55185,19 +55191,7 @@ var VirtualNode = function VirtualNode(props) {
55185
55191
  });
55186
55192
  if (onToggle) onToggle(id, nextExpanded);
55187
55193
  };
55188
- var getIndent = function getIndent() {
55189
- if (size === "large") {
55190
- if (line && level === 1) {
55191
- return 16;
55192
- }
55193
- return 32;
55194
- }
55195
- if (line && level === 1) {
55196
- return 8;
55197
- }
55198
- return 24;
55199
- };
55200
- var indent = getIndent();
55194
+ var indent = size === "large" ? 32 : 24;
55201
55195
  var $indents;
55202
55196
  if (line) {
55203
55197
  $indents = Array.from({
@@ -57498,8 +57492,7 @@ var usePagination = function usePagination(props) {
57498
57492
  return objectSpread2_default()({}, mergedEventHandlers);
57499
57493
  };
57500
57494
  return {
57501
- // current,
57502
- current: currentProp !== undefined ? currentProp : current,
57495
+ current: current,
57503
57496
  pageSize: pageSize,
57504
57497
  total: total,
57505
57498
  onChange: handleChange,
@@ -71647,7 +71640,7 @@ var upload_interface = __webpack_require__(8821);
71647
71640
 
71648
71641
 
71649
71642
  /* harmony default export */ var src_0 = ({
71650
- version: '3.7.5-beta.10'
71643
+ version: '3.7.5-beta.2'
71651
71644
  });
71652
71645
  }();
71653
71646
  /******/ return __webpack_exports__;