@nutui/nutui-react-taro 1.3.5 → 1.3.7
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 +14 -0
- package/dist/esm/Audio.js +4 -4
- package/dist/esm/Calendar.js +4 -4
- package/dist/esm/CalendarItem.js +3 -3
- package/dist/esm/DatePicker.js +4 -4
- package/dist/esm/Drag.js +3 -4
- package/dist/esm/Elevator.js +2 -4
- package/dist/esm/Menu.js +2 -2
- package/dist/esm/MenuItem.js +2 -2
- package/dist/esm/NoticeBar.js +3 -3
- package/dist/esm/Picker.js +3 -3
- package/dist/esm/Popover.js +3 -3
- package/dist/esm/Range.js +3 -3
- package/dist/esm/SearchBar.js +3 -2
- package/dist/esm/Signature.js +3 -2
- package/dist/esm/Swipe.js +3 -3
- package/dist/esm/actionsheet.taro-360d8d34.js +15 -25
- package/dist/esm/address.taro-f16cef31.js +151 -219
- package/dist/esm/animatingnumbers.taro-6f40a2e9.js +13 -41
- package/dist/esm/{audio.taro-29f5568f.js → audio.taro-57d4f0da.js} +33 -60
- package/dist/esm/avatar.taro-ec620cdd.js +25 -50
- package/dist/esm/avatargroup-5b2584d9.js +2 -9
- package/dist/esm/backtop.taro-aa8b2bc5.js +29 -55
- package/dist/esm/badge.taro-38684262.js +9 -20
- package/dist/esm/barrage.taro-d86c367a.js +8 -21
- package/dist/esm/button.taro-a9ebb937.js +22 -37
- package/dist/esm/{calendar.taro-438940bd.js → calendar.taro-533b3219.js} +13 -24
- package/dist/esm/{calendaritem.taro-11333579.js → calendaritem.taro-fe5dd4bd.js} +71 -183
- package/dist/esm/card.taro-1bc35ebe.js +14 -20
- package/dist/esm/cascader.taro-77100fb4.js +77 -197
- package/dist/esm/cell.taro-a4c3bb7b.js +20 -30
- package/dist/esm/cellgroup.taro-8c87bf08.js +6 -12
- package/dist/esm/checkbox.taro-104557c1.js +27 -48
- package/dist/esm/checkboxgroup.taro-3d380042.js +12 -30
- package/dist/esm/circleprogress.taro-3c89a157.js +14 -41
- package/dist/esm/col.taro-2a437387.js +11 -22
- package/dist/esm/collapse.taro-72e58ba2.js +11 -27
- package/dist/esm/collapseitem-75843a5e.js +33 -47
- package/dist/esm/configprovider-3e87d67a.js +2 -6
- package/dist/esm/configprovider.taro-6c7b3056.js +4 -14
- package/dist/esm/countdown.taro-f2d9ffed.js +37 -74
- package/dist/esm/{datepicker.taro-1acec61f.js → datepicker.taro-49a4cf0c.js} +43 -104
- package/dist/esm/dialog.taro-492e2b9a.js +27 -58
- package/dist/esm/divider.taro-5236fe6a.js +8 -15
- package/dist/esm/drag.taro-0717c783.js +153 -0
- package/dist/esm/{elevator.taro-8e385785.js → elevator.taro-443253ec.js} +99 -124
- package/dist/esm/empty.taro-ab9c4f03.js +11 -24
- package/dist/esm/fixednav.taro-582322a1.js +16 -27
- package/dist/esm/grid.taro-5d75c0ad.js +13 -28
- package/dist/esm/griditem.taro-866cd288.js +18 -34
- package/dist/esm/icon-8dc4de10.js +11 -21
- package/dist/esm/icon.taro-1d0d4fb7.js +11 -21
- package/dist/esm/imagepreview.taro-1199e977.js +36 -71
- package/dist/esm/indicator.taro-183ea169.js +9 -20
- package/dist/esm/infiniteloading.taro-b95e62bf.js +23 -49
- package/dist/esm/input.taro-2453d7c4.js +62 -106
- package/dist/esm/inputnumber.taro-0cf7c1b7.js +25 -52
- package/dist/esm/layout.taro-358f014f.js +0 -6
- package/dist/esm/{menu.taro-9345dcfd.js → menu.taro-f8ca86db.js} +24 -42
- package/dist/esm/{menuitem.taro-fc0961b7.js → menuitem.taro-7bf564c9.js} +32 -57
- package/dist/esm/navbar.taro-c931c078.js +18 -34
- package/dist/esm/{noticebar.taro-1fa04a96.js → noticebar.taro-332691f9.js} +55 -107
- package/dist/esm/notify.taro-d9c48fae.js +18 -34
- package/dist/esm/numberkeyboard.taro-53c350b8.js +21 -52
- package/dist/esm/nutui-react.es.js +18 -18
- package/dist/esm/offsetContext-0e3d04b3.js +0 -3
- package/dist/esm/overlay.taro-be45fed5.js +12 -23
- package/dist/esm/pagination.taro-62bbd23f.js +38 -71
- package/dist/esm/{picker.taro-6a4dad23.js → picker.taro-f003b725.js} +95 -186
- package/dist/esm/{popover.taro-eddd0bd2.js → popover.taro-7e5dff8c.js} +33 -76
- package/dist/esm/popup.taro-33d0bbc8.js +40 -72
- package/dist/esm/price.taro-97393d8f.js +7 -24
- package/dist/esm/progress.taro-623bc807.js +23 -31
- package/dist/esm/pulltorefresh.taro-e66c78ad.js +29 -92
- package/dist/esm/radio.taro-95d43860.js +24 -47
- package/dist/esm/radiogroup.taro-b5dad516.js +14 -24
- package/dist/esm/{range.taro-515d37a4.js → range.taro-fc7c0b6a.js} +50 -133
- package/dist/esm/rate.taro-69c85081.js +21 -39
- package/dist/esm/row.taro-cec13a7e.js +7 -16
- package/dist/esm/{searchbar.taro-f134fb96.js → searchbar.taro-0d3c0081.js} +55 -70
- package/dist/esm/shortpassword.taro-2e96ca22.js +29 -56
- package/dist/esm/sidenavbar.taro-87f056cd.js +9 -16
- package/dist/esm/sidenavbaritem.taro-77e077f4.js +4 -11
- package/dist/esm/signature.taro-59b3b3ab.js +146 -0
- package/dist/esm/skeleton.taro-b9ff84b9.js +13 -23
- package/dist/esm/step.taro-f1057500.js +12 -28
- package/dist/esm/steps.taro-943f4fbb.js +6 -14
- package/dist/esm/sticky.taro-30d4e453.js +0 -7
- package/dist/esm/subsidenavbar.taro-2c1fcf16.js +7 -22
- package/dist/esm/{swipe.taro-dfb9a049.js → swipe.taro-83bc248f.js} +98 -91
- package/dist/esm/swiper.taro-f314d67a.js +110 -196
- package/dist/esm/swiperitem-d00e7513.js +2 -12
- package/dist/esm/switch.taro-be5eb823.js +13 -27
- package/dist/esm/tabbar.taro-da72fa2c.js +13 -25
- package/dist/esm/tabbaritem.taro-94cd62c2.js +15 -23
- package/dist/esm/table.taro-7ac89a6c.js +19 -39
- package/dist/esm/tabpane.taro-95aa185b.js +4 -10
- package/dist/esm/tabs.taro-86186dff.js +28 -54
- package/dist/esm/tag.taro-95d7f5c2.js +19 -36
- package/dist/esm/textarea.taro-388d1f90.js +18 -35
- package/dist/esm/timedetail.taro-519808cf.js +15 -28
- package/dist/esm/timepannel.taro-9904f6e6.js +5 -12
- package/dist/esm/timeselect.taro-73796bfc.js +35 -59
- package/dist/esm/toast.taro-86862dff.js +26 -46
- 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/types/src/packages/searchbar/searchbar.taro.d.ts +2 -0
- package/dist/esm/types/src/packages/signature/signature.taro.d.ts +10 -2
- package/dist/esm/uploader.taro-6184abe7.js +52 -144
- package/dist/esm/{useClientRect-8b7cc406.js → useClientRect-bf69d7b3.js} +1 -40
- package/dist/esm/useTouch-a2ea68c6.js +27 -47
- package/dist/esm/video-c1090c92.js +8 -19
- package/dist/esm/virtuallist.taro-6858f690.js +84 -118
- 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 +10848 -11365
- package/dist/nutui.react.umd.js +10840 -11357
- package/dist/packages/menu/menu.scss +4 -0
- package/dist/packages/menuitem/menuitem.scss +27 -2
- 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 +17 -8
- package/package.json +1 -1
- package/dist/esm/drag.taro-56e8c87a.js +0 -134
- package/dist/esm/signature.taro-a9286cd1.js +0 -178
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
2
2
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
3
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
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, { memo, useState, useEffect } from 'react';
|
|
10
7
|
import { c as cn } from './bem-893ad28d.js';
|
|
11
8
|
var defaultProps = {
|
|
@@ -16,32 +13,26 @@ var defaultProps = {
|
|
|
16
13
|
iconColor: '',
|
|
17
14
|
rotate: 180
|
|
18
15
|
};
|
|
19
|
-
|
|
20
16
|
function areEqual(prevProps, nextProps) {
|
|
21
17
|
return JSON.stringify(prevProps.activeName) === JSON.stringify(nextProps.activeName);
|
|
22
18
|
}
|
|
23
|
-
|
|
24
19
|
var Collapse = memo(function (props) {
|
|
25
20
|
var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
21
|
+
children = _defaultProps$props.children,
|
|
22
|
+
activeName = _defaultProps$props.activeName,
|
|
23
|
+
accordion = _defaultProps$props.accordion,
|
|
24
|
+
icon = _defaultProps$props.icon,
|
|
25
|
+
rotate = _defaultProps$props.rotate,
|
|
26
|
+
iconSize = _defaultProps$props.iconSize,
|
|
27
|
+
iconColor = _defaultProps$props.iconColor,
|
|
28
|
+
change = _defaultProps$props.change;
|
|
35
29
|
var childrenDom = React__default.Children.toArray(children);
|
|
36
|
-
|
|
37
30
|
var _useState = useState([]),
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
31
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
32
|
+
defaultOpenIndex = _useState2[0],
|
|
33
|
+
setDefaultOpenIndex = _useState2[1];
|
|
42
34
|
var handleActiveName = function handleActiveName() {
|
|
43
35
|
var activeArr = [];
|
|
44
|
-
|
|
45
36
|
if (!Array.isArray(activeName)) {
|
|
46
37
|
activeArr.push(activeName.toString());
|
|
47
38
|
} else {
|
|
@@ -49,25 +40,20 @@ var Collapse = memo(function (props) {
|
|
|
49
40
|
if (accordion && activeName.length > 1) {
|
|
50
41
|
console.warn('手风琴模式不支持传递多个打开页签');
|
|
51
42
|
}
|
|
52
|
-
|
|
53
43
|
var activeNameStr = activeName.map(function (item) {
|
|
54
44
|
return item.toString();
|
|
55
45
|
});
|
|
56
46
|
activeArr = _toConsumableArray(activeNameStr);
|
|
57
47
|
}
|
|
58
|
-
|
|
59
48
|
return activeArr;
|
|
60
49
|
};
|
|
61
|
-
|
|
62
50
|
var colBem = cn('collapse');
|
|
63
51
|
useEffect(function () {
|
|
64
52
|
var activeArr = handleActiveName();
|
|
65
53
|
setDefaultOpenIndex(activeArr);
|
|
66
54
|
}, [activeName]);
|
|
67
|
-
|
|
68
55
|
var _onToggle = function onToggle(isOpen, name) {
|
|
69
56
|
var newOpenIndex = _toConsumableArray(defaultOpenIndex);
|
|
70
|
-
|
|
71
57
|
if (isOpen) {
|
|
72
58
|
// 当前状态为true,则变为false,闭合
|
|
73
59
|
var removeIndex = newOpenIndex.findIndex(function (value) {
|
|
@@ -83,11 +69,9 @@ var Collapse = memo(function (props) {
|
|
|
83
69
|
newOpenIndex.push(name);
|
|
84
70
|
}
|
|
85
71
|
}
|
|
86
|
-
|
|
87
72
|
setDefaultOpenIndex(newOpenIndex);
|
|
88
73
|
change && change(!isOpen, name);
|
|
89
74
|
};
|
|
90
|
-
|
|
91
75
|
return React__default.createElement("div", {
|
|
92
76
|
className: colBem()
|
|
93
77
|
}, childrenDom.map(function (item) {
|
|
@@ -2,16 +2,12 @@ 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 { I as Icon } from './icon-8dc4de10.js';
|
|
13
10
|
import { C as ComponentDefaults } from './typings-1c5f2628.js';
|
|
14
|
-
|
|
15
11
|
var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
|
|
16
12
|
title: '',
|
|
17
13
|
name: '',
|
|
@@ -28,53 +24,45 @@ var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
|
|
|
28
24
|
titleIconSize: '',
|
|
29
25
|
childnull: true
|
|
30
26
|
});
|
|
31
|
-
|
|
32
27
|
var CollapseItem = function CollapseItem(props) {
|
|
33
28
|
var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
29
|
+
children = _defaultProps$props.children,
|
|
30
|
+
title = _defaultProps$props.title,
|
|
31
|
+
isOpen = _defaultProps$props.isOpen,
|
|
32
|
+
onToggle = _defaultProps$props.onToggle,
|
|
33
|
+
name = _defaultProps$props.name,
|
|
34
|
+
disabled = _defaultProps$props.disabled,
|
|
35
|
+
icon = _defaultProps$props.icon,
|
|
36
|
+
rotate = _defaultProps$props.rotate,
|
|
37
|
+
subTitle = _defaultProps$props.subTitle,
|
|
38
|
+
titleIcon = _defaultProps$props.titleIcon,
|
|
39
|
+
titleIconColor = _defaultProps$props.titleIconColor,
|
|
40
|
+
titleIconPosition = _defaultProps$props.titleIconPosition,
|
|
41
|
+
titleIconSize = _defaultProps$props.titleIconSize,
|
|
42
|
+
iconSize = _defaultProps$props.iconSize,
|
|
43
|
+
iconColor = _defaultProps$props.iconColor,
|
|
44
|
+
childnull = _defaultProps$props.childnull,
|
|
45
|
+
iconClassPrefix = _defaultProps$props.iconClassPrefix,
|
|
46
|
+
iconFontClassName = _defaultProps$props.iconFontClassName,
|
|
47
|
+
rest = _objectWithoutProperties(_defaultProps$props, _excluded);
|
|
54
48
|
var _useState = useState(-1),
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
49
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
50
|
+
domHeight = _useState2[0],
|
|
51
|
+
setDomHeight = _useState2[1]; // 保存content的高度
|
|
60
52
|
var _useState3 = useState('auto'),
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
53
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
54
|
+
currHeight = _useState4[0],
|
|
55
|
+
setCurrHeight = _useState4[1]; // 设置content的高度
|
|
66
56
|
var _useState5 = useState(false),
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
57
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
58
|
+
update = _useState6[0],
|
|
59
|
+
setUpdate = _useState6[1];
|
|
71
60
|
var _useState7 = useState({
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
61
|
+
transform: 'translateY(-50%)'
|
|
62
|
+
}),
|
|
63
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
64
|
+
iconStyle = _useState8[0],
|
|
65
|
+
setIconStyle = _useState8[1];
|
|
78
66
|
var colBem = cn('collapse-item');
|
|
79
67
|
useEffect(function () {
|
|
80
68
|
setCurrHeight('auto');
|
|
@@ -91,7 +79,6 @@ var CollapseItem = function CollapseItem(props) {
|
|
|
91
79
|
if (domHeight !== -1) {
|
|
92
80
|
isOpen ? setCurrHeight("".concat(domHeight, "px")) : setCurrHeight('0px');
|
|
93
81
|
}
|
|
94
|
-
|
|
95
82
|
var newIconStyle = isOpen ? {
|
|
96
83
|
transform: "translateY(-50%) rotate(".concat(rotate, "deg)")
|
|
97
84
|
} : {
|
|
@@ -151,7 +138,6 @@ var CollapseItem = function CollapseItem(props) {
|
|
|
151
138
|
className: colBem('content-text')
|
|
152
139
|
}, children)));
|
|
153
140
|
};
|
|
154
|
-
|
|
155
141
|
CollapseItem.defaultProps = defaultProps;
|
|
156
142
|
CollapseItem.displayName = 'NutCollapseItem';
|
|
157
143
|
export { CollapseItem as C };
|
|
@@ -5,17 +5,13 @@ var defaultConfigRef = {
|
|
|
5
5
|
locale: zhCN
|
|
6
6
|
}
|
|
7
7
|
};
|
|
8
|
-
|
|
9
8
|
var getDefaultConfig = function getDefaultConfig() {
|
|
10
9
|
return defaultConfigRef.current;
|
|
11
10
|
};
|
|
12
|
-
|
|
13
11
|
var useConfig = function useConfig() {
|
|
14
12
|
var _useContext;
|
|
15
|
-
|
|
16
13
|
return (_useContext = useContext(ConfigContext)) !== null && _useContext !== void 0 ? _useContext : getDefaultConfig();
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
|
|
14
|
+
};
|
|
15
|
+
// 创建一个 Context 对象
|
|
20
16
|
var ConfigContext = createContext(null);
|
|
21
17
|
export { useConfig as u };
|
|
@@ -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
|
import { z as zhCN } from './zh-CN-14165629.js';
|
|
11
8
|
var defaultProps = {
|
|
@@ -16,31 +13,24 @@ var defaultConfigRef = {
|
|
|
16
13
|
locale: zhCN
|
|
17
14
|
}
|
|
18
15
|
};
|
|
19
|
-
|
|
20
16
|
var getDefaultConfig = function getDefaultConfig() {
|
|
21
17
|
return defaultConfigRef.current;
|
|
22
18
|
};
|
|
23
|
-
|
|
24
19
|
var useConfig = function useConfig() {
|
|
25
20
|
var _useContext;
|
|
26
|
-
|
|
27
21
|
return (_useContext = useContext(ConfigContext)) !== null && _useContext !== void 0 ? _useContext : getDefaultConfig();
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
|
|
22
|
+
};
|
|
23
|
+
// 创建一个 Context 对象
|
|
31
24
|
var ConfigContext = createContext(null);
|
|
32
|
-
|
|
33
25
|
var ConfigProvider = function ConfigProvider(props) {
|
|
34
26
|
var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
27
|
+
children = _defaultProps$props.children,
|
|
28
|
+
config = _objectWithoutProperties(_defaultProps$props, _excluded);
|
|
38
29
|
var parentConfig = useConfig();
|
|
39
30
|
return React__default.createElement(ConfigContext.Provider, {
|
|
40
31
|
value: _objectSpread(_objectSpread({}, parentConfig), config)
|
|
41
32
|
}, children);
|
|
42
33
|
};
|
|
43
|
-
|
|
44
34
|
ConfigProvider.defaultProps = defaultProps;
|
|
45
35
|
ConfigProvider.displayName = 'NutConfigProvider';
|
|
46
36
|
export { ConfigProvider as C, useConfig as u };
|
|
@@ -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 { u as useConfig } from './configprovider.taro-6c7b3056.js';
|
|
@@ -19,34 +16,29 @@ var defaultProps = {
|
|
|
19
16
|
autoStart: true,
|
|
20
17
|
time: 0
|
|
21
18
|
};
|
|
22
|
-
|
|
23
19
|
var InternalCountDown = function InternalCountDown(props, ref) {
|
|
24
20
|
useConfig();
|
|
25
|
-
|
|
26
21
|
var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
22
|
+
paused = _defaultProps$props.paused,
|
|
23
|
+
startTime = _defaultProps$props.startTime,
|
|
24
|
+
endTime = _defaultProps$props.endTime,
|
|
25
|
+
millisecond = _defaultProps$props.millisecond,
|
|
26
|
+
format = _defaultProps$props.format,
|
|
27
|
+
autoStart = _defaultProps$props.autoStart,
|
|
28
|
+
time = _defaultProps$props.time,
|
|
29
|
+
className = _defaultProps$props.className,
|
|
30
|
+
style = _defaultProps$props.style,
|
|
31
|
+
onEnd = _defaultProps$props.onEnd,
|
|
32
|
+
onPaused = _defaultProps$props.onPaused,
|
|
33
|
+
onRestart = _defaultProps$props.onRestart,
|
|
34
|
+
onUpdate = _defaultProps$props.onUpdate,
|
|
35
|
+
children = _defaultProps$props.children,
|
|
36
|
+
rest = _objectWithoutProperties(_defaultProps$props, _excluded);
|
|
43
37
|
var b = cn('countdown');
|
|
44
|
-
|
|
45
38
|
var _useState = useState(0),
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
39
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
40
|
+
restTimeStamp = _useState2[0],
|
|
41
|
+
setRestTime = _useState2[1];
|
|
50
42
|
var stateRef = useRef({
|
|
51
43
|
pauseTime: 0,
|
|
52
44
|
curr: 0,
|
|
@@ -57,25 +49,21 @@ var InternalCountDown = function InternalCountDown(props, ref) {
|
|
|
57
49
|
counting: !paused && autoStart,
|
|
58
50
|
handleEndTime: Date.now(),
|
|
59
51
|
diffTime: 0 // 设置了 startTime 时,与 date.now() 的差异
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
52
|
+
});
|
|
53
|
+
// 时间戳转换 或 获取当前时间的时间戳
|
|
63
54
|
var getTimeStamp = function getTimeStamp(timeStr) {
|
|
64
55
|
if (!timeStr) return Date.now();
|
|
65
56
|
var t = timeStr;
|
|
66
57
|
t = t > 0 ? +t : t.toString().replace(/-/g, '/');
|
|
67
58
|
return new Date(t).getTime();
|
|
68
|
-
};
|
|
69
|
-
|
|
70
|
-
|
|
59
|
+
};
|
|
60
|
+
// 倒计时 interval
|
|
71
61
|
var initTime = function initTime() {
|
|
72
62
|
stateRef.current.handleEndTime = endTime;
|
|
73
63
|
stateRef.current.diffTime = Date.now() - getTimeStamp(startTime); // 时间差
|
|
74
|
-
|
|
75
64
|
if (!stateRef.current.counting) stateRef.current.counting = true;
|
|
76
65
|
tick();
|
|
77
66
|
};
|
|
78
|
-
|
|
79
67
|
var tick = function tick() {
|
|
80
68
|
stateRef.current.timer = requestAnimationFrame(function () {
|
|
81
69
|
if (stateRef.current.counting) {
|
|
@@ -83,21 +71,18 @@ var InternalCountDown = function InternalCountDown(props, ref) {
|
|
|
83
71
|
var remainTime = Math.max(stateRef.current.handleEndTime - currentTime, 0);
|
|
84
72
|
stateRef.current.restTime = remainTime;
|
|
85
73
|
setRestTime(remainTime);
|
|
86
|
-
|
|
87
74
|
if (!remainTime) {
|
|
88
75
|
stateRef.current.counting = false;
|
|
89
76
|
pause();
|
|
90
77
|
onEnd && onEnd();
|
|
91
78
|
}
|
|
92
|
-
|
|
93
79
|
if (remainTime > 0) {
|
|
94
80
|
tick();
|
|
95
81
|
}
|
|
96
82
|
}
|
|
97
83
|
});
|
|
98
|
-
};
|
|
99
|
-
|
|
100
|
-
|
|
84
|
+
};
|
|
85
|
+
// 将倒计时剩余时间格式化 参数: t 时间戳 type custom 自定义类型
|
|
101
86
|
var formatRemainTime = function formatRemainTime(t, type) {
|
|
102
87
|
var ts = t;
|
|
103
88
|
var rest = {
|
|
@@ -111,7 +96,6 @@ var InternalCountDown = function InternalCountDown(props, ref) {
|
|
|
111
96
|
var MINUTE = 60 * SECOND;
|
|
112
97
|
var HOUR = 60 * MINUTE;
|
|
113
98
|
var DAY = 24 * HOUR;
|
|
114
|
-
|
|
115
99
|
if (ts > 0) {
|
|
116
100
|
rest.d = ts >= SECOND ? Math.floor(ts / DAY) : 0;
|
|
117
101
|
rest.h = Math.floor(ts % DAY / HOUR);
|
|
@@ -119,45 +103,37 @@ var InternalCountDown = function InternalCountDown(props, ref) {
|
|
|
119
103
|
rest.s = Math.floor(ts % MINUTE / SECOND);
|
|
120
104
|
rest.ms = Math.floor(ts % SECOND);
|
|
121
105
|
}
|
|
122
|
-
|
|
123
106
|
return type === 'custom' ? rest : parseFormat(_objectSpread({}, rest));
|
|
124
107
|
};
|
|
125
|
-
|
|
126
108
|
var parseFormat = function parseFormat(time) {
|
|
127
109
|
var d = time.d;
|
|
128
110
|
var h = time.h,
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
111
|
+
m = time.m,
|
|
112
|
+
s = time.s,
|
|
113
|
+
ms = time.ms;
|
|
132
114
|
var formatCache = format;
|
|
133
|
-
|
|
134
115
|
if (formatCache.includes('DD')) {
|
|
135
116
|
formatCache = formatCache.replace('DD', padZero(d));
|
|
136
117
|
} else {
|
|
137
118
|
h += Number(d) * 24;
|
|
138
119
|
}
|
|
139
|
-
|
|
140
120
|
if (formatCache.includes('HH')) {
|
|
141
121
|
formatCache = formatCache.replace('HH', padZero(h));
|
|
142
122
|
} else {
|
|
143
123
|
m += Number(h) * 60;
|
|
144
124
|
}
|
|
145
|
-
|
|
146
125
|
if (formatCache.includes('mm')) {
|
|
147
126
|
formatCache = formatCache.replace('mm', padZero(m));
|
|
148
127
|
} else {
|
|
149
128
|
s += Number(m) * 60;
|
|
150
129
|
}
|
|
151
|
-
|
|
152
130
|
if (formatCache.includes('ss')) {
|
|
153
131
|
formatCache = formatCache.replace('ss', padZero(s));
|
|
154
132
|
} else {
|
|
155
133
|
ms += Number(s) * 1000;
|
|
156
134
|
}
|
|
157
|
-
|
|
158
135
|
if (formatCache.includes('S')) {
|
|
159
136
|
var msC = padZero(ms, 3).toString();
|
|
160
|
-
|
|
161
137
|
if (formatCache.includes('SSS')) {
|
|
162
138
|
formatCache = formatCache.replace('SSS', msC);
|
|
163
139
|
} else if (formatCache.includes('SS')) {
|
|
@@ -166,28 +142,22 @@ var InternalCountDown = function InternalCountDown(props, ref) {
|
|
|
166
142
|
formatCache = formatCache.replace('SS', msC.slice(0, 1));
|
|
167
143
|
}
|
|
168
144
|
}
|
|
169
|
-
|
|
170
145
|
return formatCache;
|
|
171
146
|
};
|
|
172
|
-
|
|
173
147
|
var padZero = function padZero(num) {
|
|
174
148
|
var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;
|
|
175
149
|
num += '';
|
|
176
|
-
|
|
177
150
|
while (num.length < length) {
|
|
178
151
|
num = "0".concat(num);
|
|
179
152
|
}
|
|
180
|
-
|
|
181
153
|
return num.toString();
|
|
182
|
-
};
|
|
183
|
-
|
|
184
|
-
|
|
154
|
+
};
|
|
155
|
+
// 暂定
|
|
185
156
|
var pause = function pause() {
|
|
186
157
|
cancelAnimationFrame(stateRef.current.timer);
|
|
187
158
|
stateRef.current.counting = false;
|
|
188
159
|
onPaused && onPaused(stateRef.current.restTime);
|
|
189
160
|
};
|
|
190
|
-
|
|
191
161
|
useImperativeHandle(ref, function () {
|
|
192
162
|
return {
|
|
193
163
|
start: function start() {
|
|
@@ -211,13 +181,13 @@ var InternalCountDown = function InternalCountDown(props, ref) {
|
|
|
211
181
|
}
|
|
212
182
|
}
|
|
213
183
|
};
|
|
214
|
-
});
|
|
215
|
-
|
|
184
|
+
});
|
|
185
|
+
// 监听值变更
|
|
216
186
|
useEffect(function () {
|
|
217
187
|
var tranTime = formatRemainTime(stateRef.current.restTime, 'custom');
|
|
218
188
|
onUpdate && onUpdate(tranTime);
|
|
219
|
-
}, [restTimeStamp]);
|
|
220
|
-
|
|
189
|
+
}, [restTimeStamp]);
|
|
190
|
+
// 监听暂停
|
|
221
191
|
useEffect(function () {
|
|
222
192
|
if (stateRef.current.isIninted) {
|
|
223
193
|
if (paused) {
|
|
@@ -230,18 +200,17 @@ var InternalCountDown = function InternalCountDown(props, ref) {
|
|
|
230
200
|
stateRef.current.handleEndTime = Date.now() + Number(stateRef.current.restTime);
|
|
231
201
|
tick();
|
|
232
202
|
}
|
|
233
|
-
|
|
234
203
|
onRestart && onRestart(stateRef.current.restTime);
|
|
235
204
|
}
|
|
236
205
|
}
|
|
237
|
-
}, [paused]);
|
|
238
|
-
|
|
206
|
+
}, [paused]);
|
|
207
|
+
// 监听开始结束时间变更
|
|
239
208
|
useEffect(function () {
|
|
240
209
|
if (stateRef.current.isIninted) {
|
|
241
210
|
initTime();
|
|
242
211
|
}
|
|
243
|
-
}, [endTime, startTime]);
|
|
244
|
-
|
|
212
|
+
}, [endTime, startTime]);
|
|
213
|
+
// 初始化
|
|
245
214
|
useEffect(function () {
|
|
246
215
|
if (autoStart) {
|
|
247
216
|
initTime();
|
|
@@ -249,22 +218,17 @@ var InternalCountDown = function InternalCountDown(props, ref) {
|
|
|
249
218
|
stateRef.current.restTime = time;
|
|
250
219
|
setRestTime(time);
|
|
251
220
|
}
|
|
252
|
-
|
|
253
221
|
if (!stateRef.current.isIninted) {
|
|
254
222
|
stateRef.current.isIninted = true;
|
|
255
223
|
}
|
|
256
|
-
|
|
257
224
|
return componentWillUnmount;
|
|
258
225
|
}, []);
|
|
259
|
-
|
|
260
226
|
var componentWillUnmount = function componentWillUnmount() {
|
|
261
227
|
clearInterval(stateRef.current.timer);
|
|
262
228
|
};
|
|
263
|
-
|
|
264
229
|
var renderTime = function () {
|
|
265
230
|
return formatRemainTime(stateRef.current.restTime);
|
|
266
231
|
}();
|
|
267
|
-
|
|
268
232
|
return React__default.createElement("div", _objectSpread({
|
|
269
233
|
className: "".concat(b(), " ").concat(className || ''),
|
|
270
234
|
style: _objectSpread({}, style)
|
|
@@ -276,7 +240,6 @@ var InternalCountDown = function InternalCountDown(props, ref) {
|
|
|
276
240
|
}
|
|
277
241
|
}));
|
|
278
242
|
};
|
|
279
|
-
|
|
280
243
|
var CountDown = React__default.forwardRef(InternalCountDown);
|
|
281
244
|
CountDown.defaultProps = defaultProps;
|
|
282
245
|
CountDown.displayName = 'NutCountDown';
|