shineout 3.8.0-beta.9 → 3.8.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/README-zh_CN.md +1 -1
  2. package/README.md +1 -1
  3. package/cjs/breadcrumb/breadcrumb.js +2 -1
  4. package/cjs/cascader/cascader.d.ts +4 -1
  5. package/cjs/cascader/cascader.js +1 -0
  6. package/cjs/checkbox/checkbox.js +1 -0
  7. package/cjs/checkbox/group.js +3 -2
  8. package/cjs/date-picker/date-picker.js +3 -2
  9. package/cjs/editable-area/editable-area.js +1 -0
  10. package/cjs/empty/empty.type.d.ts +15 -1
  11. package/cjs/form/form.type.d.ts +31 -4
  12. package/cjs/index.js +1 -1
  13. package/cjs/input/input.js +1 -0
  14. package/cjs/input/number.js +1 -0
  15. package/cjs/input/password.js +1 -0
  16. package/cjs/radio/group.js +3 -2
  17. package/cjs/rate/rate.js +5 -4
  18. package/cjs/select/select.d.ts +3 -3
  19. package/cjs/select/select.js +5 -4
  20. package/cjs/slider/slider.js +1 -0
  21. package/cjs/switch/switch.js +3 -2
  22. package/cjs/textarea/textarea.js +3 -2
  23. package/cjs/tree-select/tree-select.js +1 -0
  24. package/cjs/upload/button.js +1 -0
  25. package/cjs/upload/image.js +1 -0
  26. package/cjs/upload/upload.js +1 -0
  27. package/dist/shineout.js +2013 -708
  28. package/dist/shineout.js.map +1 -1
  29. package/dist/shineout.min.js +1 -1
  30. package/dist/shineout.min.js.map +1 -1
  31. package/esm/breadcrumb/breadcrumb.js +3 -2
  32. package/esm/cascader/cascader.d.ts +4 -1
  33. package/esm/cascader/cascader.js +1 -0
  34. package/esm/checkbox/checkbox.js +1 -0
  35. package/esm/checkbox/group.js +3 -2
  36. package/esm/date-picker/date-picker.js +5 -4
  37. package/esm/editable-area/editable-area.js +1 -0
  38. package/esm/empty/empty.type.d.ts +15 -1
  39. package/esm/form/form.type.d.ts +31 -4
  40. package/esm/index.js +1 -1
  41. package/esm/input/input.js +1 -0
  42. package/esm/input/number.js +1 -0
  43. package/esm/input/password.js +1 -0
  44. package/esm/radio/group.js +3 -2
  45. package/esm/rate/rate.js +5 -4
  46. package/esm/select/select.d.ts +3 -3
  47. package/esm/select/select.js +5 -4
  48. package/esm/slider/slider.js +1 -0
  49. package/esm/switch/switch.js +3 -2
  50. package/esm/textarea/textarea.js +3 -2
  51. package/esm/tree-select/tree-select.js +1 -0
  52. package/esm/upload/button.js +1 -0
  53. package/esm/upload/image.js +1 -0
  54. package/esm/upload/upload.js +1 -0
  55. package/package.json +10 -10
package/README-zh_CN.md CHANGED
@@ -11,7 +11,7 @@
11
11
  <p align="center">
12
12
  <a href="https://www.npmjs.com/package/shineout"><img src="https://img.shields.io/npm/v/shineout.svg?style=flat-square"></a>
13
13
  <a href="https://www.npmjs.com/package/shineout"><img src="https://img.shields.io/npm/dm/shineout.svg?style=flat-square"></a>
14
- <img src="https://img.shields.io/badge/React-%3E%3D16.8.0-green.svg?style=flat-square">
14
+ <img src="https://img.shields.io/badge/React-%3E%3D16.14.0-green.svg?style=flat-square">
15
15
  </p>
16
16
 
17
17
  ## ✨ 特性
package/README.md CHANGED
@@ -11,7 +11,7 @@ English | [简体中文](./README-zh_CN.md)
11
11
  <p align="center">
12
12
  <a href="https://www.npmjs.com/package/shineout"><img src="https://img.shields.io/npm/v/shineout.svg?style=flat-square"></a>
13
13
  <a href="https://www.npmjs.com/package/shineout"><img src="https://img.shields.io/npm/dm/shineout.svg?style=flat-square"></a>
14
- <img src="https://img.shields.io/badge/React-%3E%3D16.8.0-green.svg?style=flat-square">
14
+ <img src="https://img.shields.io/badge/React-%3E%3D16.14.0-green.svg?style=flat-square">
15
15
  </p>
16
16
 
17
17
  ## ✨ Features
@@ -17,7 +17,8 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
17
17
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
18
18
  var jssStyle = {
19
19
  breadcrumb: _shineoutStyle.useBreadcrumbStyle,
20
- popover: _shineoutStyle.usePopoverStyle
20
+ popover: _shineoutStyle.usePopoverStyle,
21
+ tooltip: _shineoutStyle.useTooltipStyle
21
22
  };
22
23
  var _default = exports.default = function _default(props) {
23
24
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_base.Breadcrumb, _objectSpread({
@@ -1,4 +1,7 @@
1
1
  import { KeygenResult } from '@sheinx/hooks';
2
2
  import { CascaderProps } from './cascader.type';
3
- declare const _default: <DataItem, Value extends KeygenResult[]>(props: CascaderProps<DataItem, Value>) => import("react/jsx-runtime").JSX.Element;
3
+ declare const _default: {
4
+ <DataItem, Value extends KeygenResult[]>(props: CascaderProps<DataItem, Value>): import("react/jsx-runtime").JSX.Element;
5
+ displayName: string;
6
+ };
4
7
  export default _default;
@@ -34,6 +34,7 @@ var Cascader = function Cascader(props) {
34
34
  jssStyle: jssStyle
35
35
  }));
36
36
  };
37
+ Cascader.displayName = 'ShineoutCascader';
37
38
  var _default = exports.default = /*#__PURE__*/(0, _react.memo)(function (props) {
38
39
  return (0, _useFieldCommon.default)(props, Cascader, 'array');
39
40
  });
@@ -25,6 +25,7 @@ var BaseCheckbox = function BaseCheckbox(props) {
25
25
  jssStyle: jssStyle
26
26
  }));
27
27
  };
28
+ BaseCheckbox.displayName = 'ShineoutCheckbox';
28
29
  var Checkbox = function Checkbox(props) {
29
30
  return (0, _useFieldCommon.default)(props, BaseCheckbox);
30
31
  };
@@ -19,12 +19,13 @@ var jssStyle = {
19
19
  checkbox: _shineoutStyle.useCheckboxStyle,
20
20
  input: _shineoutStyle.useInputStyle
21
21
  };
22
- var BaseCheckboxGroup = function BaseCheckboxGroup(props) {
22
+ var CheckboxGroup = function CheckboxGroup(props) {
23
23
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_base.CheckboxGroup, _objectSpread(_objectSpread({}, props), {}, {
24
24
  jssStyle: jssStyle
25
25
  }));
26
26
  };
27
+ CheckboxGroup.displayName = 'ShineoutCheckboxGroup';
27
28
  var CheckboxGroupWithField = function CheckboxGroupWithField(props) {
28
- return (0, _useFieldCommon.default)(props, BaseCheckboxGroup, 'array');
29
+ return (0, _useFieldCommon.default)(props, CheckboxGroup, 'array');
29
30
  };
30
31
  var _default = exports.default = CheckboxGroupWithField;
@@ -24,11 +24,12 @@ var jssStyle = {
24
24
  popover: _shineoutStyle.usePopoverStyle,
25
25
  link: _shineoutStyle.useLinkStyle
26
26
  };
27
- var BaseDatePicker = function BaseDatePicker(props) {
27
+ var DatePicker = function DatePicker(props) {
28
28
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_base.DatePicker, _objectSpread({
29
29
  jssStyle: jssStyle
30
30
  }, props));
31
31
  };
32
+ DatePicker.displayName = 'ShineoutDatePicker';
32
33
  var _default = exports.default = function _default(props) {
33
34
  var _useConfig = (0, _base.useConfig)(),
34
35
  locale = _useConfig.locale;
@@ -55,5 +56,5 @@ var _default = exports.default = function _default(props) {
55
56
  }, []);
56
57
  return (0, _useFieldCommon.default)(_objectSpread(_objectSpread({}, props), {}, {
57
58
  defaultValue: defaultValue
58
- }), BaseDatePicker);
59
+ }), DatePicker);
59
60
  };
@@ -25,6 +25,7 @@ var EditableArea = function EditableArea(props) {
25
25
  jssStyle: jssStyle
26
26
  }, props));
27
27
  };
28
+ EditableArea.displayName = 'ShineoutEditableArea';
28
29
  var _default = exports.default = function _default(props) {
29
30
  return (0, _useFieldCommon.default)(props, EditableArea);
30
31
  };
@@ -1,5 +1,19 @@
1
+ /// <reference types="react" />
1
2
  import { EmptyProps as UnStyledEmptyProps } from '@sheinx/base';
2
3
  /**
3
4
  * @title Empty
4
5
  */
5
- export type EmptyProps = Omit<UnStyledEmptyProps, 'jssStyle'>;
6
+ export interface EmptyProps extends Omit<UnStyledEmptyProps, 'jssStyle' | 'icon' | 'description'> {
7
+ /**
8
+ * @en Empty state icon. Enhanced in v3.8.0 to support global configuration via setConfig
9
+ * @cn 空状态图标。3.8.0版本增强,支持通过setConfig进行全局配置
10
+ * @version 3.8.0
11
+ */
12
+ icon?: React.ReactNode;
13
+ /**
14
+ * @en Description, if false, the description will not be displayed. Enhanced in v3.8.0 to support global configuration via setConfig
15
+ * @cn 描述,若为false则不显示描述。3.8.0版本增强,支持通过setConfig进行全局配置
16
+ * @version 3.8.0
17
+ */
18
+ description?: React.ReactNode | boolean;
19
+ }
@@ -1,12 +1,17 @@
1
1
  import { FormFieldProps as UiFormFieldProps, FormFieldSetProps as UiFormFieldSetProps, FormItemProps as UiFormItemProps, FormProps as UiFormProps, ObjectType, FormFlowProps as UiFormFlowProps, FormRef as UiFormRef, FormDatum as UiFormDatum } from '@sheinx/base';
2
+ import { ButtonProps } from '../button/button.type';
2
3
  /**
3
4
  * @title FormRef
4
5
  * @sort 6
6
+ * @en Form reference object that provides a series of methods to operate the form. After obtaining the instance through ref or useForm, you can actively control the form's validation, submission, reset and other behaviors
7
+ * @cn 表单引用对象,提供了一系列操作表单的方法。通过 ref 或 useForm 获取实例后,可以主动控制表单的校验、提交、重置等行为
5
8
  */
6
9
  export type FormRef<T> = UiFormRef<T>;
7
10
  /**
8
11
  * @title FormDatum
9
12
  * @sort 7
13
+ * @en Form data management object, used to manage the internal data state and validation logic of the form
14
+ * @cn 表单数据管理对象,用于管理表单内部的数据状态和校验逻辑
10
15
  */
11
16
  export type FormDatum = UiFormDatum;
12
17
  /**
@@ -15,34 +20,56 @@ export type FormDatum = UiFormDatum;
15
20
  */
16
21
  export interface FormProps<T extends ObjectType> extends Omit<UiFormProps<T>, 'jssStyle'> {
17
22
  /**
18
- * @en Form value
19
- * @cn 表单数据
23
+ * @en When set, the form becomes a controlled component and needs to be used with onChange. Suitable for scenarios where external management of form state is required, such as sharing form data across components, real-time synchronization of form data to state managers, etc.
24
+ * @cn 设置后表单变为受控组件,需要配合 onChange 使用。适用于需要外部管理表单状态的场景,如跨组件共享表单数据、实时同步表单数据到状态管理器等
20
25
  * @override object
21
26
  */
22
27
  value?: T;
23
28
  /**
24
- * @en callback function, executed when the value is changing
25
- * @cn 表单内组件值变化函数
29
+ * @en Must be set in controlled mode to update external state. Triggered whenever any field value in the form changes, with the parameter being the latest data of the entire form
30
+ * @cn 在受控模式下必须设置此函数来更新外部状态。每当表单内任意字段值改变时都会触发,参数为整个表单的最新数据
26
31
  */
27
32
  onChange?: (value: T) => void;
28
33
  }
29
34
  /**
30
35
  * @title Form.Item
31
36
  * @sort 2
37
+ * @en Form item component, used to wrap form controls and provide label, error tips and other functions. Each form control should be wrapped with Form.Item to properly display labels and validation information
38
+ * @cn 表单项组件,用于包装表单控件并提供标签、错误提示等功能。每个表单控件都应该被 Form.Item 包裹,以便正确显示标签和校验信息
32
39
  */
33
40
  export type FormItemProps = Omit<UiFormItemProps, 'jssStyle'>;
34
41
  /**
35
42
  * @title Form.Field
36
43
  * @sort 3
44
+ * @en Form field component for creating custom form controls. Provides form data binding, validation and other functions, suitable for encapsulating complex custom form components
45
+ * @cn 表单字段组件,用于创建自定义的表单控件。提供了表单数据绑定、校验等功能,适用于封装复杂的自定义表单组件
37
46
  */
38
47
  export type FormFieldProps<T> = UiFormFieldProps<T>;
39
48
  /**
40
49
  * @title Form.FieldSet
41
50
  * @sort 4
51
+ * @en Form field set component for managing a group of related form fields. Suitable for handling object or array type form data, such as dynamic form lists, nested objects and other complex scenarios
52
+ * @cn 表单字段集组件,用于管理一组相关的表单字段。适用于处理对象或数组类型的表单数据,如动态表单列表、嵌套对象等复杂场景
42
53
  */
43
54
  export type FormFieldSetProps<T> = UiFormFieldSetProps<T>;
44
55
  /**
45
56
  * @title Form.Flow
46
57
  * @sort 5
58
+ * @en Form flow component for listening to form data changes and executing corresponding side effects. Suitable for implementing form linkage, conditional rendering and other scenarios
59
+ * @cn 表单流程组件,用于监听表单数据变化并执行相应的副作用。适用于实现表单联动、条件渲染等场景
47
60
  */
48
61
  export type FormFlowProps = UiFormFlowProps;
62
+ /**
63
+ * @title Form.Button
64
+ * @sort 8
65
+ * @en Form button component with htmlType='button'. Prevents accidental form submission when users press Enter in form inputs. Users must explicitly click the button to submit the form. Internally calls formFunc.submit() for better control over submission logic
66
+ * @cn 表单按钮组件,htmlType='button'。防止用户在表单输入框中按回车键时意外提交表单。用户必须显式点击按钮才能提交表单。内部调用 formFunc.submit() 以更好地控制提交逻辑
67
+ */
68
+ export type FormButtonProps = ButtonProps;
69
+ /**
70
+ * @title Form.Submit
71
+ * @sort 9
72
+ * @en Form submit button component with htmlType='submit'. Uses native browser submit behavior. When users press Enter in any form input, it will trigger this button automatically. Suitable for simple forms where Enter-to-submit behavior is desired
73
+ * @cn 表单提交按钮组件,htmlType='submit'。使用浏览器原生提交行为。当用户在任何表单输入框中按回车键时,会自动触发此按钮。适用于希望支持回车提交的简单表单
74
+ */
75
+ export type FormSubmitProps = ButtonProps;
package/cjs/index.js CHANGED
@@ -522,5 +522,5 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
522
522
  // 此文件由脚本自动生成,请勿直接修改。
523
523
  // This file was generated automatically by a script. Please do not modify it directly.
524
524
  var _default = exports.default = {
525
- version: '3.8.0-beta.9'
525
+ version: '3.8.0'
526
526
  };
@@ -28,6 +28,7 @@ var Input = function Input(props) {
28
28
  jssStyle: jssStyle
29
29
  }));
30
30
  };
31
+ Input.displayName = 'ShineoutInput';
31
32
  var _default = exports.default = /*#__PURE__*/(0, _react.memo)(function (props) {
32
33
  return (0, _useFieldCommon.default)(props, Input);
33
34
  });
@@ -26,6 +26,7 @@ var InputNumber = function InputNumber(props) {
26
26
  jssStyle: jssStyle
27
27
  }));
28
28
  };
29
+ InputNumber.displayName = 'ShineoutInputNumber';
29
30
  var _default = exports.default = function _default(props) {
30
31
  return (0, _useFieldCommon.default)(props, InputNumber, 'number');
31
32
  };
@@ -25,6 +25,7 @@ var InputPassword = function InputPassword(props) {
25
25
  jssStyle: jssStyle
26
26
  }));
27
27
  };
28
+ InputPassword.displayName = 'ShineoutInputPassword';
28
29
  var _default = exports.default = function _default(props) {
29
30
  return (0, _useFieldCommon.default)(props, InputPassword);
30
31
  };
@@ -19,12 +19,13 @@ var jssStyle = {
19
19
  radio: _shineoutStyle.useRadioStyle,
20
20
  button: _shineoutStyle.useButtonStyle
21
21
  };
22
- var BaseRadioGroup = function BaseRadioGroup(props) {
22
+ var RadioGroup = function RadioGroup(props) {
23
23
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_base.RadioGroup, _objectSpread(_objectSpread({}, props), {}, {
24
24
  jssStyle: jssStyle
25
25
  }));
26
26
  };
27
+ RadioGroup.displayName = 'ShineoutRadioGroup';
27
28
  var RadioGroupWithField = function RadioGroupWithField(props) {
28
- return (0, _useFieldCommon.default)(props, BaseRadioGroup, 'array');
29
+ return (0, _useFieldCommon.default)(props, RadioGroup, 'array');
29
30
  };
30
31
  var _default = exports.default = RadioGroupWithField;
package/cjs/rate/rate.js CHANGED
@@ -18,17 +18,18 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
18
18
  var jssStyle = {
19
19
  rate: _shineoutStyle.useRateStyle
20
20
  };
21
- var BaseRate = function BaseRate(props) {
21
+ var Rate = function Rate(props) {
22
22
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_base.Rate, _objectSpread({
23
23
  jssStyle: jssStyle
24
24
  }, props));
25
25
  };
26
- var Rate = function Rate(props) {
27
- return (0, _useFieldCommon.default)(props, BaseRate, 'number');
26
+ Rate.displayName = 'ShineoutRate';
27
+ var WrappedRate = function WrappedRate(props) {
28
+ return (0, _useFieldCommon.default)(props, Rate, 'number');
28
29
  };
29
30
  var _default = exports.default = function _default(background, front, opts) {
30
31
  var RateIns = function RateIns(props) {
31
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(Rate, _objectSpread(_objectSpread({}, opts), {}, {
32
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(WrappedRate, _objectSpread(_objectSpread({}, opts), {}, {
32
33
  background: background,
33
34
  front: front || background
34
35
  }, props));
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
2
  import { SelectPropsA, SelectPropsB } from './select.type';
3
- declare function Select<DataItem, Value>(props: SelectPropsA<DataItem, Value>): JSX.Element;
4
- declare function Select<DataItem, Value>(props: SelectPropsB<DataItem, Value>): JSX.Element;
5
- export default Select;
3
+ declare function SelectComponent<DataItem, Value>(props: SelectPropsA<DataItem, Value>): JSX.Element;
4
+ declare function SelectComponent<DataItem, Value>(props: SelectPropsB<DataItem, Value>): JSX.Element;
5
+ export default SelectComponent;
@@ -27,12 +27,13 @@ var jssStyle = {
27
27
  spin: _shineoutStyle.useSpinStyle,
28
28
  common: _shineoutStyle.useCommonStyle
29
29
  };
30
- function SelectComponent(props) {
30
+ function Select(props) {
31
31
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_base.Select, _objectSpread({
32
32
  jssStyle: jssStyle
33
33
  }, props));
34
34
  }
35
- function Select(props) {
36
- return (0, _useFieldCommon.default)(props, SelectComponent, 'array');
35
+ Select.displayName = 'ShineoutSelect';
36
+ function SelectComponent(props) {
37
+ return (0, _useFieldCommon.default)(props, Select, 'array');
37
38
  }
38
- var _default = exports.default = Select;
39
+ var _default = exports.default = SelectComponent;
@@ -24,6 +24,7 @@ var BaseSlider = function BaseSlider(props) {
24
24
  jssStyle: jssStyle
25
25
  }, props));
26
26
  };
27
+ BaseSlider.displayName = 'ShineoutSlider';
27
28
  var _default = exports.default = function _default(props) {
28
29
  return (0, _useFieldCommon.default)(props, BaseSlider, 'number');
29
30
  };
@@ -18,11 +18,12 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
18
18
  var jssStyle = {
19
19
  switch: _shineoutStyle.useSwitchStyle
20
20
  };
21
- var BaseSwitch = function BaseSwitch(props) {
21
+ var Switch = function Switch(props) {
22
22
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_base.Switch, _objectSpread({
23
23
  jssStyle: jssStyle
24
24
  }, props));
25
25
  };
26
+ Switch.displayName = 'ShineoutSwitch';
26
27
  var _default = exports.default = function _default(props) {
27
- return (0, _useFieldCommon.default)(props, BaseSwitch);
28
+ return (0, _useFieldCommon.default)(props, Switch);
28
29
  };
@@ -20,11 +20,12 @@ var jssStyle = {
20
20
  popover: _shineoutStyle.usePopoverStyle,
21
21
  innerTitle: _shineoutStyle.useInnerTitleStyle
22
22
  };
23
- var BaseTextarea = function BaseTextarea(props) {
23
+ var Textarea = function Textarea(props) {
24
24
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_base.Textarea, _objectSpread(_objectSpread({}, props), {}, {
25
25
  jssStyle: jssStyle
26
26
  }));
27
27
  };
28
+ Textarea.displayName = 'ShineoutTextarea';
28
29
  var _default = exports.default = function _default(props) {
29
- return (0, _useFieldCommon.default)(props, BaseTextarea);
30
+ return (0, _useFieldCommon.default)(props, Textarea);
30
31
  };
@@ -34,6 +34,7 @@ var TreeSelectComponent = function TreeSelectComponent(props) {
34
34
  jssStyle: jssStyle
35
35
  }, props));
36
36
  };
37
+ TreeSelectComponent.displayName = 'ShineoutTreeSelect';
37
38
  var TreeSelect = function TreeSelect(props) {
38
39
  return (0, _useFieldCommon.default)(props, TreeSelectComponent, 'array');
39
40
  };
@@ -29,6 +29,7 @@ var BaseUploadButton = function BaseUploadButton(props) {
29
29
  jssStyle: jssStyle
30
30
  }, props));
31
31
  };
32
+ BaseUploadButton.displayName = 'ShineoutUploadButton';
32
33
  var _default = exports.default = function _default(props) {
33
34
  var customProps = (0, _useUploadCommon.default)({
34
35
  rules: props.rules
@@ -29,6 +29,7 @@ var BaseUploadImage = function BaseUploadImage(props) {
29
29
  jssStyle: jssStyle
30
30
  }, props));
31
31
  };
32
+ BaseUploadImage.displayName = 'ShineoutUploadImage';
32
33
  var _default = exports.default = function _default(props) {
33
34
  var customProps = (0, _useUploadCommon.default)({
34
35
  rules: props.rules
@@ -29,6 +29,7 @@ var BaseUpload = function BaseUpload(props) {
29
29
  jssStyle: jssStyle
30
30
  }, props));
31
31
  };
32
+ BaseUpload.displayName = 'ShineoutUpload';
32
33
  var _default = exports.default = function _default(props) {
33
34
  var customProps = (0, _useUploadCommon.default)({
34
35
  rules: props.rules