@nutui/nutui-react-taro 1.4.4 → 1.4.5

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 (219) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/esm/Address.js +5 -5
  3. package/dist/esm/Audio.js +5 -5
  4. package/dist/esm/AvatarContext-7153ad2b.js +3 -1
  5. package/dist/esm/AvatarGroup.js +4 -4
  6. package/dist/esm/Calendar.js +5 -5
  7. package/dist/esm/CalendarItem.js +4 -4
  8. package/dist/esm/Card.js +4 -3
  9. package/dist/esm/Cell.js +2 -2
  10. package/dist/esm/ConfigProvider.js +3 -3
  11. package/dist/esm/CountDown.js +4 -4
  12. package/dist/esm/DatePicker.js +5 -5
  13. package/dist/esm/Dialog.js +4 -4
  14. package/dist/esm/Ellipsis.js +4 -4
  15. package/dist/esm/Empty.js +4 -4
  16. package/dist/esm/FixedNav.js +4 -4
  17. package/dist/esm/Form.js +4 -4
  18. package/dist/esm/FormItem.js +3 -3
  19. package/dist/esm/Grid.js +4 -4
  20. package/dist/esm/GridItem.js +4 -4
  21. package/dist/esm/Image.js +4 -4
  22. package/dist/esm/Infiniteloading.js +4 -4
  23. package/dist/esm/Input.js +4 -4
  24. package/dist/esm/MenuItem.js +4 -4
  25. package/dist/esm/NoticeBar.js +2 -2
  26. package/dist/esm/NumberKeyboard.js +4 -4
  27. package/dist/esm/Pagination.js +4 -4
  28. package/dist/esm/Picker.js +4 -4
  29. package/dist/esm/PullToRefresh.js +4 -4
  30. package/dist/esm/Range.js +4 -4
  31. package/dist/esm/SearchBar.js +4 -4
  32. package/dist/esm/ShortPassword.js +4 -4
  33. package/dist/esm/SideNavBar.js +4 -4
  34. package/dist/esm/Signature.js +4 -4
  35. package/dist/esm/Sticky.js +4 -4
  36. package/dist/esm/Table.js +4 -4
  37. package/dist/esm/Tag.js +3 -2
  38. package/dist/esm/TextArea.js +4 -4
  39. package/dist/esm/TimeDetail.js +4 -4
  40. package/dist/esm/TimePannel.js +4 -4
  41. package/dist/esm/TimeSelect.js +6 -6
  42. package/dist/esm/Uploader.js +4 -4
  43. package/dist/esm/UserContext-68f62e66.js +3 -1
  44. package/dist/esm/UserContext-b4181162.js +3 -1
  45. package/dist/esm/UserContext-be8097d2.js +3 -1
  46. package/dist/esm/VirtualList.js +6 -4
  47. package/dist/esm/WaterMark.js +4 -4
  48. package/dist/esm/actionsheet.taro-a58d3d12.js +45 -83
  49. package/dist/esm/address.taro-79cc7c96.js +461 -0
  50. package/dist/esm/animate.taro-b0e83dd5.js +32 -46
  51. package/dist/esm/animatingnumbers.taro-6f40a2e9.js +93 -134
  52. package/dist/esm/audio.taro-4fadc583.js +161 -0
  53. package/dist/esm/avatar.taro-85ced995.js +93 -119
  54. package/dist/esm/avatargroup-1d900174.js +34 -0
  55. package/dist/esm/backtop.taro-99107c30.js +39 -62
  56. package/dist/esm/badge.taro-fe9171ec.js +40 -58
  57. package/dist/esm/barrage.taro-0e157b5e.js +61 -91
  58. package/dist/esm/bem-893ad28d.js +3 -6
  59. package/dist/esm/button.taro-4ce133b9.js +87 -98
  60. package/dist/esm/calendar.taro-4ed72058.js +38 -0
  61. package/dist/esm/calendaritem.taro-1ebe428d.js +571 -0
  62. package/dist/esm/card.taro-39055e82.js +32 -0
  63. package/dist/esm/cascader.taro-d8cb1c3e.js +397 -636
  64. package/dist/esm/cell.taro-9a04a92e.js +64 -0
  65. package/dist/esm/cellgroup.taro-e094471c.js +18 -27
  66. package/dist/esm/checkbox.taro-0bda9796.js +160 -232
  67. package/dist/esm/circleprogress.taro-47db537c.js +99 -120
  68. package/dist/esm/col.taro-b61c7cba.js +33 -50
  69. package/dist/esm/collapse.taro-af58206c.js +73 -86
  70. package/dist/esm/collapseitem-ce1849d2.js +75 -139
  71. package/dist/esm/configprovider-5eea4f5d.js +19 -0
  72. package/dist/esm/configprovider.taro-26882dd2.js +42 -0
  73. package/dist/esm/countdown.taro-9e40de9c.js +225 -0
  74. package/dist/esm/datepicker.taro-7220e495.js +270 -0
  75. package/dist/esm/dialog.taro-1c03960e.js +123 -0
  76. package/dist/esm/divider.taro-5236fe6a.js +27 -27
  77. package/dist/esm/drag.taro-82b6b27a.js +99 -138
  78. package/dist/esm/elevator.taro-d7d65470.js +185 -259
  79. package/dist/esm/ellipsis.taro-49b6db0c.js +232 -0
  80. package/dist/esm/empty.taro-7bd813f9.js +62 -0
  81. package/dist/esm/fixednav.taro-5ad15202.js +53 -0
  82. package/dist/esm/form.taro-71d32671.js +179 -0
  83. package/dist/esm/formitem.taro-3089489b.js +89 -0
  84. package/dist/esm/grid.taro-e6decfce.js +58 -0
  85. package/dist/esm/grid.taro.context-39636af9.js +4 -2
  86. package/dist/esm/griditem.taro-4cade72e.js +90 -0
  87. package/dist/esm/icon-8dc4de10.js +43 -51
  88. package/dist/esm/icon.taro-1d0d4fb7.js +43 -51
  89. package/dist/esm/image.taro-e6dc5867.js +64 -0
  90. package/dist/esm/imagepreview.taro-3400ea03.js +158 -205
  91. package/dist/esm/index.taro-a36f96fb.js +149 -210
  92. package/dist/esm/indicator.taro-183ea169.js +29 -43
  93. package/dist/esm/infiniteloading.taro-6c2a2e95.js +142 -0
  94. package/dist/esm/input.taro-fd566407.js +243 -0
  95. package/dist/esm/inputnumber.taro-dc39b853.js +129 -177
  96. package/dist/esm/layout.taro-358f014f.js +6 -9
  97. package/dist/esm/menu.taro-4abed328.js +89 -132
  98. package/dist/esm/menuitem.taro-6e8b27c3.js +130 -0
  99. package/dist/esm/navbar.taro-c931c078.js +69 -105
  100. package/dist/esm/noticebar.taro-69ea7673.js +450 -0
  101. package/dist/esm/notify.taro-308e5892.js +66 -97
  102. package/dist/esm/numberkeyboard.taro-194519e4.js +158 -0
  103. package/dist/esm/nutui-react.es.js +44 -44
  104. package/dist/esm/offsetContext-bfb02c25.js +3 -1
  105. package/dist/esm/overlay.taro-98367bc1.js +59 -74
  106. package/dist/esm/pagination.taro-bb490de9.js +124 -0
  107. package/dist/esm/picker.taro-2a8ded7c.js +420 -0
  108. package/dist/esm/popover.taro-46d813e8.js +132 -222
  109. package/dist/esm/popup.taro-cb777e09.js +125 -178
  110. package/dist/esm/price.taro-8801462e.js +75 -86
  111. package/dist/esm/progress.taro-623bc807.js +84 -118
  112. package/dist/esm/pulltorefresh.taro-cab7b51c.js +221 -0
  113. package/dist/esm/range.taro-5d6ff217.js +332 -0
  114. package/dist/esm/rate.taro-10197384.js +64 -111
  115. package/dist/esm/row.taro-37a895de.js +38 -42
  116. package/dist/esm/searchbar.taro-839dd622.js +148 -0
  117. package/dist/esm/shortpassword.taro-182d46f7.js +111 -0
  118. package/dist/esm/sidenavbar.taro-006cf38b.js +35 -0
  119. package/dist/esm/sidenavbaritem.taro-fee11d26.js +9 -22
  120. package/dist/esm/signature.taro-33632585.js +143 -0
  121. package/dist/esm/skeleton.taro-853ce460.js +51 -88
  122. package/dist/esm/step.taro-1c94e067.js +49 -78
  123. package/dist/esm/steps.taro-acf205a0.js +21 -30
  124. package/dist/esm/sticky.taro-d0553f48.js +13 -0
  125. package/dist/esm/subsidenavbar.taro-f46b4c73.js +58 -75
  126. package/dist/esm/swipe.taro-83bc248f.js +164 -254
  127. package/dist/esm/swiper.taro-852f6615.js +424 -505
  128. package/dist/esm/swiperitem-86a3578a.js +20 -28
  129. package/dist/esm/switch.taro-bae2dca0.js +43 -64
  130. package/dist/esm/tabbar.taro-86cece39.js +47 -57
  131. package/dist/esm/tabbaritem.taro-8dfb8055.js +51 -79
  132. package/dist/esm/table.taro-cb4dd2c3.js +92 -0
  133. package/dist/esm/tabpane.taro-91cd6cf4.js +17 -22
  134. package/dist/esm/tabs.taro-e71875fa.js +121 -165
  135. package/dist/esm/tag.taro-00fe554d.js +89 -0
  136. package/dist/esm/textarea.taro-42600f8c.js +74 -0
  137. package/dist/esm/timedetail.taro-c5f564fd.js +44 -0
  138. package/dist/esm/timepannel.taro-29f9dd86.js +22 -0
  139. package/dist/esm/timeselect.taro-3ecce65d.js +133 -0
  140. package/dist/esm/toast.taro-0804b6b4.js +99 -137
  141. package/dist/esm/trendarrow.taro-5a7153e4.js +63 -90
  142. package/dist/esm/types/src/packages/cell/cell.taro.d.ts +0 -1
  143. package/dist/esm/types/src/packages/noticebar/noticebar.d.ts +5 -4
  144. package/dist/esm/types/src/packages/noticebar/noticebar.taro.d.ts +5 -4
  145. package/dist/esm/types/src/packages/uploader/uploader.d.ts +1 -1
  146. package/dist/esm/types/src/packages/virtuallist/virtuallist.taro.d.ts +13 -2
  147. package/dist/esm/typings-1c5f2628.js +7 -6
  148. package/dist/esm/uploader.taro-f80d76d9.js +392 -0
  149. package/dist/esm/useClientRect-bf69d7b3.js +5 -25
  150. package/dist/esm/useTouch-a2ea68c6.js +63 -93
  151. package/dist/esm/video-8a3518c5.js +59 -83
  152. package/dist/esm/virtuallist.taro-e3345ced.js +215 -0
  153. package/dist/esm/watermark.taro-cd9db98a.js +114 -0
  154. package/dist/esm/zh-CN-dfc384d0.js +128 -133
  155. package/dist/locales/base.js +1 -1
  156. package/dist/locales/en-US.js +1 -1
  157. package/dist/locales/id-ID.js +1 -1
  158. package/dist/locales/zh-CN.js +1 -1
  159. package/dist/locales/zh-TW.js +1 -1
  160. package/dist/locales/zh-UG.js +1 -1
  161. package/dist/nutui.react.es.js +634 -5664
  162. package/dist/nutui.react.umd.js +634 -5664
  163. package/dist/packages/noticebar/noticebar.scss +17 -0
  164. package/dist/packages/radio/radio.scss +3 -1
  165. package/dist/packages/row/row.scss +2 -0
  166. package/dist/packages/searchbar/searchbar.scss +1 -1
  167. package/dist/packages/tag/tag.scss +13 -5
  168. package/dist/packages/virtuallist/virtuallist.scss +24 -0
  169. package/dist/style.css +1 -1
  170. package/dist/style.es.js +1 -1
  171. package/dist/styles/temp.scss +2340 -0
  172. package/dist/styles/theme-dark.scss +7 -0
  173. package/dist/styles/theme-default.scss +11 -0
  174. package/dist/styles/variables.scss +1945 -710
  175. package/dist/types/index.d.ts +16 -23
  176. package/package.json +9 -4
  177. package/dist/esm/address.taro-1e2aea24.js +0 -615
  178. package/dist/esm/audio.taro-fddcdfc0.js +0 -228
  179. package/dist/esm/avatargroup-f7f600ff.js +0 -42
  180. package/dist/esm/calendar.taro-72974415.js +0 -83
  181. package/dist/esm/calendaritem.taro-84e889eb.js +0 -580
  182. package/dist/esm/card.taro-a530dfb3.js +0 -61
  183. package/dist/esm/cell.taro-cf50c4f2.js +0 -109
  184. package/dist/esm/configprovider-c7d60e20.js +0 -18
  185. package/dist/esm/configprovider.taro-8bdb3a28.js +0 -50
  186. package/dist/esm/countdown.taro-d7dc8681.js +0 -246
  187. package/dist/esm/datepicker.taro-7199f521.js +0 -304
  188. package/dist/esm/dialog.taro-f54cfbf0.js +0 -187
  189. package/dist/esm/ellipsis.taro-c0de6ff4.js +0 -309
  190. package/dist/esm/empty.taro-dbc66496.js +0 -81
  191. package/dist/esm/fixednav.taro-9e759320.js +0 -97
  192. package/dist/esm/form.taro-880014b1.js +0 -181
  193. package/dist/esm/formitem.taro-3695f4a7.js +0 -136
  194. package/dist/esm/grid.taro-c2cc12d6.js +0 -81
  195. package/dist/esm/griditem.taro-892153cd.js +0 -122
  196. package/dist/esm/image.taro-c30973d5.js +0 -105
  197. package/dist/esm/infiniteloading.taro-b5ddf3cc.js +0 -188
  198. package/dist/esm/input.taro-104130c1.js +0 -361
  199. package/dist/esm/menuitem.taro-216e9f7d.js +0 -193
  200. package/dist/esm/noticebar.taro-94002898.js +0 -368
  201. package/dist/esm/numberkeyboard.taro-5e8f0ddf.js +0 -245
  202. package/dist/esm/pagination.taro-9925ffab.js +0 -169
  203. package/dist/esm/picker.taro-3b5cc054.js +0 -540
  204. package/dist/esm/pulltorefresh.taro-f26a20dd.js +0 -302
  205. package/dist/esm/range.taro-c41e9b90.js +0 -469
  206. package/dist/esm/searchbar.taro-01ed4ea4.js +0 -236
  207. package/dist/esm/shortpassword.taro-3a3bf412.js +0 -190
  208. package/dist/esm/sidenavbar.taro-06026f31.js +0 -66
  209. package/dist/esm/signature.taro-17648cac.js +0 -192
  210. package/dist/esm/sticky.taro-36013e97.js +0 -16
  211. package/dist/esm/table.taro-adda6622.js +0 -139
  212. package/dist/esm/tag.taro-bd900990.js +0 -104
  213. package/dist/esm/textarea.taro-83d5fe73.js +0 -102
  214. package/dist/esm/timedetail.taro-105f5380.js +0 -68
  215. package/dist/esm/timepannel.taro-c66c63dd.js +0 -30
  216. package/dist/esm/timeselect.taro-fc7ec6ee.js +0 -172
  217. package/dist/esm/uploader.taro-a1edf38f.js +0 -529
  218. package/dist/esm/virtuallist.taro-4add61c3.js +0 -315
  219. package/dist/esm/watermark.taro-323d1cf3.js +0 -132
@@ -1,145 +1,104 @@
1
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
- import _createClass from "@babel/runtime/helpers/createClass";
3
- import _inherits from "@babel/runtime/helpers/inherits";
4
- import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
5
- import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
6
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
7
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
8
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
9
- var _excluded = ["maxLen", "endNumber", "delaySpeed", "easeSpeed", "className", "thousands"];
10
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
11
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
12
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
13
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
14
1
  import React__default, { useRef, useState, useEffect, Component } from 'react';
15
2
  import Taro from '@tarojs/taro';
16
3
  import { c as cn } from './bem-893ad28d.js';
17
- var defaultProps$1 = {
18
- maxLen: 0,
19
- endNumber: '',
20
- delaySpeed: 300,
21
- easeSpeed: 1,
22
- thousands: false,
23
- className: ''
4
+
5
+ const defaultProps$1 = {
6
+ maxLen: 0,
7
+ endNumber: '',
8
+ delaySpeed: 300,
9
+ easeSpeed: 1,
10
+ thousands: false,
11
+ className: '',
24
12
  };
25
- var CountUp = function CountUp(props) {
26
- var _defaultProps$1$props = _objectSpread(_objectSpread({}, defaultProps$1), props),
27
- maxLen = _defaultProps$1$props.maxLen,
28
- endNumber = _defaultProps$1$props.endNumber,
29
- delaySpeed = _defaultProps$1$props.delaySpeed,
30
- easeSpeed = _defaultProps$1$props.easeSpeed,
31
- className = _defaultProps$1$props.className,
32
- thousands = _defaultProps$1$props.thousands,
33
- reset = _objectWithoutProperties(_defaultProps$1$props, _excluded);
34
- var b = cn('countup');
35
- var countupRef = useRef(null);
36
- var timerRef = useRef(0);
37
- var numbers = Array.from({
38
- length: 10
39
- }, function (v, i) {
40
- return i;
41
- });
42
- var getShowNumber = function getShowNumber() {
43
- var splitArr = endNumber.split('.');
44
- var intNumber = maxLen && splitArr[0].length < maxLen ? (Array(maxLen).join('0') + splitArr[0]).slice(-maxLen) : splitArr[0];
45
- var currNumber = "".concat(thousands ? intNumber.replace(/(\d)(?=(?:\d{3})+$)/g, '$1,') : intNumber).concat(splitArr[1] ? '.' : '').concat(splitArr[1] || '');
46
- return currNumber.split('');
47
- };
48
- var _useState = useState([]),
49
- _useState2 = _slicedToArray(_useState, 2),
50
- numerArr = _useState2[0],
51
- setNumerArr = _useState2[1];
52
- var _useState3 = useState([]),
53
- _useState4 = _slicedToArray(_useState3, 2),
54
- transformArr = _useState4[0],
55
- setTransformArr = _useState4[1];
56
- var isLoaded = useRef(false);
57
- var setNumberTransform = function setNumberTransform() {
58
- if (countupRef.current && numerArr.length) {
59
- Taro.createSelectorQuery().selectAll('.nut-countup__listitem').node(function (numberItems) {
60
- var transformArrCache = [];
61
- Object.keys(numberItems).forEach(function (key) {
62
- var elem = numberItems[Number(key)];
63
- var idx = Number(numerArr[Number(key)]);
64
- if (elem) {
65
- // 计算规则:父元素和实际列表高度的百分比,分割成20等份
66
- var transform = idx || idx === 0 ? "translate(0, -".concat((idx === 0 ? 10 : idx) * 5, "%)") : '';
67
- transformArrCache.push(transform);
68
- }
69
- });
70
- setTransformArr([].concat(transformArrCache));
71
- }).exec();
72
- }
73
- };
74
- var numberEaseStyle = function numberEaseStyle(idx) {
75
- return {
76
- transition: "transform ".concat(easeSpeed, "s ease-in-out"),
77
- transform: transformArr[idx] ? transformArr[idx] : null
13
+ const CountUp = (props) => {
14
+ const { maxLen, endNumber, delaySpeed, easeSpeed, className, thousands, ...reset } = {
15
+ ...defaultProps$1,
16
+ ...props,
78
17
  };
79
- };
80
- useEffect(function () {
81
- setNumberTransform();
82
- }, [numerArr]);
83
- useEffect(function () {
84
- if (!isLoaded.current) {
85
- isLoaded.current = true;
86
- timerRef.current = window.setTimeout(function () {
87
- setNumerArr(getShowNumber());
88
- }, delaySpeed);
89
- } else {
90
- setNumerArr(getShowNumber());
91
- }
92
- return function () {
93
- window.clearTimeout(timerRef.current);
18
+ const b = cn('countup');
19
+ const countupRef = useRef(null);
20
+ const timerRef = useRef(0);
21
+ const numbers = Array.from({ length: 10 }, (v, i) => i);
22
+ const getShowNumber = () => {
23
+ const splitArr = endNumber.split('.');
24
+ const intNumber = maxLen && splitArr[0].length < maxLen
25
+ ? (Array(maxLen).join('0') + splitArr[0]).slice(-maxLen)
26
+ : splitArr[0];
27
+ const currNumber = `${thousands ? intNumber.replace(/(\d)(?=(?:\d{3})+$)/g, '$1,') : intNumber}${splitArr[1] ? '.' : ''}${splitArr[1] || ''}`;
28
+ return currNumber.split('');
29
+ };
30
+ const [numerArr, setNumerArr] = useState([]);
31
+ const [transformArr, setTransformArr] = useState([]);
32
+ const isLoaded = useRef(false);
33
+ const setNumberTransform = () => {
34
+ if (countupRef.current && numerArr.length) {
35
+ Taro.createSelectorQuery()
36
+ .selectAll('.nut-countup__listitem')
37
+ .node((numberItems) => {
38
+ const transformArrCache = [];
39
+ Object.keys(numberItems).forEach((key) => {
40
+ const elem = numberItems[Number(key)];
41
+ const idx = Number(numerArr[Number(key)]);
42
+ if (elem) {
43
+ // 计算规则:父元素和实际列表高度的百分比,分割成20等份
44
+ const transform = idx || idx === 0
45
+ ? `translate(0, -${(idx === 0 ? 10 : idx) * 5}%)`
46
+ : '';
47
+ transformArrCache.push(transform);
48
+ }
49
+ });
50
+ setTransformArr([...transformArrCache]);
51
+ })
52
+ .exec();
53
+ }
94
54
  };
95
- }, [endNumber]);
96
- return React__default.createElement("div", {
97
- className: "".concat(b(), " ").concat(className),
98
- ref: countupRef
99
- }, React__default.createElement("ul", {
100
- className: b('list')
101
- }, numerArr.map(function (item, idx) {
102
- return React__default.createElement("li", {
103
- className: "".concat(b('listitem', {
104
- number: !Number.isNaN(Number(item))
105
- })),
106
- key: idx
107
- }, !Number.isNaN(Number(item)) ? React__default.createElement("span", {
108
- className: b('number'),
109
- style: numberEaseStyle(idx)
110
- }, [].concat(numbers, numbers).map(function (number, subidx) {
111
- return React__default.createElement("span", {
112
- key: subidx
113
- }, number);
114
- })) : React__default.createElement("span", {
115
- className: b('separator')
116
- }, item));
117
- })));
55
+ const numberEaseStyle = (idx) => {
56
+ return {
57
+ transition: `transform ${easeSpeed}s ease-in-out`,
58
+ transform: transformArr[idx] ? transformArr[idx] : null,
59
+ };
60
+ };
61
+ useEffect(() => {
62
+ setNumberTransform();
63
+ }, [numerArr]);
64
+ useEffect(() => {
65
+ if (!isLoaded.current) {
66
+ isLoaded.current = true;
67
+ timerRef.current = window.setTimeout(() => {
68
+ setNumerArr(getShowNumber());
69
+ }, delaySpeed);
70
+ }
71
+ else {
72
+ setNumerArr(getShowNumber());
73
+ }
74
+ return () => {
75
+ window.clearTimeout(timerRef.current);
76
+ };
77
+ }, [endNumber]);
78
+ return (React__default.createElement("div", { className: `${b()} ${className}`, ref: countupRef },
79
+ React__default.createElement("ul", { className: b('list') }, numerArr.map((item, idx) => {
80
+ return (React__default.createElement("li", { className: `${b('listitem', {
81
+ number: !Number.isNaN(Number(item)),
82
+ })}`, key: idx }, !Number.isNaN(Number(item)) ? (React__default.createElement("span", { className: b('number'), style: numberEaseStyle(idx) }, [...numbers, ...numbers].map((number, subidx) => {
83
+ return React__default.createElement("span", { key: subidx }, number);
84
+ }))) : (React__default.createElement("span", { className: b('separator') }, item))));
85
+ }))));
118
86
  };
119
87
  CountUp.defaultProps = defaultProps$1;
120
88
  CountUp.displayName = 'NutCountUp';
121
- var defaultProps = {};
122
- var AnimatingNumbers = /*#__PURE__*/function (_Component) {
123
- _inherits(AnimatingNumbers, _Component);
124
- var _super = _createSuper(AnimatingNumbers);
125
- function AnimatingNumbers(props) {
126
- var _this;
127
- _classCallCheck(this, AnimatingNumbers);
128
- _this = _super.call(this, props);
129
- _this.state = {};
130
- return _this;
131
- }
132
- _createClass(AnimatingNumbers, [{
133
- key: "render",
134
- value: function render() {
135
- return React__default.createElement("div", {
136
- className: "nut-animatingnumbers"
137
- });
89
+
90
+ const defaultProps = {};
91
+ class AnimatingNumbers extends Component {
92
+ static defaultProps = defaultProps;
93
+ static displayName = 'NutAnimatingNumbers';
94
+ static CountUp = CountUp;
95
+ constructor(props) {
96
+ super(props);
97
+ this.state = {};
98
+ }
99
+ render() {
100
+ return React__default.createElement("div", { className: "nut-animatingnumbers" });
138
101
  }
139
- }]);
140
- return AnimatingNumbers;
141
- }(Component);
142
- _defineProperty(AnimatingNumbers, "defaultProps", defaultProps);
143
- _defineProperty(AnimatingNumbers, "displayName", 'NutAnimatingNumbers');
144
- _defineProperty(AnimatingNumbers, "CountUp", CountUp);
102
+ }
103
+
145
104
  export { AnimatingNumbers as A };
@@ -0,0 +1,161 @@
1
+ import React__default, { useState, useRef } from 'react';
2
+ import Taro from '@tarojs/taro';
3
+ import { I as Icon } from './icon.taro-1d0d4fb7.js';
4
+ import { R as Range } from './range.taro-5d6ff217.js';
5
+ import { B as Button } from './button.taro-4ce133b9.js';
6
+ import { c as cn } from './bem-893ad28d.js';
7
+ import { u as useConfig } from './configprovider.taro-26882dd2.js';
8
+ import { C as ComponentDefaults } from './typings-1c5f2628.js';
9
+
10
+ const b = cn('audio');
11
+ const warn = console.warn;
12
+ const defaultProps = {
13
+ ...ComponentDefaults,
14
+ className: '',
15
+ url: '',
16
+ style: {},
17
+ autoplay: false,
18
+ loop: false,
19
+ type: 'progress',
20
+ onFastBack: (ctx) => { },
21
+ onForward: (ctx) => { },
22
+ onPause: (ctx) => { },
23
+ onPlay: (ctx) => { },
24
+ onPlayEnd: (ctx) => { },
25
+ onCanPlay: (ctx) => { },
26
+ };
27
+ const Audio = (props) => {
28
+ const { locale } = useConfig();
29
+ const { className, url, style, autoplay, loop, type, onFastBack, onForward, onPause, onPlay, onPlayEnd, onCanPlay, children, iconClassPrefix, iconFontClassName, ...rest } = {
30
+ ...defaultProps,
31
+ ...props,
32
+ };
33
+ const [playing, setPlaying] = useState(false);
34
+ const [totalSeconds, setTotalSeconds] = useState(0);
35
+ const [percent, setPercent] = useState(0);
36
+ const [isCanPlay, setIsCanPlay] = useState(false);
37
+ const [currentDuration, setCurrentDuration] = useState('00:00:00');
38
+ const statusRef = useRef({
39
+ currentTime: 0,
40
+ currentDuration: '00:00:00',
41
+ percent: 0,
42
+ });
43
+ const audioRef = useRef(Taro.createInnerAudioContext());
44
+ const audioCtx = audioRef.current;
45
+ audioCtx.src = url;
46
+ audioCtx.autoplay = autoplay || false;
47
+ audioCtx.loop = loop || false;
48
+ audioCtx.onPause(() => {
49
+ props.onPause && props.onPause(audioCtx);
50
+ });
51
+ audioCtx.onEnded(() => {
52
+ if (props.loop) {
53
+ warn(locale.audio.tips || 'onPlayEnd事件在loop=false时才会触发');
54
+ }
55
+ else {
56
+ props.onPlayEnd && props.onPlayEnd(audioCtx);
57
+ }
58
+ });
59
+ audioCtx.onPlay(() => {
60
+ const { duration } = audioCtx;
61
+ setTotalSeconds(Math.floor(duration));
62
+ props.onPlay && props.onPlay(audioCtx);
63
+ });
64
+ audioCtx.onCanplay(() => {
65
+ const intervalID = setInterval(function () {
66
+ if (audioCtx.duration !== 0) {
67
+ setTotalSeconds(audioCtx.duration);
68
+ clearInterval(intervalID);
69
+ }
70
+ }, 500);
71
+ setIsCanPlay(true);
72
+ props.onCanPlay && props.onCanPlay(audioCtx);
73
+ });
74
+ audioCtx.onTimeUpdate(() => {
75
+ const time = parseInt(`${audioCtx.currentTime}`);
76
+ const formated = formatSeconds(`${time}`);
77
+ statusRef.current.currentDuration = formated;
78
+ setPercent((time / totalSeconds) * 100);
79
+ setCurrentDuration(formatSeconds(audioCtx.currentTime.toString()));
80
+ });
81
+ audioCtx.onError((res) => {
82
+ console.log('code', res.errCode);
83
+ console.log('message', res.errMsg);
84
+ });
85
+ function formatSeconds(value) {
86
+ if (!value) {
87
+ return '00:00:00';
88
+ }
89
+ const time = parseInt(value);
90
+ const hours = Math.floor(time / 3600);
91
+ const minutes = Math.floor((time - hours * 3600) / 60);
92
+ const secondss = time - hours * 3600 - minutes * 60;
93
+ let result = '';
94
+ result += `${`0${hours.toString()}`.slice(-2)}:`;
95
+ result += `${`0${minutes.toString()}`.slice(-2)}:`;
96
+ result += `0${secondss.toString()}`.slice(-2);
97
+ return result;
98
+ }
99
+ const handleBack = () => {
100
+ const currentTime = Math.floor(audioCtx.currentTime);
101
+ statusRef.current.currentTime = Math.max(currentTime - 1, 0);
102
+ setCurrentDuration(formatSeconds(statusRef.current.currentTime.toString()));
103
+ audioCtx.seek(statusRef.current.currentTime);
104
+ props.onFastBack && props.onFastBack(audioCtx);
105
+ };
106
+ const handleForward = () => {
107
+ const currentTime = Math.floor(audioCtx.currentTime);
108
+ statusRef.current.currentTime = Math.min(currentTime + 1, audioCtx.duration);
109
+ setCurrentDuration(formatSeconds(statusRef.current.currentTime.toString()));
110
+ audioCtx.seek(statusRef.current.currentTime);
111
+ props.onForward && props.onForward(audioCtx);
112
+ };
113
+ const handleStatusChange = () => {
114
+ setPlaying(!playing);
115
+ if (!playing) {
116
+ audioCtx.play();
117
+ }
118
+ else {
119
+ audioCtx.pause();
120
+ }
121
+ };
122
+ const renderIcon = () => {
123
+ return (React__default.createElement(React__default.Fragment, null,
124
+ React__default.createElement("div", { className: b('icon') },
125
+ React__default.createElement("div", { className: `${b('icon-box')} ${playing ? b('icon-play') : b('icon-stop')}`, onClick: handleStatusChange }, playing ? (React__default.createElement(Icon, { classPrefix: iconClassPrefix, fontClassName: iconFontClassName, name: "service", className: "nut-icon-loading" })) : (React__default.createElement(Icon, { classPrefix: iconClassPrefix, fontClassName: iconFontClassName, name: "service" }))))));
126
+ };
127
+ const renderProgerss = () => {
128
+ return (React__default.createElement(React__default.Fragment, null,
129
+ React__default.createElement("div", { className: b('progress') },
130
+ React__default.createElement("div", { className: "time" }, currentDuration),
131
+ React__default.createElement("div", { className: b('progress-bar-wrapper') },
132
+ React__default.createElement(Range, { modelValue: percent, hiddenTag: true, hiddenRange: true, "inactive-color": "#cccccc", "active-color": "#fa2c19" })),
133
+ React__default.createElement("div", { className: "time" }, formatSeconds(`${totalSeconds}`) || '00:00:00')),
134
+ React__default.createElement("div", { className: isCanPlay ? 'custom-button-group' : 'custom-button-group-disable' },
135
+ React__default.createElement(Button, { type: "primary", size: "small", className: "back", onClick: handleBack }, locale.audio.back || '快退'),
136
+ React__default.createElement(Button, { type: "primary", size: "small", className: "start", onClick: handleStatusChange }, playing
137
+ ? `${locale.audio.pause || '暂停'}`
138
+ : `${locale.audio.start || '开始'}`),
139
+ React__default.createElement(Button, { type: "primary", size: "small", onClick: handleForward }, locale.audio.forward || '快进'))));
140
+ };
141
+ const renderNone = () => {
142
+ return (React__default.createElement("div", { className: b('none-container'), onClick: handleStatusChange }, children));
143
+ };
144
+ const renderAudio = () => {
145
+ switch (type) {
146
+ case 'icon':
147
+ return renderIcon();
148
+ case 'progress':
149
+ return renderProgerss();
150
+ case 'none':
151
+ return renderNone();
152
+ default:
153
+ return null;
154
+ }
155
+ };
156
+ return (React__default.createElement("div", { className: `${b()} ${className}`, style: style, ...rest }, renderAudio()));
157
+ };
158
+ Audio.defaultProps = defaultProps;
159
+ Audio.displayName = 'NutAudio';
160
+
161
+ export { Audio as A };
@@ -1,9 +1,3 @@
1
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
4
- var _excluded = ["children", "prefixCls", "size", "shape", "bgColor", "color", "url", "icon", "iconSize", "className", "style", "activeAvatar", "onActiveAvatar", "onError", "iconClassPrefix", "iconFontClassName"];
5
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
6
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
7
1
  import React__default, { useState, useRef, useContext, useEffect } from 'react';
8
2
  import classNames from 'classnames';
9
3
  import { A as AvatarContext } from './AvatarContext-7153ad2b.js';
@@ -11,120 +5,100 @@ import { c as cn } from './bem-893ad28d.js';
11
5
  import { Image } from '@tarojs/components';
12
6
  import { I as Icon } from './icon.taro-1d0d4fb7.js';
13
7
  import { C as ComponentDefaults } from './typings-1c5f2628.js';
14
- var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
15
- size: '',
16
- icon: '',
17
- iconSize: '',
18
- bgColor: '#eee',
19
- color: '#666',
20
- prefixCls: 'nut-avatar',
21
- url: ''
22
- });
23
- var Avatar = function Avatar(props) {
24
- var _parent$propAvatarGro, _parent$propAvatarGro2, _classNames, _parent$propAvatarGro3, _parent$propAvatarGro4, _parent$propAvatarGro5, _parent$propAvatarGro6, _parent$propAvatarGro7, _parent$propAvatarGro9, _parent$propAvatarGro10, _parent$propAvatarGro11, _parent$propAvatarGro12, _parent$propAvatarGro13, _parent$propAvatarGro14, _parent$propAvatarGro15, _parent$propAvatarGro16;
25
- var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
26
- children = _defaultProps$props.children,
27
- prefixCls = _defaultProps$props.prefixCls,
28
- size = _defaultProps$props.size,
29
- shape = _defaultProps$props.shape,
30
- bgColor = _defaultProps$props.bgColor,
31
- color = _defaultProps$props.color,
32
- url = _defaultProps$props.url,
33
- icon = _defaultProps$props.icon,
34
- iconSize = _defaultProps$props.iconSize,
35
- className = _defaultProps$props.className,
36
- style = _defaultProps$props.style,
37
- activeAvatar = _defaultProps$props.activeAvatar,
38
- onActiveAvatar = _defaultProps$props.onActiveAvatar,
39
- onError = _defaultProps$props.onError,
40
- iconClassPrefix = _defaultProps$props.iconClassPrefix,
41
- iconFontClassName = _defaultProps$props.iconFontClassName,
42
- rest = _objectWithoutProperties(_defaultProps$props, _excluded);
43
- var _useState = useState(0),
44
- _useState2 = _slicedToArray(_useState, 2),
45
- maxSum = _useState2[0],
46
- setMaxSum = _useState2[1]; // avatarGroup里的avatar的个数
47
- var _useState3 = useState(false),
48
- _useState4 = _slicedToArray(_useState3, 2),
49
- showMax = _useState4[0],
50
- setShowMax = _useState4[1]; // 是否显示的最大头像个数
51
- var _useState5 = useState(1),
52
- _useState6 = _slicedToArray(_useState5, 2),
53
- avatarIndex = _useState6[0],
54
- setAvatarIndex = _useState6[1]; // avatar的索引
55
- var avatarRef = useRef(null);
56
- var parent = useContext(AvatarContext);
57
- var b = cn('avatar');
58
- var classes = classNames((_classNames = {}, _defineProperty(_classNames, "nut-avatar-".concat(size || (parent === null || parent === void 0 ? void 0 : (_parent$propAvatarGro = parent.propAvatarGroup) === null || _parent$propAvatarGro === void 0 ? void 0 : _parent$propAvatarGro.size) || 'normal'), true), _defineProperty(_classNames, "nut-avatar-".concat(shape || (parent === null || parent === void 0 ? void 0 : (_parent$propAvatarGro2 = parent.propAvatarGroup) === null || _parent$propAvatarGro2 === void 0 ? void 0 : _parent$propAvatarGro2.shape) || 'round'), true), _classNames));
59
- var cls = classNames(b(''), classes, className);
60
- var sizeValue = ['large', 'normal', 'small'];
61
- var styles = _objectSpread({
62
- width: sizeValue.indexOf(size) > -1 ? '' : "".concat(size, "px"),
63
- height: sizeValue.indexOf(size) > -1 ? '' : "".concat(size, "px"),
64
- backgroundColor: "".concat(bgColor),
65
- color: "".concat(color),
66
- marginLeft: avatarIndex !== 1 && parent !== null && parent !== void 0 && (_parent$propAvatarGro3 = parent.propAvatarGroup) !== null && _parent$propAvatarGro3 !== void 0 && _parent$propAvatarGro3.span ? "".concat(parent === null || parent === void 0 ? void 0 : (_parent$propAvatarGro4 = parent.propAvatarGroup) === null || _parent$propAvatarGro4 === void 0 ? void 0 : _parent$propAvatarGro4.span, "px") : '',
67
- zIndex: (parent === null || parent === void 0 ? void 0 : (_parent$propAvatarGro5 = parent.propAvatarGroup) === null || _parent$propAvatarGro5 === void 0 ? void 0 : _parent$propAvatarGro5.zIndex) === 'right' ? "".concat(Math.abs(maxSum - avatarIndex)) : ''
68
- }, style);
69
- var maxStyles = {
70
- backgroundColor: "".concat(parent === null || parent === void 0 ? void 0 : (_parent$propAvatarGro6 = parent.propAvatarGroup) === null || _parent$propAvatarGro6 === void 0 ? void 0 : _parent$propAvatarGro6.maxBgColor),
71
- color: "".concat(parent === null || parent === void 0 ? void 0 : (_parent$propAvatarGro7 = parent.propAvatarGroup) === null || _parent$propAvatarGro7 === void 0 ? void 0 : _parent$propAvatarGro7.maxColor)
72
- };
73
- var iconStyles = icon || '';
74
- useEffect(function () {
75
- var _parent$avatarGroupRe;
76
- var avatarChildren = parent === null || parent === void 0 ? void 0 : (_parent$avatarGroupRe = parent.avatarGroupRef) === null || _parent$avatarGroupRe === void 0 ? void 0 : _parent$avatarGroupRe.current.children;
77
- if (avatarChildren) {
78
- avatarLength(avatarChildren);
79
- }
80
- }, []);
81
- var avatarLength = function avatarLength(children) {
82
- var _avatarRef$current, _avatarRef$current$da, _parent$propAvatarGro8;
83
- for (var i = 0; i < children.length; i++) {
84
- if (children[i] && children[i].classList && (children[i].classList[0] === 'nut-avatar' || children[i].classList.values().next().value === 'nut-avatar')) {
85
- children[i].setAttribute('data-index', i + 1);
86
- }
87
- }
88
- var index = avatarRef === null || avatarRef === void 0 ? void 0 : (_avatarRef$current = avatarRef.current) === null || _avatarRef$current === void 0 ? void 0 : (_avatarRef$current$da = _avatarRef$current.dataset) === null || _avatarRef$current$da === void 0 ? void 0 : _avatarRef$current$da.index;
89
- var maxCount = parent === null || parent === void 0 ? void 0 : (_parent$propAvatarGro8 = parent.propAvatarGroup) === null || _parent$propAvatarGro8 === void 0 ? void 0 : _parent$propAvatarGro8.maxCount;
90
- setMaxSum(children.length);
91
- setAvatarIndex(index);
92
- if (index === children.length && index !== maxCount && children.length > maxCount) {
93
- setShowMax(true);
94
- }
95
- };
96
- var errorEvent = function errorEvent(e) {
97
- if (props.onError) {
98
- props.onError(e);
99
- }
100
- };
101
- var clickAvatar = function clickAvatar(e) {
102
- activeAvatar && activeAvatar(e);
103
- onActiveAvatar && onActiveAvatar(e);
104
- };
105
- console.log('!parent?.propAvatarGroup?.maxCount', !(parent !== null && parent !== void 0 && (_parent$propAvatarGro9 = parent.propAvatarGroup) !== null && _parent$propAvatarGro9 !== void 0 && _parent$propAvatarGro9.maxCount), showMax);
106
- return React__default.createElement(React__default.Fragment, null, (showMax || !(parent !== null && parent !== void 0 && (_parent$propAvatarGro10 = parent.propAvatarGroup) !== null && _parent$propAvatarGro10 !== void 0 && _parent$propAvatarGro10.maxCount) || avatarIndex <= (parent === null || parent === void 0 ? void 0 : (_parent$propAvatarGro11 = parent.propAvatarGroup) === null || _parent$propAvatarGro11 === void 0 ? void 0 : _parent$propAvatarGro11.maxCount)) && React__default.createElement("div", _objectSpread(_objectSpread({
107
- className: cls
108
- }, rest), {}, {
109
- style: !showMax ? styles : maxStyles,
110
- onClick: clickAvatar,
111
- ref: avatarRef
112
- }), (!(parent !== null && parent !== void 0 && (_parent$propAvatarGro12 = parent.propAvatarGroup) !== null && _parent$propAvatarGro12 !== void 0 && _parent$propAvatarGro12.maxCount) || avatarIndex <= (parent === null || parent === void 0 ? void 0 : (_parent$propAvatarGro13 = parent.propAvatarGroup) === null || _parent$propAvatarGro13 === void 0 ? void 0 : _parent$propAvatarGro13.maxCount)) && React__default.createElement(React__default.Fragment, null, url && React__default.createElement(Image, {
113
- className: "avatar-img",
114
- src: url,
115
- onError: errorEvent
116
- }), icon && React__default.createElement(Icon, {
117
- classPrefix: iconClassPrefix,
118
- fontClassName: iconFontClassName,
119
- className: "icon",
120
- name: iconStyles,
121
- size: iconSize
122
- }), children && React__default.createElement("span", {
123
- className: "text"
124
- }, children)), showMax && React__default.createElement("div", {
125
- className: "text"
126
- }, parent !== null && parent !== void 0 && (_parent$propAvatarGro14 = parent.propAvatarGroup) !== null && _parent$propAvatarGro14 !== void 0 && _parent$propAvatarGro14.maxContent ? parent === null || parent === void 0 ? void 0 : (_parent$propAvatarGro15 = parent.propAvatarGroup) === null || _parent$propAvatarGro15 === void 0 ? void 0 : _parent$propAvatarGro15.maxContent : "+ ".concat(avatarIndex - (parent === null || parent === void 0 ? void 0 : (_parent$propAvatarGro16 = parent.propAvatarGroup) === null || _parent$propAvatarGro16 === void 0 ? void 0 : _parent$propAvatarGro16.maxCount)))));
8
+
9
+ const defaultProps = {
10
+ ...ComponentDefaults,
11
+ size: '',
12
+ icon: '',
13
+ iconSize: '',
14
+ bgColor: '#eee',
15
+ color: '#666',
16
+ prefixCls: 'nut-avatar',
17
+ url: '',
18
+ };
19
+ const Avatar = (props) => {
20
+ const { children, prefixCls, size, shape, bgColor, color, url, icon, iconSize, className, style, activeAvatar, onActiveAvatar, onError, iconClassPrefix, iconFontClassName, ...rest } = {
21
+ ...defaultProps,
22
+ ...props,
23
+ };
24
+ const [maxSum, setMaxSum] = useState(0); // avatarGroup里的avatar的个数
25
+ const [showMax, setShowMax] = useState(false); // 是否显示的最大头像个数
26
+ const [avatarIndex, setAvatarIndex] = useState(1); // avatar的索引
27
+ const avatarRef = useRef(null);
28
+ const parent = useContext(AvatarContext);
29
+ const b = cn('avatar');
30
+ const classes = classNames({
31
+ [`nut-avatar-${size || parent?.propAvatarGroup?.size || 'normal'}`]: true,
32
+ [`nut-avatar-${shape || parent?.propAvatarGroup?.shape || 'round'}`]: true,
33
+ });
34
+ const cls = classNames(b(''), classes, className);
35
+ const sizeValue = ['large', 'normal', 'small'];
36
+ const styles = {
37
+ width: sizeValue.indexOf(size) > -1 ? '' : `${size}px`,
38
+ height: sizeValue.indexOf(size) > -1 ? '' : `${size}px`,
39
+ backgroundColor: `${bgColor}`,
40
+ color: `${color}`,
41
+ marginLeft: avatarIndex !== 1 && parent?.propAvatarGroup?.span
42
+ ? `${parent?.propAvatarGroup?.span}px`
43
+ : '',
44
+ zIndex: parent?.propAvatarGroup?.zIndex === 'right'
45
+ ? `${Math.abs(maxSum - avatarIndex)}`
46
+ : '',
47
+ ...style,
48
+ };
49
+ const maxStyles = {
50
+ backgroundColor: `${parent?.propAvatarGroup?.maxBgColor}`,
51
+ color: `${parent?.propAvatarGroup?.maxColor}`,
52
+ };
53
+ const iconStyles = icon || '';
54
+ useEffect(() => {
55
+ const avatarChildren = parent?.avatarGroupRef?.current.children;
56
+ if (avatarChildren) {
57
+ avatarLength(avatarChildren);
58
+ }
59
+ }, []);
60
+ const avatarLength = (children) => {
61
+ for (let i = 0; i < children.length; i++) {
62
+ if (children[i] &&
63
+ children[i].classList &&
64
+ (children[i].classList[0] === 'nut-avatar' ||
65
+ children[i].classList.values().next().value === 'nut-avatar')) {
66
+ children[i].setAttribute('data-index', i + 1);
67
+ }
68
+ }
69
+ const index = avatarRef?.current?.dataset?.index;
70
+ const maxCount = parent?.propAvatarGroup?.maxCount;
71
+ setMaxSum(children.length);
72
+ setAvatarIndex(index);
73
+ if (index === children.length &&
74
+ index !== maxCount &&
75
+ children.length > maxCount) {
76
+ setShowMax(true);
77
+ }
78
+ };
79
+ const errorEvent = (e) => {
80
+ if (props.onError) {
81
+ props.onError(e);
82
+ }
83
+ };
84
+ const clickAvatar = (e) => {
85
+ activeAvatar && activeAvatar(e);
86
+ onActiveAvatar && onActiveAvatar(e);
87
+ };
88
+ console.log('!parent?.propAvatarGroup?.maxCount', !parent?.propAvatarGroup?.maxCount, showMax);
89
+ return (React__default.createElement(React__default.Fragment, null, (showMax ||
90
+ !parent?.propAvatarGroup?.maxCount ||
91
+ avatarIndex <= parent?.propAvatarGroup?.maxCount) && (React__default.createElement("div", { className: cls, ...rest, style: !showMax ? styles : maxStyles, onClick: clickAvatar, ref: avatarRef },
92
+ (!parent?.propAvatarGroup?.maxCount ||
93
+ avatarIndex <= parent?.propAvatarGroup?.maxCount) && (React__default.createElement(React__default.Fragment, null,
94
+ url && (React__default.createElement(Image, { className: "avatar-img", src: url, onError: errorEvent })),
95
+ icon && (React__default.createElement(Icon, { classPrefix: iconClassPrefix, fontClassName: iconFontClassName, className: "icon", name: iconStyles, size: iconSize })),
96
+ children && React__default.createElement("span", { className: "text" }, children))),
97
+ showMax && (React__default.createElement("div", { className: "text" }, parent?.propAvatarGroup?.maxContent
98
+ ? parent?.propAvatarGroup?.maxContent
99
+ : `+ ${avatarIndex - parent?.propAvatarGroup?.maxCount}`))))));
127
100
  };
128
101
  Avatar.defaultProps = defaultProps;
129
102
  Avatar.displayName = 'NutAvatar';
103
+
130
104
  export { Avatar as A };