@nutui/nutui-react-taro 2.3.12 → 2.4.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 (193) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/dist/esm/Address.js +1 -1
  3. package/dist/esm/AnimatingNumbers/style/style.css +1 -1
  4. package/dist/esm/Badge/style/style.css +1 -1
  5. package/dist/esm/Badge.js +1 -1
  6. package/dist/esm/Cascader.js +1 -1
  7. package/dist/esm/Checkbox/style/style.css +1 -1
  8. package/dist/esm/Checkbox.js +1 -1
  9. package/dist/esm/CheckboxGroup/style/style.css +1 -1
  10. package/dist/esm/CheckboxGroup.js +1 -1
  11. package/dist/esm/Collapse/style/style.css +1 -1
  12. package/dist/esm/CollapseItem/style/style.css +1 -1
  13. package/dist/esm/CountDown.js +1 -1
  14. package/dist/esm/DatePicker.js +1 -1
  15. package/dist/esm/Dialog/style/style.css +1 -1
  16. package/dist/esm/Dialog.js +1 -1
  17. package/dist/esm/InputNumber/style/style.css +1 -1
  18. package/dist/esm/InputNumber.js +1 -1
  19. package/dist/esm/NoticeBar/style/style.css +1 -1
  20. package/dist/esm/NoticeBar.js +1 -1
  21. package/dist/esm/Popover/style/style.css +1 -1
  22. package/dist/esm/Popover.js +1 -1
  23. package/dist/esm/Swipe/style/style.css +1 -1
  24. package/dist/esm/Tabbar/style/style.css +1 -1
  25. package/dist/esm/Tabbar.js +1 -1
  26. package/dist/esm/TabbarItem/style/style.css +1 -1
  27. package/dist/esm/TabbarItem.js +1 -1
  28. package/dist/esm/Table.js +1 -1
  29. package/dist/esm/Tabs.js +1 -1
  30. package/dist/esm/Toast.js +1 -1
  31. package/dist/esm/Tour/style/style.css +1 -1
  32. package/dist/esm/Tour.js +1 -1
  33. package/dist/esm/Uploader.js +1 -1
  34. package/dist/esm/VirtualList.js +1 -1
  35. package/dist/esm/{address.taro-DjlXNWie.js → address.taro-CgkCHDYZ.js} +1 -1
  36. package/dist/esm/{badge.taro-CyDqBb9Z.js → badge.taro-D7Yn5zJi.js} +4 -1
  37. package/dist/esm/{cascader.taro-CpofskUL.js → cascader.taro-BMp2mI0W.js} +1 -1
  38. package/dist/esm/{checkbox.taro-D9F_HM7f.js → checkbox.taro-CUpF7Afr.js} +23 -5
  39. package/dist/esm/{countdown.taro-Dfa9kpmZ.js → countdown.taro-D-H9erkV.js} +1 -1
  40. package/dist/esm/{datepicker.taro-DshCn7Rn.js → datepicker.taro-DqR52Ivo.js} +1 -1
  41. package/dist/esm/{dialog.taro-xsQhsC1V.js → dialog.taro-Dk0QQMn_.js} +14 -6
  42. package/dist/esm/{inputnumber.taro-F3jNGr_V.js → inputnumber.taro-CQiAPZgS.js} +1 -1
  43. package/dist/esm/{noticebar.taro-CMdfOp2g.js → noticebar.taro-CRPbZenq.js} +26 -21
  44. package/dist/esm/nutui-react.es.js +18 -18
  45. package/dist/esm/{popover.taro-CcKwnX27.js → popover.taro-BsOaXoWp.js} +8 -6
  46. package/dist/esm/{tabbar.taro-8_SmJofa.js → tabbar.taro-LAPQoOva.js} +1 -1
  47. package/dist/esm/{tabbaritem.taro-Cb-yfOln.js → tabbaritem.taro-C4AZbQMG.js} +1 -1
  48. package/dist/esm/{table.taro-0BcEBB0F.js → table.taro-ClLmfqz3.js} +8 -7
  49. package/dist/esm/{tabs.taro-HgAoKBAc.js → tabs.taro-DRmZR3Xu.js} +5 -5
  50. package/dist/esm/{toast.taro-BIR_7Wgb.js → toast.taro-BVXqvjNJ.js} +3 -3
  51. package/dist/esm/{tour.taro-CMagdKcp.js → tour.taro-wfXuUebD.js} +1 -1
  52. package/dist/esm/types/src/packages/cell/demo.d.ts +0 -1
  53. package/dist/esm/types/src/packages/cell/demo.taro.d.ts +0 -1
  54. package/dist/esm/types/src/packages/cell/demos/h5/demo1.d.ts +3 -0
  55. package/dist/esm/types/src/packages/cell/demos/h5/demo2.d.ts +3 -0
  56. package/dist/esm/types/src/packages/cell/demos/h5/demo3.d.ts +3 -0
  57. package/dist/esm/types/src/packages/cell/demos/h5/demo4.d.ts +3 -0
  58. package/dist/esm/types/src/packages/cell/demos/h5/demo5.d.ts +3 -0
  59. package/dist/esm/types/src/packages/cell/demos/h5/demo6.d.ts +3 -0
  60. package/dist/esm/types/src/packages/cell/demos/h5/demo7.d.ts +3 -0
  61. package/dist/esm/types/src/packages/cell/demos/taro/demo1.d.ts +3 -0
  62. package/dist/esm/types/src/packages/cell/demos/taro/demo2.d.ts +3 -0
  63. package/dist/esm/types/src/packages/cell/demos/taro/demo3.d.ts +3 -0
  64. package/dist/esm/types/src/packages/cell/demos/taro/demo4.d.ts +3 -0
  65. package/dist/esm/types/src/packages/cell/demos/taro/demo5.d.ts +3 -0
  66. package/dist/esm/types/src/packages/cell/demos/taro/demo6.d.ts +3 -0
  67. package/dist/esm/types/src/packages/cell/demos/taro/demo7.d.ts +3 -0
  68. package/dist/esm/types/src/packages/checkboxgroup/checkboxgroup.d.ts +1 -0
  69. package/dist/esm/types/src/packages/checkboxgroup/checkboxgroup.taro.d.ts +1 -0
  70. package/dist/esm/types/src/packages/checkboxgroup/context.d.ts +1 -0
  71. package/dist/esm/types/src/packages/configprovider/types.d.ts +1 -1
  72. package/dist/esm/types/src/packages/dialog/config.d.ts +3 -3
  73. package/dist/esm/types/src/packages/dialog/index.d.ts +1 -1
  74. package/dist/esm/types/src/packages/noticebar/index.d.ts +1 -0
  75. package/dist/esm/types/src/packages/noticebar/noticebar.d.ts +2 -0
  76. package/dist/esm/types/src/packages/noticebar/noticebar.taro.d.ts +2 -0
  77. package/dist/esm/types/src/packages/noticebar/types.d.ts +1 -0
  78. package/dist/esm/types/src/packages/popover/index.d.ts +2 -1
  79. package/dist/esm/types/src/packages/popover/index.taro.d.ts +2 -1
  80. package/dist/esm/types/src/packages/popover/popover.d.ts +2 -12
  81. package/dist/esm/types/src/packages/popover/popover.taro.d.ts +2 -12
  82. package/dist/esm/types/src/packages/popover/types.d.ts +14 -0
  83. package/dist/esm/types/src/packages/table/useTableSticky.d.ts +1 -1
  84. package/dist/esm/types/src/packages/toast/toast.taro.d.ts +7 -3
  85. package/dist/esm/types/src/packages/tour/tour.d.ts +1 -1
  86. package/dist/esm/types/src/packages/tour/tour.taro.d.ts +1 -1
  87. package/dist/esm/{uploader.taro-CuaIVvya.js → uploader.taro-DdJ-sOK4.js} +2 -2
  88. package/dist/esm/{virtuallist.taro-C5vZAyza.js → virtuallist.taro-Cl08vfdg.js} +5 -4
  89. package/dist/locales/base.js +1 -1
  90. package/dist/locales/en-US.js +1 -1
  91. package/dist/locales/id-ID.js +1 -1
  92. package/dist/locales/tr-TR.js +1 -1
  93. package/dist/locales/zh-CN.js +1 -1
  94. package/dist/locales/zh-TW.js +1 -1
  95. package/dist/locales/zh-UG.js +1 -1
  96. package/dist/nutui.react.es.js +99 -51
  97. package/dist/nutui.react.umd.js +99 -51
  98. package/dist/packages/animatingnumbers/countup.scss +1 -0
  99. package/dist/packages/badge/badge.scss +2 -0
  100. package/dist/packages/checkbox/checkbox.scss +19 -0
  101. package/dist/packages/checkboxgroup/checkboxgroup.scss +25 -0
  102. package/dist/packages/collapseitem/collapseitem.scss +1 -6
  103. package/dist/packages/dialog/dialog.scss +8 -1
  104. package/dist/packages/noticebar/noticebar.scss +19 -1
  105. package/dist/packages/popover/popover.scss +21 -0
  106. package/dist/packages/swipe/swipe.scss +2 -0
  107. package/dist/style.css +1 -1
  108. package/dist/style.mjs +1 -1
  109. package/dist/styles/variables-jmapp.scss +13 -0
  110. package/dist/styles/variables.scss +19 -12
  111. package/dist/types/index.d.ts +98 -98
  112. package/dist/types/packages/actionsheet/actionsheet.d.ts +1 -1
  113. package/dist/types/packages/actionsheet/actionsheet.taro.d.ts +1 -1
  114. package/dist/types/packages/address/address.d.ts +1 -1
  115. package/dist/types/packages/address/address.taro.d.ts +1 -1
  116. package/dist/types/packages/address/customRender.d.ts +1 -1
  117. package/dist/types/packages/address/customRender.taro.d.ts +1 -1
  118. package/dist/types/packages/avatar/avatar.d.ts +1 -1
  119. package/dist/types/packages/avatar/avatar.taro.d.ts +1 -1
  120. package/dist/types/packages/badge/badge.taro.d.ts +1 -1
  121. package/dist/types/packages/calendaritem/calendaritem.d.ts +1 -1
  122. package/dist/types/packages/calendaritem/calendaritem.taro.d.ts +1 -1
  123. package/dist/types/packages/cascader/cascader.d.ts +1 -1
  124. package/dist/types/packages/cascader/cascader.taro.d.ts +1 -1
  125. package/dist/types/packages/cell/cell.d.ts +1 -1
  126. package/dist/types/packages/cell/cell.taro.d.ts +1 -1
  127. package/dist/types/packages/cell/demos/h5/demo1.d.ts +3 -0
  128. package/dist/types/packages/cell/demos/h5/demo2.d.ts +3 -0
  129. package/dist/types/packages/cell/demos/h5/demo3.d.ts +3 -0
  130. package/dist/types/packages/cell/demos/h5/demo4.d.ts +3 -0
  131. package/dist/types/packages/cell/demos/h5/demo5.d.ts +3 -0
  132. package/dist/types/packages/cell/demos/h5/demo6.d.ts +3 -0
  133. package/dist/types/packages/cell/demos/h5/demo7.d.ts +3 -0
  134. package/dist/types/packages/cell/demos/taro/demo1.d.ts +3 -0
  135. package/dist/types/packages/cell/demos/taro/demo2.d.ts +3 -0
  136. package/dist/types/packages/cell/demos/taro/demo3.d.ts +3 -0
  137. package/dist/types/packages/cell/demos/taro/demo4.d.ts +3 -0
  138. package/dist/types/packages/cell/demos/taro/demo5.d.ts +3 -0
  139. package/dist/types/packages/cell/demos/taro/demo6.d.ts +3 -0
  140. package/dist/types/packages/cell/demos/taro/demo7.d.ts +3 -0
  141. package/dist/types/packages/checkbox/checkbox.d.ts +2 -2
  142. package/dist/types/packages/checkbox/checkbox.taro.d.ts +2 -2
  143. package/dist/types/packages/checkboxgroup/checkboxgroup.d.ts +3 -2
  144. package/dist/types/packages/checkboxgroup/checkboxgroup.taro.d.ts +3 -2
  145. package/dist/types/packages/checkboxgroup/context.d.ts +1 -0
  146. package/dist/types/packages/configprovider/types.d.ts +1 -1
  147. package/dist/types/packages/datepicker/datepicker.d.ts +1 -1
  148. package/dist/types/packages/datepicker/datepicker.taro.d.ts +1 -1
  149. package/dist/types/packages/dialog/config.d.ts +3 -3
  150. package/dist/types/packages/dialog/dialogwrap.d.ts +1 -1
  151. package/dist/types/packages/dialog/index.d.ts +1 -1
  152. package/dist/types/packages/empty/empty.d.ts +1 -1
  153. package/dist/types/packages/fixednav/fixednav.d.ts +1 -1
  154. package/dist/types/packages/fixednav/fixednav.taro.d.ts +1 -1
  155. package/dist/types/packages/form/form.d.ts +1 -1
  156. package/dist/types/packages/form/form.taro.d.ts +1 -1
  157. package/dist/types/packages/form/index.d.ts +1 -1
  158. package/dist/types/packages/form/index.taro.d.ts +1 -1
  159. package/dist/types/packages/menu/menu.d.ts +1 -1
  160. package/dist/types/packages/menu/menu.taro.d.ts +1 -1
  161. package/dist/types/packages/noticebar/index.d.ts +1 -0
  162. package/dist/types/packages/noticebar/noticebar.d.ts +2 -0
  163. package/dist/types/packages/noticebar/noticebar.taro.d.ts +6 -0
  164. package/dist/types/packages/noticebar/types.d.ts +1 -0
  165. package/dist/types/packages/numberkeyboard/numberkeyboard.d.ts +1 -1
  166. package/dist/types/packages/numberkeyboard/numberkeyboard.taro.d.ts +1 -1
  167. package/dist/types/packages/nutui.react.build.d.ts +98 -98
  168. package/dist/types/packages/nutui.react.d.ts +98 -98
  169. package/dist/types/packages/nutui.react.taro.d.ts +98 -98
  170. package/dist/types/packages/picker/picker.d.ts +1 -1
  171. package/dist/types/packages/picker/picker.taro.d.ts +1 -1
  172. package/dist/types/packages/popover/index.d.ts +2 -1
  173. package/dist/types/packages/popover/index.taro.d.ts +2 -1
  174. package/dist/types/packages/popover/popover.d.ts +3 -13
  175. package/dist/types/packages/popover/popover.taro.d.ts +3 -13
  176. package/dist/types/packages/popover/types.d.ts +14 -0
  177. package/dist/types/packages/popup/popup.d.ts +1 -1
  178. package/dist/types/packages/popup/popup.taro.d.ts +1 -1
  179. package/dist/types/packages/radio/radio.d.ts +2 -2
  180. package/dist/types/packages/radio/radio.taro.d.ts +2 -2
  181. package/dist/types/packages/shortpassword/shortpassword.d.ts +1 -1
  182. package/dist/types/packages/shortpassword/shortpassword.taro.d.ts +1 -1
  183. package/dist/types/packages/swiper/index.d.ts +1 -1
  184. package/dist/types/packages/swiper/index.taro.d.ts +1 -1
  185. package/dist/types/packages/table/useTableSticky.d.ts +1 -1
  186. package/dist/types/packages/tabs/tabs.d.ts +1 -1
  187. package/dist/types/packages/tabs/tabs.taro.d.ts +1 -1
  188. package/dist/types/packages/timedetail/timedetail.d.ts +1 -1
  189. package/dist/types/packages/timedetail/timedetail.taro.d.ts +1 -1
  190. package/dist/types/packages/toast/toast.taro.d.ts +8 -4
  191. package/dist/types/packages/tour/tour.d.ts +1 -1
  192. package/dist/types/packages/tour/tour.taro.d.ts +1 -1
  193. package/package.json +1 -1
@@ -2,7 +2,7 @@
2
2
  typeof exports === "object" && typeof module !== "undefined" ? factory(exports, require("react"), require("@tarojs/taro"), require("@tarojs/components"), require("react-dom")) : typeof define === "function" && define.amd ? define(["exports", "react", "@tarojs/taro", "@tarojs/components", "react-dom"], factory) : (global2 = typeof globalThis !== "undefined" ? globalThis : global2 || self, factory((global2.nutui = global2.nutui || {}, global2.nutui.react = {}), global2.React, global2.Taro, global2.components, global2.ReactDOM));
3
3
  })(this, function(exports2, React, Taro, components, ReactDOM) {
4
4
  "use strict";/*!
5
- * @nutui/nutui-react-taro v2.3.12 Fri Mar 01 2024 16:07:31 GMT+0800 (China Standard Time)
5
+ * @nutui/nutui-react-taro v2.4.0 Fri Mar 08 2024 14:36:52 GMT+0800 (China Standard Time)
6
6
  * (c) 2023 @jdf2e.
7
7
  * Released under the MIT License.
8
8
  */
@@ -4950,6 +4950,7 @@
4950
4950
  };
4951
4951
  const Badge = (props) => {
4952
4952
  var _a;
4953
+ const rtl = useRtl();
4953
4954
  const { className, style, value, max, children, dot, top, right: right2, color } = {
4954
4955
  ...defaultProps$1d,
4955
4956
  ...props
@@ -4987,7 +4988,8 @@
4987
4988
  const getStyle = () => {
4988
4989
  const style2 = {};
4989
4990
  style2.top = `${Number(top) || parseFloat(String(top)) || 0}px`;
4990
- style2.right = `${Number(right2) || parseFloat(String(right2)) || 0}px`;
4991
+ const dir = rtl ? "left" : "right";
4992
+ style2[dir] = `${Number(right2) || parseFloat(String(right2)) || 0}px`;
4991
4993
  style2.background = color;
4992
4994
  return style2;
4993
4995
  };
@@ -5295,7 +5297,7 @@
5295
5297
  }
5296
5298
  animate();
5297
5299
  };
5298
- const scrollIntoView = () => {
5300
+ const scrollIntoView = (index) => {
5299
5301
  requestAniFrame$1(() => {
5300
5302
  Promise.all([
5301
5303
  getRect2(`#nut-tabs-titles-${name || uuid} .nut-tabs-list`),
@@ -5303,20 +5305,20 @@
5303
5305
  ]).then(([navRect, titleRects]) => {
5304
5306
  navRectRef.current = navRect;
5305
5307
  titleRectRef.current = titleRects;
5306
- const titleRect = titleRectRef.current[value];
5308
+ const titleRect = titleRectRef.current[index];
5307
5309
  if (!titleRect)
5308
5310
  return;
5309
5311
  let to = 0;
5310
5312
  if (props.direction === "vertical") {
5311
5313
  const DEFAULT_PADDING = 11;
5312
- const top = titleRects.slice(0, value).reduce(
5314
+ const top = titleRects.slice(0, index).reduce(
5313
5315
  (prev, curr) => prev + curr.height,
5314
5316
  DEFAULT_PADDING
5315
5317
  );
5316
5318
  to = top - (navRectRef.current.height - titleRect.height) / 2;
5317
5319
  } else {
5318
5320
  const DEFAULT_PADDING = 20;
5319
- const left2 = titleRects.slice(0, value).reduce(
5321
+ const left2 = titleRects.slice(0, index).reduce(
5320
5322
  (prev, curr) => prev + curr.width,
5321
5323
  DEFAULT_PADDING
5322
5324
  );
@@ -5335,7 +5337,7 @@
5335
5337
  transform: direction === "horizontal" ? `translate3d(-${index * 100}%, 0, 0)` : `translate3d( 0,-${index * 100}%, 0)`,
5336
5338
  transitionDuration: `${duration}ms`
5337
5339
  });
5338
- scrollIntoView();
5340
+ scrollIntoView(index);
5339
5341
  }, [value]);
5340
5342
  const tabChange = (item, index) => {
5341
5343
  onClick && onClick(item.value);
@@ -7559,6 +7561,7 @@
7559
7561
  const defaultProps$11 = {
7560
7562
  max: void 0,
7561
7563
  min: void 0,
7564
+ list: false,
7562
7565
  labelPosition: "right",
7563
7566
  direction: "vertical",
7564
7567
  onChange: (value) => {
@@ -7574,6 +7577,7 @@
7574
7577
  children,
7575
7578
  className,
7576
7579
  disabled,
7580
+ list,
7577
7581
  onChange,
7578
7582
  value,
7579
7583
  defaultValue,
@@ -7637,6 +7641,7 @@
7637
7641
  labelPosition: labelPosition || "right",
7638
7642
  disabled,
7639
7643
  max,
7644
+ list,
7640
7645
  onLimit,
7641
7646
  value: _value,
7642
7647
  check: (value2) => {
@@ -7663,7 +7668,8 @@
7663
7668
  className: classNames(
7664
7669
  classPrefix$j,
7665
7670
  {
7666
- [`nut-checkboxgroup-${props.direction}`]: props.direction
7671
+ [`nut-checkboxgroup-${props.direction}`]: props.direction,
7672
+ [`nut-checkboxgroup-list`]: list
7667
7673
  },
7668
7674
  className
7669
7675
  ),
@@ -7763,6 +7769,9 @@
7763
7769
  if (innerChecked && !innerIndeterminate) {
7764
7770
  return `${cls}${classPrefix$i}-icon-checked ${classPrefix$i}-icon-disabled`;
7765
7771
  }
7772
+ if (innerChecked && innerIndeterminate) {
7773
+ return `${cls}${classPrefix$i}-icon-indeterminate ${classPrefix$i}-icon-disabled`;
7774
+ }
7766
7775
  return `${cls}${classPrefix$i}-icon-disabled`;
7767
7776
  }
7768
7777
  if (innerChecked) {
@@ -7792,7 +7801,7 @@
7792
7801
  };
7793
7802
  const renderButton = () => {
7794
7803
  return /* @__PURE__ */ React.createElement(
7795
- "div",
7804
+ components.View,
7796
7805
  {
7797
7806
  className: classNames(`${classPrefix$i}-button`, {
7798
7807
  [`${classPrefix$i}-button-active`]: innerChecked,
@@ -7800,17 +7809,23 @@
7800
7809
  })
7801
7810
  },
7802
7811
  children || label,
7803
- innerChecked && activeIcon ? /* @__PURE__ */ React.createElement("div", { className: classNames(`${classPrefix$i}-button-icon`) }, activeIcon) : null
7812
+ innerChecked && activeIcon ? /* @__PURE__ */ React.createElement(components.View, { className: classNames(`${classPrefix$i}-button-icon`) }, activeIcon) : null
7804
7813
  );
7805
7814
  };
7815
+ const renderListItem = () => {
7816
+ return /* @__PURE__ */ React.createElement(components.View, { className: "nut-checkbox-list-item" }, renderLabel(), renderIcon());
7817
+ };
7806
7818
  const renderCheckboxItem = () => {
7819
+ if (ctx == null ? void 0 : ctx.list) {
7820
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, renderListItem());
7821
+ }
7807
7822
  if (shape === "button") {
7808
7823
  return renderButton();
7809
7824
  }
7810
7825
  return /* @__PURE__ */ React.createElement(React.Fragment, null, renderIcon(), renderLabel());
7811
7826
  };
7812
7827
  return /* @__PURE__ */ React.createElement(
7813
- "div",
7828
+ components.View,
7814
7829
  {
7815
7830
  className: classNames(
7816
7831
  classPrefix$i,
@@ -8637,7 +8652,7 @@
8637
8652
  } else {
8638
8653
  cmin++;
8639
8654
  }
8640
- if (cmin <= val) {
8655
+ if (cmin <= Number(val)) {
8641
8656
  index++;
8642
8657
  }
8643
8658
  }
@@ -10533,7 +10548,7 @@
10533
10548
  );
10534
10549
  const nextValue = bound2(shouldOverBoundary, Number(min), Number(max));
10535
10550
  setShadowValue(nextValue);
10536
- if (negative ? shouldOverBoundary < min : shouldOverBoundary > max) {
10551
+ if (negative ? shouldOverBoundary < Number(min) : shouldOverBoundary > Number(max)) {
10537
10552
  onOverlimit == null ? void 0 : onOverlimit(e2);
10538
10553
  } else {
10539
10554
  onChange == null ? void 0 : onChange(nextValue, e2);
@@ -13079,7 +13094,7 @@
13079
13094
  const handleItemClick = (file, index) => {
13080
13095
  onFileItemClick == null ? void 0 : onFileItemClick(file, index);
13081
13096
  };
13082
- return /* @__PURE__ */ React.createElement("div", { className: classes, ...restProps }, (children || previewType === "list") && /* @__PURE__ */ React.createElement("div", { className: "nut-uploader-slot" }, /* @__PURE__ */ React.createElement(React.Fragment, null, children || /* @__PURE__ */ React.createElement(Button, { size: "small", type: "primary" }, "上传文件"), maxCount > fileList.length && /* @__PURE__ */ React.createElement(Button, { className: "nut-uploader-input", onClick: _chooseImage }))), /* @__PURE__ */ React.createElement(
13097
+ return /* @__PURE__ */ React.createElement("div", { className: classes, ...restProps }, (children || previewType === "list") && /* @__PURE__ */ React.createElement("div", { className: "nut-uploader-slot" }, /* @__PURE__ */ React.createElement(React.Fragment, null, children || /* @__PURE__ */ React.createElement(Button, { size: "small", type: "primary" }, "上传文件"), Number(maxCount) > fileList.length && /* @__PURE__ */ React.createElement(Button, { className: "nut-uploader-input", onClick: _chooseImage }))), /* @__PURE__ */ React.createElement(
13083
13098
  Preview,
13084
13099
  {
13085
13100
  ...{
@@ -13092,7 +13107,7 @@
13092
13107
  children
13093
13108
  }
13094
13109
  }
13095
- ), maxCount > fileList.length && previewType === "picture" && !children && /* @__PURE__ */ React.createElement(
13110
+ ), Number(maxCount) > fileList.length && previewType === "picture" && !children && /* @__PURE__ */ React.createElement(
13096
13111
  "div",
13097
13112
  {
13098
13113
  className: `nut-uploader-upload ${previewType} ${disabled ? "nut-uploader-upload-disabled" : ""}`
@@ -13291,6 +13306,7 @@
13291
13306
  const BaseDialog = (props) => {
13292
13307
  const classPrefix2 = "nut-dialog";
13293
13308
  const { locale } = useConfig$1();
13309
+ const [loading, setLoading] = React.useState(false);
13294
13310
  const {
13295
13311
  params: {
13296
13312
  id,
@@ -13345,10 +13361,16 @@
13345
13361
  onClose == null ? void 0 : onClose();
13346
13362
  onCancel == null ? void 0 : onCancel();
13347
13363
  };
13348
- const handleOk = (e2) => {
13364
+ const handleOk = async (e2) => {
13349
13365
  e2.stopPropagation();
13350
- onClose == null ? void 0 : onClose();
13351
- onConfirm == null ? void 0 : onConfirm(e2);
13366
+ setLoading(true);
13367
+ try {
13368
+ await (onConfirm == null ? void 0 : onConfirm(e2));
13369
+ setLoading(false);
13370
+ onClose == null ? void 0 : onClose();
13371
+ } catch {
13372
+ setLoading(false);
13373
+ }
13352
13374
  };
13353
13375
  return footer || /* @__PURE__ */ React.createElement(React.Fragment, null, !hideCancelButton && /* @__PURE__ */ React.createElement(
13354
13376
  Button,
@@ -13366,7 +13388,8 @@
13366
13388
  disabled: disableConfirmButton
13367
13389
  }),
13368
13390
  disabled: disableConfirmButton,
13369
- onClick: (e2) => handleOk(e2)
13391
+ onClick: (e2) => handleOk(e2),
13392
+ loading
13370
13393
  },
13371
13394
  confirmText || locale.confirm
13372
13395
  ));
@@ -13806,6 +13829,7 @@
13806
13829
  Loading.displayName = "NutLoading";
13807
13830
  const defaultProps$B = {
13808
13831
  ...ComponentDefaults,
13832
+ align: "left",
13809
13833
  direction: "horizontal",
13810
13834
  list: [],
13811
13835
  duration: 1e3,
@@ -13820,10 +13844,12 @@
13820
13844
  speed: 50
13821
13845
  };
13822
13846
  const NoticeBar = (props) => {
13847
+ const rtl = useRtl();
13823
13848
  const {
13824
13849
  children,
13825
13850
  className,
13826
13851
  style,
13852
+ align,
13827
13853
  direction,
13828
13854
  list,
13829
13855
  duration,
@@ -13930,7 +13956,7 @@
13930
13956
  const contentRes = await getRectByTaro(contentRef.current);
13931
13957
  const wrapW = warpRes.width;
13932
13958
  const offsetW = contentRes.width;
13933
- const canScroll = scrollable == null ? offsetW > wrapW : scrollable;
13959
+ const canScroll = align === "left" && scrollable == null ? offsetW > wrapW : scrollable;
13934
13960
  SetIsCanScroll(canScroll);
13935
13961
  if (canScroll) {
13936
13962
  SetWrapWidth(wrapW);
@@ -13981,7 +14007,7 @@
13981
14007
  onClose && onClose(event);
13982
14008
  };
13983
14009
  const isEllipsis = () => {
13984
- if (isCanScroll == null) {
14010
+ if (isCanScroll == null && align === "left") {
13985
14011
  return wrap;
13986
14012
  }
13987
14013
  return !isCanScroll && !wrap;
@@ -13989,7 +14015,7 @@
13989
14015
  const contentStyle = {
13990
14016
  animationDelay: `${firstRound ? delay : 0}s`,
13991
14017
  animationDuration: `${animationDuration}s`,
13992
- transform: `translateX(${firstRound ? 0 : `${wrapWidth}px`})`
14018
+ transform: `translateX(${firstRound ? 0 : `${rtl ? -wrapWidth : wrapWidth}px`})`
13993
14019
  };
13994
14020
  const barStyle = {
13995
14021
  height: isVertical ? `${height}px` : ""
@@ -14135,16 +14161,18 @@
14135
14161
  }
14136
14162
  };
14137
14163
  const noticebarClass = classNames({
14138
- "nut-noticebar-box": true,
14139
- [`nut-noticebar-box-wrapable`]: wrap
14164
+ [`${classPrefix2}-box`]: true,
14165
+ [`${classPrefix2}-box-wrapable`]: wrap,
14166
+ [`${classPrefix2}-box-${align}`]: true
14140
14167
  });
14168
+ const cls = classNames(classPrefix2, className);
14141
14169
  React.useEffect(() => {
14142
14170
  return () => {
14143
14171
  stopAutoPlay();
14144
14172
  };
14145
14173
  }, []);
14146
- 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: "nut-noticebar-box-left-icon" }, leftIcon) : null, /* @__PURE__ */ React.createElement("div", { ref: wrapRef, className: "nut-noticebar-box-wrap" }, /* @__PURE__ */ React.createElement(
14147
- "div",
14174
+ return /* @__PURE__ */ React.createElement(components.View, { className: cls, style }, showNoticeBar && direction === "horizontal" ? /* @__PURE__ */ React.createElement(components.View, { className: noticebarClass, style: barStyle, onClick: handleClick }, leftIcon ? /* @__PURE__ */ React.createElement(components.View, { className: "nut-noticebar-box-left-icon" }, leftIcon) : null, /* @__PURE__ */ React.createElement(components.View, { ref: wrapRef, className: "nut-noticebar-box-wrap" }, /* @__PURE__ */ React.createElement(
14175
+ components.View,
14148
14176
  {
14149
14177
  ref: contentRef,
14150
14178
  className: `nut-noticebar-box-wrap-content ${animationClass} ${isEllipsis() ? "nut-ellipsis" : ""}`,
@@ -14153,18 +14181,25 @@
14153
14181
  },
14154
14182
  children,
14155
14183
  content
14156
- )), closeable || rightIcon ? /* @__PURE__ */ React.createElement("div", { className: "nut-noticebar-box-right-icon", onClick: onClickIcon }, rightIcon || /* @__PURE__ */ React.createElement(A$1, { size: 12 })) : null) : null, showNoticeBar && scrollList.current.length > 0 && isVertical ? /* @__PURE__ */ React.createElement(
14157
- "div",
14184
+ )), closeable || rightIcon ? /* @__PURE__ */ React.createElement(
14185
+ components.View,
14186
+ {
14187
+ className: "nut-noticebar-box-right-icon",
14188
+ onClick: onClickIcon
14189
+ },
14190
+ rightIcon || /* @__PURE__ */ React.createElement(A$1, { size: 12 })
14191
+ ) : null) : null, showNoticeBar && scrollList.current.length > 0 && isVertical ? /* @__PURE__ */ React.createElement(
14192
+ components.View,
14158
14193
  {
14159
14194
  className: "nut-noticebar-vertical",
14160
14195
  style: barStyle,
14161
14196
  ref: container,
14162
14197
  onClick: handleClick
14163
14198
  },
14164
- leftIcon ? /* @__PURE__ */ React.createElement("div", { className: "nut-noticebar-box-left-icon" }, leftIcon) : null,
14165
- children ? /* @__PURE__ */ React.createElement("div", { className: "nut-noticebar-box-wrap", ref: innerRef }, scrollList.current.map((item, index) => {
14199
+ leftIcon ? /* @__PURE__ */ React.createElement(components.View, { className: "nut-noticebar-box-left-icon" }, leftIcon) : null,
14200
+ children ? /* @__PURE__ */ React.createElement(components.View, { className: "nut-noticebar-box-wrap", ref: innerRef }, scrollList.current.map((item, index) => {
14166
14201
  return /* @__PURE__ */ React.createElement(
14167
- "div",
14202
+ components.View,
14168
14203
  {
14169
14204
  style: itemStyle(index),
14170
14205
  key: index,
@@ -14175,7 +14210,7 @@
14175
14210
  item
14176
14211
  );
14177
14212
  })) : /* @__PURE__ */ React.createElement(
14178
- "div",
14213
+ components.View,
14179
14214
  {
14180
14215
  className: "nut-noticebar-box-horseLamp-list",
14181
14216
  style: horseLampStyle
@@ -14184,7 +14219,7 @@
14184
14219
  return (
14185
14220
  // eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions
14186
14221
  /* @__PURE__ */ React.createElement(
14187
- "div",
14222
+ components.View,
14188
14223
  {
14189
14224
  className: "nut-noticebar-box-horseLamp-list-item",
14190
14225
  style: { height },
@@ -14199,7 +14234,7 @@
14199
14234
  })
14200
14235
  ),
14201
14236
  /* @__PURE__ */ React.createElement(
14202
- "div",
14237
+ components.View,
14203
14238
  {
14204
14239
  className: "nut-noticebar-box-right-icon",
14205
14240
  onClick: (e2) => {
@@ -14316,6 +14351,7 @@
14316
14351
  const defaultProps$z = {
14317
14352
  ...ComponentDefaults,
14318
14353
  list: [],
14354
+ theme: "light",
14319
14355
  location: "bottom",
14320
14356
  visible: false,
14321
14357
  offset: [0, 12],
@@ -14323,9 +14359,9 @@
14323
14359
  targetId: "",
14324
14360
  className: "",
14325
14361
  showArrow: true,
14326
- overlay: false,
14327
14362
  closeOnOutsideClick: true,
14328
14363
  closeOnActionClick: true,
14364
+ overlay: false,
14329
14365
  onClick: () => {
14330
14366
  },
14331
14367
  onOpen: () => {
@@ -14338,16 +14374,17 @@
14338
14374
  const {
14339
14375
  children,
14340
14376
  list,
14377
+ theme,
14341
14378
  location,
14342
14379
  visible,
14343
14380
  offset,
14381
+ arrowOffset,
14344
14382
  targetId,
14345
14383
  overlay,
14346
14384
  closeOnOutsideClick,
14347
14385
  closeOnActionClick,
14348
14386
  className,
14349
14387
  showArrow,
14350
- arrowOffset,
14351
14388
  style,
14352
14389
  onClick,
14353
14390
  onOpen,
@@ -14419,7 +14456,8 @@
14419
14456
  };
14420
14457
  const classes = classNames(
14421
14458
  {
14422
- [`${classPrefix$c}`]: true
14459
+ [`${classPrefix$c}`]: true,
14460
+ [`${classPrefix$c}-${theme}`]: theme === "dark"
14423
14461
  },
14424
14462
  className
14425
14463
  );
@@ -14527,11 +14565,12 @@
14527
14565
  className: "nut-popover-wrapper",
14528
14566
  ref: popoverRef,
14529
14567
  onClick: () => {
14530
- props.onClick && props.onClick();
14568
+ var _a;
14569
+ (_a = props == null ? void 0 : props.onClick) == null ? void 0 : _a.call(props);
14531
14570
  if (!visible) {
14532
- onOpen && onOpen();
14571
+ onOpen == null ? void 0 : onOpen();
14533
14572
  } else {
14534
- onClose && onClose();
14573
+ onClose == null ? void 0 : onClose();
14535
14574
  }
14536
14575
  },
14537
14576
  style
@@ -15150,6 +15189,7 @@
15150
15189
  id: "",
15151
15190
  icon: null,
15152
15191
  iconSize: "20",
15192
+ content: "",
15153
15193
  msg: "",
15154
15194
  duration: 2,
15155
15195
  // 时长,duration为0则一直展示
@@ -15177,6 +15217,7 @@
15177
15217
  contentStyle,
15178
15218
  icon,
15179
15219
  iconSize,
15220
+ content,
15180
15221
  msg,
15181
15222
  duration,
15182
15223
  type: type2,
@@ -15288,7 +15329,7 @@
15288
15329
  },
15289
15330
  hasIcon() ? /* @__PURE__ */ React.createElement("p", { className: `${classPrefix$9}-icon-wrapper` }, iconName()) : null,
15290
15331
  title ? /* @__PURE__ */ React.createElement("div", { className: `${classPrefix$9}-title` }, title) : null,
15291
- /* @__PURE__ */ React.createElement("span", { className: `${classPrefix$9}-text` }, msg)
15332
+ /* @__PURE__ */ React.createElement("span", { className: `${classPrefix$9}-text` }, content || msg)
15292
15333
  ))
15293
15334
  ) : null);
15294
15335
  };
@@ -16052,7 +16093,7 @@
16052
16093
  if (!timeStr)
16053
16094
  return Date.now();
16054
16095
  let t2 = timeStr;
16055
- t2 = t2 > 0 ? +t2 : t2.toString().replace(/-/g, "/");
16096
+ t2 = Number(t2) > 0 ? +t2 : t2.toString().replace(/-/g, "/");
16056
16097
  return new Date(t2).getTime();
16057
16098
  };
16058
16099
  const initTime = () => {
@@ -17274,7 +17315,7 @@
17274
17315
  };
17275
17316
  Steps.defaultProps = defaultProps$c;
17276
17317
  Steps.displayName = "NutSteps";
17277
- function useTableSticky(columns) {
17318
+ function useTableSticky(columns, rtl = false) {
17278
17319
  const [isSticky, setIsSticky] = React.useState(false);
17279
17320
  const [stickyColumnStyleMap, setStickyColumnStyleMap] = React.useState({});
17280
17321
  const [stickyColumnClassMap, setStickyColumnClassMap] = React.useState({});
@@ -17289,9 +17330,9 @@
17289
17330
  let _stickyLeftWidth = 0;
17290
17331
  let _stickyRightWidth = 0;
17291
17332
  leftColumns.forEach((curr, index) => {
17292
- leftColumns[index - 1] || {};
17333
+ const dir = rtl ? "right" : "left";
17293
17334
  _columnStyleMap[curr.key] = {
17294
- left: _stickyLeftWidth || 0,
17335
+ [dir]: _stickyLeftWidth || 0,
17295
17336
  width: curr.width || "auto"
17296
17337
  };
17297
17338
  _columnClassMap[curr.key] = {
@@ -17307,9 +17348,9 @@
17307
17348
  });
17308
17349
  for (let i2 = rightColumns.length - 1; i2 >= 0; i2--) {
17309
17350
  const curr = rightColumns[i2];
17310
- rightColumns[i2 + 1] || {};
17351
+ const dir = rtl ? "left" : "right";
17311
17352
  _columnStyleMap[curr.key] = {
17312
- right: _stickyRightWidth || 0,
17353
+ [dir]: _stickyRightWidth || 0,
17313
17354
  width: curr.width || "auto"
17314
17355
  };
17315
17356
  _columnClassMap[curr.key] = {
@@ -17356,6 +17397,7 @@
17356
17397
  };
17357
17398
  const Table = (props) => {
17358
17399
  const { locale } = useConfig$1();
17400
+ const rtl = useRtl();
17359
17401
  defaultProps$b.noData = locale.noData;
17360
17402
  const {
17361
17403
  children,
@@ -17386,7 +17428,7 @@
17386
17428
  stickyRightWidth,
17387
17429
  getStickyClass,
17388
17430
  getStickyStyle
17389
- } = useTableSticky(columns);
17431
+ } = useTableSticky(columns, rtl);
17390
17432
  React.useEffect(() => {
17391
17433
  setValue(data);
17392
17434
  }, [data]);
@@ -17899,11 +17941,9 @@
17899
17941
  }
17900
17942
  });
17901
17943
  };
17902
- const clientHeight = Taro.getSystemInfoSync().windowHeight - 5 || 667;
17903
17944
  const defaultProps$7 = {
17904
17945
  ...ComponentDefaults,
17905
17946
  list: [],
17906
- containerHeight: clientHeight,
17907
17947
  itemHeight: 66,
17908
17948
  margin: 10,
17909
17949
  itemEqual: true,
@@ -17920,12 +17960,20 @@
17920
17960
  key,
17921
17961
  onScroll,
17922
17962
  className,
17923
- containerHeight,
17963
+ containerHeight: origContainerHeight,
17924
17964
  ...rest
17925
17965
  } = {
17926
17966
  ...defaultProps$7,
17927
17967
  ...props
17928
17968
  };
17969
+ const clientHeight = React.useMemo(
17970
+ () => Taro.getSystemInfoSync().windowHeight - 5 || 667,
17971
+ []
17972
+ );
17973
+ const containerHeight = React.useMemo(
17974
+ () => origContainerHeight ?? clientHeight,
17975
+ [origContainerHeight, clientHeight]
17976
+ );
17929
17977
  const [startOffset, setStartOffset] = React.useState(0);
17930
17978
  const start = React.useRef(0);
17931
17979
  const scrollRef = React.useRef(null);
@@ -3,6 +3,7 @@
3
3
  display: inline-flex;
4
4
  height: $countup-height;
5
5
  overflow: hidden;
6
+ direction: ltr;
6
7
  }
7
8
 
8
9
  &-listitem {
@@ -38,6 +38,8 @@
38
38
  border: $badge-border;
39
39
  border-radius: $badge-border-radius;
40
40
  min-width: $badge-min-width;
41
+ white-space: nowrap;
42
+ z-index: 1;
41
43
  }
42
44
 
43
45
  &-one {
@@ -118,6 +118,23 @@
118
118
  color: $white;
119
119
  border: 1px solid $color-text-disabled;
120
120
  }
121
+
122
+ &-list-item {
123
+ width: 100%;
124
+ display: flex;
125
+ justify-content: flex-start;
126
+ align-items: center;
127
+ padding: $checkbox-list-item-padding;
128
+ border-top: $checkbox-list-item-border;
129
+
130
+ .nut-checkbox-label {
131
+ flex: auto;
132
+ }
133
+
134
+ .nut-icon {
135
+ flex: none;
136
+ }
137
+ }
121
138
  }
122
139
 
123
140
  [dir='rtl'] .nut-checkbox,
@@ -140,11 +157,13 @@
140
157
  left: 0;
141
158
  border-right: 10px solid transparent;
142
159
  border-left: 10px solid $color-primary;
160
+
143
161
  &-checked {
144
162
  left: auto;
145
163
  right: 50%;
146
164
  transform: translate(3px, -3px);
147
165
  }
166
+
148
167
  .nut-icon {
149
168
  &:before {
150
169
  margin-left: 0;
@@ -8,6 +8,7 @@
8
8
  &-vertical {
9
9
  .nut-checkbox {
10
10
  margin-bottom: 5px;
11
+
11
12
  &.nut-checkbox-reverse {
12
13
  width: 100%;
13
14
  justify-content: space-between;
@@ -31,7 +32,31 @@
31
32
  }
32
33
  }
33
34
  }
35
+
36
+ &-list {
37
+ width: 100%;
38
+ border-bottom: $checkbox-list-item-border;
39
+ border-top: $checkbox-list-item-border;
40
+ padding: $checkbox-list-padding;
41
+ background: $checkbox-list-background-color;
42
+
43
+ .nut-checkbox {
44
+ margin-bottom: 5px;
45
+
46
+ &:first-child {
47
+ .nut-checkbox-list-item {
48
+ border-top: none;
49
+ }
50
+ }
51
+
52
+ &.nut-checkbox-reverse {
53
+ width: 100%;
54
+ justify-content: space-between;
55
+ }
56
+ }
57
+ }
34
58
  }
59
+
35
60
  [dir='rtl'] .nut-checkboxgroup,
36
61
  .nut-rtl .nut-checkboxgroup {
37
62
  .nut-checkbox {
@@ -62,7 +62,7 @@
62
62
 
63
63
  &-icon-box {
64
64
  display: flex;
65
- padding-right: 40px;
65
+ width: 24px;
66
66
  position: relative;
67
67
  color: $color-text;
68
68
  }
@@ -107,11 +107,6 @@
107
107
  }
108
108
  [dir='rtl'] .nut-collapse-item,
109
109
  .nut-rtl .nut-collapse-item {
110
- &-icon-box {
111
- padding-right: 0;
112
- padding-left: 40px;
113
- }
114
-
115
110
  &-icon {
116
111
  left: auto;
117
112
  right: 5px;
@@ -17,7 +17,6 @@
17
17
  &-outer {
18
18
  position: fixed;
19
19
  max-height: 100%;
20
- overflow-y: auto;
21
20
  background-color: $white;
22
21
  transition:
23
22
  transform 0.2s,
@@ -52,6 +51,13 @@
52
51
  left: $dialog-close-left;
53
52
  }
54
53
 
54
+ &-bottom {
55
+ top: initial;
56
+ bottom: -56px;
57
+ left: 50%;
58
+ transform: translate(-50%);
59
+ }
60
+
55
61
  &:active {
56
62
  opacity: 0.7;
57
63
  }
@@ -77,6 +83,7 @@
77
83
  word-break: break-all;
78
84
  white-space: pre-wrap;
79
85
  text-align: $dialog-content-text-align;
86
+ overflow-y: auto;
80
87
  }
81
88
 
82
89
  &-footer {