@cqa-lib/cqa-ui 1.0.69 → 1.0.71

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.
@@ -2,12 +2,11 @@ import { Injectable } from '@angular/core';
2
2
  import { OverlayContainer } from '@angular/cdk/overlay';
3
3
  import * as i0 from "@angular/core";
4
4
  /**
5
- * Ensures Angular CDK overlay content (e.g., MatSelect, Datepicker panels, library dialogs)
6
- * is nested under an element with class="cqa-ui-root" so Tailwind utilities
7
- * configured with important: '.cqa-ui-root' are applied inside overlays.
5
+ * Custom overlay container that adds 'cqa-ui-root' class to individual overlay panes
6
+ * containing library components, rather than to the entire container.
8
7
  *
9
- * IMPORTANT: Only sets class="cqa-ui-root" when library overlays are present.
10
- * Portal Material dialogs should NOT have this class to prevent library CSS from affecting them.
8
+ * This ensures library CSS (scoped with .cqa-ui-root) only affects library overlays,
9
+ * not portal overlays that may be open simultaneously.
11
10
  */
12
11
  export class TailwindOverlayContainer extends OverlayContainer {
13
12
  constructor() {
@@ -17,13 +16,13 @@ export class TailwindOverlayContainer extends OverlayContainer {
17
16
  _createContainer() {
18
17
  super._createContainer();
19
18
  if (this._containerElement) {
20
- // Don't set class initially - we'll set it dynamically when library overlays are created
19
+ // Never add cqa-ui-root to the container itself
21
20
  this._containerElement.classList.remove('cqa-ui-root');
22
- // Use MutationObserver to detect when library overlays are created/destroyed
23
- this.observeLibraryOverlays();
21
+ // Use MutationObserver to detect when overlay panes are created/destroyed
22
+ this.observeOverlayPanes();
24
23
  }
25
24
  }
26
- observeLibraryOverlays() {
25
+ observeOverlayPanes() {
27
26
  if (!this._containerElement)
28
27
  return;
29
28
  const observer = new MutationObserver(() => {
@@ -32,49 +31,46 @@ export class TailwindOverlayContainer extends OverlayContainer {
32
31
  cancelAnimationFrame(this.updateTimeout);
33
32
  }
34
33
  this.updateTimeout = requestAnimationFrame(() => {
35
- this.updateContainerClass();
34
+ this.updateOverlayPaneClasses();
36
35
  this.updateTimeout = null;
37
36
  });
38
37
  });
39
38
  observer.observe(this._containerElement, {
40
39
  childList: true,
41
40
  subtree: true,
41
+ attributes: true,
42
+ attributeFilter: ['class']
42
43
  });
43
44
  // Also check immediately in case overlays already exist
44
- requestAnimationFrame(() => this.updateContainerClass());
45
+ requestAnimationFrame(() => this.updateOverlayPaneClasses());
45
46
  }
46
- updateContainerClass() {
47
+ updateOverlayPaneClasses() {
47
48
  if (!this._containerElement)
48
49
  return;
49
- // Count library overlays (dialogs, select panels, datepicker panels)
50
- // These are library-specific classes that indicate library components
51
- // Only count overlays that are actually in the DOM (CDK removes them when closed)
52
- const libraryDialogs = this._containerElement.querySelectorAll('.cqa-dialog-panel').length;
53
- const libraryBackdrops = this._containerElement.querySelectorAll('.cqa-dialog-backdrop').length;
54
- const librarySelectPanels = this._containerElement.querySelectorAll('.ctc-select-panel').length;
55
- const libraryDatePanels = this._containerElement.querySelectorAll('.ctc-date-range-panel').length;
56
- const totalLibraryOverlays = libraryDialogs + libraryBackdrops + librarySelectPanels + libraryDatePanels;
57
- // Check for portal Material dialogs (those without .cqa-dialog-panel class)
58
- // Portal dialogs use .mat-dialog-container but NOT .cqa-dialog-panel
59
- const portalDialogs = this._containerElement.querySelectorAll('.mat-dialog-container:not(.cqa-dialog-panel)').length;
60
- // Decision logic: Only add cqa-ui-root when library overlays are present
61
- // This ensures portal Material dialogs don't get affected by library CSS
62
- if (totalLibraryOverlays > 0) {
63
- // Library overlays exist - add the class (they need Tailwind styles scoped to .cqa-ui-root)
64
- this._containerElement.classList.add('cqa-ui-root');
65
- }
66
- else {
67
- // No library overlays exist - remove the class
68
- // This handles both cases:
69
- // 1. Only portal dialogs exist (should not have cqa-ui-root)
70
- // 2. No overlays exist at all (clean state)
71
- this._containerElement.classList.remove('cqa-ui-root');
72
- }
73
- // Note: If both library overlays and portal dialogs exist simultaneously,
74
- // the class will be present because library overlays need it. In this case,
75
- // portal dialogs may be affected by library CSS. To avoid this, ensure library
76
- // overlays are closed before opening portal dialogs, or use CSS specificity
77
- // to override library styles within portal dialogs.
50
+ // Find all overlay panes in the container
51
+ const allPanes = this._containerElement.querySelectorAll('.cdk-overlay-pane');
52
+ allPanes.forEach((pane) => {
53
+ // Check if this pane itself has library component classes (e.g., backdrop)
54
+ const paneHasLibraryClass = pane.classList.contains('cqa-dialog-panel') ||
55
+ pane.classList.contains('cqa-dialog-backdrop') ||
56
+ pane.classList.contains('ctc-select-panel') ||
57
+ pane.classList.contains('ctc-date-range-panel');
58
+ // Also check for library components inside the pane
59
+ // These classes may be on child elements rather than the pane itself
60
+ const hasLibraryDialogInside = pane.querySelector('.cqa-dialog-panel') !== null;
61
+ const hasLibrarySelectInside = pane.querySelector('.ctc-select-panel') !== null;
62
+ const hasLibraryDatePickerInside = pane.querySelector('.ctc-date-range-panel') !== null;
63
+ const isLibraryOverlay = paneHasLibraryClass || hasLibraryDialogInside ||
64
+ hasLibrarySelectInside || hasLibraryDatePickerInside;
65
+ if (isLibraryOverlay) {
66
+ // This is a library overlay - add the class
67
+ pane.classList.add('cqa-ui-root');
68
+ }
69
+ else {
70
+ // This is NOT a library overlay (e.g., portal dialog) - ensure class is removed
71
+ pane.classList.remove('cqa-ui-root');
72
+ }
73
+ });
78
74
  }
79
75
  }
80
76
  TailwindOverlayContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: TailwindOverlayContainer, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
@@ -82,4 +78,4 @@ TailwindOverlayContainer.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0
82
78
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: TailwindOverlayContainer, decorators: [{
83
79
  type: Injectable
84
80
  }] });
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHctb3ZlcmxheS1jb250YWluZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3V0aWxzL3R3LW92ZXJsYXktY29udGFpbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBRXhEOzs7Ozs7O0dBT0c7QUFFSCxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsZ0JBQWdCO0lBRDlEOztRQUVVLGtCQUFhLEdBQWtCLElBQUksQ0FBQztLQXlFN0M7SUF2RW9CLGdCQUFnQjtRQUNqQyxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN6QixJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUMxQix5RkFBeUY7WUFDekYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7WUFFdkQsNkVBQTZFO1lBQzdFLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1NBQy9CO0lBQ0gsQ0FBQztJQUVPLHNCQUFzQjtRQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQjtZQUFFLE9BQU87UUFFcEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUU7WUFDekMsc0VBQXNFO1lBQ3RFLElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxJQUFJLEVBQUU7Z0JBQy9CLG9CQUFvQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQzthQUMxQztZQUNELElBQUksQ0FBQyxhQUFhLEdBQUcscUJBQXFCLENBQUMsR0FBRyxFQUFFO2dCQUM5QyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztnQkFDNUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7WUFDNUIsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQ3ZDLFNBQVMsRUFBRSxJQUFJO1lBQ2YsT0FBTyxFQUFFLElBQUk7U0FDZCxDQUFDLENBQUM7UUFFSCx3REFBd0Q7UUFDeEQscUJBQXFCLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRU8sb0JBQW9CO1FBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCO1lBQUUsT0FBTztRQUVwQyxxRUFBcUU7UUFDckUsc0VBQXNFO1FBQ3RFLGtGQUFrRjtRQUNsRixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDM0YsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDaEcsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDaEcsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFFbEcsTUFBTSxvQkFBb0IsR0FBRyxjQUFjLEdBQUcsZ0JBQWdCLEdBQUcsbUJBQW1CLEdBQUcsaUJBQWlCLENBQUM7UUFFekcsNEVBQTRFO1FBQzVFLHFFQUFxRTtRQUNyRSxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsOENBQThDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFFckgseUVBQXlFO1FBQ3pFLHlFQUF5RTtRQUV6RSxJQUFJLG9CQUFvQixHQUFHLENBQUMsRUFBRTtZQUM1Qiw0RkFBNEY7WUFDNUYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDckQ7YUFBTTtZQUNMLCtDQUErQztZQUMvQywyQkFBMkI7WUFDM0IsNkRBQTZEO1lBQzdELDRDQUE0QztZQUM1QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUN4RDtRQUVELDBFQUEwRTtRQUMxRSw0RUFBNEU7UUFDNUUsK0VBQStFO1FBQy9FLDRFQUE0RTtRQUM1RSxvREFBb0Q7SUFDdEQsQ0FBQzs7cUhBekVVLHdCQUF3Qjt5SEFBeEIsd0JBQXdCOzJGQUF4Qix3QkFBd0I7a0JBRHBDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPdmVybGF5Q29udGFpbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuXG4vKipcbiAqIEVuc3VyZXMgQW5ndWxhciBDREsgb3ZlcmxheSBjb250ZW50IChlLmcuLCBNYXRTZWxlY3QsIERhdGVwaWNrZXIgcGFuZWxzLCBsaWJyYXJ5IGRpYWxvZ3MpXG4gKiBpcyBuZXN0ZWQgdW5kZXIgYW4gZWxlbWVudCB3aXRoIGNsYXNzPVwiY3FhLXVpLXJvb3RcIiBzbyBUYWlsd2luZCB1dGlsaXRpZXNcbiAqIGNvbmZpZ3VyZWQgd2l0aCBpbXBvcnRhbnQ6ICcuY3FhLXVpLXJvb3QnIGFyZSBhcHBsaWVkIGluc2lkZSBvdmVybGF5cy5cbiAqIFxuICogSU1QT1JUQU5UOiBPbmx5IHNldHMgY2xhc3M9XCJjcWEtdWktcm9vdFwiIHdoZW4gbGlicmFyeSBvdmVybGF5cyBhcmUgcHJlc2VudC5cbiAqIFBvcnRhbCBNYXRlcmlhbCBkaWFsb2dzIHNob3VsZCBOT1QgaGF2ZSB0aGlzIGNsYXNzIHRvIHByZXZlbnQgbGlicmFyeSBDU1MgZnJvbSBhZmZlY3RpbmcgdGhlbS5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRhaWx3aW5kT3ZlcmxheUNvbnRhaW5lciBleHRlbmRzIE92ZXJsYXlDb250YWluZXIge1xuICBwcml2YXRlIHVwZGF0ZVRpbWVvdXQ6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBfY3JlYXRlQ29udGFpbmVyKCk6IHZvaWQge1xuICAgIHN1cGVyLl9jcmVhdGVDb250YWluZXIoKTtcbiAgICBpZiAodGhpcy5fY29udGFpbmVyRWxlbWVudCkge1xuICAgICAgLy8gRG9uJ3Qgc2V0IGNsYXNzIGluaXRpYWxseSAtIHdlJ2xsIHNldCBpdCBkeW5hbWljYWxseSB3aGVuIGxpYnJhcnkgb3ZlcmxheXMgYXJlIGNyZWF0ZWRcbiAgICAgIHRoaXMuX2NvbnRhaW5lckVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnY3FhLXVpLXJvb3QnKTtcbiAgICAgIFxuICAgICAgLy8gVXNlIE11dGF0aW9uT2JzZXJ2ZXIgdG8gZGV0ZWN0IHdoZW4gbGlicmFyeSBvdmVybGF5cyBhcmUgY3JlYXRlZC9kZXN0cm95ZWRcbiAgICAgIHRoaXMub2JzZXJ2ZUxpYnJhcnlPdmVybGF5cygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZUxpYnJhcnlPdmVybGF5cygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2NvbnRhaW5lckVsZW1lbnQpIHJldHVybjtcblxuICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCkgPT4ge1xuICAgICAgLy8gRGVib3VuY2UgdXBkYXRlcyB0byBhdm9pZCBleGNlc3NpdmUgY2hlY2tzIGR1cmluZyByYXBpZCBET00gY2hhbmdlc1xuICAgICAgaWYgKHRoaXMudXBkYXRlVGltZW91dCAhPT0gbnVsbCkge1xuICAgICAgICBjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLnVwZGF0ZVRpbWVvdXQpO1xuICAgICAgfVxuICAgICAgdGhpcy51cGRhdGVUaW1lb3V0ID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgdGhpcy51cGRhdGVDb250YWluZXJDbGFzcygpO1xuICAgICAgICB0aGlzLnVwZGF0ZVRpbWVvdXQgPSBudWxsO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBvYnNlcnZlci5vYnNlcnZlKHRoaXMuX2NvbnRhaW5lckVsZW1lbnQsIHtcbiAgICAgIGNoaWxkTGlzdDogdHJ1ZSxcbiAgICAgIHN1YnRyZWU6IHRydWUsXG4gICAgfSk7XG5cbiAgICAvLyBBbHNvIGNoZWNrIGltbWVkaWF0ZWx5IGluIGNhc2Ugb3ZlcmxheXMgYWxyZWFkeSBleGlzdFxuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB0aGlzLnVwZGF0ZUNvbnRhaW5lckNsYXNzKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVDb250YWluZXJDbGFzcygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2NvbnRhaW5lckVsZW1lbnQpIHJldHVybjtcblxuICAgIC8vIENvdW50IGxpYnJhcnkgb3ZlcmxheXMgKGRpYWxvZ3MsIHNlbGVjdCBwYW5lbHMsIGRhdGVwaWNrZXIgcGFuZWxzKVxuICAgIC8vIFRoZXNlIGFyZSBsaWJyYXJ5LXNwZWNpZmljIGNsYXNzZXMgdGhhdCBpbmRpY2F0ZSBsaWJyYXJ5IGNvbXBvbmVudHNcbiAgICAvLyBPbmx5IGNvdW50IG92ZXJsYXlzIHRoYXQgYXJlIGFjdHVhbGx5IGluIHRoZSBET00gKENESyByZW1vdmVzIHRoZW0gd2hlbiBjbG9zZWQpXG4gICAgY29uc3QgbGlicmFyeURpYWxvZ3MgPSB0aGlzLl9jb250YWluZXJFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5jcWEtZGlhbG9nLXBhbmVsJykubGVuZ3RoO1xuICAgIGNvbnN0IGxpYnJhcnlCYWNrZHJvcHMgPSB0aGlzLl9jb250YWluZXJFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5jcWEtZGlhbG9nLWJhY2tkcm9wJykubGVuZ3RoO1xuICAgIGNvbnN0IGxpYnJhcnlTZWxlY3RQYW5lbHMgPSB0aGlzLl9jb250YWluZXJFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5jdGMtc2VsZWN0LXBhbmVsJykubGVuZ3RoO1xuICAgIGNvbnN0IGxpYnJhcnlEYXRlUGFuZWxzID0gdGhpcy5fY29udGFpbmVyRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuY3RjLWRhdGUtcmFuZ2UtcGFuZWwnKS5sZW5ndGg7XG4gICAgXG4gICAgY29uc3QgdG90YWxMaWJyYXJ5T3ZlcmxheXMgPSBsaWJyYXJ5RGlhbG9ncyArIGxpYnJhcnlCYWNrZHJvcHMgKyBsaWJyYXJ5U2VsZWN0UGFuZWxzICsgbGlicmFyeURhdGVQYW5lbHM7XG4gICAgXG4gICAgLy8gQ2hlY2sgZm9yIHBvcnRhbCBNYXRlcmlhbCBkaWFsb2dzICh0aG9zZSB3aXRob3V0IC5jcWEtZGlhbG9nLXBhbmVsIGNsYXNzKVxuICAgIC8vIFBvcnRhbCBkaWFsb2dzIHVzZSAubWF0LWRpYWxvZy1jb250YWluZXIgYnV0IE5PVCAuY3FhLWRpYWxvZy1wYW5lbFxuICAgIGNvbnN0IHBvcnRhbERpYWxvZ3MgPSB0aGlzLl9jb250YWluZXJFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5tYXQtZGlhbG9nLWNvbnRhaW5lcjpub3QoLmNxYS1kaWFsb2ctcGFuZWwpJykubGVuZ3RoO1xuXG4gICAgLy8gRGVjaXNpb24gbG9naWM6IE9ubHkgYWRkIGNxYS11aS1yb290IHdoZW4gbGlicmFyeSBvdmVybGF5cyBhcmUgcHJlc2VudFxuICAgIC8vIFRoaXMgZW5zdXJlcyBwb3J0YWwgTWF0ZXJpYWwgZGlhbG9ncyBkb24ndCBnZXQgYWZmZWN0ZWQgYnkgbGlicmFyeSBDU1NcbiAgICBcbiAgICBpZiAodG90YWxMaWJyYXJ5T3ZlcmxheXMgPiAwKSB7XG4gICAgICAvLyBMaWJyYXJ5IG92ZXJsYXlzIGV4aXN0IC0gYWRkIHRoZSBjbGFzcyAodGhleSBuZWVkIFRhaWx3aW5kIHN0eWxlcyBzY29wZWQgdG8gLmNxYS11aS1yb290KVxuICAgICAgdGhpcy5fY29udGFpbmVyRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdjcWEtdWktcm9vdCcpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBObyBsaWJyYXJ5IG92ZXJsYXlzIGV4aXN0IC0gcmVtb3ZlIHRoZSBjbGFzc1xuICAgICAgLy8gVGhpcyBoYW5kbGVzIGJvdGggY2FzZXM6XG4gICAgICAvLyAxLiBPbmx5IHBvcnRhbCBkaWFsb2dzIGV4aXN0IChzaG91bGQgbm90IGhhdmUgY3FhLXVpLXJvb3QpXG4gICAgICAvLyAyLiBObyBvdmVybGF5cyBleGlzdCBhdCBhbGwgKGNsZWFuIHN0YXRlKVxuICAgICAgdGhpcy5fY29udGFpbmVyRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdjcWEtdWktcm9vdCcpO1xuICAgIH1cbiAgICBcbiAgICAvLyBOb3RlOiBJZiBib3RoIGxpYnJhcnkgb3ZlcmxheXMgYW5kIHBvcnRhbCBkaWFsb2dzIGV4aXN0IHNpbXVsdGFuZW91c2x5LFxuICAgIC8vIHRoZSBjbGFzcyB3aWxsIGJlIHByZXNlbnQgYmVjYXVzZSBsaWJyYXJ5IG92ZXJsYXlzIG5lZWQgaXQuIEluIHRoaXMgY2FzZSxcbiAgICAvLyBwb3J0YWwgZGlhbG9ncyBtYXkgYmUgYWZmZWN0ZWQgYnkgbGlicmFyeSBDU1MuIFRvIGF2b2lkIHRoaXMsIGVuc3VyZSBsaWJyYXJ5XG4gICAgLy8gb3ZlcmxheXMgYXJlIGNsb3NlZCBiZWZvcmUgb3BlbmluZyBwb3J0YWwgZGlhbG9ncywgb3IgdXNlIENTUyBzcGVjaWZpY2l0eVxuICAgIC8vIHRvIG92ZXJyaWRlIGxpYnJhcnkgc3R5bGVzIHdpdGhpbiBwb3J0YWwgZGlhbG9ncy5cbiAgfVxufVxuXG5cbiJdfQ==
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHctb3ZlcmxheS1jb250YWluZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3V0aWxzL3R3LW92ZXJsYXktY29udGFpbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBRXhEOzs7Ozs7R0FNRztBQUVILE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxnQkFBZ0I7SUFEOUQ7O1FBRVUsa0JBQWEsR0FBa0IsSUFBSSxDQUFDO0tBcUU3QztJQW5Fb0IsZ0JBQWdCO1FBQ2pDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3pCLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQzFCLGdEQUFnRDtZQUNoRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUV2RCwwRUFBMEU7WUFDMUUsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7U0FDNUI7SUFDSCxDQUFDO0lBRU8sbUJBQW1CO1FBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCO1lBQUUsT0FBTztRQUVwQyxNQUFNLFFBQVEsR0FBRyxJQUFJLGdCQUFnQixDQUFDLEdBQUcsRUFBRTtZQUN6QyxzRUFBc0U7WUFDdEUsSUFBSSxJQUFJLENBQUMsYUFBYSxLQUFLLElBQUksRUFBRTtnQkFDL0Isb0JBQW9CLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2FBQzFDO1lBQ0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxxQkFBcUIsQ0FBQyxHQUFHLEVBQUU7Z0JBQzlDLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO2dCQUNoQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztZQUM1QixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDdkMsU0FBUyxFQUFFLElBQUk7WUFDZixPQUFPLEVBQUUsSUFBSTtZQUNiLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLGVBQWUsRUFBRSxDQUFDLE9BQU8sQ0FBQztTQUMzQixDQUFDLENBQUM7UUFFSCx3REFBd0Q7UUFDeEQscUJBQXFCLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRU8sd0JBQXdCO1FBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCO1lBQUUsT0FBTztRQUVwQywwQ0FBMEM7UUFDMUMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFFOUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3hCLDJFQUEyRTtZQUMzRSxNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDO2dCQUMzQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQztnQkFDOUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUM7Z0JBQzNDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLHNCQUFzQixDQUFDLENBQUM7WUFFNUUsb0RBQW9EO1lBQ3BELHFFQUFxRTtZQUNyRSxNQUFNLHNCQUFzQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsS0FBSyxJQUFJLENBQUM7WUFDaEYsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLEtBQUssSUFBSSxDQUFDO1lBQ2hGLE1BQU0sMEJBQTBCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLElBQUksQ0FBQztZQUV4RixNQUFNLGdCQUFnQixHQUFHLG1CQUFtQixJQUFJLHNCQUFzQjtnQkFDN0Msc0JBQXNCLElBQUksMEJBQTBCLENBQUM7WUFFOUUsSUFBSSxnQkFBZ0IsRUFBRTtnQkFDcEIsNENBQTRDO2dCQUM1QyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQzthQUNuQztpQkFBTTtnQkFDTCxnRkFBZ0Y7Z0JBQ2hGLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2FBQ3RDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztxSEFyRVUsd0JBQXdCO3lIQUF4Qix3QkFBd0I7MkZBQXhCLHdCQUF3QjtrQkFEcEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE92ZXJsYXlDb250YWluZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5cbi8qKlxuICogQ3VzdG9tIG92ZXJsYXkgY29udGFpbmVyIHRoYXQgYWRkcyAnY3FhLXVpLXJvb3QnIGNsYXNzIHRvIGluZGl2aWR1YWwgb3ZlcmxheSBwYW5lc1xuICogY29udGFpbmluZyBsaWJyYXJ5IGNvbXBvbmVudHMsIHJhdGhlciB0aGFuIHRvIHRoZSBlbnRpcmUgY29udGFpbmVyLlxuICogXG4gKiBUaGlzIGVuc3VyZXMgbGlicmFyeSBDU1MgKHNjb3BlZCB3aXRoIC5jcWEtdWktcm9vdCkgb25seSBhZmZlY3RzIGxpYnJhcnkgb3ZlcmxheXMsXG4gKiBub3QgcG9ydGFsIG92ZXJsYXlzIHRoYXQgbWF5IGJlIG9wZW4gc2ltdWx0YW5lb3VzbHkuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUYWlsd2luZE92ZXJsYXlDb250YWluZXIgZXh0ZW5kcyBPdmVybGF5Q29udGFpbmVyIHtcbiAgcHJpdmF0ZSB1cGRhdGVUaW1lb3V0OiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgX2NyZWF0ZUNvbnRhaW5lcigpOiB2b2lkIHtcbiAgICBzdXBlci5fY3JlYXRlQ29udGFpbmVyKCk7XG4gICAgaWYgKHRoaXMuX2NvbnRhaW5lckVsZW1lbnQpIHtcbiAgICAgIC8vIE5ldmVyIGFkZCBjcWEtdWktcm9vdCB0byB0aGUgY29udGFpbmVyIGl0c2VsZlxuICAgICAgdGhpcy5fY29udGFpbmVyRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdjcWEtdWktcm9vdCcpO1xuICAgICAgXG4gICAgICAvLyBVc2UgTXV0YXRpb25PYnNlcnZlciB0byBkZXRlY3Qgd2hlbiBvdmVybGF5IHBhbmVzIGFyZSBjcmVhdGVkL2Rlc3Ryb3llZFxuICAgICAgdGhpcy5vYnNlcnZlT3ZlcmxheVBhbmVzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlT3ZlcmxheVBhbmVzKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fY29udGFpbmVyRWxlbWVudCkgcmV0dXJuO1xuXG4gICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcigoKSA9PiB7XG4gICAgICAvLyBEZWJvdW5jZSB1cGRhdGVzIHRvIGF2b2lkIGV4Y2Vzc2l2ZSBjaGVja3MgZHVyaW5nIHJhcGlkIERPTSBjaGFuZ2VzXG4gICAgICBpZiAodGhpcy51cGRhdGVUaW1lb3V0ICE9PSBudWxsKSB7XG4gICAgICAgIGNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMudXBkYXRlVGltZW91dCk7XG4gICAgICB9XG4gICAgICB0aGlzLnVwZGF0ZVRpbWVvdXQgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICB0aGlzLnVwZGF0ZU92ZXJsYXlQYW5lQ2xhc3NlcygpO1xuICAgICAgICB0aGlzLnVwZGF0ZVRpbWVvdXQgPSBudWxsO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBvYnNlcnZlci5vYnNlcnZlKHRoaXMuX2NvbnRhaW5lckVsZW1lbnQsIHtcbiAgICAgIGNoaWxkTGlzdDogdHJ1ZSxcbiAgICAgIHN1YnRyZWU6IHRydWUsXG4gICAgICBhdHRyaWJ1dGVzOiB0cnVlLFxuICAgICAgYXR0cmlidXRlRmlsdGVyOiBbJ2NsYXNzJ11cbiAgICB9KTtcblxuICAgIC8vIEFsc28gY2hlY2sgaW1tZWRpYXRlbHkgaW4gY2FzZSBvdmVybGF5cyBhbHJlYWR5IGV4aXN0XG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHRoaXMudXBkYXRlT3ZlcmxheVBhbmVDbGFzc2VzKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVPdmVybGF5UGFuZUNsYXNzZXMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9jb250YWluZXJFbGVtZW50KSByZXR1cm47XG5cbiAgICAvLyBGaW5kIGFsbCBvdmVybGF5IHBhbmVzIGluIHRoZSBjb250YWluZXJcbiAgICBjb25zdCBhbGxQYW5lcyA9IHRoaXMuX2NvbnRhaW5lckVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmNkay1vdmVybGF5LXBhbmUnKTtcbiAgICBcbiAgICBhbGxQYW5lcy5mb3JFYWNoKChwYW5lKSA9PiB7XG4gICAgICAvLyBDaGVjayBpZiB0aGlzIHBhbmUgaXRzZWxmIGhhcyBsaWJyYXJ5IGNvbXBvbmVudCBjbGFzc2VzIChlLmcuLCBiYWNrZHJvcClcbiAgICAgIGNvbnN0IHBhbmVIYXNMaWJyYXJ5Q2xhc3MgPSBwYW5lLmNsYXNzTGlzdC5jb250YWlucygnY3FhLWRpYWxvZy1wYW5lbCcpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFuZS5jbGFzc0xpc3QuY29udGFpbnMoJ2NxYS1kaWFsb2ctYmFja2Ryb3AnKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhbmUuY2xhc3NMaXN0LmNvbnRhaW5zKCdjdGMtc2VsZWN0LXBhbmVsJykgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYW5lLmNsYXNzTGlzdC5jb250YWlucygnY3RjLWRhdGUtcmFuZ2UtcGFuZWwnKTtcbiAgICAgIFxuICAgICAgLy8gQWxzbyBjaGVjayBmb3IgbGlicmFyeSBjb21wb25lbnRzIGluc2lkZSB0aGUgcGFuZVxuICAgICAgLy8gVGhlc2UgY2xhc3NlcyBtYXkgYmUgb24gY2hpbGQgZWxlbWVudHMgcmF0aGVyIHRoYW4gdGhlIHBhbmUgaXRzZWxmXG4gICAgICBjb25zdCBoYXNMaWJyYXJ5RGlhbG9nSW5zaWRlID0gcGFuZS5xdWVyeVNlbGVjdG9yKCcuY3FhLWRpYWxvZy1wYW5lbCcpICE9PSBudWxsO1xuICAgICAgY29uc3QgaGFzTGlicmFyeVNlbGVjdEluc2lkZSA9IHBhbmUucXVlcnlTZWxlY3RvcignLmN0Yy1zZWxlY3QtcGFuZWwnKSAhPT0gbnVsbDtcbiAgICAgIGNvbnN0IGhhc0xpYnJhcnlEYXRlUGlja2VySW5zaWRlID0gcGFuZS5xdWVyeVNlbGVjdG9yKCcuY3RjLWRhdGUtcmFuZ2UtcGFuZWwnKSAhPT0gbnVsbDtcbiAgICAgIFxuICAgICAgY29uc3QgaXNMaWJyYXJ5T3ZlcmxheSA9IHBhbmVIYXNMaWJyYXJ5Q2xhc3MgfHwgaGFzTGlicmFyeURpYWxvZ0luc2lkZSB8fCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXNMaWJyYXJ5U2VsZWN0SW5zaWRlIHx8IGhhc0xpYnJhcnlEYXRlUGlja2VySW5zaWRlO1xuICAgICAgXG4gICAgICBpZiAoaXNMaWJyYXJ5T3ZlcmxheSkge1xuICAgICAgICAvLyBUaGlzIGlzIGEgbGlicmFyeSBvdmVybGF5IC0gYWRkIHRoZSBjbGFzc1xuICAgICAgICBwYW5lLmNsYXNzTGlzdC5hZGQoJ2NxYS11aS1yb290Jyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBUaGlzIGlzIE5PVCBhIGxpYnJhcnkgb3ZlcmxheSAoZS5nLiwgcG9ydGFsIGRpYWxvZykgLSBlbnN1cmUgY2xhc3MgaXMgcmVtb3ZlZFxuICAgICAgICBwYW5lLmNsYXNzTGlzdC5yZW1vdmUoJ2NxYS11aS1yb290Jyk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cblxuXG4iXX0=
@@ -4324,12 +4324,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
4324
4324
  }] } });
4325
4325
 
4326
4326
  /**
4327
- * Ensures Angular CDK overlay content (e.g., MatSelect, Datepicker panels, library dialogs)
4328
- * is nested under an element with class="cqa-ui-root" so Tailwind utilities
4329
- * configured with important: '.cqa-ui-root' are applied inside overlays.
4327
+ * Custom overlay container that adds 'cqa-ui-root' class to individual overlay panes
4328
+ * containing library components, rather than to the entire container.
4330
4329
  *
4331
- * IMPORTANT: Only sets class="cqa-ui-root" when library overlays are present.
4332
- * Portal Material dialogs should NOT have this class to prevent library CSS from affecting them.
4330
+ * This ensures library CSS (scoped with .cqa-ui-root) only affects library overlays,
4331
+ * not portal overlays that may be open simultaneously.
4333
4332
  */
4334
4333
  class TailwindOverlayContainer extends OverlayContainer {
4335
4334
  constructor() {
@@ -4339,13 +4338,13 @@ class TailwindOverlayContainer extends OverlayContainer {
4339
4338
  _createContainer() {
4340
4339
  super._createContainer();
4341
4340
  if (this._containerElement) {
4342
- // Don't set class initially - we'll set it dynamically when library overlays are created
4341
+ // Never add cqa-ui-root to the container itself
4343
4342
  this._containerElement.classList.remove('cqa-ui-root');
4344
- // Use MutationObserver to detect when library overlays are created/destroyed
4345
- this.observeLibraryOverlays();
4343
+ // Use MutationObserver to detect when overlay panes are created/destroyed
4344
+ this.observeOverlayPanes();
4346
4345
  }
4347
4346
  }
4348
- observeLibraryOverlays() {
4347
+ observeOverlayPanes() {
4349
4348
  if (!this._containerElement)
4350
4349
  return;
4351
4350
  const observer = new MutationObserver(() => {
@@ -4354,49 +4353,46 @@ class TailwindOverlayContainer extends OverlayContainer {
4354
4353
  cancelAnimationFrame(this.updateTimeout);
4355
4354
  }
4356
4355
  this.updateTimeout = requestAnimationFrame(() => {
4357
- this.updateContainerClass();
4356
+ this.updateOverlayPaneClasses();
4358
4357
  this.updateTimeout = null;
4359
4358
  });
4360
4359
  });
4361
4360
  observer.observe(this._containerElement, {
4362
4361
  childList: true,
4363
4362
  subtree: true,
4363
+ attributes: true,
4364
+ attributeFilter: ['class']
4364
4365
  });
4365
4366
  // Also check immediately in case overlays already exist
4366
- requestAnimationFrame(() => this.updateContainerClass());
4367
+ requestAnimationFrame(() => this.updateOverlayPaneClasses());
4367
4368
  }
4368
- updateContainerClass() {
4369
+ updateOverlayPaneClasses() {
4369
4370
  if (!this._containerElement)
4370
4371
  return;
4371
- // Count library overlays (dialogs, select panels, datepicker panels)
4372
- // These are library-specific classes that indicate library components
4373
- // Only count overlays that are actually in the DOM (CDK removes them when closed)
4374
- const libraryDialogs = this._containerElement.querySelectorAll('.cqa-dialog-panel').length;
4375
- const libraryBackdrops = this._containerElement.querySelectorAll('.cqa-dialog-backdrop').length;
4376
- const librarySelectPanels = this._containerElement.querySelectorAll('.ctc-select-panel').length;
4377
- const libraryDatePanels = this._containerElement.querySelectorAll('.ctc-date-range-panel').length;
4378
- const totalLibraryOverlays = libraryDialogs + libraryBackdrops + librarySelectPanels + libraryDatePanels;
4379
- // Check for portal Material dialogs (those without .cqa-dialog-panel class)
4380
- // Portal dialogs use .mat-dialog-container but NOT .cqa-dialog-panel
4381
- const portalDialogs = this._containerElement.querySelectorAll('.mat-dialog-container:not(.cqa-dialog-panel)').length;
4382
- // Decision logic: Only add cqa-ui-root when library overlays are present
4383
- // This ensures portal Material dialogs don't get affected by library CSS
4384
- if (totalLibraryOverlays > 0) {
4385
- // Library overlays exist - add the class (they need Tailwind styles scoped to .cqa-ui-root)
4386
- this._containerElement.classList.add('cqa-ui-root');
4387
- }
4388
- else {
4389
- // No library overlays exist - remove the class
4390
- // This handles both cases:
4391
- // 1. Only portal dialogs exist (should not have cqa-ui-root)
4392
- // 2. No overlays exist at all (clean state)
4393
- this._containerElement.classList.remove('cqa-ui-root');
4394
- }
4395
- // Note: If both library overlays and portal dialogs exist simultaneously,
4396
- // the class will be present because library overlays need it. In this case,
4397
- // portal dialogs may be affected by library CSS. To avoid this, ensure library
4398
- // overlays are closed before opening portal dialogs, or use CSS specificity
4399
- // to override library styles within portal dialogs.
4372
+ // Find all overlay panes in the container
4373
+ const allPanes = this._containerElement.querySelectorAll('.cdk-overlay-pane');
4374
+ allPanes.forEach((pane) => {
4375
+ // Check if this pane itself has library component classes (e.g., backdrop)
4376
+ const paneHasLibraryClass = pane.classList.contains('cqa-dialog-panel') ||
4377
+ pane.classList.contains('cqa-dialog-backdrop') ||
4378
+ pane.classList.contains('ctc-select-panel') ||
4379
+ pane.classList.contains('ctc-date-range-panel');
4380
+ // Also check for library components inside the pane
4381
+ // These classes may be on child elements rather than the pane itself
4382
+ const hasLibraryDialogInside = pane.querySelector('.cqa-dialog-panel') !== null;
4383
+ const hasLibrarySelectInside = pane.querySelector('.ctc-select-panel') !== null;
4384
+ const hasLibraryDatePickerInside = pane.querySelector('.ctc-date-range-panel') !== null;
4385
+ const isLibraryOverlay = paneHasLibraryClass || hasLibraryDialogInside ||
4386
+ hasLibrarySelectInside || hasLibraryDatePickerInside;
4387
+ if (isLibraryOverlay) {
4388
+ // This is a library overlay - add the class
4389
+ pane.classList.add('cqa-ui-root');
4390
+ }
4391
+ else {
4392
+ // This is NOT a library overlay (e.g., portal dialog) - ensure class is removed
4393
+ pane.classList.remove('cqa-ui-root');
4394
+ }
4395
+ });
4400
4396
  }
4401
4397
  }
4402
4398
  TailwindOverlayContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: TailwindOverlayContainer, deps: null, target: i0.ɵɵFactoryTarget.Injectable });