@nutui/nutui-react 2.3.12-beta.0 → 2.3.12

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 (184) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/esm/ActionSheet.js +30 -76
  3. package/dist/esm/Address.js +80 -171
  4. package/dist/esm/Animate.js +21 -49
  5. package/dist/esm/AnimatingNumbers.js +47 -120
  6. package/dist/esm/Audio.js +88 -159
  7. package/dist/esm/Avatar.js +44 -91
  8. package/dist/esm/AvatarCropper.js +149 -268
  9. package/dist/esm/AvatarGroup.js +13 -44
  10. package/dist/esm/BackTop.js +34 -75
  11. package/dist/esm/Barrage.js +49 -83
  12. package/dist/esm/Calendar.js +27 -119
  13. package/dist/esm/CalendarCard.js +180 -291
  14. package/dist/esm/CalendarItem.js +253 -314
  15. package/dist/esm/Card.js +38 -72
  16. package/dist/esm/Cell.js +27 -62
  17. package/dist/esm/CellGroup.js +16 -45
  18. package/dist/esm/CheckboxGroup.js +49 -85
  19. package/dist/esm/CircleProgress.js +42 -93
  20. package/dist/esm/Col.js +17 -48
  21. package/dist/esm/Collapse.js +18 -49
  22. package/dist/esm/ConfigProvider.js +3 -2
  23. package/dist/esm/CountDown.js +62 -101
  24. package/dist/esm/DatePicker.js +87 -127
  25. package/dist/esm/Dialog.js +116 -196
  26. package/dist/esm/Divider.js +16 -36
  27. package/dist/esm/Drag.js +32 -76
  28. package/dist/esm/Elevator.js +93 -133
  29. package/dist/esm/Ellipsis.js +71 -92
  30. package/dist/esm/Empty.js +31 -70
  31. package/dist/esm/FixedNav.js +32 -81
  32. package/dist/esm/Form.js +28 -61
  33. package/dist/esm/Grid.js +27 -51
  34. package/dist/esm/Image.js +47 -102
  35. package/dist/esm/ImagePreview.js +82 -135
  36. package/dist/esm/InfiniteLoading.js +77 -159
  37. package/dist/esm/Input.js +57 -125
  38. package/dist/esm/InputNumber.js +66 -96
  39. package/dist/esm/Layout.js +4 -28
  40. package/dist/esm/Loading.js +13 -40
  41. package/dist/esm/Menu.js +51 -105
  42. package/dist/esm/NavBar.js +46 -85
  43. package/dist/esm/NoticeBar.js +153 -226
  44. package/dist/esm/Notify.js +87 -178
  45. package/dist/esm/NumberKeyboard.js +84 -150
  46. package/dist/esm/Pagination.js +58 -97
  47. package/dist/esm/Picker.js +215 -276
  48. package/dist/esm/Popover.js +111 -159
  49. package/dist/esm/Price.js +23 -60
  50. package/dist/esm/Progress.js +47 -77
  51. package/dist/esm/PullToRefresh.js +94 -201
  52. package/dist/esm/RadioGroup.js +23 -53
  53. package/dist/esm/Range.js +113 -177
  54. package/dist/esm/Rate.js +48 -95
  55. package/dist/esm/Row.js +19 -43
  56. package/dist/esm/SearchBar.js +52 -119
  57. package/dist/esm/ShortPassword.js +58 -106
  58. package/dist/esm/SideNavBar.js +34 -59
  59. package/dist/esm/SideNavBarItem.js +7 -36
  60. package/dist/esm/Signature.js +49 -84
  61. package/dist/esm/Skeleton.js +31 -68
  62. package/dist/esm/Space.js +7 -34
  63. package/dist/esm/Step.js +35 -64
  64. package/dist/esm/Steps.js +16 -40
  65. package/dist/esm/Sticky.js +64 -108
  66. package/dist/esm/SubSideNavBar.js +42 -71
  67. package/dist/esm/Swipe.js +79 -143
  68. package/dist/esm/Swiper.js +136 -183
  69. package/dist/esm/SwiperItem.js +13 -38
  70. package/dist/esm/Switch.js +20 -53
  71. package/dist/esm/TabPane.js +6 -30
  72. package/dist/esm/Tabbar.js +29 -59
  73. package/dist/esm/Table.js +92 -141
  74. package/dist/esm/Tag.js +30 -74
  75. package/dist/esm/TextArea.js +37 -82
  76. package/dist/esm/TimeDetail.js +20 -58
  77. package/dist/esm/TimeSelect.js +57 -95
  78. package/dist/esm/Toast.js +110 -197
  79. package/dist/esm/Tour.js +88 -132
  80. package/dist/esm/TrendArrow.js +32 -74
  81. package/dist/esm/Uploader.js +226 -346
  82. package/dist/esm/UserContext.js +1 -1
  83. package/dist/esm/Video.js +34 -67
  84. package/dist/esm/VirtualList.js +127 -160
  85. package/dist/esm/WaterMark.js +24 -68
  86. package/dist/esm/badge2.js +23 -53
  87. package/dist/esm/button2.js +30 -63
  88. package/dist/esm/can-use-dom.js +1 -1
  89. package/dist/esm/cascader2.js +307 -536
  90. package/dist/esm/checkbox2.js +59 -96
  91. package/dist/esm/collapseitem2.js +48 -86
  92. package/dist/esm/configprovider2.js +43 -1003
  93. package/dist/esm/context.js +1 -1
  94. package/dist/esm/context2.js +1 -1
  95. package/dist/esm/context3.js +1 -1
  96. package/dist/esm/context4.js +1 -1
  97. package/dist/esm/context5.js +8 -8
  98. package/dist/esm/date.js +88 -66
  99. package/dist/esm/formitem2.js +236 -1510
  100. package/dist/esm/get-scroll-parent.js +8 -10
  101. package/dist/esm/griditem2.js +34 -52
  102. package/dist/esm/index.js +5 -12
  103. package/dist/esm/indicator2.js +13 -42
  104. package/dist/esm/menuitem2.js +81 -124
  105. package/dist/esm/overlay2.js +39 -78
  106. package/dist/esm/pad-zero.js +3 -4
  107. package/dist/esm/popup2.js +79 -124
  108. package/dist/esm/px-check.js +2 -2
  109. package/dist/esm/radio2.js +48 -79
  110. package/dist/esm/raf.js +5 -3
  111. package/dist/esm/render.js +17 -54
  112. package/dist/esm/safearea2.js +3 -5
  113. package/dist/esm/supports-passive.js +3 -3
  114. package/dist/esm/tabbaritem2.js +42 -58
  115. package/dist/esm/tabs2.js +82 -120
  116. package/dist/esm/tslib.es6.js +47 -0
  117. package/dist/esm/types/src/packages/button/demos/h5/demo1.d.ts +3 -0
  118. package/dist/esm/types/src/packages/button/demos/h5/demo2.d.ts +3 -0
  119. package/dist/esm/types/src/packages/button/demos/h5/demo3.d.ts +3 -0
  120. package/dist/esm/types/src/packages/button/demos/h5/demo4.d.ts +3 -0
  121. package/dist/esm/types/src/packages/button/demos/h5/demo5.d.ts +3 -0
  122. package/dist/esm/types/src/packages/button/demos/h5/demo6.d.ts +3 -0
  123. package/dist/esm/types/src/packages/button/demos/h5/demo7.d.ts +3 -0
  124. package/dist/esm/types/src/packages/button/demos/h5/demo8.d.ts +3 -0
  125. package/dist/esm/types/src/packages/button/demos/h5/demo9.d.ts +3 -0
  126. package/dist/esm/types/src/packages/button/demos/taro/demo1.d.ts +3 -0
  127. package/dist/esm/types/src/packages/button/demos/taro/demo10.d.ts +3 -0
  128. package/dist/esm/types/src/packages/button/demos/taro/demo2.d.ts +3 -0
  129. package/dist/esm/types/src/packages/button/demos/taro/demo3.d.ts +3 -0
  130. package/dist/esm/types/src/packages/button/demos/taro/demo4.d.ts +3 -0
  131. package/dist/esm/types/src/packages/button/demos/taro/demo5.d.ts +3 -0
  132. package/dist/esm/types/src/packages/button/demos/taro/demo6.d.ts +3 -0
  133. package/dist/esm/types/src/packages/button/demos/taro/demo7.d.ts +3 -0
  134. package/dist/esm/types/src/packages/button/demos/taro/demo8.d.ts +3 -0
  135. package/dist/esm/types/src/packages/button/demos/taro/demo9.d.ts +3 -0
  136. package/dist/esm/types/src/packages/configprovider/configprovider.d.ts +1 -0
  137. package/dist/esm/types/src/packages/configprovider/configprovider.taro.d.ts +1 -0
  138. package/dist/esm/types/src/packages/configprovider/index.d.ts +2 -2
  139. package/dist/esm/types/src/packages/configprovider/index.taro.d.ts +2 -2
  140. package/dist/esm/types/src/packages/inputnumber/inputnumber.taro.d.ts +2 -0
  141. package/dist/esm/typings.js +1 -1
  142. package/dist/esm/use-click-away.js +9 -13
  143. package/dist/esm/use-client-rect.js +4 -4
  144. package/dist/esm/use-props-value.js +10 -15
  145. package/dist/esm/use-refs.js +5 -7
  146. package/dist/esm/use-touch.js +16 -20
  147. package/dist/locales/base.js +1 -1
  148. package/dist/locales/en-US.js +1 -1
  149. package/dist/locales/id-ID.js +1 -1
  150. package/dist/locales/tr-TR.js +1 -1
  151. package/dist/locales/zh-CN.js +1 -1
  152. package/dist/locales/zh-TW.js +1 -1
  153. package/dist/locales/zh-UG.js +1 -1
  154. package/dist/nutui.react.es.js +242 -284
  155. package/dist/nutui.react.umd.js +239 -281
  156. package/dist/style.mjs +1 -1
  157. package/dist/styles/variables-jmapp.scss +4 -0
  158. package/dist/types/packages/button/demos/h5/demo1.d.ts +3 -0
  159. package/dist/types/packages/button/demos/h5/demo2.d.ts +3 -0
  160. package/dist/types/packages/button/demos/h5/demo3.d.ts +3 -0
  161. package/dist/types/packages/button/demos/h5/demo4.d.ts +3 -0
  162. package/dist/types/packages/button/demos/h5/demo5.d.ts +3 -0
  163. package/dist/types/packages/button/demos/h5/demo6.d.ts +3 -0
  164. package/dist/types/packages/button/demos/h5/demo7.d.ts +3 -0
  165. package/dist/types/packages/button/demos/h5/demo8.d.ts +3 -0
  166. package/dist/types/packages/button/demos/h5/demo9.d.ts +3 -0
  167. package/dist/types/packages/button/demos/taro/demo1.d.ts +3 -0
  168. package/dist/types/packages/button/demos/taro/demo10.d.ts +3 -0
  169. package/dist/types/packages/button/demos/taro/demo2.d.ts +3 -0
  170. package/dist/types/packages/button/demos/taro/demo3.d.ts +3 -0
  171. package/dist/types/packages/button/demos/taro/demo4.d.ts +3 -0
  172. package/dist/types/packages/button/demos/taro/demo5.d.ts +3 -0
  173. package/dist/types/packages/button/demos/taro/demo6.d.ts +3 -0
  174. package/dist/types/packages/button/demos/taro/demo7.d.ts +3 -0
  175. package/dist/types/packages/button/demos/taro/demo8.d.ts +3 -0
  176. package/dist/types/packages/button/demos/taro/demo9.d.ts +3 -0
  177. package/dist/types/packages/configprovider/configprovider.d.ts +1 -0
  178. package/dist/types/packages/configprovider/configprovider.taro.d.ts +1 -0
  179. package/dist/types/packages/configprovider/index.d.ts +2 -2
  180. package/dist/types/packages/configprovider/index.taro.d.ts +2 -2
  181. package/dist/types/packages/empty/empty.d.ts +15 -3
  182. package/dist/types/packages/inputnumber/inputnumber.taro.d.ts +2 -0
  183. package/dist/types/packages/rate/rate.d.ts +1 -1
  184. package/package.json +5 -1
@@ -1,5 +1,5 @@
1
1
  import { createContext } from "react";
2
- var DataContext = createContext({});
2
+ const DataContext = createContext({});
3
3
  export {
4
4
  DataContext as D
5
5
  };
package/dist/esm/Video.js CHANGED
@@ -1,57 +1,31 @@
1
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
2
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
- var _excluded = ["children", "source", "options", "className", "onPlay", "onPause", "onPlayEnd"];
4
- function ownKeys(e, r) {
5
- var t = Object.keys(e);
6
- if (Object.getOwnPropertySymbols) {
7
- var o = Object.getOwnPropertySymbols(e);
8
- r && (o = o.filter(function(r2) {
9
- return Object.getOwnPropertyDescriptor(e, r2).enumerable;
10
- })), t.push.apply(t, o);
11
- }
12
- return t;
13
- }
14
- function _objectSpread(e) {
15
- for (var r = 1; r < arguments.length; r++) {
16
- var t = null != arguments[r] ? arguments[r] : {};
17
- r % 2 ? ownKeys(Object(t), true).forEach(function(r2) {
18
- _defineProperty(e, r2, t[r2]);
19
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r2) {
20
- Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
21
- });
22
- }
23
- return e;
24
- }
1
+ import { _ as __rest } from "./tslib.es6.js";
25
2
  import React__default, { useRef, useEffect } from "react";
26
3
  import classNames from "classnames";
27
4
  import { C as ComponentDefaults } from "./typings.js";
28
- var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
29
- source: {
30
- type: {},
31
- src: ""
32
- },
33
- options: {
34
- controls: true,
35
- muted: false,
36
- autoplay: false,
37
- poster: "",
38
- playsinline: false,
39
- loop: false
40
- }
41
- });
42
- var classPrefix = "nut-video";
43
- var Video = function Video2(props) {
44
- var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props), children = _defaultProps$props.children, source = _defaultProps$props.source, options = _defaultProps$props.options, className = _defaultProps$props.className, onPlay = _defaultProps$props.onPlay, onPause = _defaultProps$props.onPause, onPlayEnd = _defaultProps$props.onPlayEnd, restProps = _objectWithoutProperties(_defaultProps$props, _excluded);
45
- var rootRef = useRef(null);
46
- var classes = classNames(classPrefix, className);
47
- useEffect(function() {
5
+ const defaultProps = Object.assign(Object.assign({}, ComponentDefaults), { source: {
6
+ type: {},
7
+ src: ""
8
+ }, options: {
9
+ controls: true,
10
+ muted: false,
11
+ autoplay: false,
12
+ poster: "",
13
+ playsinline: false,
14
+ loop: false
15
+ } });
16
+ const classPrefix = `nut-video`;
17
+ const Video = (props) => {
18
+ const _a = Object.assign(Object.assign({}, defaultProps), props), { children, source, options, className, onPlay, onPause, onPlayEnd } = _a, restProps = __rest(_a, ["children", "source", "options", "className", "onPlay", "onPause", "onPlayEnd"]);
19
+ const rootRef = useRef(null);
20
+ const classes = classNames(classPrefix, className);
21
+ useEffect(() => {
48
22
  init();
49
23
  }, []);
50
- var init = function init2() {
24
+ const init = () => {
51
25
  if (rootRef.current) {
52
- var videoRef = rootRef.current;
26
+ const videoRef = rootRef.current;
53
27
  if (options.autoplay) {
54
- setTimeout(function() {
28
+ setTimeout(() => {
55
29
  videoRef.play();
56
30
  }, 200);
57
31
  }
@@ -61,35 +35,28 @@ var Video = function Video2(props) {
61
35
  videoRef.setAttribute("x5-video-player-type", "h5-page");
62
36
  videoRef.setAttribute("x5-video-player-fullscreen", "false");
63
37
  }
64
- videoRef.addEventListener("play", function() {
38
+ videoRef.addEventListener("play", () => {
65
39
  onPlay && onPlay(videoRef);
66
40
  });
67
- videoRef.addEventListener("pause", function() {
41
+ videoRef.addEventListener("pause", () => {
68
42
  onPause && onPause(videoRef);
69
43
  });
70
- videoRef.addEventListener("ended", function() {
44
+ videoRef.addEventListener("ended", () => {
71
45
  videoRef.currentTime = 0;
72
46
  onPlayEnd && onPlayEnd(videoRef);
73
47
  });
74
48
  }
75
49
  };
76
- return React__default.createElement("div", _objectSpread({
77
- className: classes
78
- }, restProps), React__default.createElement("video", {
79
- className: "nut-video-player",
80
- muted: options.muted,
81
- autoPlay: options.autoplay,
82
- loop: options.loop,
83
- poster: options.poster,
84
- controls: options.controls,
85
- ref: rootRef,
86
- src: source.src
87
- }, React__default.createElement("source", {
88
- src: source.src,
89
- type: source.type
90
- }), React__default.createElement("track", {
91
- kind: "captions"
92
- })));
50
+ return React__default.createElement(
51
+ "div",
52
+ Object.assign({ className: classes }, restProps),
53
+ React__default.createElement(
54
+ "video",
55
+ { className: "nut-video-player", muted: options.muted, autoPlay: options.autoplay, loop: options.loop, poster: options.poster, controls: options.controls, ref: rootRef, src: source.src },
56
+ React__default.createElement("source", { src: source.src, type: source.type }),
57
+ React__default.createElement("track", { kind: "captions" })
58
+ )
59
+ );
93
60
  };
94
61
  Video.defaultProps = defaultProps;
95
62
  Video.displayName = "NutVideo";
@@ -1,35 +1,10 @@
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 = ["list", "itemRender", "itemEqual", "itemHeight", "direction", "overscan", "key", "onScroll", "className", "containerHeight"];
5
- function ownKeys(e, r) {
6
- var t = Object.keys(e);
7
- if (Object.getOwnPropertySymbols) {
8
- var o = Object.getOwnPropertySymbols(e);
9
- r && (o = o.filter(function(r2) {
10
- return Object.getOwnPropertyDescriptor(e, r2).enumerable;
11
- })), t.push.apply(t, o);
12
- }
13
- return t;
14
- }
15
- function _objectSpread(e) {
16
- for (var r = 1; r < arguments.length; r++) {
17
- var t = null != arguments[r] ? arguments[r] : {};
18
- r % 2 ? ownKeys(Object(t), true).forEach(function(r2) {
19
- _defineProperty(e, r2, t[r2]);
20
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r2) {
21
- Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
22
- });
23
- }
24
- return e;
25
- }
1
+ import { _ as __rest } from "./tslib.es6.js";
26
2
  import React__default, { useRef, useState, useEffect, useCallback } from "react";
27
3
  import classNames from "classnames";
28
4
  import { C as ComponentDefaults } from "./typings.js";
29
- var initPositinoCache = function initPositinoCache2(reaItemSize) {
30
- var length = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;
31
- var index = 0;
32
- var positions = Array(length);
5
+ const initPositinoCache = (reaItemSize, length = 0) => {
6
+ let index = 0;
7
+ const positions = Array(length);
33
8
  while (index < length) {
34
9
  positions[index] = {
35
10
  index,
@@ -44,9 +19,9 @@ var initPositinoCache = function initPositinoCache2(reaItemSize) {
44
19
  }
45
20
  return positions;
46
21
  };
47
- var getListTotalSize = function getListTotalSize2(positions, horizontal) {
48
- var index = positions.length - 1;
49
- var size = 0;
22
+ const getListTotalSize = (positions, horizontal) => {
23
+ const index = positions.length - 1;
24
+ let size = 0;
50
25
  if (index < 0) {
51
26
  size = 0;
52
27
  } else {
@@ -54,15 +29,14 @@ var getListTotalSize = function getListTotalSize2(positions, horizontal) {
54
29
  }
55
30
  return size;
56
31
  };
57
- var binarySearch = function binarySearch2(positionsList, horizontal) {
58
- var value = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 0;
59
- var start = 0;
60
- var end = positionsList.length - 1;
61
- var tempIndex = null;
62
- var key = horizontal ? "right" : "bottom";
32
+ const binarySearch = (positionsList, horizontal, value = 0) => {
33
+ let start = 0;
34
+ let end = positionsList.length - 1;
35
+ let tempIndex = null;
36
+ const key = horizontal ? "right" : "bottom";
63
37
  while (start <= end) {
64
- var midIndex = Math.floor((start + end) / 2);
65
- var midValue = positionsList[midIndex][key];
38
+ const midIndex = Math.floor((start + end) / 2);
39
+ const midValue = positionsList[midIndex][key];
66
40
  if (midValue === value) {
67
41
  return midIndex + 1;
68
42
  }
@@ -78,20 +52,19 @@ var binarySearch = function binarySearch2(positionsList, horizontal) {
78
52
  tempIndex = tempIndex || 0;
79
53
  return tempIndex;
80
54
  };
81
- var getEndIndex = function getEndIndex2(_ref) {
82
- var list = _ref.list, startIndex = _ref.startIndex, visibleCount = _ref.visibleCount, _ref$itemEqual = _ref.itemEqual, itemEqual = _ref$itemEqual === void 0 ? true : _ref$itemEqual, positions = _ref.positions, offSetSize = _ref.offSetSize, overscan = _ref.overscan, _ref$sizeKey = _ref.sizeKey, sizeKey = _ref$sizeKey === void 0 ? "width" : _ref$sizeKey;
83
- var dataLength = list.length;
84
- var tempIndex = null;
55
+ const getEndIndex = ({ list, startIndex, visibleCount, itemEqual = true, positions, offSetSize, overscan, sizeKey = "width" }) => {
56
+ const dataLength = list.length;
57
+ let tempIndex = null;
85
58
  if (itemEqual) {
86
- var endIndex = startIndex + visibleCount;
59
+ const endIndex = startIndex + visibleCount;
87
60
  tempIndex = dataLength > 0 ? Math.min(dataLength, endIndex) : endIndex;
88
61
  } else {
89
- var sizeNum = 0;
90
- for (var i = startIndex; i < dataLength; i++) {
62
+ let sizeNum = 0;
63
+ for (let i = startIndex; i < dataLength; i++) {
91
64
  sizeNum += positions[i][sizeKey] || 0;
92
65
  if (sizeNum > offSetSize) {
93
- var _endIndex = i + overscan;
94
- tempIndex = dataLength > 0 ? Math.min(dataLength, _endIndex) : _endIndex;
66
+ const endIndex = i + overscan;
67
+ tempIndex = dataLength > 0 ? Math.min(dataLength, endIndex) : endIndex;
95
68
  break;
96
69
  }
97
70
  }
@@ -102,117 +75,111 @@ var getEndIndex = function getEndIndex2(_ref) {
102
75
  tempIndex = tempIndex || 0;
103
76
  return tempIndex;
104
77
  };
105
- var updateItemSize = function updateItemSize2(positions, items, sizeKey, margin) {
106
- var newPos = positions.concat();
107
- Array.from(items).forEach(function(item) {
108
- var index = Number(item.getAttribute("data-index"));
109
- var styleVal = item.getAttribute("style");
78
+ const updateItemSize = (positions, items, sizeKey, margin) => {
79
+ const newPos = positions.concat();
80
+ Array.from(items).forEach((item) => {
81
+ const index = Number(item.getAttribute("data-index"));
82
+ const styleVal = item.getAttribute("style");
110
83
  if (styleVal && styleVal.includes("none"))
111
84
  return;
112
- var nowSize = item.getBoundingClientRect()[sizeKey];
85
+ let nowSize = item.getBoundingClientRect()[sizeKey];
113
86
  if (margin)
114
87
  nowSize += margin;
115
- var oldSize = positions[index][sizeKey];
116
- var dValue = oldSize - nowSize;
88
+ const oldSize = positions[index][sizeKey];
89
+ const dValue = oldSize - nowSize;
117
90
  if (dValue) {
118
91
  if (sizeKey === "width") {
119
92
  newPos[index].right -= dValue;
120
93
  newPos[index][sizeKey] = nowSize;
121
- for (var k = index + 1; k < positions.length; k++) {
94
+ for (let k = index + 1; k < positions.length; k++) {
122
95
  newPos[k].left = positions[k - 1].right;
123
96
  newPos[k].right -= dValue;
124
97
  }
125
98
  } else if (sizeKey === "height") {
126
99
  newPos[index].bottom -= dValue;
127
100
  newPos[index][sizeKey] = nowSize;
128
- for (var _k = index + 1; _k < positions.length; _k++) {
129
- newPos[_k].top = positions[_k - 1].bottom;
130
- newPos[_k].bottom -= dValue;
101
+ for (let k = index + 1; k < positions.length; k++) {
102
+ newPos[k].top = positions[k - 1].bottom;
103
+ newPos[k].bottom -= dValue;
131
104
  }
132
105
  }
133
106
  }
134
107
  });
135
108
  };
136
- var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
137
- list: [],
138
- itemHeight: 66,
139
- itemEqual: true,
140
- direction: "vertical",
141
- overscan: 2
142
- });
143
- var VirtualList = function VirtualList2(props) {
144
- var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props), list = _defaultProps$props.list, itemRender = _defaultProps$props.itemRender, itemEqual = _defaultProps$props.itemEqual, itemHeight = _defaultProps$props.itemHeight, direction = _defaultProps$props.direction, overscan = _defaultProps$props.overscan, key = _defaultProps$props.key, onScroll = _defaultProps$props.onScroll, className = _defaultProps$props.className, containerHeight = _defaultProps$props.containerHeight, rest = _objectWithoutProperties(_defaultProps$props, _excluded);
145
- var horizontal = direction === "horizontal";
146
- var sizeKey = horizontal ? "width" : "height";
147
- var scrollKey = horizontal ? "scrollLeft" : "scrollTop";
148
- var offsetKey = horizontal ? "left" : "top";
149
- var scrollRef = useRef(null);
150
- var itemsRef = useRef(null);
151
- var _useState = useState([{
152
- index: 0,
153
- left: 0,
154
- top: 0,
155
- bottom: 0,
156
- width: 0,
157
- height: 0,
158
- right: 0
159
- }]), _useState2 = _slicedToArray(_useState, 2), positions = _useState2[0], setPositions = _useState2[1];
160
- var _useState3 = useState(99999999), _useState4 = _slicedToArray(_useState3, 2), listTotalSize = _useState4[0], setListTotalSize = _useState4[1];
161
- var _useState5 = useState(0), _useState6 = _slicedToArray(_useState5, 2), visibleCount = _useState6[0], setVisibleCount = _useState6[1];
162
- var _useState7 = useState(containerHeight || 0), _useState8 = _slicedToArray(_useState7, 2), offSetSize = _useState8[0], setOffSetSize = _useState8[1];
163
- var _useState9 = useState({
109
+ const defaultProps = Object.assign(Object.assign({}, ComponentDefaults), { list: [], itemHeight: 66, itemEqual: true, direction: "vertical", overscan: 2 });
110
+ const VirtualList = (props) => {
111
+ const _a = Object.assign(Object.assign({}, defaultProps), props), { list, itemRender, itemEqual, itemHeight, direction, overscan, key, onScroll, className, containerHeight } = _a, rest = __rest(_a, ["list", "itemRender", "itemEqual", "itemHeight", "direction", "overscan", "key", "onScroll", "className", "containerHeight"]);
112
+ const horizontal = direction === "horizontal";
113
+ const sizeKey = horizontal ? "width" : "height";
114
+ const scrollKey = horizontal ? "scrollLeft" : "scrollTop";
115
+ const offsetKey = horizontal ? "left" : "top";
116
+ const scrollRef = useRef(null);
117
+ const itemsRef = useRef(null);
118
+ const [positions, setPositions] = useState([
119
+ {
120
+ index: 0,
121
+ left: 0,
122
+ top: 0,
123
+ bottom: 0,
124
+ width: 0,
125
+ height: 0,
126
+ right: 0
127
+ }
128
+ ]);
129
+ const [listTotalSize, setListTotalSize] = useState(99999999);
130
+ const [visibleCount, setVisibleCount] = useState(0);
131
+ const [offSetSize, setOffSetSize] = useState(containerHeight || 0);
132
+ const [options, setOptions] = useState({
164
133
  startOffset: 0,
165
134
  startIndex: 0,
166
135
  overStart: 0,
167
136
  endIndex: 10
168
137
  // 可视区域结束索引
169
- }), _useState10 = _slicedToArray(_useState9, 2), options = _useState10[0], setOptions = _useState10[1];
170
- useEffect(function() {
171
- var pos = initPositinoCache(itemHeight, list.length);
138
+ });
139
+ useEffect(() => {
140
+ const pos = initPositinoCache(itemHeight, list.length);
172
141
  setPositions(pos);
173
- var totalSize = getListTotalSize(pos, horizontal);
142
+ const totalSize = getListTotalSize(pos, horizontal);
174
143
  setListTotalSize(totalSize);
175
144
  }, [list, itemHeight, horizontal]);
176
- var getElement = useCallback(function() {
177
- var _scrollRef$current;
178
- return ((_scrollRef$current = scrollRef.current) === null || _scrollRef$current === void 0 ? void 0 : _scrollRef$current.parentElement) || document.body;
145
+ const getElement = useCallback(() => {
146
+ var _a2;
147
+ return ((_a2 = scrollRef.current) === null || _a2 === void 0 ? void 0 : _a2.parentElement) || document.body;
179
148
  }, []);
180
- useEffect(function() {
149
+ useEffect(() => {
181
150
  if (containerHeight)
182
151
  return;
183
- var size = horizontal ? getElement().offsetWidth : getElement().offsetHeight;
152
+ const size = horizontal ? getElement().offsetWidth : getElement().offsetHeight;
184
153
  setOffSetSize(size);
185
154
  }, [getElement, horizontal, containerHeight]);
186
- useEffect(function() {
155
+ useEffect(() => {
187
156
  if (offSetSize === 0)
188
157
  return;
189
- var count = Math.ceil(offSetSize / itemHeight) + overscan;
158
+ const count = Math.ceil(offSetSize / itemHeight) + overscan;
190
159
  setVisibleCount(count);
191
- setOptions(function(options2) {
192
- return _objectSpread(_objectSpread({}, options2), {}, {
193
- endIndex: count
194
- });
160
+ setOptions((options2) => {
161
+ return Object.assign(Object.assign({}, options2), { endIndex: count });
195
162
  });
196
163
  }, [getElement, horizontal, itemHeight, overscan, offSetSize]);
197
- var updateTotalSize = useCallback(function() {
164
+ const updateTotalSize = useCallback(() => {
198
165
  if (!itemsRef.current)
199
166
  return;
200
- var items = itemsRef.current.children;
167
+ const items = itemsRef.current.children;
201
168
  if (!items.length)
202
169
  return;
203
170
  updateItemSize(positions, items, sizeKey);
204
- var totalSize = getListTotalSize(positions, horizontal);
171
+ const totalSize = getListTotalSize(positions, horizontal);
205
172
  setListTotalSize(totalSize);
206
173
  }, [positions, sizeKey, horizontal]);
207
- var scroll = useCallback(function() {
208
- requestAnimationFrame(function(e) {
209
- var scrollSize = getElement()[scrollKey];
210
- var startIndex = binarySearch(positions, horizontal, scrollSize);
211
- var overStart = startIndex - overscan > -1 ? startIndex - overscan : 0;
174
+ const scroll = useCallback(() => {
175
+ requestAnimationFrame((e) => {
176
+ const scrollSize = getElement()[scrollKey];
177
+ const startIndex = binarySearch(positions, horizontal, scrollSize);
178
+ const overStart = startIndex - overscan > -1 ? startIndex - overscan : 0;
212
179
  if (!itemEqual) {
213
180
  updateTotalSize();
214
181
  }
215
- var endIndex = getEndIndex({
182
+ const endIndex = getEndIndex({
216
183
  list,
217
184
  startIndex,
218
185
  visibleCount,
@@ -222,63 +189,63 @@ var VirtualList = function VirtualList2(props) {
222
189
  sizeKey,
223
190
  overscan
224
191
  });
225
- var startOffset = positions[startIndex][offsetKey];
226
- setOptions({
227
- startOffset,
228
- startIndex,
229
- overStart,
230
- endIndex
231
- });
192
+ const startOffset = positions[startIndex][offsetKey];
193
+ setOptions({ startOffset, startIndex, overStart, endIndex });
232
194
  if (endIndex > list.length - 1) {
233
195
  if (onScroll) {
234
196
  onScroll();
235
197
  }
236
198
  }
237
199
  });
238
- }, [positions, getElement, list, visibleCount, itemEqual, updateTotalSize, offsetKey, sizeKey, scrollKey, horizontal, overscan, offSetSize]);
239
- useEffect(function() {
240
- var element = getElement();
200
+ }, [
201
+ positions,
202
+ getElement,
203
+ list,
204
+ visibleCount,
205
+ itemEqual,
206
+ updateTotalSize,
207
+ offsetKey,
208
+ sizeKey,
209
+ scrollKey,
210
+ horizontal,
211
+ overscan,
212
+ offSetSize
213
+ ]);
214
+ useEffect(() => {
215
+ const element = getElement();
241
216
  element.addEventListener("scroll", scroll, false);
242
- return function() {
217
+ return () => {
243
218
  element.removeEventListener("scroll", scroll, false);
244
219
  };
245
220
  }, [getElement, scroll]);
246
- return React__default.createElement("div", _objectSpread(_objectSpread({
247
- className: classNames("nut-virtualList-box", className)
248
- }, rest), {}, {
249
- style: _defineProperty({}, sizeKey, containerHeight ? "".concat(offSetSize, "px") : "")
250
- }), React__default.createElement("div", {
251
- ref: scrollRef,
252
- className: classNames({
253
- "nut-horizontal-box": horizontal,
254
- "nut-vertical-box": !horizontal
255
- }),
256
- style: _defineProperty({
257
- position: "relative"
258
- }, sizeKey, "".concat(listTotalSize, "px"))
259
- }, React__default.createElement("ul", {
260
- className: classNames("nut-virtuallist-items", {
261
- "nut-horizontal-items": horizontal,
262
- "nut-vertical-items": !horizontal
263
- }),
264
- ref: itemsRef,
265
- style: {
266
- transform: horizontal ? "translate3d(".concat(options.startOffset, "px,0,0)") : "translate3d(0,".concat(options.startOffset, "px,0)")
267
- }
268
- }, list.slice(options.overStart, options.endIndex).map(function(data, index) {
269
- var startIndex = options.startIndex, overStart = options.overStart;
270
- var dataIndex = overStart + index;
271
- var styleVal = dataIndex < startIndex ? "none" : "block";
272
- var keyVal = key && data[key] ? data[key] : dataIndex;
273
- return React__default.createElement("li", {
274
- "data-index": "".concat(dataIndex),
275
- className: dataIndex % 2 === 0 ? "nut-virtuallist-item even" : "nut-virtuallist-item odd",
276
- key: "".concat(keyVal),
277
- style: {
278
- display: styleVal
279
- }
280
- }, itemRender ? itemRender(data, dataIndex, index) : data);
281
- }))));
221
+ return React__default.createElement(
222
+ "div",
223
+ Object.assign({ className: classNames("nut-virtualList-box", className) }, rest, { style: {
224
+ [sizeKey]: containerHeight ? `${offSetSize}px` : ""
225
+ } }),
226
+ React__default.createElement(
227
+ "div",
228
+ { ref: scrollRef, className: classNames({
229
+ "nut-horizontal-box": horizontal,
230
+ "nut-vertical-box": !horizontal
231
+ }), style: {
232
+ position: "relative",
233
+ [sizeKey]: `${listTotalSize}px`
234
+ } },
235
+ React__default.createElement("ul", { className: classNames("nut-virtuallist-items", {
236
+ "nut-horizontal-items": horizontal,
237
+ "nut-vertical-items": !horizontal
238
+ }), ref: itemsRef, style: {
239
+ transform: horizontal ? `translate3d(${options.startOffset}px,0,0)` : `translate3d(0,${options.startOffset}px,0)`
240
+ } }, list.slice(options.overStart, options.endIndex).map((data, index) => {
241
+ const { startIndex, overStart } = options;
242
+ const dataIndex = overStart + index;
243
+ const styleVal = dataIndex < startIndex ? "none" : "block";
244
+ const keyVal = key && data[key] ? data[key] : dataIndex;
245
+ return React__default.createElement("li", { "data-index": `${dataIndex}`, className: dataIndex % 2 === 0 ? "nut-virtuallist-item even" : "nut-virtuallist-item odd", key: `${keyVal}`, style: { display: styleVal } }, itemRender ? itemRender(data, dataIndex, index) : data);
246
+ }))
247
+ )
248
+ );
282
249
  };
283
250
  VirtualList.defaultProps = defaultProps;
284
251
  VirtualList.displayName = "NutVirtualList";
@@ -1,76 +1,39 @@
1
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
- function ownKeys(e, r) {
4
- var t = Object.keys(e);
5
- if (Object.getOwnPropertySymbols) {
6
- var o = Object.getOwnPropertySymbols(e);
7
- r && (o = o.filter(function(r2) {
8
- return Object.getOwnPropertyDescriptor(e, r2).enumerable;
9
- })), t.push.apply(t, o);
10
- }
11
- return t;
12
- }
13
- function _objectSpread(e) {
14
- for (var r = 1; r < arguments.length; r++) {
15
- var t = null != arguments[r] ? arguments[r] : {};
16
- r % 2 ? ownKeys(Object(t), true).forEach(function(r2) {
17
- _defineProperty(e, r2, t[r2]);
18
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r2) {
19
- Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
20
- });
21
- }
22
- return e;
23
- }
24
1
  import React__default, { useState, useEffect } from "react";
25
2
  import classNames from "classnames";
26
3
  import { useConfig } from "./ConfigProvider.js";
27
4
  import { C as ComponentDefaults } from "./typings.js";
28
- var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
29
- content: "",
30
- fullPage: true,
31
- zIndex: 2e3,
32
- gapX: 24,
33
- gapY: 48,
34
- width: 120,
35
- height: 64,
36
- image: "",
37
- imageWidth: 120,
38
- imageHeight: 64,
39
- rotate: -22,
40
- color: "rgba(0,0,0,.15)",
41
- fontStyle: "normal",
42
- fontWeight: "normal",
43
- fontSize: 14
44
- });
45
- var WaterMark = function WaterMark2(props) {
46
- var _useConfig = useConfig(), locale = _useConfig.locale;
47
- var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props), content = _defaultProps$props.content, fullPage = _defaultProps$props.fullPage, zIndex = _defaultProps$props.zIndex, className = _defaultProps$props.className, gapX = _defaultProps$props.gapX, gapY = _defaultProps$props.gapY, width = _defaultProps$props.width, height = _defaultProps$props.height, image = _defaultProps$props.image, imageWidth = _defaultProps$props.imageWidth, imageHeight = _defaultProps$props.imageHeight, rotate = _defaultProps$props.rotate, color = _defaultProps$props.color, fontStyle = _defaultProps$props.fontStyle, fontFamily = _defaultProps$props.fontFamily, fontWeight = _defaultProps$props.fontWeight, fontSize = _defaultProps$props.fontSize, style = _defaultProps$props.style;
48
- var _useState = useState(""), _useState2 = _slicedToArray(_useState, 2), base64Url = _useState2[0], setBase64Url = _useState2[1];
49
- var classPrefix = "nut-watermark";
50
- var classes = classNames(classPrefix, _defineProperty({}, "".concat(classPrefix, "-full-page"), fullPage));
51
- var cls = classNames(classes, className);
52
- useEffect(function() {
5
+ const defaultProps = Object.assign(Object.assign({}, ComponentDefaults), { content: "", fullPage: true, zIndex: 2e3, gapX: 24, gapY: 48, width: 120, height: 64, image: "", imageWidth: 120, imageHeight: 64, rotate: -22, color: "rgba(0,0,0,.15)", fontStyle: "normal", fontWeight: "normal", fontSize: 14 });
6
+ const WaterMark = (props) => {
7
+ const { locale } = useConfig();
8
+ const { content, fullPage, zIndex, className, gapX, gapY, width, height, image, imageWidth, imageHeight, rotate, color, fontStyle, fontFamily, fontWeight, fontSize, style } = Object.assign(Object.assign({}, defaultProps), props);
9
+ const [base64Url, setBase64Url] = useState("");
10
+ const classPrefix = "nut-watermark";
11
+ const classes = classNames(classPrefix, {
12
+ [`${classPrefix}-full-page`]: fullPage
13
+ });
14
+ const cls = classNames(classes, className);
15
+ useEffect(() => {
53
16
  init();
54
17
  }, []);
55
- var init = function init2() {
56
- var canvas = document.createElement("canvas");
57
- var ratio = window.devicePixelRatio;
58
- var ctx = canvas.getContext("2d");
59
- var canvasWidth = "".concat((gapX + width) * ratio, "px");
60
- var canvasHeight = "".concat((gapY + height) * ratio, "px");
61
- var markWidth = width * ratio;
62
- var markHeight = height * ratio;
18
+ const init = () => {
19
+ const canvas = document.createElement("canvas");
20
+ const ratio = window.devicePixelRatio;
21
+ const ctx = canvas.getContext("2d");
22
+ const canvasWidth = `${(gapX + width) * ratio}px`;
23
+ const canvasHeight = `${(gapY + height) * ratio}px`;
24
+ const markWidth = width * ratio;
25
+ const markHeight = height * ratio;
63
26
  canvas.setAttribute("width", canvasWidth);
64
27
  canvas.setAttribute("height", canvasHeight);
65
28
  if (ctx) {
66
29
  if (image) {
67
30
  ctx.translate(markWidth / 2, markHeight / 2);
68
31
  ctx.rotate(Math.PI / 180 * Number(rotate));
69
- var img = new Image();
32
+ const img = new Image();
70
33
  img.crossOrigin = "anonymous";
71
34
  img.referrerPolicy = "no-referrer";
72
35
  img.src = image;
73
- img.onload = function() {
36
+ img.onload = () => {
74
37
  ctx.drawImage(img, -imageWidth * ratio / 2, -imageHeight * ratio / 2, imageWidth * ratio, imageHeight * ratio);
75
38
  ctx.restore();
76
39
  setBase64Url(canvas.toDataURL());
@@ -80,8 +43,8 @@ var WaterMark = function WaterMark2(props) {
80
43
  ctx.textAlign = "center";
81
44
  ctx.translate(markWidth / 2, markHeight / 2);
82
45
  ctx.rotate(Math.PI / 180 * Number(rotate));
83
- var markSize = Number(fontSize) * ratio;
84
- ctx.font = "".concat(fontStyle, " normal ").concat(fontWeight, " ").concat(markSize, "px/").concat(markHeight, "px ").concat(fontFamily);
46
+ const markSize = Number(fontSize) * ratio;
47
+ ctx.font = `${fontStyle} normal ${fontWeight} ${markSize}px/${markHeight}px ${fontFamily}`;
85
48
  ctx.fillStyle = color;
86
49
  ctx.fillText(content, 0, 0);
87
50
  ctx.restore();
@@ -91,14 +54,7 @@ var WaterMark = function WaterMark2(props) {
91
54
  throw new Error(locale.watermark.errorCanvasTips);
92
55
  }
93
56
  };
94
- return React__default.createElement("div", {
95
- className: cls,
96
- style: _objectSpread({
97
- zIndex,
98
- backgroundSize: "".concat(gapX + width, "px"),
99
- backgroundImage: "url('".concat(base64Url, "')")
100
- }, style)
101
- });
57
+ return React__default.createElement("div", { className: cls, style: Object.assign({ zIndex, backgroundSize: `${gapX + width}px`, backgroundImage: `url('${base64Url}')` }, style) });
102
58
  };
103
59
  WaterMark.defaultProps = defaultProps;
104
60
  WaterMark.displayName = "NutWaterMark";