shineout 3.8.0-beta.4 → 3.8.0-beta.6

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.8.0-beta.4'
525
+ version: '3.8.0-beta.6'
526
526
  };
package/dist/shineout.js CHANGED
@@ -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.8.0-beta.4');
12237
+ /* harmony default export */ var version = ('3.8.0-beta.6');
12238
12238
  ;// CONCATENATED MODULE: ../shineout-style/src/jss-style/index.tsx
12239
12239
 
12240
12240
 
@@ -20660,54 +20660,10 @@ var input_input = objectSpread2_default()(objectSpread2_default()(objectSpread2_
20660
20660
  '&:hover svg': {
20661
20661
  color: src.inputHoverToggleColor
20662
20662
  }
20663
- // marginRight: token.inputPaddingX,
20664
20663
  },
20665
20664
  info: {
20666
- position: 'absolute',
20667
- '&[dir=ltr]': {
20668
- right: '0'
20669
- },
20670
- '&[dir=rtl]': {
20671
- left: '0'
20672
- },
20673
- top: '100%',
20674
- zIndex: 1000,
20675
- transformOrigin: '100% 0',
20676
- marginTop: '10px',
20677
- animation: 'so-input-fade .16s ease-in',
20678
- maxWidth: '400px',
20679
- padding: '5px 8px',
20680
20665
  background: src.inputInfoBackgroundColor,
20681
- borderRadius: src.inputBorderRadius,
20682
- boxShadow: "0 0 0 1px ".concat(src.inputBorderColor),
20683
- fontSize: '12px',
20684
- color: src.inputInfoFontColor,
20685
- '&::before': {
20686
- display: 'block',
20687
- position: 'absolute',
20688
- bottom: '100%',
20689
- transform: 'rotate(45deg) translateY(3px)',
20690
- width: '6px',
20691
- height: '6px',
20692
- borderTop: "1px solid ".concat(src.inputBorderColor),
20693
- borderLeft: "1px solid ".concat(src.inputBorderColor),
20694
- background: 'inherit',
20695
- content: "' '"
20696
- },
20697
- '&[dir=ltr]::before': {
20698
- right: '4px'
20699
- },
20700
- '&[dir=rtl]::before': {
20701
- left: '8px'
20702
- }
20703
- },
20704
- infoError: {
20705
- boxShadow: "0 0 0 1px ".concat(src.inputInfoErrorBorderColor),
20706
- color: src.inputInfoErrorFontColor,
20707
- background: src.inputInfoErrorBackgroundColor,
20708
- '&::before': {
20709
- borderColor: src.inputInfoErrorBorderColor
20710
- }
20666
+ color: src.inputInfoFontColor
20711
20667
  }
20712
20668
  });
20713
20669
  /* harmony default export */ var src_input_input = (input_input);
@@ -26718,6 +26674,12 @@ var tableStyle = objectSpread2_default()(objectSpread2_default()({
26718
26674
  display: 'none'
26719
26675
  }
26720
26676
  },
26677
+ cellSortable: {
26678
+ cursor: 'pointer',
26679
+ '&:hover': {
26680
+ background: src.tableTbodyHoverBackgroundColor
26681
+ }
26682
+ },
26721
26683
  sticky: {},
26722
26684
  expandIcon: {
26723
26685
  position: 'relative',
@@ -36409,7 +36371,7 @@ var useTip = function useTip(props) {
36409
36371
  if (tip && focused || popover && errorMessage) {
36410
36372
  return /*#__PURE__*/(0,jsx_runtime.jsx)(src_popover_popover, objectSpread2_default()(objectSpread2_default()({
36411
36373
  jssStyle: jssStyle,
36412
- getPopupContainer: function getPopupContainer() {
36374
+ getPopupContainer: (popoverProps === null || popoverProps === void 0 ? void 0 : popoverProps.getPopupContainer) || function () {
36413
36375
  return rootRef.current;
36414
36376
  },
36415
36377
  useTextStyle: true
@@ -36454,6 +36416,7 @@ var useWithFormConfig = function useWithFormConfig(props) {
36454
36416
 
36455
36417
 
36456
36418
 
36419
+
36457
36420
  var use_input_common_excluded = ["forwardRef", "forwardedRef", "htmlName", "value", "onChange", "defaultValue", "beforeChange", "clearable", "clearToUndefined", "style", "suffix", "info", "innerTitle", "placeTitle", "width", "delay", "onBlur", "tip", "error", "popover", "popoverProps", "status", "disabled", "size"];
36458
36421
 
36459
36422
 
@@ -36472,7 +36435,7 @@ var defaultInfo = function defaultInfo(num, msg) {
36472
36435
  return new Error(text);
36473
36436
  };
36474
36437
  var useInputCommon = function useInputCommon(props0) {
36475
- var _ref, _props$jssStyle, _props$jssStyle$input;
36438
+ var _ref, _props$jssStyle, _props$jssStyle$input, _infoState$error;
36476
36439
  var config = useConfig();
36477
36440
  var props = use_with_form_config(props0);
36478
36441
  var forwardRef = props.forwardRef,
@@ -36501,7 +36464,7 @@ var useInputCommon = function useInputCommon(props0) {
36501
36464
  size = props.size,
36502
36465
  rest = objectWithoutProperties_default()(props, use_input_common_excluded);
36503
36466
  var delay = (_ref = delayProps !== null && delayProps !== void 0 ? delayProps : config.delay) !== null && _ref !== void 0 ? _ref : 0;
36504
- var inputStyle = (_props$jssStyle = props.jssStyle) === null || _props$jssStyle === void 0 || (_props$jssStyle$input = _props$jssStyle.input) === null || _props$jssStyle$input === void 0 ? void 0 : _props$jssStyle$input.call(_props$jssStyle);
36467
+ var inputClasses = (_props$jssStyle = props.jssStyle) === null || _props$jssStyle === void 0 || (_props$jssStyle$input = _props$jssStyle.input) === null || _props$jssStyle$input === void 0 ? void 0 : _props$jssStyle$input.call(_props$jssStyle);
36505
36468
  var rootRef = external_root_React_commonjs2_react_commonjs_react_amd_react_default().useRef(null);
36506
36469
  var _React$useState = external_root_React_commonjs2_react_commonjs_react_amd_react_default().useState(false),
36507
36470
  _React$useState2 = slicedToArray_default()(_React$useState, 2),
@@ -36543,27 +36506,50 @@ var useInputCommon = function useInputCommon(props0) {
36543
36506
  value: inputAbleProps.value,
36544
36507
  onChange: inputAbleProps.onChange
36545
36508
  });
36546
- var getInfo = function getInfo() {
36509
+ var getInfoState = function getInfoState() {
36547
36510
  var notNumber = typeof info !== 'number';
36548
- if (typeof info !== 'function' && notNumber) return null;
36549
- var textInfo = notNumber ? info : defaultInfo.bind(null, info);
36550
- var res = textInfo(inputAbleProps.value);
36551
- // empty
36552
- if (!res) return null;
36553
- var isError = res instanceof Error;
36554
- var text = isError ? res.message : res;
36511
+ if (typeof info !== 'function' && typeof_default()(info) !== 'object' && notNumber) return null;
36512
+ var infoContent;
36513
+ if (typeof_default()(info) === 'object') {
36514
+ infoContent = info.content;
36515
+ } else {
36516
+ infoContent = info;
36517
+ }
36518
+ var notContentNumber = typeof infoContent !== 'number';
36519
+ var textInfo = notContentNumber ? infoContent : defaultInfo.bind(null, infoContent);
36520
+ var error = textInfo(inputAbleProps.value);
36521
+ if (!error) return null;
36522
+ var isError = error instanceof Error;
36523
+ var text = isError ? error.message : error;
36555
36524
  if (!isError && !focused) return null;
36556
- return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
36525
+ return {
36526
+ text: text,
36527
+ error: error
36528
+ };
36529
+ };
36530
+ var infoState = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useMemo)(getInfoState, [info, inputAbleProps.value, focused]);
36531
+ var infoPopoverProps = {
36532
+ popover: props.popover || (typeof_default()(info) === 'object' ? info.position : 'bottom-right'),
36533
+ popoverProps: Object.assign({
36557
36534
  style: {
36558
- minWidth: 'auto'
36535
+ width: 'auto',
36536
+ fontSize: 12
36559
36537
  },
36560
- className: classnames_default()(inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.info, !!isError && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.infoError)),
36561
- dir: config.direction,
36562
- children: text
36563
- }, 'info');
36538
+ adjust: true
36539
+ }, props.popoverProps),
36540
+ error: infoState !== null && infoState !== void 0 && infoState.error && (infoState === null || infoState === void 0 ? void 0 : infoState.error) instanceof Error ? infoState === null || infoState === void 0 || (_infoState$error = infoState.error) === null || _infoState$error === void 0 ? void 0 : _infoState$error.message : undefined,
36541
+ tip: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
36542
+ className: inputClasses === null || inputClasses === void 0 ? void 0 : inputClasses.info,
36543
+ children: infoState === null || infoState === void 0 ? void 0 : infoState.text
36544
+ })
36564
36545
  };
36546
+ var infoPopoverNode = use_tip(objectSpread2_default()(objectSpread2_default()({}, infoPopoverProps), {}, {
36547
+ focused: focused,
36548
+ rootRef: rootRef,
36549
+ jssStyle: props.jssStyle
36550
+ }));
36565
36551
  var mergeSuffix = /*#__PURE__*/(0,jsx_runtime.jsxs)((external_root_React_commonjs2_react_commonjs_react_amd_react_default()).Fragment, {
36566
- children: [suffix, getInfo(), tipNode]
36552
+ children: [suffix, (infoState === null || infoState === void 0 ? void 0 : infoState.text) && infoPopoverNode, tipNode]
36567
36553
  });
36568
36554
  var onFocusedChange = usePersistFn(function (focused) {
36569
36555
  setFocused(!!focused);
@@ -36579,7 +36565,7 @@ var useInputCommon = function useInputCommon(props0) {
36579
36565
  });
36580
36566
  return objectSpread2_default()(objectSpread2_default()(objectSpread2_default()({}, rest), {}, {
36581
36567
  value: inputAbleProps.value,
36582
- className: classnames_default()(props.className, innerTitle && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperInnerTitle)),
36568
+ className: classnames_default()(props.className, innerTitle && (inputClasses === null || inputClasses === void 0 ? void 0 : inputClasses.wrapperInnerTitle)),
36583
36569
  onChange: inputAbleProps.onChange,
36584
36570
  onBlur: handleBlur
36585
36571
  }, clearProps), {}, {
@@ -49677,7 +49663,8 @@ var textarea_Textarea = function Textarea(props0) {
49677
49663
  style: {
49678
49664
  width: 'auto',
49679
49665
  fontSize: 12
49680
- }
49666
+ },
49667
+ adjust: true
49681
49668
  }, resetProps.popoverProps),
49682
49669
  error: infoState !== null && infoState !== void 0 && infoState.error && (infoState === null || infoState === void 0 ? void 0 : infoState.error) instanceof Error ? infoState === null || infoState === void 0 || (_infoState$error = infoState.error) === null || _infoState$error === void 0 ? void 0 : _infoState$error.message : undefined,
49683
49670
  tip: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
@@ -63591,7 +63578,7 @@ var thead_toNum = toNum;
63591
63578
  var colTemp = col;
63592
63579
  var colTemp2 = col;
63593
63580
  var fixedStyle = getFixedStyle(col.fixed, col.index, colTemp2.colSpan || 1, level);
63594
- var cellClassName = classnames_default()(colTemp.className, colTemp.type === 'checkbox' && (tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.cellCheckbox), col.fixed === 'left' && (tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.cellFixedLeft), col.fixed === 'right' && (tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.cellFixedRight), colTemp.align === 'center' && (tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.cellAlignCenter), colTemp.align === 'right' && (tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.cellAlignRight), colTemp.align !== 'right' && colTemp.align !== 'center' && (tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.cellAlignLeft), (col.lastFixed || col.firstFixed) && (tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.cellFixedLast), isLast && (tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.cellIgnoreBorder));
63581
+ var cellClassName = classnames_default()(colTemp.className, colTemp.type === 'checkbox' && (tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.cellCheckbox), col.fixed === 'left' && (tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.cellFixedLeft), col.fixed === 'right' && (tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.cellFixedRight), colTemp.align === 'center' && (tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.cellAlignCenter), colTemp.align === 'right' && (tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.cellAlignRight), colTemp.align !== 'right' && colTemp.align !== 'center' && (tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.cellAlignLeft), (col.lastFixed || col.firstFixed) && (tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.cellFixedLast), isLast && (tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.cellIgnoreBorder), colTemp.sorter && props.cellSortable && (tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.cellSortable));
63595
63582
  var isExpand = colTemp.type === 'expand' || colTemp.type === 'row-expand';
63596
63583
  if (colTemp.title || isExpand) {
63597
63584
  var sorter = renderSort(colTemp);
@@ -63601,6 +63588,22 @@ var thead_toNum = toNum;
63601
63588
  rowSpan: columnLevel - level + 1,
63602
63589
  style: fixedStyle,
63603
63590
  dir: config.direction,
63591
+ onClick: function onClick(e) {
63592
+ e.stopPropagation();
63593
+ if (props.cellSortable && colTemp.sorter) {
63594
+ var _sortInfo$get2;
63595
+ var currentOrder = (_sortInfo$get2 = sortInfo.get(colTemp.key)) === null || _sortInfo$get2 === void 0 ? void 0 : _sortInfo$get2.order;
63596
+ var order = null;
63597
+ if (!currentOrder) {
63598
+ order = 'asc';
63599
+ } else if (currentOrder === 'asc') {
63600
+ order = 'desc';
63601
+ } else if (currentOrder === 'desc') {
63602
+ order = null;
63603
+ }
63604
+ onSorterChange === null || onSorterChange === void 0 || onSorterChange(colTemp.key, order, true, colTemp.sorter);
63605
+ }
63606
+ },
63604
63607
  children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
63605
63608
  className: classnames_default()(sorter && (tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.hasSorter), filter && (tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.hasFilter)),
63606
63609
  children: [renderTitle(colTemp.title), sorter, filter, colTemp.columnResizable !== false && renderDrag(colTemp.index)]
@@ -64846,6 +64849,7 @@ var emptyRef = {
64846
64849
  onFilterChange: onFilterChange,
64847
64850
  sortInfo: sortInfo,
64848
64851
  sortDirections: props.sortDirections,
64852
+ cellSortable: props.cellSortable,
64849
64853
  onSorterChange: onSorterChange,
64850
64854
  dragCol: layoutFunc.dragCol,
64851
64855
  resizeCol: layoutFunc.resizeCol,
@@ -71602,7 +71606,7 @@ var upload_interface = __webpack_require__(8821);
71602
71606
 
71603
71607
 
71604
71608
  /* harmony default export */ var src_0 = ({
71605
- version: '3.8.0-beta.4'
71609
+ version: '3.8.0-beta.6'
71606
71610
  });
71607
71611
  }();
71608
71612
  /******/ return __webpack_exports__;