@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.
Files changed (89) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/cjs/hooks/taro/use-custom-event.js +5 -5
  3. package/dist/cjs/hooks/use-ref-state.js +3 -3
  4. package/dist/cjs/hooks/use-touch.js +1 -2
  5. package/dist/cjs/packages/address/address.js +3 -3
  6. package/dist/cjs/packages/address/utils.js +3 -3
  7. package/dist/cjs/packages/avatarcropper/avatarcropper.js +4 -7
  8. package/dist/cjs/packages/calendar/utils.js +8 -8
  9. package/dist/cjs/packages/calendarcard/icon.js +5 -5
  10. package/dist/cjs/packages/calendarcard/utils.js +6 -6
  11. package/dist/cjs/packages/cascader/cascader.js +12 -21
  12. package/dist/cjs/packages/cascader/utils.js +3 -3
  13. package/dist/cjs/packages/collapseitem/collapseitem.js +4 -7
  14. package/dist/cjs/packages/configprovider/configprovider.js +7 -7
  15. package/dist/cjs/packages/configprovider/index.js +6 -6
  16. package/dist/cjs/packages/countdown/countdown.js +1 -2
  17. package/dist/cjs/packages/datepicker/utils.js +9 -9
  18. package/dist/cjs/packages/dialog/content.js +3 -3
  19. package/dist/cjs/packages/dialog/dialog.js +4 -7
  20. package/dist/cjs/packages/elevator/elevator.js +3 -3
  21. package/dist/cjs/packages/form/index.js +0 -2
  22. package/dist/cjs/packages/form/useform.js +50 -57
  23. package/dist/cjs/packages/infiniteloading/infiniteloading.js +8 -14
  24. package/dist/cjs/packages/inputnumber/inputnumber.js +16 -28
  25. package/dist/cjs/packages/lottie/types.js +0 -2
  26. package/dist/cjs/packages/nutui.react.build.js +105 -105
  27. package/dist/cjs/packages/nutui.react.js +105 -105
  28. package/dist/cjs/packages/overlay/overlay.js +3 -3
  29. package/dist/cjs/packages/pickerview/pickerview.js +1 -2
  30. package/dist/cjs/packages/pickerview/utils.js +3 -3
  31. package/dist/cjs/packages/pulltorefresh/pulltorefresh.js +41 -51
  32. package/dist/cjs/packages/radio/index.js +0 -2
  33. package/dist/cjs/packages/range/utils.js +3 -3
  34. package/dist/cjs/packages/shortpassword/shortpassword.js +3 -3
  35. package/dist/cjs/packages/skeleton/skeleton.js +2 -4
  36. package/dist/cjs/packages/swiper/effects/focus.js +4 -4
  37. package/dist/cjs/packages/swiper/index.js +0 -1
  38. package/dist/cjs/packages/switch/switch.js +4 -7
  39. package/dist/cjs/packages/uploader/uploader.js +30 -37
  40. package/dist/cjs/packages/virtuallist/utils.js +6 -6
  41. package/dist/cjs/packages/watermark/watermark.js +4 -8
  42. package/dist/cjs/types/spec/address/base.js +0 -2
  43. package/dist/cjs/utils/date.js +5 -5
  44. package/dist/cjs/utils/event-mocker.js +10 -18
  45. package/dist/cjs/utils/get-rect.js +4 -4
  46. package/dist/cjs/utils/get-scroll-parent.js +3 -3
  47. package/dist/cjs/utils/merge-props.js +3 -3
  48. package/dist/cjs/utils/merge.js +6 -6
  49. package/dist/cjs/utils/raf.js +3 -3
  50. package/dist/cjs/utils/render.js +5 -9
  51. package/dist/cjs/utils/rubberband.js +3 -3
  52. package/dist/cjs/utils/taro/ConfigurableCSSTransition copy.d.ts +15 -0
  53. package/dist/cjs/utils/taro/ConfigurableCSSTransition copy.js +130 -0
  54. package/dist/cjs/utils/taro/get-rect.js +14 -24
  55. package/dist/cjs/utils/taro/get-system-info.js +4 -4
  56. package/dist/cjs/utils/taro/platform.js +5 -5
  57. package/dist/es/hooks/use-touch.js +1 -1
  58. package/dist/es/packages/avatarcropper/avatarcropper.js +4 -7
  59. package/dist/es/packages/cascader/cascader.js +12 -21
  60. package/dist/es/packages/collapseitem/collapseitem.js +4 -7
  61. package/dist/es/packages/countdown/countdown.js +1 -2
  62. package/dist/es/packages/dialog/dialog.js +4 -7
  63. package/dist/es/packages/form/index.js +0 -1
  64. package/dist/es/packages/form/useform.js +46 -53
  65. package/dist/es/packages/infiniteloading/infiniteloading.js +8 -14
  66. package/dist/es/packages/inputnumber/inputnumber.js +16 -28
  67. package/dist/es/packages/lottie/types.js +1 -1
  68. package/dist/es/packages/pickerview/pickerview.js +1 -2
  69. package/dist/es/packages/pulltorefresh/pulltorefresh.js +41 -51
  70. package/dist/es/packages/radio/index.js +0 -1
  71. package/dist/es/packages/skeleton/skeleton.js +2 -4
  72. package/dist/es/packages/swiper/index.js +0 -1
  73. package/dist/es/packages/switch/switch.js +4 -7
  74. package/dist/es/packages/uploader/uploader.js +30 -37
  75. package/dist/es/packages/watermark/watermark.js +4 -8
  76. package/dist/es/types/spec/address/base.js +1 -1
  77. package/dist/es/utils/event-mocker.js +4 -12
  78. package/dist/es/utils/render.js +2 -6
  79. package/dist/es/utils/taro/ConfigurableCSSTransition copy.d.ts +15 -0
  80. package/dist/es/utils/taro/ConfigurableCSSTransition copy.js +119 -0
  81. package/dist/es/utils/taro/get-rect.js +10 -20
  82. package/dist/nutui.react.umd.js +396 -592
  83. package/dist/style-jmapp.css +1 -1
  84. package/dist/style-jmapp.scss +33 -33
  85. package/dist/style-jrkf.css +1 -1
  86. package/dist/style-jrkf.scss +36 -36
  87. package/dist/style.css +1 -1
  88. package/dist/style.scss +36 -36
  89. package/package.json +1 -1
@@ -5,17 +5,17 @@ Object.defineProperty(exports, "__esModule", {
5
5
  function _export(target, all) {
6
6
  for(var name in all)Object.defineProperty(target, name, {
7
7
  enumerable: true,
8
- get: all[name]
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- focusEffect: function() {
12
+ get focusEffect () {
13
13
  return focusEffect;
14
14
  },
15
- updateTransform: function() {
15
+ get updateTransform () {
16
16
  return updateTransform;
17
17
  },
18
- useList: function() {
18
+ get useList () {
19
19
  return useList;
20
20
  }
21
21
  });
@@ -9,7 +9,6 @@ Object.defineProperty(exports, "default", {
9
9
  }
10
10
  });
11
11
  var _interop_require_default = require("@swc/helpers/_/_interop_require_default");
12
- var _react = /*#__PURE__*/ _interop_require_default._(require("react"));
13
12
  var _swiper = require("./swiper");
14
13
  var _swiperitem = /*#__PURE__*/ _interop_require_default._(require("../swiperitem"));
15
14
  var InnerSwiper = _swiper.Swiper;
@@ -74,8 +74,8 @@ var Switch = function Switch(props) {
74
74
  (_obj = {}, (0, _define_property._)(_obj, "".concat(classPrefix, "-close"), !value), (0, _define_property._)(_obj, "".concat(classPrefix, "-disabled"), disabled), (0, _define_property._)(_obj, "".concat(classPrefix, "-disabled-close"), disabled && !value), _obj)
75
75
  ]);
76
76
  };
77
- var onClick = /*#__PURE__*/ function() {
78
- var _ref = (0, _async_to_generator._)(function() {
77
+ var onClick = function onClick() {
78
+ return (0, _async_to_generator._)(function() {
79
79
  var e;
80
80
  return (0, _ts_generator._)(this, function(_state) {
81
81
  switch(_state.label){
@@ -120,11 +120,8 @@ var Switch = function Switch(props) {
120
120
  ];
121
121
  }
122
122
  });
123
- });
124
- return function onClick() {
125
- return _ref.apply(this, arguments);
126
- };
127
- }();
123
+ })();
124
+ };
128
125
  var _obj, _obj1;
129
126
  return /*#__PURE__*/ _react.default.createElement("div", (0, _object_spread_props._)((0, _object_spread._)({
130
127
  className: classes(),
@@ -111,22 +111,24 @@ var InternalUploader = function InternalUploader(props, ref) {
111
111
  ]);
112
112
  (0, _react.useImperativeHandle)(ref, function() {
113
113
  return {
114
- submit: /*#__PURE__*/ (0, _async_to_generator._)(function() {
115
- return (0, _ts_generator._)(this, function(_state) {
116
- switch(_state.label){
117
- case 0:
118
- return [
119
- 4,
120
- uploadAction(uploadQueue)
121
- ];
122
- case 1:
123
- _state.sent();
124
- return [
125
- 2
126
- ];
127
- }
128
- });
129
- }),
114
+ submit: function submit() {
115
+ return (0, _async_to_generator._)(function() {
116
+ return (0, _ts_generator._)(this, function(_state) {
117
+ switch(_state.label){
118
+ case 0:
119
+ return [
120
+ 4,
121
+ uploadAction(uploadQueue)
122
+ ];
123
+ case 1:
124
+ _state.sent();
125
+ return [
126
+ 2
127
+ ];
128
+ }
129
+ });
130
+ })();
131
+ },
130
132
  clear: function clear() {
131
133
  clearUploadQueue();
132
134
  }
@@ -183,8 +185,8 @@ var InternalUploader = function InternalUploader(props, ref) {
183
185
  }
184
186
  });
185
187
  };
186
- var fileChange = /*#__PURE__*/ function() {
187
- var _ref = (0, _async_to_generator._)(function(event) {
188
+ var fileChange = function fileChange(event) {
189
+ return (0, _async_to_generator._)(function() {
188
190
  var $el, files, _files, filesArr, tasks;
189
191
  return (0, _ts_generator._)(this, function(_state) {
190
192
  switch(_state.label){
@@ -270,13 +272,10 @@ var InternalUploader = function InternalUploader(props, ref) {
270
272
  ];
271
273
  }
272
274
  });
273
- });
274
- return function fileChange(event) {
275
- return _ref.apply(this, arguments);
276
- };
277
- }();
278
- var uploadAction = /*#__PURE__*/ function() {
279
- var _ref = (0, _async_to_generator._)(function(tasks) {
275
+ })();
276
+ };
277
+ var uploadAction = function uploadAction(tasks) {
278
+ return (0, _async_to_generator._)(function() {
280
279
  var taskIds;
281
280
  return (0, _ts_generator._)(this, function(_state) {
282
281
  switch(_state.label){
@@ -295,8 +294,8 @@ var InternalUploader = function InternalUploader(props, ref) {
295
294
  }));
296
295
  return [
297
296
  4,
298
- Promise.all(tasks.map(/*#__PURE__*/ function() {
299
- var _ref = (0, _async_to_generator._)(function(currentTask, index) {
297
+ Promise.all(tasks.map(function(currentTask, index) {
298
+ return (0, _async_to_generator._)(function() {
300
299
  var result, list, e, list1;
301
300
  return (0, _ts_generator._)(this, function(_state) {
302
301
  switch(_state.label){
@@ -343,11 +342,8 @@ var InternalUploader = function InternalUploader(props, ref) {
343
342
  ];
344
343
  }
345
344
  });
346
- });
347
- return function(currentTask, index) {
348
- return _ref.apply(this, arguments);
349
- };
350
- }())).catch(function(errs) {
345
+ })();
346
+ })).catch(function(errs) {
351
347
  return console.error(errs);
352
348
  })
353
349
  ];
@@ -358,11 +354,8 @@ var InternalUploader = function InternalUploader(props, ref) {
358
354
  ];
359
355
  }
360
356
  });
361
- });
362
- return function uploadAction(tasks) {
363
- return _ref.apply(this, arguments);
364
- };
365
- }();
357
+ })();
358
+ };
366
359
  var handleItemClick = function handleItemClick(file, index) {
367
360
  onFileItemClick === null || onFileItemClick === void 0 ? void 0 : onFileItemClick(file, index);
368
361
  };
@@ -6,23 +6,23 @@ Object.defineProperty(exports, "__esModule", {
6
6
  function _export(target, all) {
7
7
  for(var name in all)Object.defineProperty(target, name, {
8
8
  enumerable: true,
9
- get: all[name]
9
+ get: Object.getOwnPropertyDescriptor(all, name).get
10
10
  });
11
11
  }
12
12
  _export(exports, {
13
- binarySearch: function() {
13
+ get binarySearch () {
14
14
  return binarySearch;
15
15
  },
16
- getEndIndex: function() {
16
+ get getEndIndex () {
17
17
  return getEndIndex;
18
18
  },
19
- getListTotalSize: function() {
19
+ get getListTotalSize () {
20
20
  return getListTotalSize;
21
21
  },
22
- initPositinoCache: function() {
22
+ get initPositinoCache () {
23
23
  return initPositinoCache;
24
24
  },
25
- updateItemSize: function() {
25
+ get updateItemSize () {
26
26
  return updateItemSize;
27
27
  }
28
28
  });
@@ -71,20 +71,16 @@ var WaterMark = function WaterMark(props) {
71
71
  setBase64Url(canvas.toDataURL());
72
72
  };
73
73
  } else if (content) {
74
- ctx.textBaseline = 'middle' // 设置或返回在绘制文本时使用的当前文本基线。(正中)
75
- ;
76
- ctx.textAlign = 'center' // 设置或返回文本内容的当前对齐方式。
77
- ;
74
+ ctx.textBaseline = 'middle'; // 设置或返回在绘制文本时使用的当前文本基线。(正中)
75
+ ctx.textAlign = 'center'; // 设置或返回文本内容的当前对齐方式。
78
76
  // 文字绕中间旋转
79
77
  ctx.translate(markWidth / 2, markHeight / 2);
80
78
  ctx.rotate(Math.PI / 180 * Number(rotate));
81
79
  var markSize = Number(fontSize) * ratio;
82
80
  ctx.font = "".concat(fontStyle, " normal ").concat(fontWeight, " ").concat(markSize, "px/").concat(markHeight, "px ").concat(fontFamily);
83
81
  ctx.fillStyle = color;
84
- ctx.fillText(content, startX, startY) // 在画布上绘制"被填充的"文本。
85
- ;
86
- ctx.restore() // 返回之前保存过的路径状态和属性。
87
- ;
82
+ ctx.fillText(content, startX, startY); // 在画布上绘制"被填充的"文本。
83
+ ctx.restore(); // 返回之前保存过的路径状态和属性。
88
84
  setBase64Url(canvas.toDataURL());
89
85
  }
90
86
  } else {
@@ -2,5 +2,3 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- var _interop_require_default = require("@swc/helpers/_/_interop_require_default");
6
- var _react = /*#__PURE__*/ _interop_require_default._(require("react"));
@@ -5,20 +5,20 @@ Object.defineProperty(exports, "__esModule", {
5
5
  function _export(target, all) {
6
6
  for(var name in all)Object.defineProperty(target, name, {
7
7
  enumerable: true,
8
- get: all[name]
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- Utils: function() {
12
+ get Utils () {
13
13
  return Utils;
14
14
  },
15
- getCurrMonthData: function() {
15
+ get getCurrMonthData () {
16
16
  return getCurrMonthData;
17
17
  },
18
- getDaysStatus: function() {
18
+ get getDaysStatus () {
19
19
  return getDaysStatus;
20
20
  },
21
- getPreMonthDates: function() {
21
+ get getPreMonthDates () {
22
22
  return getPreMonthDates;
23
23
  }
24
24
  });
@@ -5,23 +5,23 @@ Object.defineProperty(exports, "__esModule", {
5
5
  function _export(target, all) {
6
6
  for(var name in all)Object.defineProperty(target, name, {
7
7
  enumerable: true,
8
- get: all[name]
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- simulateTouchMove: function() {
12
+ get simulateTouchMove () {
13
13
  return simulateTouchMove;
14
14
  },
15
- simulateTouchZoom: function() {
15
+ get simulateTouchZoom () {
16
16
  return simulateTouchZoom;
17
17
  },
18
- sleep: function() {
18
+ get sleep () {
19
19
  return sleep;
20
20
  },
21
- trigger: function() {
21
+ get trigger () {
22
22
  return trigger;
23
23
  },
24
- triggerDrag: function() {
24
+ get triggerDrag () {
25
25
  return triggerDrag;
26
26
  }
27
27
  });
@@ -89,10 +89,7 @@ function triggerDrag(el) {
89
89
  trigger(el, 'touchend', x, y);
90
90
  }
91
91
  function simulateTouchMove(element, startX, startY, endX, endY, duration) {
92
- return _simulateTouchMove.apply(this, arguments);
93
- }
94
- function _simulateTouchMove() {
95
- _simulateTouchMove = (0, _async_to_generator._)(function(element, startX, startY, endX, endY, duration) {
92
+ return (0, _async_to_generator._)(function() {
96
93
  var touch, touchList, distanceX, distanceY, startTime, elapsed, progress, currentX, currentY, currentTouch, currentTouchList;
97
94
  return (0, _ts_generator._)(this, function(_state) {
98
95
  switch(_state.label){
@@ -145,14 +142,10 @@ function _simulateTouchMove() {
145
142
  ];
146
143
  }
147
144
  });
148
- });
149
- return _simulateTouchMove.apply(this, arguments);
145
+ })();
150
146
  }
151
147
  function simulateTouchZoom(element, startDistance, endDistance, duration) {
152
- return _simulateTouchZoom.apply(this, arguments);
153
- }
154
- function _simulateTouchZoom() {
155
- _simulateTouchZoom = (0, _async_to_generator._)(function(element, startDistance, endDistance, duration) {
148
+ return (0, _async_to_generator._)(function() {
156
149
  var centerX, centerY, startScale, endScale, startTouches, endTouches, progress, currentScale, currentDistance, currentTouches;
157
150
  return (0, _ts_generator._)(this, function(_state) {
158
151
  switch(_state.label){
@@ -212,6 +205,5 @@ function _simulateTouchZoom() {
212
205
  ];
213
206
  }
214
207
  });
215
- });
216
- return _simulateTouchZoom.apply(this, arguments);
208
+ })();
217
209
  }
@@ -5,17 +5,17 @@ Object.defineProperty(exports, "__esModule", {
5
5
  function _export(target, all) {
6
6
  for(var name in all)Object.defineProperty(target, name, {
7
7
  enumerable: true,
8
- get: all[name]
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- getRect: function() {
12
+ get getRect () {
13
13
  return getRect;
14
14
  },
15
- inBrowser: function() {
15
+ get inBrowser () {
16
16
  return inBrowser;
17
17
  },
18
- isWindow: function() {
18
+ get isWindow () {
19
19
  return isWindow;
20
20
  }
21
21
  });
@@ -5,14 +5,14 @@ Object.defineProperty(exports, "__esModule", {
5
5
  function _export(target, all) {
6
6
  for(var name in all)Object.defineProperty(target, name, {
7
7
  enumerable: true,
8
- get: all[name]
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- getAllScrollableParents: function() {
12
+ get getAllScrollableParents () {
13
13
  return getAllScrollableParents;
14
14
  },
15
- getScrollParent: function() {
15
+ get getScrollParent () {
16
16
  return getScrollParent;
17
17
  }
18
18
  });
@@ -5,14 +5,14 @@ Object.defineProperty(exports, "__esModule", {
5
5
  function _export(target, all) {
6
6
  for(var name in all)Object.defineProperty(target, name, {
7
7
  enumerable: true,
8
- get: all[name]
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- mergeProp: function() {
12
+ get mergeProp () {
13
13
  return mergeProp;
14
14
  },
15
- mergeProps: function() {
15
+ get mergeProps () {
16
16
  return mergeProps;
17
17
  }
18
18
  });
@@ -5,23 +5,23 @@ Object.defineProperty(exports, "__esModule", {
5
5
  function _export(target, all) {
6
6
  for(var name in all)Object.defineProperty(target, name, {
7
7
  enumerable: true,
8
- get: all[name]
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- clone: function() {
12
+ get clone () {
13
13
  return clone;
14
14
  },
15
- isPlainObject: function() {
15
+ get isPlainObject () {
16
16
  return isPlainObject;
17
17
  },
18
- main: function() {
18
+ get main () {
19
19
  return main;
20
20
  },
21
- merge: function() {
21
+ get merge () {
22
22
  return merge;
23
23
  },
24
- recursive: function() {
24
+ get recursive () {
25
25
  return recursive;
26
26
  }
27
27
  });
@@ -5,14 +5,14 @@ Object.defineProperty(exports, "__esModule", {
5
5
  function _export(target, all) {
6
6
  for(var name in all)Object.defineProperty(target, name, {
7
7
  enumerable: true,
8
- get: all[name]
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- cancelRaf: function() {
12
+ get cancelRaf () {
13
13
  return cancelRaf;
14
14
  },
15
- default: function() {
15
+ get default () {
16
16
  return _default;
17
17
  }
18
18
  });
@@ -5,14 +5,14 @@ Object.defineProperty(exports, "__esModule", {
5
5
  function _export(target, all) {
6
6
  for(var name in all)Object.defineProperty(target, name, {
7
7
  enumerable: true,
8
- get: all[name]
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- render: function() {
12
+ get render () {
13
13
  return render;
14
14
  },
15
- unmount: function() {
15
+ get unmount () {
16
16
  return unmount;
17
17
  }
18
18
  });
@@ -64,10 +64,7 @@ function legacyUnmount(container) {
64
64
  return unmountComponentAtNode(container);
65
65
  }
66
66
  function concurrentUnmount(container) {
67
- return _concurrentUnmount.apply(this, arguments);
68
- }
69
- function _concurrentUnmount() {
70
- _concurrentUnmount = (0, _async_to_generator._)(function(container) {
67
+ return (0, _async_to_generator._)(function() {
71
68
  return (0, _ts_generator._)(this, function(_state) {
72
69
  // Delay to unmount to avoid React 18 sync warning
73
70
  return [
@@ -79,8 +76,7 @@ function _concurrentUnmount() {
79
76
  })
80
77
  ];
81
78
  });
82
- });
83
- return _concurrentUnmount.apply(this, arguments);
79
+ })();
84
80
  }
85
81
  function unmount(container) {
86
82
  if (createRoot) {
@@ -5,14 +5,14 @@ Object.defineProperty(exports, "__esModule", {
5
5
  function _export(target, all) {
6
6
  for(var name in all)Object.defineProperty(target, name, {
7
7
  enumerable: true,
8
- get: all[name]
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- rubberband: function() {
12
+ get rubberband () {
13
13
  return rubberband;
14
14
  },
15
- rubberbandIfOutOfBounds: function() {
15
+ get rubberbandIfOutOfBounds () {
16
16
  return rubberbandIfOutOfBounds;
17
17
  }
18
18
  });
@@ -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,130 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return _default;
9
+ }
10
+ });
11
+ var _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
12
+ var _sliced_to_array = require("@swc/helpers/_/_sliced_to_array");
13
+ var _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
14
+ var ConfigurableCSSTransition = function ConfigurableCSSTransition(props) {
15
+ 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;
16
+ var _useState = (0, _sliced_to_array._)((0, _react.useState)(function() {
17
+ if (inPhase) return 'entered';
18
+ return unmountOnExit || mountOnEnter ? 'unmounted' : 'exited';
19
+ }), 2), status = _useState[0], setStatus = _useState[1];
20
+ var _useState1 = (0, _sliced_to_array._)((0, _react.useState)(function() {
21
+ if (inPhase) return "".concat(baseClassName, "-enter-done");
22
+ return "".concat(baseClassName, "-exit-done");
23
+ }), 2), classes = _useState1[0], setClasses = _useState1[1];
24
+ var fallbackTimerRef = (0, _react.useRef)(null);
25
+ var statusRef = (0, _react.useRef)(status);
26
+ var prevInPhase = (0, _react.useRef)(inPhase);
27
+ var latestOnAnimationEnd = (0, _react.useRef)(children.props.onAnimationEnd);
28
+ (0, _react.useEffect)(function() {
29
+ latestOnAnimationEnd.current = children.props.onAnimationEnd;
30
+ });
31
+ var updateStatus = (0, _react.useCallback)(function(nextStatus) {
32
+ statusRef.current = nextStatus;
33
+ setStatus(nextStatus);
34
+ }, []);
35
+ var handleAnimationEnd = (0, _react.useCallback)(function(e) {
36
+ var _latestOnAnimationEnd_current;
37
+ (_latestOnAnimationEnd_current = latestOnAnimationEnd.current) === null || _latestOnAnimationEnd_current === void 0 ? void 0 : _latestOnAnimationEnd_current.call(latestOnAnimationEnd, e);
38
+ if (e && e.target !== e.currentTarget) return;
39
+ if (fallbackTimerRef.current) clearTimeout(fallbackTimerRef.current);
40
+ if (statusRef.current === 'entering') {
41
+ updateStatus('entered');
42
+ setClasses("".concat(baseClassName, "-enter-done"));
43
+ onEntered === null || onEntered === void 0 ? void 0 : onEntered();
44
+ } else if (statusRef.current === 'exiting') {
45
+ updateStatus('exited');
46
+ setClasses("".concat(baseClassName, "-exit-done"));
47
+ if (unmountOnExit) {
48
+ updateStatus('unmounted');
49
+ }
50
+ onExited === null || onExited === void 0 ? void 0 : onExited();
51
+ }
52
+ }, [
53
+ baseClassName,
54
+ onEntered,
55
+ onExited,
56
+ unmountOnExit,
57
+ updateStatus
58
+ ]);
59
+ var enter = (0, _react.useCallback)(function() {
60
+ if (fallbackTimerRef.current) clearTimeout(fallbackTimerRef.current);
61
+ if (statusRef.current === 'unmounted') {
62
+ updateStatus('exited');
63
+ }
64
+ if (timeout === 0) {
65
+ updateStatus('entered');
66
+ setClasses("".concat(baseClassName, "-enter-done"));
67
+ onEntered === null || onEntered === void 0 ? void 0 : onEntered();
68
+ return;
69
+ }
70
+ updateStatus('entering');
71
+ setClasses("".concat(baseClassName, "-enter ").concat(baseClassName, "-enter-active"));
72
+ // Safety fallback: Give it extra time over the expected timeout in case onAnimationEnd misses
73
+ fallbackTimerRef.current = setTimeout(function() {
74
+ handleAnimationEnd(null);
75
+ }, timeout + 200);
76
+ }, [
77
+ baseClassName,
78
+ handleAnimationEnd,
79
+ onEntered,
80
+ timeout,
81
+ updateStatus
82
+ ]);
83
+ var exit = (0, _react.useCallback)(function() {
84
+ if (fallbackTimerRef.current) clearTimeout(fallbackTimerRef.current);
85
+ if (timeout === 0) {
86
+ updateStatus('exited');
87
+ setClasses("".concat(baseClassName, "-exit-done"));
88
+ if (unmountOnExit) {
89
+ updateStatus('unmounted');
90
+ }
91
+ onExited === null || onExited === void 0 ? void 0 : onExited();
92
+ return;
93
+ }
94
+ updateStatus('exiting');
95
+ setClasses("".concat(baseClassName, "-exit ").concat(baseClassName, "-exit-active"));
96
+ fallbackTimerRef.current = setTimeout(function() {
97
+ handleAnimationEnd(null);
98
+ }, timeout + 200);
99
+ }, [
100
+ baseClassName,
101
+ handleAnimationEnd,
102
+ onExited,
103
+ timeout,
104
+ unmountOnExit,
105
+ updateStatus
106
+ ]);
107
+ (0, _react.useEffect)(function() {
108
+ if (prevInPhase.current !== inPhase) {
109
+ if (inPhase) {
110
+ enter();
111
+ } else {
112
+ exit();
113
+ }
114
+ prevInPhase.current = inPhase;
115
+ }
116
+ return function() {
117
+ if (fallbackTimerRef.current) clearTimeout(fallbackTimerRef.current);
118
+ };
119
+ }, [
120
+ inPhase,
121
+ enter,
122
+ exit
123
+ ]);
124
+ if (status === 'unmounted') return null;
125
+ return /*#__PURE__*/ (0, _react.cloneElement)(children, {
126
+ className: "".concat(children.props.className || '', " ").concat(classes),
127
+ onAnimationEnd: handleAnimationEnd
128
+ });
129
+ };
130
+ var _default = ConfigurableCSSTransition;