shineout 3.7.0-beta.21 → 3.7.0-beta.23

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.0-beta.21'
525
+ version: '3.7.0-beta.23'
526
526
  };
@@ -2,7 +2,7 @@ import { TagProps as UnStyledTagProps, TagInputProps as UnStyledTagInputProps }
2
2
  /**
3
3
  * @title Tag
4
4
  */
5
- export type TagProps = Omit<UnStyledTagProps, 'jssStyle' | 'inlineStyle'>;
5
+ export type TagProps = Omit<UnStyledTagProps, 'jssStyle' | 'inlineStyle' | 'onMouseDown'>;
6
6
  /**
7
7
  * @title Tag.Input
8
8
  */
package/dist/shineout.js CHANGED
@@ -12226,7 +12226,7 @@ var handleStyle = function handleStyle(style) {
12226
12226
  };
12227
12227
  /* harmony default export */ var jss_style_handleStyle = (handleStyle);
12228
12228
  ;// CONCATENATED MODULE: ../shineout-style/src/version.ts
12229
- /* harmony default export */ var version = ('3.7.0-beta.21');
12229
+ /* harmony default export */ var version = ('3.7.0-beta.23');
12230
12230
  ;// CONCATENATED MODULE: ../shineout-style/src/jss-style/index.tsx
12231
12231
 
12232
12232
 
@@ -17380,6 +17380,7 @@ var cascaderStyle = objectSpread2_default()(objectSpread2_default()({
17380
17380
  display: 'flex',
17381
17381
  flex: '1',
17382
17382
  minWidth: 0,
17383
+ height: '100%',
17383
17384
  alignItems: 'center',
17384
17385
  lineHeight: src.lineHeightDynamic
17385
17386
  },
@@ -23183,6 +23184,7 @@ var selectStyle = objectSpread2_default()(objectSpread2_default()({
23183
23184
  result: {
23184
23185
  display: 'flex',
23185
23186
  flex: '1',
23187
+ height: '100%',
23186
23188
  minWidth: 0,
23187
23189
  alignItems: 'center',
23188
23190
  lineHeight: src.lineHeightDynamic
@@ -28561,6 +28563,7 @@ var treeSelectStyle = objectSpread2_default()(objectSpread2_default()({
28561
28563
  display: 'flex',
28562
28564
  flex: '1',
28563
28565
  minWidth: 0,
28566
+ height: '100%',
28564
28567
  alignItems: 'center',
28565
28568
  lineHeight: src.lineHeightDynamic
28566
28569
  },
@@ -29940,6 +29943,8 @@ var getPosition = function getPosition(target) {
29940
29943
 
29941
29944
 
29942
29945
  var defaultContext = {
29946
+ addParent: function addParent(_ref) {},
29947
+ removeParent: function removeParent(_ref) {},
29943
29948
  bindChild: function bindChild(_ref) {},
29944
29949
  removeChild: function removeChild(_ref) {}
29945
29950
  };
@@ -29970,21 +29975,32 @@ var usePopup = function usePopup(props) {
29970
29975
  setOpenState = _useState2[1];
29971
29976
  var _useContext = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useContext)(popup_context),
29972
29977
  bindChild = _useContext.bindChild,
29973
- removeChild = _useContext.removeChild;
29978
+ removeChild = _useContext.removeChild,
29979
+ addParent = _useContext.addParent,
29980
+ removeParent = _useContext.removeParent;
29974
29981
  var targetRef = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useRef)(null);
29975
29982
  var popupRef = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useRef)(null);
29976
- (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useEffect)(function () {
29977
- bindChild(popupRef);
29978
- return function () {
29979
- removeChild(popupRef);
29980
- };
29981
- }, []);
29982
29983
  var _useRef = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useRef)({
29983
29984
  triggerTimer: null,
29984
29985
  // 记录所有的子popup 点击子 popup 不关闭弹窗
29985
29986
  chain: [targetRef, popupRef]
29986
29987
  }),
29987
29988
  context = _useRef.current;
29989
+ var handleAddParent = function handleAddParent(elRef) {
29990
+ context.chain.push(elRef);
29991
+
29992
+ // 继续向上添加当前的 popupRef 到父级
29993
+ addParent(elRef);
29994
+ };
29995
+ var handleRemoveParent = function handleRemoveParent(elRef) {
29996
+ var index = context.chain.findIndex(function (item) {
29997
+ return item === elRef;
29998
+ });
29999
+ if (index > -1) {
30000
+ context.chain.splice(index, 1);
30001
+ removeParent(elRef);
30002
+ }
30003
+ };
29988
30004
  var open = openState;
29989
30005
  var changeOpen = function changeOpen(openIn, delay) {
29990
30006
  if (context.triggerTimer) clearTimeout(context.triggerTimer);
@@ -30014,11 +30030,6 @@ var usePopup = function usePopup(props) {
30014
30030
  updatePosition();
30015
30031
  }
30016
30032
  setOpenState(!!props.open);
30017
-
30018
- // 外部传了open时,需要正常的触发onCollapse;触发了onCollapse才能让组件内部的edit状态正确,否则可能会出现弹出层打开了但是用户却无法选择的情况
30019
- if (props.open !== undefined) {
30020
- changeOpen(!!props.open);
30021
- }
30022
30033
  }, [props.open]);
30023
30034
 
30024
30035
  // const getPopUpHeight = () => {
@@ -30123,8 +30134,13 @@ var usePopup = function usePopup(props) {
30123
30134
  });
30124
30135
  var providerValue = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useMemo)(function () {
30125
30136
  return {
30137
+ addParent: handleAddParent,
30138
+ removeParent: handleRemoveParent,
30126
30139
  bindChild: function bindChild(elRef) {
30127
- context.chain.push(elRef);
30140
+ if (elRef.current) {
30141
+ addParent(elRef);
30142
+ context.chain.push(elRef);
30143
+ }
30128
30144
  },
30129
30145
  removeChild: function removeChild(elRef) {
30130
30146
  var index = context.chain.findIndex(function (item) {
@@ -30132,10 +30148,19 @@ var usePopup = function usePopup(props) {
30132
30148
  });
30133
30149
  if (index > -1) {
30134
30150
  context.chain.splice(index, 1);
30151
+ removeParent(elRef);
30135
30152
  }
30136
30153
  }
30137
30154
  };
30138
30155
  }, []);
30156
+ (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useLayoutEffect)(function () {
30157
+ if (open) {
30158
+ bindChild(popupRef);
30159
+ }
30160
+ return function () {
30161
+ removeChild(popupRef);
30162
+ };
30163
+ }, [open]);
30139
30164
  return {
30140
30165
  open: open,
30141
30166
  position: position,
@@ -40354,7 +40379,7 @@ var TagInput = function TagInput(props) {
40354
40379
 
40355
40380
 
40356
40381
 
40357
- var tag_excluded = ["jssStyle", "className", "type", "color", "size", "disabled", "mode", "shape", "children", "onClick", "onClose", "style", "backgroundColor", "inlineStyle", "onKeyUp", "onCompleted", "onEnterPress", "closable"];
40382
+ var tag_excluded = ["jssStyle", "className", "type", "color", "size", "disabled", "mode", "shape", "children", "onClick", "onClose", "style", "backgroundColor", "inlineStyle", "onKeyUp", "onCompleted", "onEnterPress", "closable", "onMouseDown"];
40358
40383
 
40359
40384
 
40360
40385
 
@@ -40385,6 +40410,7 @@ var Tag = function Tag(props) {
40385
40410
  onCompleted = props.onCompleted,
40386
40411
  onEnterPress = props.onEnterPress,
40387
40412
  closable = props.closable,
40413
+ onMouseDown = props.onMouseDown,
40388
40414
  rest = objectWithoutProperties_default()(props, tag_excluded);
40389
40415
  if (props.type) {
40390
40416
  tag_devUseWarning.deprecated('type', 'color', 'Tag');
@@ -40458,6 +40484,7 @@ var Tag = function Tag(props) {
40458
40484
  return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
40459
40485
  className: tagStyle.closeIcon,
40460
40486
  onClick: handleClose,
40487
+ onMouseDown: onMouseDown,
40461
40488
  children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
40462
40489
  className: tagStyle.closeIconWrapper,
40463
40490
  children: icons_config.tag.Close
@@ -40612,10 +40639,6 @@ var More = function More(props) {
40612
40639
  className: compressedClassName,
40613
40640
  visible: visible,
40614
40641
  onVisibleChange: setVisible,
40615
- getPopupContainer: function getPopupContainer() {
40616
- var _props$morePopoverCon;
40617
- return (_props$morePopoverCon = props.morePopoverContainer) === null || _props$morePopoverCon === void 0 ? void 0 : _props$morePopoverCon.current;
40618
- },
40619
40642
  children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
40620
40643
  className: styles.moreWrapper,
40621
40644
  onClick: function onClick(e) {
@@ -40709,6 +40732,7 @@ var result_Result = function Result(props) {
40709
40732
  var render = useRender();
40710
40733
  var resultRef = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useRef)(null);
40711
40734
  var prevMore = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useRef)(more);
40735
+ var removeLock = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useRef)(false);
40712
40736
  var showInput = allowOnFilter;
40713
40737
  var mounted = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useRef)(false);
40714
40738
  var styles = props.classes;
@@ -40784,6 +40808,12 @@ var result_Result = function Result(props) {
40784
40808
  })
40785
40809
  }, 'input');
40786
40810
  };
40811
+ var handleCloseMouseDown = function handleCloseMouseDown() {
40812
+ removeLock.current = true;
40813
+ setTimeout(function () {
40814
+ removeLock.current = false;
40815
+ }, 0);
40816
+ };
40787
40817
  var renderResultItem = function renderResultItem(item, index, nodes, v) {
40788
40818
  var handleClose = function handleClose() {
40789
40819
  onRemove === null || onRemove === void 0 || onRemove(item, v);
@@ -40824,6 +40854,7 @@ var result_Result = function Result(props) {
40824
40854
  className: classnames_default()(styles.tag, more === 1 && styles.tagOnly, resultClassName),
40825
40855
  closable: closeable && 'only',
40826
40856
  onClose: closeable && handleClose,
40857
+ onMouseDown: closeable ? handleCloseMouseDown : undefined,
40827
40858
  onClick: handleClick,
40828
40859
  jssStyle: jssStyle,
40829
40860
  inlineStyle: true
@@ -40910,8 +40941,7 @@ var result_Result = function Result(props) {
40910
40941
  compressed: compressed,
40911
40942
  renderCompressed: renderCompressed,
40912
40943
  compressedClassName: compressedClassName,
40913
- showNum: moreNumber,
40914
- morePopoverContainer: props.morePopoverContainer
40944
+ showNum: moreNumber
40915
40945
  }, 'more');
40916
40946
  var renderResult = function renderResult() {
40917
40947
  if (empty) {
@@ -40940,6 +40970,7 @@ var result_Result = function Result(props) {
40940
40970
  var handleResetMore = function handleResetMore() {
40941
40971
  if (!compressed) return;
40942
40972
  if (isCompressedBound()) return;
40973
+ if (removeLock.current) return;
40943
40974
  setMore(-1);
40944
40975
  setShouldResetMore(true);
40945
40976
  };
@@ -41465,8 +41496,7 @@ var Cascader = function Cascader(props0) {
41465
41496
  onResultItemClick: handleResultItemClick,
41466
41497
  checkUnMatched: checkUnMatched,
41467
41498
  getDataByValues: getDataByValues,
41468
- setInputText: setInputText,
41469
- morePopoverContainer: targetRef
41499
+ setInputText: setInputText
41470
41500
  })
41471
41501
  });
41472
41502
  return /*#__PURE__*/(0,jsx_runtime.jsx)(PopupProvider, {
@@ -41639,6 +41669,9 @@ var Cascader = function Cascader(props0) {
41639
41669
  datum.setValue(value);
41640
41670
  if (!open) return;
41641
41671
  updatePathByValue();
41672
+ if (props.renderOptionList) {
41673
+ updatePath();
41674
+ }
41642
41675
  }, [value, open]);
41643
41676
  (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useEffect)(function () {
41644
41677
  if (filterText !== undefined) {
@@ -46988,7 +47021,7 @@ var DatePicker = function DatePicker(props0) {
46988
47021
  if (props.open) {
46989
47022
  func.startEdit();
46990
47023
  }
46991
- }, []);
47024
+ }, [props.open]);
46992
47025
  var _usePopup = use_popup({
46993
47026
  open: props.open,
46994
47027
  onCollapse: onCollapse,
@@ -47720,7 +47753,8 @@ var Modal = function Modal(props) {
47720
47753
  renderEd: false,
47721
47754
  isMask: false,
47722
47755
  mouseDownTarget: null,
47723
- mouseUpTarget: null
47756
+ mouseUpTarget: null,
47757
+ content: null
47724
47758
  }),
47725
47759
  context = _useRef.current;
47726
47760
  var _useState3 = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useState)(props.visible || props.autoShow),
@@ -47963,6 +47997,14 @@ var Modal = function Modal(props) {
47963
47997
  if (props.moveable && !props.fullScreen) {
47964
47998
  panelStyle.transform = "translate(".concat(moveInfo.pos.x, "px, ").concat(moveInfo.pos.y, "px)");
47965
47999
  }
48000
+ var renderContent = function renderContent() {
48001
+ if (!props.visible && context.content !== null) return context.content;
48002
+ return /*#__PURE__*/(0,jsx_runtime.jsxs)((external_root_React_commonjs2_react_commonjs_react_amd_react_default()).Fragment, {
48003
+ children: [renderHeader(), renderBody(), renderFooter(), renderResize()]
48004
+ });
48005
+ };
48006
+ var content = renderContent();
48007
+ context.content = content;
47966
48008
  return /*#__PURE__*/(0,jsx_runtime.jsx)(FormFooterProvider, {
47967
48009
  children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
47968
48010
  onClick: function onClick(e) {
@@ -47981,11 +48023,11 @@ var Modal = function Modal(props) {
47981
48023
  onMouseUp: handleMaskMouseUp,
47982
48024
  onClick: handleMaskClick,
47983
48025
  onAnimationStart: updateOrigin,
47984
- children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
48026
+ children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
47985
48027
  ref: panelRef,
47986
48028
  className: classnames_default()(modalClasses === null || modalClasses === void 0 ? void 0 : modalClasses.panel, props.className),
47987
48029
  style: panelStyle,
47988
- children: [renderHeader(), renderBody(), renderFooter(), renderResize()]
48030
+ children: content
47989
48031
  })
47990
48032
  }))
47991
48033
  })
@@ -49892,7 +49934,11 @@ var useForm = function useForm(props) {
49892
49934
  fullKeyPaths.forEach(function (key) {
49893
49935
  delete context.serverErrors[key];
49894
49936
  });
49895
- update(fullKeyPaths);
49937
+ if (option.forceUpdate) {
49938
+ update();
49939
+ } else {
49940
+ update(fullKeyPaths);
49941
+ }
49896
49942
  });
49897
49943
  var updateDefaultValue = function updateDefaultValue() {
49898
49944
  if (!context.mounted) return;
@@ -55895,8 +55941,7 @@ function Select(props0) {
55895
55941
  checkUnMatched: checkUnMatched,
55896
55942
  onRemove: handleRemove,
55897
55943
  classes: styles,
55898
- setInputText: setInputText,
55899
- morePopoverContainer: targetRef
55944
+ setInputText: setInputText
55900
55945
  })
55901
55946
  });
55902
55947
  return /*#__PURE__*/(0,jsx_runtime.jsx)(PopupProvider, {
@@ -62298,6 +62343,7 @@ var useTableGroup = function useTableGroup(props) {
62298
62343
  last.colSpan += colSpan;
62299
62344
  if (col.fixed) last.fixed = col.fixed;
62300
62345
  if (col.lastFixed) last.lastFixed = true;
62346
+ if (col.groupProps) last.groupProps = col.groupProps;
62301
62347
  } else {
62302
62348
  var sub = [];
62303
62349
  colSpan = setColumns(sub, col, level + 1, index);
@@ -62310,7 +62356,8 @@ var useTableGroup = function useTableGroup(props) {
62310
62356
  fixed: col.fixed,
62311
62357
  firstFixed: col.firstFixed,
62312
62358
  index: index,
62313
- columns: sub
62359
+ columns: sub,
62360
+ groupProps: col.groupProps
62314
62361
  };
62315
62362
  columns.push(groupCol);
62316
62363
  }
@@ -62772,6 +62819,7 @@ var thead_toNum = toNum;
62772
62819
  };
62773
62820
  };
62774
62821
  var createTh = function createTh(trs, col, level, isLast, columnIndex) {
62822
+ var _colTemp2$groupProps, _colTemp2$groupProps2;
62775
62823
  var colTemp = col;
62776
62824
  var colTemp2 = col;
62777
62825
  var fixedStyle = getFixedStyle(col.fixed, col.index, colTemp2.colSpan || 1, level);
@@ -62826,8 +62874,11 @@ var thead_toNum = toNum;
62826
62874
  var style = typeof colTemp2.name === 'string' ? fixedStyle : objectSpread2_default()({
62827
62875
  padding: 0
62828
62876
  }, fixedStyle);
62877
+ if (colTemp2 !== null && colTemp2 !== void 0 && (_colTemp2$groupProps = colTemp2.groupProps) !== null && _colTemp2$groupProps !== void 0 && _colTemp2$groupProps.style) {
62878
+ style = objectSpread2_default()(objectSpread2_default()({}, style), colTemp2.groupProps.style);
62879
+ }
62829
62880
  trs[level].push( /*#__PURE__*/(0,jsx_runtime.jsx)("th", {
62830
- className: classnames_default()(cellClassName, tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.cellGroup),
62881
+ className: classnames_default()(cellClassName, tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.cellGroup, colTemp2 === null || colTemp2 === void 0 || (_colTemp2$groupProps2 = colTemp2.groupProps) === null || _colTemp2$groupProps2 === void 0 ? void 0 : _colTemp2$groupProps2.className),
62831
62882
  style: style,
62832
62883
  colSpan: colTemp2.colSpan,
62833
62884
  dir: config.direction,
@@ -66833,8 +66884,7 @@ var TreeSelect = function TreeSelect(props0) {
66833
66884
  getDataByValues: getResultByValue,
66834
66885
  onRemove: handleRemove,
66835
66886
  classes: styles,
66836
- setInputText: setInputText,
66837
- morePopoverContainer: targetRef
66887
+ setInputText: setInputText
66838
66888
  })
66839
66889
  });
66840
66890
  return /*#__PURE__*/(0,jsx_runtime.jsx)(PopupProvider, {
@@ -67598,11 +67648,17 @@ var useDrop = function useDrop(props) {
67598
67648
  isoOver = _useState2[0],
67599
67649
  setOver = _useState2[1];
67600
67650
  var handleFileDrop = function handleFileDrop(e) {
67601
- var files = e.dataTransfer.files;
67602
67651
  var accept = props.accept,
67603
67652
  multiple = props.multiple,
67653
+ beforeDrop = props.beforeDrop,
67604
67654
  onDrop = props.onDrop,
67605
67655
  dropData = props.dropData;
67656
+ var files;
67657
+ if (beforeDrop && isFunc(beforeDrop)) {
67658
+ files = beforeDrop(e);
67659
+ } else {
67660
+ files = e.dataTransfer.files;
67661
+ }
67606
67662
  var filter = accept ? Array.prototype.filter.call(files, function (f) {
67607
67663
  return attrAccept(f, accept);
67608
67664
  }) : Array.from(files);
@@ -67933,6 +67989,7 @@ var Upload = function Upload(props0) {
67933
67989
  accept: accept,
67934
67990
  disabled: props.disabled,
67935
67991
  onDrop: func.addFiles,
67992
+ beforeDrop: props.beforeDrop,
67936
67993
  multiple: !!props.multiple || limit > 1,
67937
67994
  className: classnames_default()(uploadClasses === null || uploadClasses === void 0 ? void 0 : uploadClasses.dropItem),
67938
67995
  children: /*#__PURE__*/(0,jsx_runtime.jsxs)("span", objectSpread2_default()(objectSpread2_default()({
@@ -70676,7 +70733,7 @@ var upload_interface = __webpack_require__(8821);
70676
70733
 
70677
70734
 
70678
70735
  /* harmony default export */ var src_0 = ({
70679
- version: '3.7.0-beta.21'
70736
+ version: '3.7.0-beta.23'
70680
70737
  });
70681
70738
  }();
70682
70739
  /******/ return __webpack_exports__;