@nutui/nutui-react-taro 3.0.11-patch.0 → 3.0.12
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/cjs/packages/configprovider/types.d.ts +1 -1
- package/dist/cjs/packages/progress/progress.js +69 -33
- package/dist/cjs/packages/progress/style/progress.scss +5 -21
- package/dist/cjs/packages/progress/style/style.css +5 -19
- package/dist/cjs/packages/progress/style/style.harmony.css +5 -19
- package/dist/cjs/packages/progress/style-jmapp/progress.scss +5 -21
- package/dist/cjs/packages/progress/style-jmapp/style.css +4 -18
- package/dist/cjs/packages/progress/style-jrkf/progress.scss +5 -21
- package/dist/cjs/packages/progress/style-jrkf/style.css +4 -18
- package/dist/cjs/packages/range/range.js +163 -175
- package/dist/cjs/packages/range/style/range.scss +6 -2
- package/dist/cjs/packages/range/style/style.css +3 -1
- package/dist/cjs/packages/range/style/style.harmony.css +3 -1
- package/dist/cjs/packages/range/style-jmapp/range.scss +6 -2
- package/dist/cjs/packages/range/style-jmapp/style.css +3 -1
- package/dist/cjs/packages/range/style-jrkf/range.scss +6 -2
- package/dist/cjs/packages/range/style-jrkf/style.css +3 -1
- package/dist/cjs/packages/range/utils.d.ts +3 -0
- package/dist/cjs/packages/searchbar/searchbar.js +181 -77
- package/dist/cjs/packages/searchbar/style/searchbar.scss +99 -25
- package/dist/cjs/packages/searchbar/style/style.css +102 -38
- package/dist/cjs/packages/searchbar/style/style.harmony.css +127 -68
- package/dist/cjs/packages/searchbar/style-jmapp/searchbar.scss +99 -25
- package/dist/cjs/packages/searchbar/style-jmapp/style.css +85 -21
- package/dist/cjs/packages/searchbar/style-jrkf/searchbar.scss +99 -25
- package/dist/cjs/packages/searchbar/style-jrkf/style.css +85 -21
- package/dist/cjs/packages/step/step.d.ts +2 -2
- package/dist/cjs/packages/step/step.js +80 -45
- package/dist/cjs/packages/step/style/step.scss +104 -195
- package/dist/cjs/packages/step/style/style.css +85 -159
- package/dist/cjs/packages/step/style/style.harmony.css +103 -159
- package/dist/cjs/packages/step/style-jmapp/step.scss +104 -195
- package/dist/cjs/packages/step/style-jmapp/style.css +88 -162
- package/dist/cjs/packages/step/style-jrkf/step.scss +104 -195
- package/dist/cjs/packages/step/style-jrkf/style.css +88 -162
- package/dist/cjs/packages/steps/steps.js +23 -8
- package/dist/cjs/packages/steps/style/steps.scss +328 -4
- package/dist/cjs/packages/steps/style/style.css +219 -2
- package/dist/cjs/packages/steps/style/style.harmony.css +256 -2
- package/dist/cjs/packages/steps/style-jmapp/steps.scss +328 -4
- package/dist/cjs/packages/steps/style-jmapp/style.css +219 -2
- package/dist/cjs/packages/steps/style-jrkf/steps.scss +328 -4
- package/dist/cjs/packages/steps/style-jrkf/style.css +219 -2
- package/dist/cjs/packages/uploader/uploader.js +21 -27
- package/dist/cjs/types/spec/progress/base.d.ts +6 -0
- package/dist/cjs/types/spec/progress/taro.d.ts +4 -0
- package/dist/cjs/types/spec/searchbar/base.d.ts +3 -0
- package/dist/cjs/types/spec/steps/base.d.ts +11 -2
- package/dist/es/packages/configprovider/types.d.ts +1 -1
- package/dist/es/packages/progress/progress.js +70 -34
- package/dist/es/packages/progress/style/progress.scss +5 -21
- package/dist/es/packages/progress/style/style.css +5 -19
- package/dist/es/packages/progress/style/style.harmony.css +5 -19
- package/dist/es/packages/progress/style-jmapp/progress.scss +5 -21
- package/dist/es/packages/progress/style-jmapp/style.css +4 -18
- package/dist/es/packages/progress/style-jrkf/progress.scss +5 -21
- package/dist/es/packages/progress/style-jrkf/style.css +4 -18
- package/dist/es/packages/range/range.js +163 -175
- package/dist/es/packages/range/style/range.scss +6 -2
- package/dist/es/packages/range/style/style.css +3 -1
- package/dist/es/packages/range/style/style.harmony.css +3 -1
- package/dist/es/packages/range/style-jmapp/range.scss +6 -2
- package/dist/es/packages/range/style-jmapp/style.css +3 -1
- package/dist/es/packages/range/style-jrkf/range.scss +6 -2
- package/dist/es/packages/range/style-jrkf/style.css +3 -1
- package/dist/es/packages/range/utils.d.ts +3 -0
- package/dist/es/packages/searchbar/searchbar.js +183 -79
- package/dist/es/packages/searchbar/style/searchbar.scss +99 -25
- package/dist/es/packages/searchbar/style/style.css +102 -38
- package/dist/es/packages/searchbar/style/style.harmony.css +127 -68
- package/dist/es/packages/searchbar/style-jmapp/searchbar.scss +99 -25
- package/dist/es/packages/searchbar/style-jmapp/style.css +85 -21
- package/dist/es/packages/searchbar/style-jrkf/searchbar.scss +99 -25
- package/dist/es/packages/searchbar/style-jrkf/style.css +85 -21
- package/dist/es/packages/step/step.d.ts +2 -2
- package/dist/es/packages/step/step.js +81 -46
- package/dist/es/packages/step/style/step.scss +104 -195
- package/dist/es/packages/step/style/style.css +85 -159
- package/dist/es/packages/step/style/style.harmony.css +103 -159
- package/dist/es/packages/step/style-jmapp/step.scss +104 -195
- package/dist/es/packages/step/style-jmapp/style.css +88 -162
- package/dist/es/packages/step/style-jrkf/step.scss +104 -195
- package/dist/es/packages/step/style-jrkf/style.css +88 -162
- package/dist/es/packages/steps/steps.js +23 -8
- package/dist/es/packages/steps/style/steps.scss +328 -4
- package/dist/es/packages/steps/style/style.css +219 -2
- package/dist/es/packages/steps/style/style.harmony.css +256 -2
- package/dist/es/packages/steps/style-jmapp/steps.scss +328 -4
- package/dist/es/packages/steps/style-jmapp/style.css +219 -2
- package/dist/es/packages/steps/style-jrkf/steps.scss +328 -4
- package/dist/es/packages/steps/style-jrkf/style.css +219 -2
- package/dist/es/packages/uploader/uploader.js +21 -27
- package/dist/es/types/spec/progress/base.d.ts +24 -0
- package/dist/es/types/spec/progress/taro.d.ts +4 -0
- package/dist/es/types/spec/searchbar/base.d.ts +10 -1
- package/dist/es/types/spec/steps/base.d.ts +26 -5
- package/dist/nutui.react.umd.js +530 -391
- package/dist/style-jmapp.css +1 -1
- package/dist/style-jmapp.scss +42 -42
- package/dist/style-jrkf.css +1 -1
- package/dist/style-jrkf.scss +41 -41
- package/dist/style.css +1 -1
- package/dist/style.scss +37 -37
- package/dist/styles/variables-jmapp.scss +133 -79
- package/dist/styles/variables-jrkf.scss +134 -80
- package/dist/styles/variables.scss +148 -89
- package/package.json +1 -1
|
@@ -7,6 +7,7 @@ import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
|
|
|
7
7
|
import React, { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
8
8
|
import classNames from "classnames";
|
|
9
9
|
import { Text, View } from "@tarojs/components";
|
|
10
|
+
import { useReady, nextTick } from "@tarojs/taro";
|
|
10
11
|
import { pxTransform } from "../../utils/taro/px-transform";
|
|
11
12
|
import { useTouch } from "../../hooks/use-touch";
|
|
12
13
|
import { ComponentDefaults } from "../../utils/typings";
|
|
@@ -14,6 +15,7 @@ import { usePropsValue } from "../../hooks/use-props-value";
|
|
|
14
15
|
import { getRectInMultiPlatform } from "../../utils/taro/get-rect";
|
|
15
16
|
import { useRtl } from "../configprovider/index";
|
|
16
17
|
import { harmony } from "../../utils/taro/platform";
|
|
18
|
+
import { mergeProps } from "../../utils/merge-props";
|
|
17
19
|
var defaultProps = _object_spread_props(_object_spread({}, ComponentDefaults), {
|
|
18
20
|
range: false,
|
|
19
21
|
min: 0,
|
|
@@ -29,25 +31,23 @@ var isSameValue = function(newValue, oldValue) {
|
|
|
29
31
|
return JSON.stringify(newValue) === JSON.stringify(oldValue);
|
|
30
32
|
};
|
|
31
33
|
var handleOverlap = function(value) {
|
|
32
|
-
|
|
33
|
-
return value.slice(0).reverse();
|
|
34
|
-
}
|
|
35
|
-
return value;
|
|
34
|
+
return value[0] > value[1] ? value.slice(0).reverse() : value;
|
|
36
35
|
};
|
|
37
36
|
export var Range = function(props) {
|
|
38
37
|
var rtl = useRtl();
|
|
39
|
-
var
|
|
38
|
+
var _mergeProps = mergeProps(defaultProps, props), className = _mergeProps.className, style = _mergeProps.style, range = _mergeProps.range, disabled = _mergeProps.disabled, button = _mergeProps.button, vertical = _mergeProps.vertical, marks = _mergeProps.marks, minDescription = _mergeProps.minDescription, maxDescription = _mergeProps.maxDescription, currentDescription = _mergeProps.currentDescription, min = _mergeProps.min, max = _mergeProps.max, step = _mergeProps.step, value = _mergeProps.value, defaultValue = _mergeProps.defaultValue, onChange = _mergeProps.onChange, onStart = _mergeProps.onStart, onEnd = _mergeProps.onEnd;
|
|
40
39
|
var rtlClassPrefix = useMemo(function() {
|
|
41
40
|
return "rtl-".concat(vertical ? verticalClassPrefix : classPrefix);
|
|
42
41
|
}, [
|
|
43
42
|
vertical
|
|
44
43
|
]);
|
|
45
|
-
var
|
|
46
|
-
var
|
|
44
|
+
var buttonRef = useRef(0);
|
|
45
|
+
var dragStatusRef = useRef('start');
|
|
47
46
|
var touch = useTouch();
|
|
48
47
|
var root = useRef(null);
|
|
49
|
-
var
|
|
50
|
-
var
|
|
48
|
+
var rootRect = useRef(null);
|
|
49
|
+
var _useState = _sliced_to_array(useState([]), 2), marksList = _useState[0], setMarksList = _useState[1];
|
|
50
|
+
var _useState1 = _sliced_to_array(useState(0), 2), startValue = _useState1[0], setStartValue = _useState1[1];
|
|
51
51
|
var scope = useMemo(function() {
|
|
52
52
|
if (max < min || max === min) {
|
|
53
53
|
console.log('max 的值需要大于 min的值');
|
|
@@ -65,10 +65,8 @@ export var Range = function(props) {
|
|
|
65
65
|
defaultValue: defaultValue,
|
|
66
66
|
finalValue: 0,
|
|
67
67
|
onChange: handleChange
|
|
68
|
-
}), 2),
|
|
69
|
-
var
|
|
70
|
-
return value || defaultValue || 0;
|
|
71
|
-
}), 2), exactValue = _useState4[0], setExactValue = _useState4[1];
|
|
68
|
+
}), 2), innerValue = _usePropsValue[0], setInnerValue = _usePropsValue[1];
|
|
69
|
+
var exactValueRef = useRef(value || defaultValue || 0);
|
|
72
70
|
var marksRef = useRef({});
|
|
73
71
|
useEffect(function() {
|
|
74
72
|
if (marks) {
|
|
@@ -108,11 +106,11 @@ export var Range = function(props) {
|
|
|
108
106
|
var verticalClassPrefix = 'nut-range-vertical-mark';
|
|
109
107
|
var lowerBound = min;
|
|
110
108
|
var upperBound = max;
|
|
111
|
-
if (range && Array.isArray(
|
|
112
|
-
lowerBound =
|
|
113
|
-
upperBound =
|
|
109
|
+
if (range && Array.isArray(innerValue)) {
|
|
110
|
+
lowerBound = innerValue[0];
|
|
111
|
+
upperBound = innerValue[1];
|
|
114
112
|
} else {
|
|
115
|
-
upperBound =
|
|
113
|
+
upperBound = innerValue;
|
|
116
114
|
}
|
|
117
115
|
var isActive = mark <= upperBound && mark >= lowerBound;
|
|
118
116
|
var _$classNames = [
|
|
@@ -131,7 +129,7 @@ export var Range = function(props) {
|
|
|
131
129
|
min,
|
|
132
130
|
max,
|
|
133
131
|
range,
|
|
134
|
-
|
|
132
|
+
innerValue,
|
|
135
133
|
vertical,
|
|
136
134
|
rtl,
|
|
137
135
|
rtlClassPrefix
|
|
@@ -141,41 +139,40 @@ export var Range = function(props) {
|
|
|
141
139
|
}, [
|
|
142
140
|
range
|
|
143
141
|
]);
|
|
144
|
-
var calcMainAxis =
|
|
145
|
-
var modelVal =
|
|
142
|
+
var calcMainAxis = useMemo(function() {
|
|
143
|
+
var modelVal = innerValue;
|
|
146
144
|
return isRange(modelVal) ? "".concat((modelVal[1] - modelVal[0]) * 100 / scope, "%") : "".concat((modelVal - min) * 100 / scope, "%");
|
|
147
145
|
}, [
|
|
148
|
-
|
|
146
|
+
innerValue,
|
|
149
147
|
isRange,
|
|
150
148
|
min,
|
|
151
149
|
scope
|
|
152
150
|
]);
|
|
153
|
-
var calcOffset =
|
|
154
|
-
var modelVal =
|
|
155
|
-
return isRange(modelVal) ? "".concat((modelVal[0] - min) * 100 / scope, "%") :
|
|
151
|
+
var calcOffset = useMemo(function() {
|
|
152
|
+
var modelVal = innerValue;
|
|
153
|
+
return isRange(modelVal) ? "".concat((modelVal[0] - min) * 100 / scope, "%") : '0%';
|
|
156
154
|
}, [
|
|
157
|
-
|
|
155
|
+
innerValue,
|
|
158
156
|
isRange,
|
|
159
157
|
min,
|
|
160
158
|
scope
|
|
161
159
|
]);
|
|
162
|
-
var barStyle =
|
|
160
|
+
var barStyle = useMemo(function() {
|
|
163
161
|
if (vertical) {
|
|
164
162
|
return {
|
|
165
|
-
height: calcMainAxis
|
|
166
|
-
top: calcOffset
|
|
167
|
-
transition:
|
|
163
|
+
height: calcMainAxis,
|
|
164
|
+
top: calcOffset,
|
|
165
|
+
transition: dragStatusRef.current ? 'none' : undefined
|
|
168
166
|
};
|
|
169
167
|
}
|
|
170
168
|
var dir = rtl ? 'right' : 'left';
|
|
171
169
|
var _obj;
|
|
172
170
|
return _obj = {
|
|
173
|
-
width: calcMainAxis
|
|
174
|
-
}, _define_property(_obj, dir, calcOffset
|
|
171
|
+
width: calcMainAxis
|
|
172
|
+
}, _define_property(_obj, dir, calcOffset), _define_property(_obj, "transition", dragStatusRef.current ? 'none' : undefined), _obj;
|
|
175
173
|
}, [
|
|
176
174
|
calcMainAxis,
|
|
177
175
|
calcOffset,
|
|
178
|
-
dragStatus,
|
|
179
176
|
rtl,
|
|
180
177
|
vertical
|
|
181
178
|
]);
|
|
@@ -195,12 +192,12 @@ export var Range = function(props) {
|
|
|
195
192
|
vertical
|
|
196
193
|
]);
|
|
197
194
|
var tickClass = useCallback(function(mark) {
|
|
198
|
-
if (range && Array.isArray(
|
|
199
|
-
return mark <=
|
|
195
|
+
if (range && Array.isArray(innerValue)) {
|
|
196
|
+
return mark <= innerValue[1] && mark >= innerValue[0];
|
|
200
197
|
}
|
|
201
|
-
return mark <=
|
|
198
|
+
return mark <= innerValue;
|
|
202
199
|
}, [
|
|
203
|
-
|
|
200
|
+
innerValue,
|
|
204
201
|
range
|
|
205
202
|
]);
|
|
206
203
|
var format = useCallback(function(value) {
|
|
@@ -217,50 +214,53 @@ export var Range = function(props) {
|
|
|
217
214
|
} else {
|
|
218
215
|
value = format(value);
|
|
219
216
|
}
|
|
220
|
-
if (!isSameValue(value,
|
|
221
|
-
|
|
217
|
+
if (!isSameValue(value, innerValue)) {
|
|
218
|
+
setInnerValue(value);
|
|
222
219
|
}
|
|
223
220
|
end && onEnd && onEnd(value);
|
|
224
221
|
}, [
|
|
225
|
-
|
|
222
|
+
innerValue,
|
|
226
223
|
format,
|
|
227
224
|
isRange,
|
|
228
225
|
onEnd,
|
|
229
|
-
|
|
226
|
+
setInnerValue
|
|
230
227
|
]);
|
|
231
|
-
var
|
|
228
|
+
var handleClick = useCallback(/*#__PURE__*/ function() {
|
|
232
229
|
var _ref = _async_to_generator(function(event) {
|
|
233
|
-
var _event_detail, rect, x, delta, total, _event_detail1, y, value,
|
|
230
|
+
var _event_detail, rect, _event_detail_x, x, delta, total, _event_detail1, _event_detail_y, y, value, _innerValue, left, right, middle;
|
|
234
231
|
return _ts_generator(this, function(_state) {
|
|
235
232
|
switch(_state.label){
|
|
236
233
|
case 0:
|
|
237
|
-
if (disabled || !root.current)
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
234
|
+
if (disabled || !root.current) return [
|
|
235
|
+
2
|
|
236
|
+
];
|
|
237
|
+
// TODO 鸿蒙获取clientX的数据有误,windowX 也变成了 undefined。暂不支持,待上游支持。
|
|
238
|
+
if (isHm) return [
|
|
239
|
+
2
|
|
240
|
+
];
|
|
241
|
+
dragStatusRef.current = '';
|
|
243
242
|
return [
|
|
244
243
|
4,
|
|
245
244
|
getRectInMultiPlatform(root.current)
|
|
246
245
|
];
|
|
247
246
|
case 1:
|
|
248
247
|
rect = _state.sent();
|
|
249
|
-
x =
|
|
250
|
-
if (isHm) x = parseFloat(pxTransform(event.windowX));
|
|
248
|
+
x = (_event_detail_x = (_event_detail = event.detail) === null || _event_detail === void 0 ? void 0 : _event_detail.x) !== null && _event_detail_x !== void 0 ? _event_detail_x : event.clientX;
|
|
249
|
+
if (isHm) x = parseFloat(pxTransform(event.windowX || x));
|
|
251
250
|
delta = x - rect.left;
|
|
252
251
|
total = rect.width;
|
|
253
252
|
if (vertical) {
|
|
254
253
|
;
|
|
255
|
-
|
|
256
|
-
|
|
254
|
+
;
|
|
255
|
+
y = (_event_detail_y = (_event_detail1 = event.detail) === null || _event_detail1 === void 0 ? void 0 : _event_detail1.y) !== null && _event_detail_y !== void 0 ? _event_detail_y : event.clientY;
|
|
256
|
+
if (isHm) y = parseFloat(pxTransform(event.windowY || y));
|
|
257
257
|
delta = y - rect.top;
|
|
258
258
|
total = rect.height;
|
|
259
259
|
}
|
|
260
260
|
value = min + delta / total * scope;
|
|
261
|
-
|
|
262
|
-
if (isRange(
|
|
263
|
-
|
|
261
|
+
exactValueRef.current = innerValue;
|
|
262
|
+
if (isRange(innerValue)) {
|
|
263
|
+
_innerValue = _sliced_to_array(innerValue, 2), left = _innerValue[0], right = _innerValue[1];
|
|
264
264
|
middle = (left + right) / 2;
|
|
265
265
|
if (value <= middle) {
|
|
266
266
|
updateValue([
|
|
@@ -286,7 +286,7 @@ export var Range = function(props) {
|
|
|
286
286
|
return _ref.apply(this, arguments);
|
|
287
287
|
};
|
|
288
288
|
}(), [
|
|
289
|
-
|
|
289
|
+
innerValue,
|
|
290
290
|
disabled,
|
|
291
291
|
isRange,
|
|
292
292
|
min,
|
|
@@ -294,20 +294,52 @@ export var Range = function(props) {
|
|
|
294
294
|
updateValue,
|
|
295
295
|
vertical
|
|
296
296
|
]);
|
|
297
|
+
useReady(function() {
|
|
298
|
+
var getRootRect = /*#__PURE__*/ function() {
|
|
299
|
+
var _ref = _async_to_generator(function() {
|
|
300
|
+
var rect;
|
|
301
|
+
return _ts_generator(this, function(_state) {
|
|
302
|
+
switch(_state.label){
|
|
303
|
+
case 0:
|
|
304
|
+
if (!root.current) return [
|
|
305
|
+
3,
|
|
306
|
+
2
|
|
307
|
+
];
|
|
308
|
+
return [
|
|
309
|
+
4,
|
|
310
|
+
getRectInMultiPlatform(root.current)
|
|
311
|
+
];
|
|
312
|
+
case 1:
|
|
313
|
+
rect = _state.sent();
|
|
314
|
+
rootRect.current = rect;
|
|
315
|
+
_state.label = 2;
|
|
316
|
+
case 2:
|
|
317
|
+
return [
|
|
318
|
+
2
|
|
319
|
+
];
|
|
320
|
+
}
|
|
321
|
+
});
|
|
322
|
+
});
|
|
323
|
+
return function getRootRect() {
|
|
324
|
+
return _ref.apply(this, arguments);
|
|
325
|
+
};
|
|
326
|
+
}();
|
|
327
|
+
nextTick(function() {
|
|
328
|
+
getRootRect();
|
|
329
|
+
});
|
|
330
|
+
});
|
|
297
331
|
var onTouchStart = useCallback(function(event) {
|
|
298
|
-
if (disabled)
|
|
299
|
-
return;
|
|
300
|
-
}
|
|
332
|
+
if (disabled) return;
|
|
301
333
|
touch.start(event);
|
|
302
|
-
|
|
303
|
-
if (isRange(
|
|
304
|
-
setStartValue(
|
|
334
|
+
exactValueRef.current = innerValue;
|
|
335
|
+
if (isRange(innerValue)) {
|
|
336
|
+
setStartValue(innerValue.map(format));
|
|
305
337
|
} else {
|
|
306
|
-
setStartValue(format(
|
|
338
|
+
setStartValue(format(innerValue));
|
|
307
339
|
}
|
|
308
|
-
|
|
340
|
+
dragStatusRef.current = 'start';
|
|
309
341
|
}, [
|
|
310
|
-
|
|
342
|
+
innerValue,
|
|
311
343
|
disabled,
|
|
312
344
|
format,
|
|
313
345
|
isRange,
|
|
@@ -315,61 +347,60 @@ export var Range = function(props) {
|
|
|
315
347
|
]);
|
|
316
348
|
var onTouchMove = useCallback(/*#__PURE__*/ function() {
|
|
317
349
|
var _ref = _async_to_generator(function(event) {
|
|
318
|
-
var
|
|
350
|
+
var handleMove;
|
|
319
351
|
return _ts_generator(this, function(_state) {
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
352
|
+
// @TODO RN、鸿蒙端垂直滑动时,页面会一同滑动,待解决
|
|
353
|
+
if (disabled || !root.current) return [
|
|
354
|
+
2
|
|
355
|
+
];
|
|
356
|
+
if (dragStatusRef.current === 'start') {
|
|
357
|
+
onStart && onStart();
|
|
358
|
+
dragStatusRef.current = 'draging';
|
|
359
|
+
}
|
|
360
|
+
touch.move(event);
|
|
361
|
+
handleMove = /*#__PURE__*/ function() {
|
|
362
|
+
var _ref = _async_to_generator(function() {
|
|
363
|
+
var delta, total, diff, newValue;
|
|
364
|
+
return _ts_generator(this, function(_state) {
|
|
365
|
+
if (!rootRect.current) return [
|
|
325
366
|
2
|
|
326
367
|
];
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
onStart && onStart();
|
|
330
|
-
}
|
|
331
|
-
touch.move(event);
|
|
332
|
-
setDragStatus('draging');
|
|
333
|
-
return [
|
|
334
|
-
4,
|
|
335
|
-
getRectInMultiPlatform(root.current)
|
|
336
|
-
];
|
|
337
|
-
case 1:
|
|
338
|
-
rect = _state.sent();
|
|
339
|
-
if (!rect) return [
|
|
340
|
-
2
|
|
341
|
-
];
|
|
342
|
-
delta = isHm ? parseFloat(pxTransform(touch.deltaX.current)) : touch.deltaX.current;
|
|
343
|
-
total = rect.width;
|
|
344
|
-
diff = delta / total * scope;
|
|
345
|
-
diff = rtl ? -diff : diff;
|
|
346
|
-
if (vertical) {
|
|
347
|
-
delta = isHm ? parseFloat(pxTransform(touch.deltaY.current)) : touch.deltaY.current;
|
|
348
|
-
total = rect.height;
|
|
368
|
+
delta = isHm ? parseFloat(pxTransform(touch.deltaX.current)) : touch.deltaX.current;
|
|
369
|
+
total = rootRect.current.width;
|
|
349
370
|
diff = delta / total * scope;
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
371
|
+
diff = rtl ? -diff : diff;
|
|
372
|
+
if (vertical) {
|
|
373
|
+
delta = isHm ? parseFloat(pxTransform(touch.deltaY.current)) : touch.deltaY.current;
|
|
374
|
+
total = rootRect.current.height;
|
|
375
|
+
diff = delta / total * scope;
|
|
376
|
+
}
|
|
355
377
|
newValue = startValue + diff;
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
378
|
+
if (isRange(startValue)) {
|
|
379
|
+
newValue = exactValueRef.current.slice();
|
|
380
|
+
newValue[buttonRef.current] = startValue[buttonRef.current] + diff;
|
|
381
|
+
}
|
|
382
|
+
exactValueRef.current = newValue;
|
|
383
|
+
updateValue(newValue);
|
|
384
|
+
return [
|
|
385
|
+
2
|
|
386
|
+
];
|
|
387
|
+
});
|
|
388
|
+
});
|
|
389
|
+
return function handleMove() {
|
|
390
|
+
return _ref.apply(this, arguments);
|
|
391
|
+
};
|
|
392
|
+
}();
|
|
393
|
+
requestAnimationFrame(handleMove);
|
|
394
|
+
return [
|
|
395
|
+
2
|
|
396
|
+
];
|
|
363
397
|
});
|
|
364
398
|
});
|
|
365
399
|
return function(event) {
|
|
366
400
|
return _ref.apply(this, arguments);
|
|
367
401
|
};
|
|
368
402
|
}(), [
|
|
369
|
-
buttonIndex,
|
|
370
403
|
disabled,
|
|
371
|
-
dragStatus,
|
|
372
|
-
exactValue,
|
|
373
404
|
isRange,
|
|
374
405
|
onStart,
|
|
375
406
|
rtl,
|
|
@@ -380,38 +411,23 @@ export var Range = function(props) {
|
|
|
380
411
|
vertical
|
|
381
412
|
]);
|
|
382
413
|
var onTouchEnd = useCallback(function() {
|
|
383
|
-
if (disabled)
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
if (dragStatus === 'draging') {
|
|
387
|
-
updateValue(current, true);
|
|
414
|
+
if (disabled) return;
|
|
415
|
+
if (dragStatusRef.current === 'draging') {
|
|
416
|
+
updateValue(innerValue, true);
|
|
388
417
|
}
|
|
389
|
-
|
|
418
|
+
dragStatusRef.current = '';
|
|
390
419
|
}, [
|
|
391
|
-
|
|
420
|
+
innerValue,
|
|
392
421
|
disabled,
|
|
393
|
-
dragStatus,
|
|
394
422
|
updateValue
|
|
395
423
|
]);
|
|
396
424
|
var curValue = useCallback(function(idx) {
|
|
397
|
-
var modelVal =
|
|
425
|
+
var modelVal = innerValue;
|
|
398
426
|
var value = typeof idx === 'number' ? modelVal[idx] : modelVal;
|
|
399
427
|
return value;
|
|
400
428
|
}, [
|
|
401
|
-
|
|
429
|
+
innerValue
|
|
402
430
|
]);
|
|
403
|
-
var buttonTransform = useMemo(function() {
|
|
404
|
-
var borderRadis = {
|
|
405
|
-
borderRadius: pxTransform(13)
|
|
406
|
-
};
|
|
407
|
-
var transform = {
|
|
408
|
-
transform: 'translate(-50%, -50%)'
|
|
409
|
-
};
|
|
410
|
-
if (isHm) {
|
|
411
|
-
return _object_spread({}, borderRadis, transform);
|
|
412
|
-
}
|
|
413
|
-
return _object_spread({}, transform);
|
|
414
|
-
}, []);
|
|
415
431
|
var buttonNumberTransform = useMemo(function() {
|
|
416
432
|
return vertical ? 'translate(100%, -50%)' : 'translate(-50%, -100%)';
|
|
417
433
|
}, [
|
|
@@ -419,21 +435,20 @@ export var Range = function(props) {
|
|
|
419
435
|
]);
|
|
420
436
|
var renderButton = useCallback(function(index) {
|
|
421
437
|
var _obj, _obj1;
|
|
422
|
-
return /*#__PURE__*/ React.createElement(
|
|
438
|
+
return /*#__PURE__*/ React.createElement(React.Fragment, null, button || /*#__PURE__*/ React.createElement(View, {
|
|
423
439
|
className: classNames("".concat(classPrefix, "-button"), (_obj = {}, _define_property(_obj, "".concat(verticalClassPrefix, "-button"), vertical), _define_property(_obj, "".concat(rtlClassPrefix, "-button"), rtl), _obj)),
|
|
424
|
-
|
|
425
|
-
|
|
440
|
+
style: {
|
|
441
|
+
transform: 'translate(-50%, -50%)'
|
|
442
|
+
}
|
|
426
443
|
}, currentDescription !== null && /*#__PURE__*/ React.createElement(Text, {
|
|
427
444
|
className: classNames("".concat(classPrefix, "-button-number"), (_obj1 = {}, _define_property(_obj1, "".concat(verticalClassPrefix, "-button-number"), vertical), _define_property(_obj1, "".concat(rtlClassPrefix, "-button-number"), rtl), _obj1)),
|
|
428
445
|
style: {
|
|
429
|
-
// @ts-ignore
|
|
430
446
|
transform: buttonNumberTransform
|
|
431
447
|
}
|
|
432
448
|
}, currentDescription ? currentDescription(curValue(index)) : curValue(index))));
|
|
433
449
|
}, [
|
|
434
450
|
button,
|
|
435
451
|
buttonNumberTransform,
|
|
436
|
-
buttonTransform,
|
|
437
452
|
curValue,
|
|
438
453
|
currentDescription,
|
|
439
454
|
rtl,
|
|
@@ -469,42 +484,22 @@ export var Range = function(props) {
|
|
|
469
484
|
tickClass,
|
|
470
485
|
vertical
|
|
471
486
|
]);
|
|
472
|
-
var wrapperTransform = useMemo(function() {
|
|
473
|
-
// @TODO 支持变量
|
|
474
|
-
var wrapperTransformRN = [
|
|
475
|
-
{
|
|
476
|
-
translateX: pxTransform(vertical ? -12 : -13)
|
|
477
|
-
},
|
|
478
|
-
{
|
|
479
|
-
translateY: pxTransform(-12)
|
|
480
|
-
}
|
|
481
|
-
];
|
|
482
|
-
var wrapperTransform = 'translate(-50%, -50%)';
|
|
483
|
-
return wrapperTransform;
|
|
484
|
-
}, [
|
|
485
|
-
vertical
|
|
486
|
-
]);
|
|
487
|
-
var rangeWrapperTransform = useMemo(function() {
|
|
488
|
-
return 'translate(-50%, -50%)';
|
|
489
|
-
}, []);
|
|
490
487
|
var renderRangeButton = useCallback(function() {
|
|
491
488
|
return [
|
|
492
489
|
0,
|
|
493
490
|
1
|
|
494
|
-
].map(function(
|
|
495
|
-
var
|
|
496
|
-
var suffix = isLeft ? 'left' : 'right';
|
|
491
|
+
].map(function(_, index) {
|
|
492
|
+
var suffix = index === 0 ? 'left' : 'right';
|
|
497
493
|
var _obj;
|
|
498
494
|
var cls = classNames("".concat(classPrefix, "-button-wrapper-").concat(suffix), (_obj = {}, _define_property(_obj, "".concat(verticalClassPrefix, "-button-wrapper-").concat(suffix), vertical), _define_property(_obj, "".concat(rtlClassPrefix, "-button-wrapper-").concat(suffix), rtl), _obj));
|
|
499
495
|
return /*#__PURE__*/ React.createElement(View, {
|
|
500
496
|
key: index,
|
|
501
497
|
className: cls,
|
|
502
498
|
style: {
|
|
503
|
-
|
|
504
|
-
transform: rangeWrapperTransform
|
|
499
|
+
transform: 'translate(-50%, -50%)'
|
|
505
500
|
},
|
|
506
501
|
onTouchStart: function(e) {
|
|
507
|
-
|
|
502
|
+
buttonRef.current = index;
|
|
508
503
|
onTouchStart(e);
|
|
509
504
|
},
|
|
510
505
|
onTouchMove: onTouchMove,
|
|
@@ -520,7 +515,6 @@ export var Range = function(props) {
|
|
|
520
515
|
onTouchMove,
|
|
521
516
|
onTouchStart,
|
|
522
517
|
renderButton,
|
|
523
|
-
rangeWrapperTransform,
|
|
524
518
|
vertical,
|
|
525
519
|
rtl,
|
|
526
520
|
rtlClassPrefix
|
|
@@ -530,8 +524,7 @@ export var Range = function(props) {
|
|
|
530
524
|
catchMove: true,
|
|
531
525
|
className: classNames("".concat(classPrefix, "-button-wrapper"), _define_property({}, "".concat(verticalClassPrefix, "-button-wrapper"), vertical)),
|
|
532
526
|
style: {
|
|
533
|
-
|
|
534
|
-
transform: wrapperTransform
|
|
527
|
+
transform: 'translate(-50%, -50%)'
|
|
535
528
|
},
|
|
536
529
|
onTouchStart: onTouchStart,
|
|
537
530
|
onTouchMove: onTouchMove,
|
|
@@ -546,18 +539,18 @@ export var Range = function(props) {
|
|
|
546
539
|
onTouchMove,
|
|
547
540
|
onTouchStart,
|
|
548
541
|
renderButton,
|
|
549
|
-
wrapperTransform,
|
|
550
542
|
vertical
|
|
551
543
|
]);
|
|
552
544
|
var renderButtonWrapper = useCallback(function() {
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
545
|
+
return /*#__PURE__*/ React.createElement(View, {
|
|
546
|
+
className: "".concat(classPrefix, "-bar ").concat(isHm ? '' : "".concat(classPrefix, "-bar-animate"), "}"),
|
|
547
|
+
style: barStyle
|
|
548
|
+
}, range ? renderRangeButton() : renderSingleButton());
|
|
557
549
|
}, [
|
|
558
550
|
renderRangeButton,
|
|
559
551
|
renderSingleButton,
|
|
560
|
-
range
|
|
552
|
+
range,
|
|
553
|
+
barStyle
|
|
561
554
|
]);
|
|
562
555
|
return /*#__PURE__*/ React.createElement(View, {
|
|
563
556
|
className: containerClasses,
|
|
@@ -567,13 +560,8 @@ export var Range = function(props) {
|
|
|
567
560
|
}, minDescription || min), /*#__PURE__*/ React.createElement(View, {
|
|
568
561
|
ref: root,
|
|
569
562
|
className: classes,
|
|
570
|
-
onClick:
|
|
571
|
-
|
|
572
|
-
}
|
|
573
|
-
}, renderMarks(), /*#__PURE__*/ React.createElement(View, {
|
|
574
|
-
className: "".concat(classPrefix, "-bar"),
|
|
575
|
-
style: barStyle()
|
|
576
|
-
}, renderButtonWrapper())), maxDescription !== null && /*#__PURE__*/ React.createElement(Text, {
|
|
563
|
+
onClick: handleClick
|
|
564
|
+
}, renderMarks(), renderButtonWrapper()), maxDescription !== null && /*#__PURE__*/ React.createElement(Text, {
|
|
577
565
|
className: "".concat(classPrefix, "-max")
|
|
578
566
|
}, maxDescription || max));
|
|
579
567
|
};
|
|
@@ -46,7 +46,10 @@
|
|
|
46
46
|
max-height: 100%;
|
|
47
47
|
background: $range-active-color;
|
|
48
48
|
border-radius: 2px;
|
|
49
|
-
|
|
49
|
+
|
|
50
|
+
&-animate {
|
|
51
|
+
transition: all 0.2s;
|
|
52
|
+
}
|
|
50
53
|
}
|
|
51
54
|
|
|
52
55
|
&-button {
|
|
@@ -204,7 +207,8 @@
|
|
|
204
207
|
position: absolute;
|
|
205
208
|
width: 36px;
|
|
206
209
|
height: 100%;
|
|
207
|
-
top: initial;
|
|
210
|
+
// top: initial;
|
|
211
|
+
top: 0px;
|
|
208
212
|
right: 50%;
|
|
209
213
|
overflow: visible;
|
|
210
214
|
font-size: 12px;
|
|
@@ -45,6 +45,8 @@
|
|
|
45
45
|
max-height: 100%;
|
|
46
46
|
background: var(--nutui-range-active-color, var(--nutui-color-primary, #ff0f23));
|
|
47
47
|
border-radius: 2px;
|
|
48
|
+
}
|
|
49
|
+
.nut-range-bar-animate {
|
|
48
50
|
transition: all 0.2s;
|
|
49
51
|
}
|
|
50
52
|
.nut-range-button {
|
|
@@ -173,7 +175,7 @@
|
|
|
173
175
|
position: absolute;
|
|
174
176
|
width: 36px;
|
|
175
177
|
height: 100%;
|
|
176
|
-
top:
|
|
178
|
+
top: 0px;
|
|
177
179
|
right: 50%;
|
|
178
180
|
overflow: visible;
|
|
179
181
|
font-size: 12px;
|
|
@@ -50,6 +50,8 @@
|
|
|
50
50
|
max-height: 100%;
|
|
51
51
|
background: #ff0f23;
|
|
52
52
|
border-radius: 2px;
|
|
53
|
+
}
|
|
54
|
+
.nut-range-bar-animate {
|
|
53
55
|
transition: all 0.2s;
|
|
54
56
|
}
|
|
55
57
|
.nut-range-button {
|
|
@@ -186,7 +188,7 @@
|
|
|
186
188
|
position: absolute;
|
|
187
189
|
width: 36px;
|
|
188
190
|
height: 100%;
|
|
189
|
-
top:
|
|
191
|
+
top: 0px;
|
|
190
192
|
right: 50%;
|
|
191
193
|
overflow: visible;
|
|
192
194
|
font-size: 12px;
|
|
@@ -46,7 +46,10 @@
|
|
|
46
46
|
max-height: 100%;
|
|
47
47
|
background: $range-active-color;
|
|
48
48
|
border-radius: 2px;
|
|
49
|
-
|
|
49
|
+
|
|
50
|
+
&-animate {
|
|
51
|
+
transition: all 0.2s;
|
|
52
|
+
}
|
|
50
53
|
}
|
|
51
54
|
|
|
52
55
|
&-button {
|
|
@@ -204,7 +207,8 @@
|
|
|
204
207
|
position: absolute;
|
|
205
208
|
width: 36px;
|
|
206
209
|
height: 100%;
|
|
207
|
-
top: initial;
|
|
210
|
+
// top: initial;
|
|
211
|
+
top: 0px;
|
|
208
212
|
right: 50%;
|
|
209
213
|
overflow: visible;
|
|
210
214
|
font-size: 12px;
|