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