@nutui/nutui-react-taro 2.0.21 → 2.0.22-beta.0

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 (88) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/esm/Address/style/style.css +1 -1
  3. package/dist/esm/Address.js +4 -4
  4. package/dist/esm/Audio.js +3 -3
  5. package/dist/esm/Avatar.js +2 -2
  6. package/dist/esm/Calendar.js +3 -3
  7. package/dist/esm/CalendarItem.js +2 -2
  8. package/dist/esm/Cascader/style/style.css +1 -1
  9. package/dist/esm/Cascader.js +3 -3
  10. package/dist/esm/Checkbox.js +2 -2
  11. package/dist/esm/CheckboxGroup.js +2 -2
  12. package/dist/esm/Collapse.js +2 -2
  13. package/dist/esm/DatePicker.js +3 -3
  14. package/dist/esm/Dialog.js +1 -1
  15. package/dist/esm/Image.js +1 -1
  16. package/dist/esm/ImagePreview.js +3 -3
  17. package/dist/esm/Input.js +2 -2
  18. package/dist/esm/InputNumber.js +2 -2
  19. package/dist/esm/Menu.js +3 -3
  20. package/dist/esm/MenuItem.js +2 -2
  21. package/dist/esm/NoticeBar.js +1 -1
  22. package/dist/esm/Pagination.js +2 -2
  23. package/dist/esm/Picker.js +2 -2
  24. package/dist/esm/Radio.js +2 -2
  25. package/dist/esm/RadioGroup.js +2 -2
  26. package/dist/esm/Range.js +2 -2
  27. package/dist/esm/Rate.js +2 -2
  28. package/dist/esm/ShortPassword.js +2 -2
  29. package/dist/esm/Skeleton.js +3 -3
  30. package/dist/esm/Swipe.js +1 -1
  31. package/dist/esm/Switch.js +2 -2
  32. package/dist/esm/TabPane/style/style.css +1 -1
  33. package/dist/esm/Tabbar.js +2 -2
  34. package/dist/esm/Tabs/style/style.css +1 -1
  35. package/dist/esm/Tabs.js +2 -2
  36. package/dist/esm/TextArea.js +2 -2
  37. package/dist/esm/Toast.js +2 -2
  38. package/dist/esm/Uploader.js +2 -2
  39. package/dist/esm/{address.taro-33910001.js → address.taro-4295c3b3.js} +2 -2
  40. package/dist/esm/{audio.taro-f0ec6410.js → audio.taro-abacd130.js} +1 -1
  41. package/dist/esm/{avatar.taro-1743c7c3.js → avatar.taro-68369036.js} +1 -1
  42. package/dist/esm/{calendar.taro-45a9c705.js → calendar.taro-802f92e1.js} +1 -1
  43. package/dist/esm/{calendaritem.taro-bc06f40f.js → calendaritem.taro-f1995224.js} +1 -1
  44. package/dist/esm/{cascader.taro-505e8467.js → cascader.taro-9070043a.js} +2 -2
  45. package/dist/esm/{checkbox.taro-22cd35c4.js → checkbox.taro-b113a84d.js} +1 -1
  46. package/dist/esm/{collapse.taro-4a3e417c.js → collapse.taro-341f8941.js} +1 -1
  47. package/dist/esm/{datepicker.taro-f0e1771a.js → datepicker.taro-59c99fd7.js} +2 -2
  48. package/dist/esm/{dialog.taro-ffad380a.js → dialog.taro-eb61fb7a.js} +1 -1
  49. package/dist/esm/{image.taro-fa4a92a1.js → image.taro-c2441b71.js} +1 -1
  50. package/dist/esm/{imagepreview.taro-8a715216.js → imagepreview.taro-8bbafaa4.js} +3 -3
  51. package/dist/esm/{input.taro-fbcb7090.js → input.taro-a71ef3d2.js} +2 -2
  52. package/dist/esm/{inputnumber.taro-d2fc26bd.js → inputnumber.taro-5f60d969.js} +1 -1
  53. package/dist/esm/{menu.taro-b54d3f8d.js → menu.taro-cad143e1.js} +1 -1
  54. package/dist/esm/{menuitem.taro-6455f170.js → menuitem.taro-60e01217.js} +1 -1
  55. package/dist/esm/{noticebar.taro-4e1d882b.js → noticebar.taro-bc771bc9.js} +2 -2
  56. package/dist/esm/nutui-react.es.js +32 -32
  57. package/dist/esm/{pagination.taro-47fad28d.js → pagination.taro-be383e8b.js} +1 -1
  58. package/dist/esm/{picker.taro-d731f062.js → picker.taro-11d54577.js} +1 -1
  59. package/dist/esm/{radio.taro-d1d370be.js → radio.taro-a1956aa2.js} +1 -1
  60. package/dist/esm/{range.taro-4028c748.js → range.taro-021442f5.js} +1 -1
  61. package/dist/esm/{rate.taro-61bbf5a7.js → rate.taro-8f34772f.js} +1 -1
  62. package/dist/esm/{shortpassword.taro-8e8c4102.js → shortpassword.taro-b01da5b3.js} +1 -1
  63. package/dist/esm/{skeleton.taro-5a621338.js → skeleton.taro-a0bb88d4.js} +1 -1
  64. package/dist/esm/{swipe.taro-385eece1.js → swipe.taro-3d5c4b51.js} +2 -2
  65. package/dist/esm/{switch.taro-74b2bd0a.js → switch.taro-1c7715e8.js} +1 -1
  66. package/dist/esm/{tabbar.taro-2bcdca7c.js → tabbar.taro-d7af9698.js} +1 -1
  67. package/dist/esm/{tabs.taro-3ece2221.js → tabs.taro-f4239f2d.js} +14 -48
  68. package/dist/esm/{textarea.taro-6ebe789c.js → textarea.taro-d1c63f86.js} +1 -1
  69. package/dist/esm/{toast.taro-50ee73e6.js → toast.taro-3bdf6d67.js} +1 -1
  70. package/dist/esm/types/src/packages/image/demo.taro.d.ts +0 -1
  71. package/dist/esm/types/src/utils/use-props-value.d.ts +1 -1
  72. package/dist/esm/{uploader.taro-69af92c4.js → uploader.taro-aa39a03f.js} +1 -1
  73. package/dist/esm/{use-props-value-c78cbf9b.js → use-props-value-7637d900.js} +3 -3
  74. package/dist/locales/base.js +1 -1
  75. package/dist/locales/en-US.js +1 -1
  76. package/dist/locales/id-ID.js +1 -1
  77. package/dist/locales/tr-TR.js +1 -1
  78. package/dist/locales/zh-CN.js +1 -1
  79. package/dist/locales/zh-TW.js +1 -1
  80. package/dist/locales/zh-UG.js +1 -1
  81. package/dist/nutui.react.es.js +27 -58
  82. package/dist/nutui.react.umd.js +27 -58
  83. package/dist/packages/tabpane/tabpane.scss +0 -8
  84. package/dist/packages/tabs/tabs.scss +6 -8
  85. package/dist/style.css +1 -1
  86. package/dist/style.mjs +1 -1
  87. package/dist/types/utils/use-props-value.d.ts +1 -1
  88. package/package.json +1 -1
@@ -8,7 +8,7 @@ var __publicField = (obj, key, value) => {
8
8
  return value;
9
9
  };
10
10
  /*!
11
- * @nutui/nutui-react-taro v2.0.21 Wed Oct 18 2023 17:56:58 GMT+0800 (China Standard Time)
11
+ * @nutui/nutui-react-taro v2.0.22 Fri Oct 27 2023 18:00:59 GMT+0800 (China Standard Time)
12
12
  * (c) 2023 @jdf2e.
13
13
  * Released under the MIT License.
14
14
  */
@@ -3277,7 +3277,7 @@ var __publicField = (obj, key, value) => {
3277
3277
  };
3278
3278
  const containerStyle = {
3279
3279
  // eslint-disable-next-line no-nested-ternary
3280
- height: height ? pxCheck(height) : Taro.getEnv() === "WEB" ? "" : "100px",
3280
+ height: height ? pxCheck(height) : Taro.getEnv() === "WEB" ? "" : "100%",
3281
3281
  // eslint-disable-next-line no-nested-ternary
3282
3282
  width: width ? pxCheck(width) : Taro.getEnv() === "WEB" ? "" : "100%",
3283
3283
  overflow: radius !== void 0 && radius !== null ? "hidden" : "",
@@ -6448,13 +6448,13 @@ var __publicField = (obj, key, value) => {
6448
6448
  stateRef.current = value;
6449
6449
  }
6450
6450
  const setState = React.useCallback(
6451
- (v) => {
6451
+ (v, forceTrigger = false) => {
6452
6452
  const prevState = stateRef.current;
6453
6453
  stateRef.current = v;
6454
- if (prevState !== stateRef.current) {
6454
+ if (prevState !== stateRef.current || forceTrigger) {
6455
6455
  forceUpdate();
6456
+ onChange == null ? void 0 : onChange(v);
6456
6457
  }
6457
- onChange == null ? void 0 : onChange(v);
6458
6458
  },
6459
6459
  [value, onChange]
6460
6460
  );
@@ -6752,24 +6752,24 @@ var __publicField = (obj, key, value) => {
6752
6752
  };
6753
6753
  const getAllRect = (selector) => {
6754
6754
  return new Promise((resolve) => {
6755
- Taro.createSelectorQuery().selectAll(selector).boundingClientRect().exec((rect = []) => resolve(rect[0]));
6755
+ Taro.createSelectorQuery().selectAll(selector).boundingClientRect().exec((rect = []) => {
6756
+ resolve(rect[0]);
6757
+ });
6756
6758
  });
6757
6759
  };
6758
6760
  const scrollWithAnimation = React.useRef(false);
6759
6761
  const navRectRef = React.useRef();
6760
6762
  const titleRectRef = React.useRef([]);
6761
- const canShowLabel = React.useRef(false);
6762
- const scrollLeft = React.useRef(0);
6763
- const scrollTop = React.useRef(0);
6763
+ const [scrollLeft, setScrollLeft] = React.useState(0);
6764
+ const [scrollTop, setScrollTop] = React.useState(0);
6764
6765
  const scrollDirection = (to, direction2) => {
6765
6766
  let count = 0;
6766
- const from = direction2 === "horizontal" ? scrollLeft.current : scrollTop.current;
6767
6767
  const frames = 1;
6768
6768
  function animate() {
6769
6769
  if (direction2 === "horizontal") {
6770
- scrollLeft.current += (to - from) / frames;
6770
+ setScrollLeft(to);
6771
6771
  } else {
6772
- scrollTop.current += (to - from) / frames;
6772
+ setScrollTop(to);
6773
6773
  }
6774
6774
  if (++count < frames) {
6775
6775
  requestAniFrame$1(animate);
@@ -6782,47 +6782,24 @@ var __publicField = (obj, key, value) => {
6782
6782
  return;
6783
6783
  requestAniFrame$1(() => {
6784
6784
  Promise.all([
6785
- getRect2(`#nut-tabs__titles_${name}`),
6785
+ getRect2(`#nut-tabs__titles_${name} .nut-tabs__list`),
6786
6786
  getAllRect(`#nut-tabs__titles_${name} .nut-tabs__titles-item`)
6787
6787
  ]).then(([navRect, titleRects]) => {
6788
6788
  navRectRef.current = navRect;
6789
6789
  titleRectRef.current = titleRects;
6790
- if (navRectRef.current) {
6791
- if (props.direction === "vertical") {
6792
- const titlesTotalHeight = titleRects.reduce(
6793
- (prev, curr) => prev + curr.height,
6794
- 0
6795
- );
6796
- if (titlesTotalHeight > navRectRef.current.height) {
6797
- canShowLabel.current = true;
6798
- } else {
6799
- canShowLabel.current = false;
6800
- }
6801
- } else {
6802
- const titlesTotalWidth = titleRects.reduce(
6803
- (prev, curr) => prev + curr.width,
6804
- 0
6805
- );
6806
- if (titlesTotalWidth > navRectRef.current.width) {
6807
- canShowLabel.current = true;
6808
- } else {
6809
- canShowLabel.current = false;
6810
- }
6811
- }
6812
- }
6813
6790
  const titleRect = titleRectRef.current[value];
6814
6791
  let to = 0;
6815
6792
  if (props.direction === "vertical") {
6816
6793
  const DEFAULT_PADDING = 11;
6817
6794
  const top = titleRects.slice(0, value).reduce(
6818
- (prev, curr) => prev + curr.height + 0,
6795
+ (prev, curr) => prev + curr.height,
6819
6796
  DEFAULT_PADDING
6820
6797
  );
6821
6798
  to = top - (navRectRef.current.height - titleRect.height) / 2;
6822
6799
  } else {
6823
- const DEFAULT_PADDING = 31;
6800
+ const DEFAULT_PADDING = 20;
6824
6801
  const left = titleRects.slice(0, value).reduce(
6825
- (prev, curr) => prev + curr.width + 20,
6802
+ (prev, curr) => prev + curr.width,
6826
6803
  DEFAULT_PADDING
6827
6804
  );
6828
6805
  to = left - (navRectRef.current.width - titleRect.width) / 2;
@@ -6834,15 +6811,12 @@ var __publicField = (obj, key, value) => {
6834
6811
  });
6835
6812
  });
6836
6813
  };
6837
- const scrollIntoRef = React.useRef(0);
6838
6814
  React.useEffect(() => {
6839
6815
  const index = titles.current.findIndex((t) => t.value === value);
6840
6816
  setContentStyle({
6841
6817
  transform: direction === "horizontal" ? `translate3d(-${index * 100}%, 0, 0)` : `translate3d( 0,-${index * 100}%, 0)`,
6842
6818
  transitionDuration: `${duration}ms`
6843
6819
  });
6844
- const scrollToIndex = index - 2;
6845
- scrollIntoRef.current = scrollToIndex < 0 ? 0 : scrollToIndex;
6846
6820
  scrollIntoView();
6847
6821
  }, [value]);
6848
6822
  const tabChange = (item, index) => {
@@ -6858,17 +6832,15 @@ var __publicField = (obj, key, value) => {
6858
6832
  enableFlex: true,
6859
6833
  scrollX: direction === "horizontal",
6860
6834
  scrollY: direction === "vertical",
6861
- scrollLeft: scrollLeft.current,
6862
- scrollTop: scrollTop.current,
6835
+ scrollLeft,
6836
+ scrollTop,
6863
6837
  showScrollbar: false,
6864
- scrollIntoViewAlignment: "center",
6865
6838
  scrollWithAnimation: scrollWithAnimation.current,
6866
6839
  id: `nut-tabs__titles_${name}`,
6867
6840
  className: classesTitle,
6868
- style: { ...tabStyle },
6869
- ref: navRef
6841
+ style: { ...tabStyle }
6870
6842
  },
6871
- /* @__PURE__ */ React.createElement(components.View, { className: "nut-tabs__list" }, !!title && typeof title === "function" ? title() : titles.current.map((item, index) => {
6843
+ /* @__PURE__ */ React.createElement(components.View, { className: "nut-tabs__list", ref: navRef }, !!title && typeof title === "function" ? title() : titles.current.map((item, index) => {
6872
6844
  return /* @__PURE__ */ React.createElement(
6873
6845
  components.View,
6874
6846
  {
@@ -11424,7 +11396,7 @@ var __publicField = (obj, key, value) => {
11424
11396
  }
11425
11397
  setValue(val);
11426
11398
  const eventHandler = props[trigger];
11427
- if (eventHandler && typeof eventHandler === "function") {
11399
+ if (eventHandler && typeof eventHandler === "function" && trigger !== "onChange") {
11428
11400
  eventHandler(val);
11429
11401
  }
11430
11402
  forceUpdate();
@@ -14282,7 +14254,7 @@ var __publicField = (obj, key, value) => {
14282
14254
  lockScroll: true,
14283
14255
  beforeCancel: () => true,
14284
14256
  beforeClose: () => true,
14285
- onOverlayClick: () => void 0
14257
+ onOverlayClick: () => true
14286
14258
  };
14287
14259
  const BaseDialog = (props) => {
14288
14260
  const classPrefix2 = "nut-dialog";
@@ -14768,7 +14740,7 @@ var __publicField = (obj, key, value) => {
14768
14740
  content: "",
14769
14741
  closeable: false,
14770
14742
  wrap: false,
14771
- leftIcon: null,
14743
+ leftIcon: /* @__PURE__ */ React.createElement(a$b, { size: 16 }),
14772
14744
  rightIcon: null,
14773
14745
  delay: 1,
14774
14746
  scrollable: null,
@@ -15101,7 +15073,7 @@ var __publicField = (obj, key, value) => {
15101
15073
  stopAutoPlay();
15102
15074
  };
15103
15075
  }, []);
15104
- return /* @__PURE__ */ React.createElement("div", { className: `${classPrefix2} ${className || ""}`, style }, showNoticeBar && direction === "horizontal" ? /* @__PURE__ */ React.createElement("div", { className: noticebarClass, style: barStyle, onClick: handleClick }, /* @__PURE__ */ React.createElement("div", { className: "left-icon" }, leftIcon || /* @__PURE__ */ React.createElement(a$b, { size: 16 })), /* @__PURE__ */ React.createElement("div", { ref: wrapRef, className: "wrap" }, /* @__PURE__ */ React.createElement(
15076
+ return /* @__PURE__ */ React.createElement("div", { className: `${classPrefix2} ${className || ""}`, style }, showNoticeBar && direction === "horizontal" ? /* @__PURE__ */ React.createElement("div", { className: noticebarClass, style: barStyle, onClick: handleClick }, leftIcon ? /* @__PURE__ */ React.createElement("div", { className: "left-icon" }, leftIcon) : null, /* @__PURE__ */ React.createElement("div", { ref: wrapRef, className: "wrap" }, /* @__PURE__ */ React.createElement(
15105
15077
  "div",
15106
15078
  {
15107
15079
  ref: contentRef,
@@ -15945,9 +15917,9 @@ var __publicField = (obj, key, value) => {
15945
15917
  return;
15946
15918
  }
15947
15919
  touch.move(event);
15948
- props.onTouchMove && props.onTouchMove(event);
15949
15920
  if (touch.isHorizontal()) {
15950
15921
  lockClick.current = true;
15922
+ props.onTouchMove && props.onTouchMove(event);
15951
15923
  const newState = { ...state, dragging: true };
15952
15924
  const isEdge = !opened || touch.deltaX * startOffset.current < 0;
15953
15925
  if (isEdge) {
@@ -16056,8 +16028,7 @@ var __publicField = (obj, key, value) => {
16056
16028
  onTouchStart: (e) => onTouchStart(e),
16057
16029
  onTouchMove: (e) => onTouchMove(e),
16058
16030
  onTouchEnd: (e) => onTouchEnd(e),
16059
- style,
16060
- catchMove: true
16031
+ style
16061
16032
  },
16062
16033
  /* @__PURE__ */ React.createElement("div", { className: `${classPrefix2}__wrapper`, style: wrapperStyle }, renderActionContent("left"), children, renderActionContent("right"))
16063
16034
  );
@@ -17876,9 +17847,7 @@ var __publicField = (obj, key, value) => {
17876
17847
  {
17877
17848
  src: item.src,
17878
17849
  mode: "aspectFit",
17879
- showMenuByLongpress: true,
17880
- width: "100%",
17881
- height: "100%"
17850
+ showMenuByLongpress: true
17882
17851
  }
17883
17852
  )
17884
17853
  );
@@ -1,8 +1,3 @@
1
- .nut-theme-dark {
2
- .nut-tabpane {
3
- background: $dark4;
4
- }
5
- }
6
1
  .nut-tabpane {
7
2
  width: 100%;
8
3
  flex-shrink: 0;
@@ -12,9 +7,6 @@
12
7
  padding: 24px 20px;
13
8
  box-sizing: border-box;
14
9
  overflow: auto;
15
- &.active {
16
- // overflow: visible;
17
- }
18
10
 
19
11
  &.inactive {
20
12
  overflow: visible;
@@ -5,14 +5,13 @@
5
5
  }
6
6
 
7
7
  .nut-tabs__titles {
8
+ display: flex;
8
9
  box-sizing: border-box;
9
10
  height: $tabs-horizontal-titles-height;
10
11
  padding: 0 10px;
11
- display: flex;
12
12
  user-select: none;
13
13
  background: $tabs-titles-background-color;
14
14
  border-radius: $tabs-titles-border-radius;
15
- flex-shrink: 0;
16
15
  overflow: hidden;
17
16
 
18
17
  &::-webkit-scrollbar {
@@ -20,6 +19,7 @@
20
19
  width: 0;
21
20
  background: transparent;
22
21
  }
22
+
23
23
  .nut-tabs__list {
24
24
  width: 100%;
25
25
  height: auto;
@@ -39,23 +39,19 @@
39
39
  .nut-tabs__titles--scrollable {
40
40
  overflow-x: auto;
41
41
  overflow-y: hidden;
42
-
43
- .nut-tabs__titles-item {
44
- width: auto;
45
- }
46
42
  }
47
43
 
48
44
  .nut-tabs__titles-item {
49
45
  position: relative;
50
46
  min-width: $tabs-horizontal-titles-item-min-width;
51
47
  display: flex;
52
- flex: 1;
48
+ flex: 1 0 auto;
49
+ padding: 0 10px;
53
50
  align-items: center;
54
51
  justify-content: center;
55
52
  margin: 0 $nut-tabs-title-gap;
56
53
  font-size: $tabs-titles-item-font-size;
57
54
  color: $tabs-titles-item-color;
58
- overflow: hidden;
59
55
  text-overflow: ellipsis;
60
56
  white-space: nowrap;
61
57
 
@@ -139,6 +135,7 @@
139
135
  padding: 0;
140
136
  width: $tabs-vertical-titles-width;
141
137
  flex-shrink: 0;
138
+
142
139
  .nut-tabs__list {
143
140
  width: 100%;
144
141
  display: flex;
@@ -197,6 +194,7 @@
197
194
  overflow-x: auto;
198
195
  overflow-y: hidden;
199
196
  height: $tabs-horizontal-titles-height;
197
+
200
198
  .nut-tabs__list {
201
199
  width: 100%;
202
200
  display: flex;