@douyinfe/semi-ui 2.31.1 → 2.31.2-alpha.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 (55) hide show
  1. package/dist/umd/semi-ui.js +234 -202
  2. package/dist/umd/semi-ui.js.map +1 -1
  3. package/dist/umd/semi-ui.min.js +1 -1
  4. package/dist/umd/semi-ui.min.js.map +1 -1
  5. package/lib/cjs/_utils/index.d.ts +2 -4
  6. package/lib/cjs/_utils/index.js +5 -5
  7. package/lib/cjs/anchor/index.d.ts +1 -1
  8. package/lib/cjs/autoComplete/index.d.ts +1 -1
  9. package/lib/cjs/button/Button.d.ts +1 -1
  10. package/lib/cjs/button/buttonGroup.d.ts +1 -1
  11. package/lib/cjs/button/index.d.ts +1 -1
  12. package/lib/cjs/datePicker/datePicker.d.ts +1 -1
  13. package/lib/cjs/form/baseForm.d.ts +1 -1
  14. package/lib/cjs/form/field.d.ts +1 -1
  15. package/lib/cjs/input/index.d.ts +1 -1
  16. package/lib/cjs/input/inputGroup.d.ts +1 -1
  17. package/lib/cjs/modal/confirm.d.ts +8 -8
  18. package/lib/cjs/rating/index.d.ts +1 -1
  19. package/lib/cjs/rating/item.d.ts +1 -1
  20. package/lib/cjs/switch/index.d.ts +1 -1
  21. package/lib/cjs/table/ResizableTable.js +1 -1
  22. package/lib/cjs/table/Table.d.ts +2 -2
  23. package/lib/cjs/table/index.d.ts +1 -1
  24. package/lib/cjs/table/utils.d.ts +1 -0
  25. package/lib/cjs/table/utils.js +31 -1
  26. package/lib/cjs/tagInput/index.d.ts +1 -1
  27. package/lib/cjs/timePicker/TimePicker.d.ts +1 -1
  28. package/lib/cjs/timePicker/index.d.ts +1 -1
  29. package/lib/cjs/typography/title.d.ts +1 -1
  30. package/lib/es/_utils/index.d.ts +2 -4
  31. package/lib/es/_utils/index.js +5 -5
  32. package/lib/es/anchor/index.d.ts +1 -1
  33. package/lib/es/autoComplete/index.d.ts +1 -1
  34. package/lib/es/button/Button.d.ts +1 -1
  35. package/lib/es/button/buttonGroup.d.ts +1 -1
  36. package/lib/es/button/index.d.ts +1 -1
  37. package/lib/es/datePicker/datePicker.d.ts +1 -1
  38. package/lib/es/form/baseForm.d.ts +1 -1
  39. package/lib/es/form/field.d.ts +1 -1
  40. package/lib/es/input/index.d.ts +1 -1
  41. package/lib/es/input/inputGroup.d.ts +1 -1
  42. package/lib/es/modal/confirm.d.ts +8 -8
  43. package/lib/es/rating/index.d.ts +1 -1
  44. package/lib/es/rating/item.d.ts +1 -1
  45. package/lib/es/switch/index.d.ts +1 -1
  46. package/lib/es/table/ResizableTable.js +2 -2
  47. package/lib/es/table/Table.d.ts +2 -2
  48. package/lib/es/table/index.d.ts +1 -1
  49. package/lib/es/table/utils.d.ts +1 -0
  50. package/lib/es/table/utils.js +27 -0
  51. package/lib/es/tagInput/index.d.ts +1 -1
  52. package/lib/es/timePicker/TimePicker.d.ts +1 -1
  53. package/lib/es/timePicker/index.d.ts +1 -1
  54. package/lib/es/typography/title.d.ts +1 -1
  55. package/package.json +8 -8
@@ -27,9 +27,9 @@ var __rest = this && this.__rest || function (s, e) {
27
27
  import React, { useState, useEffect, useMemo } from 'react';
28
28
  import { addClass, removeClass } from '@douyinfe/semi-foundation/lib/es/utils/classnames';
29
29
  import { strings, numbers } from '@douyinfe/semi-foundation/lib/es/table/constants';
30
- import { mergeColumns, assignColumnKeys, findColumn, withResizeWidth } from '@douyinfe/semi-foundation/lib/es/table/utils';
30
+ import { assignColumnKeys, findColumn, withResizeWidth } from '@douyinfe/semi-foundation/lib/es/table/utils';
31
31
  import Table from './Table';
32
- import { cloneDeep } from './utils';
32
+ import { cloneDeep, mergeColumns } from './utils';
33
33
  import getColumns from './getColumns';
34
34
  import ResizableHeaderCell from './ResizableHeaderCell';
35
35
 
@@ -60,7 +60,7 @@ declare class Table<RecordType extends Record<string, any>> extends BaseComponen
60
60
  components: PropTypes.Requireable<any>;
61
61
  bordered: PropTypes.Requireable<boolean>;
62
62
  loading: PropTypes.Requireable<boolean>;
63
- size: PropTypes.Requireable<"default" | "small" | "middle">;
63
+ size: PropTypes.Requireable<"small" | "default" | "middle">;
64
64
  tableLayout: PropTypes.Requireable<"" | "fixed" | "auto">;
65
65
  columns: PropTypes.Requireable<PropTypes.InferProps<{
66
66
  align: PropTypes.Requireable<"left" | "right" | "center">;
@@ -297,7 +297,7 @@ declare class Table<RecordType extends Record<string, any>> extends BaseComponen
297
297
  showTotal?: boolean;
298
298
  pageSize?: number;
299
299
  pageSizeOpts?: number[];
300
- size?: "default" | "small";
300
+ size?: "small" | "default";
301
301
  currentPage?: number;
302
302
  defaultCurrentPage?: number;
303
303
  onPageChange?: (currentPage: number) => void;
@@ -16,7 +16,7 @@ declare class Table<RecordType extends Record<string, any> = Data> extends React
16
16
  components: PropTypes.Requireable<any>;
17
17
  bordered: PropTypes.Requireable<boolean>;
18
18
  loading: PropTypes.Requireable<boolean>;
19
- size: PropTypes.Requireable<"default" | "small" | "middle">;
19
+ size: PropTypes.Requireable<"small" | "default" | "middle">;
20
20
  tableLayout: PropTypes.Requireable<"" | "fixed" | "auto">;
21
21
  columns: PropTypes.Requireable<PropTypes.InferProps<{
22
22
  align: PropTypes.Requireable<"left" | "right" | "center">;
@@ -39,4 +39,5 @@ export declare function mergeComponents(components: TableComponents, virtualized
39
39
  };
40
40
  } & TableComponents;
41
41
  export declare const logger: Logger;
42
+ export declare function mergeColumns(oldColumns?: any[], newColumns?: any[], keyPropNames?: any[], deep?: boolean): any[];
42
43
  export { cloneDeep };
@@ -1,7 +1,11 @@
1
+ import _map from "lodash/map";
2
+ import _find from "lodash/find";
3
+ import _clone from "lodash/clone";
1
4
  import _merge from "lodash/merge";
2
5
  import Logger from '@douyinfe/semi-foundation/lib/es/utils/Logger';
3
6
  import { numbers } from '@douyinfe/semi-foundation/lib/es/table/constants';
4
7
  import { cloneDeep } from '../_utils';
8
+ import { getColumnKey } from '@douyinfe/semi-foundation/lib/es/table/utils';
5
9
  let scrollbarVerticalSize, scrollbarHorizontalSize; // Measure scrollbar width for padding body during modal show/hide
6
10
 
7
11
  const scrollbarMeasure = {
@@ -105,4 +109,27 @@ export function mergeComponents(components, virtualized) {
105
109
  }, components);
106
110
  }
107
111
  export const logger = new Logger('[@douyinfe/semi-ui Table]');
112
+ export function mergeColumns() {
113
+ let oldColumns = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
114
+ let newColumns = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
115
+ let keyPropNames = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
116
+ let deep = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;
117
+ const finalColumns = [];
118
+ const clone = deep ? cloneDeep : _clone;
119
+
120
+ _map(newColumns, newColumn => {
121
+ newColumn = Object.assign({}, newColumn);
122
+ const key = getColumnKey(newColumn, keyPropNames);
123
+
124
+ const oldColumn = key != null && _find(oldColumns, item => getColumnKey(item, keyPropNames) === key);
125
+
126
+ if (oldColumn) {
127
+ finalColumns.push(clone(Object.assign(Object.assign({}, oldColumn), newColumn)));
128
+ } else {
129
+ finalColumns.push(clone(newColumn));
130
+ }
131
+ });
132
+
133
+ return finalColumns;
134
+ }
108
135
  export { cloneDeep };
@@ -96,7 +96,7 @@ declare class TagInput extends BaseComponent<TagInputProps, TagInputState> {
96
96
  onAdd: PropTypes.Requireable<(...args: any[]) => any>;
97
97
  onRemove: PropTypes.Requireable<(...args: any[]) => any>;
98
98
  onKeyDown: PropTypes.Requireable<(...args: any[]) => any>;
99
- size: PropTypes.Requireable<"default" | "small" | "large">;
99
+ size: PropTypes.Requireable<"small" | "default" | "large">;
100
100
  validateStatus: PropTypes.Requireable<"default" | "error" | "warning" | "success">;
101
101
  prefix: PropTypes.Requireable<NonNullable<PropTypes.ReactNodeLike>>;
102
102
  suffix: PropTypes.Requireable<NonNullable<PropTypes.ReactNodeLike>>;
@@ -130,7 +130,7 @@ export default class TimePicker extends BaseComponent<TimePickerProps, TimePicke
130
130
  secondStep: PropTypes.Requireable<number>;
131
131
  focusOnOpen: PropTypes.Requireable<boolean>;
132
132
  autoFocus: PropTypes.Requireable<boolean>;
133
- size: PropTypes.Requireable<"default" | "small" | "large">;
133
+ size: PropTypes.Requireable<"small" | "default" | "large">;
134
134
  panels: PropTypes.Requireable<PropTypes.InferProps<{
135
135
  panelHeader: PropTypes.Requireable<NonNullable<PropTypes.ReactNodeLike>>;
136
136
  panelFooter: PropTypes.Requireable<NonNullable<PropTypes.ReactNodeLike>>;
@@ -48,7 +48,7 @@ export default class LocaleTimePicker extends React.PureComponent<LocalePickerPr
48
48
  secondStep: import("prop-types").Requireable<number>;
49
49
  focusOnOpen: import("prop-types").Requireable<boolean>;
50
50
  autoFocus: import("prop-types").Requireable<boolean>;
51
- size: import("prop-types").Requireable<"default" | "small" | "large">;
51
+ size: import("prop-types").Requireable<"small" | "default" | "large">;
52
52
  panels: import("prop-types").Requireable<import("prop-types").InferProps<{
53
53
  panelHeader: import("prop-types").Requireable<NonNullable<import("prop-types").ReactNodeLike>>;
54
54
  panelFooter: import("prop-types").Requireable<NonNullable<import("prop-types").ReactNodeLike>>;
@@ -37,7 +37,7 @@ export default class Title extends PureComponent<TitleProps> {
37
37
  underline: PropTypes.Requireable<boolean>;
38
38
  strong: PropTypes.Requireable<boolean>;
39
39
  type: PropTypes.Requireable<"warning" | "success" | "primary" | "tertiary" | "secondary" | "danger" | "quaternary">;
40
- heading: PropTypes.Requireable<1 | 2 | 3 | 4 | 6 | 5>;
40
+ heading: PropTypes.Requireable<4 | 2 | 1 | 3 | 6 | 5>;
41
41
  style: PropTypes.Requireable<object>;
42
42
  className: PropTypes.Requireable<string>;
43
43
  component: PropTypes.Requireable<string>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@douyinfe/semi-ui",
3
- "version": "2.31.1",
3
+ "version": "2.31.2-alpha.0",
4
4
  "description": "",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/es/index.js",
@@ -17,12 +17,12 @@
17
17
  "lib/*"
18
18
  ],
19
19
  "dependencies": {
20
- "@douyinfe/semi-animation": "2.31.1",
21
- "@douyinfe/semi-animation-react": "2.31.1",
22
- "@douyinfe/semi-foundation": "2.31.1",
23
- "@douyinfe/semi-icons": "2.31.1",
24
- "@douyinfe/semi-illustrations": "2.31.1",
25
- "@douyinfe/semi-theme-default": "2.31.1",
20
+ "@douyinfe/semi-animation": "2.31.2-alpha.0",
21
+ "@douyinfe/semi-animation-react": "2.31.2-alpha.0",
22
+ "@douyinfe/semi-foundation": "2.31.2-alpha.0",
23
+ "@douyinfe/semi-icons": "2.31.2-alpha.0",
24
+ "@douyinfe/semi-illustrations": "2.31.2-alpha.0",
25
+ "@douyinfe/semi-theme-default": "2.31.2-alpha.0",
26
26
  "async-validator": "^3.5.0",
27
27
  "classnames": "^2.2.6",
28
28
  "copy-text-to-clipboard": "^2.1.1",
@@ -69,7 +69,7 @@
69
69
  ],
70
70
  "author": "",
71
71
  "license": "MIT",
72
- "gitHead": "00ded133e899ea816cbefe20eebcdb60fd983ecc",
72
+ "gitHead": "b502692ae72f3cb550595912d9caefe0517c52c6",
73
73
  "devDependencies": {
74
74
  "@babel/plugin-proposal-decorators": "^7.15.8",
75
75
  "@babel/plugin-transform-runtime": "^7.15.8",