@nutui/nutui-react 3.0.20-beta.0 → 3.0.20
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 +13 -0
- package/dist/cjs/hooks/taro/use-custom-event.js +5 -5
- package/dist/cjs/hooks/use-ref-state.js +3 -3
- package/dist/cjs/hooks/use-touch.js +1 -2
- package/dist/cjs/packages/address/address.js +3 -3
- package/dist/cjs/packages/address/utils.js +3 -3
- package/dist/cjs/packages/avatarcropper/avatarcropper.js +4 -7
- package/dist/cjs/packages/calendar/utils.js +8 -8
- package/dist/cjs/packages/calendarcard/icon.js +5 -5
- package/dist/cjs/packages/calendarcard/utils.js +6 -6
- package/dist/cjs/packages/cascader/cascader.js +12 -21
- package/dist/cjs/packages/cascader/utils.js +3 -3
- package/dist/cjs/packages/collapseitem/collapseitem.js +4 -7
- package/dist/cjs/packages/configprovider/configprovider.js +7 -7
- package/dist/cjs/packages/configprovider/index.js +6 -6
- package/dist/cjs/packages/countdown/countdown.js +1 -2
- package/dist/cjs/packages/datepicker/utils.js +9 -9
- package/dist/cjs/packages/dialog/content.js +3 -3
- package/dist/cjs/packages/dialog/dialog.js +4 -7
- package/dist/cjs/packages/elevator/elevator.js +3 -3
- package/dist/cjs/packages/form/index.js +0 -2
- package/dist/cjs/packages/form/useform.js +50 -57
- package/dist/cjs/packages/infiniteloading/infiniteloading.js +8 -14
- package/dist/cjs/packages/inputnumber/inputnumber.js +16 -28
- package/dist/cjs/packages/lottie/types.js +0 -2
- package/dist/cjs/packages/nutui.react.build.js +105 -105
- package/dist/cjs/packages/nutui.react.js +105 -105
- package/dist/cjs/packages/overlay/overlay.js +3 -3
- package/dist/cjs/packages/pickerview/pickerview.js +1 -2
- package/dist/cjs/packages/pickerview/utils.js +3 -3
- package/dist/cjs/packages/pulltorefresh/pulltorefresh.js +41 -51
- package/dist/cjs/packages/radio/index.js +0 -2
- package/dist/cjs/packages/range/utils.js +3 -3
- package/dist/cjs/packages/shortpassword/shortpassword.js +3 -3
- package/dist/cjs/packages/skeleton/skeleton.js +2 -4
- package/dist/cjs/packages/swiper/effects/focus.js +4 -4
- package/dist/cjs/packages/swiper/index.js +0 -1
- package/dist/cjs/packages/switch/switch.js +4 -7
- package/dist/cjs/packages/uploader/uploader.js +30 -37
- package/dist/cjs/packages/virtuallist/utils.js +6 -6
- package/dist/cjs/packages/watermark/watermark.js +4 -8
- package/dist/cjs/types/spec/address/base.js +0 -2
- package/dist/cjs/utils/date.js +5 -5
- package/dist/cjs/utils/event-mocker.js +10 -18
- package/dist/cjs/utils/get-rect.js +4 -4
- package/dist/cjs/utils/get-scroll-parent.js +3 -3
- package/dist/cjs/utils/merge-props.js +3 -3
- package/dist/cjs/utils/merge.js +6 -6
- package/dist/cjs/utils/raf.js +3 -3
- package/dist/cjs/utils/render.js +5 -9
- package/dist/cjs/utils/rubberband.js +3 -3
- package/dist/cjs/utils/taro/ConfigurableCSSTransition copy.d.ts +15 -0
- package/dist/cjs/utils/taro/ConfigurableCSSTransition copy.js +130 -0
- package/dist/cjs/utils/taro/get-rect.js +14 -24
- package/dist/cjs/utils/taro/get-system-info.js +4 -4
- package/dist/cjs/utils/taro/platform.js +5 -5
- package/dist/es/hooks/use-touch.js +1 -1
- package/dist/es/packages/avatarcropper/avatarcropper.js +4 -7
- package/dist/es/packages/cascader/cascader.js +12 -21
- package/dist/es/packages/collapseitem/collapseitem.js +4 -7
- package/dist/es/packages/countdown/countdown.js +1 -2
- package/dist/es/packages/dialog/dialog.js +4 -7
- package/dist/es/packages/form/index.js +0 -1
- package/dist/es/packages/form/useform.js +46 -53
- package/dist/es/packages/infiniteloading/infiniteloading.js +8 -14
- package/dist/es/packages/inputnumber/inputnumber.js +16 -28
- package/dist/es/packages/lottie/types.js +1 -1
- package/dist/es/packages/pickerview/pickerview.js +1 -2
- package/dist/es/packages/pulltorefresh/pulltorefresh.js +41 -51
- package/dist/es/packages/radio/index.js +0 -1
- package/dist/es/packages/skeleton/skeleton.js +2 -4
- package/dist/es/packages/swiper/index.js +0 -1
- package/dist/es/packages/switch/switch.js +4 -7
- package/dist/es/packages/uploader/uploader.js +30 -37
- package/dist/es/packages/watermark/watermark.js +4 -8
- package/dist/es/types/spec/address/base.js +1 -1
- package/dist/es/utils/event-mocker.js +4 -12
- package/dist/es/utils/render.js +2 -6
- package/dist/es/utils/taro/ConfigurableCSSTransition copy.d.ts +15 -0
- package/dist/es/utils/taro/ConfigurableCSSTransition copy.js +119 -0
- package/dist/es/utils/taro/get-rect.js +10 -20
- package/dist/nutui.react.umd.js +396 -592
- package/dist/style-jmapp.css +1 -1
- package/dist/style-jmapp.scss +33 -33
- package/dist/style-jrkf.css +1 -1
- package/dist/style-jrkf.scss +36 -36
- package/dist/style.css +1 -1
- package/dist/style.scss +36 -36
- package/package.json +1 -1
|
@@ -30,40 +30,7 @@ var defaultProps = _object_spread_props(_object_spread({}, ComponentDefaults), {
|
|
|
30
30
|
});
|
|
31
31
|
export var PullToRefresh = function(p) {
|
|
32
32
|
var doRefresh = function doRefresh() {
|
|
33
|
-
return
|
|
34
|
-
};
|
|
35
|
-
var classPrefix = 'nut-pulltorefresh';
|
|
36
|
-
var locale = useConfig().locale;
|
|
37
|
-
var props = _object_spread({}, defaultProps, p, {
|
|
38
|
-
pullingText: p.pullingText || locale.pullToRefresh.pullingText,
|
|
39
|
-
canReleaseText: p.canReleaseText || locale.pullToRefresh.canReleaseText,
|
|
40
|
-
refreshingText: p.refreshingText || locale.pullToRefresh.refreshingText,
|
|
41
|
-
completeText: p.completeText || locale.pullToRefresh.completeText
|
|
42
|
-
});
|
|
43
|
-
var classes = classNames(classPrefix, props.className, "".concat(classPrefix, "-").concat(props.type));
|
|
44
|
-
var headHeight = props.headHeight;
|
|
45
|
-
var threshold = props.threshold;
|
|
46
|
-
var _useState = _sliced_to_array(useState('pulling'), 2), status = _useState[0], setStatus = _useState[1];
|
|
47
|
-
var _useSpring = _sliced_to_array(useSpring(function() {
|
|
48
|
-
return {
|
|
49
|
-
from: {
|
|
50
|
-
height: 0
|
|
51
|
-
},
|
|
52
|
-
config: {
|
|
53
|
-
tension: 300,
|
|
54
|
-
friction: 30,
|
|
55
|
-
clamp: true
|
|
56
|
-
}
|
|
57
|
-
};
|
|
58
|
-
}), 2), springStyles = _useSpring[0], api = _useSpring[1];
|
|
59
|
-
var elementRef = useRef(null);
|
|
60
|
-
var pullingRef = useRef(false);
|
|
61
|
-
useEffect(function() {
|
|
62
|
-
var _elementRef_current;
|
|
63
|
-
(_elementRef_current = elementRef.current) === null || _elementRef_current === void 0 ? void 0 : _elementRef_current.addEventListener('touchmove', function() {});
|
|
64
|
-
}, []);
|
|
65
|
-
function _doRefresh() {
|
|
66
|
-
_doRefresh = _async_to_generator(function() {
|
|
33
|
+
return _async_to_generator(function() {
|
|
67
34
|
var e;
|
|
68
35
|
return _ts_generator(this, function(_state) {
|
|
69
36
|
switch(_state.label){
|
|
@@ -94,8 +61,8 @@ export var PullToRefresh = function(p) {
|
|
|
94
61
|
case 3:
|
|
95
62
|
e = _state.sent();
|
|
96
63
|
api.start({
|
|
97
|
-
to:
|
|
98
|
-
|
|
64
|
+
to: function(next) {
|
|
65
|
+
return _async_to_generator(function() {
|
|
99
66
|
return _ts_generator(this, function(_state) {
|
|
100
67
|
switch(_state.label){
|
|
101
68
|
case 0:
|
|
@@ -113,11 +80,8 @@ export var PullToRefresh = function(p) {
|
|
|
113
80
|
];
|
|
114
81
|
}
|
|
115
82
|
});
|
|
116
|
-
});
|
|
117
|
-
|
|
118
|
-
return _ref.apply(this, arguments);
|
|
119
|
-
};
|
|
120
|
-
}()
|
|
83
|
+
})();
|
|
84
|
+
}
|
|
121
85
|
});
|
|
122
86
|
throw e;
|
|
123
87
|
case 4:
|
|
@@ -134,8 +98,8 @@ export var PullToRefresh = function(p) {
|
|
|
134
98
|
_state.label = 6;
|
|
135
99
|
case 6:
|
|
136
100
|
api.start({
|
|
137
|
-
to:
|
|
138
|
-
|
|
101
|
+
to: function(next) {
|
|
102
|
+
return _async_to_generator(function() {
|
|
139
103
|
return _ts_generator(this, function(_state) {
|
|
140
104
|
switch(_state.label){
|
|
141
105
|
case 0:
|
|
@@ -153,20 +117,46 @@ export var PullToRefresh = function(p) {
|
|
|
153
117
|
];
|
|
154
118
|
}
|
|
155
119
|
});
|
|
156
|
-
});
|
|
157
|
-
|
|
158
|
-
return _ref.apply(this, arguments);
|
|
159
|
-
};
|
|
160
|
-
}()
|
|
120
|
+
})();
|
|
121
|
+
}
|
|
161
122
|
});
|
|
162
123
|
return [
|
|
163
124
|
2
|
|
164
125
|
];
|
|
165
126
|
}
|
|
166
127
|
});
|
|
167
|
-
});
|
|
168
|
-
|
|
169
|
-
|
|
128
|
+
})();
|
|
129
|
+
};
|
|
130
|
+
var classPrefix = 'nut-pulltorefresh';
|
|
131
|
+
var locale = useConfig().locale;
|
|
132
|
+
var props = _object_spread({}, defaultProps, p, {
|
|
133
|
+
pullingText: p.pullingText || locale.pullToRefresh.pullingText,
|
|
134
|
+
canReleaseText: p.canReleaseText || locale.pullToRefresh.canReleaseText,
|
|
135
|
+
refreshingText: p.refreshingText || locale.pullToRefresh.refreshingText,
|
|
136
|
+
completeText: p.completeText || locale.pullToRefresh.completeText
|
|
137
|
+
});
|
|
138
|
+
var classes = classNames(classPrefix, props.className, "".concat(classPrefix, "-").concat(props.type));
|
|
139
|
+
var headHeight = props.headHeight;
|
|
140
|
+
var threshold = props.threshold;
|
|
141
|
+
var _useState = _sliced_to_array(useState('pulling'), 2), status = _useState[0], setStatus = _useState[1];
|
|
142
|
+
var _useSpring = _sliced_to_array(useSpring(function() {
|
|
143
|
+
return {
|
|
144
|
+
from: {
|
|
145
|
+
height: 0
|
|
146
|
+
},
|
|
147
|
+
config: {
|
|
148
|
+
tension: 300,
|
|
149
|
+
friction: 30,
|
|
150
|
+
clamp: true
|
|
151
|
+
}
|
|
152
|
+
};
|
|
153
|
+
}), 2), springStyles = _useSpring[0], api = _useSpring[1];
|
|
154
|
+
var elementRef = useRef(null);
|
|
155
|
+
var pullingRef = useRef(false);
|
|
156
|
+
useEffect(function() {
|
|
157
|
+
var _elementRef_current;
|
|
158
|
+
(_elementRef_current = elementRef.current) === null || _elementRef_current === void 0 ? void 0 : _elementRef_current.addEventListener('touchmove', function() {});
|
|
159
|
+
}, []);
|
|
170
160
|
useDrag(function(state) {
|
|
171
161
|
var getScrollTop = function getScrollTop(element) {
|
|
172
162
|
return 'scrollTop' in element ? element.scrollTop : element.scrollY;
|
|
@@ -52,11 +52,9 @@ export var Skeleton = function(props) {
|
|
|
52
52
|
};
|
|
53
53
|
var _useState = _sliced_to_array(useState(false), 2), animate = _useState[0], setAnimate = _useState[1];
|
|
54
54
|
var playAnimation = function() {
|
|
55
|
-
setAnimate(false) // 首先将 animate 设置为 false
|
|
56
|
-
;
|
|
55
|
+
setAnimate(false); // 首先将 animate 设置为 false
|
|
57
56
|
setTimeout(function() {
|
|
58
|
-
setAnimate(true) // 1 毫秒后再设置为 true,触发动画
|
|
59
|
-
;
|
|
57
|
+
setAnimate(true); // 1 毫秒后再设置为 true,触发动画
|
|
60
58
|
}, 10);
|
|
61
59
|
};
|
|
62
60
|
useEffect(function() {
|
|
@@ -62,8 +62,8 @@ export var Switch = function(props) {
|
|
|
62
62
|
(_obj = {}, _define_property(_obj, "".concat(classPrefix, "-close"), !value), _define_property(_obj, "".concat(classPrefix, "-disabled"), disabled), _define_property(_obj, "".concat(classPrefix, "-disabled-close"), disabled && !value), _obj)
|
|
63
63
|
]);
|
|
64
64
|
};
|
|
65
|
-
var onClick =
|
|
66
|
-
|
|
65
|
+
var onClick = function() {
|
|
66
|
+
return _async_to_generator(function() {
|
|
67
67
|
var e;
|
|
68
68
|
return _ts_generator(this, function(_state) {
|
|
69
69
|
switch(_state.label){
|
|
@@ -108,11 +108,8 @@ export var Switch = function(props) {
|
|
|
108
108
|
];
|
|
109
109
|
}
|
|
110
110
|
});
|
|
111
|
-
});
|
|
112
|
-
|
|
113
|
-
return _ref.apply(this, arguments);
|
|
114
|
-
};
|
|
115
|
-
}();
|
|
111
|
+
})();
|
|
112
|
+
};
|
|
116
113
|
var _obj, _obj1;
|
|
117
114
|
return /*#__PURE__*/ React.createElement("div", _object_spread_props(_object_spread({
|
|
118
115
|
className: classes(),
|
|
@@ -99,22 +99,24 @@ var InternalUploader = function(props, ref) {
|
|
|
99
99
|
]);
|
|
100
100
|
useImperativeHandle(ref, function() {
|
|
101
101
|
return {
|
|
102
|
-
submit:
|
|
103
|
-
return
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
102
|
+
submit: function() {
|
|
103
|
+
return _async_to_generator(function() {
|
|
104
|
+
return _ts_generator(this, function(_state) {
|
|
105
|
+
switch(_state.label){
|
|
106
|
+
case 0:
|
|
107
|
+
return [
|
|
108
|
+
4,
|
|
109
|
+
uploadAction(uploadQueue)
|
|
110
|
+
];
|
|
111
|
+
case 1:
|
|
112
|
+
_state.sent();
|
|
113
|
+
return [
|
|
114
|
+
2
|
|
115
|
+
];
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
})();
|
|
119
|
+
},
|
|
118
120
|
clear: function() {
|
|
119
121
|
clearUploadQueue();
|
|
120
122
|
}
|
|
@@ -171,8 +173,8 @@ var InternalUploader = function(props, ref) {
|
|
|
171
173
|
}
|
|
172
174
|
});
|
|
173
175
|
};
|
|
174
|
-
var fileChange =
|
|
175
|
-
|
|
176
|
+
var fileChange = function(event) {
|
|
177
|
+
return _async_to_generator(function() {
|
|
176
178
|
var $el, files, _files, filesArr, tasks;
|
|
177
179
|
return _ts_generator(this, function(_state) {
|
|
178
180
|
switch(_state.label){
|
|
@@ -258,13 +260,10 @@ var InternalUploader = function(props, ref) {
|
|
|
258
260
|
];
|
|
259
261
|
}
|
|
260
262
|
});
|
|
261
|
-
});
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
}();
|
|
266
|
-
var uploadAction = /*#__PURE__*/ function() {
|
|
267
|
-
var _ref = _async_to_generator(function(tasks) {
|
|
263
|
+
})();
|
|
264
|
+
};
|
|
265
|
+
var uploadAction = function(tasks) {
|
|
266
|
+
return _async_to_generator(function() {
|
|
268
267
|
var taskIds;
|
|
269
268
|
return _ts_generator(this, function(_state) {
|
|
270
269
|
switch(_state.label){
|
|
@@ -283,8 +282,8 @@ var InternalUploader = function(props, ref) {
|
|
|
283
282
|
}));
|
|
284
283
|
return [
|
|
285
284
|
4,
|
|
286
|
-
Promise.all(tasks.map(
|
|
287
|
-
|
|
285
|
+
Promise.all(tasks.map(function(currentTask, index) {
|
|
286
|
+
return _async_to_generator(function() {
|
|
288
287
|
var result, list, e, list1;
|
|
289
288
|
return _ts_generator(this, function(_state) {
|
|
290
289
|
switch(_state.label){
|
|
@@ -331,11 +330,8 @@ var InternalUploader = function(props, ref) {
|
|
|
331
330
|
];
|
|
332
331
|
}
|
|
333
332
|
});
|
|
334
|
-
});
|
|
335
|
-
|
|
336
|
-
return _ref.apply(this, arguments);
|
|
337
|
-
};
|
|
338
|
-
}())).catch(function(errs) {
|
|
333
|
+
})();
|
|
334
|
+
})).catch(function(errs) {
|
|
339
335
|
return console.error(errs);
|
|
340
336
|
})
|
|
341
337
|
];
|
|
@@ -346,11 +342,8 @@ var InternalUploader = function(props, ref) {
|
|
|
346
342
|
];
|
|
347
343
|
}
|
|
348
344
|
});
|
|
349
|
-
});
|
|
350
|
-
|
|
351
|
-
return _ref.apply(this, arguments);
|
|
352
|
-
};
|
|
353
|
-
}();
|
|
345
|
+
})();
|
|
346
|
+
};
|
|
354
347
|
var handleItemClick = function(file, index) {
|
|
355
348
|
onFileItemClick === null || onFileItemClick === void 0 ? void 0 : onFileItemClick(file, index);
|
|
356
349
|
};
|
|
@@ -59,20 +59,16 @@ export var WaterMark = function(props) {
|
|
|
59
59
|
setBase64Url(canvas.toDataURL());
|
|
60
60
|
};
|
|
61
61
|
} else if (content) {
|
|
62
|
-
ctx.textBaseline = 'middle' // 设置或返回在绘制文本时使用的当前文本基线。(正中)
|
|
63
|
-
;
|
|
64
|
-
ctx.textAlign = 'center' // 设置或返回文本内容的当前对齐方式。
|
|
65
|
-
;
|
|
62
|
+
ctx.textBaseline = 'middle'; // 设置或返回在绘制文本时使用的当前文本基线。(正中)
|
|
63
|
+
ctx.textAlign = 'center'; // 设置或返回文本内容的当前对齐方式。
|
|
66
64
|
// 文字绕中间旋转
|
|
67
65
|
ctx.translate(markWidth / 2, markHeight / 2);
|
|
68
66
|
ctx.rotate(Math.PI / 180 * Number(rotate));
|
|
69
67
|
var markSize = Number(fontSize) * ratio;
|
|
70
68
|
ctx.font = "".concat(fontStyle, " normal ").concat(fontWeight, " ").concat(markSize, "px/").concat(markHeight, "px ").concat(fontFamily);
|
|
71
69
|
ctx.fillStyle = color;
|
|
72
|
-
ctx.fillText(content, startX, startY) // 在画布上绘制"被填充的"文本。
|
|
73
|
-
;
|
|
74
|
-
ctx.restore() // 返回之前保存过的路径状态和属性。
|
|
75
|
-
;
|
|
70
|
+
ctx.fillText(content, startX, startY); // 在画布上绘制"被填充的"文本。
|
|
71
|
+
ctx.restore(); // 返回之前保存过的路径状态和属性。
|
|
76
72
|
setBase64Url(canvas.toDataURL());
|
|
77
73
|
}
|
|
78
74
|
} else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
export { };
|
|
@@ -72,10 +72,7 @@ export function triggerDrag(el) {
|
|
|
72
72
|
* @param {number} endY 结束触摸点的 Y 坐标
|
|
73
73
|
* @param {number} duration 移动持续时间(毫秒)
|
|
74
74
|
*/ export function simulateTouchMove(element, startX, startY, endX, endY, duration) {
|
|
75
|
-
return
|
|
76
|
-
}
|
|
77
|
-
function _simulateTouchMove() {
|
|
78
|
-
_simulateTouchMove = _async_to_generator(function(element, startX, startY, endX, endY, duration) {
|
|
75
|
+
return _async_to_generator(function() {
|
|
79
76
|
var touch, touchList, distanceX, distanceY, startTime, elapsed, progress, currentX, currentY, currentTouch, currentTouchList;
|
|
80
77
|
return _ts_generator(this, function(_state) {
|
|
81
78
|
switch(_state.label){
|
|
@@ -128,8 +125,7 @@ function _simulateTouchMove() {
|
|
|
128
125
|
];
|
|
129
126
|
}
|
|
130
127
|
});
|
|
131
|
-
});
|
|
132
|
-
return _simulateTouchMove.apply(this, arguments);
|
|
128
|
+
})();
|
|
133
129
|
}
|
|
134
130
|
/**
|
|
135
131
|
* 模拟触摸缩放方法
|
|
@@ -138,10 +134,7 @@ function _simulateTouchMove() {
|
|
|
138
134
|
* @param {number} endDistance 结束触摸点的距离
|
|
139
135
|
* @param {number} duration 缩放持续时间(毫秒)
|
|
140
136
|
*/ export function simulateTouchZoom(element, startDistance, endDistance, duration) {
|
|
141
|
-
return
|
|
142
|
-
}
|
|
143
|
-
function _simulateTouchZoom() {
|
|
144
|
-
_simulateTouchZoom = _async_to_generator(function(element, startDistance, endDistance, duration) {
|
|
137
|
+
return _async_to_generator(function() {
|
|
145
138
|
var centerX, centerY, startScale, endScale, startTouches, endTouches, progress, currentScale, currentDistance, currentTouches;
|
|
146
139
|
return _ts_generator(this, function(_state) {
|
|
147
140
|
switch(_state.label){
|
|
@@ -201,6 +194,5 @@ function _simulateTouchZoom() {
|
|
|
201
194
|
];
|
|
202
195
|
}
|
|
203
196
|
});
|
|
204
|
-
});
|
|
205
|
-
return _simulateTouchZoom.apply(this, arguments);
|
|
197
|
+
})();
|
|
206
198
|
}
|
package/dist/es/utils/render.js
CHANGED
|
@@ -45,10 +45,7 @@ function legacyUnmount(container) {
|
|
|
45
45
|
return unmountComponentAtNode(container);
|
|
46
46
|
}
|
|
47
47
|
function concurrentUnmount(container) {
|
|
48
|
-
return
|
|
49
|
-
}
|
|
50
|
-
function _concurrentUnmount() {
|
|
51
|
-
_concurrentUnmount = _async_to_generator(function(container) {
|
|
48
|
+
return _async_to_generator(function() {
|
|
52
49
|
return _ts_generator(this, function(_state) {
|
|
53
50
|
// Delay to unmount to avoid React 18 sync warning
|
|
54
51
|
return [
|
|
@@ -60,8 +57,7 @@ function _concurrentUnmount() {
|
|
|
60
57
|
})
|
|
61
58
|
];
|
|
62
59
|
});
|
|
63
|
-
});
|
|
64
|
-
return _concurrentUnmount.apply(this, arguments);
|
|
60
|
+
})();
|
|
65
61
|
}
|
|
66
62
|
export function unmount(container) {
|
|
67
63
|
if (createRoot) {
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export type TransitionStatus = 'entering' | 'entered' | 'exiting' | 'exited' | 'unmounted';
|
|
3
|
+
interface CSSTransitionProps {
|
|
4
|
+
in?: boolean;
|
|
5
|
+
timeout?: number;
|
|
6
|
+
classNames?: string;
|
|
7
|
+
nodeRef?: React.RefObject<any>;
|
|
8
|
+
mountOnEnter?: boolean;
|
|
9
|
+
unmountOnExit?: boolean;
|
|
10
|
+
onEntered?: () => void;
|
|
11
|
+
onExited?: () => void;
|
|
12
|
+
children: React.ReactElement;
|
|
13
|
+
}
|
|
14
|
+
declare const ConfigurableCSSTransition: React.FC<CSSTransitionProps>;
|
|
15
|
+
export default ConfigurableCSSTransition;
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
|
|
2
|
+
import React, { useState, useEffect, useRef, cloneElement, useCallback } from "react";
|
|
3
|
+
var ConfigurableCSSTransition = function(props) {
|
|
4
|
+
var inPhase = props.in, _props_timeout = props.timeout, timeout = _props_timeout === void 0 ? 300 : _props_timeout, tmp = props.classNames, baseClassName = tmp === void 0 ? '' : tmp, nodeRef = props.nodeRef, mountOnEnter = props.mountOnEnter, unmountOnExit = props.unmountOnExit, onEntered = props.onEntered, onExited = props.onExited, children = props.children;
|
|
5
|
+
var _useState = _sliced_to_array(useState(function() {
|
|
6
|
+
if (inPhase) return 'entered';
|
|
7
|
+
return unmountOnExit || mountOnEnter ? 'unmounted' : 'exited';
|
|
8
|
+
}), 2), status = _useState[0], setStatus = _useState[1];
|
|
9
|
+
var _useState1 = _sliced_to_array(useState(function() {
|
|
10
|
+
if (inPhase) return "".concat(baseClassName, "-enter-done");
|
|
11
|
+
return "".concat(baseClassName, "-exit-done");
|
|
12
|
+
}), 2), classes = _useState1[0], setClasses = _useState1[1];
|
|
13
|
+
var fallbackTimerRef = useRef(null);
|
|
14
|
+
var statusRef = useRef(status);
|
|
15
|
+
var prevInPhase = useRef(inPhase);
|
|
16
|
+
var latestOnAnimationEnd = useRef(children.props.onAnimationEnd);
|
|
17
|
+
useEffect(function() {
|
|
18
|
+
latestOnAnimationEnd.current = children.props.onAnimationEnd;
|
|
19
|
+
});
|
|
20
|
+
var updateStatus = useCallback(function(nextStatus) {
|
|
21
|
+
statusRef.current = nextStatus;
|
|
22
|
+
setStatus(nextStatus);
|
|
23
|
+
}, []);
|
|
24
|
+
var handleAnimationEnd = useCallback(function(e) {
|
|
25
|
+
var _latestOnAnimationEnd_current;
|
|
26
|
+
(_latestOnAnimationEnd_current = latestOnAnimationEnd.current) === null || _latestOnAnimationEnd_current === void 0 ? void 0 : _latestOnAnimationEnd_current.call(latestOnAnimationEnd, e);
|
|
27
|
+
if (e && e.target !== e.currentTarget) return;
|
|
28
|
+
if (fallbackTimerRef.current) clearTimeout(fallbackTimerRef.current);
|
|
29
|
+
if (statusRef.current === 'entering') {
|
|
30
|
+
updateStatus('entered');
|
|
31
|
+
setClasses("".concat(baseClassName, "-enter-done"));
|
|
32
|
+
onEntered === null || onEntered === void 0 ? void 0 : onEntered();
|
|
33
|
+
} else if (statusRef.current === 'exiting') {
|
|
34
|
+
updateStatus('exited');
|
|
35
|
+
setClasses("".concat(baseClassName, "-exit-done"));
|
|
36
|
+
if (unmountOnExit) {
|
|
37
|
+
updateStatus('unmounted');
|
|
38
|
+
}
|
|
39
|
+
onExited === null || onExited === void 0 ? void 0 : onExited();
|
|
40
|
+
}
|
|
41
|
+
}, [
|
|
42
|
+
baseClassName,
|
|
43
|
+
onEntered,
|
|
44
|
+
onExited,
|
|
45
|
+
unmountOnExit,
|
|
46
|
+
updateStatus
|
|
47
|
+
]);
|
|
48
|
+
var enter = useCallback(function() {
|
|
49
|
+
if (fallbackTimerRef.current) clearTimeout(fallbackTimerRef.current);
|
|
50
|
+
if (statusRef.current === 'unmounted') {
|
|
51
|
+
updateStatus('exited');
|
|
52
|
+
}
|
|
53
|
+
if (timeout === 0) {
|
|
54
|
+
updateStatus('entered');
|
|
55
|
+
setClasses("".concat(baseClassName, "-enter-done"));
|
|
56
|
+
onEntered === null || onEntered === void 0 ? void 0 : onEntered();
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
updateStatus('entering');
|
|
60
|
+
setClasses("".concat(baseClassName, "-enter ").concat(baseClassName, "-enter-active"));
|
|
61
|
+
// Safety fallback: Give it extra time over the expected timeout in case onAnimationEnd misses
|
|
62
|
+
fallbackTimerRef.current = setTimeout(function() {
|
|
63
|
+
handleAnimationEnd(null);
|
|
64
|
+
}, timeout + 200);
|
|
65
|
+
}, [
|
|
66
|
+
baseClassName,
|
|
67
|
+
handleAnimationEnd,
|
|
68
|
+
onEntered,
|
|
69
|
+
timeout,
|
|
70
|
+
updateStatus
|
|
71
|
+
]);
|
|
72
|
+
var exit = useCallback(function() {
|
|
73
|
+
if (fallbackTimerRef.current) clearTimeout(fallbackTimerRef.current);
|
|
74
|
+
if (timeout === 0) {
|
|
75
|
+
updateStatus('exited');
|
|
76
|
+
setClasses("".concat(baseClassName, "-exit-done"));
|
|
77
|
+
if (unmountOnExit) {
|
|
78
|
+
updateStatus('unmounted');
|
|
79
|
+
}
|
|
80
|
+
onExited === null || onExited === void 0 ? void 0 : onExited();
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
updateStatus('exiting');
|
|
84
|
+
setClasses("".concat(baseClassName, "-exit ").concat(baseClassName, "-exit-active"));
|
|
85
|
+
fallbackTimerRef.current = setTimeout(function() {
|
|
86
|
+
handleAnimationEnd(null);
|
|
87
|
+
}, timeout + 200);
|
|
88
|
+
}, [
|
|
89
|
+
baseClassName,
|
|
90
|
+
handleAnimationEnd,
|
|
91
|
+
onExited,
|
|
92
|
+
timeout,
|
|
93
|
+
unmountOnExit,
|
|
94
|
+
updateStatus
|
|
95
|
+
]);
|
|
96
|
+
useEffect(function() {
|
|
97
|
+
if (prevInPhase.current !== inPhase) {
|
|
98
|
+
if (inPhase) {
|
|
99
|
+
enter();
|
|
100
|
+
} else {
|
|
101
|
+
exit();
|
|
102
|
+
}
|
|
103
|
+
prevInPhase.current = inPhase;
|
|
104
|
+
}
|
|
105
|
+
return function() {
|
|
106
|
+
if (fallbackTimerRef.current) clearTimeout(fallbackTimerRef.current);
|
|
107
|
+
};
|
|
108
|
+
}, [
|
|
109
|
+
inPhase,
|
|
110
|
+
enter,
|
|
111
|
+
exit
|
|
112
|
+
]);
|
|
113
|
+
if (status === 'unmounted') return null;
|
|
114
|
+
return /*#__PURE__*/ cloneElement(children, {
|
|
115
|
+
className: "".concat(children.props.className || '', " ").concat(classes),
|
|
116
|
+
onAnimationEnd: handleAnimationEnd
|
|
117
|
+
});
|
|
118
|
+
};
|
|
119
|
+
export default ConfigurableCSSTransition;
|
|
@@ -15,12 +15,10 @@ export function makeRect(width, height) {
|
|
|
15
15
|
height: height
|
|
16
16
|
};
|
|
17
17
|
}
|
|
18
|
-
export var getRectInMultiPlatform =
|
|
19
|
-
var
|
|
20
|
-
|
|
21
|
-
var _arguments = arguments;
|
|
18
|
+
export var getRectInMultiPlatform = function(element) {
|
|
19
|
+
var harmonyId = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : '';
|
|
20
|
+
return _async_to_generator(function() {
|
|
22
21
|
return _ts_generator(this, function(_state) {
|
|
23
|
-
harmonyId = _arguments.length > 1 && _arguments[1] !== void 0 ? _arguments[1] : '';
|
|
24
22
|
if (element) {
|
|
25
23
|
if (inBrowser) {
|
|
26
24
|
return [
|
|
@@ -51,18 +49,13 @@ export var getRectInMultiPlatform = /*#__PURE__*/ function() {
|
|
|
51
49
|
Promise.resolve(makeRect(0, 0))
|
|
52
50
|
];
|
|
53
51
|
});
|
|
54
|
-
});
|
|
55
|
-
|
|
56
|
-
return _ref.apply(this, arguments);
|
|
57
|
-
};
|
|
58
|
-
}();
|
|
52
|
+
})();
|
|
53
|
+
};
|
|
59
54
|
// 获取元素位置,不走缓存
|
|
60
|
-
export var getRectInMultiPlatformWithoutCache =
|
|
61
|
-
var
|
|
62
|
-
|
|
63
|
-
var _arguments = arguments;
|
|
55
|
+
export var getRectInMultiPlatformWithoutCache = function(element) {
|
|
56
|
+
var harmonyId = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : '';
|
|
57
|
+
return _async_to_generator(function() {
|
|
64
58
|
return _ts_generator(this, function(_state) {
|
|
65
|
-
harmonyId = _arguments.length > 1 && _arguments[1] !== void 0 ? _arguments[1] : '';
|
|
66
59
|
if (element) {
|
|
67
60
|
if (inBrowser) {
|
|
68
61
|
return [
|
|
@@ -85,8 +78,5 @@ export var getRectInMultiPlatformWithoutCache = /*#__PURE__*/ function() {
|
|
|
85
78
|
Promise.resolve(makeRect(0, 0))
|
|
86
79
|
];
|
|
87
80
|
});
|
|
88
|
-
});
|
|
89
|
-
|
|
90
|
-
return _ref.apply(this, arguments);
|
|
91
|
-
};
|
|
92
|
-
}();
|
|
81
|
+
})();
|
|
82
|
+
};
|