@douyinfe/semi-ui 2.19.0-alpha.4 → 2.19.0-alpha.7

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 (52) hide show
  1. package/button/buttonGroup.tsx +38 -4
  2. package/button/index.tsx +2 -0
  3. package/checkbox/_story/checkbox.stories.js +0 -2
  4. package/checkbox/checkbox.tsx +19 -22
  5. package/dist/css/semi.css +65 -94
  6. package/dist/css/semi.min.css +1 -1
  7. package/dist/umd/semi-ui.js +83 -35
  8. package/dist/umd/semi-ui.js.map +1 -1
  9. package/dist/umd/semi-ui.min.js +1 -1
  10. package/dist/umd/semi-ui.min.js.map +1 -1
  11. package/lib/cjs/button/buttonGroup.d.ts +1 -0
  12. package/lib/cjs/button/buttonGroup.js +52 -3
  13. package/lib/cjs/button/index.d.ts +1 -0
  14. package/lib/cjs/button/index.js +1 -0
  15. package/lib/cjs/carousel/CarouselIndicator.d.ts +1 -1
  16. package/lib/cjs/carousel/index.d.ts +1 -1
  17. package/lib/cjs/checkbox/checkbox.js +10 -18
  18. package/lib/cjs/datePicker/dateInput.d.ts +1 -1
  19. package/lib/cjs/datePicker/datePicker.d.ts +1 -1
  20. package/lib/cjs/datePicker/monthsGrid.d.ts +1 -1
  21. package/lib/cjs/radio/radio.d.ts +1 -1
  22. package/lib/cjs/radio/radio.js +21 -13
  23. package/lib/cjs/radio/radioGroup.d.ts +1 -1
  24. package/lib/cjs/radio/radioGroup.js +1 -1
  25. package/lib/cjs/timePicker/TimePicker.d.ts +2 -2
  26. package/lib/cjs/timePicker/TimeShape.d.ts +1 -1
  27. package/lib/cjs/timePicker/index.d.ts +2 -2
  28. package/lib/cjs/typography/title.d.ts +1 -1
  29. package/lib/cjs/upload/index.d.ts +1 -1
  30. package/lib/es/button/buttonGroup.d.ts +1 -0
  31. package/lib/es/button/buttonGroup.js +50 -3
  32. package/lib/es/button/index.d.ts +1 -0
  33. package/lib/es/button/index.js +1 -0
  34. package/lib/es/carousel/CarouselIndicator.d.ts +1 -1
  35. package/lib/es/carousel/index.d.ts +1 -1
  36. package/lib/es/checkbox/checkbox.js +10 -18
  37. package/lib/es/datePicker/dateInput.d.ts +1 -1
  38. package/lib/es/datePicker/datePicker.d.ts +1 -1
  39. package/lib/es/datePicker/monthsGrid.d.ts +1 -1
  40. package/lib/es/radio/radio.d.ts +1 -1
  41. package/lib/es/radio/radio.js +21 -13
  42. package/lib/es/radio/radioGroup.d.ts +1 -1
  43. package/lib/es/radio/radioGroup.js +1 -1
  44. package/lib/es/timePicker/TimePicker.d.ts +2 -2
  45. package/lib/es/timePicker/TimeShape.d.ts +1 -1
  46. package/lib/es/timePicker/index.d.ts +2 -2
  47. package/lib/es/typography/title.d.ts +1 -1
  48. package/lib/es/upload/index.d.ts +1 -1
  49. package/package.json +7 -7
  50. package/radio/_story/radio.stories.js +5 -5
  51. package/radio/radio.tsx +20 -19
  52. package/radio/radioGroup.tsx +1 -1
@@ -25,5 +25,6 @@ export default class ButtonGroup extends BaseComponent<ButtonGroupProps> {
25
25
  static defaultProps: {
26
26
  size: string;
27
27
  };
28
+ getInnerWithLine(inner: any): any;
28
29
  render(): JSX.Element;
29
30
  }
@@ -18,12 +18,20 @@ var _indexOf = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-st
18
18
 
19
19
  var _getOwnPropertySymbols = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols"));
20
20
 
21
+ var _forEach = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/for-each"));
22
+
23
+ var _slice = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/slice"));
24
+
25
+ var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
26
+
21
27
  var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
22
28
 
23
29
  var _isArray = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/array/is-array"));
24
30
 
25
31
  var _assign = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/assign"));
26
32
 
33
+ var _get2 = _interopRequireDefault(require("lodash/get"));
34
+
27
35
  var _react = _interopRequireWildcard(require("react"));
28
36
 
29
37
  var _baseComponent = _interopRequireDefault(require("../_base/baseComponent"));
@@ -55,6 +63,45 @@ const prefixCls = _constants.cssClasses.PREFIX;
55
63
  const btnSizes = _constants.strings.sizes;
56
64
 
57
65
  class ButtonGroup extends _baseComponent.default {
66
+ getInnerWithLine(inner) {
67
+ const innerWithLine = [];
68
+ let lineCls = "".concat(prefixCls, "-group-line");
69
+
70
+ if (inner.length > 1) {
71
+ var _context;
72
+
73
+ (0, _forEach.default)(_context = (0, _slice.default)(inner).call(inner, 0, -1)).call(_context, item => {
74
+ const isButtonType = (0, _get2.default)(item, 'type.elementType') === 'Button';
75
+ const buttonProps = (0, _get2.default)(item, 'props');
76
+
77
+ if (buttonProps) {
78
+ var _context2, _context3;
79
+
80
+ const {
81
+ type,
82
+ theme,
83
+ disabled
84
+ } = buttonProps;
85
+ lineCls = (0, _classnames.default)("".concat(prefixCls, "-group-line"), (0, _concat.default)(_context2 = "".concat(prefixCls, "-group-line-")).call(_context2, theme !== null && theme !== void 0 ? theme : 'light'), (0, _concat.default)(_context3 = "".concat(prefixCls, "-group-line-")).call(_context3, type !== null && type !== void 0 ? type : 'primary'), {
86
+ ["".concat(prefixCls, "-group-line-disabled")]: disabled
87
+ });
88
+ }
89
+
90
+ if (isButtonType) {
91
+ innerWithLine.push(item, /*#__PURE__*/_react.default.createElement("span", {
92
+ className: lineCls
93
+ }));
94
+ } else {
95
+ innerWithLine.push(item);
96
+ }
97
+ });
98
+ innerWithLine.push((0, _slice.default)(inner).call(inner, -1));
99
+ return innerWithLine;
100
+ } else {
101
+ return inner;
102
+ }
103
+ }
104
+
58
105
  render() {
59
106
  const _a = this.props,
60
107
  {
@@ -68,25 +115,27 @@ class ButtonGroup extends _baseComponent.default {
68
115
  rest = __rest(_a, ["children", "disabled", "size", "type", "className", 'aria-label']);
69
116
 
70
117
  let inner;
118
+ let innerWithLine = [];
71
119
  const cls = (0, _classnames.default)("".concat(prefixCls, "-group"), className);
72
120
 
73
121
  if (children) {
74
- var _context;
122
+ var _context4;
75
123
 
76
- inner = (0, _map.default)(_context = (0, _isArray.default)(children) ? children : [children]).call(_context, (itm, index) => /*#__PURE__*/(0, _react.isValidElement)(itm) ? /*#__PURE__*/(0, _react.cloneElement)(itm, (0, _assign.default)((0, _assign.default)((0, _assign.default)({
124
+ inner = (0, _map.default)(_context4 = (0, _isArray.default)(children) ? children : [children]).call(_context4, (itm, index) => /*#__PURE__*/(0, _react.isValidElement)(itm) ? /*#__PURE__*/(0, _react.cloneElement)(itm, (0, _assign.default)((0, _assign.default)((0, _assign.default)({
77
125
  disabled,
78
126
  size,
79
127
  type
80
128
  }, itm.props), rest), {
81
129
  key: index
82
130
  })) : itm);
131
+ innerWithLine = this.getInnerWithLine(inner);
83
132
  }
84
133
 
85
134
  return /*#__PURE__*/_react.default.createElement("div", {
86
135
  className: cls,
87
136
  role: "group",
88
137
  "aria-label": ariaLabel
89
- }, inner);
138
+ }, innerWithLine);
90
139
  }
91
140
 
92
141
  }
@@ -31,6 +31,7 @@ declare class Button extends React.PureComponent<ButtonProps> {
31
31
  htmlType: import("prop-types").Requireable<"button" | "reset" | "submit">;
32
32
  'aria-label': import("prop-types").Requireable<string>;
33
33
  };
34
+ static elementType: string;
34
35
  constructor(props?: {});
35
36
  render(): JSX.Element;
36
37
  }
@@ -40,5 +40,6 @@ class Button extends _react.default.PureComponent {
40
40
  }
41
41
 
42
42
  Button.propTypes = (0, _assign.default)((0, _assign.default)({}, _Button.default.propTypes), _iconButton.default.propTypes);
43
+ Button.elementType = 'Button';
43
44
  var _default = Button;
44
45
  exports.default = _default;
@@ -8,7 +8,7 @@ declare class CarouselIndicator extends React.PureComponent<CarouselIndicatorPro
8
8
  position: PropTypes.Requireable<"left" | "right" | "center">;
9
9
  size: PropTypes.Requireable<"small" | "medium">;
10
10
  style: PropTypes.Requireable<object>;
11
- theme: PropTypes.Requireable<"primary" | "dark" | "light">;
11
+ theme: PropTypes.Requireable<"dark" | "light" | "primary">;
12
12
  total: PropTypes.Requireable<number>;
13
13
  onIndicatorChange: PropTypes.Requireable<(...args: any[]) => any>;
14
14
  type: PropTypes.Requireable<"line" | "dot" | "columnar">;
@@ -22,7 +22,7 @@ declare class Carousel extends BaseComponent<CarouselProps, CarouselState> {
22
22
  indicatorPosition: PropTypes.Requireable<"left" | "right" | "center">;
23
23
  indicatorSize: PropTypes.Requireable<"small" | "medium">;
24
24
  indicatorType: PropTypes.Requireable<"line" | "dot" | "columnar">;
25
- theme: PropTypes.Requireable<"primary" | "dark" | "light">;
25
+ theme: PropTypes.Requireable<"dark" | "light" | "primary">;
26
26
  onChange: PropTypes.Requireable<(...args: any[]) => any>;
27
27
  arrowType: PropTypes.Requireable<"hover" | "always">;
28
28
  showArrow: PropTypes.Requireable<boolean>;
@@ -211,23 +211,15 @@ class Checkbox extends _baseComponent.default {
211
211
  const name = inGroup && this.context.checkboxGroup.name;
212
212
  const xSemiPropChildren = this.props['x-semi-children-alias'] || 'children';
213
213
 
214
- const renderContent = () => {
215
- if (!children && !extra) {
216
- return null;
217
- }
218
-
219
- return /*#__PURE__*/_react.default.createElement("div", {
220
- className: "".concat(prefix, "-content")
221
- }, children ? /*#__PURE__*/_react.default.createElement("span", {
222
- id: addonId,
223
- className: "".concat(prefix, "-addon"),
224
- "x-semi-prop": xSemiPropChildren
225
- }, children) : null, extra ? /*#__PURE__*/_react.default.createElement("div", {
226
- id: extraId,
227
- className: extraCls,
228
- "x-semi-prop": "extra"
229
- }, extra) : null);
230
- };
214
+ const renderContent = () => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, children ? /*#__PURE__*/_react.default.createElement("span", {
215
+ id: addonId,
216
+ className: "".concat(prefix, "-addon"),
217
+ "x-semi-prop": xSemiPropChildren
218
+ }, children) : null, extra ? /*#__PURE__*/_react.default.createElement("div", {
219
+ id: extraId,
220
+ className: extraCls,
221
+ "x-semi-prop": "extra"
222
+ }, extra) : null);
231
223
 
232
224
  return (
233
225
  /*#__PURE__*/
@@ -253,7 +245,7 @@ class Checkbox extends _baseComponent.default {
253
245
  focusInner: focusVisible && !focusOuter,
254
246
  onInputFocus: this.handleFocusVisible,
255
247
  onInputBlur: this.handleBlur
256
- })), renderContent())
248
+ })), props.isCardType ? /*#__PURE__*/_react.default.createElement("div", null, renderContent()) : renderContent())
257
249
  );
258
250
  }
259
251
 
@@ -26,7 +26,7 @@ export default class DateInput extends BaseComponent<DateInputProps, {}> {
26
26
  onFocus: PropTypes.Requireable<(...args: any[]) => any>;
27
27
  value: PropTypes.Requireable<any[]>;
28
28
  disabled: PropTypes.Requireable<boolean>;
29
- type: PropTypes.Requireable<"dateTime" | "date" | "month" | "dateRange" | "year" | "dateTimeRange">;
29
+ type: PropTypes.Requireable<"date" | "month" | "dateTime" | "dateRange" | "year" | "dateTimeRange">;
30
30
  showClear: PropTypes.Requireable<boolean>;
31
31
  format: PropTypes.Requireable<string>;
32
32
  inputStyle: PropTypes.Requireable<object>;
@@ -41,7 +41,7 @@ export default class DatePicker extends BaseComponent<DatePickerProps, DatePicke
41
41
  'aria-invalid': PropTypes.Requireable<boolean>;
42
42
  'aria-labelledby': PropTypes.Requireable<string>;
43
43
  'aria-required': PropTypes.Requireable<boolean>;
44
- type: PropTypes.Requireable<"dateTime" | "date" | "month" | "dateRange" | "year" | "dateTimeRange">;
44
+ type: PropTypes.Requireable<"date" | "month" | "dateTime" | "dateRange" | "year" | "dateTimeRange">;
45
45
  size: PropTypes.Requireable<"default" | "small" | "large">;
46
46
  density: PropTypes.Requireable<"default" | "compact">;
47
47
  defaultValue: PropTypes.Requireable<string | number | object>;
@@ -17,7 +17,7 @@ export interface MonthsGridProps extends MonthsGridFoundationProps, BaseProps {
17
17
  export declare type MonthsGridState = MonthsGridFoundationState;
18
18
  export default class MonthsGrid extends BaseComponent<MonthsGridProps, MonthsGridState> {
19
19
  static propTypes: {
20
- type: PropTypes.Requireable<"dateTime" | "date" | "month" | "dateRange" | "year" | "dateTimeRange">;
20
+ type: PropTypes.Requireable<"date" | "month" | "dateTime" | "dateRange" | "year" | "dateTimeRange">;
21
21
  defaultValue: PropTypes.Requireable<string | number | object>;
22
22
  defaultPickerValue: PropTypes.Requireable<string | number | object>;
23
23
  multiple: PropTypes.Requireable<boolean>;
@@ -81,7 +81,7 @@ declare class Radio extends BaseComponent<RadioProps, RadioState> {
81
81
  prefixCls?: string;
82
82
  name?: string;
83
83
  onChange?: (e: RadioChangeEvent) => void;
84
- buttonSize?: "small" | "middle" | "large";
84
+ buttonSize?: "small" | "large" | "middle";
85
85
  isCardRadio?: boolean;
86
86
  isPureCardRadio?: boolean;
87
87
  };
@@ -228,16 +228,26 @@ class Radio extends _baseComponent.default {
228
228
  ["".concat(prefix, "-focus")]: focusVisible && isButtonRadio
229
229
  }, addonClassName);
230
230
 
231
- const renderContent = () => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, children ? /*#__PURE__*/_react.default.createElement("span", {
232
- className: addonCls,
233
- style: addonStyle,
234
- id: addonId,
235
- "x-semi-prop": "children"
236
- }, children) : null, extra && !isButtonRadio ? /*#__PURE__*/_react.default.createElement("div", {
237
- className: "".concat(prefix, "-extra"),
238
- id: extraId,
239
- "x-semi-prop": "extra"
240
- }, extra) : null);
231
+ const renderContent = () => {
232
+ if (!children && !extra) {
233
+ return null;
234
+ }
235
+
236
+ return /*#__PURE__*/_react.default.createElement("div", {
237
+ className: (0, _classnames.default)(["".concat(prefix, "-content"), {
238
+ ["".concat(prefix, "-isCardRadioGroup_content")]: isCardRadioGroup
239
+ }])
240
+ }, children ? /*#__PURE__*/_react.default.createElement("span", {
241
+ className: addonCls,
242
+ style: addonStyle,
243
+ id: addonId,
244
+ "x-semi-prop": "children"
245
+ }, children) : null, extra && !isButtonRadio ? /*#__PURE__*/_react.default.createElement("div", {
246
+ className: "".concat(prefix, "-extra"),
247
+ id: extraId,
248
+ "x-semi-prop": "extra"
249
+ }, extra) : null);
250
+ };
241
251
 
242
252
  return /*#__PURE__*/_react.default.createElement("label", {
243
253
  style: style,
@@ -258,9 +268,7 @@ class Radio extends _baseComponent.default {
258
268
  focusInner: focusVisible && !focusOuter,
259
269
  onInputFocus: this.handleFocusVisible,
260
270
  onInputBlur: this.handleBlur
261
- })), isCardRadioGroup ? /*#__PURE__*/_react.default.createElement("div", {
262
- className: "".concat(prefix, "-isCardRadioGroup_content")
263
- }, renderContent()) : renderContent());
271
+ })), renderContent());
264
272
  }
265
273
 
266
274
  }
@@ -48,7 +48,7 @@ declare class RadioGroup extends BaseComponent<RadioGroupProps, RadioGroupState>
48
48
  disabled: PropTypes.Requireable<boolean>;
49
49
  name: PropTypes.Requireable<string>;
50
50
  options: PropTypes.Requireable<any[]>;
51
- buttonSize: PropTypes.Requireable<"small" | "middle" | "large">;
51
+ buttonSize: PropTypes.Requireable<"small" | "large" | "middle">;
52
52
  type: PropTypes.Requireable<"default" | "button" | "card" | "pureCard">;
53
53
  value: PropTypes.Requireable<any>;
54
54
  onChange: PropTypes.Requireable<(...args: any[]) => any>;
@@ -45,7 +45,7 @@ class RadioGroup extends _baseComponent.default {
45
45
  this.getFormatName = () => this.props.name || 'default';
46
46
 
47
47
  this.state = {
48
- value: undefined
48
+ value: props.value || props.defaultValue
49
49
  };
50
50
  this.foundation = new _radioGroupFoundation.default(this.adapter);
51
51
  }
@@ -99,11 +99,11 @@ export default class TimePicker extends BaseComponent<TimePickerProps, TimePicke
99
99
  'aria-required': PropTypes.Requireable<boolean>;
100
100
  prefixCls: PropTypes.Requireable<string>;
101
101
  clearText: PropTypes.Requireable<string>;
102
- value: PropTypes.Requireable<string | number | string[] | number[] | Date | Date[]>;
102
+ value: PropTypes.Requireable<string | number | string[] | Date | number[] | Date[]>;
103
103
  inputReadOnly: PropTypes.Requireable<boolean>;
104
104
  disabled: PropTypes.Requireable<boolean>;
105
105
  showClear: PropTypes.Requireable<boolean>;
106
- defaultValue: PropTypes.Requireable<string | number | string[] | number[] | Date | Date[]>;
106
+ defaultValue: PropTypes.Requireable<string | number | string[] | Date | number[] | Date[]>;
107
107
  open: PropTypes.Requireable<boolean>;
108
108
  defaultOpen: PropTypes.Requireable<boolean>;
109
109
  onOpenChange: PropTypes.Requireable<(...args: any[]) => any>;
@@ -6,5 +6,5 @@ import PropTypes from 'prop-types';
6
6
  * - \[12:00:12, 12:21:12]
7
7
  * - \[[12:00:12, 12:21:12], [12:11:12, 12:32:12]]
8
8
  */
9
- declare const TimeShape: PropTypes.Requireable<string | number | string[] | number[] | Date | Date[]>;
9
+ declare const TimeShape: PropTypes.Requireable<string | number | string[] | Date | number[] | Date[]>;
10
10
  export { TimeShape };
@@ -19,11 +19,11 @@ export default class LocaleTimePicker extends React.PureComponent<LocalePickerPr
19
19
  'aria-required': import("prop-types").Requireable<boolean>;
20
20
  prefixCls: import("prop-types").Requireable<string>;
21
21
  clearText: import("prop-types").Requireable<string>;
22
- value: import("prop-types").Requireable<string | number | string[] | number[] | Date | Date[]>;
22
+ value: import("prop-types").Requireable<string | number | string[] | Date | number[] | Date[]>;
23
23
  inputReadOnly: import("prop-types").Requireable<boolean>;
24
24
  disabled: import("prop-types").Requireable<boolean>;
25
25
  showClear: import("prop-types").Requireable<boolean>;
26
- defaultValue: import("prop-types").Requireable<string | number | string[] | number[] | Date | Date[]>;
26
+ defaultValue: import("prop-types").Requireable<string | number | string[] | Date | number[] | Date[]>;
27
27
  open: import("prop-types").Requireable<boolean>;
28
28
  defaultOpen: import("prop-types").Requireable<boolean>;
29
29
  onOpenChange: import("prop-types").Requireable<(...args: any[]) => any>;
@@ -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 | 5 | 6>;
40
+ heading: PropTypes.Requireable<1 | 2 | 3 | 4 | 6 | 5>;
41
41
  style: PropTypes.Requireable<object>;
42
42
  className: PropTypes.Requireable<string>;
43
43
  component: PropTypes.Requireable<string>;
@@ -140,7 +140,7 @@ declare class Upload extends BaseComponent<UploadProps, UploadState> {
140
140
  style: PropTypes.Requireable<object>;
141
141
  timeout: PropTypes.Requireable<number>;
142
142
  transformFile: PropTypes.Requireable<(...args: any[]) => any>;
143
- uploadTrigger: PropTypes.Requireable<"auto" | "custom">;
143
+ uploadTrigger: PropTypes.Requireable<"custom" | "auto">;
144
144
  validateMessage: PropTypes.Requireable<PropTypes.ReactNodeLike>;
145
145
  validateStatus: PropTypes.Requireable<"default" | "error" | "warning" | "success">;
146
146
  withCredentials: PropTypes.Requireable<boolean>;
@@ -25,5 +25,6 @@ export default class ButtonGroup extends BaseComponent<ButtonGroupProps> {
25
25
  static defaultProps: {
26
26
  size: string;
27
27
  };
28
+ getInnerWithLine(inner: any): any;
28
29
  render(): JSX.Element;
29
30
  }
@@ -1,5 +1,9 @@
1
+ import _get from "lodash/get";
1
2
  import _indexOfInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/index-of";
2
3
  import _Object$getOwnPropertySymbols from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols";
4
+ import _forEachInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/for-each";
5
+ import _sliceInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/slice";
6
+ import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
3
7
  import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
4
8
  import _Array$isArray from "@babel/runtime-corejs3/core-js-stable/array/is-array";
5
9
  import _Object$assign from "@babel/runtime-corejs3/core-js-stable/object/assign";
@@ -24,6 +28,47 @@ import '@douyinfe/semi-foundation/lib/es/button/button.css';
24
28
  const prefixCls = cssClasses.PREFIX;
25
29
  const btnSizes = strings.sizes;
26
30
  export default class ButtonGroup extends BaseComponent {
31
+ getInnerWithLine(inner) {
32
+ const innerWithLine = [];
33
+ let lineCls = "".concat(prefixCls, "-group-line");
34
+
35
+ if (inner.length > 1) {
36
+ var _context;
37
+
38
+ _forEachInstanceProperty(_context = _sliceInstanceProperty(inner).call(inner, 0, -1)).call(_context, item => {
39
+ const isButtonType = _get(item, 'type.elementType') === 'Button';
40
+
41
+ const buttonProps = _get(item, 'props');
42
+
43
+ if (buttonProps) {
44
+ var _context2, _context3;
45
+
46
+ const {
47
+ type,
48
+ theme,
49
+ disabled
50
+ } = buttonProps;
51
+ lineCls = classNames("".concat(prefixCls, "-group-line"), _concatInstanceProperty(_context2 = "".concat(prefixCls, "-group-line-")).call(_context2, theme !== null && theme !== void 0 ? theme : 'light'), _concatInstanceProperty(_context3 = "".concat(prefixCls, "-group-line-")).call(_context3, type !== null && type !== void 0 ? type : 'primary'), {
52
+ ["".concat(prefixCls, "-group-line-disabled")]: disabled
53
+ });
54
+ }
55
+
56
+ if (isButtonType) {
57
+ innerWithLine.push(item, /*#__PURE__*/React.createElement("span", {
58
+ className: lineCls
59
+ }));
60
+ } else {
61
+ innerWithLine.push(item);
62
+ }
63
+ });
64
+
65
+ innerWithLine.push(_sliceInstanceProperty(inner).call(inner, -1));
66
+ return innerWithLine;
67
+ } else {
68
+ return inner;
69
+ }
70
+ }
71
+
27
72
  render() {
28
73
  const _a = this.props,
29
74
  {
@@ -37,25 +82,27 @@ export default class ButtonGroup extends BaseComponent {
37
82
  rest = __rest(_a, ["children", "disabled", "size", "type", "className", 'aria-label']);
38
83
 
39
84
  let inner;
85
+ let innerWithLine = [];
40
86
  const cls = classNames("".concat(prefixCls, "-group"), className);
41
87
 
42
88
  if (children) {
43
- var _context;
89
+ var _context4;
44
90
 
45
- inner = _mapInstanceProperty(_context = _Array$isArray(children) ? children : [children]).call(_context, (itm, index) => /*#__PURE__*/isValidElement(itm) ? /*#__PURE__*/cloneElement(itm, _Object$assign(_Object$assign(_Object$assign({
91
+ inner = _mapInstanceProperty(_context4 = _Array$isArray(children) ? children : [children]).call(_context4, (itm, index) => /*#__PURE__*/isValidElement(itm) ? /*#__PURE__*/cloneElement(itm, _Object$assign(_Object$assign(_Object$assign({
46
92
  disabled,
47
93
  size,
48
94
  type
49
95
  }, itm.props), rest), {
50
96
  key: index
51
97
  })) : itm);
98
+ innerWithLine = this.getInnerWithLine(inner);
52
99
  }
53
100
 
54
101
  return /*#__PURE__*/React.createElement("div", {
55
102
  className: cls,
56
103
  role: "group",
57
104
  "aria-label": ariaLabel
58
- }, inner);
105
+ }, innerWithLine);
59
106
  }
60
107
 
61
108
  }
@@ -31,6 +31,7 @@ declare class Button extends React.PureComponent<ButtonProps> {
31
31
  htmlType: import("prop-types").Requireable<"button" | "reset" | "submit">;
32
32
  'aria-label': import("prop-types").Requireable<string>;
33
33
  };
34
+ static elementType: string;
34
35
  constructor(props?: {});
35
36
  render(): JSX.Element;
36
37
  }
@@ -26,4 +26,5 @@ class Button extends React.PureComponent {
26
26
  }
27
27
 
28
28
  Button.propTypes = _Object$assign(_Object$assign({}, BaseButton.propTypes), IconButton.propTypes);
29
+ Button.elementType = 'Button';
29
30
  export default Button;
@@ -8,7 +8,7 @@ declare class CarouselIndicator extends React.PureComponent<CarouselIndicatorPro
8
8
  position: PropTypes.Requireable<"left" | "right" | "center">;
9
9
  size: PropTypes.Requireable<"small" | "medium">;
10
10
  style: PropTypes.Requireable<object>;
11
- theme: PropTypes.Requireable<"primary" | "dark" | "light">;
11
+ theme: PropTypes.Requireable<"dark" | "light" | "primary">;
12
12
  total: PropTypes.Requireable<number>;
13
13
  onIndicatorChange: PropTypes.Requireable<(...args: any[]) => any>;
14
14
  type: PropTypes.Requireable<"line" | "dot" | "columnar">;
@@ -22,7 +22,7 @@ declare class Carousel extends BaseComponent<CarouselProps, CarouselState> {
22
22
  indicatorPosition: PropTypes.Requireable<"left" | "right" | "center">;
23
23
  indicatorSize: PropTypes.Requireable<"small" | "medium">;
24
24
  indicatorType: PropTypes.Requireable<"line" | "dot" | "columnar">;
25
- theme: PropTypes.Requireable<"primary" | "dark" | "light">;
25
+ theme: PropTypes.Requireable<"dark" | "light" | "primary">;
26
26
  onChange: PropTypes.Requireable<(...args: any[]) => any>;
27
27
  arrowType: PropTypes.Requireable<"hover" | "always">;
28
28
  showArrow: PropTypes.Requireable<boolean>;
@@ -187,23 +187,15 @@ class Checkbox extends BaseComponent {
187
187
  const name = inGroup && this.context.checkboxGroup.name;
188
188
  const xSemiPropChildren = this.props['x-semi-children-alias'] || 'children';
189
189
 
190
- const renderContent = () => {
191
- if (!children && !extra) {
192
- return null;
193
- }
194
-
195
- return /*#__PURE__*/React.createElement("div", {
196
- className: "".concat(prefix, "-content")
197
- }, children ? /*#__PURE__*/React.createElement("span", {
198
- id: addonId,
199
- className: "".concat(prefix, "-addon"),
200
- "x-semi-prop": xSemiPropChildren
201
- }, children) : null, extra ? /*#__PURE__*/React.createElement("div", {
202
- id: extraId,
203
- className: extraCls,
204
- "x-semi-prop": "extra"
205
- }, extra) : null);
206
- };
190
+ const renderContent = () => /*#__PURE__*/React.createElement(React.Fragment, null, children ? /*#__PURE__*/React.createElement("span", {
191
+ id: addonId,
192
+ className: "".concat(prefix, "-addon"),
193
+ "x-semi-prop": xSemiPropChildren
194
+ }, children) : null, extra ? /*#__PURE__*/React.createElement("div", {
195
+ id: extraId,
196
+ className: extraCls,
197
+ "x-semi-prop": "extra"
198
+ }, extra) : null);
207
199
 
208
200
  return (
209
201
  /*#__PURE__*/
@@ -229,7 +221,7 @@ class Checkbox extends BaseComponent {
229
221
  focusInner: focusVisible && !focusOuter,
230
222
  onInputFocus: this.handleFocusVisible,
231
223
  onInputBlur: this.handleBlur
232
- })), renderContent())
224
+ })), props.isCardType ? /*#__PURE__*/React.createElement("div", null, renderContent()) : renderContent())
233
225
  );
234
226
  }
235
227
 
@@ -26,7 +26,7 @@ export default class DateInput extends BaseComponent<DateInputProps, {}> {
26
26
  onFocus: PropTypes.Requireable<(...args: any[]) => any>;
27
27
  value: PropTypes.Requireable<any[]>;
28
28
  disabled: PropTypes.Requireable<boolean>;
29
- type: PropTypes.Requireable<"dateTime" | "date" | "month" | "dateRange" | "year" | "dateTimeRange">;
29
+ type: PropTypes.Requireable<"date" | "month" | "dateTime" | "dateRange" | "year" | "dateTimeRange">;
30
30
  showClear: PropTypes.Requireable<boolean>;
31
31
  format: PropTypes.Requireable<string>;
32
32
  inputStyle: PropTypes.Requireable<object>;
@@ -41,7 +41,7 @@ export default class DatePicker extends BaseComponent<DatePickerProps, DatePicke
41
41
  'aria-invalid': PropTypes.Requireable<boolean>;
42
42
  'aria-labelledby': PropTypes.Requireable<string>;
43
43
  'aria-required': PropTypes.Requireable<boolean>;
44
- type: PropTypes.Requireable<"dateTime" | "date" | "month" | "dateRange" | "year" | "dateTimeRange">;
44
+ type: PropTypes.Requireable<"date" | "month" | "dateTime" | "dateRange" | "year" | "dateTimeRange">;
45
45
  size: PropTypes.Requireable<"default" | "small" | "large">;
46
46
  density: PropTypes.Requireable<"default" | "compact">;
47
47
  defaultValue: PropTypes.Requireable<string | number | object>;
@@ -17,7 +17,7 @@ export interface MonthsGridProps extends MonthsGridFoundationProps, BaseProps {
17
17
  export declare type MonthsGridState = MonthsGridFoundationState;
18
18
  export default class MonthsGrid extends BaseComponent<MonthsGridProps, MonthsGridState> {
19
19
  static propTypes: {
20
- type: PropTypes.Requireable<"dateTime" | "date" | "month" | "dateRange" | "year" | "dateTimeRange">;
20
+ type: PropTypes.Requireable<"date" | "month" | "dateTime" | "dateRange" | "year" | "dateTimeRange">;
21
21
  defaultValue: PropTypes.Requireable<string | number | object>;
22
22
  defaultPickerValue: PropTypes.Requireable<string | number | object>;
23
23
  multiple: PropTypes.Requireable<boolean>;
@@ -81,7 +81,7 @@ declare class Radio extends BaseComponent<RadioProps, RadioState> {
81
81
  prefixCls?: string;
82
82
  name?: string;
83
83
  onChange?: (e: RadioChangeEvent) => void;
84
- buttonSize?: "small" | "middle" | "large";
84
+ buttonSize?: "small" | "large" | "middle";
85
85
  isCardRadio?: boolean;
86
86
  isPureCardRadio?: boolean;
87
87
  };
@@ -203,16 +203,26 @@ class Radio extends BaseComponent {
203
203
  ["".concat(prefix, "-focus")]: focusVisible && isButtonRadio
204
204
  }, addonClassName);
205
205
 
206
- const renderContent = () => /*#__PURE__*/React.createElement(React.Fragment, null, children ? /*#__PURE__*/React.createElement("span", {
207
- className: addonCls,
208
- style: addonStyle,
209
- id: addonId,
210
- "x-semi-prop": "children"
211
- }, children) : null, extra && !isButtonRadio ? /*#__PURE__*/React.createElement("div", {
212
- className: "".concat(prefix, "-extra"),
213
- id: extraId,
214
- "x-semi-prop": "extra"
215
- }, extra) : null);
206
+ const renderContent = () => {
207
+ if (!children && !extra) {
208
+ return null;
209
+ }
210
+
211
+ return /*#__PURE__*/React.createElement("div", {
212
+ className: cls(["".concat(prefix, "-content"), {
213
+ ["".concat(prefix, "-isCardRadioGroup_content")]: isCardRadioGroup
214
+ }])
215
+ }, children ? /*#__PURE__*/React.createElement("span", {
216
+ className: addonCls,
217
+ style: addonStyle,
218
+ id: addonId,
219
+ "x-semi-prop": "children"
220
+ }, children) : null, extra && !isButtonRadio ? /*#__PURE__*/React.createElement("div", {
221
+ className: "".concat(prefix, "-extra"),
222
+ id: extraId,
223
+ "x-semi-prop": "extra"
224
+ }, extra) : null);
225
+ };
216
226
 
217
227
  return /*#__PURE__*/React.createElement("label", {
218
228
  style: style,
@@ -233,9 +243,7 @@ class Radio extends BaseComponent {
233
243
  focusInner: focusVisible && !focusOuter,
234
244
  onInputFocus: this.handleFocusVisible,
235
245
  onInputBlur: this.handleBlur
236
- })), isCardRadioGroup ? /*#__PURE__*/React.createElement("div", {
237
- className: "".concat(prefix, "-isCardRadioGroup_content")
238
- }, renderContent()) : renderContent());
246
+ })), renderContent());
239
247
  }
240
248
 
241
249
  }