@nutui/nutui-react-taro 1.5.2-beta.1 → 1.5.2

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 (231) hide show
  1. package/dist/esm/ActionSheet.js +90 -14
  2. package/dist/esm/Address.js +620 -21
  3. package/dist/esm/Animate.js +53 -7
  4. package/dist/esm/AnimatingNumbers.js +125 -7
  5. package/dist/esm/Audio.js +264 -19
  6. package/dist/esm/Avatar.js +130 -11
  7. package/dist/esm/{AvatarContext-c96afdcc.js → AvatarContext-15733596.js} +1 -3
  8. package/dist/esm/AvatarGroup.js +41 -11
  9. package/dist/esm/BackTop.js +138 -10
  10. package/dist/esm/Badge.js +71 -9
  11. package/dist/esm/Barrage.js +97 -8
  12. package/dist/esm/Button.js +108 -9
  13. package/dist/esm/Calendar.js +128 -20
  14. package/dist/esm/CalendarItem.js +674 -12
  15. package/dist/esm/Card.js +61 -11
  16. package/dist/esm/Cascader.js +671 -16
  17. package/dist/esm/Cell.js +101 -9
  18. package/dist/esm/CellGroup.js +2 -5
  19. package/dist/esm/Checkbox.js +5 -7
  20. package/dist/esm/CheckboxGroup.js +111 -8
  21. package/dist/esm/CircleProgress.js +114 -8
  22. package/dist/esm/Col.js +57 -7
  23. package/dist/esm/Collapse.js +97 -7
  24. package/dist/esm/CollapseItem.js +146 -8
  25. package/dist/esm/ConfigProvider.js +187 -8
  26. package/dist/esm/CountDown.js +247 -9
  27. package/dist/esm/DatePicker.js +309 -25
  28. package/dist/esm/Dialog.js +296 -17
  29. package/dist/esm/Divider.js +34 -7
  30. package/dist/esm/Drag.js +118 -7
  31. package/dist/esm/Elevator.js +234 -8
  32. package/dist/esm/Ellipsis.js +176 -10
  33. package/dist/esm/Empty.js +79 -8
  34. package/dist/esm/FixedNav.js +103 -14
  35. package/dist/esm/Form.js +215 -10
  36. package/dist/esm/FormItem.js +3 -10
  37. package/dist/esm/Grid.js +81 -11
  38. package/dist/esm/GridItem.js +123 -13
  39. package/dist/esm/Icon.js +2 -5
  40. package/dist/esm/Image.js +169 -11
  41. package/dist/esm/ImagePreview.js +225 -19
  42. package/dist/esm/Indicator.js +50 -7
  43. package/dist/esm/Infiniteloading.js +215 -14
  44. package/dist/esm/Input.js +362 -12
  45. package/dist/esm/InputNumber.js +275 -9
  46. package/dist/esm/Layout.js +13 -5
  47. package/dist/esm/Menu.js +153 -10
  48. package/dist/esm/MenuItem.js +175 -15
  49. package/dist/esm/NavBar.js +114 -9
  50. package/dist/esm/NoticeBar.js +568 -10
  51. package/dist/esm/Notify.js +234 -8
  52. package/dist/esm/NumberKeyboard.js +247 -17
  53. package/dist/esm/Overlay.js +2 -6
  54. package/dist/esm/Pagination.js +168 -9
  55. package/dist/esm/Picker.js +494 -22
  56. package/dist/esm/Popover.js +223 -12
  57. package/dist/esm/Popup.js +193 -13
  58. package/dist/esm/Price.js +84 -6
  59. package/dist/esm/Progress.js +122 -9
  60. package/dist/esm/PullToRefresh.js +276 -13
  61. package/dist/esm/Radio.js +4 -8
  62. package/dist/esm/RadioGroup.js +120 -7
  63. package/dist/esm/Range.js +406 -15
  64. package/dist/esm/Rate.js +121 -9
  65. package/dist/esm/Row.js +49 -7
  66. package/dist/esm/SearchBar.js +235 -12
  67. package/dist/esm/ShortPassword.js +191 -17
  68. package/dist/esm/SideNavBar.js +57 -19
  69. package/dist/esm/SideNavBarItem.js +24 -5
  70. package/dist/esm/Signature.js +153 -13
  71. package/dist/esm/Skeleton.js +98 -12
  72. package/dist/esm/Step.js +87 -10
  73. package/dist/esm/Steps.js +38 -8
  74. package/dist/esm/Sticky.js +190 -11
  75. package/dist/esm/SubSideNavBar.js +78 -6
  76. package/dist/esm/Swipe.js +230 -10
  77. package/dist/esm/Swiper.js +490 -9
  78. package/dist/esm/SwiperItem.js +36 -8
  79. package/dist/esm/Switch.js +71 -6
  80. package/dist/esm/TabPane.js +2 -5
  81. package/dist/esm/Tabbar.js +68 -6
  82. package/dist/esm/TabbarItem.js +78 -9
  83. package/dist/esm/Table.js +140 -12
  84. package/dist/esm/Tabs.js +5 -8
  85. package/dist/esm/Tag.js +110 -10
  86. package/dist/esm/TextArea.js +148 -9
  87. package/dist/esm/TimeDetail.js +67 -9
  88. package/dist/esm/TimePannel.js +29 -9
  89. package/dist/esm/TimeSelect.js +171 -19
  90. package/dist/esm/Toast.js +268 -7
  91. package/dist/esm/TrendArrow.js +99 -7
  92. package/dist/esm/Uploader.js +566 -17
  93. package/dist/esm/{UserContext-0aac9a82.js → UserContext-101ad4a4.js} +1 -3
  94. package/dist/esm/{UserContext-e402e1a6.js → UserContext-2629d479.js} +1 -3
  95. package/dist/esm/{UserContext-e8176108.js → UserContext-b33bcf21.js} +1 -3
  96. package/dist/esm/Video.js +90 -7
  97. package/dist/esm/VirtualList.js +313 -9
  98. package/dist/esm/WaterMark.js +111 -11
  99. package/dist/esm/{bem-350c1702.js → bem-3b438e61.js} +6 -3
  100. package/dist/esm/cellgroup-fcc72767.js +34 -0
  101. package/dist/esm/checkbox-44e13cd0.js +137 -0
  102. package/dist/esm/date-c7aad4c0.js +97 -0
  103. package/dist/esm/formitem-8a73a5fb.js +157 -0
  104. package/dist/esm/get-scroll-parent-5f85dee8.js +24 -0
  105. package/dist/esm/{grid.taro.context-c2bbfb4f.js → grid.context-2ee27d95.js} +2 -4
  106. package/dist/esm/icon-4ef1581c.js +70 -0
  107. package/dist/esm/index-030b7245.js +11 -0
  108. package/dist/esm/nutui-react.es.js +94 -119
  109. package/dist/esm/offsetContext-3ab00d40.js +16 -0
  110. package/dist/esm/overlay-de6c79d5.js +83 -0
  111. package/dist/esm/radio-9f141e6b.js +118 -0
  112. package/dist/esm/render-bbebb760.js +79 -0
  113. package/dist/esm/tabpane-01075e6c.js +29 -0
  114. package/dist/esm/tabs-e1b4e4b1.js +181 -0
  115. package/dist/esm/typings-f27b58f4.js +8 -0
  116. package/dist/esm/useClientRect-56bb675b.js +39 -0
  117. package/dist/esm/useTouch-cf73a407.js +99 -0
  118. package/dist/locales/base.js +1 -1
  119. package/dist/locales/en-US.js +1 -1
  120. package/dist/locales/id-ID.js +1 -1
  121. package/dist/locales/zh-CN.js +1 -1
  122. package/dist/locales/zh-TW.js +1 -1
  123. package/dist/locales/zh-UG.js +1 -1
  124. package/dist/nutui.react.mjs +15025 -13192
  125. package/dist/nutui.react.umd.js +15004 -13169
  126. package/dist/style.mjs +1 -1
  127. package/dist/types/index.d.ts +183 -176
  128. package/package.json +1 -1
  129. package/dist/esm/actionsheet.taro-e6a51446.js +0 -53
  130. package/dist/esm/address.taro-3a9b6396.js +0 -461
  131. package/dist/esm/animate.taro-fb7986d6.js +0 -40
  132. package/dist/esm/animatingnumbers.taro-03e5d61d.js +0 -104
  133. package/dist/esm/audio.taro-87ec8bf2.js +0 -161
  134. package/dist/esm/avatar.taro-3676f38f.js +0 -103
  135. package/dist/esm/avatargroup-f3574510.js +0 -34
  136. package/dist/esm/backtop.taro-66394a36.js +0 -48
  137. package/dist/esm/badge.taro-a4e59c11.js +0 -52
  138. package/dist/esm/barrage.taro-0495a1b2.js +0 -94
  139. package/dist/esm/button.taro-9244d065.js +0 -100
  140. package/dist/esm/calendar.taro-670842ea.js +0 -65
  141. package/dist/esm/calendaritem.taro-2a603571.js +0 -787
  142. package/dist/esm/can-use-dom-3eeb5af4.js +0 -6
  143. package/dist/esm/card.taro-e4c76dad.js +0 -33
  144. package/dist/esm/cascader.taro-eb1fb011.js +0 -438
  145. package/dist/esm/cell.taro-a10a74d3.js +0 -64
  146. package/dist/esm/cellgroup.taro-abe501bc.js +0 -25
  147. package/dist/esm/checkbox.taro-6120e3e3.js +0 -171
  148. package/dist/esm/circleprogress.taro-79854448.js +0 -109
  149. package/dist/esm/col.taro-53eed3cc.js +0 -41
  150. package/dist/esm/collapse.taro-1a9e4ba2.js +0 -83
  151. package/dist/esm/collapseitem-4d0bc55d.js +0 -83
  152. package/dist/esm/configprovider-67d19d3a.js +0 -19
  153. package/dist/esm/configprovider.taro-8d71eb49.js +0 -42
  154. package/dist/esm/countdown.taro-5b17c607.js +0 -226
  155. package/dist/esm/datepicker.taro-6e9b4b8f.js +0 -275
  156. package/dist/esm/dialog.taro-a3267d29.js +0 -118
  157. package/dist/esm/divider.taro-26d1d8b4.js +0 -35
  158. package/dist/esm/drag.taro-79bb8744.js +0 -110
  159. package/dist/esm/elevator.taro-6019669e.js +0 -178
  160. package/dist/esm/ellipsis.taro-f15f26da.js +0 -241
  161. package/dist/esm/empty.taro-04ae4389.js +0 -62
  162. package/dist/esm/fixednav.taro-1f05acaf.js +0 -53
  163. package/dist/esm/form.taro-0c8e7a39.js +0 -179
  164. package/dist/esm/formitem.taro-190a3326.js +0 -89
  165. package/dist/esm/get-scroll-parent-b4a07e65.js +0 -25
  166. package/dist/esm/grid.taro-3503b82c.js +0 -61
  167. package/dist/esm/griditem.taro-cdb3f119.js +0 -98
  168. package/dist/esm/icon-296a1bec.js +0 -63
  169. package/dist/esm/icon.taro-296a1bec.js +0 -63
  170. package/dist/esm/image.taro-142cf512.js +0 -64
  171. package/dist/esm/imagepreview.taro-c50bb0a3.js +0 -167
  172. package/dist/esm/index-5bcb0ff8.js +0 -7
  173. package/dist/esm/indicator.taro-cba8b010.js +0 -37
  174. package/dist/esm/infiniteloading.taro-183bccbf.js +0 -144
  175. package/dist/esm/input.taro-97af6c96.js +0 -240
  176. package/dist/esm/inputnumber.taro-91f65d17.js +0 -130
  177. package/dist/esm/layout.taro-9046d093.js +0 -11
  178. package/dist/esm/menu.taro-7e4038a1.js +0 -99
  179. package/dist/esm/menuitem.taro-96cc4f15.js +0 -130
  180. package/dist/esm/navbar.taro-777c4705.js +0 -79
  181. package/dist/esm/noticebar.taro-4a23cdee.js +0 -448
  182. package/dist/esm/notify.taro-e17c6f82.js +0 -75
  183. package/dist/esm/numberkeyboard.taro-1bc24744.js +0 -159
  184. package/dist/esm/offsetContext-c2a746fa.js +0 -5
  185. package/dist/esm/overlay.taro-21e87fb1.js +0 -69
  186. package/dist/esm/pagination.taro-715a173b.js +0 -124
  187. package/dist/esm/picker.taro-9ad1b7c5.js +0 -473
  188. package/dist/esm/popover.taro-ad5e76ea.js +0 -156
  189. package/dist/esm/popup.taro-01676bff.js +0 -137
  190. package/dist/esm/price.taro-776ed16e.js +0 -83
  191. package/dist/esm/progress.taro-f0ce38e9.js +0 -90
  192. package/dist/esm/pulltorefresh.taro-a294f656.js +0 -181
  193. package/dist/esm/radio.taro-a6eff96c.js +0 -168
  194. package/dist/esm/range.taro-d8fc7656.js +0 -332
  195. package/dist/esm/rate.taro-6cdf03bd.js +0 -75
  196. package/dist/esm/row.taro-f64d4a13.js +0 -46
  197. package/dist/esm/searchbar.taro-0c25927b.js +0 -152
  198. package/dist/esm/shortpassword.taro-9ee034f7.js +0 -111
  199. package/dist/esm/sidenavbar.taro-c307b35e.js +0 -35
  200. package/dist/esm/sidenavbaritem.taro-5a7965d0.js +0 -12
  201. package/dist/esm/signature.taro-ec4e713b.js +0 -143
  202. package/dist/esm/skeleton.taro-76faf63f.js +0 -62
  203. package/dist/esm/step.taro-b7903e8c.js +0 -59
  204. package/dist/esm/steps.taro-c82d2252.js +0 -30
  205. package/dist/esm/sticky.taro-218bda37.js +0 -138
  206. package/dist/esm/subsidenavbar.taro-69cb9752.js +0 -63
  207. package/dist/esm/supports-passive-c85ef996.js +0 -18
  208. package/dist/esm/swipe.taro-ea35f07f.js +0 -177
  209. package/dist/esm/swiper.taro-7a94e211.js +0 -451
  210. package/dist/esm/swiperitem-c9e3d0d5.js +0 -29
  211. package/dist/esm/switch.taro-34ca8228.js +0 -50
  212. package/dist/esm/tabbar.taro-9acfc2fa.js +0 -59
  213. package/dist/esm/tabbaritem.taro-bf517487.js +0 -58
  214. package/dist/esm/table.taro-91fc0c01.js +0 -93
  215. package/dist/esm/tabpane.taro-4ca340ef.js +0 -23
  216. package/dist/esm/tabs.taro-6a7524a4.js +0 -140
  217. package/dist/esm/tag.taro-23ba0834.js +0 -92
  218. package/dist/esm/textarea.taro-442e7350.js +0 -94
  219. package/dist/esm/timedetail.taro-5b2f2269.js +0 -44
  220. package/dist/esm/timepannel.taro-d6e40180.js +0 -22
  221. package/dist/esm/timeselect.taro-a07036f4.js +0 -133
  222. package/dist/esm/toast.taro-d6c14811.js +0 -109
  223. package/dist/esm/trendarrow.taro-b8c5ccd9.js +0 -73
  224. package/dist/esm/typings-b9828dba.js +0 -9
  225. package/dist/esm/uploader.taro-587e6bf3.js +0 -492
  226. package/dist/esm/useClientRect-1f8ed1fe.js +0 -18
  227. package/dist/esm/useTouch-db24bb5c.js +0 -69
  228. package/dist/esm/video-f1be8a91.js +0 -67
  229. package/dist/esm/virtuallist.taro-f0b0270d.js +0 -214
  230. package/dist/esm/watermark.taro-9ce2ae37.js +0 -114
  231. package/dist/esm/zh-CN-c779e6c1.js +0 -131
@@ -1,10 +1,148 @@
1
- import { C as CollapseItem } from './collapseitem-4d0bc55d.js';
2
- import 'react';
3
- import './bem-350c1702.js';
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", "title", "isOpen", "onToggle", "name", "disabled", "icon", "rotate", "subTitle", "titleIcon", "titleIconColor", "titleIconPosition", "titleIconSize", "iconSize", "iconColor", "childnull", "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
+ import React__default, { useState, useCallback, useEffect } from 'react';
8
+ import { c as cn } from './bem-3b438e61.js';
9
+ import Icon from './Icon.js';
10
+ import { C as ComponentDefaults } from './typings-f27b58f4.js';
4
11
  import '@bem-react/classname';
5
- import './icon-296a1bec.js';
6
- import './typings-b9828dba.js';
7
-
8
-
9
-
12
+ var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
13
+ title: '',
14
+ name: '',
15
+ isOpen: false,
16
+ icon: '',
17
+ iconSize: '',
18
+ iconColor: '',
19
+ disabled: false,
20
+ rotate: 180,
21
+ subTitle: '',
22
+ titleIcon: '',
23
+ titleIconColor: '',
24
+ titleIconPosition: '',
25
+ titleIconSize: '',
26
+ childnull: true
27
+ });
28
+ var CollapseItem = function CollapseItem(props) {
29
+ var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
30
+ children = _defaultProps$props.children,
31
+ title = _defaultProps$props.title,
32
+ isOpen = _defaultProps$props.isOpen,
33
+ onToggle = _defaultProps$props.onToggle,
34
+ name = _defaultProps$props.name,
35
+ disabled = _defaultProps$props.disabled,
36
+ icon = _defaultProps$props.icon,
37
+ rotate = _defaultProps$props.rotate,
38
+ subTitle = _defaultProps$props.subTitle,
39
+ titleIcon = _defaultProps$props.titleIcon,
40
+ titleIconColor = _defaultProps$props.titleIconColor,
41
+ titleIconPosition = _defaultProps$props.titleIconPosition,
42
+ titleIconSize = _defaultProps$props.titleIconSize,
43
+ iconSize = _defaultProps$props.iconSize,
44
+ iconColor = _defaultProps$props.iconColor,
45
+ childnull = _defaultProps$props.childnull,
46
+ iconClassPrefix = _defaultProps$props.iconClassPrefix,
47
+ iconFontClassName = _defaultProps$props.iconFontClassName,
48
+ rest = _objectWithoutProperties(_defaultProps$props, _excluded);
49
+ var _useState = useState(-1),
50
+ _useState2 = _slicedToArray(_useState, 2),
51
+ domHeight = _useState2[0],
52
+ setDomHeight = _useState2[1]; // 保存content的高度
53
+ var _useState3 = useState('auto'),
54
+ _useState4 = _slicedToArray(_useState3, 2),
55
+ currHeight = _useState4[0],
56
+ setCurrHeight = _useState4[1]; // 设置content的高度
57
+ var _useState5 = useState(false),
58
+ _useState6 = _slicedToArray(_useState5, 2),
59
+ update = _useState6[0],
60
+ setUpdate = _useState6[1];
61
+ var _useState7 = useState({
62
+ transform: 'translateY(-50%)'
63
+ }),
64
+ _useState8 = _slicedToArray(_useState7, 2),
65
+ iconStyle = _useState8[0],
66
+ setIconStyle = _useState8[1];
67
+ var colBem = cn('collapse-item');
68
+ var measuredRef = useCallback(function (node) {
69
+ if (node !== null) {
70
+ setDomHeight(node.getBoundingClientRect().height);
71
+ }
72
+ }, [update]);
73
+ useEffect(function () {
74
+ // 一开始content都有高度,在这里根据isOpen,改变其高度
75
+ setTimeout(function () {
76
+ if (domHeight !== -1) {
77
+ isOpen ? setCurrHeight("".concat(domHeight, "px")) : setCurrHeight('0px');
78
+ }
79
+ var newIconStyle = isOpen ? {
80
+ transform: "translateY(-50%) rotate(".concat(rotate, "deg)")
81
+ } : {
82
+ transform: 'translateY(-50%)'
83
+ };
84
+ setIconStyle(newIconStyle);
85
+ }, 10);
86
+ }, [isOpen, domHeight, rotate]);
87
+ useEffect(function () {
88
+ if (!isOpen) {
89
+ setCurrHeight('0px');
90
+ } else {
91
+ setCurrHeight('auto');
92
+ }
93
+ setUpdate(!update);
94
+ }, [children, isOpen]);
95
+ return React__default.createElement("div", _objectSpread({
96
+ className: colBem()
97
+ }, rest), React__default.createElement("div", {
98
+ className: colBem('header', {
99
+ disabled: disabled
100
+ }),
101
+ onClick: function onClick() {
102
+ if (disabled) return;
103
+ onToggle && onToggle(isOpen, name);
104
+ }
105
+ }, React__default.createElement("div", {
106
+ className: colBem('title')
107
+ }, titleIcon && titleIconPosition === 'left' && React__default.createElement("b", {
108
+ className: colBem('title-icon-left')
109
+ }, React__default.createElement(Icon, {
110
+ classPrefix: iconClassPrefix,
111
+ fontClassName: iconFontClassName,
112
+ name: titleIcon,
113
+ size: titleIconSize,
114
+ color: disabled ? '#C2C2C2' : titleIconColor
115
+ })), title, titleIcon && titleIconPosition === 'right' && React__default.createElement("b", {
116
+ className: colBem('title-icon-right')
117
+ }, React__default.createElement(Icon, {
118
+ classPrefix: iconClassPrefix,
119
+ fontClassName: iconFontClassName,
120
+ name: titleIcon,
121
+ size: titleIconSize,
122
+ color: disabled ? '#C2C2C2' : titleIconColor
123
+ }))), React__default.createElement("div", {
124
+ className: colBem('sub-title')
125
+ }, subTitle), React__default.createElement("div", {
126
+ className: colBem('icon-box')
127
+ }, React__default.createElement("div", {
128
+ className: colBem('icon'),
129
+ style: iconStyle
130
+ }, React__default.createElement(Icon, {
131
+ classPrefix: iconClassPrefix,
132
+ fontClassName: iconFontClassName,
133
+ name: icon,
134
+ size: iconSize,
135
+ color: disabled ? '#C2C2C2' : iconColor
136
+ })))), childnull && React__default.createElement("div", {
137
+ className: colBem('content'),
138
+ style: {
139
+ height: currHeight
140
+ },
141
+ ref: measuredRef
142
+ }, React__default.createElement("div", {
143
+ className: colBem('content-text')
144
+ }, children)));
145
+ };
146
+ CollapseItem.defaultProps = defaultProps;
147
+ CollapseItem.displayName = 'NutCollapseItem';
10
148
  export { CollapseItem as default };
@@ -1,8 +1,187 @@
1
- import { C as ConfigProvider } from './configprovider.taro-8d71eb49.js';
2
- import 'react';
3
- import 'lodash.kebabcase';
4
- import './zh-CN-c779e6c1.js';
5
-
6
-
7
-
8
- export { ConfigProvider as default };
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
+ var _excluded = ["children"];
4
+ 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; }
5
+ 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; }
6
+ import React__default, { createContext, useContext, useMemo } from 'react';
7
+ import kebabCase from 'lodash.kebabcase';
8
+ var zhCN = {
9
+ save: '保存',
10
+ confirm: '确认',
11
+ cancel: '取消',
12
+ done: '完成',
13
+ noData: '暂无数据',
14
+ placeholder: '请输入内容',
15
+ select: '请选择',
16
+ video: {
17
+ errorTip: '视频加载失败',
18
+ clickRetry: '点击重试'
19
+ },
20
+ fixednav: {
21
+ activeText: '收起导航',
22
+ unActiveText: '快速导航'
23
+ },
24
+ infiniteloading: {
25
+ pullRefreshText: '松开刷新',
26
+ loadText: '加载中……',
27
+ loadMoreText: '哎呀,这里是底部了啦'
28
+ },
29
+ pagination: {
30
+ prev: '上一页',
31
+ next: '下一页'
32
+ },
33
+ range: {
34
+ rangeText: '不在该区间内'
35
+ },
36
+ calendaritem: {
37
+ weekdays: ['日', '一', '二', '三', '四', '五', '六'],
38
+ end: '结束',
39
+ start: '开始',
40
+ confirm: '确认',
41
+ title: '日历选择',
42
+ monthTitle: function monthTitle(year, month) {
43
+ return "".concat(year, "\u5E74").concat(month, "\u6708");
44
+ },
45
+ today: '今天',
46
+ loadPreviousMonth: '加载上一个月',
47
+ noEarlierMonth: '没有更早月份'
48
+ },
49
+ shortpassword: {
50
+ title: '请输入密码',
51
+ desc: '您使用了虚拟资产,请进行验证',
52
+ tips: '忘记密码'
53
+ },
54
+ uploader: {
55
+ ready: '准备完成',
56
+ readyUpload: '准备上传',
57
+ waitingUpload: '等待上传',
58
+ uploading: '上传中...',
59
+ success: '上传成功',
60
+ error: '上传失败',
61
+ deleteWord: '用户阻止了删除!'
62
+ },
63
+ countdown: {
64
+ day: '天',
65
+ hour: '时',
66
+ minute: '分',
67
+ second: '秒'
68
+ },
69
+ address: {
70
+ selectRegion: '请选择所在地区',
71
+ deliveryTo: '配送至',
72
+ chooseAnotherAddress: '选择其他地址'
73
+ },
74
+ signature: {
75
+ reSign: '重签',
76
+ unSupportTpl: '对不起,当前浏览器不支持Canvas,无法使用本控件!'
77
+ },
78
+ ecard: {
79
+ chooseText: '请选择电子卡面值',
80
+ otherValueText: '其他面值',
81
+ placeholder: '请输入1-5000整数'
82
+ },
83
+ timeselect: {
84
+ pickupTime: '取件时间'
85
+ },
86
+ sku: {
87
+ buyNow: '立即购买',
88
+ buyNumber: '购买数量',
89
+ addToCard: '加入购物车'
90
+ },
91
+ skuheader: {
92
+ skuId: '商品编号'
93
+ },
94
+ addresslist: {
95
+ addAddress: '新建地址'
96
+ },
97
+ comment: {
98
+ complaintsText: '我要投诉',
99
+ additionalReview: function additionalReview(day) {
100
+ return "\u8D2D\u4E70".concat(day, "\u5929\u540E\u8FFD\u8BC4");
101
+ },
102
+ additionalImages: function additionalImages(length) {
103
+ return "".concat(length, "\u5F20\u8FFD\u8BC4\u56FE\u7247");
104
+ }
105
+ },
106
+ searchbar: {
107
+ basePlaceholder: '上京东,购好物',
108
+ text: '文本',
109
+ test: '测试',
110
+ title1: '基础用法',
111
+ title2: '搜索框形状及最大长度',
112
+ title3: '搜索框内外背景设置',
113
+ title4: '搜索框文本设置',
114
+ title5: '自定义图标设置',
115
+ title6: '数据改变监听'
116
+ },
117
+ audio: {
118
+ back: '快退',
119
+ forward: '快进',
120
+ pause: '暂停',
121
+ start: '开始',
122
+ mute: '静音',
123
+ tips: 'onPlayEnd事件在loop=false时才会触发'
124
+ },
125
+ datepicker: {
126
+ year: '年',
127
+ month: '月',
128
+ day: '日',
129
+ hour: '时',
130
+ min: '分',
131
+ seconds: '秒'
132
+ },
133
+ pullToRefresh: {
134
+ pullingText: '下拉刷新',
135
+ canReleaseText: '松开刷新',
136
+ refreshingText: '加载中...',
137
+ completeText: '刷新成功'
138
+ },
139
+ watermark: {
140
+ errorCanvasTips: '当前环境不支持Canvas'
141
+ }
142
+ };
143
+ var defaultProps = {
144
+ locale: zhCN
145
+ };
146
+ var defaultConfigRef = {
147
+ current: {
148
+ locale: zhCN
149
+ }
150
+ };
151
+ var setDefaultConfig = function setDefaultConfig(config) {
152
+ defaultConfigRef.current = config;
153
+ };
154
+ var getDefaultConfig = function getDefaultConfig() {
155
+ return defaultConfigRef.current;
156
+ };
157
+ // 创建一个 Context 对象
158
+ var ConfigContext = createContext(null);
159
+ var useConfig = function useConfig() {
160
+ var _useContext;
161
+ return (_useContext = useContext(ConfigContext)) !== null && _useContext !== void 0 ? _useContext : getDefaultConfig();
162
+ };
163
+ function convertThemeVarsToCSSVars(themeVars) {
164
+ var cssVars = {};
165
+ Object.keys(themeVars).forEach(function (key) {
166
+ cssVars["--".concat(kebabCase(key))] = themeVars[key];
167
+ });
168
+ return cssVars;
169
+ }
170
+ var ConfigProvider = function ConfigProvider(props) {
171
+ var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
172
+ children = _defaultProps$props.children,
173
+ config = _objectWithoutProperties(_defaultProps$props, _excluded);
174
+ var parentConfig = useConfig();
175
+ var theme = config.theme || {};
176
+ var style = useMemo(function () {
177
+ return convertThemeVarsToCSSVars(theme);
178
+ }, [theme]);
179
+ return React__default.createElement(ConfigContext.Provider, {
180
+ value: _objectSpread(_objectSpread({}, parentConfig), config)
181
+ }, React__default.createElement("div", {
182
+ style: style
183
+ }, children));
184
+ };
185
+ ConfigProvider.defaultProps = defaultProps;
186
+ ConfigProvider.displayName = 'NutConfigProvider';
187
+ export { ConfigProvider as default, getDefaultConfig, setDefaultConfig, useConfig };
@@ -1,11 +1,249 @@
1
- import { C as CountDown } from './countdown.taro-5b17c607.js';
2
- import 'react';
3
- import './bem-350c1702.js';
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
+ var _excluded = ["paused", "startTime", "endTime", "millisecond", "format", "autoStart", "time", "destroy", "className", "style", "onEnd", "onPaused", "onRestart", "onUpdate", "children"];
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
+ import React__default, { useState, useRef, useImperativeHandle, useEffect } from 'react';
8
+ import { c as cn } from './bem-3b438e61.js';
9
+ import { useConfig } from './ConfigProvider.js';
4
10
  import '@bem-react/classname';
5
- import './configprovider.taro-8d71eb49.js';
6
- import 'lodash.kebabcase';
7
- import './zh-CN-c779e6c1.js';
8
-
9
-
10
-
11
+ var defaultProps = {
12
+ paused: false,
13
+ startTime: Date.now(),
14
+ endTime: Date.now(),
15
+ millisecond: false,
16
+ format: 'HH:mm:ss',
17
+ autoStart: true,
18
+ time: 0,
19
+ destroy: false
20
+ };
21
+ var InternalCountDown = function InternalCountDown(props, ref) {
22
+ useConfig();
23
+ var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
24
+ paused = _defaultProps$props.paused,
25
+ startTime = _defaultProps$props.startTime,
26
+ endTime = _defaultProps$props.endTime,
27
+ millisecond = _defaultProps$props.millisecond,
28
+ format = _defaultProps$props.format,
29
+ autoStart = _defaultProps$props.autoStart,
30
+ time = _defaultProps$props.time,
31
+ destroy = _defaultProps$props.destroy,
32
+ className = _defaultProps$props.className,
33
+ style = _defaultProps$props.style,
34
+ onEnd = _defaultProps$props.onEnd,
35
+ onPaused = _defaultProps$props.onPaused,
36
+ onRestart = _defaultProps$props.onRestart,
37
+ onUpdate = _defaultProps$props.onUpdate,
38
+ children = _defaultProps$props.children,
39
+ rest = _objectWithoutProperties(_defaultProps$props, _excluded);
40
+ var b = cn('countdown');
41
+ var _useState = useState(0),
42
+ _useState2 = _slicedToArray(_useState, 2),
43
+ restTimeStamp = _useState2[0],
44
+ setRestTime = _useState2[1];
45
+ var stateRef = useRef({
46
+ pauseTime: 0,
47
+ curr: 0,
48
+ isPaused: paused,
49
+ isIninted: false,
50
+ timer: 0,
51
+ restTime: 0,
52
+ counting: !paused && autoStart,
53
+ handleEndTime: Date.now(),
54
+ diffTime: 0 // 设置了 startTime 时,与 date.now() 的差异
55
+ });
56
+ // 时间戳转换 或 获取当前时间的时间戳
57
+ var getTimeStamp = function getTimeStamp(timeStr) {
58
+ if (!timeStr) return Date.now();
59
+ var t = timeStr;
60
+ t = t > 0 ? +t : t.toString().replace(/-/g, '/');
61
+ return new Date(t).getTime();
62
+ };
63
+ // 倒计时 interval
64
+ var initTime = function initTime() {
65
+ stateRef.current.handleEndTime = endTime;
66
+ stateRef.current.diffTime = Date.now() - getTimeStamp(startTime); // 时间差
67
+ if (!stateRef.current.counting) stateRef.current.counting = true;
68
+ tick();
69
+ };
70
+ var tick = function tick() {
71
+ stateRef.current.timer = requestAnimationFrame(function () {
72
+ if (stateRef.current.counting) {
73
+ var currentTime = Date.now() - stateRef.current.diffTime;
74
+ var remainTime = Math.max(stateRef.current.handleEndTime - currentTime, 0);
75
+ stateRef.current.restTime = remainTime;
76
+ setRestTime(remainTime);
77
+ if (!remainTime) {
78
+ stateRef.current.counting = false;
79
+ pause();
80
+ onEnd && onEnd();
81
+ }
82
+ if (remainTime > 0) {
83
+ tick();
84
+ }
85
+ }
86
+ });
87
+ };
88
+ // 将倒计时剩余时间格式化 参数: t 时间戳 type custom 自定义类型
89
+ var formatRemainTime = function formatRemainTime(t, type) {
90
+ var ts = t;
91
+ var rest = {
92
+ d: 0,
93
+ h: 0,
94
+ m: 0,
95
+ s: 0,
96
+ ms: 0
97
+ };
98
+ var SECOND = 1000;
99
+ var MINUTE = 60 * SECOND;
100
+ var HOUR = 60 * MINUTE;
101
+ var DAY = 24 * HOUR;
102
+ if (ts > 0) {
103
+ rest.d = ts >= SECOND ? Math.floor(ts / DAY) : 0;
104
+ rest.h = Math.floor(ts % DAY / HOUR);
105
+ rest.m = Math.floor(ts % HOUR / MINUTE);
106
+ rest.s = Math.floor(ts % MINUTE / SECOND);
107
+ rest.ms = Math.floor(ts % SECOND);
108
+ }
109
+ return type === 'custom' ? rest : parseFormat(_objectSpread({}, rest));
110
+ };
111
+ var parseFormat = function parseFormat(time) {
112
+ var d = time.d;
113
+ var h = time.h,
114
+ m = time.m,
115
+ s = time.s,
116
+ ms = time.ms;
117
+ var formatCache = format;
118
+ if (formatCache.includes('DD')) {
119
+ formatCache = formatCache.replace('DD', padZero(d));
120
+ } else {
121
+ h += Number(d) * 24;
122
+ }
123
+ if (formatCache.includes('HH')) {
124
+ formatCache = formatCache.replace('HH', padZero(h));
125
+ } else {
126
+ m += Number(h) * 60;
127
+ }
128
+ if (formatCache.includes('mm')) {
129
+ formatCache = formatCache.replace('mm', padZero(m));
130
+ } else {
131
+ s += Number(m) * 60;
132
+ }
133
+ if (formatCache.includes('ss')) {
134
+ formatCache = formatCache.replace('ss', padZero(s));
135
+ } else {
136
+ ms += Number(s) * 1000;
137
+ }
138
+ if (formatCache.includes('S')) {
139
+ var msC = padZero(ms, 3).toString();
140
+ if (formatCache.includes('SSS')) {
141
+ formatCache = formatCache.replace('SSS', msC);
142
+ } else if (formatCache.includes('SS')) {
143
+ formatCache = formatCache.replace('SS', msC.slice(0, 2));
144
+ } else if (formatCache.includes('S')) {
145
+ formatCache = formatCache.replace('SS', msC.slice(0, 1));
146
+ }
147
+ }
148
+ return formatCache;
149
+ };
150
+ var padZero = function padZero(num) {
151
+ var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;
152
+ num += '';
153
+ while (num.length < length) {
154
+ num = "0".concat(num);
155
+ }
156
+ return num.toString();
157
+ };
158
+ // 暂定
159
+ var pause = function pause() {
160
+ cancelAnimationFrame(stateRef.current.timer);
161
+ stateRef.current.counting = false;
162
+ onPaused && onPaused(stateRef.current.restTime);
163
+ };
164
+ useImperativeHandle(ref, function () {
165
+ return {
166
+ start: function start() {
167
+ if (!stateRef.current.counting && !autoStart) {
168
+ stateRef.current.counting = true;
169
+ stateRef.current.handleEndTime = Date.now() + Number(stateRef.current.restTime);
170
+ tick();
171
+ onRestart && onRestart(stateRef.current.restTime);
172
+ }
173
+ },
174
+ pause: function pause() {
175
+ cancelAnimationFrame(stateRef.current.timer);
176
+ stateRef.current.counting = false;
177
+ onPaused && onPaused(stateRef.current.restTime);
178
+ },
179
+ reset: function reset() {
180
+ if (!autoStart) {
181
+ pause();
182
+ stateRef.current.restTime = time;
183
+ setRestTime(time);
184
+ }
185
+ }
186
+ };
187
+ });
188
+ // 监听值变更
189
+ useEffect(function () {
190
+ var tranTime = formatRemainTime(stateRef.current.restTime, 'custom');
191
+ onUpdate && onUpdate(tranTime);
192
+ }, [restTimeStamp]);
193
+ // 监听暂停
194
+ useEffect(function () {
195
+ if (stateRef.current.isIninted) {
196
+ if (paused) {
197
+ if (stateRef.current.counting) {
198
+ pause();
199
+ }
200
+ } else {
201
+ if (!stateRef.current.counting) {
202
+ stateRef.current.counting = true;
203
+ stateRef.current.handleEndTime = Date.now() + Number(stateRef.current.restTime);
204
+ tick();
205
+ }
206
+ onRestart && onRestart(stateRef.current.restTime);
207
+ }
208
+ }
209
+ }, [paused]);
210
+ // 监听开始结束时间变更
211
+ useEffect(function () {
212
+ if (stateRef.current.isIninted) {
213
+ initTime();
214
+ }
215
+ }, [endTime, startTime]);
216
+ // 初始化
217
+ useEffect(function () {
218
+ if (autoStart) {
219
+ initTime();
220
+ } else {
221
+ stateRef.current.restTime = time;
222
+ setRestTime(time);
223
+ }
224
+ if (!stateRef.current.isIninted) {
225
+ stateRef.current.isIninted = true;
226
+ }
227
+ return componentWillUnmount;
228
+ }, []);
229
+ var componentWillUnmount = function componentWillUnmount() {
230
+ destroy && cancelAnimationFrame(stateRef.current.timer);
231
+ };
232
+ var renderTime = function () {
233
+ return formatRemainTime(stateRef.current.restTime);
234
+ }();
235
+ return React__default.createElement("div", _objectSpread({
236
+ className: "".concat(b(), " ").concat(className || ''),
237
+ style: _objectSpread({}, style)
238
+ }, rest), children || React__default.createElement("div", {
239
+ className: b('block'),
240
+ // eslint-disable-next-line react/no-danger
241
+ dangerouslySetInnerHTML: {
242
+ __html: "".concat(renderTime)
243
+ }
244
+ }));
245
+ };
246
+ var CountDown = React__default.forwardRef(InternalCountDown);
247
+ CountDown.defaultProps = defaultProps;
248
+ CountDown.displayName = 'NutCountDown';
11
249
  export { CountDown as default };