@ucloud-fe/react-components 1.15.0 → 1.17.0

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/index.d.ts CHANGED
@@ -50,6 +50,8 @@ export { default as Breadcrumb } from './lib/components/Breadcrumb';
50
50
 
51
51
  export { default as Nav } from './lib/components/Nav';
52
52
 
53
+ export { default as Skeleton } from './lib/components/Skeleton';
54
+
53
55
  // Button
54
56
  import { ButtonProps } from './lib/components/Button/Button';
55
57
  export { default as Button } from './lib/components/Button';
@@ -82,7 +84,7 @@ export interface RowProps extends HTMLAttributes<HTMLDivElement> {
82
84
  type?: RowType;
83
85
  align?: RowAlign;
84
86
  justify?: RowJustify;
85
- gutter?: number;
87
+ gutter?: number | [number, number];
86
88
  }
87
89
  export declare class Row extends Component<RowProps> {}
88
90
 
@@ -430,12 +432,12 @@ export interface TagProps extends HTMLAttributes<HTMLSpanElement> {
430
432
  borderType?: 'default' | 'circle';
431
433
  suffix?: ReactNode;
432
434
  }
433
- export interface TagGroupProps extends HTMLAttributes<HTMLDivElement>{
435
+ export interface TagGroupProps extends HTMLAttributes<HTMLDivElement> {
434
436
  children?: ReactNode;
435
437
  compact?: boolean;
436
438
  exposeCount?: number;
437
- popoverProps?: PopoverProps
438
- }
439
+ popoverProps?: PopoverProps;
440
+ }
439
441
  export declare class TagIcon extends PureComponent<TagProps> {}
440
442
  export declare class TagGroup extends PureComponent<TagGroupProps> {}
441
443
  export declare class Tag extends PureComponent<TagProps> {
@@ -518,7 +520,7 @@ interface ModalConfirmHandle {
518
520
  destroy(): void;
519
521
  }
520
522
  interface ModalConfirm {
521
- (options: ModalProps): ModalConfirmHandle;
523
+ (options: ModalProps, contentNode?: ReactNode): ModalConfirmHandle;
522
524
  }
523
525
  export declare class ModalContent extends Component<HTMLAttributes<HTMLDivElement>> {}
524
526
  export declare class Modal extends Component<ModalProps> {
@@ -551,7 +553,7 @@ export interface TableScroll {
551
553
  y?: number;
552
554
  onScroll?: (e: WheelEvent) => void;
553
555
  }
554
- type RowKey = () => string;
556
+ type RowKey = (row: any) => string;
555
557
  export interface RowSelection {
556
558
  fixed?: boolean;
557
559
  onChange?: Function;
@@ -562,8 +564,9 @@ export interface RowSelection {
562
564
  selectedTip?: boolean | 'button';
563
565
  disabled?: boolean;
564
566
  }
565
- interface GetRowClassName {
566
- (): string;
567
+ interface DragSorting {
568
+ fixed: boolean;
569
+ onChange: (record: any, fromIndex: number, toIndex: number) => void;
567
570
  }
568
571
  interface ColumnRender {
569
572
  (col: any, row?: any): ReactNode;
@@ -585,18 +588,17 @@ export interface Column {
585
588
  interface DefaultColumnConfig {
586
589
  [key: string]: string;
587
590
  }
588
- interface TableRowBack extends HTMLTableDataCellElement {}
589
591
  interface TableCustomStyle {
590
592
  outerPadding?: string;
591
593
  [key: string]: any;
592
594
  }
593
- interface TableDefaultOrder {
595
+ interface TableOrder {
594
596
  key: string;
595
597
  state: 'desc' | 'asc';
596
598
  }
597
599
  export interface TableConditionChangeEventOrder {
598
- order: string;
599
- filter: string[];
600
+ order: TableOrder;
601
+ filters: { key: string; value: string }[];
600
602
  searchValue: string;
601
603
  }
602
604
  interface ConditionChangeEvent {
@@ -621,11 +623,13 @@ export interface TableProps {
621
623
  defaultExpandAllRows?: boolean;
622
624
  onExpandedRowsChange?: (row: any) => void;
623
625
  onExpand?: Function;
624
- onRow?: (row: any, index: number) => TableRowBack;
625
- onHeaderRow?: (row: any, index: number) => TableRowBack;
626
+ onRow?: (row: any, index: number) => any;
627
+ onHeaderRow?: (row: any, index: number) => any;
626
628
  rowSelection?: RowSelection | true;
629
+ dragSorting?: boolean | DragSorting;
627
630
  onRowSelect?: (keys: string[]) => void;
628
631
  showHeader?: boolean;
632
+ columnResizable?: boolean;
629
633
  title?: () => ReactNode;
630
634
  footer?: () => ReactNode;
631
635
  emptyContent?: ReactNode;
@@ -637,12 +641,12 @@ export interface TableProps {
637
641
  rowKey?: string | RowKey;
638
642
  zebraCrossing?: boolean;
639
643
  components?: any;
640
- defaultOrder?: TableDefaultOrder;
644
+ defaultOrder?: TableOrder;
645
+ order?: TableOrder;
641
646
  onConditionChange?: ConditionChangeEvent;
642
647
  doNotHandleCondition?: boolean;
643
648
  contextMenu?: TableContextMenu;
644
649
  className?: string;
645
- rowClassName?: string | GetRowClassName;
646
650
  }
647
651
  interface ColumnConfigButtonProps extends ButtonProps {
648
652
  modalProps?: ModalProps;
@@ -729,12 +733,12 @@ interface Step {
729
733
  remark?: ReactNode;
730
734
  status?: 'disabled' | 'error' | 'success' | 'normal';
731
735
  }
732
- export interface StepsProps extends HTMLAttributes<HTMLDivElement> {
736
+ export interface StepsProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
733
737
  steps: Step[];
734
738
  current?: string | number;
735
739
  status?: 'current' | 'loading' | 'error';
736
740
  direction?: 'horizontal' | 'vertical';
737
- nowrap?:boolean;
741
+ nowrap?: boolean;
738
742
  onChange?: (current: string | number) => void;
739
743
  }
740
744
  export declare class Steps extends Component<StepsProps> {}
@@ -14,11 +14,16 @@ declare const CascadeSearchResult: React.NamedExoticComponent<{
14
14
  empty?: boolean | undefined;
15
15
  error?: Error | undefined;
16
16
  } & SharedProps>;
17
- declare const _default: React.MemoExoticComponent<({ dataSource, value, onChange, expandedValue, onExpand, loadData }: {
17
+ declare const _default: React.MemoExoticComponent<({ dataSource, value, onChange, expandedValue, onExpand, loadData, topExtraRender }: {
18
18
  dataSource?: CascadeData[] | undefined;
19
19
  value?: string[] | undefined;
20
20
  expandedValue: string[];
21
21
  loadData?: LoadData | undefined;
22
+ topExtraRender?: ((props: {
23
+ index: number;
24
+ parents?: CascadeData[] | undefined;
25
+ items?: CascadeData[] | undefined;
26
+ }) => React.ReactNode) | undefined;
22
27
  } & SharedProps) => JSX.Element>;
23
28
  export default _default;
24
29
  export { CascadeSearchResult };
@@ -163,7 +163,8 @@ var Cascade = function Cascade(_ref2) {
163
163
  onChange = _ref2.onChange,
164
164
  expandedValue = _ref2.expandedValue,
165
165
  onExpand = _ref2.onExpand,
166
- loadData = _ref2.loadData;
166
+ loadData = _ref2.loadData,
167
+ topExtraRender = _ref2.topExtraRender;
167
168
  var locale = (0, _useLocale.default)(_zh_CN.default, 'Cascader');
168
169
  var expandedItems = (0, _react.useMemo)(function () {
169
170
  (0, _newArrowCheck2.default)(this, _this6);
@@ -194,6 +195,8 @@ var Cascade = function Cascade(_ref2) {
194
195
  selectedKey: value === null || value === void 0 ? void 0 : value[index],
195
196
  expandedKey: expandedValue === null || expandedValue === void 0 ? void 0 : expandedValue[index],
196
197
  parents: parents,
198
+ index: index,
199
+ topExtraRender: topExtraRender,
197
200
  disabled: parents.some(function (parent) {
198
201
  (0, _newArrowCheck2.default)(this, _this7);
199
202
  return parent.disabled;
@@ -37,7 +37,14 @@ export interface DefinedCascaderProps {
37
37
  };
38
38
  /** 分隔符 */
39
39
  separator?: string;
40
+ /** 渲染级联顶部的插槽 */
41
+ topExtraRender?: (props: {
42
+ /** 当前级联索引 */
43
+ index: number;
44
+ parents?: CascadeData[];
45
+ items?: CascadeData[];
46
+ }) => React.ReactNode;
40
47
  }
41
48
  export declare type CascaderProps = DefinedCascaderProps;
42
- declare const _default: React.MemoExoticComponent<({ dataSource, value: _value, defaultValue, onChange: _onChange, disabled, size, search, clearable, placeholder, loadData, status, popoverProps, separator, }: DefinedCascaderProps) => JSX.Element>;
49
+ declare const _default: React.MemoExoticComponent<({ dataSource, value: _value, defaultValue, onChange: _onChange, disabled, size, search, clearable, placeholder, loadData, status, popoverProps, separator, topExtraRender }: DefinedCascaderProps) => JSX.Element>;
43
50
  export default _default;
@@ -184,7 +184,8 @@ var Cascader = function Cascader(_ref3) {
184
184
  loadData = _ref3.loadData,
185
185
  status = _ref3.status,
186
186
  popoverProps = _ref3.popoverProps,
187
- separator = _ref3.separator;
187
+ separator = _ref3.separator,
188
+ topExtraRender = _ref3.topExtraRender;
188
189
 
189
190
  var _useUncontrolled = (0, _useUncontrolled3.default)(_value, defaultValue, _onChange),
190
191
  _useUncontrolled2 = (0, _slicedToArray2.default)(_useUncontrolled, 2),
@@ -323,6 +324,7 @@ var Cascader = function Cascader(_ref3) {
323
324
  onChange: handleSelect,
324
325
  expandedValue: expandedValue,
325
326
  onExpand: handleExpand,
327
+ topExtraRender: topExtraRender,
326
328
  loadData: loadData
327
329
  })),
328
330
  trigger: [],
@@ -360,7 +362,8 @@ Cascader.propTypes = {
360
362
  clearable: _propTypes.default.bool,
361
363
  placeholder: _propTypes.default.string,
362
364
  popoverProps: _propTypes.default.objectOf(_propTypes.default.any),
363
- separator: _propTypes.default.string
365
+ separator: _propTypes.default.string,
366
+ topExtraRender: _propTypes.default.func
364
367
  };
365
368
 
366
369
  var _default = /*#__PURE__*/_react.default.memo(Cascader);
@@ -1,11 +1,17 @@
1
1
  import React from 'react';
2
2
  import { CascadeData, LoadData } from './interface';
3
- declare const _default: React.MemoExoticComponent<({ items, selectedKey, expandedKey, disabled, parents, loadData }: {
3
+ declare const _default: React.MemoExoticComponent<({ items, selectedKey, expandedKey, disabled, parents, loadData, topExtraRender, index }: {
4
4
  items?: CascadeData[] | undefined;
5
5
  selectedKey?: string | undefined;
6
6
  expandedKey?: string | undefined;
7
7
  disabled?: boolean | undefined;
8
8
  parents?: CascadeData[] | undefined;
9
9
  loadData?: LoadData | undefined;
10
+ topExtraRender?: ((props: {
11
+ index: number;
12
+ parents?: CascadeData[] | undefined;
13
+ items?: CascadeData[] | undefined;
14
+ }) => React.ReactNode) | undefined;
15
+ index: number;
10
16
  }) => JSX.Element>;
11
17
  export default _default;
@@ -46,7 +46,9 @@ var Items = function Items(_ref) {
46
46
  expandedKey = _ref.expandedKey,
47
47
  disabled = _ref.disabled,
48
48
  parents = _ref.parents,
49
- loadData = _ref.loadData;
49
+ loadData = _ref.loadData,
50
+ topExtraRender = _ref.topExtraRender,
51
+ index = _ref.index;
50
52
 
51
53
  var _useState = (0, _react.useState)(true),
52
54
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
@@ -134,6 +136,17 @@ var Items = function Items(_ref) {
134
136
  exited = true;
135
137
  }.bind(this);
136
138
  }.bind(this), [items, loadData, parents]);
139
+
140
+ var topExtraRenderDom = _react.default.useMemo(function () {
141
+ (0, _newArrowCheck2.default)(this, _this2);
142
+ if (typeof topExtraRender !== 'function') return null;
143
+ return topExtraRender({
144
+ index: index,
145
+ items: items,
146
+ parents: parents
147
+ });
148
+ }.bind(this), [index, items, parents, topExtraRender]);
149
+
137
150
  return /*#__PURE__*/_react.default.createElement(_Loading.default, {
138
151
  loading: loading
139
152
  }, error ? /*#__PURE__*/_react.default.createElement("div", {
@@ -143,11 +156,11 @@ var Items = function Items(_ref) {
143
156
  closable: false
144
157
  }, error.message)) : initial || loading ? /*#__PURE__*/_react.default.createElement("div", {
145
158
  className: _cascade.itemsCls
146
- }) : !items || !items.length ? /*#__PURE__*/_react.default.createElement("div", {
159
+ }, topExtraRenderDom) : !items || !items.length ? /*#__PURE__*/_react.default.createElement("div", {
147
160
  className: _cascade.emptyCls
148
161
  }, locale.emptyTip) : /*#__PURE__*/_react.default.createElement("div", {
149
162
  className: _cascade.itemsCls
150
- }, items.map(function (item) {
163
+ }, topExtraRenderDom, items.map(function (item) {
151
164
  (0, _newArrowCheck2.default)(this, _this2);
152
165
  var value = item.key,
153
166
  itemDisabled = item.disabled,
@@ -93,7 +93,7 @@ var DatePickerForDate = function DatePickerForDate(props) {
93
93
  return /*#__PURE__*/_react.default.createElement(_style.PickerContainer, (0, _extends2.default)({}, containerProps, {
94
94
  hasTime: hasTime
95
95
  }), /*#__PURE__*/_react.default.createElement(_Popover.default, (0, _extends2.default)({}, popoverProps, {
96
- popup: /*#__PURE__*/_react.default.createElement(_style.SPopup, popupProps, /*#__PURE__*/_react.default.createElement(_style.Arrow, null), /*#__PURE__*/_react.default.createElement(_Calendar.default, (0, _extends2.default)({}, calendarProps, {
96
+ popup: /*#__PURE__*/_react.default.createElement(_style.SPopup, popupProps, /*#__PURE__*/_react.default.createElement(_Calendar.default, (0, _extends2.default)({}, calendarProps, {
97
97
  sidebar: hasTime ? /*#__PURE__*/_react.default.createElement(_Time.default, timeProps) : null
98
98
  })), /*#__PURE__*/_react.default.createElement(_Footer.default, (0, _extends2.default)({}, footerProps, {
99
99
  tip: error,
@@ -71,7 +71,7 @@ var Month = function Month(props) {
71
71
  return /*#__PURE__*/_react.default.createElement(_style.PickerContainer, (0, _extends2.default)({
72
72
  isMonth: true
73
73
  }, containerProps), /*#__PURE__*/_react.default.createElement(_Popover.default, (0, _extends2.default)({
74
- popup: /*#__PURE__*/_react.default.createElement(_style.SPopup, popupProps, /*#__PURE__*/_react.default.createElement(_style.Arrow, null), /*#__PURE__*/_react.default.createElement(_Calendar.default.Month, calendarProps), /*#__PURE__*/_react.default.createElement(_Footer.default, (0, _extends2.default)({}, footerProps, {
74
+ popup: /*#__PURE__*/_react.default.createElement(_style.SPopup, popupProps, /*#__PURE__*/_react.default.createElement(_Calendar.default.Month, calendarProps), /*#__PURE__*/_react.default.createElement(_Footer.default, (0, _extends2.default)({}, footerProps, {
75
75
  tip: error,
76
76
  isError: !!error
77
77
  })))
@@ -455,10 +455,6 @@ var Range = function Range(_ref2) {
455
455
  visible: activeS || activeE,
456
456
  popup: /*#__PURE__*/_react.default.createElement(_style.SPopup, (0, _extends2.default)({}, popupProps, {
457
457
  endInputHighlight: activeE
458
- }), /*#__PURE__*/_react.default.createElement(_style.Arrow, {
459
- style: {
460
- left: activeE ? startRangeInputWidth + 'px' : '20px'
461
- }
462
458
  }), /*#__PURE__*/_react.default.createElement(_style.RangeCalendarWrap, {
463
459
  visible: activeS
464
460
  }, /*#__PURE__*/_react.default.createElement(CalendarComp, (0, _extends2.default)({}, calendarPropsS, {
@@ -99,7 +99,7 @@ var trigger = [];
99
99
  var align = {
100
100
  points: ['tl', 'bl'],
101
101
  overflow: {
102
- adjustX: 0,
102
+ adjustX: 1,
103
103
  adjustY: 1
104
104
  },
105
105
  offset: [0, 10],
@@ -5,6 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _default = {
8
- selectAll: 'select all'
8
+ selectAll: 'Select all'
9
9
  };
10
10
  exports.default = _default;
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _default = {
8
- confirm: 'confirm',
9
- cancel: 'cancel'
8
+ confirm: 'Confirm',
9
+ cancel: 'Cancel'
10
10
  };
11
11
  exports.default = _default;
@@ -7,17 +7,17 @@ exports.default = void 0;
7
7
  var _default = {
8
8
  // Options.jsx
9
9
  itemsPerPage: 'items/page',
10
- jumpTo: 'jump to',
11
- jumpToConfirm: 'confirm',
12
- page: 'page',
10
+ jumpTo: 'Jump to',
11
+ jumpToConfirm: 'Confirm',
12
+ page: 'Page',
13
13
  // Pagination.jsx
14
- prevPage: 'prev page',
15
- nextPage: 'next page',
16
- prev5: 'prev 5 page',
17
- next5: 'next 5 page',
18
- prev3: 'prev 3 page',
19
- next3: 'next 3 page',
20
- total: 'total',
21
- items: 'items'
14
+ prevPage: 'Prev page',
15
+ nextPage: 'Next page',
16
+ prev5: 'Prev 5 page',
17
+ next5: 'Next 5 page',
18
+ prev3: 'Prev 3 page',
19
+ next3: 'Next 3 page',
20
+ total: 'Total',
21
+ items: 'Items'
22
22
  };
23
23
  exports.default = _default;
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _default = {
8
- confirm: 'confirm',
9
- cancel: 'cancel'
8
+ confirm: 'Confirm',
9
+ cancel: 'Cancel'
10
10
  };
11
11
  exports.default = _default;
@@ -801,6 +801,7 @@ var MultipleListSelector = /*#__PURE__*/_react.default.memo(function MultipleSel
801
801
  value = props.value,
802
802
  onChange = props.onChange,
803
803
  placeholder = props.placeholder,
804
+ renderContent = props.renderContent,
804
805
  search = props.search,
805
806
  _props$searchValue = props.searchValue,
806
807
  searchValue = _props$searchValue === void 0 ? '' : _props$searchValue,
@@ -825,10 +826,10 @@ var MultipleListSelector = /*#__PURE__*/_react.default.memo(function MultipleSel
825
826
  (0, _newArrowCheck2.default)(this, _this14);
826
827
  return {
827
828
  key: v,
828
- children: childrenMap.has(v) ? childrenMap.get(v) : v
829
+ children: childrenMap.has(v) ? renderContent ? renderContent(v) : childrenMap.get(v) : v
829
830
  };
830
831
  }.bind(this));
831
- }.bind(this), [childrenMap, value]);
832
+ }.bind(this), [childrenMap, value, renderContent]);
832
833
  var handleClose = (0, _react.useCallback)(function (key) {
833
834
  var _this15 = this;
834
835
 
@@ -923,6 +924,7 @@ var MultipleSelector = /*#__PURE__*/_react.default.memo(function MultipleSelecto
923
924
  value = props.value,
924
925
  onChange = props.onChange,
925
926
  placeholder = props.placeholder,
927
+ renderContent = props.renderContent,
926
928
  search = props.search,
927
929
  _props$searchValue2 = props.searchValue,
928
930
  searchValue = _props$searchValue2 === void 0 ? '' : _props$searchValue2,
@@ -946,10 +948,10 @@ var MultipleSelector = /*#__PURE__*/_react.default.memo(function MultipleSelecto
946
948
  (0, _newArrowCheck2.default)(this, _this17);
947
949
  return {
948
950
  key: v,
949
- children: childrenMap.has(v) ? childrenMap.get(v) : v
951
+ children: childrenMap.has(v) ? renderContent ? renderContent(v) : childrenMap.get(v) : v
950
952
  };
951
953
  }.bind(this));
952
- }.bind(this), [childrenMap, value]);
954
+ }.bind(this), [childrenMap, value, renderContent]);
953
955
  var handleClose = (0, _react.useCallback)(function (key) {
954
956
  var _this18 = this;
955
957
 
@@ -5,10 +5,10 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _default = {
8
- placeholder: 'please select',
9
- selected: 'selected ',
8
+ placeholder: 'Please select',
9
+ selected: 'Selected ',
10
10
  items: ' items',
11
- emptyTip: 'data is empty',
11
+ emptyTip: 'Data is empty',
12
12
  selectAll: 'Select All'
13
13
  };
14
14
  exports.default = _default;
@@ -5,15 +5,15 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _default = {
8
- currentValueIs: 'current value is ',
9
- inputValueIs: 'input value is ',
8
+ currentValueIs: 'Current value is ',
9
+ inputValueIs: 'Input value is ',
10
10
  period: '.',
11
11
  semicolon: ';',
12
12
  colon: ':',
13
13
  comma: ', ',
14
- input: 'input',
14
+ input: 'Input',
15
15
  isValid: ' is valid',
16
16
  isInvalid: ' is invalid',
17
- tip: 'please press enter or click other place to accept valid value'
17
+ tip: 'Please press enter or click other place to accept valid value'
18
18
  };
19
19
  exports.default = _default;
@@ -237,6 +237,16 @@ var Table = (_dec = (0, _localeConsumerDecorator.default)({
237
237
 
238
238
  (0, _newArrowCheck2.default)(this, _this6);
239
239
 
240
+ if (rowSelection.resetSelected) {
241
+ _this2.onSelectedRowKeysChange({});
242
+
243
+ _this2.setState({
244
+ indeterminateSelectedRowKeyMap: {}
245
+ });
246
+
247
+ return;
248
+ }
249
+
240
250
  if (rowSelection.multiple !== false && rowSelection.linkage && flatDataSourceKeys.length) {
241
251
  var _Object$keys$reduce = Object.keys(selectedRowKeyMap).reduce(function (p, key) {
242
252
  (0, _newArrowCheck2.default)(this, _this7);
@@ -1665,9 +1675,15 @@ var Table = (_dec = (0, _localeConsumerDecorator.default)({
1665
1675
 
1666
1676
  (0, _createClass2.default)(Table, [{
1667
1677
  key: "initLinkageRowSelectionMap",
1668
- value: function initLinkageRowSelectionMap(nowSelectedRowKeyMap, checked, key, flatDataSourceKeys, indeterminateSelectedRowKeyMap) {
1678
+ value: function initLinkageRowSelectionMap() {
1669
1679
  var _this41 = this;
1670
1680
 
1681
+ var nowSelectedRowKeyMap = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1682
+ var checked = arguments.length > 1 ? arguments[1] : undefined;
1683
+ var key = arguments.length > 2 ? arguments[2] : undefined;
1684
+ var flatDataSourceKeys = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
1685
+ var indeterminateSelectedRowKeyMap = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};
1686
+
1671
1687
  if (!flatDataSourceKeys.length) {
1672
1688
  return {
1673
1689
  mergeMap: {},
@@ -1689,7 +1705,11 @@ var Table = (_dec = (0, _localeConsumerDecorator.default)({
1689
1705
  }.bind(this)); // 禁用需要剔除的key
1690
1706
 
1691
1707
  var disabledItems = this.initDisabledOfRow(flatDataSourceKeys);
1692
- indeterminate[String(record.key)] = false; // 子被动全选
1708
+
1709
+ if (record) {
1710
+ indeterminate[String(record.key)] = false;
1711
+ } // 子被动全选
1712
+
1693
1713
 
1694
1714
  if (record && record.childrenKeys && record.childrenKeys.length > 0) {
1695
1715
  record.childrenKeys.forEach(function (childKey) {
@@ -1745,7 +1765,7 @@ var Table = (_dec = (0, _localeConsumerDecorator.default)({
1745
1765
  }
1746
1766
  }
1747
1767
 
1748
- if (record.parent) {
1768
+ if (record && record.parent) {
1749
1769
  changeParentChecked(record.parent, checked, disabledItems);
1750
1770
  }
1751
1771
 
@@ -2089,7 +2109,12 @@ var Table = (_dec = (0, _localeConsumerDecorator.default)({
2089
2109
  * 需配合 columns.children 使用,控制是否开启父子联动,默认关闭
2090
2110
  * @default false
2091
2111
  */
2092
- linkage: _propTypes.default.bool
2112
+ linkage: _propTypes.default.bool,
2113
+
2114
+ /**
2115
+ * dataSource变更时, 是否重置选中项 ,默认为false
2116
+ */
2117
+ resetSelected: _propTypes.default.bool
2093
2118
  }), _propTypes.default.oneOf([true])]),
2094
2119
 
2095
2120
  /** 拖拽排序 */
@@ -5,19 +5,19 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _default = {
8
- emptyTip: 'data is empty',
9
- search: 'search',
10
- filter: 'filter',
11
- searchResult: 'search result',
12
- items: 'items',
13
- reset: 'reset search and filter',
8
+ emptyTip: 'Data is empty',
9
+ search: 'Search',
10
+ filter: 'Filter',
11
+ searchResult: 'Search result',
12
+ items: 'Items',
13
+ reset: 'Reset search and filter',
14
14
  period: '.',
15
15
  semicolon: ';',
16
16
  colon: ': ',
17
- selected: 'selected',
18
- cancelSelect: 'cancel select',
19
- columnConfigHeader: 'custom columns',
20
- columnConfigTip: 'when you clean cache or change browser, the saving record will lost.',
21
- columnConfigSelected: 'selected'
17
+ selected: 'Selected',
18
+ cancelSelect: 'Cancel select',
19
+ columnConfigHeader: 'Custom columns',
20
+ columnConfigTip: 'When you clean cache or change browser, the saving record will lost.',
21
+ columnConfigSelected: 'Selected'
22
22
  };
23
23
  exports.default = _default;
@@ -657,7 +657,7 @@ var TabBar = function TabBar(props) {
657
657
  justifyContent: "space-between",
658
658
  alignItems: "center"
659
659
  }, /*#__PURE__*/_react.default.createElement(_Box.default, {
660
- flex: 1,
660
+ flex: "1",
661
661
  className: (0, _classnames8.default)((0, _defineProperty2.default)({}, "".concat(_style2.prefixCls, "-srcoll-box"), 1))
662
662
  }, /*#__PURE__*/_react.default.createElement(ScrollableTabBarNode, props, /*#__PURE__*/_react.default.createElement(TabBarTabsNode, props), styleType === 'ink' ? /*#__PURE__*/_react.default.createElement(InkTabBarNode, props) : null)), /*#__PURE__*/_react.default.createElement(_Box.default, {
663
663
  justifyContent: "flex-end",
@@ -71,10 +71,40 @@ var controllerDecorator = function controllerDecorator(options) {
71
71
  zName = _this$props.zName,
72
72
  zOptions = _this$props.zOptions,
73
73
  controllerProps = (0, _objectWithoutProperties2.default)(_this$props, _excluded);
74
+ var rules = (zOptions && zOptions.rules ? zOptions.rules : []).map(function (rule) {
75
+ (0, _newArrowCheck2.default)(this, _this2);
76
+
77
+ if (rule.validator) {
78
+ var propValidator = rule.validator;
79
+ return _objectSpread(_objectSpread({}, rule), {}, {
80
+ validator: function validator(rule, value, callback) {
81
+ var _this3 = this;
82
+
83
+ for (var _len = arguments.length, args = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {
84
+ args[_key - 3] = arguments[_key];
85
+ }
86
+
87
+ propValidator.apply(void 0, [rule, value, function (res) {
88
+ (0, _newArrowCheck2.default)(this, _this3);
89
+
90
+ if (res !== null) {
91
+ callback(res);
92
+ } else {
93
+ callback();
94
+ }
95
+ }.bind(this)].concat(args));
96
+ }
97
+ });
98
+ } else {
99
+ return rule;
100
+ }
101
+ }.bind(this));
74
102
  return /*#__PURE__*/_react.default.createElement(_ZForm.ZFormContext.Consumer, null, function (_ref) {
75
103
  (0, _newArrowCheck2.default)(this, _this2);
76
104
  var form = _ref.form;
77
- return form.getFieldDecorator(zName, _objectSpread(_objectSpread({}, options), zOptions))( /*#__PURE__*/_react.default.createElement(Controller, controllerProps));
105
+ return form.getFieldDecorator(zName, _objectSpread(_objectSpread({}, options), _objectSpread(_objectSpread({}, zOptions), {}, {
106
+ rules: rules
107
+ })))( /*#__PURE__*/_react.default.createElement(Controller, controllerProps));
78
108
  }.bind(this));
79
109
  }
80
110
  }]);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ucloud-fe/react-components",
3
- "version": "1.15.0",
3
+ "version": "1.17.0",
4
4
  "title": "UCloud react components",
5
5
  "description": "UCloud react components",
6
6
  "keywords": [