@flowgram.ai/form 0.2.28 → 0.2.29

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.
package/dist/esm/index.js CHANGED
@@ -546,6 +546,11 @@ function Field({
546
546
  const formState = toFormState(formModelState);
547
547
  const refresh = useRefresh();
548
548
  React2.useEffect(() => {
549
+ if (fieldModel.disposed) {
550
+ refresh();
551
+ return () => {
552
+ };
553
+ }
549
554
  fieldModel.renderCount = fieldModel.renderCount + 1;
550
555
  if (!formModel.getValueIn(name) !== void 0 && defaultValue !== void 0) {
551
556
  formModel.setInitValueIn(name, defaultValue);
@@ -586,6 +591,7 @@ function Field({
586
591
  }
587
592
  return React2.cloneElement(children, { ...field });
588
593
  };
594
+ if (fieldModel.disposed) return /* @__PURE__ */ React2.createElement(React2.Fragment, null);
589
595
  return /* @__PURE__ */ React2.createElement(FieldModelContext.Provider, { value: fieldModel }, renderInner());
590
596
  }
591
597
 
@@ -950,6 +956,9 @@ var FieldModel = class {
950
956
  onDispose(fn) {
951
957
  this.toDispose.onDispose(fn);
952
958
  }
959
+ get disposed() {
960
+ return this.toDispose.disposed;
961
+ }
953
962
  };
954
963
 
955
964
  // src/core/field-array-model.ts
@@ -1525,10 +1534,7 @@ function FieldArray({
1525
1534
  children
1526
1535
  }) {
1527
1536
  const formModel = useFormModel();
1528
- const fieldModel = React4.useMemo(
1529
- () => formModel.getField(name) || formModel.createFieldArray(name),
1530
- [name]
1531
- );
1537
+ const fieldModel = formModel.getField(name) || formModel.createFieldArray(name);
1532
1538
  const field = React4.useMemo(() => toFieldArray(fieldModel), [fieldModel]);
1533
1539
  const refresh = useRefresh3();
1534
1540
  const fieldModelState = useReadonlyReactiveState2(fieldModel.reactiveState);
@@ -1536,6 +1542,11 @@ function FieldArray({
1536
1542
  const fieldState = toFieldState(fieldModelState);
1537
1543
  const formState = React4.useMemo(() => toFormState(formModelState), [formModelState]);
1538
1544
  React4.useEffect(() => {
1545
+ if (fieldModel.disposed) {
1546
+ refresh();
1547
+ return () => {
1548
+ };
1549
+ }
1539
1550
  fieldModel.renderCount = fieldModel.renderCount + 1;
1540
1551
  if (!formModel.getValueIn(name) !== void 0 && defaultValue !== void 0) {
1541
1552
  formModel.setInitValueIn(name, defaultValue);
@@ -1576,6 +1587,7 @@ function FieldArray({
1576
1587
  }
1577
1588
  return /* @__PURE__ */ React4.createElement(React4.Fragment, null, "Invalid Array render");
1578
1589
  };
1590
+ if (fieldModel.disposed) return /* @__PURE__ */ React4.createElement(React4.Fragment, null);
1579
1591
  return /* @__PURE__ */ React4.createElement(FieldModelContext.Provider, { value: fieldModel }, renderInner());
1580
1592
  }
1581
1593