cloud-ide-element 1.0.19 → 1.0.20

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.
@@ -4567,13 +4567,15 @@ class CideEleDropdownComponent {
4567
4567
  }
4568
4568
  closeDropdown() {
4569
4569
  console.log('🔵 closeDropdown called, setting isOpen to false');
4570
- this.isOpen.set(false);
4571
- // Destroy portal if it exists
4572
- if (this.config.usePortal) {
4573
- this.destroyPortalDropdown();
4574
- }
4575
- this.dropdownManager.unregisterDropdown(this.dropdownId);
4576
- this.dropdownToggle.emit(false);
4570
+ setTimeout(() => {
4571
+ this.isOpen.set(false);
4572
+ // Destroy portal if it exists
4573
+ if (this.config.usePortal) {
4574
+ this.destroyPortalDropdown();
4575
+ }
4576
+ this.dropdownManager.unregisterDropdown(this.dropdownId);
4577
+ this.dropdownToggle.emit(false);
4578
+ }, 100);
4577
4579
  }
4578
4580
  getItemClasses(item) {
4579
4581
  const baseClasses = 'tw-flex tw-items-center tw-w-full tw-px-3 tw-py-2 tw-text-sm tw-transition-colors tw-duration-150';
@@ -4601,6 +4603,18 @@ class CideEleDropdownComponent {
4601
4603
  this.currentPosition.set(newPosition);
4602
4604
  }
4603
4605
  }
4606
+ ngOnDestroy() {
4607
+ // Cleanup portal if it exists
4608
+ if (this.config.usePortal) {
4609
+ this.destroyPortalDropdown();
4610
+ }
4611
+ // Close dropdown and unregister
4612
+ if (this.isOpen()) {
4613
+ this.closeDropdown();
4614
+ }
4615
+ // Ensure dropdown is unregistered
4616
+ this.dropdownManager.unregisterDropdown(this.dropdownId);
4617
+ }
4604
4618
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: CideEleDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4605
4619
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.7", type: CideEleDropdownComponent, isStandalone: true, selector: "cide-ele-dropdown", inputs: { items: "items", config: "config", triggerTemplate: "triggerTemplate", menuTemplate: "menuTemplate" }, outputs: { itemClick: "itemClick", dropdownToggle: "dropdownToggle" }, host: { listeners: { "window:resize": "onWindowResize()", "window:scroll": "onWindowScroll()" } }, viewQueries: [{ propertyName: "dropdownContainer", first: true, predicate: ["dropdownContainer"], descendants: true, isSignal: true }, { propertyName: "dropdownMenu", first: true, predicate: ["dropdownMenu"], descendants: true, isSignal: true }, { propertyName: "dropdownMenuTemplate", first: true, predicate: ["dropdownMenuTemplate"], descendants: true, isSignal: true }], ngImport: i0, template: `
4606
4620
  <div class="tw-relative" #dropdownContainer>