@cqa-lib/cqa-ui 1.0.53 → 1.0.54
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/esm2020/lib/utils/tw-overlay-container.mjs +44 -28
- package/fesm2015/cqa-lib-cqa-ui.mjs +43 -27
- package/fesm2015/cqa-lib-cqa-ui.mjs.map +1 -1
- package/fesm2020/cqa-lib-cqa-ui.mjs +43 -27
- package/fesm2020/cqa-lib-cqa-ui.mjs.map +1 -1
- package/lib/utils/tw-overlay-container.d.ts +1 -1
- package/package.json +1 -1
|
@@ -43,59 +43,75 @@ export class TailwindOverlayContainer extends OverlayContainer {
|
|
|
43
43
|
// Also check immediately in case overlays already exist
|
|
44
44
|
requestAnimationFrame(() => this.updateContainerClass());
|
|
45
45
|
}
|
|
46
|
-
|
|
46
|
+
isElementClosing(element) {
|
|
47
|
+
// Check if element is closing (very low opacity AND shrinking dimensions)
|
|
47
48
|
const style = window.getComputedStyle(element);
|
|
48
|
-
|
|
49
|
-
const isDisplayed = style.display !== 'none';
|
|
50
|
-
const isOpaque = parseFloat(style.opacity) > 0.01; // Allow for very small opacity values during animations
|
|
51
|
-
const isVisible = style.visibility !== 'hidden';
|
|
52
|
-
// Also check if element has dimensions (width/height > 0)
|
|
49
|
+
const opacity = parseFloat(style.opacity);
|
|
53
50
|
const rect = element.getBoundingClientRect();
|
|
54
|
-
|
|
55
|
-
|
|
51
|
+
// If opacity is very low (< 0.1) AND dimensions are very small, it's likely closing
|
|
52
|
+
// This helps filter out closing animations while allowing opening animations
|
|
53
|
+
return opacity < 0.1 && (rect.width < 10 || rect.height < 10);
|
|
56
54
|
}
|
|
57
55
|
updateContainerClass() {
|
|
58
56
|
if (!this._containerElement)
|
|
59
57
|
return;
|
|
60
58
|
// Count library overlays (dialogs, select panels, datepicker panels)
|
|
61
|
-
//
|
|
62
|
-
//
|
|
59
|
+
// Count them if they exist in DOM (even during opening animations)
|
|
60
|
+
// But exclude them if they're clearly closing (very low opacity + small size)
|
|
61
|
+
// Library dialogs - count if not closing
|
|
63
62
|
const libraryDialogs = Array.from(this._containerElement.querySelectorAll('.cqa-dialog-panel'));
|
|
64
|
-
const
|
|
65
|
-
|
|
63
|
+
const activeLibraryDialogs = libraryDialogs.filter(dialog => {
|
|
64
|
+
const style = window.getComputedStyle(dialog);
|
|
65
|
+
return style.display !== 'none' && !this.isElementClosing(dialog);
|
|
66
|
+
}).length;
|
|
67
|
+
// Library backdrops - check if showing (backdrops can be transparent but still present)
|
|
66
68
|
const libraryBackdrops = Array.from(this._containerElement.querySelectorAll('.cqa-dialog-backdrop'));
|
|
67
|
-
const
|
|
68
|
-
// Backdrops might have low opacity but should still be considered if they're showing
|
|
69
|
+
const activeLibraryBackdrops = libraryBackdrops.filter(backdrop => {
|
|
69
70
|
const style = window.getComputedStyle(backdrop);
|
|
71
|
+
// Backdrop is active if it's showing (has the showing class) and not display: none
|
|
70
72
|
return style.display !== 'none' && backdrop.classList.contains('cdk-overlay-backdrop-showing');
|
|
71
73
|
}).length;
|
|
72
|
-
// Select panels -
|
|
74
|
+
// Select panels - count if not closing
|
|
73
75
|
const selectPanels = Array.from(this._containerElement.querySelectorAll('.ctc-select-panel'));
|
|
74
|
-
const
|
|
75
|
-
|
|
76
|
+
const activeSelectPanels = selectPanels.filter(panel => {
|
|
77
|
+
const style = window.getComputedStyle(panel);
|
|
78
|
+
return style.display !== 'none' && !this.isElementClosing(panel);
|
|
79
|
+
}).length;
|
|
80
|
+
// Date panels - count if not closing
|
|
76
81
|
const datePanels = Array.from(this._containerElement.querySelectorAll('.ctc-date-range-panel'));
|
|
77
|
-
const
|
|
78
|
-
|
|
82
|
+
const activeDatePanels = datePanels.filter(panel => {
|
|
83
|
+
const style = window.getComputedStyle(panel);
|
|
84
|
+
return style.display !== 'none' && !this.isElementClosing(panel);
|
|
85
|
+
}).length;
|
|
86
|
+
const totalLibraryOverlays = activeLibraryDialogs + activeLibraryBackdrops + activeSelectPanels + activeDatePanels;
|
|
79
87
|
// Check for portal Material dialogs (those without .cqa-dialog-panel class)
|
|
80
88
|
// Portal dialogs use .mat-dialog-container but NOT .cqa-dialog-panel
|
|
89
|
+
// Only count visible portal dialogs to avoid false positives
|
|
81
90
|
const portalDialogs = Array.from(this._containerElement.querySelectorAll('.mat-dialog-container:not(.cqa-dialog-panel)'));
|
|
82
|
-
const visiblePortalDialogs = portalDialogs.filter(dialog =>
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
91
|
+
const visiblePortalDialogs = portalDialogs.filter(dialog => {
|
|
92
|
+
const style = window.getComputedStyle(dialog);
|
|
93
|
+
const rect = dialog.getBoundingClientRect();
|
|
94
|
+
return style.display !== 'none' &&
|
|
95
|
+
parseFloat(style.opacity) > 0.1 &&
|
|
96
|
+
rect.width > 0 &&
|
|
97
|
+
rect.height > 0;
|
|
98
|
+
}).length;
|
|
99
|
+
// Decision logic: Add cqa-ui-root when library overlays are present (even during opening animations)
|
|
100
|
+
// Remove it only when library overlays are clearly gone or closing
|
|
101
|
+
// This ensures library overlays get styles immediately, while portal dialogs don't get affected
|
|
86
102
|
if (totalLibraryOverlays > 0) {
|
|
87
|
-
//
|
|
103
|
+
// Library overlays exist - add the class (they need Tailwind styles scoped to .cqa-ui-root)
|
|
88
104
|
this._containerElement.classList.add('cqa-ui-root');
|
|
89
105
|
}
|
|
90
106
|
else {
|
|
91
|
-
// No
|
|
107
|
+
// No active library overlays exist - remove the class
|
|
92
108
|
// This handles:
|
|
93
109
|
// 1. Only portal dialogs exist (should not have cqa-ui-root)
|
|
94
|
-
// 2. Library overlays are closing/
|
|
110
|
+
// 2. Library overlays are closing/closed (should not have cqa-ui-root)
|
|
95
111
|
// 3. No overlays exist at all (clean state)
|
|
96
112
|
this._containerElement.classList.remove('cqa-ui-root');
|
|
97
113
|
}
|
|
98
|
-
// Note: If both library overlays and portal dialogs exist simultaneously
|
|
114
|
+
// Note: If both library overlays and portal dialogs exist simultaneously,
|
|
99
115
|
// the class will be present because library overlays need it. In this case,
|
|
100
116
|
// portal dialogs may be affected by library CSS. To avoid this, ensure library
|
|
101
117
|
// overlays are closed before opening portal dialogs, or use CSS specificity
|
|
@@ -107,4 +123,4 @@ TailwindOverlayContainer.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0
|
|
|
107
123
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: TailwindOverlayContainer, decorators: [{
|
|
108
124
|
type: Injectable
|
|
109
125
|
}] });
|
|
110
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHctb3ZlcmxheS1jb250YWluZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3V0aWxzL3R3LW92ZXJsYXktY29udGFpbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBRXhEOzs7Ozs7O0dBT0c7QUFFSCxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsZ0JBQWdCO0lBRDlEOztRQUVVLGtCQUFhLEdBQWtCLElBQUksQ0FBQztLQXlHN0M7SUF2R29CLGdCQUFnQjtRQUNqQyxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN6QixJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUMxQix5RkFBeUY7WUFDekYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7WUFFdkQsNkVBQTZFO1lBQzdFLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1NBQy9CO0lBQ0gsQ0FBQztJQUVPLHNCQUFzQjtRQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQjtZQUFFLE9BQU87UUFFcEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUU7WUFDekMsc0VBQXNFO1lBQ3RFLElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxJQUFJLEVBQUU7Z0JBQy9CLG9CQUFvQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQzthQUMxQztZQUNELElBQUksQ0FBQyxhQUFhLEdBQUcscUJBQXFCLENBQUMsR0FBRyxFQUFFO2dCQUM5QyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztnQkFDNUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7WUFDNUIsQ0FBQyxDQUFDLENBQUM7UUFDTCxD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UUFFMUYsTUFBTSxvQkFBb0IsR0FBRyxxQkFBcUIsR0FBRyx1QkFBdUIsR0FBRyxtQkFBbUIsR0FBRyxpQkFBaUIsQ0FBQztRQUV2SCw0RUFBNEU7UUFDNUUscUVBQXFFO1FBQ3JFLE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLDhDQUE4QyxDQUFDLENBQUMsQ0FBQztRQUMxSCxNQUFNLG9CQUFvQixHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFFbEcsaUZBQWlGO1FBQ2pGLHlFQUF5RTtRQUN6RSw2REFBNkQ7UUFFN0QsSUFBSSxvQkFBb0IsR0FBRyxDQUFDLEVBQUU7WUFDNUIsb0dBQW9HO1lBQ3BHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ3JEO2FBQU07WUFDTCx1REFBdUQ7WUFDdkQsZ0JBQWdCO1lBQ2hCLDZEQUE2RDtZQUM3RCx1RUFBdUU7WUFDdkUsNENBQTRDO1lBQzVDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ3hEO1FBRUQsMEZBQTBGO1FBQzFGLDRFQUE0RTtRQUM1RSwrRUFBK0U7UUFDL0UsNEVBQTRFO1FBQzVFLG9EQUFvRDtJQUN0RCxDQUFDOztxSEF6R1Usd0JBQXdCO3lIQUF4Qix3QkFBd0I7MkZBQXhCLHdCQUF3QjtrQkFEcEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE92ZXJsYXlDb250YWluZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5cbi8qKlxuICogRW5zdXJlcyBBbmd1bGFyIENESyBvdmVybGF5IGNvbnRlbnQgKGUuZy4sIE1hdFNlbGVjdCwgRGF0ZXBpY2tlciBwYW5lbHMsIGxpYnJhcnkgZGlhbG9ncylcbiAqIGlzIG5lc3RlZCB1bmRlciBhbiBlbGVtZW50IHdpdGggY2xhc3M9XCJjcWEtdWktcm9vdFwiIHNvIFRhaWx3aW5kIHV0aWxpdGllc1xuICogY29uZmlndXJlZCB3aXRoIGltcG9ydGFudDogJy5jcWEtdWktcm9vdCcgYXJlIGFwcGxpZWQgaW5zaWRlIG92ZXJsYXlzLlxuICogXG4gKiBJTVBPUlRBTlQ6IE9ubHkgc2V0cyBjbGFzcz1cImNxYS11aS1yb290XCIgd2hlbiBsaWJyYXJ5IG92ZXJsYXlzIGFyZSBwcmVzZW50LlxuICogUG9ydGFsIE1hdGVyaWFsIGRpYWxvZ3Mgc2hvdWxkIE5PVCBoYXZlIHRoaXMgY2xhc3MgdG8gcHJldmVudCBsaWJyYXJ5IENTUyBmcm9tIGFmZmVjdGluZyB0aGVtLlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVGFpbHdpbmRPdmVybGF5Q29udGFpbmVyIGV4dGVuZHMgT3ZlcmxheUNvbnRhaW5lciB7XG4gIHByaXZhdGUgdXBkYXRlVGltZW91dDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIF9jcmVhdGVDb250YWluZXIoKTogdm9pZCB7XG4gICAgc3VwZXIuX2NyZWF0ZUNvbnRhaW5lcigpO1xuICAgIGlmICh0aGlzLl9jb250YWluZXJFbGVtZW50KSB7XG4gICAgICAvLyBEb24ndCBzZXQgY2xhc3MgaW5pdGlhbGx5IC0gd2UnbGwgc2V0IGl0IGR5bmFtaWNhbGx5IHdoZW4gbGlicmFyeSBvdmVybGF5cyBhcmUgY3JlYXRlZFxuICAgICAgdGhpcy5fY29udGFpbmVyRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdjcWEtdWktcm9vdCcpO1xuICAgICAgXG4gICAgICAvLyBVc2UgTXV0YXRpb25PYnNlcnZlciB0byBkZXRlY3Qgd2hlbiBsaWJyYXJ5IG92ZXJsYXlzIGFyZSBjcmVhdGVkL2Rlc3Ryb3llZFxuICAgICAgdGhpcy5vYnNlcnZlTGlicmFyeU92ZXJsYXlzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlTGlicmFyeU92ZXJsYXlzKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fY29udGFpbmVyRWxlbWVudCkgcmV0dXJuO1xuXG4gICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcigoKSA9PiB7XG4gICAgICAvLyBEZWJvdW5jZSB1cGRhdGVzIHRvIGF2b2lkIGV4Y2Vzc2l2ZSBjaGVja3MgZHVyaW5nIHJhcGlkIERPTSBjaGFuZ2VzXG4gICAgICBpZiAodGhpcy51cGRhdGVUaW1lb3V0ICE9PSBudWxsKSB7XG4gICAgICAgIGNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMudXBkYXRlVGltZW91dCk7XG4gICAgICB9XG4gICAgICB0aGlzLnVwZGF0ZVRpbWVvdXQgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICB0aGlzLnVwZGF0ZUNvbnRhaW5lckNsYXNzKCk7XG4gICAgICAgIHRoaXMudXBkYXRlVGltZW91dCA9IG51bGw7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIG9ic2VydmVyLm9ic2VydmUodGhpcy5fY29udGFpbmVyRWxlbWVudCwge1xuICAgICAgY2hpbGRMaXN0OiB0cnVlLFxuICAgICAgc3VidHJlZTogdHJ1ZSxcbiAgICB9KTtcblxuICAgIC8vIEFsc28gY2hlY2sgaW1tZWRpYXRlbHkgaW4gY2FzZSBvdmVybGF5cyBhbHJlYWR5IGV4aXN0XG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHRoaXMudXBkYXRlQ29udGFpbmVyQ2xhc3MoKSk7XG4gIH1cblxuICBwcml2YXRlIGlzRWxlbWVudFZpc2libGUoZWxlbWVudDogRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCk7XG4gICAgLy8gQ2hlY2sgaWYgZWxlbWVudCBpcyB2aXNpYmxlIChub3QgZGlzcGxheTogbm9uZSwgbm90IG9wYWNpdHk6IDAsIG5vdCB2aXNpYmlsaXR5OiBoaWRkZW4pXG4gICAgY29uc3QgaXNEaXNwbGF5ZWQgPSBzdHlsZS5kaXNwbGF5ICE9PSAnbm9uZSc7XG4gICAgY29uc3QgaXNPcGFxdWUgPSBwYXJzZUZsb2F0KHN0eWxlLm9wYWNpdHkpID4gMC4wMTsgLy8gQWxsb3cgZm9yIHZlcnkgc21hbGwgb3BhY2l0eSB2YWx1ZXMgZHVyaW5nIGFuaW1hdGlvbnNcbiAgICBjb25zdCBpc1Zpc2libGUgPSBzdHlsZS52aXNpYmlsaXR5ICE9PSAnaGlkZGVuJztcbiAgICBcbiAgICAvLyBBbHNvIGNoZWNrIGlmIGVsZW1lbnQgaGFzIGRpbWVuc2lvbnMgKHdpZHRoL2hlaWdodCA+IDApXG4gICAgY29uc3QgcmVjdCA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgaGFzU2l6ZSA9IHJlY3Qud2lkdGggPiAwICYmIHJlY3QuaGVpZ2h0ID4gMDtcbiAgICBcbiAgICByZXR1cm4gaXNEaXNwbGF5ZWQgJiYgaXNPcGFxdWUgJiYgaXNWaXNpYmxlICYmIGhhc1NpemU7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUNvbnRhaW5lckNsYXNzKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fY29udGFpbmVyRWxlbWVudCkgcmV0dXJuO1xuXG4gICAgLy8gQ291bnQgbGlicmFyeSBvdmVybGF5cyAoZGlhbG9ncywgc2VsZWN0IHBhbmVscywgZGF0ZXBpY2tlciBwYW5lbHMpXG4gICAgLy8gT25seSBjb3VudCBvdmVybGF5cyB0aGF0IGFyZSBhY3R1YWxseSB2aXNpYmxlL2FjdGl2ZSAobm90IGhpZGRlbiBvciBjbG9zaW5nKVxuICAgIFxuICAgIC8vIExpYnJhcnkgZGlhbG9ncyAtIGNoZWNrIHZpc2liaWxpdHlcbiAgICBjb25zdCBsaWJyYXJ5RGlhbG9ncyA9IEFycmF5LmZyb20odGhpcy5fY29udGFpbmVyRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuY3FhLWRpYWxvZy1wYW5lbCcpKTtcbiAgICBjb25zdCB2aXNpYmxlTGlicmFyeURpYWxvZ3MgPSBsaWJyYXJ5RGlhbG9ncy5maWx0ZXIoZGlhbG9nID0+IHRoaXMuaXNFbGVtZW50VmlzaWJsZShkaWFsb2cpKS5sZW5ndGg7XG4gICAgXG4gICAgLy8gTGlicmFyeSBiYWNrZHJvcHMgLSBjaGVjayB2aXNpYmlsaXR5IChiYWNrZHJvcHMgY2FuIGJlIHRyYW5zcGFyZW50IGJ1dCBzdGlsbCBwcmVzZW50KVxuICAgIGNvbnN0IGxpYnJhcnlCYWNrZHJvcHMgPSBBcnJheS5mcm9tKHRoaXMuX2NvbnRhaW5lckVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmNxYS1kaWFsb2ctYmFja2Ryb3AnKSk7XG4gICAgY29uc3QgdmlzaWJsZUxpYnJhcnlCYWNrZHJvcHMgPSBsaWJyYXJ5QmFja2Ryb3BzLmZpbHRlcihiYWNrZHJvcCA9PiB7XG4gICAgICAvLyBCYWNrZHJvcHMgbWlnaHQgaGF2ZSBsb3cgb3BhY2l0eSBidXQgc2hvdWxkIHN0aWxsIGJlIGNvbnNpZGVyZWQgaWYgdGhleSdyZSBzaG93aW5nXG4gICAgICBjb25zdCBzdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGJhY2tkcm9wKTtcbiAgICAgIHJldHVybiBzdHlsZS5kaXNwbGF5ICE9PSAnbm9uZScgJiYgYmFja2Ryb3AuY2xhc3NMaXN0LmNvbnRhaW5zKCdjZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nJyk7XG4gICAgfSkubGVuZ3RoO1xuICAgIFxuICAgIC8vIFNlbGVjdCBwYW5lbHMgLSBjaGVjayB2aXNpYmlsaXR5XG4gICAgY29uc3Qgc2VsZWN0UGFuZWxzID0gQXJyYXkuZnJvbSh0aGlzLl9jb250YWluZXJFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5jdGMtc2VsZWN0LXBhbmVsJykpO1xuICAgIGNvbnN0IHZpc2libGVTZWxlY3RQYW5lbHMgPSBzZWxlY3RQYW5lbHMuZmlsdGVyKHBhbmVsID0+IHRoaXMuaXNFbGVtZW50VmlzaWJsZShwYW5lbCkpLmxlbmd0aDtcbiAgICBcbiAgICAvLyBEYXRlIHBhbmVscyAtIGNoZWNrIHZpc2liaWxpdHlcbiAgICBjb25zdCBkYXRlUGFuZWxzID0gQXJyYXkuZnJvbSh0aGlzLl9jb250YWluZXJFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5jdGMtZGF0ZS1yYW5nZS1wYW5lbCcpKTtcbiAgICBjb25zdCB2aXNpYmxlRGF0ZVBhbmVscyA9IGRhdGVQYW5lbHMuZmlsdGVyKHBhbmVsID0+IHRoaXMuaXNFbGVtZW50VmlzaWJsZShwYW5lbCkpLmxlbmd0aDtcbiAgICBcbiAgICBjb25zdCB0b3RhbExpYnJhcnlPdmVybGF5cyA9IHZpc2libGVMaWJyYXJ5RGlhbG9ncyArIHZpc2libGVMaWJyYXJ5QmFja2Ryb3BzICsgdmlzaWJsZVNlbGVjdFBhbmVscyArIHZpc2libGVEYXRlUGFuZWxzO1xuICAgIFxuICAgIC8vIENoZWNrIGZvciBwb3J0YWwgTWF0ZXJpYWwgZGlhbG9ncyAodGhvc2Ugd2l0aG91dCAuY3FhLWRpYWxvZy1wYW5lbCBjbGFzcylcbiAgICAvLyBQb3J0YWwgZGlhbG9ncyB1c2UgLm1hdC1kaWFsb2ctY29udGFpbmVyIGJ1dCBOT1QgLmNxYS1kaWFsb2ctcGFuZWxcbiAgICBjb25zdCBwb3J0YWxEaWFsb2dzID0gQXJyYXkuZnJvbSh0aGlzLl9jb250YWluZXJFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5tYXQtZGlhbG9nLWNvbnRhaW5lcjpub3QoLmNxYS1kaWFsb2ctcGFuZWwpJykpO1xuICAgIGNvbnN0IHZpc2libGVQb3J0YWxEaWFsb2dzID0gcG9ydGFsRGlhbG9ncy5maWx0ZXIoZGlhbG9nID0+IHRoaXMuaXNFbGVtZW50VmlzaWJsZShkaWFsb2cpKS5sZW5ndGg7XG5cbiAgICAvLyBEZWNpc2lvbiBsb2dpYzogT25seSBhZGQgY3FhLXVpLXJvb3Qgd2hlbiBWSVNJQkxFIGxpYnJhcnkgb3ZlcmxheXMgYXJlIHByZXNlbnRcbiAgICAvLyBUaGlzIGVuc3VyZXMgcG9ydGFsIE1hdGVyaWFsIGRpYWxvZ3MgZG9uJ3QgZ2V0IGFmZmVjdGVkIGJ5IGxpYnJhcnkgQ1NTXG4gICAgLy8gZXZlbiBpZiBsaWJyYXJ5IG92ZXJsYXlzIGFyZSBpbiB0aGUgRE9NIGJ1dCBjbG9zaW5nL2hpZGRlblxuICAgIFxuICAgIGlmICh0b3RhbExpYnJhcnlPdmVybGF5cyA+IDApIHtcbiAgICAgIC8vIFZpc2libGUgbGlicmFyeSBvdmVybGF5cyBleGlzdCAtIGFkZCB0aGUgY2xhc3MgKHRoZXkgbmVlZCBUYWlsd2luZCBzdHlsZXMgc2NvcGVkIHRvIC5jcWEtdWktcm9vdClcbiAgICAgIHRoaXMuX2NvbnRhaW5lckVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnY3FhLXVpLXJvb3QnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gTm8gdmlzaWJsZSBsaWJyYXJ5IG92ZXJsYXlzIGV4aXN0IC0gcmVtb3ZlIHRoZSBjbGFzc1xuICAgICAgLy8gVGhpcyBoYW5kbGVzOlxuICAgICAgLy8gMS4gT25seSBwb3J0YWwgZGlhbG9ncyBleGlzdCAoc2hvdWxkIG5vdCBoYXZlIGNxYS11aS1yb290KVxuICAgICAgLy8gMi4gTGlicmFyeSBvdmVybGF5cyBhcmUgY2xvc2luZy9oaWRkZW4gKHNob3VsZCBub3QgaGF2ZSBjcWEtdWktcm9vdClcbiAgICAgIC8vIDMuIE5vIG92ZXJsYXlzIGV4aXN0IGF0IGFsbCAoY2xlYW4gc3RhdGUpXG4gICAgICB0aGlzLl9jb250YWluZXJFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ2NxYS11aS1yb290Jyk7XG4gICAgfVxuICAgIFxuICAgIC8vIE5vdGU6IElmIGJvdGggbGlicmFyeSBvdmVybGF5cyBhbmQgcG9ydGFsIGRpYWxvZ3MgZXhpc3Qgc2ltdWx0YW5lb3VzbHkgYW5kIGFyZSB2aXNpYmxlLFxuICAgIC8vIHRoZSBjbGFzcyB3aWxsIGJlIHByZXNlbnQgYmVjYXVzZSBsaWJyYXJ5IG92ZXJsYXlzIG5lZWQgaXQuIEluIHRoaXMgY2FzZSxcbiAgICAvLyBwb3J0YWwgZGlhbG9ncyBtYXkgYmUgYWZmZWN0ZWQgYnkgbGlicmFyeSBDU1MuIFRvIGF2b2lkIHRoaXMsIGVuc3VyZSBsaWJyYXJ5XG4gICAgLy8gb3ZlcmxheXMgYXJlIGNsb3NlZCBiZWZvcmUgb3BlbmluZyBwb3J0YWwgZGlhbG9ncywgb3IgdXNlIENTUyBzcGVjaWZpY2l0eVxuICAgIC8vIHRvIG92ZXJyaWRlIGxpYnJhcnkgc3R5bGVzIHdpdGhpbiBwb3J0YWwgZGlhbG9ncy5cbiAgfVxufVxuXG5cbiJdfQ==
|
|
126
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHctb3ZlcmxheS1jb250YWluZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3V0aWxzL3R3LW92ZXJsYXktY29udGFpbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBRXhEOzs7Ozs7O0dBT0c7QUFFSCxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsZ0JBQWdCO0lBRDlEOztRQUVVLGtCQUFhLEdBQWtCLElBQUksQ0FBQztLQXdIN0M7SUF0SG9CLGdCQUFnQjtRQUNqQyxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN6QixJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUMxQix5RkFBeUY7WUFDekYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7WUFFdkQsNkVBQTZFO1lBQzdFLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1NBQy9CO0lBQ0gsQ0FBQztJQUVPLHNCQUFzQjtRQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQjtZQUFFLE9BQU87UUFFcEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUU7WUFDekMsc0VBQXNFO1lBQ3RFLElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxJQUFJLEVBQUU7Z0JBQy9CLG9CQUFvQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQzthQUMxQztZQUNELElBQUksQ0FBQyxhQUFhLEdBQUcscUJBQXFCLENBQUMsR0FBRyxFQUFFO2dCQUM5QyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztnQkFDNUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7WUFDNUIsQ0FBQyxDQUFDLENBQUM7UUFDTCxD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QWEsQ0FBQyxDQUFDO1NBQ3JEO2FBQU07WUFDTCxzREFBc0Q7WUFDdEQsZ0JBQWdCO1lBQ2hCLDZEQUE2RDtZQUM3RCx1RUFBdUU7WUFDdkUsNENBQTRDO1lBQzVDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ3hEO1FBRUQsMEVBQTBFO1FBQzFFLDRFQUE0RTtRQUM1RSwrRUFBK0U7UUFDL0UsNEVBQTRFO1FBQzVFLG9EQUFvRDtJQUN0RCxDQUFDOztxSEF4SFUsd0JBQXdCO3lIQUF4Qix3QkFBd0I7MkZBQXhCLHdCQUF3QjtrQkFEcEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE92ZXJsYXlDb250YWluZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5cbi8qKlxuICogRW5zdXJlcyBBbmd1bGFyIENESyBvdmVybGF5IGNvbnRlbnQgKGUuZy4sIE1hdFNlbGVjdCwgRGF0ZXBpY2tlciBwYW5lbHMsIGxpYnJhcnkgZGlhbG9ncylcbiAqIGlzIG5lc3RlZCB1bmRlciBhbiBlbGVtZW50IHdpdGggY2xhc3M9XCJjcWEtdWktcm9vdFwiIHNvIFRhaWx3aW5kIHV0aWxpdGllc1xuICogY29uZmlndXJlZCB3aXRoIGltcG9ydGFudDogJy5jcWEtdWktcm9vdCcgYXJlIGFwcGxpZWQgaW5zaWRlIG92ZXJsYXlzLlxuICogXG4gKiBJTVBPUlRBTlQ6IE9ubHkgc2V0cyBjbGFzcz1cImNxYS11aS1yb290XCIgd2hlbiBsaWJyYXJ5IG92ZXJsYXlzIGFyZSBwcmVzZW50LlxuICogUG9ydGFsIE1hdGVyaWFsIGRpYWxvZ3Mgc2hvdWxkIE5PVCBoYXZlIHRoaXMgY2xhc3MgdG8gcHJldmVudCBsaWJyYXJ5IENTUyBmcm9tIGFmZmVjdGluZyB0aGVtLlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVGFpbHdpbmRPdmVybGF5Q29udGFpbmVyIGV4dGVuZHMgT3ZlcmxheUNvbnRhaW5lciB7XG4gIHByaXZhdGUgdXBkYXRlVGltZW91dDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIF9jcmVhdGVDb250YWluZXIoKTogdm9pZCB7XG4gICAgc3VwZXIuX2NyZWF0ZUNvbnRhaW5lcigpO1xuICAgIGlmICh0aGlzLl9jb250YWluZXJFbGVtZW50KSB7XG4gICAgICAvLyBEb24ndCBzZXQgY2xhc3MgaW5pdGlhbGx5IC0gd2UnbGwgc2V0IGl0IGR5bmFtaWNhbGx5IHdoZW4gbGlicmFyeSBvdmVybGF5cyBhcmUgY3JlYXRlZFxuICAgICAgdGhpcy5fY29udGFpbmVyRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdjcWEtdWktcm9vdCcpO1xuICAgICAgXG4gICAgICAvLyBVc2UgTXV0YXRpb25PYnNlcnZlciB0byBkZXRlY3Qgd2hlbiBsaWJyYXJ5IG92ZXJsYXlzIGFyZSBjcmVhdGVkL2Rlc3Ryb3llZFxuICAgICAgdGhpcy5vYnNlcnZlTGlicmFyeU92ZXJsYXlzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlTGlicmFyeU92ZXJsYXlzKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fY29udGFpbmVyRWxlbWVudCkgcmV0dXJuO1xuXG4gICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcigoKSA9PiB7XG4gICAgICAvLyBEZWJvdW5jZSB1cGRhdGVzIHRvIGF2b2lkIGV4Y2Vzc2l2ZSBjaGVja3MgZHVyaW5nIHJhcGlkIERPTSBjaGFuZ2VzXG4gICAgICBpZiAodGhpcy51cGRhdGVUaW1lb3V0ICE9PSBudWxsKSB7XG4gICAgICAgIGNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMudXBkYXRlVGltZW91dCk7XG4gICAgICB9XG4gICAgICB0aGlzLnVwZGF0ZVRpbWVvdXQgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICB0aGlzLnVwZGF0ZUNvbnRhaW5lckNsYXNzKCk7XG4gICAgICAgIHRoaXMudXBkYXRlVGltZW91dCA9IG51bGw7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIG9ic2VydmVyLm9ic2VydmUodGhpcy5fY29udGFpbmVyRWxlbWVudCwge1xuICAgICAgY2hpbGRMaXN0OiB0cnVlLFxuICAgICAgc3VidHJlZTogdHJ1ZSxcbiAgICB9KTtcblxuICAgIC8vIEFsc28gY2hlY2sgaW1tZWRpYXRlbHkgaW4gY2FzZSBvdmVybGF5cyBhbHJlYWR5IGV4aXN0XG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHRoaXMudXBkYXRlQ29udGFpbmVyQ2xhc3MoKSk7XG4gIH1cblxuICBwcml2YXRlIGlzRWxlbWVudENsb3NpbmcoZWxlbWVudDogRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIC8vIENoZWNrIGlmIGVsZW1lbnQgaXMgY2xvc2luZyAodmVyeSBsb3cgb3BhY2l0eSBBTkQgc2hyaW5raW5nIGRpbWVuc2lvbnMpXG4gICAgY29uc3Qgc3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KTtcbiAgICBjb25zdCBvcGFjaXR5ID0gcGFyc2VGbG9hdChzdHlsZS5vcGFjaXR5KTtcbiAgICBjb25zdCByZWN0ID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBcbiAgICAvLyBJZiBvcGFjaXR5IGlzIHZlcnkgbG93ICg8IDAuMSkgQU5EIGRpbWVuc2lvbnMgYXJlIHZlcnkgc21hbGwsIGl0J3MgbGlrZWx5IGNsb3NpbmdcbiAgICAvLyBUaGlzIGhlbHBzIGZpbHRlciBvdXQgY2xvc2luZyBhbmltYXRpb25zIHdoaWxlIGFsbG93aW5nIG9wZW5pbmcgYW5pbWF0aW9uc1xuICAgIHJldHVybiBvcGFjaXR5IDwgMC4xICYmIChyZWN0LndpZHRoIDwgMTAgfHwgcmVjdC5oZWlnaHQgPCAxMCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUNvbnRhaW5lckNsYXNzKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fY29udGFpbmVyRWxlbWVudCkgcmV0dXJuO1xuXG4gICAgLy8gQ291bnQgbGlicmFyeSBvdmVybGF5cyAoZGlhbG9ncywgc2VsZWN0IHBhbmVscywgZGF0ZXBpY2tlciBwYW5lbHMpXG4gICAgLy8gQ291bnQgdGhlbSBpZiB0aGV5IGV4aXN0IGluIERPTSAoZXZlbiBkdXJpbmcgb3BlbmluZyBhbmltYXRpb25zKVxuICAgIC8vIEJ1dCBleGNsdWRlIHRoZW0gaWYgdGhleSdyZSBjbGVhcmx5IGNsb3NpbmcgKHZlcnkgbG93IG9wYWNpdHkgKyBzbWFsbCBzaXplKVxuICAgIFxuICAgIC8vIExpYnJhcnkgZGlhbG9ncyAtIGNvdW50IGlmIG5vdCBjbG9zaW5nXG4gICAgY29uc3QgbGlicmFyeURpYWxvZ3MgPSBBcnJheS5mcm9tKHRoaXMuX2NvbnRhaW5lckVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmNxYS1kaWFsb2ctcGFuZWwnKSk7XG4gICAgY29uc3QgYWN0aXZlTGlicmFyeURpYWxvZ3MgPSBsaWJyYXJ5RGlhbG9ncy5maWx0ZXIoZGlhbG9nID0+IHtcbiAgICAgIGNvbnN0IHN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZGlhbG9nKTtcbiAgICAgIHJldHVybiBzdHlsZS5kaXNwbGF5ICE9PSAnbm9uZScgJiYgIXRoaXMuaXNFbGVtZW50Q2xvc2luZyhkaWFsb2cpO1xuICAgIH0pLmxlbmd0aDtcbiAgICBcbiAgICAvLyBMaWJyYXJ5IGJhY2tkcm9wcyAtIGNoZWNrIGlmIHNob3dpbmcgKGJhY2tkcm9wcyBjYW4gYmUgdHJhbnNwYXJlbnQgYnV0IHN0aWxsIHByZXNlbnQpXG4gICAgY29uc3QgbGlicmFyeUJhY2tkcm9wcyA9IEFycmF5LmZyb20odGhpcy5fY29udGFpbmVyRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuY3FhLWRpYWxvZy1iYWNrZHJvcCcpKTtcbiAgICBjb25zdCBhY3RpdmVMaWJyYXJ5QmFja2Ryb3BzID0gbGlicmFyeUJhY2tkcm9wcy5maWx0ZXIoYmFja2Ryb3AgPT4ge1xuICAgICAgY29uc3Qgc3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShiYWNrZHJvcCk7XG4gICAgICAvLyBCYWNrZHJvcCBpcyBhY3RpdmUgaWYgaXQncyBzaG93aW5nIChoYXMgdGhlIHNob3dpbmcgY2xhc3MpIGFuZCBub3QgZGlzcGxheTogbm9uZVxuICAgICAgcmV0dXJuIHN0eWxlLmRpc3BsYXkgIT09ICdub25lJyAmJiBiYWNrZHJvcC5jbGFzc0xpc3QuY29udGFpbnMoJ2Nkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmcnKTtcbiAgICB9KS5sZW5ndGg7XG4gICAgXG4gICAgLy8gU2VsZWN0IHBhbmVscyAtIGNvdW50IGlmIG5vdCBjbG9zaW5nXG4gICAgY29uc3Qgc2VsZWN0UGFuZWxzID0gQXJyYXkuZnJvbSh0aGlzLl9jb250YWluZXJFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5jdGMtc2VsZWN0LXBhbmVsJykpO1xuICAgIGNvbnN0IGFjdGl2ZVNlbGVjdFBhbmVscyA9IHNlbGVjdFBhbmVscy5maWx0ZXIocGFuZWwgPT4ge1xuICAgICAgY29uc3Qgc3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShwYW5lbCk7XG4gICAgICByZXR1cm4gc3R5bGUuZGlzcGxheSAhPT0gJ25vbmUnICYmICF0aGlzLmlzRWxlbWVudENsb3NpbmcocGFuZWwpO1xuICAgIH0pLmxlbmd0aDtcbiAgICBcbiAgICAvLyBEYXRlIHBhbmVscyAtIGNvdW50IGlmIG5vdCBjbG9zaW5nXG4gICAgY29uc3QgZGF0ZVBhbmVscyA9IEFycmF5LmZyb20odGhpcy5fY29udGFpbmVyRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuY3RjLWRhdGUtcmFuZ2UtcGFuZWwnKSk7XG4gICAgY29uc3QgYWN0aXZlRGF0ZVBhbmVscyA9IGRhdGVQYW5lbHMuZmlsdGVyKHBhbmVsID0+IHtcbiAgICAgIGNvbnN0IHN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUocGFuZWwpO1xuICAgICAgcmV0dXJuIHN0eWxlLmRpc3BsYXkgIT09ICdub25lJyAmJiAhdGhpcy5pc0VsZW1lbnRDbG9zaW5nKHBhbmVsKTtcbiAgICB9KS5sZW5ndGg7XG4gICAgXG4gICAgY29uc3QgdG90YWxMaWJyYXJ5T3ZlcmxheXMgPSBhY3RpdmVMaWJyYXJ5RGlhbG9ncyArIGFjdGl2ZUxpYnJhcnlCYWNrZHJvcHMgKyBhY3RpdmVTZWxlY3RQYW5lbHMgKyBhY3RpdmVEYXRlUGFuZWxzO1xuICAgIFxuICAgIC8vIENoZWNrIGZvciBwb3J0YWwgTWF0ZXJpYWwgZGlhbG9ncyAodGhvc2Ugd2l0aG91dCAuY3FhLWRpYWxvZy1wYW5lbCBjbGFzcylcbiAgICAvLyBQb3J0YWwgZGlhbG9ncyB1c2UgLm1hdC1kaWFsb2ctY29udGFpbmVyIGJ1dCBOT1QgLmNxYS1kaWFsb2ctcGFuZWxcbiAgICAvLyBPbmx5IGNvdW50IHZpc2libGUgcG9ydGFsIGRpYWxvZ3MgdG8gYXZvaWQgZmFsc2UgcG9zaXRpdmVzXG4gICAgY29uc3QgcG9ydGFsRGlhbG9ncyA9IEFycmF5LmZyb20odGhpcy5fY29udGFpbmVyRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCcubWF0LWRpYWxvZy1jb250YWluZXI6bm90KC5jcWEtZGlhbG9nLXBhbmVsKScpKTtcbiAgICBjb25zdCB2aXNpYmxlUG9ydGFsRGlhbG9ncyA9IHBvcnRhbERpYWxvZ3MuZmlsdGVyKGRpYWxvZyA9PiB7XG4gICAgICBjb25zdCBzdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRpYWxvZyk7XG4gICAgICBjb25zdCByZWN0ID0gZGlhbG9nLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgcmV0dXJuIHN0eWxlLmRpc3BsYXkgIT09ICdub25lJyAmJiBcbiAgICAgICAgICAgICBwYXJzZUZsb2F0KHN0eWxlLm9wYWNpdHkpID4gMC4xICYmIFxuICAgICAgICAgICAgIHJlY3Qud2lkdGggPiAwICYmIFxuICAgICAgICAgICAgIHJlY3QuaGVpZ2h0ID4gMDtcbiAgICB9KS5sZW5ndGg7XG5cbiAgICAvLyBEZWNpc2lvbiBsb2dpYzogQWRkIGNxYS11aS1yb290IHdoZW4gbGlicmFyeSBvdmVybGF5cyBhcmUgcHJlc2VudCAoZXZlbiBkdXJpbmcgb3BlbmluZyBhbmltYXRpb25zKVxuICAgIC8vIFJlbW92ZSBpdCBvbmx5IHdoZW4gbGlicmFyeSBvdmVybGF5cyBhcmUgY2xlYXJseSBnb25lIG9yIGNsb3NpbmdcbiAgICAvLyBUaGlzIGVuc3VyZXMgbGlicmFyeSBvdmVybGF5cyBnZXQgc3R5bGVzIGltbWVkaWF0ZWx5LCB3aGlsZSBwb3J0YWwgZGlhbG9ncyBkb24ndCBnZXQgYWZmZWN0ZWRcbiAgICBcbiAgICBpZiAodG90YWxMaWJyYXJ5T3ZlcmxheXMgPiAwKSB7XG4gICAgICAvLyBMaWJyYXJ5IG92ZXJsYXlzIGV4aXN0IC0gYWRkIHRoZSBjbGFzcyAodGhleSBuZWVkIFRhaWx3aW5kIHN0eWxlcyBzY29wZWQgdG8gLmNxYS11aS1yb290KVxuICAgICAgdGhpcy5fY29udGFpbmVyRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdjcWEtdWktcm9vdCcpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBObyBhY3RpdmUgbGlicmFyeSBvdmVybGF5cyBleGlzdCAtIHJlbW92ZSB0aGUgY2xhc3NcbiAgICAgIC8vIFRoaXMgaGFuZGxlczpcbiAgICAgIC8vIDEuIE9ubHkgcG9ydGFsIGRpYWxvZ3MgZXhpc3QgKHNob3VsZCBub3QgaGF2ZSBjcWEtdWktcm9vdClcbiAgICAgIC8vIDIuIExpYnJhcnkgb3ZlcmxheXMgYXJlIGNsb3NpbmcvY2xvc2VkIChzaG91bGQgbm90IGhhdmUgY3FhLXVpLXJvb3QpXG4gICAgICAvLyAzLiBObyBvdmVybGF5cyBleGlzdCBhdCBhbGwgKGNsZWFuIHN0YXRlKVxuICAgICAgdGhpcy5fY29udGFpbmVyRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdjcWEtdWktcm9vdCcpO1xuICAgIH1cbiAgICBcbiAgICAvLyBOb3RlOiBJZiBib3RoIGxpYnJhcnkgb3ZlcmxheXMgYW5kIHBvcnRhbCBkaWFsb2dzIGV4aXN0IHNpbXVsdGFuZW91c2x5LFxuICAgIC8vIHRoZSBjbGFzcyB3aWxsIGJlIHByZXNlbnQgYmVjYXVzZSBsaWJyYXJ5IG92ZXJsYXlzIG5lZWQgaXQuIEluIHRoaXMgY2FzZSxcbiAgICAvLyBwb3J0YWwgZGlhbG9ncyBtYXkgYmUgYWZmZWN0ZWQgYnkgbGlicmFyeSBDU1MuIFRvIGF2b2lkIHRoaXMsIGVuc3VyZSBsaWJyYXJ5XG4gICAgLy8gb3ZlcmxheXMgYXJlIGNsb3NlZCBiZWZvcmUgb3BlbmluZyBwb3J0YWwgZGlhbG9ncywgb3IgdXNlIENTUyBzcGVjaWZpY2l0eVxuICAgIC8vIHRvIG92ZXJyaWRlIGxpYnJhcnkgc3R5bGVzIHdpdGhpbiBwb3J0YWwgZGlhbG9ncy5cbiAgfVxufVxuXG5cbiJdfQ==
|
|
@@ -4255,59 +4255,75 @@ class TailwindOverlayContainer extends OverlayContainer {
|
|
|
4255
4255
|
// Also check immediately in case overlays already exist
|
|
4256
4256
|
requestAnimationFrame(() => this.updateContainerClass());
|
|
4257
4257
|
}
|
|
4258
|
-
|
|
4258
|
+
isElementClosing(element) {
|
|
4259
|
+
// Check if element is closing (very low opacity AND shrinking dimensions)
|
|
4259
4260
|
const style = window.getComputedStyle(element);
|
|
4260
|
-
|
|
4261
|
-
const isDisplayed = style.display !== 'none';
|
|
4262
|
-
const isOpaque = parseFloat(style.opacity) > 0.01; // Allow for very small opacity values during animations
|
|
4263
|
-
const isVisible = style.visibility !== 'hidden';
|
|
4264
|
-
// Also check if element has dimensions (width/height > 0)
|
|
4261
|
+
const opacity = parseFloat(style.opacity);
|
|
4265
4262
|
const rect = element.getBoundingClientRect();
|
|
4266
|
-
|
|
4267
|
-
|
|
4263
|
+
// If opacity is very low (< 0.1) AND dimensions are very small, it's likely closing
|
|
4264
|
+
// This helps filter out closing animations while allowing opening animations
|
|
4265
|
+
return opacity < 0.1 && (rect.width < 10 || rect.height < 10);
|
|
4268
4266
|
}
|
|
4269
4267
|
updateContainerClass() {
|
|
4270
4268
|
if (!this._containerElement)
|
|
4271
4269
|
return;
|
|
4272
4270
|
// Count library overlays (dialogs, select panels, datepicker panels)
|
|
4273
|
-
//
|
|
4274
|
-
//
|
|
4271
|
+
// Count them if they exist in DOM (even during opening animations)
|
|
4272
|
+
// But exclude them if they're clearly closing (very low opacity + small size)
|
|
4273
|
+
// Library dialogs - count if not closing
|
|
4275
4274
|
const libraryDialogs = Array.from(this._containerElement.querySelectorAll('.cqa-dialog-panel'));
|
|
4276
|
-
const
|
|
4277
|
-
|
|
4275
|
+
const activeLibraryDialogs = libraryDialogs.filter(dialog => {
|
|
4276
|
+
const style = window.getComputedStyle(dialog);
|
|
4277
|
+
return style.display !== 'none' && !this.isElementClosing(dialog);
|
|
4278
|
+
}).length;
|
|
4279
|
+
// Library backdrops - check if showing (backdrops can be transparent but still present)
|
|
4278
4280
|
const libraryBackdrops = Array.from(this._containerElement.querySelectorAll('.cqa-dialog-backdrop'));
|
|
4279
|
-
const
|
|
4280
|
-
// Backdrops might have low opacity but should still be considered if they're showing
|
|
4281
|
+
const activeLibraryBackdrops = libraryBackdrops.filter(backdrop => {
|
|
4281
4282
|
const style = window.getComputedStyle(backdrop);
|
|
4283
|
+
// Backdrop is active if it's showing (has the showing class) and not display: none
|
|
4282
4284
|
return style.display !== 'none' && backdrop.classList.contains('cdk-overlay-backdrop-showing');
|
|
4283
4285
|
}).length;
|
|
4284
|
-
// Select panels -
|
|
4286
|
+
// Select panels - count if not closing
|
|
4285
4287
|
const selectPanels = Array.from(this._containerElement.querySelectorAll('.ctc-select-panel'));
|
|
4286
|
-
const
|
|
4287
|
-
|
|
4288
|
+
const activeSelectPanels = selectPanels.filter(panel => {
|
|
4289
|
+
const style = window.getComputedStyle(panel);
|
|
4290
|
+
return style.display !== 'none' && !this.isElementClosing(panel);
|
|
4291
|
+
}).length;
|
|
4292
|
+
// Date panels - count if not closing
|
|
4288
4293
|
const datePanels = Array.from(this._containerElement.querySelectorAll('.ctc-date-range-panel'));
|
|
4289
|
-
const
|
|
4290
|
-
|
|
4294
|
+
const activeDatePanels = datePanels.filter(panel => {
|
|
4295
|
+
const style = window.getComputedStyle(panel);
|
|
4296
|
+
return style.display !== 'none' && !this.isElementClosing(panel);
|
|
4297
|
+
}).length;
|
|
4298
|
+
const totalLibraryOverlays = activeLibraryDialogs + activeLibraryBackdrops + activeSelectPanels + activeDatePanels;
|
|
4291
4299
|
// Check for portal Material dialogs (those without .cqa-dialog-panel class)
|
|
4292
4300
|
// Portal dialogs use .mat-dialog-container but NOT .cqa-dialog-panel
|
|
4301
|
+
// Only count visible portal dialogs to avoid false positives
|
|
4293
4302
|
const portalDialogs = Array.from(this._containerElement.querySelectorAll('.mat-dialog-container:not(.cqa-dialog-panel)'));
|
|
4294
|
-
const visiblePortalDialogs = portalDialogs.filter(dialog =>
|
|
4295
|
-
|
|
4296
|
-
|
|
4297
|
-
|
|
4303
|
+
const visiblePortalDialogs = portalDialogs.filter(dialog => {
|
|
4304
|
+
const style = window.getComputedStyle(dialog);
|
|
4305
|
+
const rect = dialog.getBoundingClientRect();
|
|
4306
|
+
return style.display !== 'none' &&
|
|
4307
|
+
parseFloat(style.opacity) > 0.1 &&
|
|
4308
|
+
rect.width > 0 &&
|
|
4309
|
+
rect.height > 0;
|
|
4310
|
+
}).length;
|
|
4311
|
+
// Decision logic: Add cqa-ui-root when library overlays are present (even during opening animations)
|
|
4312
|
+
// Remove it only when library overlays are clearly gone or closing
|
|
4313
|
+
// This ensures library overlays get styles immediately, while portal dialogs don't get affected
|
|
4298
4314
|
if (totalLibraryOverlays > 0) {
|
|
4299
|
-
//
|
|
4315
|
+
// Library overlays exist - add the class (they need Tailwind styles scoped to .cqa-ui-root)
|
|
4300
4316
|
this._containerElement.classList.add('cqa-ui-root');
|
|
4301
4317
|
}
|
|
4302
4318
|
else {
|
|
4303
|
-
// No
|
|
4319
|
+
// No active library overlays exist - remove the class
|
|
4304
4320
|
// This handles:
|
|
4305
4321
|
// 1. Only portal dialogs exist (should not have cqa-ui-root)
|
|
4306
|
-
// 2. Library overlays are closing/
|
|
4322
|
+
// 2. Library overlays are closing/closed (should not have cqa-ui-root)
|
|
4307
4323
|
// 3. No overlays exist at all (clean state)
|
|
4308
4324
|
this._containerElement.classList.remove('cqa-ui-root');
|
|
4309
4325
|
}
|
|
4310
|
-
// Note: If both library overlays and portal dialogs exist simultaneously
|
|
4326
|
+
// Note: If both library overlays and portal dialogs exist simultaneously,
|
|
4311
4327
|
// the class will be present because library overlays need it. In this case,
|
|
4312
4328
|
// portal dialogs may be affected by library CSS. To avoid this, ensure library
|
|
4313
4329
|
// overlays are closed before opening portal dialogs, or use CSS specificity
|