@nutui/nutui-react 2.0.10 → 2.0.11

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 (54) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/esm/Input.js +3 -1
  3. package/dist/esm/NumberKeyboard.js +1 -1
  4. package/dist/esm/Popover.js +36 -3
  5. package/dist/esm/Switch.js +5 -3
  6. package/dist/esm/Tour/style/css.js +1 -0
  7. package/dist/esm/Tour/style/index.js +2 -0
  8. package/dist/esm/Tour/style/style.css +1 -0
  9. package/dist/esm/Tour.js +183 -0
  10. package/dist/esm/Uploader/style/style.css +1 -1
  11. package/dist/esm/Uploader.js +1 -1
  12. package/dist/esm/configprovider2.js +5 -0
  13. package/dist/esm/nutui-react.es.js +18 -16
  14. package/dist/esm/tabbaritem2.js +5 -3
  15. package/dist/esm/types/src/locales/base.d.ts +5 -0
  16. package/dist/esm/types/src/packages/configprovider/types.d.ts +1 -1
  17. package/dist/esm/types/src/packages/nutui.react.build.d.ts +2 -1
  18. package/dist/esm/types/src/packages/nutui.react.d.ts +3 -1
  19. package/dist/esm/types/src/packages/nutui.react.scss.d.ts +1 -0
  20. package/dist/esm/types/src/packages/popover/popover.d.ts +1 -0
  21. package/dist/esm/types/src/packages/popover/popover.taro.d.ts +1 -0
  22. package/dist/esm/types/src/packages/tour/__test__/tour.spec.d.ts +1 -0
  23. package/dist/esm/types/src/packages/tour/demo.d.ts +4 -0
  24. package/dist/esm/types/src/packages/tour/demo.taro.d.ts +4 -0
  25. package/dist/esm/types/src/packages/tour/index.d.ts +3 -0
  26. package/dist/esm/types/src/packages/tour/index.taro.d.ts +3 -0
  27. package/dist/esm/types/src/packages/tour/tour.d.ts +31 -0
  28. package/dist/esm/types/src/packages/tour/tour.taro.d.ts +31 -0
  29. package/dist/esm/types/src/utils/typings.d.ts +1 -0
  30. package/dist/esm/types/src/utils/use-taro-rect.d.ts +1 -0
  31. package/dist/locales/base.d.ts +5 -0
  32. package/dist/locales/base.js +1 -1
  33. package/dist/locales/en-US.js +6 -1
  34. package/dist/locales/id-ID.js +6 -1
  35. package/dist/locales/tr-TR.js +6 -1
  36. package/dist/locales/zh-CN.js +6 -1
  37. package/dist/locales/zh-TW.js +6 -1
  38. package/dist/locales/zh-UG.js +6 -1
  39. package/dist/nutui.react.es.js +552 -341
  40. package/dist/nutui.react.umd.js +552 -341
  41. package/dist/packages/tour/tour.scss +78 -0
  42. package/dist/packages/uploader/uploader.scss +1 -0
  43. package/dist/style.css +1 -1
  44. package/dist/style.mjs +1 -1
  45. package/dist/styles/themes/default.scss +1 -0
  46. package/dist/styles/variables.scss +33 -0
  47. package/dist/types/index.d.ts +3 -1
  48. package/dist/types/locales/base.d.ts +5 -0
  49. package/dist/types/packages/configprovider/types.d.ts +1 -1
  50. package/dist/types/packages/popover/popover.d.ts +5 -0
  51. package/dist/types/packages/tour/index.d.ts +3 -0
  52. package/dist/types/packages/tour/tour.d.ts +95 -0
  53. package/dist/types/utils/typings.d.ts +1 -0
  54. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,18 @@
1
+ # v2.0.11
2
+ `2023-08-09`
3
+
4
+ * :sparkles: feat: 新增 tour 引导组件 (#1279) @junjun666
5
+ * :bug: fix: h5下多选上传时 uid 重复的问题 (#1269) @Liuqh233
6
+ * :bug: fix: input 组件点击清除图标无法清空内容 (#1292) @oasis-cloud
7
+ * :bug: fix: numberkeyboard 设置标题后,完成按钮应该触发 onConfirm 事件 (#1285) @oasis-cloud
8
+ * :bug: fix: uploader h5/taro 增加校验 (#1297) @junjun666
9
+ * :bug: fix: uploader taro-h5 上传状态样式错乱 (#1293) @junjun666
10
+ * 📖 docs: divider 组件的 styles 属性示例改为 style (#1290) @oasis-cloud
11
+ * 📖 docs: numberkeyboard 的 type 属性类型更新 (#1284) @oasis-cloud
12
+ * 📖 docs: step 组件的 description 属性示例改为节点的实现方式 (#1289) @oasis-cloud
13
+ * 📖 docs: 调整 image tao 文档中引入包名 (#1295) @oasis-cloud
14
+
15
+
1
16
  # v2.0.10
2
17
  `2023-08-04`
3
18
 
package/dist/esm/Input.js CHANGED
@@ -132,7 +132,9 @@ var Input = forwardRef(function(props, ref) {
132
132
  var handleBlur = function handleBlur2(event) {
133
133
  var val = event.target.value;
134
134
  updateValue(val, "onBlur");
135
- setActive(false);
135
+ setTimeout(function() {
136
+ setActive(false);
137
+ }, 200);
136
138
  };
137
139
  var inputType = function inputType2(type2) {
138
140
  if (type2 === "digit") {
@@ -159,7 +159,7 @@ var NumberKeyboard = function NumberKeyboard2(props) {
159
159
  className: "".concat(classPrefix, "__header__title")
160
160
  }, title), type === "default" && React__default.createElement("span", {
161
161
  className: "".concat(classPrefix, "__header__close"),
162
- onClick: onClose2
162
+ onClick: onConfirm
163
163
  }, locale.done)), React__default.createElement("div", {
164
164
  className: "".concat(classPrefix, "__body")
165
165
  }, React__default.createElement("div", {
@@ -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 = ["children", "list", "location", "visible", "offset", "targetId", "overlay", "closeOnOutsideClick", "closeOnActionClick", "className", "showArrow", "style", "onClick", "onOpen", "onClose", "onSelect"];
4
+ var _excluded = ["children", "list", "location", "visible", "offset", "arrowOffset", "targetId", "overlay", "closeOnOutsideClick", "closeOnActionClick", "className", "showArrow", "style", "onClick", "onOpen", "onClose", "onSelect"];
5
5
  function ownKeys(object, enumerableOnly) {
6
6
  var keys = Object.keys(object);
7
7
  if (Object.getOwnPropertySymbols) {
@@ -35,6 +35,7 @@ var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
35
35
  location: "bottom",
36
36
  visible: false,
37
37
  offset: [0, 12],
38
+ arrowOffset: 0,
38
39
  targetId: "",
39
40
  showArrow: true,
40
41
  closeOnOutsideClick: true,
@@ -49,7 +50,7 @@ var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
49
50
  });
50
51
  var classPrefix = "nut-popover";
51
52
  var Popover = function Popover2(props) {
52
- var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props), children = _defaultProps$props.children, list = _defaultProps$props.list, location = _defaultProps$props.location, visible = _defaultProps$props.visible, offset = _defaultProps$props.offset, targetId = _defaultProps$props.targetId, overlay = _defaultProps$props.overlay, closeOnOutsideClick = _defaultProps$props.closeOnOutsideClick, closeOnActionClick = _defaultProps$props.closeOnActionClick, className = _defaultProps$props.className, showArrow = _defaultProps$props.showArrow, style = _defaultProps$props.style, onClick2 = _defaultProps$props.onClick, onOpen2 = _defaultProps$props.onOpen, onClose2 = _defaultProps$props.onClose, onSelect = _defaultProps$props.onSelect, rest = _objectWithoutProperties(_defaultProps$props, _excluded);
53
+ var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props), children = _defaultProps$props.children, list = _defaultProps$props.list, location = _defaultProps$props.location, visible = _defaultProps$props.visible, offset = _defaultProps$props.offset, arrowOffset = _defaultProps$props.arrowOffset, targetId = _defaultProps$props.targetId, overlay = _defaultProps$props.overlay, closeOnOutsideClick = _defaultProps$props.closeOnOutsideClick, closeOnActionClick = _defaultProps$props.closeOnActionClick, className = _defaultProps$props.className, showArrow = _defaultProps$props.showArrow, style = _defaultProps$props.style, onClick2 = _defaultProps$props.onClick, onOpen2 = _defaultProps$props.onOpen, onClose2 = _defaultProps$props.onClose, onSelect = _defaultProps$props.onSelect, rest = _objectWithoutProperties(_defaultProps$props, _excluded);
53
54
  var popoverRef = useRef(null);
54
55
  var popoverContentRef = useRef(null);
55
56
  var _useState = useState(false), _useState2 = _slicedToArray(_useState, 2), showPopup = _useState2[0], setShowPopup = _useState2[1];
@@ -153,6 +154,37 @@ var Popover = function Popover2(props) {
153
154
  }
154
155
  return styles;
155
156
  };
157
+ var popoverArrowStyle = function popoverArrowStyle2() {
158
+ var styles = {};
159
+ var direction = location.split("-")[0];
160
+ var skew = location.split("-")[1];
161
+ var base = 16;
162
+ if (props.arrowOffset !== 0) {
163
+ if (["bottom", "top"].includes(direction)) {
164
+ if (!skew) {
165
+ styles.left = "calc(50% + ".concat(arrowOffset, "px)");
166
+ }
167
+ if (skew === "start") {
168
+ styles.left = "".concat(base + arrowOffset, "px");
169
+ }
170
+ if (skew === "end") {
171
+ styles.right = "".concat(base - arrowOffset, "px");
172
+ }
173
+ }
174
+ if (["left", "right"].includes(direction)) {
175
+ if (!skew) {
176
+ styles.top = "calc(50% - ".concat(arrowOffset, "px)");
177
+ }
178
+ if (skew === "start") {
179
+ styles.top = "".concat(base - arrowOffset, "px");
180
+ }
181
+ if (skew === "end") {
182
+ styles.bottom = "".concat(base + arrowOffset, "px");
183
+ }
184
+ }
185
+ }
186
+ return styles;
187
+ };
156
188
  var handleSelect = function handleSelect2(item, index) {
157
189
  if (!item.disabled) {
158
190
  onSelect && onSelect(item, index);
@@ -186,7 +218,8 @@ var Popover = function Popover2(props) {
186
218
  className: "nut-popover-content-group",
187
219
  ref: popoverContentRef
188
220
  }, showArrow && React__default.createElement("div", {
189
- className: popoverArrow()
221
+ className: popoverArrow(),
222
+ style: popoverArrowStyle()
190
223
  }), Array.isArray(children) ? children[1] : "", list.map(function(item, index) {
191
224
  return React__default.createElement("div", {
192
225
  className: classNames({
@@ -1,5 +1,7 @@
1
1
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
2
3
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
4
+ var _excluded = ["checked", "defaultChecked", "disabled", "activeText", "inactiveText", "className", "style", "onChange"];
3
5
  function ownKeys(object, enumerableOnly) {
4
6
  var keys = Object.keys(object);
5
7
  if (Object.getOwnPropertySymbols) {
@@ -30,7 +32,7 @@ var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
30
32
  inactiveText: ""
31
33
  });
32
34
  var Switch = function Switch2(props) {
33
- var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props), checked = _defaultProps$props.checked, defaultChecked = _defaultProps$props.defaultChecked, disabled = _defaultProps$props.disabled, activeText = _defaultProps$props.activeText, inactiveText = _defaultProps$props.inactiveText, className = _defaultProps$props.className, style = _defaultProps$props.style, onChange = _defaultProps$props.onChange;
35
+ var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props), checked = _defaultProps$props.checked, defaultChecked = _defaultProps$props.defaultChecked, disabled = _defaultProps$props.disabled, activeText = _defaultProps$props.activeText, inactiveText = _defaultProps$props.inactiveText, className = _defaultProps$props.className, style = _defaultProps$props.style, onChange = _defaultProps$props.onChange, rest = _objectWithoutProperties(_defaultProps$props, _excluded);
34
36
  var classPrefix = "nut-switch";
35
37
  var _usePropsValue = usePropsValue({
36
38
  value: checked,
@@ -45,13 +47,13 @@ var Switch = function Switch2(props) {
45
47
  onChange && onChange(!value, event);
46
48
  setValue(!value);
47
49
  };
48
- return React__default.createElement("div", {
50
+ return React__default.createElement("div", _objectSpread({
49
51
  className: classes(),
50
52
  onClick: function onClick(e) {
51
53
  return _onClick(e);
52
54
  },
53
55
  style
54
- }, React__default.createElement("div", {
56
+ }, rest), React__default.createElement("div", {
55
57
  className: "switch-button"
56
58
  }, !value && React__default.createElement("div", {
57
59
  className: "close-line"
@@ -0,0 +1 @@
1
+ import './style.css'
@@ -0,0 +1,2 @@
1
+
2
+ import '../../../packages/tour/tour.scss'
@@ -0,0 +1 @@
1
+ .nut-tour-mask{position:fixed;box-shadow:0 0 0 150vh #00000080;border-radius:var(--nutui-tour-mask-border-radius, 10px);z-index:999}.nut-tour-mask-none{box-shadow:none}.nut-tour-mask-hidden{opacity:0}.nut-tour-content{display:block;padding:var(--nutui-tour-content-padding, 10px 12px);min-width:var(--nutui-tour-content-min-width, 200px);box-sizing:content-box}.nut-tour-content-top{display:block;text-align:right}.nut-tour-content-top-close{--nut-icon-width: 10px;--nut-icon-height: 10px}.nut-tour-content-inner{margin:var(--nutui-tour-content-inner-margin, 10px 0px);font-size:var(--nutui-tour-content-inner-font-size, 14px);white-space:nowrap}.nut-tour-content-bottom{margin-top:var(--nutui-tour-content-bottom-margin-top, 10px);display:flex;justify-content:space-between}.nut-tour-content-bottom-operate{display:flex;justify-content:flex-end}.nut-tour-content-bottom-operate-btn{display:inline-block;border:1px solid var(--nutui-gray-3, #bfbfbf);margin-left:var(--nutui-tour-content-bottom-btn-margin-left, 4px);padding:var(--nutui-tour-content-bottom-btn-padding, 2px 4px);font-size:var(--nutui-tour-content-bottom-btn-font-size, 12px);border-radius:var(--nutui-tour-content-bottom-btn-border-radius, 4px);color:var(--nutui-gray-2, #757575)}.nut-tour-content-bottom-operate-btn.active{color:#fff;border:0;background:var(--nutui-brand-color, #fa2c19)}.nut-tour-content-tile .nut-tour-content-inner{margin:0}.nut-tour-masked{position:fixed;width:100vh;height:100vh;z-index:1000;top:0;left:0;background:transparent}
@@ -0,0 +1,183 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
4
+ var _excluded = ["children", "className", "title", "closeOnOverlayClick", "showPrev", "list", "type", "location", "visible", "mask", "maskWidth", "maskHeight", "offset", "next", "prev", "complete", "onClose", "onChange"];
5
+ function ownKeys(object, enumerableOnly) {
6
+ var keys = Object.keys(object);
7
+ if (Object.getOwnPropertySymbols) {
8
+ var symbols = Object.getOwnPropertySymbols(object);
9
+ enumerableOnly && (symbols = symbols.filter(function(sym) {
10
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
11
+ })), keys.push.apply(keys, symbols);
12
+ }
13
+ return keys;
14
+ }
15
+ function _objectSpread(target) {
16
+ for (var i = 1; i < arguments.length; i++) {
17
+ var source = null != arguments[i] ? arguments[i] : {};
18
+ i % 2 ? ownKeys(Object(source), true).forEach(function(key) {
19
+ _defineProperty(target, key, source[key]);
20
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function(key) {
21
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
22
+ });
23
+ }
24
+ return target;
25
+ }
26
+ import React__default, { useState, useEffect } from "react";
27
+ import { Close } from "@nutui/icons-react";
28
+ import classNames from "classnames";
29
+ import Popover from "./Popover.js";
30
+ import { g as getRect } from "./use-client-rect.js";
31
+ import { C as ComponentDefaults } from "./typings.js";
32
+ import { useConfig } from "./ConfigProvider.js";
33
+ var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
34
+ visible: false,
35
+ type: "step",
36
+ location: "bottom",
37
+ mask: true,
38
+ maskWidth: "",
39
+ maskHeight: "",
40
+ offset: [8, 10],
41
+ title: "",
42
+ next: "",
43
+ prev: "",
44
+ complete: "",
45
+ showPrev: true,
46
+ closeOnOverlayClick: true
47
+ });
48
+ var classPrefix = "nut-tour";
49
+ var Tour = function Tour2(props) {
50
+ var _useConfig = useConfig(), locale = _useConfig.locale;
51
+ var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props), children = _defaultProps$props.children, className = _defaultProps$props.className, title = _defaultProps$props.title, closeOnOverlayClick = _defaultProps$props.closeOnOverlayClick, showPrev = _defaultProps$props.showPrev, list = _defaultProps$props.list, type = _defaultProps$props.type, location = _defaultProps$props.location, visible = _defaultProps$props.visible, mask = _defaultProps$props.mask, maskWidth = _defaultProps$props.maskWidth, maskHeight = _defaultProps$props.maskHeight, offset = _defaultProps$props.offset, next = _defaultProps$props.next, prev = _defaultProps$props.prev, complete = _defaultProps$props.complete, onClose = _defaultProps$props.onClose, onChange = _defaultProps$props.onChange, rest = _objectWithoutProperties(_defaultProps$props, _excluded);
52
+ var _useState = useState(false), _useState2 = _slicedToArray(_useState, 2), showTour = _useState2[0], setShowTour = _useState2[1];
53
+ var _useState3 = useState(false), _useState4 = _slicedToArray(_useState3, 2), showPopup = _useState4[0], setShowPopup = _useState4[1];
54
+ var _useState5 = useState(0), _useState6 = _slicedToArray(_useState5, 2), active = _useState6[0], setActive = _useState6[1];
55
+ var _useState7 = useState({
56
+ top: 0,
57
+ left: 0,
58
+ right: 0,
59
+ bottom: 0,
60
+ width: 0,
61
+ height: 0
62
+ }), _useState8 = _slicedToArray(_useState7, 2), maskRect = _useState8[0], setMaskRect = _useState8[1];
63
+ var classes = classNames(className, classPrefix);
64
+ useEffect(function() {
65
+ if (visible) {
66
+ getRootPosition();
67
+ }
68
+ setActive(0);
69
+ setShowTour(visible);
70
+ setShowPopup(visible);
71
+ }, [visible]);
72
+ useEffect(function() {
73
+ if (visible) {
74
+ setShowPopup(true);
75
+ getRootPosition();
76
+ }
77
+ }, [active]);
78
+ var getRootPosition = function getRootPosition2() {
79
+ var el = document.querySelector("#".concat(list[active].target));
80
+ var rect = getRect(el);
81
+ setMaskRect(rect);
82
+ };
83
+ var maskStyle = function maskStyle2() {
84
+ var width = maskRect.width, height = maskRect.height, left = maskRect.left, top = maskRect.top;
85
+ var center = [left + width / 2, top + height / 2];
86
+ var w = Number(maskWidth || width);
87
+ var h = Number(maskHeight || height);
88
+ var styles = {
89
+ width: "".concat(w + +offset[1] * 2, "px"),
90
+ height: "".concat(h + +offset[0] * 2, "px"),
91
+ top: "".concat(center[1] - h / 2 - +offset[0], "px"),
92
+ left: "".concat(center[0] - w / 2 - +offset[1], "px")
93
+ };
94
+ return styles;
95
+ };
96
+ var maskClose = function maskClose2(e) {
97
+ setShowTour(false);
98
+ setShowPopup(false);
99
+ onClose && onClose(e);
100
+ };
101
+ var handleClickMask = function handleClickMask2(e) {
102
+ closeOnOverlayClick && maskClose(e);
103
+ };
104
+ var changeStep = function changeStep2(type2) {
105
+ if (type2 === "next") {
106
+ setActive(active + 1);
107
+ onChange && onChange(active + 1);
108
+ } else {
109
+ setActive(active - 1);
110
+ onChange && onChange(active - 1);
111
+ }
112
+ setShowPopup(false);
113
+ };
114
+ return React__default.createElement("div", _objectSpread({
115
+ className: classes
116
+ }, rest), React__default.createElement("div", {
117
+ className: "nut-tour-masked",
118
+ style: {
119
+ display: showTour ? "block" : "none"
120
+ },
121
+ onClick: handleClickMask
122
+ }), list.map(function(item, index) {
123
+ return React__default.createElement("div", {
124
+ key: index,
125
+ style: {
126
+ height: 0
127
+ }
128
+ }, index === active && React__default.createElement(React__default.Fragment, null, showTour && React__default.createElement("div", {
129
+ className: "".concat(mask ? "nut-tour-mask" : "nut-tour-mask nut-tour-mask-none"),
130
+ id: "nut-tour-popid",
131
+ style: maskStyle()
132
+ }), React__default.createElement(Popover, {
133
+ visible: showPopup,
134
+ location: item.location || location,
135
+ targetId: "nut-tour-popid",
136
+ closeOnOutsideClick: false,
137
+ offset: item.popoverOffset || [0, 12],
138
+ arrowOffset: item.arrowOffset || 0
139
+ }, React__default.createElement(React__default.Fragment, null), React__default.createElement(React__default.Fragment, null, children || React__default.createElement(React__default.Fragment, null, type === "step" && React__default.createElement("div", {
140
+ className: "nut-tour-content"
141
+ }, title && React__default.createElement("div", {
142
+ className: "nut-tour-content-top"
143
+ }, React__default.createElement("div", {
144
+ onClick: function onClick(e) {
145
+ return maskClose(e);
146
+ }
147
+ }, React__default.createElement(Close, {
148
+ className: "nut-tour-content-top-close"
149
+ }))), React__default.createElement("div", {
150
+ className: "nut-tour-content-inner"
151
+ }, item.content), React__default.createElement("div", {
152
+ className: "nut-tour-content-bottom"
153
+ }, React__default.createElement("div", {
154
+ className: "nut-tour-content-bottom-init"
155
+ }, active + 1, "/", list.length), React__default.createElement("div", {
156
+ className: "nut-tour-content-bottom-operate"
157
+ }, active !== 0 && showPrev && React__default.createElement("div", {
158
+ className: "nut-tour-content-bottom-operate-btn",
159
+ onClick: function onClick() {
160
+ return changeStep("prev");
161
+ }
162
+ }, prev || locale.tour.prevStepText), list.length - 1 === active && React__default.createElement("div", {
163
+ className: "nut-tour-content-bottom-operate-btn active",
164
+ onClick: function onClick(e) {
165
+ return maskClose(e);
166
+ }
167
+ }, complete || locale.tour.completeText), list.length - 1 !== active && React__default.createElement("div", {
168
+ className: "nut-tour-content-bottom-operate-btn active",
169
+ onClick: function onClick() {
170
+ return changeStep("next");
171
+ }
172
+ }, next || locale.tour.nextStepText)))), type === "tile" && React__default.createElement("div", {
173
+ className: "nut-tour-content nut-tour-content-tile"
174
+ }, React__default.createElement("div", {
175
+ className: "nut-tour-content-inner"
176
+ }, item.content)))))));
177
+ }));
178
+ };
179
+ Tour.defaultProps = defaultProps;
180
+ Tour.displayName = "NutTour";
181
+ export {
182
+ Tour as default
183
+ };
@@ -1 +1 @@
1
- .nut-progress{display:flex;align-items:center;position:relative;width:100%}.nut-progress-outer{flex:auto;border-radius:var(--nutui-progress-border-radius, 12px);height:var(--nutui-progress-height, 10px);background:var(--nutui-progress-background, #f3f3f3)}.nut-progress-outer .nut-progress-active:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:var(--nutui-progress-border-radius, 12px);animation:progressActive 2s ease-in-out infinite}.nut-progress-inner{height:100%;display:flex;flex-direction:column;justify-content:center;transition:all .4s;border-radius:var(--nutui-progress-border-radius, 12px);background:var(--nutui-progress-color, linear-gradient(135deg, #fa2c19 0%, #fa6419 100%))}.nut-progress-text{display:flex;align-items:center;position:absolute;top:var(--nutui-progress-text-position-top, -4px);bottom:var(--nutui-progress-text-position-bottom, -4px);transition:all .4s;transform:translate(-50%)}.nut-progress-text__inner{display:flex;align-items:center;height:100%;width:100%;color:var(--nutui-progress-text-color, var(--nutui-brand-text-color, #ffffff));padding:var(--nutui-progress-text-padding, 0 5px);border-radius:var(--nutui-progress-text-border-radius, 5px);font-size:var(--nutui-progress-text-font-size, 9px);line-height:1;background:var(--nutui-progress-text-background, var(--nutui-progress-color, linear-gradient(135deg, #fa2c19 0%, #fa6419 100%)))}@keyframes progressActive{0%{background:rgba(255,255,255,.1);width:0}20%{background:rgba(255,255,255,.5);width:0}to{background:rgba(255,255,255,0);width:100%}}.nut-uploader{position:relative;display:flex;flex-wrap:wrap}.nut-uploader__slot{position:relative}.nut-uploader__upload{position:relative;display:flex;align-items:center;justify-content:center;background:var(--nutui-uploader-background, var(--nutui-gray-4, #f4f4f4));width:var(--nutui-uploader-picture-width, 100px);height:var(--nutui-uploader-picture-height, 100px);border:var(--nutui-uploader-picture-border, 0px);border-radius:var(--nutui-uploader-picture-border-radius, 2px)}.nut-uploader__icon{display:flex;flex-direction:column;justify-content:center;align-items:center}.nut-uploader__icon i{opacity:var(--nutui-uploader-picture-icon-opacity, .7);margin-bottom:var(--nutui-uploader-picture-icon-margin-bottom, 6px)}.nut-uploader__icon-tip{font-size:var(--nutui-uploader-picture-icon-tip-font-size, 12px);color:var(--nutui-uploader-picture-icon-tip-color, #bfbfbf)}.nut-uploader__input{position:absolute!important;top:0;left:0;width:100%!important;height:100%!important;overflow:hidden;cursor:pointer!important;opacity:0}.nut-uploader__input:disabled{cursor:not-allowed}.nut-uploader__upload-disabled{background:var(--nutui-uploader-background-disabled, var(--nutui-gray-4, #f4f4f4))}.nut-uploader__upload-disabled .nut-uploader__icon i{opacity:var(--nutui-uploader-picture-icon-opacity-disabled, .3);margin-bottom:var(--nutui-uploader-picture-icon-margin-bottom, 6px)}.nut-uploader__preview{position:relative;margin-right:var(--nutui-uploader-preview-margin-right, 10px);margin-bottom:var(--nutui-uploader-preview-margin-bottom, 10px);box-shadow:0 2px 10px #0000001a}.nut-uploader__preview__progress{position:absolute;left:0;top:0;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;background:var(--nutui-uploader-preview-progress-background, rgba(0, 0, 0, .65));border-radius:var(--nutui-uploader-picture-border-radius, 2px)}.nut-uploader__preview__progress i{margin-bottom:var(--nutui-uploader-picture-icon-margin-bottom, 6px)}.nut-uploader__preview__progress__msg{color:#fff;font-size:12px}.nut-uploader__preview.list{width:100%;margin-right:0;margin-bottom:0;margin-top:10px}.nut-uploader__preview-list{width:100%;height:32px;display:flex;flex-direction:column;position:relative;background-color:var(--nutui-gray-5, #f8f8f8)}.nut-uploader__preview-list .nut-uploader__preview-img__file__name{-webkit-line-clamp:1;padding:2px;height:24px}.nut-uploader__preview-list .nut-uploader__preview-img__file__del{position:absolute;right:4px;top:6px}.nut-uploader__preview-list .nut-progress{position:absolute;left:0;right:0;bottom:0}.nut-uploader__preview-list .nut-progress .nut-progress-outer{height:2px!important}.nut-uploader__preview .close{position:absolute;right:var(--nutui-uploader-preview-close-right, 0px);top:var(--nutui-uploader-preview-close-top, 0px);transform:translate(50%,-50%)}.nut-uploader__preview-img{position:relative;width:var(--nutui-uploader-picture-width, 100px);height:var(--nutui-uploader-picture-height, 100px);border-radius:var(--nutui-uploader-picture-border-radius, 2px)}.nut-uploader__preview-img i{color:var(--nutui-gray-1, #1a1a1a)}.nut-uploader__preview-img .tips{position:absolute;bottom:0;left:0;font-size:12px;color:var(--nutui-gray-6, #ffffff);text-align:center;box-sizing:border-box;height:var(--nutui-uploader-preview-tips-height, 24px);line-height:var(--nutui-uploader-preview-tips-height, 24px);border-radius:var(--nutui-uploader-picture-border-radius, 2px);border-top-left-radius:0;border-top-right-radius:0;padding:var(--nutui-uploader-preview-tips-padding, 0 5px);background:var(--nutui-uploader-preview-tips-background, rgba(0, 0, 0, .45));width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nut-uploader__preview-img__c{width:100%;height:100%;border-radius:6px}.nut-uploader__preview-img__file{height:100%;width:100%;display:flex;align-items:center;justify-content:center;transition:all .3s}.nut-uploader__preview-img__file__name{display:flex;width:100%;font-size:12px;color:var(--nutui-gray-2, #757575);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;word-break:break-all}.nut-uploader__preview-img__file__name.error{color:red!important}.nut-uploader__preview-img__file__name.success{color:#1890ff!important}.nut-uploader__preview-img__file__name .nut-icon-link:before{margin-left:-25%;margin-top:-25%;transform:none}
1
+ .nut-progress{display:flex;align-items:center;position:relative;width:100%}.nut-progress-outer{flex:auto;border-radius:var(--nutui-progress-border-radius, 12px);height:var(--nutui-progress-height, 10px);background:var(--nutui-progress-background, #f3f3f3)}.nut-progress-outer .nut-progress-active:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:var(--nutui-progress-border-radius, 12px);animation:progressActive 2s ease-in-out infinite}.nut-progress-inner{height:100%;display:flex;flex-direction:column;justify-content:center;transition:all .4s;border-radius:var(--nutui-progress-border-radius, 12px);background:var(--nutui-progress-color, linear-gradient(135deg, #fa2c19 0%, #fa6419 100%))}.nut-progress-text{display:flex;align-items:center;position:absolute;top:var(--nutui-progress-text-position-top, -4px);bottom:var(--nutui-progress-text-position-bottom, -4px);transition:all .4s;transform:translate(-50%)}.nut-progress-text__inner{display:flex;align-items:center;height:100%;width:100%;color:var(--nutui-progress-text-color, var(--nutui-brand-text-color, #ffffff));padding:var(--nutui-progress-text-padding, 0 5px);border-radius:var(--nutui-progress-text-border-radius, 5px);font-size:var(--nutui-progress-text-font-size, 9px);line-height:1;background:var(--nutui-progress-text-background, var(--nutui-progress-color, linear-gradient(135deg, #fa2c19 0%, #fa6419 100%)))}@keyframes progressActive{0%{background:rgba(255,255,255,.1);width:0}20%{background:rgba(255,255,255,.5);width:0}to{background:rgba(255,255,255,0);width:100%}}.nut-uploader{position:relative;display:flex;flex-wrap:wrap}.nut-uploader__slot{position:relative}.nut-uploader__upload{position:relative;display:flex;align-items:center;justify-content:center;background:var(--nutui-uploader-background, var(--nutui-gray-4, #f4f4f4));width:var(--nutui-uploader-picture-width, 100px);height:var(--nutui-uploader-picture-height, 100px);border:var(--nutui-uploader-picture-border, 0px);border-radius:var(--nutui-uploader-picture-border-radius, 2px)}.nut-uploader__icon{display:flex;flex-direction:column;justify-content:center;align-items:center}.nut-uploader__icon i{opacity:var(--nutui-uploader-picture-icon-opacity, .7);margin-bottom:var(--nutui-uploader-picture-icon-margin-bottom, 6px)}.nut-uploader__icon-tip{font-size:var(--nutui-uploader-picture-icon-tip-font-size, 12px);color:var(--nutui-uploader-picture-icon-tip-color, #bfbfbf)}.nut-uploader__input{position:absolute!important;top:0;left:0;width:100%!important;height:100%!important;overflow:hidden;cursor:pointer!important;opacity:0}.nut-uploader__input:disabled{cursor:not-allowed}.nut-uploader__upload-disabled{background:var(--nutui-uploader-background-disabled, var(--nutui-gray-4, #f4f4f4))}.nut-uploader__upload-disabled .nut-uploader__icon i{opacity:var(--nutui-uploader-picture-icon-opacity-disabled, .3);margin-bottom:var(--nutui-uploader-picture-icon-margin-bottom, 6px)}.nut-uploader__preview{position:relative;margin-right:var(--nutui-uploader-preview-margin-right, 10px);margin-bottom:var(--nutui-uploader-preview-margin-bottom, 10px);box-shadow:0 2px 10px #0000001a}.nut-uploader__preview__progress{position:absolute;left:0;top:0;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;background:var(--nutui-uploader-preview-progress-background, rgba(0, 0, 0, .65));border-radius:var(--nutui-uploader-picture-border-radius, 2px)}.nut-uploader__preview__progress i{margin-bottom:var(--nutui-uploader-picture-icon-margin-bottom, 6px)}.nut-uploader__preview__progress__msg{color:#fff;font-size:12px}.nut-uploader__preview.list{width:100%;margin-right:0;margin-bottom:0;margin-top:10px}.nut-uploader__preview-list{width:100%;height:32px;display:flex;flex-direction:column;position:relative;background-color:var(--nutui-gray-5, #f8f8f8)}.nut-uploader__preview-list .nut-uploader__preview-img__file__name{-webkit-line-clamp:1;padding:2px;height:24px}.nut-uploader__preview-list .nut-uploader__preview-img__file__del{position:absolute;right:4px;top:6px}.nut-uploader__preview-list .nut-progress{position:absolute;left:0;right:0;bottom:0}.nut-uploader__preview-list .nut-progress .nut-progress-outer{height:2px!important}.nut-uploader__preview .close{position:absolute;right:var(--nutui-uploader-preview-close-right, 0px);top:var(--nutui-uploader-preview-close-top, 0px);transform:translate(50%,-50%)}.nut-uploader__preview-img{position:relative;width:var(--nutui-uploader-picture-width, 100px);height:var(--nutui-uploader-picture-height, 100px);border-radius:var(--nutui-uploader-picture-border-radius, 2px)}.nut-uploader__preview-img i{color:var(--nutui-gray-1, #1a1a1a)}.nut-uploader__preview-img .tips{position:absolute;bottom:0;left:0;font-size:12px;color:var(--nutui-gray-6, #ffffff);text-align:center;box-sizing:border-box;height:var(--nutui-uploader-preview-tips-height, 24px);line-height:var(--nutui-uploader-preview-tips-height, 24px);border-radius:var(--nutui-uploader-picture-border-radius, 2px);border-top-left-radius:0;border-top-right-radius:0;padding:var(--nutui-uploader-preview-tips-padding, 0 5px);background:var(--nutui-uploader-preview-tips-background, rgba(0, 0, 0, .45));width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nut-uploader__preview-img__c{width:100%;height:100%;position:initial;border-radius:6px}.nut-uploader__preview-img__file{height:100%;width:100%;display:flex;align-items:center;justify-content:center;transition:all .3s}.nut-uploader__preview-img__file__name{display:flex;width:100%;font-size:12px;color:var(--nutui-gray-2, #757575);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;word-break:break-all}.nut-uploader__preview-img__file__name.error{color:red!important}.nut-uploader__preview-img__file__name.success{color:#1890ff!important}.nut-uploader__preview-img__file__name .nut-icon-link:before{margin-left:-25%;margin-top:-25%;transform:none}
@@ -410,7 +410,7 @@ var InternalUploader = function InternalUploader2(props, ref) {
410
410
  disabled,
411
411
  multiple,
412
412
  onChange: fileChange
413
- })))), fileList.length !== 0 && fileList.map(function(item, index) {
413
+ })))), fileList.length !== 0 && Array.isArray(fileList) && fileList.map(function(item, index) {
414
414
  return React__default.createElement("div", {
415
415
  className: "nut-uploader__preview ".concat(previewType),
416
416
  key: item.uid
@@ -1099,6 +1099,11 @@ var zhCN = {
1099
1099
  refreshingText: "加载中...",
1100
1100
  completeText: "刷新成功"
1101
1101
  },
1102
+ tour: {
1103
+ prevStepText: "上一步",
1104
+ completeText: "完成",
1105
+ nextStepText: "下一步"
1106
+ },
1102
1107
  watermark: {
1103
1108
  errorCanvasTips: "当前环境不支持Canvas"
1104
1109
  }
@@ -84,14 +84,15 @@ import { default as default84 } from "./Swiper.js";
84
84
  import { default as default85 } from "./SwiperItem.js";
85
85
  import { default as default86 } from "./Table.js";
86
86
  import { default as default87 } from "./Tag.js";
87
- import { default as default88 } from "./Video.js";
88
- import { default as default89 } from "./VirtualList.js";
89
- import { default as default90 } from "./Barrage.js";
90
- import { default as default91 } from "./Card.js";
91
- import { default as default92 } from "./TimeDetail.js";
92
- import { default as default93 } from "./TimeSelect.js";
93
- import { default as default94 } from "./TrendArrow.js";
94
- import { default as default95 } from "./WaterMark.js";
87
+ import { default as default88 } from "./Tour.js";
88
+ import { default as default89 } from "./Video.js";
89
+ import { default as default90 } from "./VirtualList.js";
90
+ import { default as default91 } from "./Barrage.js";
91
+ import { default as default92 } from "./Card.js";
92
+ import { default as default93 } from "./TimeDetail.js";
93
+ import { default as default94 } from "./TimeSelect.js";
94
+ import { default as default95 } from "./TrendArrow.js";
95
+ import { default as default96 } from "./WaterMark.js";
95
96
  export {
96
97
  default52 as ActionSheet,
97
98
  default27 as Address,
@@ -102,11 +103,11 @@ export {
102
103
  default71 as AvatarGroup,
103
104
  default16 as BackTop,
104
105
  default53 as Badge,
105
- default90 as Barrage,
106
+ default91 as Barrage,
106
107
  default2 as Button,
107
108
  default28 as Calendar,
108
109
  default29 as CalendarItem,
109
- default91 as Card,
110
+ default92 as Card,
110
111
  default30 as Cascader,
111
112
  default3 as Cell,
112
113
  default4 as CellGroup,
@@ -179,12 +180,13 @@ export {
179
180
  default26 as Tabs,
180
181
  default87 as Tag,
181
182
  default50 as TextArea,
182
- default92 as TimeDetail,
183
- default93 as TimeSelect,
183
+ default93 as TimeDetail,
184
+ default94 as TimeSelect,
184
185
  default66 as Toast,
185
- default94 as TrendArrow,
186
+ default88 as Tour,
187
+ default95 as TrendArrow,
186
188
  default51 as Uploader,
187
- default88 as Video,
188
- default89 as VirtualList,
189
- default95 as WaterMark
189
+ default89 as Video,
190
+ default90 as VirtualList,
191
+ default96 as WaterMark
190
192
  };
@@ -1,4 +1,6 @@
1
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
1
2
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
+ var _excluded = ["className", "style", "title", "icon", "active", "activeColor", "inactiveColor", "index", "value", "dot", "max", "top", "right", "handleClick"];
2
4
  function ownKeys(object, enumerableOnly) {
3
5
  var keys = Object.keys(object);
4
6
  if (Object.getOwnPropertySymbols) {
@@ -36,7 +38,7 @@ var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
36
38
  right: "5"
37
39
  });
38
40
  var TabbarItem = function TabbarItem2(props) {
39
- var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props), className = _defaultProps$props.className, style = _defaultProps$props.style, title = _defaultProps$props.title, icon = _defaultProps$props.icon, active = _defaultProps$props.active, activeColor = _defaultProps$props.activeColor, inactiveColor = _defaultProps$props.inactiveColor, index = _defaultProps$props.index, value = _defaultProps$props.value, dot = _defaultProps$props.dot, max = _defaultProps$props.max, top = _defaultProps$props.top, right = _defaultProps$props.right, handleClick = _defaultProps$props.handleClick;
41
+ var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props), className = _defaultProps$props.className, style = _defaultProps$props.style, title = _defaultProps$props.title, icon = _defaultProps$props.icon, active = _defaultProps$props.active, activeColor = _defaultProps$props.activeColor, inactiveColor = _defaultProps$props.inactiveColor, index = _defaultProps$props.index, value = _defaultProps$props.value, dot = _defaultProps$props.dot, max = _defaultProps$props.max, top = _defaultProps$props.top, right = _defaultProps$props.right, handleClick = _defaultProps$props.handleClick, rest = _objectWithoutProperties(_defaultProps$props, _excluded);
40
42
  var classPrefix = "nut-tabbar-item";
41
43
  var tabbarItemClass = classNames(className, classPrefix, _defineProperty({}, "".concat(classPrefix, "-active"), active));
42
44
  var boxPrefix = "".concat(classPrefix, "__icon-box");
@@ -49,7 +51,7 @@ var TabbarItem = function TabbarItem2(props) {
49
51
  right,
50
52
  color: activeColor
51
53
  };
52
- return React__default.createElement("div", {
54
+ return React__default.createElement("div", _objectSpread({
53
55
  className: tabbarItemClass,
54
56
  style: _objectSpread({
55
57
  color: active ? activeColor : inactiveColor
@@ -57,7 +59,7 @@ var TabbarItem = function TabbarItem2(props) {
57
59
  onClick: function onClick() {
58
60
  return handleClick(index);
59
61
  }
60
- }, icon ? React__default.createElement(React__default.Fragment, null, React__default.createElement(Badge, _objectSpread({}, badgeProps), React__default.createElement("div", {
62
+ }, rest), icon ? React__default.createElement(React__default.Fragment, null, React__default.createElement(Badge, _objectSpread({}, badgeProps), React__default.createElement("div", {
61
63
  className: boxPrefix
62
64
  }, icon)), React__default.createElement("div", {
63
65
  className: titleClass
@@ -123,6 +123,11 @@ export interface BaseLang {
123
123
  refreshingText: string;
124
124
  completeText: string;
125
125
  };
126
+ tour: {
127
+ prevStepText: string;
128
+ completeText: string;
129
+ nextStepText: string;
130
+ };
126
131
  watermark: {
127
132
  errorCanvasTips: string;
128
133
  };