@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,145 +1,72 @@
1
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
- import _createClass from "@babel/runtime/helpers/createClass";
3
- import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
4
- import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
5
- import _inherits from "@babel/runtime/helpers/inherits";
6
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
7
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
8
- var _excluded = ["length", "value", "delay", "duration", "className", "thousands", "style"];
9
- function _callSuper(t, o, e) {
10
- return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
11
- }
12
- function _isNativeReflectConstruct() {
13
- try {
14
- var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {
15
- }));
16
- } catch (t2) {
17
- }
18
- return (_isNativeReflectConstruct = function _isNativeReflectConstruct2() {
19
- return !!t;
20
- })();
21
- }
22
- function ownKeys(e, r) {
23
- var t = Object.keys(e);
24
- if (Object.getOwnPropertySymbols) {
25
- var o = Object.getOwnPropertySymbols(e);
26
- r && (o = o.filter(function(r2) {
27
- return Object.getOwnPropertyDescriptor(e, r2).enumerable;
28
- })), t.push.apply(t, o);
29
- }
30
- return t;
31
- }
32
- function _objectSpread(e) {
33
- for (var r = 1; r < arguments.length; r++) {
34
- var t = null != arguments[r] ? arguments[r] : {};
35
- r % 2 ? ownKeys(Object(t), true).forEach(function(r2) {
36
- _defineProperty(e, r2, t[r2]);
37
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r2) {
38
- Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
39
- });
40
- }
41
- return e;
42
- }
43
1
  import React__default, { useRef, useMemo, useEffect, Component } from "react";
2
+ import { _ as __rest } from "./tslib.es6.js";
44
3
  import { C as ComponentDefaults } from "./typings.js";
45
- var defaultProps$1 = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
46
- length: 0,
47
- value: "",
48
- delay: 300,
49
- duration: 1,
50
- thousands: false
51
- });
52
- var CountUp = function CountUp2(props) {
53
- var _defaultProps$1$props = _objectSpread(_objectSpread({}, defaultProps$1), props), length = _defaultProps$1$props.length, value = _defaultProps$1$props.value, delay = _defaultProps$1$props.delay, duration = _defaultProps$1$props.duration, className = _defaultProps$1$props.className, thousands = _defaultProps$1$props.thousands, style = _defaultProps$1$props.style, reset = _objectWithoutProperties(_defaultProps$1$props, _excluded);
54
- var classPrefix = "nut-countup";
55
- var countupRef = useRef(null);
56
- var timerRef = useRef(0);
57
- var numbers = Array.from({
58
- length: 10
59
- }, function(v, i) {
60
- return i;
61
- });
62
- var getShowNumber = function getShowNumber2() {
63
- var splitArr = value.split(".");
64
- var intNumber = length && splitArr[0].length < length ? (Array(length).join("0") + splitArr[0]).slice(-length) : splitArr[0];
65
- var currNumber = "".concat(thousands ? intNumber.replace(/(\d)(?=(?:\d{3})+$)/g, "$1,") : intNumber).concat(splitArr[1] ? "." : "").concat(splitArr[1] || "");
4
+ const defaultProps$1 = Object.assign(Object.assign({}, ComponentDefaults), { length: 0, value: "", delay: 300, duration: 1, thousands: false });
5
+ const CountUp = (props) => {
6
+ const _a = Object.assign(Object.assign({}, defaultProps$1), props), { length, value, delay, duration, className, thousands, style } = _a;
7
+ __rest(_a, ["length", "value", "delay", "duration", "className", "thousands", "style"]);
8
+ const classPrefix = "nut-countup";
9
+ const countupRef = useRef(null);
10
+ const timerRef = useRef(0);
11
+ const numbers = Array.from({ length: 10 }, (v, i) => i);
12
+ const getShowNumber = () => {
13
+ const splitArr = value.split(".");
14
+ const intNumber = length && splitArr[0].length < length ? (Array(length).join("0") + splitArr[0]).slice(-length) : splitArr[0];
15
+ const currNumber = `${thousands ? intNumber.replace(/(\d)(?=(?:\d{3})+$)/g, "$1,") : intNumber}${splitArr[1] ? "." : ""}${splitArr[1] || ""}`;
66
16
  return currNumber.split("");
67
17
  };
68
- var numerArr = useMemo(getShowNumber, [value, length, thousands]);
69
- var setNumberTransform = function setNumberTransform2() {
18
+ const numerArr = useMemo(getShowNumber, [value, length, thousands]);
19
+ const setNumberTransform = () => {
70
20
  if (countupRef.current) {
71
- var numberItems = countupRef.current.querySelectorAll(".nut-countup-number");
72
- var numberFilterArr = numerArr.filter(function(item) {
73
- return !Number.isNaN(Number(item));
74
- });
75
- Object.keys(numberItems).forEach(function(key) {
76
- var elem = numberItems[Number(key)];
77
- var idx = Number(numberFilterArr[Number(key)]);
21
+ const numberItems = countupRef.current.querySelectorAll(".nut-countup-number");
22
+ const numberFilterArr = numerArr.filter((item) => !Number.isNaN(Number(item)));
23
+ Object.keys(numberItems).forEach((key) => {
24
+ const elem = numberItems[Number(key)];
25
+ const idx = Number(numberFilterArr[Number(key)]);
78
26
  if ((idx || idx === 0) && elem) {
79
- var transform = "translate(0, -".concat((idx === 0 ? 10 : idx) * 5, "%)");
27
+ const transform = `translate(0, -${(idx === 0 ? 10 : idx) * 5}%)`;
80
28
  elem.style.transform = transform;
81
29
  elem.style.webkitTransform = transform;
82
30
  }
83
31
  });
84
32
  }
85
33
  };
86
- var numberEaseStyle = {
87
- transition: "transform ".concat(duration, "s ease-in-out")
34
+ const numberEaseStyle = {
35
+ transition: `transform ${duration}s ease-in-out`
88
36
  };
89
- useEffect(function() {
90
- timerRef.current = window.setTimeout(function() {
37
+ useEffect(() => {
38
+ timerRef.current = window.setTimeout(() => {
91
39
  setNumberTransform();
92
40
  }, delay);
93
- return function() {
41
+ return () => {
94
42
  window.clearTimeout(timerRef.current);
95
43
  };
96
44
  }, [numerArr]);
97
- return React__default.createElement("div", {
98
- className: "".concat(classPrefix, " ").concat(className),
99
- ref: countupRef
100
- }, React__default.createElement("ul", {
101
- className: "".concat(classPrefix, "-list")
102
- }, numerArr.map(function(item, idx) {
103
- return React__default.createElement("li", {
104
- className: "".concat(classPrefix, "-listitem ").concat(!Number.isNaN(Number(item)) ? "".concat(classPrefix, "-listitem-number") : ""),
105
- key: idx
106
- }, !Number.isNaN(Number(item)) ? React__default.createElement("span", {
107
- className: "".concat(classPrefix, "-number"),
108
- style: numberEaseStyle
109
- }, [].concat(numbers, numbers).map(function(number, subidx) {
110
- return React__default.createElement("span", {
111
- key: subidx
112
- }, number);
113
- })) : React__default.createElement("span", {
114
- className: "".concat(classPrefix, "-separator")
115
- }, item));
116
- })));
45
+ return React__default.createElement(
46
+ "div",
47
+ { className: `${classPrefix} ${className}`, ref: countupRef },
48
+ React__default.createElement("ul", { className: `${classPrefix}-list` }, numerArr.map((item, idx) => {
49
+ return React__default.createElement("li", { className: `${classPrefix}-listitem ${!Number.isNaN(Number(item)) ? `${classPrefix}-listitem-number` : ""}`, key: idx }, !Number.isNaN(Number(item)) ? React__default.createElement("span", { className: `${classPrefix}-number`, style: numberEaseStyle }, [...numbers, ...numbers].map((number, subidx) => {
50
+ return React__default.createElement("span", { key: subidx }, number);
51
+ })) : React__default.createElement("span", { className: `${classPrefix}-separator` }, item));
52
+ }))
53
+ );
117
54
  };
118
55
  CountUp.defaultProps = defaultProps$1;
119
56
  CountUp.displayName = "NutCountUp";
120
- var defaultProps = {};
121
- var AnimatingNumbers = /* @__PURE__ */ function(_Component) {
122
- _inherits(AnimatingNumbers2, _Component);
123
- function AnimatingNumbers2(props) {
124
- var _this;
125
- _classCallCheck(this, AnimatingNumbers2);
126
- _this = _callSuper(this, AnimatingNumbers2, [props]);
127
- _this.state = {};
128
- return _this;
57
+ const defaultProps = {};
58
+ class AnimatingNumbers extends Component {
59
+ constructor(props) {
60
+ super(props);
61
+ this.state = {};
129
62
  }
130
- _createClass(AnimatingNumbers2, [{
131
- key: "render",
132
- value: function render() {
133
- return React__default.createElement("div", {
134
- className: "nut-animatingnumbers"
135
- });
136
- }
137
- }]);
138
- return AnimatingNumbers2;
139
- }(Component);
140
- _defineProperty(AnimatingNumbers, "defaultProps", defaultProps);
141
- _defineProperty(AnimatingNumbers, "displayName", "NutAnimatingNumbers");
142
- _defineProperty(AnimatingNumbers, "CountUp", CountUp);
63
+ render() {
64
+ return React__default.createElement("div", { className: "nut-animatingnumbers" });
65
+ }
66
+ }
67
+ AnimatingNumbers.defaultProps = defaultProps;
68
+ AnimatingNumbers.displayName = "NutAnimatingNumbers";
69
+ AnimatingNumbers.CountUp = CountUp;
143
70
  AnimatingNumbers.CountUp = CountUp;
144
71
  export {
145
72
  AnimatingNumbers as default
package/dist/esm/Audio.js CHANGED
@@ -1,28 +1,4 @@
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 = ["className", "src", "style", "muted", "autoPlay", "loop", "preload", "type", "onBack", "onForward", "onPause", "onEnd", "onMute", "onCanPlay", "children"];
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, { useState, useRef, useEffect } from "react";
27
3
  import { Service } from "@nutui/icons-react";
28
4
  import classNames from "classnames";
@@ -30,35 +6,22 @@ import Range from "./Range.js";
30
6
  import Button from "./Button.js";
31
7
  import { useConfig } from "./ConfigProvider.js";
32
8
  import { C as ComponentDefaults } from "./typings.js";
33
- var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
34
- src: "",
35
- muted: false,
36
- autoPlay: false,
37
- loop: false,
38
- preload: "auto",
39
- type: "progress",
40
- onBack: function onBack(e) {
41
- },
42
- onForward: function onForward(e) {
43
- },
44
- onPause: function onPause(e) {
45
- },
46
- onEnd: function onEnd(e) {
47
- },
48
- onMute: function onMute(e) {
49
- },
50
- onCanPlay: function onCanPlay(e) {
51
- }
52
- });
53
- var Audio = function Audio2(props) {
54
- var _useConfig = useConfig(), locale = _useConfig.locale;
55
- var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props), className = _defaultProps$props.className, src = _defaultProps$props.src, style = _defaultProps$props.style, muted = _defaultProps$props.muted, autoPlay = _defaultProps$props.autoPlay, loop = _defaultProps$props.loop, preload = _defaultProps$props.preload, type = _defaultProps$props.type, onBack2 = _defaultProps$props.onBack, onForward2 = _defaultProps$props.onForward, onPause2 = _defaultProps$props.onPause, onEnd2 = _defaultProps$props.onEnd, onMute2 = _defaultProps$props.onMute, onCanPlay2 = _defaultProps$props.onCanPlay, children = _defaultProps$props.children, rest = _objectWithoutProperties(_defaultProps$props, _excluded);
56
- var _useState = useState(false), _useState2 = _slicedToArray(_useState, 2), playing = _useState2[0], setPlaying = _useState2[1];
57
- var _useState3 = useState(0), _useState4 = _slicedToArray(_useState3, 2), percent = _useState4[0], setPercent = _useState4[1];
58
- var _useState5 = useState(false), _useState6 = _slicedToArray(_useState5, 2), isCanPlay = _useState6[0], setIsCanPlay = _useState6[1];
59
- var _useState7 = useState("00:00:00"), _useState8 = _slicedToArray(_useState7, 2), currentDuration = _useState8[0], setCurrentDuration = _useState8[1];
60
- var AudioRef = useRef(null);
61
- var statusRef = useRef({
9
+ const defaultProps = Object.assign(Object.assign({}, ComponentDefaults), { src: "", muted: false, autoPlay: false, loop: false, preload: "auto", type: "progress", onBack: (e) => {
10
+ }, onForward: (e) => {
11
+ }, onPause: (e) => {
12
+ }, onEnd: (e) => {
13
+ }, onMute: (e) => {
14
+ }, onCanPlay: (e) => {
15
+ } });
16
+ const Audio = (props) => {
17
+ const { locale } = useConfig();
18
+ const _a = Object.assign(Object.assign({}, defaultProps), props), { className, src, style, muted, autoPlay, loop, preload, type, onBack, onForward, onPause, onEnd, onMute, onCanPlay, children } = _a, rest = __rest(_a, ["className", "src", "style", "muted", "autoPlay", "loop", "preload", "type", "onBack", "onForward", "onPause", "onEnd", "onMute", "onCanPlay", "children"]);
19
+ const [playing, setPlaying] = useState(false);
20
+ const [percent, setPercent] = useState(0);
21
+ const [isCanPlay, setIsCanPlay] = useState(false);
22
+ const [currentDuration, setCurrentDuration] = useState("00:00:00");
23
+ const AudioRef = useRef(null);
24
+ const statusRef = useRef({
62
25
  currentTime: 0,
63
26
  currentDuration: "00:00:00",
64
27
  percent: 0,
@@ -68,8 +31,8 @@ var Audio = function Audio2(props) {
68
31
  playing: props.autoPlay,
69
32
  handPlaying: false
70
33
  });
71
- var classPrefix = "nut-audio";
72
- var handleEnded = function handleEnded2(e) {
34
+ const classPrefix = "nut-audio";
35
+ const handleEnded = (e) => {
73
36
  if (props.loop) {
74
37
  console.warn(locale.audio.tips || "onPlayEnd事件在loop=false时才会触发");
75
38
  } else {
@@ -78,18 +41,18 @@ var Audio = function Audio2(props) {
78
41
  };
79
42
  function watch() {
80
43
  if (AudioRef && AudioRef.current) {
81
- var current = AudioRef.current;
82
- current.addEventListener("play", function() {
44
+ const current = AudioRef.current;
45
+ current.addEventListener("play", () => {
83
46
  setPlaying(true);
84
47
  });
85
48
  }
86
49
  }
87
- useEffect(function() {
50
+ useEffect(() => {
88
51
  watch();
89
52
  }, []);
90
- useEffect(function() {
53
+ useEffect(() => {
91
54
  }, [currentDuration]);
92
- var handleStatusChange = function handleStatusChange2() {
55
+ const handleStatusChange = () => {
93
56
  setPlaying(!playing);
94
57
  if (playing) {
95
58
  AudioRef && AudioRef.current && AudioRef.current.pause();
@@ -97,102 +60,84 @@ var Audio = function Audio2(props) {
97
60
  AudioRef && AudioRef.current && AudioRef.current.play();
98
61
  }
99
62
  };
100
- var renderIcon = function renderIcon2() {
101
- return React__default.createElement("div", {
102
- className: "".concat(classPrefix, "-icon")
103
- }, React__default.createElement("div", {
104
- className: classNames("".concat(classPrefix, "-icon-box"), playing ? "".concat(classPrefix, "-icon-play") : "".concat(classPrefix, "-icon-stop")),
105
- onClick: handleStatusChange
106
- }, React__default.createElement(Service, {
107
- className: playing ? "nut-icon-loading" : ""
108
- })));
63
+ const renderIcon = () => {
64
+ return React__default.createElement(
65
+ "div",
66
+ { className: `${classPrefix}-icon` },
67
+ React__default.createElement(
68
+ "div",
69
+ { className: classNames(`${classPrefix}-icon-box`, playing ? `${classPrefix}-icon-play` : `${classPrefix}-icon-stop`), onClick: handleStatusChange },
70
+ React__default.createElement(Service, { className: playing ? "nut-icon-loading" : "" })
71
+ )
72
+ );
109
73
  };
110
- var handleBack = function handleBack2() {
74
+ const handleBack = () => {
111
75
  if (statusRef.current.currentTime > 0 && AudioRef.current) {
112
76
  statusRef.current.currentTime--;
113
77
  AudioRef.current.currentTime = statusRef.current.currentTime;
114
78
  props.onBack && props.onBack(AudioRef.current);
115
79
  }
116
80
  };
117
- var handleForward = function handleForward2() {
81
+ const handleForward = () => {
118
82
  if (AudioRef.current) {
119
83
  statusRef.current.currentTime++;
120
84
  AudioRef.current.currentTime = statusRef.current.currentTime;
121
85
  props.onForward && props.onForward(AudioRef.current);
122
86
  }
123
87
  };
124
- var handleMute = function handleMute2() {
88
+ const handleMute = () => {
125
89
  if (AudioRef.current) {
126
90
  AudioRef.current.muted = !AudioRef.current.muted;
127
91
  props.onMute && props.onMute(AudioRef.current);
128
92
  }
129
93
  };
130
- var handlePause = function handlePause2(e) {
94
+ const handlePause = (e) => {
131
95
  setPlaying(false);
132
96
  props.onPause && props.onPause(e);
133
97
  };
134
- var formatSeconds = function formatSeconds2(value) {
98
+ const formatSeconds = (value) => {
135
99
  if (!value) {
136
100
  return "00:00:00";
137
101
  }
138
- var time = parseInt(value);
139
- var hours = Math.floor(time / 3600);
140
- var minutes = Math.floor((time - hours * 3600) / 60);
141
- var seconds = time - hours * 3600 - minutes * 60;
142
- var result = "";
143
- result += "".concat("0".concat(hours.toString()).slice(-2), ":");
144
- result += "".concat("0".concat(minutes.toString()).slice(-2), ":");
145
- result += "0".concat(seconds.toString()).slice(-2);
102
+ const time = parseInt(value);
103
+ const hours = Math.floor(time / 3600);
104
+ const minutes = Math.floor((time - hours * 3600) / 60);
105
+ const seconds = time - hours * 3600 - minutes * 60;
106
+ let result = "";
107
+ result += `${`0${hours.toString()}`.slice(-2)}:`;
108
+ result += `${`0${minutes.toString()}`.slice(-2)}:`;
109
+ result += `0${seconds.toString()}`.slice(-2);
146
110
  return result;
147
111
  };
148
- var renderProgerss = function renderProgerss2() {
149
- return React__default.createElement(React__default.Fragment, null, React__default.createElement("div", {
150
- className: "".concat(classPrefix, "-progress")
151
- }, React__default.createElement("div", {
152
- className: "time"
153
- }, currentDuration), React__default.createElement("div", {
154
- className: "".concat(classPrefix, "-progress-bar-wrapper")
155
- }, React__default.createElement(Range, {
156
- value: percent,
157
- onChange: function onChange(val) {
158
- return setPercent(val);
159
- },
160
- currentDescription: null,
161
- maxDescription: null,
162
- minDescription: null,
163
- "inactive-color": "#cccccc",
164
- "active-color": "#fa2c19"
165
- })), React__default.createElement("div", {
166
- className: "time"
167
- }, AudioRef.current ? formatSeconds("".concat(statusRef.current.second)) : "00:00:00")), React__default.createElement("div", {
168
- className: isCanPlay ? "custom-button-group" : "custom-button-group-disable"
169
- }, React__default.createElement(Button, {
170
- type: "primary",
171
- size: "small",
172
- className: "back",
173
- onClick: handleBack
174
- }, locale.audio.back || "快退"), React__default.createElement(Button, {
175
- type: "primary",
176
- size: "small",
177
- className: "start",
178
- onClick: handleStatusChange
179
- }, playing ? "".concat(locale.audio.pause || "暂停") : "".concat(locale.audio.start || "开始")), React__default.createElement(Button, {
180
- type: "primary",
181
- size: "small",
182
- onClick: handleForward
183
- }, locale.audio.forward || "快进"), React__default.createElement(Button, {
184
- type: AudioRef.current && AudioRef.current.muted ? "default" : "primary",
185
- size: "small",
186
- onClick: handleMute
187
- }, locale.audio.mute || "静音")));
112
+ const renderProgerss = () => {
113
+ return React__default.createElement(
114
+ React__default.Fragment,
115
+ null,
116
+ React__default.createElement(
117
+ "div",
118
+ { className: `${classPrefix}-progress` },
119
+ React__default.createElement("div", { className: "time" }, currentDuration),
120
+ React__default.createElement(
121
+ "div",
122
+ { className: `${classPrefix}-progress-bar-wrapper` },
123
+ React__default.createElement(Range, { value: percent, onChange: (val) => setPercent(val), currentDescription: null, maxDescription: null, minDescription: null, "inactive-color": "#cccccc", "active-color": "#fa2c19" })
124
+ ),
125
+ React__default.createElement("div", { className: "time" }, AudioRef.current ? formatSeconds(`${statusRef.current.second}`) : "00:00:00")
126
+ ),
127
+ React__default.createElement(
128
+ "div",
129
+ { className: isCanPlay ? "custom-button-group" : "custom-button-group-disable" },
130
+ React__default.createElement(Button, { type: "primary", size: "small", className: "back", onClick: handleBack }, locale.audio.back || "快退"),
131
+ React__default.createElement(Button, { type: "primary", size: "small", className: "start", onClick: handleStatusChange }, playing ? `${locale.audio.pause || "暂停"}` : `${locale.audio.start || "开始"}`),
132
+ React__default.createElement(Button, { type: "primary", size: "small", onClick: handleForward }, locale.audio.forward || "快进"),
133
+ React__default.createElement(Button, { type: AudioRef.current && AudioRef.current.muted ? "default" : "primary", size: "small", onClick: handleMute }, locale.audio.mute || "静音")
134
+ )
135
+ );
188
136
  };
189
- var renderNone = function renderNone2() {
190
- return React__default.createElement("div", {
191
- className: "".concat(classPrefix, "-none-container"),
192
- onClick: handleStatusChange
193
- }, children);
137
+ const renderNone = () => {
138
+ return React__default.createElement("div", { className: `${classPrefix}-none-container`, onClick: handleStatusChange }, children);
194
139
  };
195
- var renderAudio = function renderAudio2() {
140
+ const renderAudio = () => {
196
141
  switch (type) {
197
142
  case "icon":
198
143
  return renderIcon();
@@ -204,7 +149,7 @@ var Audio = function Audio2(props) {
204
149
  return null;
205
150
  }
206
151
  };
207
- var handleCanplay = function handleCanplay2(e) {
152
+ const handleCanplay = (e) => {
208
153
  setIsCanPlay(true);
209
154
  if (props.autoPlay && !playing) {
210
155
  AudioRef && AudioRef.current && AudioRef.current.play();
@@ -214,40 +159,24 @@ var Audio = function Audio2(props) {
214
159
  props.onCanPlay && props.onCanPlay(e);
215
160
  }
216
161
  };
217
- var onTimeupdate = function onTimeupdate2(e) {
218
- var time = parseInt(String(e.target.currentTime));
219
- var formated = formatSeconds("".concat(time));
162
+ const onTimeupdate = (e) => {
163
+ const time = parseInt(String(e.target.currentTime));
164
+ const formated = formatSeconds(`${time}`);
220
165
  statusRef.current.currentDuration = formated;
221
166
  setPercent(time / statusRef.current.second * 100);
222
167
  setCurrentDuration(formated);
223
168
  statusRef.current.currentTime = time;
224
169
  };
225
- return React__default.createElement("div", _objectSpread({
226
- className: classNames(classPrefix, className),
227
- style
228
- }, rest), renderAudio(), React__default.createElement("audio", {
229
- className: "audioMain",
230
- controls: type === "controls",
231
- ref: AudioRef,
232
- src,
233
- muted,
234
- preload,
235
- loop,
236
- onPause: function onPause3(e) {
237
- return handlePause(e);
238
- },
239
- onEnded: function onEnded(e) {
240
- return handleEnded(e);
241
- },
242
- onCanPlay: function onCanPlay3(e) {
243
- return handleCanplay(e);
244
- },
245
- onTimeUpdate: function onTimeUpdate(e) {
246
- return onTimeupdate(e);
247
- }
248
- }, React__default.createElement("track", {
249
- kind: "captions"
250
- })));
170
+ return React__default.createElement(
171
+ "div",
172
+ Object.assign({ className: classNames(classPrefix, className), style }, rest),
173
+ renderAudio(),
174
+ React__default.createElement(
175
+ "audio",
176
+ { className: "audioMain", controls: type === "controls", ref: AudioRef, src, muted, preload, loop, onPause: (e) => handlePause(e), onEnded: (e) => handleEnded(e), onCanPlay: (e) => handleCanplay(e), onTimeUpdate: (e) => onTimeupdate(e) },
177
+ React__default.createElement("track", { kind: "captions" })
178
+ )
179
+ );
251
180
  };
252
181
  Audio.defaultProps = defaultProps;
253
182
  Audio.displayName = "NutAudio";