@nutui/nutui-react 1.3.5 → 1.3.6
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.
- package/CHANGELOG.md +7 -0
- package/dist/esm/ActionSheet.js +15 -25
- package/dist/esm/Address.js +151 -221
- package/dist/esm/AnimatingNumbers.js +7 -31
- package/dist/esm/Audio.js +31 -66
- package/dist/esm/Avatar.js +25 -51
- package/dist/esm/AvatarGroup.js +2 -9
- package/dist/esm/BackTop.js +29 -55
- package/dist/esm/Badge.js +9 -20
- package/dist/esm/Barrage.js +8 -20
- package/dist/esm/Button.js +22 -37
- package/dist/esm/Calendar.js +23 -37
- package/dist/esm/CalendarItem.js +86 -186
- package/dist/esm/Card.js +14 -20
- package/dist/esm/Cascader.js +77 -197
- package/dist/esm/Cell.js +20 -30
- package/dist/esm/CellGroup.js +6 -12
- package/dist/esm/Checkbox.js +27 -48
- package/dist/esm/CheckboxGroup.js +12 -30
- package/dist/esm/CircleProgress.js +11 -28
- package/dist/esm/Col.js +11 -22
- package/dist/esm/Collapse.js +11 -27
- package/dist/esm/CollapseItem.js +33 -47
- package/dist/esm/ConfigProvider.js +4 -15
- package/dist/esm/CountDown.js +37 -74
- package/dist/esm/DatePicker.js +44 -106
- package/dist/esm/Dialog.js +31 -89
- package/dist/esm/Divider.js +8 -15
- package/dist/esm/Drag.js +30 -45
- package/dist/esm/Elevator.js +37 -74
- package/dist/esm/Empty.js +11 -24
- package/dist/esm/FixedNav.js +18 -29
- package/dist/esm/Grid.js +13 -28
- package/dist/esm/GridItem.js +18 -34
- package/dist/esm/ImagePreview.js +36 -71
- package/dist/esm/Indicator.js +9 -20
- package/dist/esm/Infiniteloading.js +26 -55
- package/dist/esm/Input.js +62 -106
- package/dist/esm/InputNumber.js +25 -52
- package/dist/esm/Layout.js +0 -6
- package/dist/esm/Menu.js +24 -46
- package/dist/esm/MenuItem.js +29 -52
- package/dist/esm/NavBar.js +18 -34
- package/dist/esm/NoticeBar.js +54 -102
- package/dist/esm/Notify.js +9 -38
- package/dist/esm/NumberKeyboard.js +21 -52
- package/dist/esm/Pagination.js +38 -71
- package/dist/esm/Picker.js +91 -178
- package/dist/esm/Popover.js +32 -72
- package/dist/esm/Popup.js +40 -72
- package/dist/esm/Price.js +7 -24
- package/dist/esm/Progress.js +35 -50
- package/dist/esm/PullToRefresh.js +28 -83
- package/dist/esm/Radio.js +24 -47
- package/dist/esm/RadioGroup.js +14 -24
- package/dist/esm/Range.js +44 -116
- package/dist/esm/Rate.js +21 -39
- package/dist/esm/Row.js +7 -16
- package/dist/esm/SearchBar.js +47 -68
- package/dist/esm/ShortPassword.js +29 -56
- package/dist/esm/SideNavBar.js +9 -16
- package/dist/esm/SideNavBarItem.js +4 -11
- package/dist/esm/Signature.js +13 -43
- package/dist/esm/Skeleton.js +13 -23
- package/dist/esm/Step.js +12 -28
- package/dist/esm/Steps.js +6 -14
- package/dist/esm/Sticky.js +24 -52
- package/dist/esm/SubSideNavBar.js +7 -22
- package/dist/esm/Swipe.js +15 -54
- package/dist/esm/Swiper.js +102 -186
- package/dist/esm/SwiperItem.js +2 -12
- package/dist/esm/Switch.js +13 -27
- package/dist/esm/Tabbar.js +13 -25
- package/dist/esm/TabbarItem.js +15 -23
- package/dist/esm/Table.js +19 -39
- package/dist/esm/Tag.js +19 -36
- package/dist/esm/TextArea.js +19 -43
- package/dist/esm/TimeDetail.js +15 -28
- package/dist/esm/TimePannel.js +5 -12
- package/dist/esm/TimeSelect.js +35 -59
- package/dist/esm/Toast.js +16 -49
- package/dist/esm/Uploader.js +57 -152
- package/dist/esm/Video.js +8 -19
- package/dist/esm/VirtualList.js +84 -118
- package/dist/esm/date-710f8c7c.js +9 -33
- package/dist/esm/get-scroll-parent-3dcd3f53.js +1 -9
- package/dist/esm/icon-8dc4de10.js +11 -21
- package/dist/esm/offsetContext-0e3d04b3.js +0 -3
- package/dist/esm/overlay-ed3eb37d.js +12 -23
- package/dist/esm/render-18227751.js +0 -11
- package/dist/esm/tabpane-c957ab14.js +4 -10
- package/dist/esm/tabs-0896a61b.js +28 -56
- package/dist/esm/types/src/packages/elevator/demo.d.ts +1 -0
- package/dist/esm/types/src/packages/searchbar/searchbar.d.ts +2 -0
- package/dist/esm/useClientRect-839d18c5.js +0 -5
- package/dist/esm/useTouch-a2ea68c6.js +27 -47
- package/dist/locales/base.js +1 -1
- package/dist/locales/en-US.js +1 -1
- package/dist/locales/id-ID.js +1 -1
- package/dist/locales/zh-CN.js +1 -1
- package/dist/locales/zh-TW.js +1 -1
- package/dist/nutui.react.es.js +424 -406
- package/dist/nutui.react.umd.js +416 -398
- package/dist/packages/searchbar/searchbar.scss +20 -3
- package/dist/style.css +1 -1
- package/dist/style.es.js +1 -1
- package/dist/types/index.d.ts +2 -0
- package/package.json +1 -1
package/dist/esm/CollapseItem.js
CHANGED
|
@@ -2,17 +2,13 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
|
2
2
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
3
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
4
4
|
var _excluded = ["children", "title", "isOpen", "onToggle", "name", "disabled", "icon", "rotate", "subTitle", "titleIcon", "titleIconColor", "titleIconPosition", "titleIconSize", "iconSize", "iconColor", "childnull", "iconClassPrefix", "iconFontClassName"];
|
|
5
|
-
|
|
6
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; }
|
|
7
|
-
|
|
8
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; }
|
|
9
|
-
|
|
10
7
|
import React__default, { useState, useEffect, useCallback } from 'react';
|
|
11
8
|
import { c as cn } from './bem-893ad28d.js';
|
|
12
9
|
import Icon from './Icon.js';
|
|
13
10
|
import { C as ComponentDefaults } from './typings-1c5f2628.js';
|
|
14
11
|
import '@bem-react/classname';
|
|
15
|
-
|
|
16
12
|
var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
|
|
17
13
|
title: '',
|
|
18
14
|
name: '',
|
|
@@ -29,53 +25,45 @@ var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
|
|
|
29
25
|
titleIconSize: '',
|
|
30
26
|
childnull: true
|
|
31
27
|
});
|
|
32
|
-
|
|
33
28
|
var CollapseItem = function CollapseItem(props) {
|
|
34
29
|
var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
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);
|
|
55
49
|
var _useState = useState(-1),
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
50
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
51
|
+
domHeight = _useState2[0],
|
|
52
|
+
setDomHeight = _useState2[1]; // 保存content的高度
|
|
61
53
|
var _useState3 = useState('auto'),
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
54
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
55
|
+
currHeight = _useState4[0],
|
|
56
|
+
setCurrHeight = _useState4[1]; // 设置content的高度
|
|
67
57
|
var _useState5 = useState(false),
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
58
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
59
|
+
update = _useState6[0],
|
|
60
|
+
setUpdate = _useState6[1];
|
|
72
61
|
var _useState7 = useState({
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
62
|
+
transform: 'translateY(-50%)'
|
|
63
|
+
}),
|
|
64
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
65
|
+
iconStyle = _useState8[0],
|
|
66
|
+
setIconStyle = _useState8[1];
|
|
79
67
|
var colBem = cn('collapse-item');
|
|
80
68
|
useEffect(function () {
|
|
81
69
|
setCurrHeight('auto');
|
|
@@ -92,7 +80,6 @@ var CollapseItem = function CollapseItem(props) {
|
|
|
92
80
|
if (domHeight !== -1) {
|
|
93
81
|
isOpen ? setCurrHeight("".concat(domHeight, "px")) : setCurrHeight('0px');
|
|
94
82
|
}
|
|
95
|
-
|
|
96
83
|
var newIconStyle = isOpen ? {
|
|
97
84
|
transform: "translateY(-50%) rotate(".concat(rotate, "deg)")
|
|
98
85
|
} : {
|
|
@@ -152,7 +139,6 @@ var CollapseItem = function CollapseItem(props) {
|
|
|
152
139
|
className: colBem('content-text')
|
|
153
140
|
}, children)));
|
|
154
141
|
};
|
|
155
|
-
|
|
156
142
|
CollapseItem.defaultProps = defaultProps;
|
|
157
143
|
CollapseItem.displayName = 'NutCollapseItem';
|
|
158
144
|
export { CollapseItem as default };
|
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
2
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
3
|
var _excluded = ["children"];
|
|
4
|
-
|
|
5
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; }
|
|
6
|
-
|
|
7
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; }
|
|
8
|
-
|
|
9
6
|
import React__default, { createContext, useContext } from 'react';
|
|
10
7
|
var zhCN = {
|
|
11
8
|
save: '保存',
|
|
@@ -146,35 +143,27 @@ var defaultConfigRef = {
|
|
|
146
143
|
locale: zhCN
|
|
147
144
|
}
|
|
148
145
|
};
|
|
149
|
-
|
|
150
146
|
var setDefaultConfig = function setDefaultConfig(config) {
|
|
151
147
|
defaultConfigRef.current = config;
|
|
152
148
|
};
|
|
153
|
-
|
|
154
149
|
var getDefaultConfig = function getDefaultConfig() {
|
|
155
150
|
return defaultConfigRef.current;
|
|
156
151
|
};
|
|
157
|
-
|
|
158
152
|
var useConfig = function useConfig() {
|
|
159
153
|
var _useContext;
|
|
160
|
-
|
|
161
154
|
return (_useContext = useContext(ConfigContext)) !== null && _useContext !== void 0 ? _useContext : getDefaultConfig();
|
|
162
|
-
};
|
|
163
|
-
|
|
164
|
-
|
|
155
|
+
};
|
|
156
|
+
// 创建一个 Context 对象
|
|
165
157
|
var ConfigContext = createContext(null);
|
|
166
|
-
|
|
167
158
|
var ConfigProvider = function ConfigProvider(props) {
|
|
168
159
|
var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
160
|
+
children = _defaultProps$props.children,
|
|
161
|
+
config = _objectWithoutProperties(_defaultProps$props, _excluded);
|
|
172
162
|
var parentConfig = useConfig();
|
|
173
163
|
return React__default.createElement(ConfigContext.Provider, {
|
|
174
164
|
value: _objectSpread(_objectSpread({}, parentConfig), config)
|
|
175
165
|
}, children);
|
|
176
166
|
};
|
|
177
|
-
|
|
178
167
|
ConfigProvider.defaultProps = defaultProps;
|
|
179
168
|
ConfigProvider.displayName = 'NutConfigProvider';
|
|
180
169
|
export { ConfigProvider as default, getDefaultConfig, setDefaultConfig, useConfig };
|
package/dist/esm/CountDown.js
CHANGED
|
@@ -2,11 +2,8 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
|
2
2
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
3
3
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
4
4
|
var _excluded = ["paused", "startTime", "endTime", "millisecond", "format", "autoStart", "time", "className", "style", "onEnd", "onPaused", "onRestart", "onUpdate", "children"];
|
|
5
|
-
|
|
6
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; }
|
|
7
|
-
|
|
8
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; }
|
|
9
|
-
|
|
10
7
|
import React__default, { useState, useRef, useImperativeHandle, useEffect } from 'react';
|
|
11
8
|
import { c as cn } from './bem-893ad28d.js';
|
|
12
9
|
import { useConfig } from './ConfigProvider.js';
|
|
@@ -20,34 +17,29 @@ var defaultProps = {
|
|
|
20
17
|
autoStart: true,
|
|
21
18
|
time: 0
|
|
22
19
|
};
|
|
23
|
-
|
|
24
20
|
var InternalCountDown = function InternalCountDown(props, ref) {
|
|
25
21
|
useConfig();
|
|
26
|
-
|
|
27
22
|
var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
23
|
+
paused = _defaultProps$props.paused,
|
|
24
|
+
startTime = _defaultProps$props.startTime,
|
|
25
|
+
endTime = _defaultProps$props.endTime,
|
|
26
|
+
millisecond = _defaultProps$props.millisecond,
|
|
27
|
+
format = _defaultProps$props.format,
|
|
28
|
+
autoStart = _defaultProps$props.autoStart,
|
|
29
|
+
time = _defaultProps$props.time,
|
|
30
|
+
className = _defaultProps$props.className,
|
|
31
|
+
style = _defaultProps$props.style,
|
|
32
|
+
onEnd = _defaultProps$props.onEnd,
|
|
33
|
+
onPaused = _defaultProps$props.onPaused,
|
|
34
|
+
onRestart = _defaultProps$props.onRestart,
|
|
35
|
+
onUpdate = _defaultProps$props.onUpdate,
|
|
36
|
+
children = _defaultProps$props.children,
|
|
37
|
+
rest = _objectWithoutProperties(_defaultProps$props, _excluded);
|
|
44
38
|
var b = cn('countdown');
|
|
45
|
-
|
|
46
39
|
var _useState = useState(0),
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
40
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
41
|
+
restTimeStamp = _useState2[0],
|
|
42
|
+
setRestTime = _useState2[1];
|
|
51
43
|
var stateRef = useRef({
|
|
52
44
|
pauseTime: 0,
|
|
53
45
|
curr: 0,
|
|
@@ -58,25 +50,21 @@ var InternalCountDown = function InternalCountDown(props, ref) {
|
|
|
58
50
|
counting: !paused && autoStart,
|
|
59
51
|
handleEndTime: Date.now(),
|
|
60
52
|
diffTime: 0 // 设置了 startTime 时,与 date.now() 的差异
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
53
|
+
});
|
|
54
|
+
// 时间戳转换 或 获取当前时间的时间戳
|
|
64
55
|
var getTimeStamp = function getTimeStamp(timeStr) {
|
|
65
56
|
if (!timeStr) return Date.now();
|
|
66
57
|
var t = timeStr;
|
|
67
58
|
t = t > 0 ? +t : t.toString().replace(/-/g, '/');
|
|
68
59
|
return new Date(t).getTime();
|
|
69
|
-
};
|
|
70
|
-
|
|
71
|
-
|
|
60
|
+
};
|
|
61
|
+
// 倒计时 interval
|
|
72
62
|
var initTime = function initTime() {
|
|
73
63
|
stateRef.current.handleEndTime = endTime;
|
|
74
64
|
stateRef.current.diffTime = Date.now() - getTimeStamp(startTime); // 时间差
|
|
75
|
-
|
|
76
65
|
if (!stateRef.current.counting) stateRef.current.counting = true;
|
|
77
66
|
tick();
|
|
78
67
|
};
|
|
79
|
-
|
|
80
68
|
var tick = function tick() {
|
|
81
69
|
stateRef.current.timer = requestAnimationFrame(function () {
|
|
82
70
|
if (stateRef.current.counting) {
|
|
@@ -84,21 +72,18 @@ var InternalCountDown = function InternalCountDown(props, ref) {
|
|
|
84
72
|
var remainTime = Math.max(stateRef.current.handleEndTime - currentTime, 0);
|
|
85
73
|
stateRef.current.restTime = remainTime;
|
|
86
74
|
setRestTime(remainTime);
|
|
87
|
-
|
|
88
75
|
if (!remainTime) {
|
|
89
76
|
stateRef.current.counting = false;
|
|
90
77
|
pause();
|
|
91
78
|
onEnd && onEnd();
|
|
92
79
|
}
|
|
93
|
-
|
|
94
80
|
if (remainTime > 0) {
|
|
95
81
|
tick();
|
|
96
82
|
}
|
|
97
83
|
}
|
|
98
84
|
});
|
|
99
|
-
};
|
|
100
|
-
|
|
101
|
-
|
|
85
|
+
};
|
|
86
|
+
// 将倒计时剩余时间格式化 参数: t 时间戳 type custom 自定义类型
|
|
102
87
|
var formatRemainTime = function formatRemainTime(t, type) {
|
|
103
88
|
var ts = t;
|
|
104
89
|
var rest = {
|
|
@@ -112,7 +97,6 @@ var InternalCountDown = function InternalCountDown(props, ref) {
|
|
|
112
97
|
var MINUTE = 60 * SECOND;
|
|
113
98
|
var HOUR = 60 * MINUTE;
|
|
114
99
|
var DAY = 24 * HOUR;
|
|
115
|
-
|
|
116
100
|
if (ts > 0) {
|
|
117
101
|
rest.d = ts >= SECOND ? Math.floor(ts / DAY) : 0;
|
|
118
102
|
rest.h = Math.floor(ts % DAY / HOUR);
|
|
@@ -120,45 +104,37 @@ var InternalCountDown = function InternalCountDown(props, ref) {
|
|
|
120
104
|
rest.s = Math.floor(ts % MINUTE / SECOND);
|
|
121
105
|
rest.ms = Math.floor(ts % SECOND);
|
|
122
106
|
}
|
|
123
|
-
|
|
124
107
|
return type === 'custom' ? rest : parseFormat(_objectSpread({}, rest));
|
|
125
108
|
};
|
|
126
|
-
|
|
127
109
|
var parseFormat = function parseFormat(time) {
|
|
128
110
|
var d = time.d;
|
|
129
111
|
var h = time.h,
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
112
|
+
m = time.m,
|
|
113
|
+
s = time.s,
|
|
114
|
+
ms = time.ms;
|
|
133
115
|
var formatCache = format;
|
|
134
|
-
|
|
135
116
|
if (formatCache.includes('DD')) {
|
|
136
117
|
formatCache = formatCache.replace('DD', padZero(d));
|
|
137
118
|
} else {
|
|
138
119
|
h += Number(d) * 24;
|
|
139
120
|
}
|
|
140
|
-
|
|
141
121
|
if (formatCache.includes('HH')) {
|
|
142
122
|
formatCache = formatCache.replace('HH', padZero(h));
|
|
143
123
|
} else {
|
|
144
124
|
m += Number(h) * 60;
|
|
145
125
|
}
|
|
146
|
-
|
|
147
126
|
if (formatCache.includes('mm')) {
|
|
148
127
|
formatCache = formatCache.replace('mm', padZero(m));
|
|
149
128
|
} else {
|
|
150
129
|
s += Number(m) * 60;
|
|
151
130
|
}
|
|
152
|
-
|
|
153
131
|
if (formatCache.includes('ss')) {
|
|
154
132
|
formatCache = formatCache.replace('ss', padZero(s));
|
|
155
133
|
} else {
|
|
156
134
|
ms += Number(s) * 1000;
|
|
157
135
|
}
|
|
158
|
-
|
|
159
136
|
if (formatCache.includes('S')) {
|
|
160
137
|
var msC = padZero(ms, 3).toString();
|
|
161
|
-
|
|
162
138
|
if (formatCache.includes('SSS')) {
|
|
163
139
|
formatCache = formatCache.replace('SSS', msC);
|
|
164
140
|
} else if (formatCache.includes('SS')) {
|
|
@@ -167,28 +143,22 @@ var InternalCountDown = function InternalCountDown(props, ref) {
|
|
|
167
143
|
formatCache = formatCache.replace('SS', msC.slice(0, 1));
|
|
168
144
|
}
|
|
169
145
|
}
|
|
170
|
-
|
|
171
146
|
return formatCache;
|
|
172
147
|
};
|
|
173
|
-
|
|
174
148
|
var padZero = function padZero(num) {
|
|
175
149
|
var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;
|
|
176
150
|
num += '';
|
|
177
|
-
|
|
178
151
|
while (num.length < length) {
|
|
179
152
|
num = "0".concat(num);
|
|
180
153
|
}
|
|
181
|
-
|
|
182
154
|
return num.toString();
|
|
183
|
-
};
|
|
184
|
-
|
|
185
|
-
|
|
155
|
+
};
|
|
156
|
+
// 暂定
|
|
186
157
|
var pause = function pause() {
|
|
187
158
|
cancelAnimationFrame(stateRef.current.timer);
|
|
188
159
|
stateRef.current.counting = false;
|
|
189
160
|
onPaused && onPaused(stateRef.current.restTime);
|
|
190
161
|
};
|
|
191
|
-
|
|
192
162
|
useImperativeHandle(ref, function () {
|
|
193
163
|
return {
|
|
194
164
|
start: function start() {
|
|
@@ -212,13 +182,13 @@ var InternalCountDown = function InternalCountDown(props, ref) {
|
|
|
212
182
|
}
|
|
213
183
|
}
|
|
214
184
|
};
|
|
215
|
-
});
|
|
216
|
-
|
|
185
|
+
});
|
|
186
|
+
// 监听值变更
|
|
217
187
|
useEffect(function () {
|
|
218
188
|
var tranTime = formatRemainTime(stateRef.current.restTime, 'custom');
|
|
219
189
|
onUpdate && onUpdate(tranTime);
|
|
220
|
-
}, [restTimeStamp]);
|
|
221
|
-
|
|
190
|
+
}, [restTimeStamp]);
|
|
191
|
+
// 监听暂停
|
|
222
192
|
useEffect(function () {
|
|
223
193
|
if (stateRef.current.isIninted) {
|
|
224
194
|
if (paused) {
|
|
@@ -231,18 +201,17 @@ var InternalCountDown = function InternalCountDown(props, ref) {
|
|
|
231
201
|
stateRef.current.handleEndTime = Date.now() + Number(stateRef.current.restTime);
|
|
232
202
|
tick();
|
|
233
203
|
}
|
|
234
|
-
|
|
235
204
|
onRestart && onRestart(stateRef.current.restTime);
|
|
236
205
|
}
|
|
237
206
|
}
|
|
238
|
-
}, [paused]);
|
|
239
|
-
|
|
207
|
+
}, [paused]);
|
|
208
|
+
// 监听开始结束时间变更
|
|
240
209
|
useEffect(function () {
|
|
241
210
|
if (stateRef.current.isIninted) {
|
|
242
211
|
initTime();
|
|
243
212
|
}
|
|
244
|
-
}, [endTime, startTime]);
|
|
245
|
-
|
|
213
|
+
}, [endTime, startTime]);
|
|
214
|
+
// 初始化
|
|
246
215
|
useEffect(function () {
|
|
247
216
|
if (autoStart) {
|
|
248
217
|
initTime();
|
|
@@ -250,22 +219,17 @@ var InternalCountDown = function InternalCountDown(props, ref) {
|
|
|
250
219
|
stateRef.current.restTime = time;
|
|
251
220
|
setRestTime(time);
|
|
252
221
|
}
|
|
253
|
-
|
|
254
222
|
if (!stateRef.current.isIninted) {
|
|
255
223
|
stateRef.current.isIninted = true;
|
|
256
224
|
}
|
|
257
|
-
|
|
258
225
|
return componentWillUnmount;
|
|
259
226
|
}, []);
|
|
260
|
-
|
|
261
227
|
var componentWillUnmount = function componentWillUnmount() {
|
|
262
228
|
clearInterval(stateRef.current.timer);
|
|
263
229
|
};
|
|
264
|
-
|
|
265
230
|
var renderTime = function () {
|
|
266
231
|
return formatRemainTime(stateRef.current.restTime);
|
|
267
232
|
}();
|
|
268
|
-
|
|
269
233
|
return React__default.createElement("div", _objectSpread({
|
|
270
234
|
className: "".concat(b(), " ").concat(className || ''),
|
|
271
235
|
style: _objectSpread({}, style)
|
|
@@ -277,7 +241,6 @@ var InternalCountDown = function InternalCountDown(props, ref) {
|
|
|
277
241
|
}
|
|
278
242
|
}));
|
|
279
243
|
};
|
|
280
|
-
|
|
281
244
|
var CountDown = React__default.forwardRef(InternalCountDown);
|
|
282
245
|
CountDown.defaultProps = defaultProps;
|
|
283
246
|
CountDown.displayName = 'NutCountDown';
|