@dmitryvim/form-builder 0.3.2 → 0.3.3

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
@@ -10444,8 +10444,10 @@ function setupEnableIfListeners(wrapper, element, ctx) {
10444
10444
  reevaluateEnableIf(wrapper, element, ctx);
10445
10445
  });
10446
10446
  observer.disconnect();
10447
+ ctx.state.enableIfObservers.delete(observer);
10447
10448
  }
10448
10449
  });
10450
+ ctx.state.enableIfObservers.add(observer);
10449
10451
  observer.observe(formRoot, {
10450
10452
  childList: true,
10451
10453
  subtree: true
@@ -10842,7 +10844,8 @@ function createInstanceState(config) {
10842
10844
  debounceTimer: null,
10843
10845
  prefill: {},
10844
10846
  syntheticElementIds: /* @__PURE__ */ new WeakMap(),
10845
- syntheticElementIdCounter: 0
10847
+ syntheticElementIdCounter: 0,
10848
+ enableIfObservers: /* @__PURE__ */ new Set()
10846
10849
  };
10847
10850
  }
10848
10851
  function generateInstanceId() {
@@ -11524,6 +11527,7 @@ var FormBuilderInstance = class {
11524
11527
  console.error("Schema validation errors:", errors);
11525
11528
  return;
11526
11529
  }
11530
+ this.disconnectEnableIfObservers();
11527
11531
  this.state.formRoot = root;
11528
11532
  this.state.schema = schema;
11529
11533
  this.state.externalActions = actions || null;
@@ -11954,6 +11958,7 @@ var FormBuilderInstance = class {
11954
11958
  clearTimeout(this.state.debounceTimer);
11955
11959
  this.state.debounceTimer = null;
11956
11960
  }
11961
+ this.disconnectEnableIfObservers();
11957
11962
  this.state.resourceIndex.clear();
11958
11963
  if (this.state.formRoot) {
11959
11964
  clear(this.state.formRoot);
@@ -11965,6 +11970,12 @@ var FormBuilderInstance = class {
11965
11970
  globalThis.__formBuilderInstances?.delete(this.instanceId);
11966
11971
  }
11967
11972
  }
11973
+ disconnectEnableIfObservers() {
11974
+ for (const observer of this.state.enableIfObservers) {
11975
+ observer.disconnect();
11976
+ }
11977
+ this.state.enableIfObservers.clear();
11978
+ }
11968
11979
  };
11969
11980
 
11970
11981
  // src/index.ts