@douyinfe/semi-ui 2.53.3-alpha.0 → 2.54.0-beta.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 (77) hide show
  1. package/dist/css/semi.css +9 -0
  2. package/dist/css/semi.min.css +1 -1
  3. package/dist/umd/semi-ui.js +193 -64
  4. package/dist/umd/semi-ui.js.map +1 -1
  5. package/dist/umd/semi-ui.min.js +1 -1
  6. package/dist/umd/semi-ui.min.js.map +1 -1
  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/cascader/index.d.ts +3 -0
  13. package/lib/cjs/cascader/index.js +11 -4
  14. package/lib/cjs/collapsible/index.d.ts +1 -0
  15. package/lib/cjs/collapsible/index.js +4 -3
  16. package/lib/cjs/datePicker/datePicker.d.ts +1 -1
  17. package/lib/cjs/descriptions/descriptions-context.d.ts +2 -0
  18. package/lib/cjs/descriptions/index.d.ts +17 -4
  19. package/lib/cjs/descriptions/index.js +52 -16
  20. package/lib/cjs/descriptions/item.d.ts +1 -0
  21. package/lib/cjs/descriptions/item.js +20 -13
  22. package/lib/cjs/form/baseForm.d.ts +2 -2
  23. package/lib/cjs/form/field.d.ts +2 -2
  24. package/lib/cjs/image/interface.d.ts +1 -0
  25. package/lib/cjs/image/previewInner.js +6 -0
  26. package/lib/cjs/input/index.d.ts +1 -1
  27. package/lib/cjs/input/inputGroup.d.ts +1 -1
  28. package/lib/cjs/modal/Modal.d.ts +4 -4
  29. package/lib/cjs/modal/Modal.js +12 -11
  30. package/lib/cjs/modal/confirm.d.ts +9 -9
  31. package/lib/cjs/rating/index.d.ts +1 -1
  32. package/lib/cjs/rating/item.d.ts +1 -1
  33. package/lib/cjs/switch/index.d.ts +1 -1
  34. package/lib/cjs/table/Table.d.ts +2 -2
  35. package/lib/cjs/table/index.d.ts +1 -1
  36. package/lib/cjs/tagInput/index.d.ts +1 -1
  37. package/lib/cjs/timePicker/TimePicker.d.ts +1 -1
  38. package/lib/cjs/timePicker/index.d.ts +1 -1
  39. package/lib/cjs/toast/index.js +3 -0
  40. package/lib/cjs/typography/base.js +4 -4
  41. package/lib/cjs/typography/title.d.ts +2 -2
  42. package/lib/es/anchor/index.d.ts +1 -1
  43. package/lib/es/autoComplete/index.d.ts +1 -1
  44. package/lib/es/button/Button.d.ts +1 -1
  45. package/lib/es/button/buttonGroup.d.ts +1 -1
  46. package/lib/es/button/index.d.ts +1 -1
  47. package/lib/es/cascader/index.d.ts +3 -0
  48. package/lib/es/cascader/index.js +11 -4
  49. package/lib/es/collapsible/index.d.ts +1 -0
  50. package/lib/es/collapsible/index.js +4 -3
  51. package/lib/es/datePicker/datePicker.d.ts +1 -1
  52. package/lib/es/descriptions/descriptions-context.d.ts +2 -0
  53. package/lib/es/descriptions/index.d.ts +17 -4
  54. package/lib/es/descriptions/index.js +52 -14
  55. package/lib/es/descriptions/item.d.ts +1 -0
  56. package/lib/es/descriptions/item.js +20 -13
  57. package/lib/es/form/baseForm.d.ts +2 -2
  58. package/lib/es/form/field.d.ts +2 -2
  59. package/lib/es/image/interface.d.ts +1 -0
  60. package/lib/es/image/previewInner.js +6 -0
  61. package/lib/es/input/index.d.ts +1 -1
  62. package/lib/es/input/inputGroup.d.ts +1 -1
  63. package/lib/es/modal/Modal.d.ts +4 -4
  64. package/lib/es/modal/Modal.js +12 -11
  65. package/lib/es/modal/confirm.d.ts +9 -9
  66. package/lib/es/rating/index.d.ts +1 -1
  67. package/lib/es/rating/item.d.ts +1 -1
  68. package/lib/es/switch/index.d.ts +1 -1
  69. package/lib/es/table/Table.d.ts +2 -2
  70. package/lib/es/table/index.d.ts +1 -1
  71. package/lib/es/tagInput/index.d.ts +1 -1
  72. package/lib/es/timePicker/TimePicker.d.ts +1 -1
  73. package/lib/es/timePicker/index.d.ts +1 -1
  74. package/lib/es/toast/index.js +3 -0
  75. package/lib/es/typography/base.js +4 -4
  76. package/lib/es/typography/title.d.ts +2 -2
  77. package/package.json +8 -8
@@ -40,7 +40,7 @@ declare class Anchor extends BaseComponent<AnchorProps, AnchorState> {
40
40
  static contextType: React.Context<ContextValue>;
41
41
  static Link: typeof Link;
42
42
  static PropTypes: {
43
- size: PropTypes.Requireable<"small" | "default">;
43
+ size: PropTypes.Requireable<"default" | "small">;
44
44
  railTheme: PropTypes.Requireable<"primary" | "tertiary" | "muted">;
45
45
  className: PropTypes.Requireable<string>;
46
46
  style: PropTypes.Requireable<object>;
@@ -125,7 +125,7 @@ declare class AutoComplete<T extends AutoCompleteItems> extends BaseComponent<Au
125
125
  renderSelectedItem: PropTypes.Requireable<(...args: any[]) => any>;
126
126
  suffix: PropTypes.Requireable<PropTypes.ReactNodeLike>;
127
127
  showClear: PropTypes.Requireable<boolean>;
128
- size: PropTypes.Requireable<"small" | "default" | "large">;
128
+ size: PropTypes.Requireable<"default" | "small" | "large">;
129
129
  style: PropTypes.Requireable<object>;
130
130
  stopPropagation: PropTypes.Requireable<NonNullable<string | boolean>>;
131
131
  maxHeight: PropTypes.Requireable<NonNullable<string | number>>;
@@ -47,7 +47,7 @@ export default class Button extends PureComponent<ButtonProps> {
47
47
  disabled: PropTypes.Requireable<boolean>;
48
48
  prefixCls: PropTypes.Requireable<string>;
49
49
  style: PropTypes.Requireable<object>;
50
- size: PropTypes.Requireable<"small" | "default" | "large">;
50
+ size: PropTypes.Requireable<"default" | "small" | "large">;
51
51
  type: PropTypes.Requireable<"warning" | "primary" | "secondary" | "danger" | "tertiary">;
52
52
  block: PropTypes.Requireable<boolean>;
53
53
  onClick: PropTypes.Requireable<(...args: any[]) => any>;
@@ -18,7 +18,7 @@ export default class ButtonGroup extends BaseComponent<ButtonGroupProps> {
18
18
  children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
19
19
  disabled: PropTypes.Requireable<boolean>;
20
20
  type: PropTypes.Requireable<string>;
21
- size: PropTypes.Requireable<"small" | "default" | "large">;
21
+ size: PropTypes.Requireable<"default" | "small" | "large">;
22
22
  theme: PropTypes.Requireable<"solid" | "light" | "borderless">;
23
23
  'aria-label': PropTypes.Requireable<string>;
24
24
  };
@@ -23,7 +23,7 @@ declare class Button extends React.PureComponent<ButtonProps> {
23
23
  onMouseEnter: import("prop-types").Requireable<(...args: any[]) => any>;
24
24
  onMouseLeave: import("prop-types").Requireable<(...args: any[]) => any>;
25
25
  disabled: import("prop-types").Requireable<boolean>;
26
- size: import("prop-types").Requireable<"small" | "default" | "large">;
26
+ size: import("prop-types").Requireable<"default" | "small" | "large">;
27
27
  type: import("prop-types").Requireable<"warning" | "primary" | "secondary" | "danger" | "tertiary">;
28
28
  block: import("prop-types").Requireable<boolean>;
29
29
  onClick: import("prop-types").Requireable<(...args: any[]) => any>;
@@ -59,6 +59,7 @@ export interface CascaderProps extends BasicCascaderProps {
59
59
  onFocus?: (e: MouseEvent) => void;
60
60
  validateStatus?: ValidateStatus;
61
61
  position?: Position;
62
+ searchPosition?: string;
62
63
  }
63
64
  export interface CascaderState extends BasicCascaderInnerData {
64
65
  keyEntities: Entities;
@@ -143,6 +144,7 @@ declare class Cascader extends BaseComponent<CascaderProps, CascaderState> {
143
144
  enableLeafClick: PropTypes.Requireable<boolean>;
144
145
  preventScroll: PropTypes.Requireable<boolean>;
145
146
  position: PropTypes.Requireable<string>;
147
+ searchPosition: PropTypes.Requireable<string>;
146
148
  };
147
149
  static defaultProps: any;
148
150
  options: any;
@@ -161,6 +163,7 @@ declare class Cascader extends BaseComponent<CascaderProps, CascaderState> {
161
163
  componentDidMount(): void;
162
164
  componentWillUnmount(): void;
163
165
  componentDidUpdate(prevProps: CascaderProps): void;
166
+ search: (value: string) => void;
164
167
  handleInputChange: (value: string) => void;
165
168
  handleTagRemoveInTrigger: (pos: string) => void;
166
169
  handleTagClose: (tagChildren: React.ReactNode, e: React.MouseEvent<HTMLElement>, tagKey: string | number) => void;
@@ -40,6 +40,10 @@ const resetkey = 0;
40
40
  class Cascader extends _baseComponent.default {
41
41
  constructor(props) {
42
42
  super(props);
43
+ // ref method
44
+ this.search = value => {
45
+ this.handleInputChange(value);
46
+ };
43
47
  this.handleInputChange = value => {
44
48
  this.foundation.handleInputChange(value);
45
49
  };
@@ -226,12 +230,13 @@ class Cascader extends _baseComponent.default {
226
230
  const {
227
231
  placeholder,
228
232
  filterTreeNode,
229
- multiple
233
+ multiple,
234
+ searchPosition
230
235
  } = this.props;
231
236
  const {
232
237
  checkedKeys
233
238
  } = this.state;
234
- const searchable = Boolean(filterTreeNode);
239
+ const searchable = Boolean(filterTreeNode) && searchPosition === _constants.strings.SEARCH_POSITION_TRIGGER;
235
240
  if (!searchable) {
236
241
  if (multiple) {
237
242
  if (checkedKeys.size === 0) {
@@ -991,7 +996,8 @@ Cascader.propTypes = {
991
996
  leafOnly: _propTypes.default.bool,
992
997
  enableLeafClick: _propTypes.default.bool,
993
998
  preventScroll: _propTypes.default.bool,
994
- position: _propTypes.default.string
999
+ position: _propTypes.default.string,
1000
+ searchPosition: _propTypes.default.string
995
1001
  };
996
1002
  Cascader.defaultProps = (0, _utils.getDefaultPropsFromGlobalConfig)(Cascader.__SemiComponentName__, {
997
1003
  borderless: false,
@@ -1022,7 +1028,8 @@ Cascader.defaultProps = (0, _utils.getDefaultPropsFromGlobalConfig)(Cascader.__S
1022
1028
  onDropdownVisibleChange: _noop2.default,
1023
1029
  onListScroll: _noop2.default,
1024
1030
  enableLeafClick: false,
1025
- 'aria-label': 'Cascader'
1031
+ 'aria-label': 'Cascader',
1032
+ searchPosition: _constants.strings.SEARCH_POSITION_TRIGGER
1026
1033
  });
1027
1034
  var _default = Cascader;
1028
1035
  exports.default = _default;
@@ -9,6 +9,7 @@ export interface CollapsibleProps extends CollapsibleFoundationProps {
9
9
  isOpen?: boolean;
10
10
  duration?: number;
11
11
  keepDOM?: boolean;
12
+ lazyRender?: boolean;
12
13
  className?: string;
13
14
  style?: React.CSSProperties;
14
15
  collapseHeight?: number;
@@ -29,9 +29,8 @@ class Collapsible extends _baseComponent.default {
29
29
  this.isChildrenInRenderTree = () => {
30
30
  if (this.domRef.current) {
31
31
  return this.domRef.current.offsetHeight > 0;
32
- } else {
33
- return false;
34
32
  }
33
+ return false;
35
34
  };
36
35
  this.state = {
37
36
  domInRenderTree: false,
@@ -115,6 +114,7 @@ class Collapsible extends _baseComponent.default {
115
114
  const wrapperCls = (0, _classnames.default)(`${_constants.cssClasses.PREFIX}-wrapper`, {
116
115
  [`${_constants.cssClasses.PREFIX}-transition`]: this.props.motion && this.state.isTransitioning
117
116
  }, this.props.className);
117
+ const shouldRender = this.props.keepDOM && !this.props.lazyRender || this.props.collapseHeight !== 0 || this.state.visible || this.props.isOpen;
118
118
  return /*#__PURE__*/_react.default.createElement("div", Object.assign({
119
119
  className: wrapperCls,
120
120
  style: wrapperStyle,
@@ -133,7 +133,7 @@ class Collapsible extends _baseComponent.default {
133
133
  overflow: 'hidden'
134
134
  },
135
135
  id: this.props.id
136
- }, (this.props.keepDOM || this.props.collapseHeight !== 0 || this.state.visible || this.props.isOpen) && this.props.children));
136
+ }, shouldRender && this.props.children));
137
137
  }
138
138
  }
139
139
  Collapsible.__SemiComponentName__ = "Collapsible";
@@ -142,6 +142,7 @@ Collapsible.defaultProps = (0, _utils.getDefaultPropsFromGlobalConfig)(Collapsib
142
142
  duration: 250,
143
143
  motion: true,
144
144
  keepDOM: false,
145
+ lazyRender: true,
145
146
  collapseHeight: 0,
146
147
  fade: false
147
148
  });
@@ -59,7 +59,7 @@ export default class DatePicker extends BaseComponent<DatePickerProps, DatePicke
59
59
  'aria-required': PropTypes.Requireable<boolean>;
60
60
  borderless: PropTypes.Requireable<boolean>;
61
61
  type: PropTypes.Requireable<"date" | "month" | "dateTime" | "dateRange" | "year" | "monthRange" | "dateTimeRange">;
62
- size: PropTypes.Requireable<"small" | "default" | "large">;
62
+ size: PropTypes.Requireable<"default" | "small" | "large">;
63
63
  clearIcon: PropTypes.Requireable<PropTypes.ReactNodeLike>;
64
64
  density: PropTypes.Requireable<"default" | "compact">;
65
65
  defaultValue: PropTypes.Requireable<NonNullable<string | number | object>>;
@@ -1,7 +1,9 @@
1
1
  import React from 'react';
2
2
  export type DescriptionsAlign = 'center' | 'justify' | 'left' | 'plain';
3
+ export type DescriptionLayout = 'horizontal' | 'vertical';
3
4
  export interface DescriptionsContextValue {
4
5
  align?: DescriptionsAlign;
6
+ layout?: DescriptionLayout;
5
7
  }
6
8
  declare const DescriptionsContext: React.Context<DescriptionsContextValue>;
7
9
  export default DescriptionsContext;
@@ -1,14 +1,17 @@
1
- import React, { PureComponent } from 'react';
1
+ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import '@douyinfe/semi-foundation/lib/cjs/descriptions/descriptions.css';
4
- import { DescriptionsAlign, DescriptionsContextValue } from './descriptions-context';
4
+ import { DescriptionsAlign, DescriptionLayout } from './descriptions-context';
5
5
  import Item from './item';
6
+ import DescriptionsFoundation, { DescriptionsAdapter } from '@douyinfe/semi-foundation/lib/cjs/descriptions/foundation';
7
+ import BaseComponent from '../_base/baseComponent';
6
8
  export type { DescriptionsItemProps } from './item';
7
9
  export type DescriptionsSize = 'small' | 'medium' | 'large';
8
10
  export interface Data {
9
11
  key?: React.ReactNode;
10
12
  value?: (() => React.ReactNode) | React.ReactNode;
11
13
  hidden?: boolean;
14
+ span?: number;
12
15
  }
13
16
  export interface DescriptionsProps {
14
17
  align?: DescriptionsAlign;
@@ -18,10 +21,12 @@ export interface DescriptionsProps {
18
21
  className?: string;
19
22
  children?: React.ReactNode;
20
23
  data?: Data[];
24
+ layout?: DescriptionLayout;
25
+ column?: number;
21
26
  }
22
- declare class Descriptions extends PureComponent<DescriptionsProps> {
27
+ declare class Descriptions extends BaseComponent<DescriptionsProps> {
23
28
  static Item: typeof Item;
24
- static contextType: React.Context<DescriptionsContextValue>;
29
+ static contextType: React.Context<import("./descriptions-context").DescriptionsContextValue>;
25
30
  static propTypes: {
26
31
  align: PropTypes.Requireable<string>;
27
32
  row: PropTypes.Requireable<boolean>;
@@ -35,13 +40,21 @@ declare class Descriptions extends PureComponent<DescriptionsProps> {
35
40
  className: PropTypes.Requireable<string>;
36
41
  style: PropTypes.Requireable<object>;
37
42
  }>[]>;
43
+ layout: PropTypes.Requireable<string>;
44
+ column: PropTypes.Requireable<number>;
38
45
  };
39
46
  static defaultProps: {
40
47
  align: string;
41
48
  row: boolean;
42
49
  size: string;
43
50
  data: Data[];
51
+ layout: string;
52
+ column: number;
44
53
  };
54
+ foundation: DescriptionsFoundation;
55
+ constructor(props: DescriptionsProps);
56
+ get adapter(): DescriptionsAdapter<DescriptionsProps>;
57
+ renderChildrenList: () => string | number | boolean | React.ReactElement<any, string | React.JSXElementConstructor<any>> | React.ReactFragment | JSX.Element[];
45
58
  render(): JSX.Element;
46
59
  }
47
60
  export default Descriptions;
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _isPlainObject2 = _interopRequireDefault(require("lodash/isPlainObject"));
8
- var _react = _interopRequireWildcard(require("react"));
8
+ var _react = _interopRequireDefault(require("react"));
9
9
  var _classnames = _interopRequireDefault(require("classnames"));
10
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
  var _constants = require("@douyinfe/semi-foundation/lib/cjs/descriptions/constants");
@@ -13,8 +13,8 @@ require("@douyinfe/semi-foundation/lib/cjs/descriptions/descriptions.css");
13
13
  var _getDataAttr = _interopRequireDefault(require("@douyinfe/semi-foundation/lib/cjs/utils/getDataAttr"));
14
14
  var _descriptionsContext = _interopRequireDefault(require("./descriptions-context"));
15
15
  var _item = _interopRequireDefault(require("./item"));
16
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
16
+ var _foundation = _interopRequireDefault(require("@douyinfe/semi-foundation/lib/cjs/descriptions/foundation"));
17
+ var _baseComponent = _interopRequireDefault(require("../_base/baseComponent"));
18
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
19
  var __rest = void 0 && (void 0).__rest || function (s, e) {
20
20
  var t = {};
@@ -25,7 +25,40 @@ var __rest = void 0 && (void 0).__rest || function (s, e) {
25
25
  return t;
26
26
  };
27
27
  const prefixCls = _constants.cssClasses.PREFIX;
28
- class Descriptions extends _react.PureComponent {
28
+ class Descriptions extends _baseComponent.default {
29
+ constructor(props) {
30
+ super(props);
31
+ this.renderChildrenList = () => {
32
+ const props = this.props;
33
+ const {
34
+ layout,
35
+ data,
36
+ children
37
+ } = props;
38
+ if (layout === 'horizontal') {
39
+ const horizontalList = this.foundation.getHorizontalList();
40
+ return horizontalList.map((row, index) => {
41
+ return /*#__PURE__*/_react.default.createElement("tr", {
42
+ key: index
43
+ }, row.map((item, itemIndex) => (0, _isPlainObject2.default)(item) ? /*#__PURE__*/_react.default.createElement(_item.default, Object.assign({
44
+ itemKey: item.key
45
+ }, item, {
46
+ key: index + '-' + itemIndex
47
+ }), item.value) : null));
48
+ });
49
+ } else {
50
+ return data && data.length ? data.map((item, index) => (0, _isPlainObject2.default)(item) ? /*#__PURE__*/_react.default.createElement(_item.default, Object.assign({
51
+ itemKey: item.key
52
+ }, item, {
53
+ key: index
54
+ }), item.value) : null) : children;
55
+ }
56
+ };
57
+ this.foundation = new _foundation.default(this.adapter);
58
+ }
59
+ get adapter() {
60
+ return Object.assign({}, super.adapter);
61
+ }
29
62
  render() {
30
63
  const _a = this.props,
31
64
  {
@@ -35,27 +68,26 @@ class Descriptions extends _react.PureComponent {
35
68
  className,
36
69
  style,
37
70
  children,
38
- data
71
+ data,
72
+ layout
39
73
  } = _a,
40
- rest = __rest(_a, ["align", "row", "size", "className", "style", "children", "data"]);
74
+ rest = __rest(_a, ["align", "row", "size", "className", "style", "children", "data", "layout"]);
41
75
  const classNames = (0, _classnames.default)(prefixCls, className, {
42
76
  [`${prefixCls}-${align}`]: !row,
43
77
  [`${prefixCls}-double`]: row,
44
- [`${prefixCls}-double-${size}`]: row
78
+ [`${prefixCls}-double-${size}`]: row,
79
+ [`${prefixCls}-horizontal`]: layout === 'horizontal',
80
+ [`${prefixCls}-vertical`]: layout === 'vertical'
45
81
  });
46
- const childrenList = data && data.length ? data.map((item, index) => (0, _isPlainObject2.default)(item) ? /*#__PURE__*/_react.default.createElement(_item.default, Object.assign({
47
- itemKey: item.key
48
- }, item, {
49
- key: index
50
- }), item.value) : null) : children;
51
82
  return /*#__PURE__*/_react.default.createElement("div", Object.assign({
52
83
  className: classNames,
53
84
  style: style
54
85
  }, (0, _getDataAttr.default)(rest)), /*#__PURE__*/_react.default.createElement("table", null, /*#__PURE__*/_react.default.createElement("tbody", null, /*#__PURE__*/_react.default.createElement(_descriptionsContext.default.Provider, {
55
86
  value: {
56
- align
87
+ align,
88
+ layout
57
89
  }
58
- }, childrenList))));
90
+ }, this.renderChildrenList()))));
59
91
  }
60
92
  }
61
93
  Descriptions.Item = _item.default;
@@ -72,13 +104,17 @@ Descriptions.propTypes = {
72
104
  hidden: _propTypes.default.bool,
73
105
  className: _propTypes.default.string,
74
106
  style: _propTypes.default.object
75
- }))
107
+ })),
108
+ layout: _propTypes.default.oneOf(_constants.strings.LAYOUT_SET),
109
+ column: _propTypes.default.number
76
110
  };
77
111
  Descriptions.defaultProps = {
78
112
  align: 'center',
79
113
  row: false,
80
114
  size: 'medium',
81
- data: []
115
+ data: [],
116
+ layout: 'vertical',
117
+ column: 3
82
118
  };
83
119
  var _default = Descriptions;
84
120
  exports.default = _default;
@@ -8,6 +8,7 @@ export interface DescriptionsItemProps {
8
8
  children?: React.ReactNode | (() => React.ReactNode);
9
9
  style?: React.CSSProperties;
10
10
  itemKey?: React.ReactNode;
11
+ span?: number;
11
12
  }
12
13
  export default class Item extends PureComponent<DescriptionsItemProps> {
13
14
  static propTypes: {
@@ -31,38 +31,45 @@ class Item extends _react.PureComponent {
31
31
  itemKey,
32
32
  hidden,
33
33
  className,
34
+ span,
34
35
  style,
35
36
  children
36
37
  } = _a,
37
- rest = __rest(_a, ["itemKey", "hidden", "className", "style", "children"]);
38
+ rest = __rest(_a, ["itemKey", "hidden", "className", "span", "style", "children"]);
38
39
  const {
39
- align
40
+ align,
41
+ layout
40
42
  } = this.context;
41
43
  if (hidden) {
42
44
  return null;
43
45
  }
44
- const item = align === 'plain' ? /*#__PURE__*/_react.default.createElement("tr", Object.assign({
45
- className: className,
46
- style: style
47
- }, (0, _getDataAttr.default)(rest)), /*#__PURE__*/_react.default.createElement("td", {
48
- className: `${prefixCls}-item`
46
+ const plainItem = /*#__PURE__*/_react.default.createElement("td", {
47
+ className: `${prefixCls}-item`,
48
+ colSpan: span || 1
49
49
  }, /*#__PURE__*/_react.default.createElement("span", {
50
50
  className: keyCls
51
51
  }, itemKey, ":"), /*#__PURE__*/_react.default.createElement("span", {
52
52
  className: valCls
53
- }, typeof children === 'function' ? children() : children))) : /*#__PURE__*/_react.default.createElement("tr", Object.assign({
54
- className: className,
55
- style: style
56
- }, (0, _getDataAttr.default)(rest)), /*#__PURE__*/_react.default.createElement("th", {
53
+ }, typeof children === 'function' ? children() : children));
54
+ const alignItem = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("th", {
57
55
  className: `${prefixCls}-item ${prefixCls}-item-th`
58
56
  }, /*#__PURE__*/_react.default.createElement("span", {
59
57
  className: keyCls
60
58
  }, itemKey)), /*#__PURE__*/_react.default.createElement("td", {
61
- className: `${prefixCls}-item ${prefixCls}-item-td`
59
+ className: `${prefixCls}-item ${prefixCls}-item-td`,
60
+ colSpan: span || 1
62
61
  }, /*#__PURE__*/_react.default.createElement("span", {
63
62
  className: valCls
64
63
  }, typeof children === 'function' ? children() : children)));
65
- return item;
64
+ const item = align === 'plain' ? /*#__PURE__*/_react.default.createElement("tr", Object.assign({
65
+ className: className,
66
+ style: style
67
+ }, (0, _getDataAttr.default)(rest)), plainItem) : /*#__PURE__*/_react.default.createElement("tr", Object.assign({
68
+ className: className,
69
+ style: style
70
+ }, (0, _getDataAttr.default)(rest)), alignItem);
71
+ const horizontalItem = align === 'plain' ? plainItem : alignItem;
72
+ return layout === 'horizontal' ? horizontalItem : item;
66
73
  }
67
74
  }
68
75
  exports.default = Item;
@@ -86,7 +86,7 @@ declare class Form<Values extends Record<string, any> = any> extends BaseCompone
86
86
  onDropdownVisibleChange?: (visible: boolean) => void;
87
87
  zIndex?: number;
88
88
  position?: "left" | "right" | "top" | "bottom" | "topLeft" | "topRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom" | "bottomLeft" | "bottomRight" | "leftTopOver" | "rightTopOver" | "leftBottomOver" | "rightBottomOver";
89
- onSearch?: (value: string, event: React.MouseEvent<Element, MouseEvent> | React.KeyboardEvent<Element>) => void;
89
+ onSearch?: (value: string, event: React.KeyboardEvent<Element> | React.MouseEvent<Element, MouseEvent>) => void;
90
90
  dropdownClassName?: string;
91
91
  dropdownStyle?: React.CSSProperties;
92
92
  dropdownMargin?: number | {
@@ -140,7 +140,7 @@ declare class Form<Values extends Record<string, any> = any> extends BaseCompone
140
140
  preventScroll?: boolean;
141
141
  showRestTagsPopover?: boolean;
142
142
  restTagsPopoverProps?: import("../popover").PopoverProps;
143
- } & Pick<import("../tooltip").TooltipProps, "motion" | "getPopupContainer" | "stopPropagation" | "spacing" | "mouseEnterDelay" | "autoAdjustOverflow" | "mouseLeaveDelay"> & React.RefAttributes<any> & import("./interface").CommonFieldProps, import("./interface").CommonexcludeType>> & import("./interface").SelectStatic;
143
+ } & Pick<import("../tooltip").TooltipProps, "stopPropagation" | "motion" | "getPopupContainer" | "spacing" | "mouseEnterDelay" | "autoAdjustOverflow" | "mouseLeaveDelay"> & React.RefAttributes<any> & import("./interface").CommonFieldProps, import("./interface").CommonexcludeType>> & import("./interface").SelectStatic;
144
144
  static Checkbox: React.ComponentType<import("utility-types").Subtract<import("./interface").CommonFieldProps, import("./interface").RadioCheckboxExcludeProps> & import("../checkbox").CheckboxProps & import("./interface").RCIncludeType>;
145
145
  static CheckboxGroup: React.ComponentType<import("utility-types").Subtract<import("../checkbox").CheckboxGroupProps, import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps & React.RefAttributes<any>>;
146
146
  static Radio: React.ComponentType<import("utility-types").Subtract<import("./interface").CommonFieldProps, import("./interface").RadioCheckboxExcludeProps> & import("../radio").RadioProps & import("./interface").RCIncludeType>;
@@ -32,7 +32,7 @@ declare const FormSelect: import("react").ComponentType<import("utility-types").
32
32
  onDropdownVisibleChange?: (visible: boolean) => void;
33
33
  zIndex?: number;
34
34
  position?: "left" | "right" | "top" | "bottom" | "topLeft" | "topRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom" | "bottomLeft" | "bottomRight" | "leftTopOver" | "rightTopOver" | "leftBottomOver" | "rightBottomOver";
35
- onSearch?: (value: string, event: import("react").MouseEvent<Element, MouseEvent> | import("react").KeyboardEvent<Element>) => void;
35
+ onSearch?: (value: string, event: import("react").KeyboardEvent<Element> | import("react").MouseEvent<Element, MouseEvent>) => void;
36
36
  dropdownClassName?: string;
37
37
  dropdownStyle?: import("react").CSSProperties;
38
38
  dropdownMargin?: number | {
@@ -86,7 +86,7 @@ declare const FormSelect: import("react").ComponentType<import("utility-types").
86
86
  preventScroll?: boolean;
87
87
  showRestTagsPopover?: boolean;
88
88
  restTagsPopoverProps?: import("../popover").PopoverProps;
89
- } & Pick<import("../tooltip").TooltipProps, "motion" | "getPopupContainer" | "stopPropagation" | "spacing" | "mouseEnterDelay" | "autoAdjustOverflow" | "mouseLeaveDelay"> & import("react").RefAttributes<any> & import("./interface").CommonFieldProps, import("./interface").CommonexcludeType>> & import("./interface").SelectStatic;
89
+ } & Pick<import("../tooltip").TooltipProps, "stopPropagation" | "motion" | "getPopupContainer" | "spacing" | "mouseEnterDelay" | "autoAdjustOverflow" | "mouseLeaveDelay"> & import("react").RefAttributes<any> & import("./interface").CommonFieldProps, import("./interface").CommonexcludeType>> & import("./interface").SelectStatic;
90
90
  declare const FormCheckboxGroup: import("react").ComponentType<import("utility-types").Subtract<import("../checkbox/checkboxGroup").CheckboxGroupProps, import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps & import("react").RefAttributes<any>>;
91
91
  declare const FormCheckbox: import("react").ComponentType<import("utility-types").Subtract<import("./interface").CommonFieldProps, import("./interface").RadioCheckboxExcludeProps> & import("../checkbox/checkbox").CheckboxProps & import("./interface").RCIncludeType>;
92
92
  declare const FormRadioGroup: import("react").ComponentType<import("utility-types").Subtract<import("../radio/radioGroup").RadioGroupProps, import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps & import("react").RefAttributes<any>>;
@@ -71,6 +71,7 @@ export interface PreviewProps extends BaseProps {
71
71
  onRatioChange?: (type: RatioType) => void;
72
72
  onRotateLeft?: (angle: number) => void;
73
73
  onDownload?: (src: string, index: number) => void;
74
+ onDownloadError?: (src: string) => void;
74
75
  setDownloadName?: (src: string) => string;
75
76
  }
76
77
  export interface PreviewInnerProps extends Omit<PreviewProps, "previewCls" | "previewStyle"> {
@@ -98,6 +98,12 @@ class PreviewInner extends _baseComponent.default {
98
98
  } = this.props;
99
99
  (0, _isFunction2.default)(onDownload) && onDownload(src, index);
100
100
  },
101
+ notifyDownloadError: src => {
102
+ const {
103
+ onDownloadError
104
+ } = this.props;
105
+ (0, _isFunction2.default)(onDownloadError) && onDownloadError(src);
106
+ },
101
107
  registerKeyDownListener: () => {
102
108
  window && window.addEventListener("keydown", this.handleKeyDown);
103
109
  },
@@ -86,7 +86,7 @@ declare class Input extends BaseComponent<InputProps, InputState> {
86
86
  showClear: PropTypes.Requireable<boolean>;
87
87
  hideSuffix: PropTypes.Requireable<boolean>;
88
88
  placeholder: PropTypes.Requireable<any>;
89
- size: PropTypes.Requireable<"small" | "default" | "large">;
89
+ size: PropTypes.Requireable<"default" | "small" | "large">;
90
90
  className: PropTypes.Requireable<string>;
91
91
  style: PropTypes.Requireable<object>;
92
92
  validateStatus: PropTypes.Requireable<"default" | "error" | "warning" | "success">;
@@ -21,7 +21,7 @@ export default class inputGroup extends BaseComponent<InputGroupProps, InputGrou
21
21
  static propTypes: {
22
22
  className: PropTypes.Requireable<string>;
23
23
  children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
24
- size: PropTypes.Requireable<"small" | "default" | "large">;
24
+ size: PropTypes.Requireable<"default" | "small" | "large">;
25
25
  style: PropTypes.Requireable<object>;
26
26
  onBlur: PropTypes.Requireable<(...args: any[]) => any>;
27
27
  onFocus: PropTypes.Requireable<(...args: any[]) => any>;
@@ -1,11 +1,11 @@
1
- import React, { CSSProperties, ReactNode } from 'react';
1
+ import '@douyinfe/semi-foundation/lib/cjs/modal/modal.css';
2
2
  import ModalFoundation, { ModalAdapter, ModalProps, ModalState } from '@douyinfe/semi-foundation/lib/cjs/modal/modalFoundation';
3
3
  import PropTypes from 'prop-types';
4
- import '@douyinfe/semi-foundation/lib/cjs/modal/modal.css';
4
+ import React, { CSSProperties, ReactNode } from 'react';
5
5
  import BaseComponent from '../_base/baseComponent';
6
- import useModal from './useModal';
7
6
  import { ButtonProps } from '../button/Button';
8
- export declare const destroyFns: any[];
7
+ import useModal from './useModal';
8
+ export declare let destroyFns: any[];
9
9
  export type ConfirmType = 'leftTop' | 'leftBottom' | 'rightTop' | 'rightBottom';
10
10
  export type Directions = 'ltr' | 'rtl';
11
11
  export type { ModalState };
@@ -5,21 +5,21 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.destroyFns = exports.default = void 0;
7
7
  var _noop2 = _interopRequireDefault(require("lodash/noop"));
8
- var _react = _interopRequireDefault(require("react"));
9
8
  var _constants = require("@douyinfe/semi-foundation/lib/cjs/modal/constants");
10
- var _button = _interopRequireDefault(require("../button"));
9
+ require("@douyinfe/semi-foundation/lib/cjs/modal/modal.css");
11
10
  var _modalFoundation = _interopRequireDefault(require("@douyinfe/semi-foundation/lib/cjs/modal/modalFoundation"));
12
- var _ModalContent = _interopRequireDefault(require("./ModalContent"));
13
- var _portal = _interopRequireDefault(require("../_portal"));
14
- var _localeConsumer = _interopRequireDefault(require("../locale/localeConsumer"));
15
11
  var _classnames = _interopRequireDefault(require("classnames"));
16
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
17
- require("@douyinfe/semi-foundation/lib/cjs/modal/modal.css");
13
+ var _react = _interopRequireDefault(require("react"));
18
14
  var _baseComponent = _interopRequireDefault(require("../_base/baseComponent"));
19
- var _confirm = _interopRequireWildcard(require("./confirm"));
20
- var _useModal = _interopRequireDefault(require("./useModal"));
21
15
  var _cssAnimation = _interopRequireDefault(require("../_cssAnimation"));
16
+ var _portal = _interopRequireDefault(require("../_portal"));
22
17
  var _utils = require("../_utils");
18
+ var _button = _interopRequireDefault(require("../button"));
19
+ var _localeConsumer = _interopRequireDefault(require("../locale/localeConsumer"));
20
+ var _ModalContent = _interopRequireDefault(require("./ModalContent"));
21
+ var _confirm = _interopRequireWildcard(require("./confirm"));
22
+ var _useModal = _interopRequireDefault(require("./useModal"));
23
23
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
24
24
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
25
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -31,7 +31,7 @@ var __rest = void 0 && (void 0).__rest || function (s, e) {
31
31
  }
32
32
  return t;
33
33
  };
34
- const destroyFns = [];
34
+ let destroyFns = [];
35
35
  exports.destroyFns = destroyFns;
36
36
  class Modal extends _baseComponent.default {
37
37
  constructor(props) {
@@ -359,12 +359,13 @@ Modal.confirm = function (props) {
359
359
  return (0, _confirm.default)((0, _confirm.withConfirm)(props));
360
360
  };
361
361
  Modal.destroyAll = function destroyAllFn() {
362
- while (destroyFns.length) {
363
- const close = destroyFns.pop();
362
+ for (let i = 0, len = destroyFns.length; i < len; i++) {
363
+ const close = destroyFns[i];
364
364
  if (close) {
365
365
  close();
366
366
  }
367
367
  }
368
+ exports.destroyFns = destroyFns = [];
368
369
  };
369
370
  var _default = Modal;
370
371
  exports.default = _default;