shineout 3.8.0-beta.26 → 3.8.0-beta.28

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.26'
525
+ version: '3.8.0-beta.28'
526
526
  };
package/dist/shineout.js CHANGED
@@ -12386,7 +12386,7 @@ var handleStyle = function handleStyle(style) {
12386
12386
  };
12387
12387
  /* harmony default export */ var jss_style_handleStyle = (handleStyle);
12388
12388
  ;// CONCATENATED MODULE: ../shineout-style/src/version.ts
12389
- /* harmony default export */ var version = ('3.8.0-beta.26');
12389
+ /* harmony default export */ var version = ('3.8.0-beta.28');
12390
12390
  ;// CONCATENATED MODULE: ../shineout-style/src/jss-style/index.tsx
12391
12391
 
12392
12392
 
@@ -52218,6 +52218,27 @@ var FormItem = function FormItem(props) {
52218
52218
  var _labelTipRef$current2;
52219
52219
  labelText += " (tip: ".concat((_labelTipRef$current2 = labelTipRef.current) === null || _labelTipRef$current2 === void 0 ? void 0 : _labelTipRef$current2.textContent, ")");
52220
52220
  }
52221
+ var renderError = function renderError() {
52222
+ if (!showError) return null;
52223
+ var uniqueErrors = errors;
52224
+ if (errors.length > 1) {
52225
+ uniqueErrors = errors.filter(function (error, index, self) {
52226
+ return index === self.findIndex(function (t) {
52227
+ return t.message === error.message;
52228
+ });
52229
+ });
52230
+ }
52231
+ return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
52232
+ className: formItemClasses === null || formItemClasses === void 0 ? void 0 : formItemClasses.error,
52233
+ children: uniqueErrors.map(function (error, index) {
52234
+ return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
52235
+ children: error && /*#__PURE__*/(0,jsx_runtime.jsx)(error_trans, {
52236
+ error: error
52237
+ })
52238
+ }, index);
52239
+ })
52240
+ });
52241
+ };
52221
52242
  return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", objectSpread2_default()(objectSpread2_default()({
52222
52243
  className: classnames_default()(className, formItemClasses === null || formItemClasses === void 0 ? void 0 : formItemClasses.wrapper, defineProperty_default()(defineProperty_default()(defineProperty_default()(defineProperty_default()(defineProperty_default()(defineProperty_default()(defineProperty_default()(defineProperty_default()({}, formItemClasses === null || formItemClasses === void 0 ? void 0 : formItemClasses.wrapperLabelTop, labelAlign === 'top'), formItemClasses === null || formItemClasses === void 0 ? void 0 : formItemClasses.wrapperLabelVerticalMiddle, labelAlign !== 'top' && labelVerticalAlign === 'middle'), formItemClasses === null || formItemClasses === void 0 ? void 0 : formItemClasses.wrapperLabelVerticalBottom, labelAlign !== 'top' && labelVerticalAlign === 'bottom'), formItemClasses === null || formItemClasses === void 0 ? void 0 : formItemClasses.wrapperInline, inline), formItemClasses === null || formItemClasses === void 0 ? void 0 : formItemClasses.wrapperKeepHeight, keepErrorHeight), formItemClasses === null || formItemClasses === void 0 ? void 0 : formItemClasses.wrapperRequired, required), formItemClasses === null || formItemClasses === void 0 ? void 0 : formItemClasses.wrapperHideRequired, required === false), formItemClasses === null || formItemClasses === void 0 ? void 0 : formItemClasses.wrapperTip, showError || tip))
52223
52244
  }, attributes), {}, {
@@ -52243,16 +52264,7 @@ var FormItem = function FormItem(props) {
52243
52264
  ref: labelTipRef,
52244
52265
  className: formItemClasses === null || formItemClasses === void 0 ? void 0 : formItemClasses.tip,
52245
52266
  children: tip
52246
- }), showError && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
52247
- className: formItemClasses === null || formItemClasses === void 0 ? void 0 : formItemClasses.error,
52248
- children: errors.map(function (error, index) {
52249
- return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
52250
- children: error && /*#__PURE__*/(0,jsx_runtime.jsx)(error_trans, {
52251
- error: error
52252
- })
52253
- }, index);
52254
- })
52255
- })]
52267
+ }), renderError()]
52256
52268
  }))]
52257
52269
  }));
52258
52270
  };
@@ -58633,7 +58645,7 @@ var list_list_List = function List(props) {
58633
58645
  return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
58634
58646
  className: listClasses === null || listClasses === void 0 ? void 0 : listClasses.row,
58635
58647
  style: {
58636
- height: props.fixed ? lineHeight : 'auto'
58648
+ height: props.fixed && !props.dynamicHeight ? lineHeight : 'auto'
58637
58649
  },
58638
58650
  children: columnData.map(function (item, rowIndex) {
58639
58651
  var index = rowIndex + columnIndex * colNum;
@@ -58641,6 +58653,35 @@ var list_list_List = function List(props) {
58641
58653
  })
58642
58654
  }, columnIndex);
58643
58655
  });
58656
+ var DynamicRow = function DynamicRow(_ref) {
58657
+ var columnData = _ref.columnData,
58658
+ columnIndex = _ref.columnIndex,
58659
+ setRowHeight = _ref.setRowHeight;
58660
+ var rowRef = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useRef)(null);
58661
+ (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useLayoutEffect)(function () {
58662
+ if (rowRef.current && setRowHeight) {
58663
+ var rect = rowRef.current.getBoundingClientRect();
58664
+ if (rect.height > 0) {
58665
+ setRowHeight(columnIndex, rect.height);
58666
+ }
58667
+ }
58668
+ });
58669
+ return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
58670
+ ref: rowRef,
58671
+ className: listClasses === null || listClasses === void 0 ? void 0 : listClasses.row,
58672
+ children: columnData.map(function (item, rowIndex) {
58673
+ var index = rowIndex + columnIndex * colNum;
58674
+ return renderItem(item, index);
58675
+ })
58676
+ });
58677
+ };
58678
+ var renderDynamicColumn = usePersistFn(function (columnData, columnIndex, _relativeIndex, setRowHeight) {
58679
+ return /*#__PURE__*/(0,jsx_runtime.jsx)(DynamicRow, {
58680
+ columnData: columnData,
58681
+ columnIndex: columnIndex,
58682
+ setRowHeight: setRowHeight
58683
+ }, columnIndex);
58684
+ });
58644
58685
  var loadingPosition = props.loadingPosition || 'center';
58645
58686
  var renderCenterLoading = function renderCenterLoading() {
58646
58687
  if (!props.loading || loadingPosition !== 'center') return null;
@@ -58699,27 +58740,30 @@ var list_list_List = function List(props) {
58699
58740
  });
58700
58741
  var renderList = function renderList() {
58701
58742
  if (isEmpty) return null;
58702
- if (props.fixed) return /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
58703
- children: [/*#__PURE__*/(0,jsx_runtime.jsx)(virtual_scroll_list, {
58704
- data: columnData,
58705
- renderItem: renderColumn,
58706
- lineHeight: lineHeight,
58707
- rowsInView: rowsInView,
58708
- onScroll: handleVirtualScroll,
58709
- height: 'auto',
58710
- style: {
58711
- flex: '1',
58712
- minHeight: '0',
58713
- display: 'flex'
58714
- },
58715
- scrollerStyle: {
58716
- flex: 1,
58717
- minHeight: 0,
58718
- minWidth: 0,
58719
- overflow: 'auto'
58720
- }
58721
- }), renderFooter()]
58722
- });
58743
+ if (props.fixed) {
58744
+ return /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
58745
+ children: [/*#__PURE__*/(0,jsx_runtime.jsx)(virtual_scroll_list, {
58746
+ data: columnData,
58747
+ renderItem: props.dynamicHeight ? renderDynamicColumn : renderColumn,
58748
+ lineHeight: lineHeight,
58749
+ rowsInView: rowsInView,
58750
+ onScroll: handleVirtualScroll,
58751
+ height: 'auto',
58752
+ style: {
58753
+ flex: '1',
58754
+ minHeight: '0',
58755
+ display: 'flex'
58756
+ },
58757
+ scrollerStyle: {
58758
+ flex: 1,
58759
+ minHeight: 0,
58760
+ minWidth: 0,
58761
+ overflow: 'auto'
58762
+ },
58763
+ dynamicVirtual: props.dynamicHeight
58764
+ }), renderFooter()]
58765
+ });
58766
+ }
58723
58767
  return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
58724
58768
  className: listClasses === null || listClasses === void 0 ? void 0 : listClasses.scrollContainer,
58725
58769
  onScroll: handleListScroll,
@@ -72738,7 +72782,7 @@ var upload_interface = __webpack_require__(8821);
72738
72782
 
72739
72783
 
72740
72784
  /* harmony default export */ var src_0 = ({
72741
- version: '3.8.0-beta.26'
72785
+ version: '3.8.0-beta.28'
72742
72786
  });
72743
72787
  }();
72744
72788
  /******/ return __webpack_exports__;