@ucloud-fe/react-components 1.14.0 → 1.16.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.
Files changed (39) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/main.min.js +8 -8
  3. package/index.d.ts +30 -15
  4. package/lib/components/Cascader/Cascade.d.ts +6 -1
  5. package/lib/components/Cascader/Cascade.js +4 -1
  6. package/lib/components/Cascader/Cascader.d.ts +8 -1
  7. package/lib/components/Cascader/Cascader.js +5 -2
  8. package/lib/components/Cascader/Items.d.ts +7 -1
  9. package/lib/components/Cascader/Items.js +16 -3
  10. package/lib/components/DatePicker/DatePicker.js +1 -1
  11. package/lib/components/DatePicker/Month.js +1 -1
  12. package/lib/components/DatePicker/Range.js +0 -4
  13. package/lib/components/DatePicker/usePicker.js +1 -1
  14. package/lib/components/Menu/locale/en_US.js +1 -1
  15. package/lib/components/Modal/locale/en_US.js +2 -2
  16. package/lib/components/Pagination/locale/en_US.js +11 -11
  17. package/lib/components/PopConfirm/locale/en_US.js +2 -2
  18. package/lib/components/Select/locale/en_US.js +3 -3
  19. package/lib/components/Slider/locale/en_US.js +4 -4
  20. package/lib/components/Switch/style/index.js +7 -5
  21. package/lib/components/Table/locale/en_US.js +11 -11
  22. package/lib/components/Tag/Group.d.ts +21 -15
  23. package/lib/components/Tag/Group.js +175 -31
  24. package/lib/components/Tag/Icon.d.ts +17 -0
  25. package/lib/components/Tag/Icon.js +31 -2
  26. package/lib/components/Tag/Tag.d.ts +19 -0
  27. package/lib/components/Tag/Tag.js +44 -6
  28. package/lib/components/Tag/index.d.ts +2 -2
  29. package/lib/components/Tag/style/index.d.ts +46 -1
  30. package/lib/components/Tag/style/index.js +259 -85
  31. package/lib/components/ThemeProvider/designTokens.d.ts +216 -0
  32. package/lib/components/ThemeProvider/designTokens.js +436 -4
  33. package/lib/components/ThemeProvider/designTokensDark.d.ts +216 -0
  34. package/lib/components/ThemeProvider/designTokensDark.js +435 -3
  35. package/lib/components/ThemeProvider/designTokensPrivate.d.ts +492 -0
  36. package/lib/components/ThemeProvider/designTokensPrivate.js +989 -0
  37. package/lib/components/ThemeProvider/private.js +17 -0
  38. package/lib/components/ZForm/controllerDecorator.js +31 -1
  39. package/package.json +1 -1
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
 
@@ -426,10 +428,21 @@ export interface TagProps extends HTMLAttributes<HTMLSpanElement> {
426
428
  onClose?: () => void;
427
429
  icon?: 'circle-fill' | 'circle' | 'loading' | 'custom' | ReactNode;
428
430
  disabled?: boolean;
431
+ border?: boolean;
432
+ borderType?: 'default' | 'circle';
433
+ suffix?: ReactNode;
434
+ }
435
+ export interface TagGroupProps extends HTMLAttributes<HTMLDivElement> {
436
+ children?: ReactNode;
437
+ compact?: boolean;
438
+ exposeCount?: number;
439
+ popoverProps?: PopoverProps;
429
440
  }
430
441
  export declare class TagIcon extends PureComponent<TagProps> {}
442
+ export declare class TagGroup extends PureComponent<TagGroupProps> {}
431
443
  export declare class Tag extends PureComponent<TagProps> {
432
444
  declare static Icon: typeof TagIcon;
445
+ declare static Group: typeof TagGroup;
433
446
  }
434
447
 
435
448
  // Popover
@@ -507,7 +520,7 @@ interface ModalConfirmHandle {
507
520
  destroy(): void;
508
521
  }
509
522
  interface ModalConfirm {
510
- (options: ModalProps): ModalConfirmHandle;
523
+ (options: ModalProps, contentNode?: ReactNode): ModalConfirmHandle;
511
524
  }
512
525
  export declare class ModalContent extends Component<HTMLAttributes<HTMLDivElement>> {}
513
526
  export declare class Modal extends Component<ModalProps> {
@@ -540,7 +553,7 @@ export interface TableScroll {
540
553
  y?: number;
541
554
  onScroll?: (e: WheelEvent) => void;
542
555
  }
543
- type RowKey = () => string;
556
+ type RowKey = (row: any) => string;
544
557
  export interface RowSelection {
545
558
  fixed?: boolean;
546
559
  onChange?: Function;
@@ -551,8 +564,9 @@ export interface RowSelection {
551
564
  selectedTip?: boolean | 'button';
552
565
  disabled?: boolean;
553
566
  }
554
- interface GetRowClassName {
555
- (): string;
567
+ interface DragSorting {
568
+ fixed: boolean;
569
+ onChange: (record: any, fromIndex: number, toIndex: number) => void;
556
570
  }
557
571
  interface ColumnRender {
558
572
  (col: any, row?: any): ReactNode;
@@ -574,18 +588,17 @@ export interface Column {
574
588
  interface DefaultColumnConfig {
575
589
  [key: string]: string;
576
590
  }
577
- interface TableRowBack extends HTMLTableDataCellElement {}
578
591
  interface TableCustomStyle {
579
592
  outerPadding?: string;
580
593
  [key: string]: any;
581
594
  }
582
- interface TableDefaultOrder {
595
+ interface TableOrder {
583
596
  key: string;
584
597
  state: 'desc' | 'asc';
585
598
  }
586
599
  export interface TableConditionChangeEventOrder {
587
- order: string;
588
- filter: string[];
600
+ order: TableOrder;
601
+ filters: { key: string; value: string }[];
589
602
  searchValue: string;
590
603
  }
591
604
  interface ConditionChangeEvent {
@@ -610,11 +623,13 @@ export interface TableProps {
610
623
  defaultExpandAllRows?: boolean;
611
624
  onExpandedRowsChange?: (row: any) => void;
612
625
  onExpand?: Function;
613
- onRow?: (row: any, index: number) => TableRowBack;
614
- onHeaderRow?: (row: any, index: number) => TableRowBack;
626
+ onRow?: (row: any, index: number) => any;
627
+ onHeaderRow?: (row: any, index: number) => any;
615
628
  rowSelection?: RowSelection | true;
629
+ dragSorting?: boolean | DragSorting;
616
630
  onRowSelect?: (keys: string[]) => void;
617
631
  showHeader?: boolean;
632
+ columnResizable?: boolean;
618
633
  title?: () => ReactNode;
619
634
  footer?: () => ReactNode;
620
635
  emptyContent?: ReactNode;
@@ -626,12 +641,12 @@ export interface TableProps {
626
641
  rowKey?: string | RowKey;
627
642
  zebraCrossing?: boolean;
628
643
  components?: any;
629
- defaultOrder?: TableDefaultOrder;
644
+ defaultOrder?: TableOrder;
645
+ order?: TableOrder;
630
646
  onConditionChange?: ConditionChangeEvent;
631
647
  doNotHandleCondition?: boolean;
632
648
  contextMenu?: TableContextMenu;
633
649
  className?: string;
634
- rowClassName?: string | GetRowClassName;
635
650
  }
636
651
  interface ColumnConfigButtonProps extends ButtonProps {
637
652
  modalProps?: ModalProps;
@@ -718,12 +733,12 @@ interface Step {
718
733
  remark?: ReactNode;
719
734
  status?: 'disabled' | 'error' | 'success' | 'normal';
720
735
  }
721
- export interface StepsProps extends HTMLAttributes<HTMLDivElement> {
736
+ export interface StepsProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
722
737
  steps: Step[];
723
738
  current?: string | number;
724
739
  status?: 'current' | 'loading' | 'error';
725
740
  direction?: 'horizontal' | 'vertical';
726
- nowrap?:boolean;
741
+ nowrap?: boolean;
727
742
  onChange?: (current: string | number) => void;
728
743
  }
729
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;
@@ -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;