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

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 (126) hide show
  1. package/CHANGELOG.md +137 -638
  2. package/dist/esm/Address.js +1 -1
  3. package/dist/esm/Animate.js +6 -7
  4. package/dist/esm/Audio.js +28 -27
  5. package/dist/esm/Avatar.js +30 -25
  6. package/dist/esm/AvatarGroup.js +10 -15
  7. package/dist/esm/Badge.js +4 -73
  8. package/dist/esm/CalendarItem.js +2 -12
  9. package/dist/esm/Cascader.js +67 -69
  10. package/dist/esm/Checkbox.js +1 -2
  11. package/dist/esm/CheckboxGroup.js +18 -20
  12. package/dist/esm/CircleProgress.js +20 -25
  13. package/dist/esm/Col.js +4 -3
  14. package/dist/esm/DatePicker.js +10 -10
  15. package/dist/esm/Dialog.js +162 -171
  16. package/dist/esm/Divider.js +4 -3
  17. package/dist/esm/Drag.js +7 -9
  18. package/dist/esm/Elevator.js +39 -41
  19. package/dist/esm/Ellipsis.js +13 -12
  20. package/dist/esm/Empty.js +18 -26
  21. package/dist/esm/Image.js +5 -10
  22. package/dist/esm/ImagePreview.js +67 -58
  23. package/dist/esm/Indicator.js +4 -4
  24. package/dist/esm/Input.js +87 -193
  25. package/dist/esm/Menu.js +75 -73
  26. package/dist/esm/MenuItem.js +29 -27
  27. package/dist/esm/NavBar.js +17 -48
  28. package/dist/esm/NoticeBar.js +50 -87
  29. package/dist/esm/Notify.js +35 -46
  30. package/dist/esm/NumberKeyboard.js +137 -195
  31. package/dist/esm/Picker.js +175 -160
  32. package/dist/esm/Popup.js +24 -33
  33. package/dist/esm/Price.js +22 -23
  34. package/dist/esm/Progress.js +74 -67
  35. package/dist/esm/PullToRefresh.js +8 -8
  36. package/dist/esm/Radio.js +2 -0
  37. package/dist/esm/RadioGroup.js +31 -51
  38. package/dist/esm/Range/style/index.js +1 -1
  39. package/dist/esm/Range.js +119 -174
  40. package/dist/esm/Row.js +6 -5
  41. package/dist/esm/SideNavBar.js +0 -2
  42. package/dist/esm/Skeleton.js +1 -1
  43. package/dist/esm/Step.js +23 -28
  44. package/dist/esm/Steps/style/index.js +1 -1
  45. package/dist/esm/Steps.js +10 -11
  46. package/dist/esm/Swipe.js +4 -10
  47. package/dist/esm/Swiper.js +86 -91
  48. package/dist/esm/SwiperItem.js +1 -1
  49. package/dist/esm/Switch.js +16 -30
  50. package/dist/esm/TabPane.js +39 -5
  51. package/dist/esm/Tabbar/style/index.js +1 -1
  52. package/dist/esm/Tabbar.js +29 -33
  53. package/dist/esm/TabbarItem.js +5 -75
  54. package/dist/esm/Table.js +20 -34
  55. package/dist/esm/Tabs.js +2 -2
  56. package/dist/esm/TextArea.js +53 -81
  57. package/dist/esm/Uploader.js +49 -52
  58. package/dist/esm/badge2.js +69 -0
  59. package/dist/esm/cellgroup2.js +5 -4
  60. package/dist/esm/checkbox2.js +34 -47
  61. package/dist/esm/nutui-react.es.js +170 -170
  62. package/dist/esm/overlay2.js +12 -14
  63. package/dist/esm/radio2.js +52 -54
  64. package/dist/esm/raf.js +16 -0
  65. package/dist/esm/tabbaritem2.js +61 -0
  66. package/dist/esm/tabs2.js +126 -95
  67. package/dist/locales/base.js +1 -1
  68. package/dist/locales/en-US.js +1 -1
  69. package/dist/locales/id-ID.js +1 -1
  70. package/dist/locales/zh-CN.js +1 -1
  71. package/dist/locales/zh-TW.js +1 -1
  72. package/dist/locales/zh-UG.js +1 -1
  73. package/dist/nutui.react.mjs +23562 -24489
  74. package/dist/nutui.react.umd.js +23560 -24487
  75. package/dist/packages/audio/audio.scss +2 -15
  76. package/dist/packages/badge/badge.scss +8 -18
  77. package/dist/packages/calendar/calendar.scss +0 -30
  78. package/dist/packages/cascader/cascader.scss +0 -26
  79. package/dist/packages/cellgroup/cellgroup.scss +20 -16
  80. package/dist/packages/checkbox/checkbox.scss +8 -11
  81. package/dist/packages/circleprogress/circleprogress.scss +0 -9
  82. package/dist/packages/dialog/dialog.scss +36 -65
  83. package/dist/packages/elevator/elevator.scss +2 -28
  84. package/dist/packages/empty/empty.scss +0 -9
  85. package/dist/packages/imagepreview/imagepreview.scss +52 -16
  86. package/dist/packages/input/input.scss +13 -180
  87. package/dist/packages/menu/menu.scss +44 -55
  88. package/dist/packages/menuitem/menuitem.scss +16 -26
  89. package/dist/packages/navbar/navbar.scss +16 -115
  90. package/dist/packages/noticebar/noticebar.scss +18 -19
  91. package/dist/packages/notify/notify.scss +1 -1
  92. package/dist/packages/numberkeyboard/numberkeyboard.scss +29 -77
  93. package/dist/packages/overlay/overlay.scss +11 -4
  94. package/dist/packages/picker/picker.scss +66 -137
  95. package/dist/packages/popup/popup.scss +0 -16
  96. package/dist/packages/price/price.scss +8 -0
  97. package/dist/packages/progress/progress.scss +19 -58
  98. package/dist/packages/pulltorefresh/pulltorefresh.scss +0 -8
  99. package/dist/packages/radio/radio.scss +13 -32
  100. package/dist/packages/radiogroup/radiogroup.scss +17 -51
  101. package/dist/packages/range/range.scss +24 -49
  102. package/dist/packages/row/row.scss +13 -31
  103. package/dist/packages/sidenavbar/sidenavbar.scss +0 -19
  104. package/dist/packages/step/step.scss +9 -62
  105. package/dist/packages/steps/steps.scss +2 -0
  106. package/dist/packages/swiper/swiper.scss +3 -18
  107. package/dist/packages/switch/switch.scss +13 -31
  108. package/dist/packages/tabbar/tabbar.scss +16 -22
  109. package/dist/packages/tabbaritem/tabbaritem.scss +9 -70
  110. package/dist/packages/table/table.scss +0 -56
  111. package/dist/packages/tabs/tabs.scss +196 -225
  112. package/dist/packages/textarea/textarea.scss +5 -12
  113. package/dist/packages/uploader/uploader.scss +2 -28
  114. package/dist/style.css +1 -1
  115. package/dist/style.mjs +1 -1
  116. package/dist/styles/themes/default.scss +17 -18
  117. package/dist/styles/variables-jmapp.scss +120 -240
  118. package/dist/styles/variables.scss +139 -252
  119. package/dist/types/index.d.ts +565 -708
  120. package/package.json +2 -2
  121. package/dist/esm/Icon.js +0 -83
  122. package/dist/esm/tabpane2.js +0 -44
  123. package/dist/packages/icon/icon.scss +0 -0
  124. /package/dist/esm/{AvatarContext.js → context.js} +0 -0
  125. /package/dist/esm/{UserContext2.js → context2.js} +0 -0
  126. /package/dist/esm/{UserContext3.js → context3.js} +0 -0
@@ -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 = ["children", "content", "className", "direction", "rows", "expandText", "collapseText", "symbol", "lineHeight", "onClick", "onChange"];
3
5
  function ownKeys(object, enumerableOnly) {
4
6
  var keys = Object.keys(object);
5
7
  if (Object.getOwnPropertySymbols) {
@@ -21,9 +23,10 @@ function _objectSpread(target) {
21
23
  }
22
24
  return target;
23
25
  }
24
- import React__default, { useState, useRef, useLayoutEffect, useEffect } from "react";
25
- import { useConfig } from "./ConfigProvider.js";
26
- var defaultProps = {
26
+ import React__default, { useState, useRef, useLayoutEffect } from "react";
27
+ import classNames from "classnames";
28
+ import { C as ComponentDefaults } from "./typings.js";
29
+ var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
27
30
  content: "",
28
31
  direction: "end",
29
32
  rows: 1,
@@ -31,21 +34,19 @@ var defaultProps = {
31
34
  collapseText: "",
32
35
  symbol: "...",
33
36
  lineHeight: "20"
34
- };
37
+ });
38
+ var classPrefix = "nut-ellipsis";
35
39
  var Ellipsis = function Ellipsis2(props) {
36
40
  var _ellipsis$current, _ellipsis$current2;
37
- useConfig();
38
- var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props), children = _defaultProps$props.children, content = _defaultProps$props.content, direction = _defaultProps$props.direction, rows = _defaultProps$props.rows, expandText = _defaultProps$props.expandText, collapseText = _defaultProps$props.collapseText, symbol = _defaultProps$props.symbol, lineHeight = _defaultProps$props.lineHeight, onClick = _defaultProps$props.onClick, onChange = _defaultProps$props.onChange;
41
+ var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props), children = _defaultProps$props.children, content = _defaultProps$props.content, className = _defaultProps$props.className, direction = _defaultProps$props.direction, rows = _defaultProps$props.rows, expandText = _defaultProps$props.expandText, collapseText = _defaultProps$props.collapseText, symbol = _defaultProps$props.symbol, lineHeight = _defaultProps$props.lineHeight, onClick = _defaultProps$props.onClick, onChange = _defaultProps$props.onChange, rest = _objectWithoutProperties(_defaultProps$props, _excluded);
39
42
  var container = null;
40
43
  var maxHeight = 0;
41
44
  var _useState = useState(false), _useState2 = _slicedToArray(_useState, 2), exceeded = _useState2[0], setExceeded = _useState2[1];
42
45
  var _useState3 = useState(false), _useState4 = _slicedToArray(_useState3, 2), expanded = _useState4[0], setExpanded = _useState4[1];
43
46
  var ellipsis = useRef();
44
47
  var root = useRef(null);
48
+ var classes = classNames(classPrefix, className);
45
49
  useLayoutEffect(function() {
46
- createContainer();
47
- }, []);
48
- useEffect(function() {
49
50
  if (content) {
50
51
  createContainer();
51
52
  }
@@ -153,11 +154,11 @@ var Ellipsis = function Ellipsis2(props) {
153
154
  var handleClick = function handleClick2() {
154
155
  onClick && onClick();
155
156
  };
156
- return React__default.createElement("div", {
157
- className: "nut-ellipsis",
157
+ return React__default.createElement("div", _objectSpread({
158
+ className: classes,
158
159
  onClick: handleClick,
159
160
  ref: root
160
- }, React__default.createElement("div", null, !exceeded ? content : null, exceeded && !expanded ? React__default.createElement(React__default.Fragment, null, (_ellipsis$current = ellipsis.current) === null || _ellipsis$current === void 0 ? void 0 : _ellipsis$current.leading, expandText ? React__default.createElement("span", {
161
+ }, rest), React__default.createElement("div", null, !exceeded ? content : null, exceeded && !expanded ? React__default.createElement(React__default.Fragment, null, (_ellipsis$current = ellipsis.current) === null || _ellipsis$current === void 0 ? void 0 : _ellipsis$current.leading, expandText ? React__default.createElement("span", {
161
162
  className: "nut-ellipsis-text",
162
163
  onClick: function onClick2(e) {
163
164
  e.stopPropagation();
package/dist/esm/Empty.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
- var _excluded = ["image", "imageSize", "description", "children", "className"];
3
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
4
+ var _excluded = ["image", "imageSize", "description", "children", "className", "status"];
5
5
  function ownKeys(object, enumerableOnly) {
6
6
  var keys = Object.keys(object);
7
7
  if (Object.getOwnPropertySymbols) {
@@ -24,35 +24,29 @@ function _objectSpread(target) {
24
24
  return target;
25
25
  }
26
26
  import React__default, { useState, useEffect } from "react";
27
- import { c as cn } from "./bem.js";
28
27
  import { useConfig } from "./ConfigProvider.js";
29
- import "@bem-react/classname";
28
+ import { C as ComponentDefaults } from "./typings.js";
30
29
  var defaultStatus = {
31
30
  empty: "https://static-ftcms.jd.com/p/files/61a9e3183985005b3958672b.png",
32
31
  error: "https://ftcms.jd.com/p/files/61a9e33ee7dcdbcc0ce62736.png",
33
32
  network: "https://static-ftcms.jd.com/p/files/61a9e31de7dcdbcc0ce62734.png"
34
33
  };
35
- var defaultProps = {
34
+ var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
36
35
  description: "",
37
- image: "empty",
38
36
  imageSize: "",
39
- className: ""
40
- };
37
+ status: "empty"
38
+ });
39
+ var classPrefix = "nut-empty";
41
40
  var Empty = function Empty2(props) {
42
41
  var _useConfig = useConfig(), locale = _useConfig.locale;
43
- var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props), image = _defaultProps$props.image, imageSize = _defaultProps$props.imageSize, description = _defaultProps$props.description, children = _defaultProps$props.children, className = _defaultProps$props.className, rest = _objectWithoutProperties(_defaultProps$props, _excluded);
42
+ var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props), image = _defaultProps$props.image, imageSize = _defaultProps$props.imageSize, description = _defaultProps$props.description, children = _defaultProps$props.children, className = _defaultProps$props.className, status = _defaultProps$props.status, rest = _objectWithoutProperties(_defaultProps$props, _excluded);
44
43
  var _useState = useState({}), _useState2 = _slicedToArray(_useState, 2), imgStyle = _useState2[0], setImgStyle = _useState2[1];
45
- var b = cn("empty");
46
- var imageNode = image;
47
- if (typeof image === "string") {
48
- var isHttpUrl = image.startsWith("https://") || image.startsWith("http://") || image.startsWith("//");
49
- var imageUrl = isHttpUrl ? image : defaultStatus[image];
50
- imageNode = React__default.createElement("img", {
51
- className: "img",
52
- src: imageUrl,
53
- alt: "empty"
54
- });
55
- }
44
+ var imageUrl = image || defaultStatus[status];
45
+ var imageNode = typeof imageUrl === "string" ? React__default.createElement("img", {
46
+ className: "img",
47
+ src: imageUrl,
48
+ alt: "empty"
49
+ }) : imageUrl;
56
50
  useEffect(function() {
57
51
  setImgStyle(function() {
58
52
  if (!imageSize) {
@@ -71,15 +65,13 @@ var Empty = function Empty2(props) {
71
65
  });
72
66
  }, [imageSize]);
73
67
  return React__default.createElement("div", _objectSpread({
74
- className: "".concat(b(), " ").concat(className)
68
+ className: "".concat(classPrefix, " ").concat(className)
75
69
  }, rest), React__default.createElement(React__default.Fragment, null, React__default.createElement("div", {
76
- className: b("image"),
70
+ className: "".concat(classPrefix, "__image"),
77
71
  style: imgStyle
78
72
  }, imageNode), typeof description === "string" ? React__default.createElement("div", {
79
- className: b("description")
80
- }, description || locale.noData) : {
81
- description
82
- }, children));
73
+ className: "".concat(classPrefix, "__description")
74
+ }, description || locale.noData) : description, children));
83
75
  };
84
76
  Empty.defaultProps = defaultProps;
85
77
  Empty.displayName = "NutEmpty";
package/dist/esm/Image.js CHANGED
@@ -41,18 +41,16 @@ var Image = function Image2(props) {
41
41
  var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props), className = _defaultProps$props.className, style = _defaultProps$props.style, src = _defaultProps$props.src, fit = _defaultProps$props.fit, position = _defaultProps$props.position, alt = _defaultProps$props.alt, width = _defaultProps$props.width, height = _defaultProps$props.height, radius = _defaultProps$props.radius, error = _defaultProps$props.error, loading = _defaultProps$props.loading, lazy = _defaultProps$props.lazy, onClick = _defaultProps$props.onClick, onLoad = _defaultProps$props.onLoad, onError = _defaultProps$props.onError;
42
42
  var _useState = useState(true), _useState2 = _slicedToArray(_useState, 2), innerLoading = _useState2[0], setInnerLoading = _useState2[1];
43
43
  var _useState3 = useState(false), _useState4 = _slicedToArray(_useState3, 2), isError = _useState4[0], setIsError = _useState4[1];
44
- var _useState5 = useState(""), _useState6 = _slicedToArray(_useState5, 2), _src = _useState6[0], setSrc = _useState6[1];
45
44
  var imgRef = useRef(null);
46
45
  useEffect(function() {
47
46
  if (imgRef.current && imgRef.current.complete && imgRef.current.naturalHeight !== 0) {
48
47
  setInnerLoading(false);
49
48
  } else if (src) {
50
- setSrc(src);
51
- setIsError(false);
52
49
  setInnerLoading(true);
53
50
  }
54
51
  }, [src]);
55
52
  var handleLoad = function handleLoad2() {
53
+ setIsError(false);
56
54
  setInnerLoading(false);
57
55
  onLoad && onLoad();
58
56
  };
@@ -73,7 +71,6 @@ var Image = function Image2(props) {
73
71
  }, style);
74
72
  var observer = useRef(null);
75
73
  var initObserver = function initObserver2() {
76
- var images = document.querySelectorAll(".nut-img.lazyload");
77
74
  var options = {
78
75
  threshold: [0],
79
76
  rootMargin: "0px"
@@ -88,14 +85,12 @@ var Image = function Image2(props) {
88
85
  img.src = img.dataset.src;
89
86
  img.removeAttribute("data-src");
90
87
  }
91
- observer.current.unobserve(item.target);
88
+ resetObserver();
92
89
  }, 300);
93
90
  }
94
91
  });
95
92
  }, options);
96
- images.forEach(function(item) {
97
- observer.current.observe(item);
98
- });
93
+ observer.current.observe(imgRef.current);
99
94
  };
100
95
  var resetObserver = function resetObserver2() {
101
96
  observer.current.disconnect && observer.current.disconnect();
@@ -149,7 +144,7 @@ var Image = function Image2(props) {
149
144
  ref: imgRef,
150
145
  className: "nut-img lazyload",
151
146
  style: imgStyle,
152
- "data-src": _src,
147
+ "data-src": src,
153
148
  alt,
154
149
  loading: "lazy",
155
150
  onLoad: handleLoad,
@@ -158,7 +153,7 @@ var Image = function Image2(props) {
158
153
  ref: imgRef,
159
154
  className: "nut-img",
160
155
  style: imgStyle,
161
- src: _src,
156
+ src,
162
157
  alt,
163
158
  onLoad: handleLoad,
164
159
  onError: handleError
@@ -1,5 +1,5 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
1
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
3
  function ownKeys(object, enumerableOnly) {
4
4
  var keys = Object.keys(object);
5
5
  if (Object.getOwnPropertySymbols) {
@@ -23,33 +23,47 @@ function _objectSpread(target) {
23
23
  }
24
24
  import React__default, { useRef, useState, useEffect } from "react";
25
25
  import Popup from "./Popup.js";
26
+ import Image from "./Image.js";
26
27
  import Video from "./Video.js";
27
28
  import Swiper from "./Swiper.js";
28
29
  import SwiperItem from "./SwiperItem.js";
29
- var defaultProps = {
30
+ import { C as ComponentDefaults } from "./typings.js";
31
+ import { u as usePropsValue } from "./use-props-value.js";
32
+ var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
30
33
  images: [],
31
34
  videos: [],
32
- show: false,
33
- autoplay: 3e3,
34
- initNo: 1,
35
- contentClose: false,
36
- paginationVisible: false,
37
- paginationColor: "#fff",
35
+ visible: false,
36
+ autoPlay: 3e3,
37
+ defaultValue: 0,
38
+ closeOnContentClick: false,
39
+ indicator: false,
40
+ indicatorColor: "#fff",
41
+ onChange: function onChange(value) {
42
+ },
38
43
  onClose: function onClose() {
39
44
  }
40
- };
45
+ });
41
46
  var ImagePreview = function ImagePreview2(props) {
42
- var images = props.images, videos = props.videos, show = props.show, initNo = props.initNo, paginationColor = props.paginationColor, paginationVisible = props.paginationVisible, autoplay = props.autoplay, contentClose = props.contentClose, onClose2 = props.onClose;
43
- var nutImagePreview = useRef(null);
44
- var _useState = useState(initNo), _useState2 = _slicedToArray(_useState, 2), innerNo = _useState2[0], setInnerNo = _useState2[1];
45
- var _useState3 = useState(false), _useState4 = _slicedToArray(_useState3, 2), showPop = _useState4[0], setShowPop = _useState4[1];
46
- var _useState5 = useState(1), _useState6 = _slicedToArray(_useState5, 2), active = _useState6[0], setActive = _useState6[1];
47
- var _useState7 = useState(1), _useState8 = _slicedToArray(_useState7, 2), maxNo = _useState8[0], setMaxNo = _useState8[1];
48
- var _useState9 = useState({
47
+ var images = props.images, videos = props.videos, visible = props.visible, defaultValue = props.defaultValue, indicatorColor = props.indicatorColor, indicator = props.indicator, autoPlay = props.autoPlay, closeOnContentClick = props.closeOnContentClick, onClose2 = props.onClose;
48
+ var classPrefix = "nut-imagepreview";
49
+ var ref = useRef(null);
50
+ var _usePropsValue = usePropsValue({
51
+ value: props.value,
52
+ defaultValue,
53
+ finalValue: defaultValue,
54
+ onChange: function onChange2(val) {
55
+ var _props$onChange;
56
+ (_props$onChange = props.onChange) === null || _props$onChange === void 0 ? void 0 : _props$onChange.call(props, val);
57
+ }
58
+ }), _usePropsValue2 = _slicedToArray(_usePropsValue, 2), innerNo = _usePropsValue2[0], setInnerNo = _usePropsValue2[1];
59
+ var _useState = useState(visible), _useState2 = _slicedToArray(_useState, 2), showPop = _useState2[0], setShowPop = _useState2[1];
60
+ var _useState3 = useState(0), _useState4 = _slicedToArray(_useState3, 2), active = _useState4[0], setActive = _useState4[1];
61
+ var _useState5 = useState((images === null || images === void 0 ? void 0 : images.length) || 0 + ((videos === null || videos === void 0 ? void 0 : videos.length) || 0)), _useState6 = _slicedToArray(_useState5, 1), maxNo = _useState6[0];
62
+ var _useState7 = useState({
49
63
  scale: 1,
50
64
  moveable: false
51
- }), _useState10 = _slicedToArray(_useState9, 2), store = _useState10[0], setStore = _useState10[1];
52
- var _useState11 = useState(0), _useState12 = _slicedToArray(_useState11, 2), lastTouchEndTime = _useState12[0], setLastTouchEndTime = _useState12[1];
65
+ }), _useState8 = _slicedToArray(_useState7, 2), store = _useState8[0], setStore = _useState8[1];
66
+ var _useState9 = useState(0), _useState10 = _slicedToArray(_useState9, 2), lastTouchEndTime = _useState10[0], setLastTouchEndTime = _useState10[1];
53
67
  var onTouchStart = function onTouchStart2(event) {
54
68
  var touches = event.touches;
55
69
  var events = touches[0];
@@ -110,33 +124,34 @@ var ImagePreview = function ImagePreview2(props) {
110
124
  scaleNow();
111
125
  }
112
126
  };
127
+ useEffect(function() {
128
+ init();
129
+ }, []);
113
130
  var init = function init2() {
114
131
  document.addEventListener("touchmove", onTouchMove);
115
132
  document.addEventListener("touchend", onTouchEnd);
116
133
  document.addEventListener("touchcancel", onTouchEnd);
117
134
  };
118
135
  useEffect(function() {
119
- setShowPop(show);
120
- setInnerNo(initNo);
121
- setActive(initNo);
122
- init();
123
- }, [show, initNo]);
136
+ setShowPop(visible);
137
+ }, [visible]);
124
138
  useEffect(function() {
125
- if (innerNo !== void 0) {
126
- setActive(innerNo);
127
- }
128
- if (show !== void 0) {
129
- setShowPop(show);
130
- }
131
- if (images && videos) {
132
- setMaxNo(images.length + videos.length);
133
- }
134
- }, []);
139
+ setInnerNo(defaultValue || 1);
140
+ }, [defaultValue]);
141
+ useEffect(function() {
142
+ setActive(innerNo);
143
+ }, [innerNo]);
135
144
  var scaleNow = function scaleNow2() {
136
- if (nutImagePreview.current) {
137
- nutImagePreview.current.style.transform = "scale(".concat(store.scale, ")");
145
+ if (ref.current) {
146
+ ref.current.style.transform = "scale(".concat(store.scale, ")");
138
147
  }
139
148
  };
149
+ var getDistance = function getDistance2(first, second) {
150
+ return Math.hypot(Math.abs(second.x - first.x), Math.abs(second.y - first.y));
151
+ };
152
+ var slideChangeEnd = function slideChangeEnd2(page) {
153
+ setActive(page + 1);
154
+ };
140
155
  var onCloseInner = function onCloseInner2() {
141
156
  setShowPop(false);
142
157
  setActive(1);
@@ -146,42 +161,38 @@ var ImagePreview = function ImagePreview2(props) {
146
161
  scale: 1
147
162
  }));
148
163
  };
149
- var getDistance = function getDistance2(first, second) {
150
- return Math.hypot(Math.abs(second.x - first.x), Math.abs(second.y - first.y));
151
- };
152
- var slideChangeEnd = function slideChangeEnd2(page) {
153
- setActive(page + 1);
154
- };
155
164
  var closeOnImg = function closeOnImg2() {
156
- if (contentClose) {
165
+ if (closeOnContentClick) {
157
166
  onCloseInner();
158
167
  }
159
168
  };
160
169
  return React__default.createElement(Popup, {
161
170
  visible: showPop,
162
- popClass: "custom-pop",
171
+ className: "".concat(classPrefix, "-pop"),
163
172
  style: {
164
173
  width: "100%"
165
174
  },
166
175
  onClick: onCloseInner
167
176
  }, React__default.createElement("div", {
168
- className: "nut-imagepreview",
169
- ref: nutImagePreview,
177
+ className: classPrefix,
178
+ ref,
170
179
  onClick: closeOnImg,
171
180
  onTouchStart
172
181
  }, React__default.createElement(Swiper, {
173
- autoPlay: autoplay,
174
- className: "nut-imagepreview-swiper",
182
+ autoPlay,
183
+ className: "".concat(classPrefix, "-swiper"),
175
184
  loop: true,
176
- isPreventDefault: false,
185
+ preventDefault: false,
177
186
  style: {
178
- display: showPop ? "block" : "none"
187
+ display: showPop ? "block" : "none",
188
+ "--nutui-indicator-color": indicatorColor
179
189
  },
180
190
  direction: "horizontal",
181
- onChange: slideChangeEnd,
182
- initPage: innerNo && (innerNo > maxNo ? maxNo - 1 : innerNo - 1),
183
- paginationColor,
184
- paginationVisible
191
+ onChange: function onChange2(page) {
192
+ return slideChangeEnd(page);
193
+ },
194
+ defaultValue: innerNo && (innerNo > maxNo ? maxNo - 1 : innerNo - 1),
195
+ indicator
185
196
  }, (videos && videos.length > 0 ? videos.map(function(item, index) {
186
197
  return React__default.createElement(SwiperItem, {
187
198
  key: index
@@ -192,13 +203,11 @@ var ImagePreview = function ImagePreview2(props) {
192
203
  }) : []).concat(images && images.length > 0 ? images.map(function(item, index) {
193
204
  return React__default.createElement(SwiperItem, {
194
205
  key: index
195
- }, React__default.createElement("img", {
196
- src: item.src,
197
- alt: "",
198
- className: "nut-imagepreview-img"
206
+ }, React__default.createElement(Image, {
207
+ src: item.src
199
208
  }));
200
209
  }) : []))), React__default.createElement("div", {
201
- className: "nut-imagepreview-index"
210
+ className: "".concat(classPrefix, "-index")
202
211
  }, active, "/", (images ? images.length : 0) + (videos ? videos.length : 0)));
203
212
  };
204
213
  ImagePreview.defaultProps = defaultProps;
@@ -26,7 +26,7 @@ import React__default from "react";
26
26
  import classNames from "classnames";
27
27
  var defaultProps = {
28
28
  total: 3,
29
- current: 1,
29
+ current: 0,
30
30
  direction: "horizontal"
31
31
  };
32
32
  var classPrefix = "nut-indicator";
@@ -35,11 +35,11 @@ var Indicator = function Indicator2(props) {
35
35
  var classes = classNames(_defineProperty({}, "".concat(classPrefix, "__vertical"), direction === "vertical"));
36
36
  var renderElement = function renderElement2() {
37
37
  var childs = [];
38
- for (var item = 1; item <= total; item++) {
39
- childs.push(item === current ? React__default.createElement(React__default.Fragment, null, children || React__default.createElement("div", {
38
+ for (var item = 0; item < total; item++) {
39
+ childs.push(item === current ? children || React__default.createElement("div", {
40
40
  key: item,
41
41
  className: "".concat(classPrefix, "__dot ").concat(classPrefix, "__active")
42
- })) : React__default.createElement("div", {
42
+ }) : React__default.createElement("div", {
43
43
  key: item,
44
44
  className: "".concat(classPrefix, "__dot")
45
45
  }));