@nutui/nutui-react 2.0.0-alpha.0 → 2.0.0-alpha.1

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.
package/dist/esm/Audio.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
3
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
4
- var _excluded = ["className", "url", "style", "muted", "autoplay", "loop", "preload", "type", "onFastBack", "onForward", "onPause", "onPlayEnd", "onMute", "onCanPlay", "children"];
4
+ var _excluded = ["className", "src", "style", "muted", "autoplay", "loop", "preload", "type", "onBack", "onForward", "onPause", "onEnd", "onMute", "onCanPlay", "children"];
5
5
  function ownKeys(object, enumerableOnly) {
6
6
  var keys = Object.keys(object);
7
7
  if (Object.getOwnPropertySymbols) {
@@ -25,28 +25,25 @@ function _objectSpread(target) {
25
25
  }
26
26
  import React__default, { useState, useRef, useEffect } from "react";
27
27
  import { Service } from "@nutui/icons-react";
28
+ import classNames from "classnames";
28
29
  import Range from "./Range.js";
29
- import { c as cn } from "./bem.js";
30
30
  import Button from "./Button.js";
31
31
  import { useConfig } from "./ConfigProvider.js";
32
32
  import { C as ComponentDefaults } from "./typings.js";
33
- import "@bem-react/classname";
34
33
  var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
35
- className: "",
36
- url: "",
37
- style: {},
34
+ src: "",
38
35
  muted: false,
39
36
  autoplay: false,
40
37
  loop: false,
41
38
  preload: "auto",
42
39
  type: "progress",
43
- onFastBack: function onFastBack(e) {
40
+ onBack: function onBack(e) {
44
41
  },
45
42
  onForward: function onForward(e) {
46
43
  },
47
44
  onPause: function onPause(e) {
48
45
  },
49
- onPlayEnd: function onPlayEnd(e) {
46
+ onEnd: function onEnd(e) {
50
47
  },
51
48
  onMute: function onMute(e) {
52
49
  },
@@ -55,7 +52,7 @@ var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
55
52
  });
56
53
  var Audio = function Audio2(props) {
57
54
  var _useConfig = useConfig(), locale = _useConfig.locale;
58
- var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props), className = _defaultProps$props.className, url = _defaultProps$props.url, style = _defaultProps$props.style, muted = _defaultProps$props.muted, autoplay = _defaultProps$props.autoplay, loop = _defaultProps$props.loop, preload = _defaultProps$props.preload, type = _defaultProps$props.type, onFastBack2 = _defaultProps$props.onFastBack, onForward2 = _defaultProps$props.onForward, onPause2 = _defaultProps$props.onPause, onPlayEnd2 = _defaultProps$props.onPlayEnd, onMute2 = _defaultProps$props.onMute, onCanPlay2 = _defaultProps$props.onCanPlay, children = _defaultProps$props.children, rest = _objectWithoutProperties(_defaultProps$props, _excluded);
55
+ var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props), className = _defaultProps$props.className, src = _defaultProps$props.src, style = _defaultProps$props.style, muted = _defaultProps$props.muted, autoplay = _defaultProps$props.autoplay, loop = _defaultProps$props.loop, preload = _defaultProps$props.preload, type = _defaultProps$props.type, onBack2 = _defaultProps$props.onBack, onForward2 = _defaultProps$props.onForward, onPause2 = _defaultProps$props.onPause, onEnd2 = _defaultProps$props.onEnd, onMute2 = _defaultProps$props.onMute, onCanPlay2 = _defaultProps$props.onCanPlay, children = _defaultProps$props.children, rest = _objectWithoutProperties(_defaultProps$props, _excluded);
59
56
  var _useState = useState(false), _useState2 = _slicedToArray(_useState, 2), playing = _useState2[0], setPlaying = _useState2[1];
60
57
  var _useState3 = useState(0), _useState4 = _slicedToArray(_useState3, 2), percent = _useState4[0], setPercent = _useState4[1];
61
58
  var _useState5 = useState(false), _useState6 = _slicedToArray(_useState5, 2), isCanPlay = _useState6[0], setIsCanPlay = _useState6[1];
@@ -71,13 +68,13 @@ var Audio = function Audio2(props) {
71
68
  playing: props.autoplay,
72
69
  handPlaying: false
73
70
  });
74
- var b = cn("audio");
71
+ var classPrefix = "nut-audio";
75
72
  var warn = console.warn;
76
73
  var handleEnded = function handleEnded2(e) {
77
74
  if (props.loop) {
78
75
  warn(locale.audio.tips || "onPlayEnd事件在loop=false时才会触发");
79
76
  } else {
80
- props.onPlayEnd && props.onPlayEnd(e);
77
+ props.onEnd && props.onEnd(e);
81
78
  }
82
79
  };
83
80
  function watch() {
@@ -102,20 +99,20 @@ var Audio = function Audio2(props) {
102
99
  }
103
100
  };
104
101
  var renderIcon = function renderIcon2() {
105
- return React__default.createElement(React__default.Fragment, null, React__default.createElement("div", {
106
- className: b("icon")
102
+ return React__default.createElement("div", {
103
+ className: "".concat(classPrefix, "__icon")
107
104
  }, React__default.createElement("div", {
108
- className: "".concat(b("icon-box"), " ").concat(playing ? b("icon-play") : b("icon-stop")),
105
+ className: classNames("".concat(classPrefix, "__icon-box"), playing ? "".concat(classPrefix, "__icon-play") : "".concat(classPrefix, "__icon-stop")),
109
106
  onClick: handleStatusChange
110
107
  }, React__default.createElement(Service, {
111
108
  className: playing ? "nut-icon-loading" : ""
112
- }))));
109
+ })));
113
110
  };
114
111
  var handleBack = function handleBack2() {
115
112
  if (statusRef.current.currentTime > 0 && AudioRef.current) {
116
113
  statusRef.current.currentTime--;
117
114
  AudioRef.current.currentTime = statusRef.current.currentTime;
118
- props.onFastBack && props.onFastBack(AudioRef.current);
115
+ props.onBack && props.onBack(AudioRef.current);
119
116
  }
120
117
  };
121
118
  var handleForward = function handleForward2() {
@@ -151,11 +148,11 @@ var Audio = function Audio2(props) {
151
148
  };
152
149
  var renderProgerss = function renderProgerss2() {
153
150
  return React__default.createElement(React__default.Fragment, null, React__default.createElement("div", {
154
- className: b("progress")
151
+ className: "".concat(classPrefix, "__progress")
155
152
  }, React__default.createElement("div", {
156
153
  className: "time"
157
154
  }, currentDuration), React__default.createElement("div", {
158
- className: b("progress-bar-wrapper")
155
+ className: "".concat(classPrefix, "__progress-bar-wrapper")
159
156
  }, React__default.createElement(Range, {
160
157
  modelValue: percent,
161
158
  hiddenTag: true,
@@ -188,7 +185,7 @@ var Audio = function Audio2(props) {
188
185
  };
189
186
  var renderNone = function renderNone2() {
190
187
  return React__default.createElement("div", {
191
- className: b("none-container"),
188
+ className: "".concat(classPrefix, "__none-container"),
192
189
  onClick: handleStatusChange
193
190
  }, children);
194
191
  };
@@ -223,13 +220,13 @@ var Audio = function Audio2(props) {
223
220
  statusRef.current.currentTime = time;
224
221
  };
225
222
  return React__default.createElement("div", _objectSpread({
226
- className: "".concat(b(), " ").concat(className),
223
+ className: classNames(classPrefix, className),
227
224
  style
228
225
  }, rest), renderAudio(), React__default.createElement("audio", {
229
226
  className: "audioMain",
230
227
  controls: type === "controls",
231
228
  ref: AudioRef,
232
- src: url,
229
+ src,
233
230
  muted,
234
231
  preload,
235
232
  loop,
@@ -651,7 +651,7 @@ var InternalCascader = function InternalCascader2(props, ref) {
651
651
  }))));
652
652
  };
653
653
  return React__default.createElement(React__default.Fragment, null, poppable ? React__default.createElement(Popup, {
654
- popClass: "cascadar-popup",
654
+ className: "cascadar-popup",
655
655
  visible,
656
656
  position: "bottom",
657
657
  round: true,
package/dist/esm/Col.js CHANGED
@@ -24,13 +24,14 @@ function _objectSpread(target) {
24
24
  import React__default, { useState, useContext, useEffect } from "react";
25
25
  import classNames from "classnames";
26
26
  import { D as DataContext } from "./UserContext.js";
27
- var defaultProps = {
27
+ import { C as ComponentDefaults } from "./typings.js";
28
+ var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
28
29
  span: "24",
29
30
  offset: "0",
30
31
  gutter: "0"
31
- };
32
+ });
32
33
  var Col = function Col2(props) {
33
- var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props), className = _defaultProps$props.className, _defaultProps$props$s = _defaultProps$props.style, style = _defaultProps$props$s === void 0 ? {} : _defaultProps$props$s, span = _defaultProps$props.span, offset = _defaultProps$props.offset, children = _defaultProps$props.children, _onClick = _defaultProps$props.onClick;
34
+ var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props), className = _defaultProps$props.className, style = _defaultProps$props.style, span = _defaultProps$props.span, offset = _defaultProps$props.offset, children = _defaultProps$props.children, _onClick = _defaultProps$props.onClick;
34
35
  var _useState = useState(""), _useState2 = _slicedToArray(_useState, 2), colName = _useState2[0], setColName = _useState2[1];
35
36
  var _useState3 = useState({}), _useState4 = _slicedToArray(_useState3, 2), colStyle = _useState4[0], setColStyle = _useState4[1];
36
37
  var _useContext = useContext(DataContext), gutter = _useContext.gutter;
@@ -159,7 +159,7 @@ var ImagePreview = function ImagePreview2(props) {
159
159
  };
160
160
  return React__default.createElement(Popup, {
161
161
  visible: showPop,
162
- popClass: "custom-pop",
162
+ className: "custom-pop",
163
163
  style: {
164
164
  width: "100%"
165
165
  },
@@ -165,7 +165,7 @@ var NumberKeyboard = function NumberKeyboard2(props) {
165
165
  return React__default.createElement("div", null, React__default.createElement(Popup, {
166
166
  visible: show,
167
167
  position: "bottom",
168
- popClass,
168
+ className: popClass,
169
169
  onClickOverlay: onClose2,
170
170
  overlay,
171
171
  onClickCloseIcon: onClose2,
package/dist/esm/Popup.js CHANGED
@@ -28,20 +28,17 @@ import classNames from "classnames";
28
28
  import { Close } from "@nutui/icons-react";
29
29
  import { d as defaultOverlayProps } from "./overlay2.js";
30
30
  import Overlay from "./Overlay.js";
31
- import { c as cn } from "./bem.js";
32
31
  import { C as ComponentDefaults } from "./typings.js";
33
- import "@bem-react/classname";
34
32
  var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
35
33
  position: "center",
36
34
  transition: "",
37
35
  overlayStyle: {},
38
- overlayClass: "",
39
- popClass: "",
36
+ overlayClassName: "",
40
37
  closeable: false,
41
38
  closeIconPosition: "top-right",
42
39
  closeIcon: "close",
43
- destroyOnClose: true,
44
- teleport: null,
40
+ destroyOnClose: false,
41
+ portal: null,
45
42
  overlay: true,
46
43
  round: false,
47
44
  onOpen: function onOpen() {
@@ -50,36 +47,32 @@ var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
50
47
  },
51
48
  onClick: function onClick(e) {
52
49
  },
53
- onOpened: function onOpened(e) {
54
- },
55
- onClosed: function onClosed(e) {
56
- },
57
50
  onClickOverlay: function onClickOverlay(e) {
51
+ return true;
58
52
  },
59
53
  onClickCloseIcon: function onClickCloseIcon(e) {
54
+ return true;
60
55
  }
61
56
  }, defaultOverlayProps);
62
57
  var _zIndex = 1e3;
63
58
  var Popup = function Popup2(props) {
64
- var _classNames;
65
- var children = props.children, visible = props.visible, overlay = props.overlay, closeOnOverlayClick = props.closeOnOverlayClick, overlayStyle = props.overlayStyle, overlayClass = props.overlayClass, zIndex = props.zIndex, lockScroll = props.lockScroll, duration = props.duration, closeable = props.closeable, closeIconPosition = props.closeIconPosition, closeIcon = props.closeIcon, style = props.style, transition = props.transition, round = props.round, position = props.position, popClass = props.popClass, className = props.className, destroyOnClose = props.destroyOnClose, teleport = props.teleport, onOpen2 = props.onOpen, onClose2 = props.onClose, onClickOverlay2 = props.onClickOverlay, onClickCloseIcon2 = props.onClickCloseIcon, onOpened2 = props.onOpened, onClosed2 = props.onClosed, onClick2 = props.onClick;
59
+ var _classNames, _classNames2;
60
+ var children = props.children, visible = props.visible, overlay = props.overlay, closeOnOverlayClick = props.closeOnOverlayClick, overlayStyle = props.overlayStyle, overlayClassName = props.overlayClassName, zIndex = props.zIndex, lockScroll = props.lockScroll, duration = props.duration, closeable = props.closeable, closeIconPosition = props.closeIconPosition, closeIcon = props.closeIcon, style = props.style, transition = props.transition, round = props.round, position = props.position, className = props.className, destroyOnClose = props.destroyOnClose, portal = props.portal, onOpen2 = props.onOpen, onClose2 = props.onClose, onClickOverlay2 = props.onClickOverlay, onClickCloseIcon2 = props.onClickCloseIcon, afterShow = props.afterShow, afterClose = props.afterClose, onClick2 = props.onClick;
66
61
  var _useState = useState(zIndex || _zIndex), _useState2 = _slicedToArray(_useState, 2), index = _useState2[0], setIndex = _useState2[1];
67
62
  var _useState3 = useState(visible), _useState4 = _slicedToArray(_useState3, 2), innerVisible = _useState4[0], setInnerVisible = _useState4[1];
68
63
  var _useState5 = useState(true), _useState6 = _slicedToArray(_useState5, 2), showChildren = _useState6[0], setShowChildren = _useState6[1];
69
64
  var _useState7 = useState(""), _useState8 = _slicedToArray(_useState7, 2), transitionName = _useState8[0], setTransitionName = _useState8[1];
70
- var b = cn("popup");
65
+ var classPrefix = "nut-popup";
71
66
  var baseStyle = {
72
67
  zIndex: index,
73
68
  animationDuration: "".concat(duration, "s")
74
69
  };
75
70
  var overlayStyles = _objectSpread(_objectSpread({}, overlayStyle), baseStyle);
76
71
  var popStyles = _objectSpread(_objectSpread({}, style), baseStyle);
77
- var classes = classNames((_classNames = {
72
+ var popClassName = classNames((_classNames = {
78
73
  round
79
- }, _defineProperty(_classNames, "nut-popup-".concat(position), true), _defineProperty(_classNames, "".concat(popClass), true), _defineProperty(_classNames, "".concat(className || ""), true), _classNames), b(""));
80
- var closeClasses = classNames(_defineProperty({
81
- "nut-popup__close-icon": true
82
- }, "nut-popup__close-icon--".concat(closeIconPosition), true));
74
+ }, _defineProperty(_classNames, "".concat(classPrefix), true), _defineProperty(_classNames, "".concat(classPrefix, "-").concat(position), true), _defineProperty(_classNames, "".concat(className || ""), true), _classNames));
75
+ var closeClasses = classNames((_classNames2 = {}, _defineProperty(_classNames2, "".concat(classPrefix, "__close-icon"), true), _defineProperty(_classNames2, "".concat(classPrefix, "__close-icon--").concat(closeIconPosition), true), _classNames2));
83
76
  var open = function open2() {
84
77
  if (!innerVisible) {
85
78
  setInnerVisible(true);
@@ -96,29 +89,29 @@ var Popup = function Popup2(props) {
96
89
  if (destroyOnClose) {
97
90
  setTimeout(function() {
98
91
  setShowChildren(false);
99
- onClose2 && onClose2();
100
92
  }, Number(duration) * 1e3);
101
93
  }
94
+ onClose2 && onClose2();
102
95
  }
103
96
  };
104
97
  var onHandleClickOverlay = function onHandleClickOverlay2(e) {
105
98
  if (closeOnOverlayClick) {
106
- onClickOverlay2 && onClickOverlay2(e);
107
- close();
99
+ var closed = onClickOverlay2 && onClickOverlay2(e);
100
+ closed && close();
108
101
  }
109
102
  };
110
103
  var onHandleClick = function onHandleClick2(e) {
111
104
  onClick2 && onClick2(e);
112
105
  };
113
106
  var onHandleClickCloseIcon = function onHandleClickCloseIcon2(e) {
114
- onClickCloseIcon2 && onClickCloseIcon2(e);
115
- close();
107
+ var closed = onClickCloseIcon2 && onClickCloseIcon2(e);
108
+ closed && close();
116
109
  };
117
110
  var onHandleOpened = function onHandleOpened2(e) {
118
- onOpened2 && onOpened2(e);
111
+ afterShow && afterShow();
119
112
  };
120
113
  var onHandleClosed = function onHandleClosed2(e) {
121
- onClosed2 && onClosed2(e);
114
+ afterClose && afterClose();
122
115
  };
123
116
  var resolveContainer = function resolveContainer2(getContainer) {
124
117
  var container = typeof getContainer === "function" ? getContainer() : getContainer;
@@ -153,14 +146,14 @@ var Popup = function Popup2(props) {
153
146
  onExited: onHandleClosed
154
147
  }, React__default.createElement("div", {
155
148
  style: popStyles,
156
- className: classes,
149
+ className: popClassName,
157
150
  onClick: onHandleClick
158
151
  }, showChildren ? children : "", renderIcon()));
159
152
  };
160
153
  var renderNode = function renderNode2() {
161
154
  return React__default.createElement(React__default.Fragment, null, overlay ? React__default.createElement(React__default.Fragment, null, React__default.createElement(Overlay, {
162
155
  style: overlayStyles,
163
- className: overlayClass,
156
+ className: overlayClassName,
164
157
  visible: innerVisible,
165
158
  closeOnOverlayClick,
166
159
  zIndex,
@@ -174,9 +167,9 @@ var Popup = function Popup2(props) {
174
167
  !visible && close();
175
168
  }, [visible]);
176
169
  useEffect(function() {
177
- setTransitionName(transition || "nut-popup-slide-".concat(position));
178
- }, [position]);
179
- return React__default.createElement(React__default.Fragment, null, renderToContainer(teleport, renderNode()));
170
+ setTransitionName(transition || "".concat(classPrefix, "-slide-").concat(position));
171
+ }, [position, transition]);
172
+ return React__default.createElement(React__default.Fragment, null, renderToContainer(portal, renderNode()));
180
173
  };
181
174
  Popup.defaultProps = defaultProps;
182
175
  Popup.displayName = "NutPopup";
package/dist/esm/Row.js CHANGED
@@ -23,23 +23,24 @@ function _objectSpread(target) {
23
23
  import React__default from "react";
24
24
  import classNames from "classnames";
25
25
  import { D as DataContext } from "./UserContext.js";
26
- var defaultProps = {
26
+ import { C as ComponentDefaults } from "./typings.js";
27
+ var classPrefix = "nut-row";
28
+ var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
27
29
  type: "",
28
30
  justify: "start",
29
31
  align: "flex-start",
30
32
  wrap: "nowrap",
31
33
  gutter: "0"
32
- };
34
+ });
33
35
  var Row = function Row2(props) {
34
- var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props), className = _defaultProps$props.className, _defaultProps$props$s = _defaultProps$props.style, style = _defaultProps$props$s === void 0 ? {} : _defaultProps$props$s, children = _defaultProps$props.children, type = _defaultProps$props.type, justify = _defaultProps$props.justify, align = _defaultProps$props.align, wrap = _defaultProps$props.wrap, gutter = _defaultProps$props.gutter, _onClick = _defaultProps$props.onClick;
35
- var prefixCls = "nut-row";
36
+ var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props), className = _defaultProps$props.className, style = _defaultProps$props.style, children = _defaultProps$props.children, type = _defaultProps$props.type, justify = _defaultProps$props.justify, align = _defaultProps$props.align, wrap = _defaultProps$props.wrap, gutter = _defaultProps$props.gutter, _onClick = _defaultProps$props.onClick;
36
37
  var getClass = function getClass2(prefix, type2) {
37
38
  var classType = type2 ? "nut-row-".concat(prefix, "-").concat(type2) : "";
38
39
  var className2 = prefix ? classType : "nut-row-".concat(type2);
39
40
  return className2;
40
41
  };
41
42
  var getClasses = function getClasses2() {
42
- return "\n ".concat(getClass("", type), "\n ").concat(getClass("justify", justify), "\n ").concat(getClass("align", align), "\n ").concat(getClass("flex", wrap), "\n ").concat(prefixCls, "\n ");
43
+ return "\n ".concat(getClass("", type), "\n ").concat(getClass("justify", justify), "\n ").concat(getClass("align", align), "\n ").concat(getClass("flex", wrap), "\n ").concat(classPrefix, "\n ");
43
44
  };
44
45
  var parentRow = {
45
46
  gutter
@@ -23,7 +23,6 @@ function _objectSpread(target) {
23
23
  return target;
24
24
  }
25
25
  import React__default from "react";
26
- import { useConfig } from "./ConfigProvider.js";
27
26
  import Popup from "./Popup.js";
28
27
  import { h as handleClick, O as OffsetContext } from "./offsetContext.js";
29
28
  var defaultProps = {
@@ -32,7 +31,6 @@ var defaultProps = {
32
31
  width: "80%"
33
32
  };
34
33
  var SideNavBar = function SideNavBar2(props) {
35
- useConfig();
36
34
  var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props), title = _defaultProps$props.title, visible = _defaultProps$props.visible, width = _defaultProps$props.width, position = _defaultProps$props.position, children = _defaultProps$props.children, className = _defaultProps$props.className, showhead = _defaultProps$props.showhead, onClose = _defaultProps$props.onClose, rest = _objectWithoutProperties(_defaultProps$props, _excluded);
37
35
  var offset = props.offset ? Number(props.offset) : 20;
38
36
  return React__default.createElement(Popup, {
@@ -4,7 +4,7 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
4
  import _createClass from "@babel/runtime/helpers/createClass";
5
5
  import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
6
6
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
7
- var _excluded = ["children", "uploadIcon", "uploadIconSize", "uploadIconTip", "name", "accept", "defaultFileList", "listType", "disabled", "multiple", "url", "defaultImg", "headers", "timeout", "method", "xhrState", "withCredentials", "data", "isPreview", "isDeletable", "maximum", "capture", "maximize", "className", "autoUpload", "clearInput", "onStart", "onRemove", "onChange", "onFileItemClick", "onProgress", "onSuccess", "onUpdate", "onFailure", "onOversize", "onBeforeUpload", "onBeforeXhrUpload", "onBeforeDelete"];
7
+ var _excluded = ["children", "uploadIcon", "uploadLabel", "name", "accept", "defaultValue", "value", "previewType", "imageFit", "disabled", "multiple", "url", "previewUrl", "headers", "timeout", "method", "xhrState", "withCredentials", "data", "preview", "deletable", "maxCount", "capture", "maxFileSize", "className", "autoUpload", "clearInput", "onStart", "onDelete", "onChange", "onFileItemClick", "onProgress", "onSuccess", "onUpdate", "onFailure", "onOversize", "beforeUpload", "beforeXhrUpload", "beforeDelete"];
8
8
  function ownKeys(object, enumerableOnly) {
9
9
  var keys = Object.keys(object);
10
10
  if (Object.getOwnPropertySymbols) {
@@ -30,11 +30,9 @@ import React__default, { useState, useEffect, useImperativeHandle } from "react"
30
30
  import classNames from "classnames";
31
31
  import { Failure, Loading, Link, Del, Photograph } from "@nutui/icons-react";
32
32
  import Progress from "./Progress.js";
33
- import { c as cn } from "./bem.js";
34
33
  import { useConfig } from "./ConfigProvider.js";
35
34
  import { i as isPromise } from "./index.js";
36
35
  import { C as ComponentDefaults } from "./typings.js";
37
- import "@bem-react/classname";
38
36
  var UploadOptions = /* @__PURE__ */ _createClass(function UploadOptions2() {
39
37
  _classCallCheck(this, UploadOptions2);
40
38
  _defineProperty(this, "url", "");
@@ -126,29 +124,26 @@ var funcInterceptor = function funcInterceptor2(interceptor, _ref) {
126
124
  };
127
125
  var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
128
126
  url: "",
129
- maximum: 1,
130
- uploadIcon: null,
131
- uploadIconSize: "",
132
- uploadIconTip: "",
133
- listType: "picture",
127
+ maxCount: 1,
128
+ previewType: "picture",
129
+ imageFit: "cover",
134
130
  name: "file",
135
131
  accept: "*",
136
132
  disabled: false,
137
133
  autoUpload: true,
138
134
  multiple: false,
139
- maximize: Number.MAX_VALUE,
135
+ maxFileSize: Number.MAX_VALUE,
140
136
  data: {},
141
137
  headers: {},
142
138
  method: "post",
143
- defaultImg: "",
144
139
  xhrState: 200,
145
140
  timeout: 1e3 * 30,
146
141
  withCredentials: false,
147
142
  clearInput: true,
148
- isPreview: true,
149
- isDeletable: true,
143
+ preview: true,
144
+ deletable: true,
150
145
  capture: false,
151
- onBeforeDelete: function onBeforeDelete(file, files) {
146
+ beforeDelete: function beforeDelete(file, files) {
152
147
  return true;
153
148
  }
154
149
  });
@@ -166,16 +161,15 @@ var FileItem = /* @__PURE__ */ _createClass(function FileItem2() {
166
161
  });
167
162
  var InternalUploader = function InternalUploader2(props, ref) {
168
163
  var _useConfig = useConfig(), locale = _useConfig.locale;
169
- var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props), children = _defaultProps$props.children, uploadIcon = _defaultProps$props.uploadIcon, uploadIconSize = _defaultProps$props.uploadIconSize, uploadIconTip = _defaultProps$props.uploadIconTip, name = _defaultProps$props.name, accept = _defaultProps$props.accept, defaultFileList = _defaultProps$props.defaultFileList, listType = _defaultProps$props.listType, disabled = _defaultProps$props.disabled, multiple = _defaultProps$props.multiple, url = _defaultProps$props.url, defaultImg = _defaultProps$props.defaultImg, headers = _defaultProps$props.headers, timeout = _defaultProps$props.timeout, method = _defaultProps$props.method, xhrState = _defaultProps$props.xhrState, withCredentials = _defaultProps$props.withCredentials, data = _defaultProps$props.data, isPreview = _defaultProps$props.isPreview, isDeletable = _defaultProps$props.isDeletable, maximum = _defaultProps$props.maximum, capture = _defaultProps$props.capture, maximize = _defaultProps$props.maximize, className = _defaultProps$props.className, autoUpload = _defaultProps$props.autoUpload, clearInput = _defaultProps$props.clearInput, onStart = _defaultProps$props.onStart, onRemove = _defaultProps$props.onRemove, onChange = _defaultProps$props.onChange, onFileItemClick = _defaultProps$props.onFileItemClick, onProgress = _defaultProps$props.onProgress, onSuccess = _defaultProps$props.onSuccess, onUpdate = _defaultProps$props.onUpdate, onFailure = _defaultProps$props.onFailure, onOversize = _defaultProps$props.onOversize, onBeforeUpload = _defaultProps$props.onBeforeUpload, onBeforeXhrUpload = _defaultProps$props.onBeforeXhrUpload, onBeforeDelete2 = _defaultProps$props.onBeforeDelete, restProps = _objectWithoutProperties(_defaultProps$props, _excluded);
170
- var _useState = useState([]), _useState2 = _slicedToArray(_useState, 2), fileList = _useState2[0], setFileList = _useState2[1];
164
+ var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props), children = _defaultProps$props.children, uploadIcon = _defaultProps$props.uploadIcon, uploadLabel = _defaultProps$props.uploadLabel, name = _defaultProps$props.name, accept = _defaultProps$props.accept, defaultValue = _defaultProps$props.defaultValue, value = _defaultProps$props.value, previewType = _defaultProps$props.previewType, imageFit = _defaultProps$props.imageFit, disabled = _defaultProps$props.disabled, multiple = _defaultProps$props.multiple, url = _defaultProps$props.url, previewUrl = _defaultProps$props.previewUrl, headers = _defaultProps$props.headers, timeout = _defaultProps$props.timeout, method = _defaultProps$props.method, xhrState = _defaultProps$props.xhrState, withCredentials = _defaultProps$props.withCredentials, data = _defaultProps$props.data, preview = _defaultProps$props.preview, deletable = _defaultProps$props.deletable, maxCount = _defaultProps$props.maxCount, capture = _defaultProps$props.capture, maxFileSize = _defaultProps$props.maxFileSize, className = _defaultProps$props.className, autoUpload = _defaultProps$props.autoUpload, clearInput = _defaultProps$props.clearInput, onStart = _defaultProps$props.onStart, onDelete = _defaultProps$props.onDelete, onChange = _defaultProps$props.onChange, onFileItemClick = _defaultProps$props.onFileItemClick, onProgress = _defaultProps$props.onProgress, onSuccess = _defaultProps$props.onSuccess, onUpdate = _defaultProps$props.onUpdate, onFailure = _defaultProps$props.onFailure, onOversize = _defaultProps$props.onOversize, beforeUpload = _defaultProps$props.beforeUpload, beforeXhrUpload = _defaultProps$props.beforeXhrUpload, beforeDelete2 = _defaultProps$props.beforeDelete, restProps = _objectWithoutProperties(_defaultProps$props, _excluded);
165
+ var _useState = useState(defaultValue || []), _useState2 = _slicedToArray(_useState, 2), fileList = _useState2[0], setFileList = _useState2[1];
171
166
  var _useState3 = useState([]), _useState4 = _slicedToArray(_useState3, 2), uploadQueue = _useState4[0], setUploadQueue = _useState4[1];
172
167
  useEffect(function() {
173
- if (defaultFileList) {
174
- setFileList(defaultFileList);
168
+ if (value) {
169
+ setFileList(value);
175
170
  }
176
- }, [defaultFileList]);
177
- var b = cn("uploader");
178
- var classes = classNames(className, b(""));
171
+ }, [value]);
172
+ var classes = classNames(className, "nut-uploader");
179
173
  useImperativeHandle(ref, function() {
180
174
  return {
181
175
  submit: function submit() {
@@ -208,8 +202,8 @@ var InternalUploader = function InternalUploader2(props, ref) {
208
202
  var uploadOption = new UploadOptions();
209
203
  uploadOption.url = url;
210
204
  for (var _i2 = 0, _Object$entries2 = Object.entries(data); _i2 < _Object$entries2.length; _i2++) {
211
- var _Object$entries2$_i = _slicedToArray(_Object$entries2[_i2], 2), key = _Object$entries2$_i[0], value = _Object$entries2$_i[1];
212
- fileItem.formData.append(key, value);
205
+ var _Object$entries2$_i = _slicedToArray(_Object$entries2[_i2], 2), key = _Object$entries2$_i[0], value2 = _Object$entries2$_i[1];
206
+ fileItem.formData.append(key, value2);
213
207
  }
214
208
  uploadOption.formData = fileItem.formData;
215
209
  uploadOption.timeout = timeout * 1;
@@ -217,7 +211,7 @@ var InternalUploader = function InternalUploader2(props, ref) {
217
211
  uploadOption.xhrState = xhrState;
218
212
  uploadOption.headers = headers;
219
213
  uploadOption.withCredentials = withCredentials;
220
- uploadOption.beforeXhrUpload = onBeforeXhrUpload;
214
+ uploadOption.beforeXhrUpload = beforeXhrUpload;
221
215
  try {
222
216
  uploadOption.sourceFile = fileItem.formData.get(name);
223
217
  } catch (error) {
@@ -315,7 +309,7 @@ var InternalUploader = function InternalUploader2(props, ref) {
315
309
  fileItem.message = locale.uploader.waitingUpload;
316
310
  }
317
311
  executeUpload(fileItem, index);
318
- if (isPreview && file.type.includes("image")) {
312
+ if (preview && file.type.includes("image")) {
319
313
  var reader = new FileReader();
320
314
  reader.onload = function(event) {
321
315
  fileItem.url = event.target.result;
@@ -330,10 +324,10 @@ var InternalUploader = function InternalUploader2(props, ref) {
330
324
  });
331
325
  };
332
326
  var filterFiles = function filterFiles2(files) {
333
- var maximum2 = props.maximum * 1;
327
+ var maximum = props.maxCount * 1;
334
328
  var oversizes = new Array();
335
329
  var filterFile = files.filter(function(file) {
336
- if (file.size > maximize) {
330
+ if (file.size > maxFileSize) {
337
331
  oversizes.push(file);
338
332
  return false;
339
333
  }
@@ -342,23 +336,23 @@ var InternalUploader = function InternalUploader2(props, ref) {
342
336
  if (oversizes.length) {
343
337
  onOversize && onOversize(files);
344
338
  }
345
- if (filterFile.length > maximum2) {
346
- filterFile.splice(maximum2, filterFile.length - maximum2);
339
+ if (filterFile.length > maximum) {
340
+ filterFile.splice(maximum, filterFile.length - maximum);
347
341
  }
348
342
  if (fileList.length !== 0) {
349
- var index = maximum2 - fileList.length;
343
+ var index = maximum - fileList.length;
350
344
  filterFile.splice(index, filterFile.length - index);
351
345
  }
352
346
  return filterFile;
353
347
  };
354
348
  var deleted = function deleted2(file, index) {
355
349
  fileList.splice(index, 1);
356
- onRemove && onRemove(file, fileList);
350
+ onDelete && onDelete(file, fileList);
357
351
  setFileList(_toConsumableArray(fileList));
358
352
  };
359
- var onDelete = function onDelete2(file, index) {
353
+ var onDeleteItem = function onDeleteItem2(file, index) {
360
354
  clearUploadQueue(index);
361
- funcInterceptor(onBeforeDelete2, {
355
+ funcInterceptor(beforeDelete2, {
362
356
  args: [file, fileList],
363
357
  done: function done() {
364
358
  return deleted(file, index);
@@ -371,8 +365,8 @@ var InternalUploader = function InternalUploader2(props, ref) {
371
365
  }
372
366
  var $el = event.target;
373
367
  var files = $el.files;
374
- if (onBeforeUpload) {
375
- onBeforeUpload(new Array().slice.call(files)).then(function(f) {
368
+ if (beforeUpload) {
369
+ beforeUpload(new Array().slice.call(files)).then(function(f) {
376
370
  var _files2 = filterFiles(new Array().slice.call(f));
377
371
  readFile(_files2);
378
372
  });
@@ -395,7 +389,7 @@ var InternalUploader = function InternalUploader2(props, ref) {
395
389
  className: classes
396
390
  }, restProps), children && React__default.createElement("div", {
397
391
  className: "nut-uploader__slot"
398
- }, React__default.createElement(React__default.Fragment, null, children, maximum > fileList.length && React__default.createElement(React__default.Fragment, null, capture ? React__default.createElement("input", {
392
+ }, React__default.createElement(React__default.Fragment, null, children, maxCount > fileList.length && React__default.createElement(React__default.Fragment, null, capture ? React__default.createElement("input", {
399
393
  className: "nut-uploader__input",
400
394
  type: "file",
401
395
  capture: "user",
@@ -414,15 +408,15 @@ var InternalUploader = function InternalUploader2(props, ref) {
414
408
  onChange: fileChange
415
409
  })))), fileList.length !== 0 && fileList.map(function(item, index) {
416
410
  return React__default.createElement("div", {
417
- className: "nut-uploader__preview ".concat(listType),
411
+ className: "nut-uploader__preview ".concat(previewType),
418
412
  key: item.uid
419
- }, listType === "picture" && !children && React__default.createElement("div", {
413
+ }, previewType === "picture" && !children && React__default.createElement("div", {
420
414
  className: "nut-uploader__preview-img"
421
- }, isDeletable && React__default.createElement(Failure, {
415
+ }, deletable && React__default.createElement(Failure, {
422
416
  color: "rgba(0,0,0,0.6)",
423
417
  className: "close",
424
418
  onClick: function onClick() {
425
- return onDelete(item, index);
419
+ return onDeleteItem(item, index);
426
420
  }
427
421
  }), item.status === "ready" ? React__default.createElement("div", {
428
422
  className: "nut-uploader__preview__progress"
@@ -433,19 +427,23 @@ var InternalUploader = function InternalUploader2(props, ref) {
433
427
  }, item.failIcon !== " " && item.loadingIcon !== " " && (item.status === "error" ? item.failIcon || React__default.createElement(Failure, {
434
428
  color: "#fff"
435
429
  }) : item.loadingIcon || React__default.createElement(Loading, {
430
+ className: "nut-icon-loading",
436
431
  color: "#fff"
437
432
  })), React__default.createElement("div", {
438
433
  className: "nut-uploader__preview__progress__msg"
439
434
  }, item.message)), item.type.includes("image") ? React__default.createElement(React__default.Fragment, null, item.url && React__default.createElement("img", {
440
435
  className: "nut-uploader__preview-img__c",
436
+ style: {
437
+ objectFit: imageFit
438
+ },
441
439
  src: item.url,
442
440
  alt: "",
443
441
  onClick: function onClick() {
444
442
  return handleItemClick(item);
445
443
  }
446
- })) : React__default.createElement(React__default.Fragment, null, defaultImg ? React__default.createElement("img", {
444
+ })) : React__default.createElement(React__default.Fragment, null, previewUrl ? React__default.createElement("img", {
447
445
  className: "nut-uploader__preview-img__c",
448
- src: defaultImg,
446
+ src: previewUrl,
449
447
  alt: "",
450
448
  onClick: function onClick() {
451
449
  return handleItemClick(item);
@@ -461,18 +459,18 @@ var InternalUploader = function InternalUploader2(props, ref) {
461
459
  color: "#808080"
462
460
  }), " ", item.name))), item.status === "success" ? React__default.createElement("div", {
463
461
  className: "tips"
464
- }, item.name) : null), listType === "list" && React__default.createElement("div", {
462
+ }, item.name) : null), previewType === "list" && React__default.createElement("div", {
465
463
  className: "nut-uploader__preview-list"
466
464
  }, React__default.createElement("div", {
467
465
  className: "nut-uploader__preview-img__file__name ".concat(item.status),
468
466
  onClick: function onClick() {
469
467
  return handleItemClick(item);
470
468
  }
471
- }, React__default.createElement(Link, null), " ", item.name), isDeletable && React__default.createElement(Del, {
469
+ }, React__default.createElement(Link, null), " ", item.name), deletable && React__default.createElement(Del, {
472
470
  color: "#808080",
473
471
  className: "nut-uploader__preview-img__file__del",
474
472
  onClick: function onClick() {
475
- return onDelete(item, index);
473
+ return onDeleteItem(item, index);
476
474
  }
477
475
  }), item.status === "uploading" && React__default.createElement(Progress, {
478
476
  size: "small",
@@ -480,17 +478,17 @@ var InternalUploader = function InternalUploader2(props, ref) {
480
478
  strokeColor: "linear-gradient(270deg, rgba(18,126,255,1) 0%,rgba(32,147,255,1) 32.815625%,rgba(13,242,204,1) 100%)",
481
479
  showText: false
482
480
  })));
483
- }), maximum > fileList.length && listType === "picture" && !children && React__default.createElement("div", {
484
- className: "nut-uploader__upload ".concat(listType, " ").concat(disabled ? "nut-uploader__upload-disabled" : "")
481
+ }), maxCount > fileList.length && previewType === "picture" && !children && React__default.createElement("div", {
482
+ className: "nut-uploader__upload ".concat(previewType, " ").concat(disabled ? "nut-uploader__upload-disabled" : "")
485
483
  }, React__default.createElement("div", {
486
484
  className: "nut-uploader__icon"
487
485
  }, uploadIcon || React__default.createElement(Photograph, {
488
- width: uploadIconSize,
489
- height: uploadIconSize,
486
+ width: "20px",
487
+ height: "20px",
490
488
  color: "#808080"
491
489
  }), React__default.createElement("span", {
492
490
  className: "nut-uploader__icon-tip"
493
- }, uploadIconTip)), capture ? React__default.createElement("input", {
491
+ }, uploadLabel)), capture ? React__default.createElement("input", {
494
492
  className: "nut-uploader__input",
495
493
  type: "file",
496
494
  capture: "user",
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @nutui/nutui-react v2.0.0-alpha.0 Wed Apr 19 2023 21:30:04 GMT+0800 (China Standard Time)
2
+ * @nutui/nutui-react v2.0.0-alpha.1 Fri Apr 21 2023 18:05:14 GMT+0800 (China Standard Time)
3
3
  * (c) 2023 @jdf2e.
4
4
  * Released under the MIT License.
5
5
  */