shineout 3.9.12-beta.6 → 3.9.12-beta.8

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.9.12-beta.6'
525
+ version: '3.9.12-beta.8'
526
526
  };
package/dist/shineout.js CHANGED
@@ -12408,7 +12408,7 @@ var handleStyle = function handleStyle(style) {
12408
12408
  };
12409
12409
  /* harmony default export */ var jss_style_handleStyle = (handleStyle);
12410
12410
  ;// CONCATENATED MODULE: ../shineout-style/src/version.ts
12411
- /* harmony default export */ var version = ('3.9.12-beta.6');
12411
+ /* harmony default export */ var version = ('3.9.12-beta.8');
12412
12412
  ;// CONCATENATED MODULE: ../shineout-style/src/jss-style/index.tsx
12413
12413
 
12414
12414
 
@@ -19959,7 +19959,7 @@ var formItemStyle = objectSpread2_default()(objectSpread2_default()({
19959
19959
  }
19960
19960
  },
19961
19961
  wrapperHideRequired: {
19962
- '& $label::before': {
19962
+ '& > $label::before': {
19963
19963
  display: 'none'
19964
19964
  }
19965
19965
  },
@@ -40855,7 +40855,8 @@ var useTree = function useTree(props) {
40855
40855
  defaultExpandAll = props.defaultExpandAll,
40856
40856
  unmatch = props.unmatch,
40857
40857
  isControlled = props.isControlled,
40858
- onExpandProp = props.onExpand;
40858
+ onExpandProp = props.onExpand,
40859
+ sortBySelect = props.sortBySelect;
40859
40860
  var disabledProps = isOptionalDisabled(props.disabled) ? props.disabled.disabled : props.disabled;
40860
40861
  var isRealtime = isOptionalDisabled(props.disabled) ? props.disabled.isRealtime : false;
40861
40862
  var _useState = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useState)([]),
@@ -40883,7 +40884,8 @@ var useTree = function useTree(props) {
40883
40884
  value: undefined,
40884
40885
  data: [],
40885
40886
  cachedValue: [],
40886
- valueDataCache: new Map()
40887
+ valueDataCache: new Map(),
40888
+ selectOrder: []
40887
40889
  }),
40888
40890
  context = _useRef.current;
40889
40891
 
@@ -40983,6 +40985,16 @@ var useTree = function useTree(props) {
40983
40985
  context.unmatchedValueMap.forEach(function (unmatch, id) {
40984
40986
  if (unmatch) values.push(id);
40985
40987
  });
40988
+ if (sortBySelect && context.selectOrder.length > 0) {
40989
+ var orderMap = new Map();
40990
+ context.selectOrder.forEach(function (id, index) {
40991
+ orderMap.set(id, index);
40992
+ });
40993
+ values.sort(function (a, b) {
40994
+ var _orderMap$get, _orderMap$get2;
40995
+ return ((_orderMap$get = orderMap.get(a)) !== null && _orderMap$get !== void 0 ? _orderMap$get : Infinity) - ((_orderMap$get2 = orderMap.get(b)) !== null && _orderMap$get2 !== void 0 ? _orderMap$get2 : Infinity);
40996
+ });
40997
+ }
40986
40998
  context.cachedValue = values;
40987
40999
  // why deep clone: 外部可能对数组做splice等操作,影响context.cachedValue在内部的判断逻辑
40988
41000
  // 表现出来的bug现象是:外部删除了某个叶子结点,但是Tree的勾选情况没有同步更新; 另外是为了对齐老版本的表现
@@ -41028,6 +41040,21 @@ var useTree = function useTree(props) {
41028
41040
  return isUnMatchedData(data);
41029
41041
  });
41030
41042
  var setValueMap = function setValueMap(id, checked) {
41043
+ if (sortBySelect) {
41044
+ var prevChecked = context.valueMap.get(id);
41045
+ var wasChecked = prevChecked === 1 || prevChecked === 2;
41046
+ var isChecked = checked === 1 || checked === 2;
41047
+ if (!wasChecked && isChecked) {
41048
+ if (!context.selectOrder.includes(id)) {
41049
+ context.selectOrder.push(id);
41050
+ }
41051
+ } else if (wasChecked && !isChecked) {
41052
+ var idx = context.selectOrder.indexOf(id);
41053
+ if (idx >= 0) {
41054
+ context.selectOrder.splice(idx, 1);
41055
+ }
41056
+ }
41057
+ }
41031
41058
  context.valueMap.set(id, checked);
41032
41059
  var update = context.forceUpdateMap.get(id);
41033
41060
  if (update) update();
@@ -41188,6 +41215,12 @@ var useTree = function useTree(props) {
41188
41215
  initValue();
41189
41216
  }
41190
41217
  setUnmatedValue();
41218
+ if (sortBySelect) {
41219
+ context.selectOrder = (context.value || []).filter(function (id) {
41220
+ var status = context.valueMap.get(id);
41221
+ return status === 1 || status === 2 || context.unmatchedValueMap.get(id);
41222
+ });
41223
+ }
41191
41224
  };
41192
41225
  var isDisabled = function isDisabled(id) {
41193
41226
  if (isFunc(disabledProps)) {
@@ -41225,6 +41258,7 @@ var useTree = function useTree(props) {
41225
41258
  context.dataFlatStatusMap = new Map();
41226
41259
  context.valueMap = new Map();
41227
41260
  context.unmatchedValueMap = new Map();
41261
+ context.selectOrder = [];
41228
41262
  context.data = use_tree_toArray(data);
41229
41263
  if (virtual) {
41230
41264
  context.dataFlat = [];
@@ -41515,7 +41549,8 @@ var useCascader = function useCascader(props) {
41515
41549
  valueProp = props.value,
41516
41550
  onChangeProp = props.onChange,
41517
41551
  filterSameChange = props.filterSameChange,
41518
- childrenKey = props.childrenKey;
41552
+ childrenKey = props.childrenKey,
41553
+ sortBySelect = props.sortBySelect;
41519
41554
  var _useInputAble = useInputAble({
41520
41555
  value: valueProp,
41521
41556
  control: control,
@@ -41534,7 +41569,8 @@ var useCascader = function useCascader(props) {
41534
41569
  mode: mode,
41535
41570
  disabled: disabled,
41536
41571
  isControlled: control,
41537
- childrenKey: childrenKey
41572
+ childrenKey: childrenKey,
41573
+ sortBySelect: sortBySelect
41538
41574
  }),
41539
41575
  datum = _useTree.datum;
41540
41576
  return {
@@ -43814,7 +43850,8 @@ var Cascader = function Cascader(props0) {
43814
43850
  virtual = props.virtual,
43815
43851
  filterSameChange = props.filterSameChange,
43816
43852
  beforeChange = props.beforeChange,
43817
- checkOnFiltered = props.checkOnFiltered;
43853
+ checkOnFiltered = props.checkOnFiltered,
43854
+ sortBySelect = props.sortBySelect;
43818
43855
  var showInput = isFunc(onFilterProp);
43819
43856
  var isRealtime = cascader_isOptionalDisabled(props.disabled) ? props.disabled.isRealtime : false;
43820
43857
  var disabled = isOptionalDisabled(disabledProp) ? disabledProp.disabled : disabledProp;
@@ -43855,6 +43892,12 @@ var Cascader = function Cascader(props0) {
43855
43892
  FilterProvider = _useFilter.FilterProvider;
43856
43893
  var isDataEmpty = !filterData || filterData.length === 0;
43857
43894
  var isMultiple = multiple === true || mode !== undefined;
43895
+
43896
+ // fix: multiple=true 但未传 mode 时,mode 为 undefined 会导致 getValue() 的 switch-case
43897
+ // 走 default 分支返回空数组,进而在受控模式下 setValue → initValue 用空值重置勾选状态,
43898
+ // 表现为 checkbox 勾选后立即回弹。此问题由 #1364 引入 deepClone 后暴露。
43899
+ // 默认值 1 与 Tree、TreeSelect 组件的 mode 解构默认值保持一致。
43900
+ var resolvedMode = isMultiple && mode === undefined ? 1 : mode;
43858
43901
  var updateKey = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useMemo)(function () {
43859
43902
  return path.join('-');
43860
43903
  }, [path]);
@@ -43864,13 +43907,14 @@ var Cascader = function Cascader(props0) {
43864
43907
  keygen: keygen,
43865
43908
  unmatch: unmatch,
43866
43909
  disabled: disabledProp,
43867
- mode: mode,
43910
+ mode: resolvedMode,
43868
43911
  defaultValue: defaultValue,
43869
43912
  childrenKey: childrenKey,
43870
43913
  value: valueProp,
43871
43914
  beforeChange: beforeChange,
43872
43915
  onChange: onChangeProp,
43873
- filterSameChange: filterSameChange
43916
+ filterSameChange: filterSameChange,
43917
+ sortBySelect: sortBySelect
43874
43918
  }),
43875
43919
  datum = _useCascader.datum,
43876
43920
  value = _useCascader.value,
@@ -44207,7 +44251,7 @@ var Cascader = function Cascader(props0) {
44207
44251
  parentId: "",
44208
44252
  virtual: virtual,
44209
44253
  path: [],
44210
- mode: mode,
44254
+ mode: resolvedMode,
44211
44255
  size: size
44212
44256
  }, 'root')];
44213
44257
  var childs = path.map(function (p, i) {
@@ -44292,7 +44336,7 @@ var Cascader = function Cascader(props0) {
44292
44336
  data: filterData,
44293
44337
  datum: datum,
44294
44338
  keygen: keygen,
44295
- mode: mode,
44339
+ mode: resolvedMode,
44296
44340
  height: height,
44297
44341
  size: size,
44298
44342
  isRealtime: isRealtime,
@@ -58303,7 +58347,7 @@ var TreeVirtual = function TreeVirtual(props) {
58303
58347
 
58304
58348
 
58305
58349
 
58306
- var tree_excluded = ["jssStyle", "line", "childrenKey", "data", "value", "mode", "keygen", "virtual", "expanded", "expandIcons", "iconClass", "leafClass", "nodeClass", "contentClass", "rootStyle", "renderItem", "defaultValue", "dataUpdate", "childrenClass", "defaultExpandAll", "defaultExpanded", "parentClickExpand", "doubleClickExpand", "dragImageSelector", "dragImageStyle", "dragSibling", "unmatch", "ignoreSetFlat", "dragHoverExpand", "active", "setActive", "disabled", "inlineNode", "highlight", "className", "onClick", "loader", "getDatum", "onDrop", "onExpand", "onChange", "onDragEnd", "onDragLeave", "onDragOver", "onDragStart", "datum", "rowsInView", "actionOnClick", "tiledData", "height", "leafIcon"];
58350
+ var tree_excluded = ["jssStyle", "line", "childrenKey", "data", "value", "mode", "keygen", "virtual", "expanded", "expandIcons", "iconClass", "leafClass", "nodeClass", "contentClass", "rootStyle", "renderItem", "defaultValue", "dataUpdate", "childrenClass", "defaultExpandAll", "defaultExpanded", "parentClickExpand", "doubleClickExpand", "dragImageSelector", "dragImageStyle", "dragSibling", "unmatch", "ignoreSetFlat", "dragHoverExpand", "active", "setActive", "disabled", "inlineNode", "highlight", "className", "onClick", "loader", "getDatum", "onDrop", "onExpand", "onChange", "onDragEnd", "onDragLeave", "onDragOver", "onDragStart", "datum", "rowsInView", "actionOnClick", "tiledData", "height", "leafIcon", "sortBySelect"];
58307
58351
 
58308
58352
 
58309
58353
 
@@ -58371,6 +58415,7 @@ var Tree = function Tree(props) {
58371
58415
  tiledData = props.tiledData,
58372
58416
  height = props.height,
58373
58417
  leafIcon = props.leafIcon,
58418
+ sortBySelect = props.sortBySelect,
58374
58419
  rest = objectWithoutProperties_default()(props, tree_excluded);
58375
58420
  var _useState = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useState)(propActive),
58376
58421
  _useState2 = slicedToArray_default()(_useState, 2),
@@ -58406,7 +58451,8 @@ var Tree = function Tree(props) {
58406
58451
  virtual: virtual,
58407
58452
  onExpand: onExpandProp,
58408
58453
  datum: propsDatum,
58409
- tiledData: props.filteredData
58454
+ tiledData: props.filteredData,
58455
+ sortBySelect: sortBySelect
58410
58456
  }),
58411
58457
  datum = _useTree.datum,
58412
58458
  expanded = _useTree.expanded,
@@ -71278,7 +71324,8 @@ var TreeSelect = function TreeSelect(props0) {
71278
71324
  beforeChange = props.beforeChange,
71279
71325
  filterSameChange = props.filterSameChange,
71280
71326
  checkOnFiltered = props.checkOnFiltered,
71281
- renderOptionList = props.renderOptionList;
71327
+ renderOptionList = props.renderOptionList,
71328
+ sortBySelect = props.sortBySelect;
71282
71329
  var styles = jssStyle === null || jssStyle === void 0 || (_jssStyle$treeSelect = jssStyle.treeSelect) === null || _jssStyle$treeSelect === void 0 ? void 0 : _jssStyle$treeSelect.call(jssStyle);
71283
71330
  var rootStyle = Object.assign({
71284
71331
  width: width
@@ -71378,7 +71425,8 @@ var TreeSelect = function TreeSelect(props0) {
71378
71425
  expanded: controlExpanded,
71379
71426
  defaultExpanded: defaultExpanded,
71380
71427
  defaultExpandAll: defaultExpandAll,
71381
- isControlled: controlExpanded !== undefined
71428
+ isControlled: controlExpanded !== undefined,
71429
+ sortBySelect: sortBySelect
71382
71430
  }),
71383
71431
  datum = _useTree.datum,
71384
71432
  unControlExpanded = _useTree.expanded;
@@ -75611,7 +75659,7 @@ var upload_interface = __webpack_require__(8821);
75611
75659
 
75612
75660
 
75613
75661
  /* harmony default export */ var src_0 = ({
75614
- version: '3.9.12-beta.6'
75662
+ version: '3.9.12-beta.8'
75615
75663
  });
75616
75664
  }();
75617
75665
  /******/ return __webpack_exports__;