@agorapulse/ui-components 20.3.27-beta.1 → 20.3.28

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.
@@ -3004,6 +3004,7 @@ class NavSelectorComponent {
3004
3004
  el = inject(ElementRef);
3005
3005
  componentUid = `nav-selector-${nextUniqueId++}`;
3006
3006
  ready = signal(false, ...(ngDevMode ? [{ debugName: "ready" }] : []));
3007
+ stableNavSelectorEntries = computed(() => this.navSelectorEntries(), ...(ngDevMode ? [{ debugName: "stableNavSelectorEntries", equal: isEqual }] : [{ equal: isEqual }]));
3007
3008
  expanded = this.navSelectorState.expanded.asReadonly();
3008
3009
  entries = computed(() => this.navSelectorState.entries(), ...(ngDevMode ? [{ debugName: "entries", equal: isEqual }] : [{ equal: isEqual }]));
3009
3010
  selectableEntryUids = computed(() => computeSelectableUids(this.entries()), ...(ngDevMode ? [{ debugName: "selectableEntryUids", equal: isEqual }] : [{ equal: isEqual }]));
@@ -3029,18 +3030,19 @@ class NavSelectorComponent {
3029
3030
  const expanded = this.expanded();
3030
3031
  untracked(() => this.onExpansionStateChange.emit({ expanded }));
3031
3032
  });
3033
+ // When inputs change, rebuild entries with current selected uids
3032
3034
  effect(() => {
3033
- // When inputs change, rebuild entries with current selected uids
3034
3035
  const multipleModeEnabled = this.multipleModeEnabled();
3035
- const newEntries = this.navSelectorEntries();
3036
+ const newEntries = this.stableNavSelectorEntries();
3036
3037
  const selectedUids = this.selectedEntryUids();
3037
3038
  untracked(() => {
3038
3039
  this.navSelectorState.updateMultiModeEnabled(multipleModeEnabled);
3040
+ const limit = this.detailsDisplayedLimit();
3039
3041
  if (!this.entries().length) {
3040
- this.navSelectorState.initEntries(newEntries, selectedUids, this.detailsDisplayedLimit());
3042
+ this.navSelectorState.initEntries(newEntries, selectedUids, limit);
3041
3043
  }
3042
3044
  else {
3043
- this.navSelectorState.updateEntries(newEntries, selectedUids, this.detailsDisplayedLimit());
3045
+ this.navSelectorState.updateEntries(newEntries, selectedUids, limit);
3044
3046
  }
3045
3047
  });
3046
3048
  });
@@ -3048,7 +3050,7 @@ class NavSelectorComponent {
3048
3050
  const detailsDisplayedLimit = this.detailsDisplayedLimit();
3049
3051
  untracked(() => this.navSelectorState.updateDetailsDisplayedLimit(detailsDisplayedLimit));
3050
3052
  });
3051
- // Note: No longer need separate effect for selectedEntryUids changes
3053
+ // Note: No longer need of a separate effect for selectedEntryUids changes
3052
3054
  // The effect above (line 166) now watches selectedEntryUids and calls updateEntries
3053
3055
  // which properly handles disabled items through the builder
3054
3056
  effect(() => {