@nutui/nutui-react 2.0.15 → 2.0.17-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 (73) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/dist/esm/Audio.js +1 -2
  3. package/dist/esm/Avatar.js +2 -2
  4. package/dist/esm/AvatarGroup.js +1 -1
  5. package/dist/esm/Cell.js +5 -3
  6. package/dist/esm/CellGroup.js +6 -1
  7. package/dist/esm/Dialog.js +4 -3
  8. package/dist/esm/Form/style/style.css +1 -1
  9. package/dist/esm/Form.js +65 -10
  10. package/dist/esm/FormItem/style/style.css +1 -1
  11. package/dist/esm/InputNumber.js +2 -2
  12. package/dist/esm/Picker.js +4 -6
  13. package/dist/esm/SideNavBar.js +1 -1
  14. package/dist/esm/Step.js +1 -1
  15. package/dist/esm/Steps.js +1 -1
  16. package/dist/esm/SubSideNavBar.js +1 -1
  17. package/dist/esm/Swiper.js +1 -1
  18. package/dist/esm/SwiperItem.js +1 -1
  19. package/dist/esm/Table.js +4 -4
  20. package/dist/esm/VirtualList.js +3 -4
  21. package/dist/esm/cascader2.js +3 -3
  22. package/dist/esm/context.js +2 -16
  23. package/dist/esm/context2.js +16 -2
  24. package/dist/esm/context3.js +2 -2
  25. package/dist/esm/context5.js +5 -0
  26. package/dist/esm/formitem2.js +29 -9
  27. package/dist/esm/overlay2.js +4 -1
  28. package/dist/esm/popup2.js +3 -0
  29. package/dist/esm/types/src/packages/cascader/cascader.d.ts +2 -1
  30. package/dist/esm/types/src/packages/cascader/cascader.taro.d.ts +2 -1
  31. package/dist/esm/types/src/packages/cellgroup/context.d.ts +5 -0
  32. package/dist/esm/types/src/packages/dialog/config.d.ts +2 -1
  33. package/dist/esm/types/src/packages/dialog/content.taro.d.ts +2 -1
  34. package/dist/esm/types/src/packages/form/form.d.ts +4 -8
  35. package/dist/esm/types/src/packages/form/form.taro.d.ts +4 -8
  36. package/dist/esm/types/src/packages/form/index.d.ts +11 -2
  37. package/dist/esm/types/src/packages/form/index.taro.d.ts +11 -2
  38. package/dist/esm/types/src/packages/form/types.d.ts +2 -0
  39. package/dist/esm/types/src/packages/formitem/formitem.d.ts +1 -0
  40. package/dist/esm/types/src/packages/formitem/formitem.taro.d.ts +1 -0
  41. package/dist/esm/types/src/packages/swipe/swipe.taro.d.ts +5 -4
  42. package/dist/esm/types/src/packages/table/types.d.ts +1 -1
  43. package/dist/esm/types/src/packages/toast/toast.taro.d.ts +3 -6
  44. package/dist/esm/types/src/packages/virtuallist/utils.d.ts +1 -1
  45. package/dist/esm/types/src/utils/get-rect-by-taro.d.ts +12 -0
  46. package/dist/esm/types/src/utils/use-client-rect.d.ts +3 -9
  47. package/dist/esm/types/src/utils/use-custom-event.d.ts +1 -1
  48. package/dist/esm/types/src/utils/use-uuid.d.ts +1 -0
  49. package/dist/locales/src/locales/base.js +5 -0
  50. package/dist/locales/{en-US.js → src/locales/en-US.js} +1 -1
  51. package/dist/locales/{id-ID.js → src/locales/id-ID.js} +1 -1
  52. package/dist/locales/{tr-TR.js → src/locales/tr-TR.js} +1 -1
  53. package/dist/locales/{zh-CN.js → src/locales/zh-CN.js} +1 -1
  54. package/dist/locales/{zh-TW.js → src/locales/zh-TW.js} +1 -1
  55. package/dist/locales/{zh-UG.js → src/locales/zh-UG.js} +1 -1
  56. package/dist/nutui.react.es.js +254 -127
  57. package/dist/nutui.react.umd.js +254 -127
  58. package/dist/packages/form/form.scss +9 -1
  59. package/dist/packages/formitem/formitem.scss +0 -11
  60. package/dist/style.css +1 -1
  61. package/dist/style.mjs +1 -1
  62. package/dist/types/packages/cascader/cascader.d.ts +2 -1
  63. package/dist/types/packages/cellgroup/context.d.ts +5 -0
  64. package/dist/types/packages/dialog/config.d.ts +2 -1
  65. package/dist/types/packages/form/form.d.ts +4 -8
  66. package/dist/types/packages/form/index.d.ts +11 -2
  67. package/dist/types/packages/form/types.d.ts +2 -0
  68. package/dist/types/packages/formitem/formitem.d.ts +5 -0
  69. package/dist/types/packages/table/types.d.ts +1 -1
  70. package/dist/types/packages/virtuallist/utils.d.ts +1 -1
  71. package/dist/types/utils/use-client-rect.d.ts +3 -9
  72. package/package.json +1 -1
  73. package/dist/locales/base.js +0 -5
@@ -9,7 +9,7 @@ var __publicField = (obj, key, value) => {
9
9
  return value;
10
10
  };
11
11
  /*!
12
- * @nutui/nutui-react v2.0.15 Wed Aug 30 2023 14:04:32 GMT+0800 (China Standard Time)
12
+ * @nutui/nutui-react v2.0.17 Wed Sep 13 2023 16:45:40 GMT+0800 (中国标准时间)
13
13
  * (c) 2023 @jdf2e.
14
14
  * Released under the MIT License.
15
15
  */
@@ -2541,6 +2541,7 @@ Check the top-level render call using <` + t + ">.");
2541
2541
  }
2542
2542
  );
2543
2543
  Button.displayName = "NutButton";
2544
+ const CellGroupContext = React.createContext(null);
2544
2545
  const defaultProps$1r = {
2545
2546
  ...ComponentDefaults,
2546
2547
  title: "",
@@ -2558,7 +2559,7 @@ Check the top-level render call using <` + t + ">.");
2558
2559
  {
2559
2560
  className: `${classPrefix$p}__wrap ${divider ? `${classPrefix$p}__wrap--divider` : ""}`
2560
2561
  },
2561
- children
2562
+ /* @__PURE__ */ React.createElement(CellGroupContext.Provider, { value: { divider } }, children)
2562
2563
  ));
2563
2564
  };
2564
2565
  CellGroup.defaultProps = defaultProps$1r;
@@ -2575,6 +2576,7 @@ Check the top-level render call using <` + t + ">.");
2575
2576
  };
2576
2577
  const classPrefix$o = "nut-cell";
2577
2578
  const Cell = (props) => {
2579
+ const ctx2 = React.useContext(CellGroupContext);
2578
2580
  const {
2579
2581
  children,
2580
2582
  onClick,
@@ -2616,7 +2618,8 @@ Check the top-level render call using <` + t + ">.");
2616
2618
  style: styles
2617
2619
  },
2618
2620
  extra
2619
- ) : null, /* @__PURE__ */ React.createElement("div", { className: `${classPrefix$o}__divider` }))
2621
+ ) : null),
2622
+ (ctx2 == null ? void 0 : ctx2.divider) ? /* @__PURE__ */ React.createElement("div", { className: `${classPrefix$o}__divider` }) : null
2620
2623
  );
2621
2624
  };
2622
2625
  Cell.defaultProps = defaultProps$1q;
@@ -5689,6 +5692,7 @@ Check the top-level render call using <` + t + ">.");
5689
5692
  };
5690
5693
  const [innerVisible, setInnerVisible] = React.useState(visible);
5691
5694
  const classPrefix2 = `nut-overlay`;
5695
+ const nodeRef = React.useRef(null);
5692
5696
  React.useEffect(() => {
5693
5697
  if (visible) {
5694
5698
  setInnerVisible(true);
@@ -5727,6 +5731,7 @@ Check the top-level render call using <` + t + ">.");
5727
5731
  return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
5728
5732
  CSSTransition$1,
5729
5733
  {
5734
+ nodeRef,
5730
5735
  classNames: `${classPrefix2}-slide`,
5731
5736
  unmountOnExit: true,
5732
5737
  timeout: duration,
@@ -5734,7 +5739,17 @@ Check the top-level render call using <` + t + ">.");
5734
5739
  onEntered: onHandleOpened,
5735
5740
  onExited: onHandleClosed
5736
5741
  },
5737
- /* @__PURE__ */ React.createElement("div", { className: classes, style: styles, ...rest, onClick: handleClick2 }, children)
5742
+ /* @__PURE__ */ React.createElement(
5743
+ "div",
5744
+ {
5745
+ ref: nodeRef,
5746
+ className: classes,
5747
+ style: styles,
5748
+ ...rest,
5749
+ onClick: handleClick2
5750
+ },
5751
+ children
5752
+ )
5738
5753
  ));
5739
5754
  };
5740
5755
  Overlay.defaultProps = defaultOverlayProps;
@@ -11881,6 +11896,7 @@ Please add \`${key}Action\` when creating your handler.`);
11881
11896
  afterClose,
11882
11897
  onClick
11883
11898
  } = { ...defaultProps$1c, ...props };
11899
+ const nodeRef = React.useRef(null);
11884
11900
  const [index, setIndex] = React.useState(zIndex || _zIndex);
11885
11901
  const [innerVisible, setInnerVisible] = React.useState(visible);
11886
11902
  const [showChildren, setShowChildren] = React.useState(true);
@@ -11972,6 +11988,7 @@ Please add \`${key}Action\` when creating your handler.`);
11972
11988
  return /* @__PURE__ */ React.createElement(
11973
11989
  CSSTransition$1,
11974
11990
  {
11991
+ nodeRef,
11975
11992
  classNames: transitionName,
11976
11993
  unmountOnExit: true,
11977
11994
  timeout: duration,
@@ -11979,7 +11996,18 @@ Please add \`${key}Action\` when creating your handler.`);
11979
11996
  onEntered: onHandleOpened,
11980
11997
  onExited: onHandleClosed
11981
11998
  },
11982
- /* @__PURE__ */ React.createElement("div", { style: popStyles, className: popClassName, onClick: onHandleClick }, renderTitle(), renderIcon(), showChildren ? children : "")
11999
+ /* @__PURE__ */ React.createElement(
12000
+ "div",
12001
+ {
12002
+ ref: nodeRef,
12003
+ style: popStyles,
12004
+ className: popClassName,
12005
+ onClick: onHandleClick
12006
+ },
12007
+ renderTitle(),
12008
+ renderIcon(),
12009
+ showChildren ? children : ""
12010
+ )
11983
12011
  );
11984
12012
  };
11985
12013
  const renderNode = () => {
@@ -12642,6 +12670,7 @@ Please add \`${key}Action\` when creating your handler.`);
12642
12670
  constructor(nodes, config2) {
12643
12671
  __publicField(this, "nodes");
12644
12672
  __publicField(this, "config");
12673
+ // eslint-disable-next-line class-methods-use-this
12645
12674
  __publicField(this, "isLeaf", (node, lazy) => {
12646
12675
  const { leaf, children } = node;
12647
12676
  const hasChildren = Array.isArray(children) && Boolean(children.length);
@@ -12731,6 +12760,7 @@ Please add \`${key}Action\` when creating your handler.`);
12731
12760
  activeColor,
12732
12761
  activeIcon,
12733
12762
  popup,
12763
+ popupProps = {},
12734
12764
  visible,
12735
12765
  options: options2,
12736
12766
  value,
@@ -13026,6 +13056,7 @@ Please add \`${key}Action\` when creating your handler.`);
13026
13056
  return /* @__PURE__ */ React.createElement(React.Fragment, null, popup ? /* @__PURE__ */ React.createElement(
13027
13057
  Popup,
13028
13058
  {
13059
+ ...popupProps,
13029
13060
  visible,
13030
13061
  position: "bottom",
13031
13062
  round: true,
@@ -14577,7 +14608,7 @@ Please add \`${key}Action\` when creating your handler.`);
14577
14608
  }
14578
14609
  return false;
14579
14610
  };
14580
- const setTransform = (translateY = 0, type2, time = DEFAULT_DURATION, deg) => {
14611
+ const setTransform = (type2, deg, time = DEFAULT_DURATION, translateY = 0) => {
14581
14612
  let nTime = time;
14582
14613
  if (type2 !== "end") {
14583
14614
  nTime = 0;
@@ -14597,7 +14628,7 @@ Please add \`${key}Action\` when creating your handler.`);
14597
14628
  }
14598
14629
  const endMove = Math.round(updateMove / lineSpacing) * lineSpacing;
14599
14630
  const deg = `${(Math.abs(Math.round(endMove / lineSpacing)) + 1) * rotation}deg`;
14600
- setTransform(endMove, type2, time, deg);
14631
+ setTransform(type2, deg, time, endMove);
14601
14632
  setCurrIndex(Math.abs(Math.round(endMove / lineSpacing)) + 1);
14602
14633
  } else {
14603
14634
  let deg = 0;
@@ -14606,7 +14637,7 @@ Please add \`${key}Action\` when creating your handler.`);
14606
14637
  const minDeg = 0;
14607
14638
  deg = Math.min(Math.max(currentDeg, minDeg), maxDeg);
14608
14639
  if (minDeg < deg && deg < maxDeg) {
14609
- setTransform(updateMove, "", void 0, `${deg}deg`);
14640
+ setTransform("", `${deg}deg`, void 0, updateMove);
14610
14641
  setCurrIndex(Math.abs(Math.round(updateMove / lineSpacing)) + 1);
14611
14642
  }
14612
14643
  }
@@ -14840,9 +14871,7 @@ Please add \`${key}Action\` when creating your handler.`);
14840
14871
  while (columnOptions && columnOptions.children) {
14841
14872
  const options22 = columnOptions.children;
14842
14873
  const value = values[columnIndex2];
14843
- let index = options22.findIndex(
14844
- (columnItem) => columnItem.value === value
14845
- );
14874
+ let index = options22.findIndex((columnItem) => columnItem.value === value);
14846
14875
  if (index === -1)
14847
14876
  index = 0;
14848
14877
  columnOptions = columnOptions.children[index];
@@ -16394,7 +16423,7 @@ Please add \`${key}Action\` when creating your handler.`);
16394
16423
  __publicField(this, "fieldEntities", []);
16395
16424
  // 校验成功或失败的回调,onFinish、onFinishFailed
16396
16425
  __publicField(this, "callbacks", {});
16397
- __publicField(this, "errors", []);
16426
+ __publicField(this, "errors", {});
16398
16427
  /**
16399
16428
  * 注册组件实例
16400
16429
  * @param field
@@ -16416,6 +16445,19 @@ Please add \`${key}Action\` when creating your handler.`);
16416
16445
  var _a2;
16417
16446
  return (_a2 = this.store) == null ? void 0 : _a2[name];
16418
16447
  });
16448
+ /**
16449
+ * 获取全部字段
16450
+ */
16451
+ __publicField(this, "getFieldsValue", (name) => {
16452
+ if (typeof name === "boolean") {
16453
+ return JSON.parse(JSON.stringify(this.store));
16454
+ }
16455
+ const fieldsValue = {};
16456
+ name.forEach((field) => {
16457
+ fieldsValue[field] = this.getFieldValue(field);
16458
+ });
16459
+ return fieldsValue;
16460
+ });
16419
16461
  /**
16420
16462
  * 设置 form 的初始值,之后在 reset 的时候使用
16421
16463
  * @param values
@@ -16473,13 +16515,45 @@ Please add \`${key}Action\` when creating your handler.`);
16473
16515
  validator.validate({ [name]: (_a2 = this.store) == null ? void 0 : _a2[name] }, (errors) => {
16474
16516
  if (errors) {
16475
16517
  err.push(...errors);
16476
- this.errors.push(...errors);
16518
+ this.errors[name] = errors;
16477
16519
  }
16478
16520
  entity.onStoreChange("validate");
16479
16521
  });
16480
16522
  });
16481
16523
  return err;
16482
16524
  });
16525
+ __publicField(this, "validateFields", (nameList) => {
16526
+ if (!nameList || nameList.length === 0) {
16527
+ this.validate();
16528
+ return;
16529
+ }
16530
+ this.fieldEntities.filter(({ props: { name } }) => {
16531
+ return nameList.includes(name);
16532
+ }).forEach((entity) => {
16533
+ var _a2;
16534
+ const { name, rules: rules2 = [] } = entity.props;
16535
+ const descriptor = {};
16536
+ if (rules2.length) {
16537
+ if (rules2.length > 1) {
16538
+ descriptor[name] = [];
16539
+ rules2.forEach((v) => {
16540
+ descriptor[name].push(v);
16541
+ });
16542
+ } else {
16543
+ descriptor[name] = rules2[0];
16544
+ }
16545
+ }
16546
+ const validator = new Schema(descriptor);
16547
+ validator.messages();
16548
+ validator.validate({ [name]: (_a2 = this.store) == null ? void 0 : _a2[name] }, (errors) => {
16549
+ this.errors[name] = [];
16550
+ if (errors) {
16551
+ this.errors[name] = errors;
16552
+ }
16553
+ entity.onStoreChange("validate");
16554
+ });
16555
+ });
16556
+ });
16483
16557
  __publicField(this, "submit", () => {
16484
16558
  var _a2, _b, _c, _d;
16485
16559
  const errors = this.validate();
@@ -16496,12 +16570,17 @@ Please add \`${key}Action\` when creating your handler.`);
16496
16570
  entity.onStoreChange("reset");
16497
16571
  });
16498
16572
  });
16573
+ __publicField(this, "dispatch", ({ name }) => {
16574
+ this.validateFields([name]);
16575
+ });
16499
16576
  __publicField(this, "getForm", () => {
16500
16577
  return {
16578
+ dispatch: this.dispatch,
16501
16579
  setInitialValues: this.setInitialValues,
16502
16580
  setCallback: this.setCallback,
16503
16581
  registerField: this.registerField,
16504
16582
  getFieldValue: this.getFieldValue,
16583
+ getFieldsValue: this.getFieldsValue,
16505
16584
  setFieldsValue: this.setFieldsValue,
16506
16585
  resetFields: this.resetFields,
16507
16586
  submit: this.submit,
@@ -16530,6 +16609,84 @@ Please add \`${key}Action\` when creating your handler.`);
16530
16609
  }
16531
16610
  return [formRef.current];
16532
16611
  };
16612
+ const defaultProps$W = {
16613
+ ...ComponentDefaults,
16614
+ labelPosition: "right",
16615
+ starPosition: "left",
16616
+ divider: false,
16617
+ onFinish: (values) => {
16618
+ },
16619
+ onFinishFailed: (values, errorFields) => {
16620
+ }
16621
+ };
16622
+ const PositionInfo = {
16623
+ top: "form-layout-top",
16624
+ left: "form-layout-left",
16625
+ right: "form-layout-right"
16626
+ };
16627
+ const Form = React.forwardRef(
16628
+ (props, ref) => {
16629
+ const classPrefix2 = "nut-form";
16630
+ const {
16631
+ className,
16632
+ style,
16633
+ footer,
16634
+ children,
16635
+ initialValues,
16636
+ divider,
16637
+ onFinish,
16638
+ onFinishFailed,
16639
+ labelPosition,
16640
+ starPosition,
16641
+ form
16642
+ } = {
16643
+ ...defaultProps$W,
16644
+ ...props
16645
+ };
16646
+ let formInstance;
16647
+ if (form !== void 0) {
16648
+ formInstance = form;
16649
+ } else {
16650
+ [formInstance] = useForm();
16651
+ }
16652
+ React.useImperativeHandle(ref, () => formInstance);
16653
+ formInstance.starPosition = starPosition;
16654
+ const { setCallback, submit, resetFields, setInitialValues } = formInstance;
16655
+ setCallback({
16656
+ onFinish,
16657
+ onFinishFailed
16658
+ });
16659
+ const mountRef = React.useRef(false);
16660
+ setInitialValues(initialValues, !mountRef.current);
16661
+ if (!mountRef.current) {
16662
+ mountRef.current = true;
16663
+ }
16664
+ return /* @__PURE__ */ React.createElement(
16665
+ "form",
16666
+ {
16667
+ className: classNames(
16668
+ classPrefix2,
16669
+ className,
16670
+ PositionInfo[labelPosition]
16671
+ ),
16672
+ style,
16673
+ onSubmit: (e) => {
16674
+ e.preventDefault();
16675
+ e.stopPropagation();
16676
+ submit();
16677
+ },
16678
+ onReset: (e) => {
16679
+ e.preventDefault();
16680
+ e.stopPropagation();
16681
+ resetFields();
16682
+ }
16683
+ },
16684
+ /* @__PURE__ */ React.createElement(Cell.Group, { divider }, /* @__PURE__ */ React.createElement(Context.Provider, { value: formInstance }, children), footer ? /* @__PURE__ */ React.createElement(Cell, null, footer) : null)
16685
+ );
16686
+ }
16687
+ );
16688
+ Form.defaultProps = defaultProps$W;
16689
+ Form.displayName = "NutForm";
16533
16690
  function isForwardRefComponent(component) {
16534
16691
  return component.type && component.type.$$typeof && // eslint-disable-next-line react/display-name
16535
16692
  React.forwardRef(
@@ -16539,13 +16696,14 @@ Please add \`${key}Action\` when creating your handler.`);
16539
16696
  }
16540
16697
  ).$$typeof === component.type.$$typeof;
16541
16698
  }
16542
- const defaultProps$W = {
16699
+ const defaultProps$V = {
16543
16700
  ...ComponentDefaults,
16544
16701
  required: false,
16545
16702
  name: "",
16546
16703
  label: "",
16547
16704
  rules: [{ required: false, message: "" }],
16548
- errorMessageAlign: "left"
16705
+ errorMessageAlign: "left",
16706
+ validateTrigger: "onChange"
16549
16707
  };
16550
16708
  class FormItem extends React.Component {
16551
16709
  constructor(props) {
@@ -16555,7 +16713,7 @@ Please add \`${key}Action\` when creating your handler.`);
16555
16713
  // children添加value属性和onChange事件
16556
16714
  __publicField(this, "getControlled", (children) => {
16557
16715
  var _a2;
16558
- const { setFieldsValue, getFieldValue } = this.context;
16716
+ const { setFieldsValue, getFieldValue, dispatch } = this.context;
16559
16717
  const { name = "" } = this.props;
16560
16718
  if ((_a2 = children == null ? void 0 : children.props) == null ? void 0 : _a2.defaultValue) {
16561
16719
  console.warn("通过 initialValue 设置初始值");
@@ -16576,6 +16734,24 @@ Please add \`${key}Action\` when creating your handler.`);
16576
16734
  setFieldsValue({ [name]: next });
16577
16735
  }
16578
16736
  };
16737
+ const { validateTrigger } = this.props;
16738
+ let validateTriggers = [this.props.trigger || "onChange"];
16739
+ if (validateTrigger) {
16740
+ validateTriggers = typeof validateTrigger === "string" ? [...validateTriggers, validateTrigger] : [...validateTriggers, ...validateTrigger];
16741
+ validateTriggers.forEach((trigger) => {
16742
+ const originTrigger = controlled[trigger];
16743
+ controlled[trigger] = (...args) => {
16744
+ if (originTrigger) {
16745
+ originTrigger(...args);
16746
+ }
16747
+ if (this.props.rules && this.props.rules.length) {
16748
+ dispatch({
16749
+ name: this.props.name
16750
+ });
16751
+ }
16752
+ };
16753
+ });
16754
+ }
16579
16755
  if (isForwardRefComponent(children)) {
16580
16756
  controlled.ref = (componentInstance) => {
16581
16757
  const originRef = children.ref;
@@ -16605,16 +16781,22 @@ Please add \`${key}Action\` when creating your handler.`);
16605
16781
  }
16606
16782
  });
16607
16783
  __publicField(this, "renderLayout", (childNode) => {
16608
- var _a2, _b;
16609
- const { label, name, required: required2, className, style, errorMessageAlign } = {
16610
- ...defaultProps$W,
16784
+ const {
16785
+ label,
16786
+ name,
16787
+ required: required2,
16788
+ rules: rules2,
16789
+ className,
16790
+ style,
16791
+ errorMessageAlign
16792
+ } = {
16793
+ ...defaultProps$V,
16611
16794
  ...this.props
16612
16795
  };
16613
- const item = ((_a2 = this.context.errors) == null ? void 0 : _a2.length) > 0 && ((_b = this.context.errors) == null ? void 0 : _b.filter((item2) => {
16614
- return item2.field === name;
16615
- }));
16796
+ const requiredInRules = rules2 == null ? void 0 : rules2.some((rule) => rule.required);
16797
+ const item = name ? this.context.errors[name] : [];
16616
16798
  const { starPosition } = this.context;
16617
- const renderStar = required2 && /* @__PURE__ */ React.createElement("i", { className: "required" });
16799
+ const renderStar = (required2 || requiredInRules) && /* @__PURE__ */ React.createElement("i", { className: "required" });
16618
16800
  const renderLabel = /* @__PURE__ */ React.createElement(React.Fragment, null, starPosition === "left" ? renderStar : null, label, starPosition === "right" ? renderStar : null);
16619
16801
  return /* @__PURE__ */ React.createElement(
16620
16802
  Cell,
@@ -16624,7 +16806,7 @@ Please add \`${key}Action\` when creating your handler.`);
16624
16806
  onClick: (e) => this.props.onClick && this.props.onClick(e, this.componentRef)
16625
16807
  },
16626
16808
  label ? /* @__PURE__ */ React.createElement("div", { className: "nut-cell__title nut-form-item__label" }, renderLabel) : null,
16627
- /* @__PURE__ */ React.createElement("div", { className: "nut-cell__value nut-form-item__body" }, /* @__PURE__ */ React.createElement("div", { className: "nut-form-item__body__slots" }, childNode), item.length > 0 && /* @__PURE__ */ React.createElement(
16809
+ /* @__PURE__ */ React.createElement("div", { className: "nut-cell__value nut-form-item__body" }, /* @__PURE__ */ React.createElement("div", { className: "nut-form-item__body__slots" }, childNode), item && item.length > 0 && /* @__PURE__ */ React.createElement(
16628
16810
  "div",
16629
16811
  {
16630
16812
  className: "nut-form-item__body__tips",
@@ -16657,83 +16839,11 @@ Please add \`${key}Action\` when creating your handler.`);
16657
16839
  return /* @__PURE__ */ React.createElement(React.Fragment, { key: this.state.resetCount }, this.renderLayout(returnChildNode));
16658
16840
  }
16659
16841
  }
16660
- __publicField(FormItem, "defaultProps", defaultProps$W);
16842
+ __publicField(FormItem, "defaultProps", defaultProps$V);
16661
16843
  __publicField(FormItem, "contextType", Context);
16662
- const defaultProps$V = {
16663
- ...ComponentDefaults,
16664
- labelPosition: "right",
16665
- starPosition: "left",
16666
- onFinish: (values) => {
16667
- },
16668
- onFinishFailed: (values, errorFields) => {
16669
- }
16670
- };
16671
- const PositionInfo = {
16672
- top: "form-layout-top",
16673
- left: "form-layout-left",
16674
- right: "form-layout-right"
16675
- };
16676
- const Form = (props) => {
16677
- const classPrefix2 = "nut-form";
16678
- const {
16679
- className,
16680
- style,
16681
- footer,
16682
- children,
16683
- initialValues,
16684
- onFinish,
16685
- onFinishFailed,
16686
- labelPosition,
16687
- starPosition,
16688
- form
16689
- } = {
16690
- ...defaultProps$V,
16691
- ...props
16692
- };
16693
- let formInstance;
16694
- if (form !== void 0) {
16695
- formInstance = form;
16696
- } else {
16697
- [formInstance] = useForm();
16698
- }
16699
- formInstance.starPosition = starPosition;
16700
- const { setCallback, submit, resetFields, setInitialValues } = formInstance;
16701
- setCallback({
16702
- onFinish,
16703
- onFinishFailed
16704
- });
16705
- const mountRef = React.useRef(false);
16706
- setInitialValues(initialValues, !mountRef.current);
16707
- if (!mountRef.current) {
16708
- mountRef.current = true;
16709
- }
16710
- return /* @__PURE__ */ React.createElement(
16711
- "form",
16712
- {
16713
- className: classNames(
16714
- classPrefix2,
16715
- className,
16716
- PositionInfo[labelPosition]
16717
- ),
16718
- style,
16719
- onSubmit: (e) => {
16720
- e.preventDefault();
16721
- e.stopPropagation();
16722
- submit();
16723
- },
16724
- onReset: (e) => {
16725
- e.preventDefault();
16726
- e.stopPropagation();
16727
- resetFields();
16728
- }
16729
- },
16730
- /* @__PURE__ */ React.createElement(Cell.Group, null, /* @__PURE__ */ React.createElement(Context.Provider, { value: formInstance }, children), footer ? /* @__PURE__ */ React.createElement(Cell, null, footer) : null)
16731
- );
16732
- };
16733
- Form.defaultProps = defaultProps$V;
16734
- Form.displayName = "NutForm";
16735
- Form.Item = FormItem;
16736
- Form.useForm = useForm;
16844
+ const InnerForm = Form;
16845
+ InnerForm.Item = FormItem;
16846
+ InnerForm.useForm = useForm;
16737
16847
  function trimExtraChar(value, char, regExp) {
16738
16848
  const index = value.indexOf(char);
16739
16849
  if (index === -1) {
@@ -17084,7 +17194,7 @@ Please add \`${key}Action\` when creating your handler.`);
17084
17194
  };
17085
17195
  const changeFormatValue = (e) => {
17086
17196
  const input = e.target.value;
17087
- const numReg = new RegExp("^[0-9]*$");
17197
+ const numReg = /^[0-9]*$/;
17088
17198
  const numValue = input.replace(/[^0-9|.]/gi, "");
17089
17199
  if (formatter) {
17090
17200
  if (!numReg.test(input[0]) && numValue) {
@@ -17103,7 +17213,7 @@ Please add \`${key}Action\` when creating your handler.`);
17103
17213
  };
17104
17214
  const burFormatValue = (e) => {
17105
17215
  const input = e.target.value;
17106
- const numReg = new RegExp("^[0-9]*$");
17216
+ const numReg = /^[0-9]*$/;
17107
17217
  const numValue = input.replace(/[^0-9|.]/gi, "");
17108
17218
  if (formatter) {
17109
17219
  if (formatter(numValue) === input) {
@@ -18687,7 +18797,9 @@ Please add \`${key}Action\` when creating your handler.`);
18687
18797
  }));
18688
18798
  return /* @__PURE__ */ React.createElement("div", { className: `${classPrefix2} ${className}`, style, ...rest }, /* @__PURE__ */ React.createElement("div", { className: `${classPrefix2}__inner`, ref: wrapRef }, /* @__PURE__ */ React.createElement(React.Fragment, null, isCanvasSupported ? /* @__PURE__ */ React.createElement("canvas", { ref: canvasRef, height: canvasHeight, width: canvasWidth }) : unsupported ? /* @__PURE__ */ React.createElement(React.Fragment, null, unsupported) : /* @__PURE__ */ React.createElement("p", { className: `${classPrefix2}__unsupport` }, locale.signature.unsupported))));
18689
18799
  };
18690
- const Signature = React.forwardRef(InternalSignature);
18800
+ const Signature = React.forwardRef(
18801
+ InternalSignature
18802
+ );
18691
18803
  Signature.defaultProps = defaultProps$J;
18692
18804
  Signature.displayName = "NutSignature";
18693
18805
  const defaultProps$I = {
@@ -19727,16 +19839,24 @@ Please add \`${key}Action\` when creating your handler.`);
19727
19839
  const handleClick2 = (e) => {
19728
19840
  onClick && onClick(e);
19729
19841
  };
19730
- return /* @__PURE__ */ React.createElement("div", { className: `${classPrefix2}__outer`, onClick: (e) => handleClick2(e) }, /* @__PURE__ */ React.createElement(
19842
+ return /* @__PURE__ */ React.createElement(
19731
19843
  "div",
19732
19844
  {
19733
- className: classPrefix2,
19734
- style: { display: visible ? "flex" : "none" }
19845
+ className: classNames(`${classPrefix2}__outer`, props.className),
19846
+ style: props.style,
19847
+ onClick: (e) => handleClick2(e)
19735
19848
  },
19736
- renderHeader(),
19737
- /* @__PURE__ */ React.createElement("div", { className: `${classPrefix2}__content` }, /* @__PURE__ */ React.createElement(React.Fragment, null, children)),
19738
- renderFooter()
19739
- ));
19849
+ /* @__PURE__ */ React.createElement(
19850
+ "div",
19851
+ {
19852
+ className: classPrefix2,
19853
+ style: { display: visible ? "flex" : "none" }
19854
+ },
19855
+ renderHeader(),
19856
+ /* @__PURE__ */ React.createElement("div", { className: `${classPrefix2}__content` }, /* @__PURE__ */ React.createElement(React.Fragment, null, children)),
19857
+ renderFooter()
19858
+ )
19859
+ );
19740
19860
  };
19741
19861
  Content.displayName = "NutContent";
19742
19862
  const defaultDialogProps = {
@@ -19795,6 +19915,7 @@ Please add \`${key}Action\` when creating your handler.`);
19795
19915
  DialogWrap.defaultProps = defaultDialogProps;
19796
19916
  DialogWrap.displayName = "NutDialogWrap";
19797
19917
  const defaultProps$D = {
19918
+ ...ComponentDefaults,
19798
19919
  confirmText: "",
19799
19920
  cancelText: "",
19800
19921
  overlay: true,
@@ -20455,10 +20576,13 @@ Please add \`${key}Action\` when creating your handler.`);
20455
20576
  if (childCount <= 1)
20456
20577
  return;
20457
20578
  stopAutoPlay();
20458
- swiperRef.current.autoplayTimer = setTimeout(() => {
20459
- next();
20460
- autoplay();
20461
- }, Number(duration) + 100 * speed);
20579
+ swiperRef.current.autoplayTimer = setTimeout(
20580
+ () => {
20581
+ next();
20582
+ autoplay();
20583
+ },
20584
+ Number(duration) + 100 * speed
20585
+ );
20462
20586
  };
20463
20587
  const move = ({ pace = 0, offset: offset2 = 0 }) => {
20464
20588
  if (childCount <= 1)
@@ -21361,7 +21485,7 @@ Please add \`${key}Action\` when creating your handler.`);
21361
21485
  ...icon.props,
21362
21486
  className: `${icon.props.className || ""} icon`
21363
21487
  }) : null, children && /* @__PURE__ */ React.createElement("span", { className: "text" }, children), !src && !icon && !children && /* @__PURE__ */ React.createElement(k$2, { className: "icon" })),
21364
- showMax && /* @__PURE__ */ React.createElement("div", { className: "text" }, ((_l = parent == null ? void 0 : parent.propAvatarGroup) == null ? void 0 : _l.maxContent) ? (_m = parent == null ? void 0 : parent.propAvatarGroup) == null ? void 0 : _m.maxContent : `+ ${avatarIndex - ((_n = parent == null ? void 0 : parent.propAvatarGroup) == null ? void 0 : _n.max)}`)
21488
+ showMax && /* @__PURE__ */ React.createElement("div", { className: "text" }, ((_l = parent == null ? void 0 : parent.propAvatarGroup) == null ? void 0 : _l.maxContent) ? (_m = parent == null ? void 0 : parent.propAvatarGroup) == null ? void 0 : _m.maxContent : `+ ${avatarIndex - Number(((_n = parent == null ? void 0 : parent.propAvatarGroup) == null ? void 0 : _n.max) || 0)}`)
21365
21489
  ));
21366
21490
  };
21367
21491
  Avatar.defaultProps = defaultProps$u;
@@ -22026,10 +22150,9 @@ Please add \`${key}Action\` when creating your handler.`);
22026
22150
  handPlaying: false
22027
22151
  });
22028
22152
  const classPrefix2 = "nut-audio";
22029
- const warn = console.warn;
22030
22153
  const handleEnded = (e) => {
22031
22154
  if (props.loop) {
22032
- warn(locale.audio.tips || "onPlayEnd事件在loop=false时才会触发");
22155
+ console.warn(locale.audio.tips || "onPlayEnd事件在loop=false时才会触发");
22033
22156
  } else {
22034
22157
  props.onEnd && props.onEnd(e);
22035
22158
  }
@@ -22742,7 +22865,9 @@ Please add \`${key}Action\` when creating your handler.`);
22742
22865
  )
22743
22866
  );
22744
22867
  };
22745
- const CountDown = React.forwardRef(InternalCountDown);
22868
+ const CountDown = React.forwardRef(
22869
+ InternalCountDown
22870
+ );
22746
22871
  CountDown.defaultProps = defaultProps$k;
22747
22872
  CountDown.displayName = "NutCountDown";
22748
22873
  const useIsomorphicLayoutEffect = canUseDom ? React.useLayoutEffect : React.useEffect;
@@ -24079,8 +24204,8 @@ Please add \`${key}Action\` when creating your handler.`);
24079
24204
  return [columns2.key, columns2.render];
24080
24205
  });
24081
24206
  };
24082
- const renderBodyTds = (item) => {
24083
- return sortDataItem().map(([value, render2], index) => {
24207
+ const renderBodyTds = (item, rowIndex) => {
24208
+ return sortDataItem().map(([value, render2]) => {
24084
24209
  return /* @__PURE__ */ React.createElement(
24085
24210
  "span",
24086
24211
  {
@@ -24090,13 +24215,13 @@ Please add \`${key}Action\` when creating your handler.`);
24090
24215
  ),
24091
24216
  key: value
24092
24217
  },
24093
- typeof item[value] === "function" || typeof render2 === "function" ? /* @__PURE__ */ React.createElement("div", null, render2 ? render2(item) : item[value](item)) : item[value]
24218
+ typeof item[value] === "function" || typeof render2 === "function" ? /* @__PURE__ */ React.createElement("div", null, render2 ? render2(item, rowIndex) : item[value](item)) : item[value]
24094
24219
  );
24095
24220
  });
24096
24221
  };
24097
24222
  const renderBoyTrs = () => {
24098
24223
  return curData.map((item, index) => {
24099
- return /* @__PURE__ */ React.createElement("div", { className: bodyClassPrefix, key: index }, renderBodyTds(item));
24224
+ return /* @__PURE__ */ React.createElement("div", { className: bodyClassPrefix, key: index }, renderBodyTds(item, index));
24100
24225
  });
24101
24226
  };
24102
24227
  return /* @__PURE__ */ React.createElement("div", { className: cls, style, ...rest }, /* @__PURE__ */ React.createElement(
@@ -24406,7 +24531,7 @@ Please add \`${key}Action\` when creating your handler.`);
24406
24531
  }
24407
24532
  return size;
24408
24533
  };
24409
- const binarySearch = (positionsList, value = 0, horizontal) => {
24534
+ const binarySearch = (positionsList, horizontal, value = 0) => {
24410
24535
  let start2 = 0;
24411
24536
  let end = positionsList.length - 1;
24412
24537
  let tempIndex = null;
@@ -24582,7 +24707,7 @@ Please add \`${key}Action\` when creating your handler.`);
24582
24707
  const scroll = React.useCallback(() => {
24583
24708
  requestAnimationFrame((e) => {
24584
24709
  const scrollSize = getElement()[scrollKey];
24585
- const startIndex = binarySearch(positions, scrollSize, horizontal);
24710
+ const startIndex = binarySearch(positions, horizontal, scrollSize);
24586
24711
  const overStart = startIndex - overscan > -1 ? startIndex - overscan : 0;
24587
24712
  if (!itemEqual) {
24588
24713
  updateTotalSize();
@@ -24762,7 +24887,9 @@ Please add \`${key}Action\` when creating your handler.`);
24762
24887
  };
24763
24888
  return /* @__PURE__ */ React.createElement("div", { className: classes, ref: barrageBody, ...restProps }, /* @__PURE__ */ React.createElement("div", { ref: barrageContainer, className: "bContainer" }));
24764
24889
  };
24765
- const Barrage = React.forwardRef(InternalBarrage);
24890
+ const Barrage = React.forwardRef(
24891
+ InternalBarrage
24892
+ );
24766
24893
  Barrage.defaultProps = defaultProps$5;
24767
24894
  Barrage.displayName = "NutBarrage";
24768
24895
  const defaultProps$4 = {
@@ -25042,7 +25169,7 @@ Please add \`${key}Action\` when creating your handler.`);
25042
25169
  return console.warn(`传入的值:${num}不是一个数字`);
25043
25170
  }
25044
25171
  num = parseFloat(num);
25045
- const numPow = Math.pow(10, digit);
25172
+ const numPow = 10 ** digit;
25046
25173
  return (Math.round((num + Number.EPSILON) * numPow) / numPow).toFixed(digit);
25047
25174
  };
25048
25175
  const calcStyle = (() => {
@@ -25229,7 +25356,7 @@ Please add \`${key}Action\` when creating your handler.`);
25229
25356
  exports2.Ellipsis = Ellipsis;
25230
25357
  exports2.Empty = Empty;
25231
25358
  exports2.FixedNav = FixedNav;
25232
- exports2.Form = Form;
25359
+ exports2.Form = InnerForm;
25233
25360
  exports2.FormItem = FormItem;
25234
25361
  exports2.Grid = Grid;
25235
25362
  exports2.GridItem = GridItem;