@cqa-lib/cqa-ui 1.0.54 → 1.0.56
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 +14 -55
- package/fesm2015/cqa-lib-cqa-ui.mjs +13 -54
- package/fesm2015/cqa-lib-cqa-ui.mjs.map +1 -1
- package/fesm2020/cqa-lib-cqa-ui.mjs +13 -54
- package/fesm2020/cqa-lib-cqa-ui.mjs.map +1 -1
- package/lib/utils/tw-overlay-container.d.ts +0 -1
- package/package.json +1 -1
|
@@ -43,72 +43,31 @@ export class TailwindOverlayContainer extends OverlayContainer {
|
|
|
43
43
|
// Also check immediately in case overlays already exist
|
|
44
44
|
requestAnimationFrame(() => this.updateContainerClass());
|
|
45
45
|
}
|
|
46
|
-
isElementClosing(element) {
|
|
47
|
-
// Check if element is closing (very low opacity AND shrinking dimensions)
|
|
48
|
-
const style = window.getComputedStyle(element);
|
|
49
|
-
const opacity = parseFloat(style.opacity);
|
|
50
|
-
const rect = element.getBoundingClientRect();
|
|
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);
|
|
54
|
-
}
|
|
55
46
|
updateContainerClass() {
|
|
56
47
|
if (!this._containerElement)
|
|
57
48
|
return;
|
|
58
49
|
// Count library overlays (dialogs, select panels, datepicker panels)
|
|
59
|
-
//
|
|
60
|
-
//
|
|
61
|
-
|
|
62
|
-
const
|
|
63
|
-
const
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
}).length;
|
|
67
|
-
// Library backdrops - check if showing (backdrops can be transparent but still present)
|
|
68
|
-
const libraryBackdrops = Array.from(this._containerElement.querySelectorAll('.cqa-dialog-backdrop'));
|
|
69
|
-
const activeLibraryBackdrops = libraryBackdrops.filter(backdrop => {
|
|
70
|
-
const style = window.getComputedStyle(backdrop);
|
|
71
|
-
// Backdrop is active if it's showing (has the showing class) and not display: none
|
|
72
|
-
return style.display !== 'none' && backdrop.classList.contains('cdk-overlay-backdrop-showing');
|
|
73
|
-
}).length;
|
|
74
|
-
// Select panels - count if not closing
|
|
75
|
-
const selectPanels = Array.from(this._containerElement.querySelectorAll('.ctc-select-panel'));
|
|
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
|
|
81
|
-
const datePanels = Array.from(this._containerElement.querySelectorAll('.ctc-date-range-panel'));
|
|
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;
|
|
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;
|
|
87
57
|
// Check for portal Material dialogs (those without .cqa-dialog-panel class)
|
|
88
58
|
// Portal dialogs use .mat-dialog-container but NOT .cqa-dialog-panel
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
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
|
|
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
|
|
102
62
|
if (totalLibraryOverlays > 0) {
|
|
103
63
|
// Library overlays exist - add the class (they need Tailwind styles scoped to .cqa-ui-root)
|
|
104
64
|
this._containerElement.classList.add('cqa-ui-root');
|
|
105
65
|
}
|
|
106
66
|
else {
|
|
107
|
-
// No
|
|
108
|
-
// This handles:
|
|
67
|
+
// No library overlays exist - remove the class
|
|
68
|
+
// This handles both cases:
|
|
109
69
|
// 1. Only portal dialogs exist (should not have cqa-ui-root)
|
|
110
|
-
// 2.
|
|
111
|
-
// 3. No overlays exist at all (clean state)
|
|
70
|
+
// 2. No overlays exist at all (clean state)
|
|
112
71
|
this._containerElement.classList.remove('cqa-ui-root');
|
|
113
72
|
}
|
|
114
73
|
// Note: If both library overlays and portal dialogs exist simultaneously,
|
|
@@ -123,4 +82,4 @@ TailwindOverlayContainer.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0
|
|
|
123
82
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: TailwindOverlayContainer, decorators: [{
|
|
124
83
|
type: Injectable
|
|
125
84
|
}] });
|
|
126
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHctb3ZlcmxheS1jb250YWluZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3V0aWxzL3R3LW92ZXJsYXktY29udGFpbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBRXhEOzs7Ozs7O0dBT0c7QUFFSCxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsZ0JBQWdCO0lBRDlEOztRQUVVLGtCQUFhLEdBQWtCLElBQUksQ0FBQztLQXdIN0M7SUF0SG9CLGdCQUFnQjtRQUNqQyxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN6QixJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUMxQix5RkFBeUY7WUFDekYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7WUFFdkQsNkVBQTZFO1lBQzdFLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1NBQy9CO0lBQ0gsQ0FBQztJQUVPLHNCQUFzQjtRQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQjtZQUFFLE9BQU87UUFFcEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUU7WUFDekMsc0VBQXNFO1lBQ3RFLElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxJQUFJLEVBQUU7Z0JBQy9CLG9CQUFvQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQzthQUMxQztZQUNELElBQUksQ0FBQyxhQUFhLEdBQUcscUJBQXFCLENBQUMsR0FBRyxFQUFFO2dCQUM5QyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztnQkFDNUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7WUFDNUIsQ0FBQyxDQUFDLENBQUM7UUFDTCxD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QWEsQ0FBQyxDQUFDO1NBQ3JEO2FBQU07WUFDTCxzREFBc0Q7WUFDdEQsZ0JBQWdCO1lBQ2hCLDZEQUE2RDtZQUM3RCx1RUFBdUU7WUFDdkUsNENBQTRDO1lBQzVDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ3hEO1FBRUQsMEVBQTBFO1FBQzFFLDRFQUE0RTtRQUM1RSwrRUFBK0U7UUFDL0UsNEVBQTRFO1FBQzVFLG9EQUFvRDtJQUN0RCxDQUFDOztxSEF4SFUsd0JBQXdCO3lIQUF4Qix3QkFBd0I7MkZBQXhCLHdCQUF3QjtrQkFEcEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE92ZXJsYXlDb250YWluZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5cbi8qKlxuICogRW5zdXJlcyBBbmd1bGFyIENESyBvdmVybGF5IGNvbnRlbnQgKGUuZy4sIE1hdFNlbGVjdCwgRGF0ZXBpY2tlciBwYW5lbHMsIGxpYnJhcnkgZGlhbG9ncylcbiAqIGlzIG5lc3RlZCB1bmRlciBhbiBlbGVtZW50IHdpdGggY2xhc3M9XCJjcWEtdWktcm9vdFwiIHNvIFRhaWx3aW5kIHV0aWxpdGllc1xuICogY29uZmlndXJlZCB3aXRoIGltcG9ydGFudDogJy5jcWEtdWktcm9vdCcgYXJlIGFwcGxpZWQgaW5zaWRlIG92ZXJsYXlzLlxuICogXG4gKiBJTVBPUlRBTlQ6IE9ubHkgc2V0cyBjbGFzcz1cImNxYS11aS1yb290XCIgd2hlbiBsaWJyYXJ5IG92ZXJsYXlzIGFyZSBwcmVzZW50LlxuICogUG9ydGFsIE1hdGVyaWFsIGRpYWxvZ3Mgc2hvdWxkIE5PVCBoYXZlIHRoaXMgY2xhc3MgdG8gcHJldmVudCBsaWJyYXJ5IENTUyBmcm9tIGFmZmVjdGluZyB0aGVtLlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVGFpbHdpbmRPdmVybGF5Q29udGFpbmVyIGV4dGVuZHMgT3ZlcmxheUNvbnRhaW5lciB7XG4gIHByaXZhdGUgdXBkYXRlVGltZW91dDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIF9jcmVhdGVDb250YWluZXIoKTogdm9pZCB7XG4gICAgc3VwZXIuX2NyZWF0ZUNvbnRhaW5lcigpO1xuICAgIGlmICh0aGlzLl9jb250YWluZXJFbGVtZW50KSB7XG4gICAgICAvLyBEb24ndCBzZXQgY2xhc3MgaW5pdGlhbGx5IC0gd2UnbGwgc2V0IGl0IGR5bmFtaWNhbGx5IHdoZW4gbGlicmFyeSBvdmVybGF5cyBhcmUgY3JlYXRlZFxuICAgICAgdGhpcy5fY29udGFpbmVyRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdjcWEtdWktcm9vdCcpO1xuICAgICAgXG4gICAgICAvLyBVc2UgTXV0YXRpb25PYnNlcnZlciB0byBkZXRlY3Qgd2hlbiBsaWJyYXJ5IG92ZXJsYXlzIGFyZSBjcmVhdGVkL2Rlc3Ryb3llZFxuICAgICAgdGhpcy5vYnNlcnZlTGlicmFyeU92ZXJsYXlzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlTGlicmFyeU92ZXJsYXlzKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fY29udGFpbmVyRWxlbWVudCkgcmV0dXJuO1xuXG4gICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcigoKSA9PiB7XG4gICAgICAvLyBEZWJvdW5jZSB1cGRhdGVzIHRvIGF2b2lkIGV4Y2Vzc2l2ZSBjaGVja3MgZHVyaW5nIHJhcGlkIERPTSBjaGFuZ2VzXG4gICAgICBpZiAodGhpcy51cGRhdGVUaW1lb3V0ICE9PSBudWxsKSB7XG4gICAgICAgIGNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMudXBkYXRlVGltZW91dCk7XG4gICAgICB9XG4gICAgICB0aGlzLnVwZGF0ZVRpbWVvdXQgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICB0aGlzLnVwZGF0ZUNvbnRhaW5lckNsYXNzKCk7XG4gICAgICAgIHRoaXMudXBkYXRlVGltZW91dCA9IG51bGw7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIG9ic2VydmVyLm9ic2VydmUodGhpcy5fY29udGFpbmVyRWxlbWVudCwge1xuICAgICAgY2hpbGRMaXN0OiB0cnVlLFxuICAgICAgc3VidHJlZTogdHJ1ZSxcbiAgICB9KTtcblxuICAgIC8vIEFsc28gY2hlY2sgaW1tZWRpYXRlbHkgaW4gY2FzZSBvdmVybGF5cyBhbHJlYWR5IGV4aXN0XG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHRoaXMudXBkYXRlQ29udGFpbmVyQ2xhc3MoKSk7XG4gIH1cblxuICBwcml2YXRlIGlzRWxlbWVudENsb3NpbmcoZWxlbWVudDogRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIC8vIENoZWNrIGlmIGVsZW1lbnQgaXMgY2xvc2luZyAodmVyeSBsb3cgb3BhY2l0eSBBTkQgc2hyaW5raW5nIGRpbWVuc2lvbnMpXG4gICAgY29uc3Qgc3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KTtcbiAgICBjb25zdCBvcGFjaXR5ID0gcGFyc2VGbG9hdChzdHlsZS5vcGFjaXR5KTtcbiAgICBjb25zdCByZWN0ID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBcbiAgICAvLyBJZiBvcGFjaXR5IGlzIHZlcnkgbG93ICg8IDAuMSkgQU5EIGRpbWVuc2lvbnMgYXJlIHZlcnkgc21hbGwsIGl0J3MgbGlrZWx5IGNsb3NpbmdcbiAgICAvLyBUaGlzIGhlbHBzIGZpbHRlciBvdXQgY2xvc2luZyBhbmltYXRpb25zIHdoaWxlIGFsbG93aW5nIG9wZW5pbmcgYW5pbWF0aW9uc1xuICAgIHJldHVybiBvcGFjaXR5IDwgMC4xICYmIChyZWN0LndpZHRoIDwgMTAgfHwgcmVjdC5oZWlnaHQgPCAxMCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUNvbnRhaW5lckNsYXNzKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fY29udGFpbmVyRWxlbWVudCkgcmV0dXJuO1xuXG4gICAgLy8gQ291bnQgbGlicmFyeSBvdmVybGF5cyAoZGlhbG9ncywgc2VsZWN0IHBhbmVscywgZGF0ZXBpY2tlciBwYW5lbHMpXG4gICAgLy8gQ291bnQgdGhlbSBpZiB0aGV5IGV4aXN0IGluIERPTSAoZXZlbiBkdXJpbmcgb3BlbmluZyBhbmltYXRpb25zKVxuICAgIC8vIEJ1dCBleGNsdWRlIHRoZW0gaWYgdGhleSdyZSBjbGVhcmx5IGNsb3NpbmcgKHZlcnkgbG93IG9wYWNpdHkgKyBzbWFsbCBzaXplKVxuICAgIFxuICAgIC8vIExpYnJhcnkgZGlhbG9ncyAtIGNvdW50IGlmIG5vdCBjbG9zaW5nXG4gICAgY29uc3QgbGlicmFyeURpYWxvZ3MgPSBBcnJheS5mcm9tKHRoaXMuX2NvbnRhaW5lckVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmNxYS1kaWFsb2ctcGFuZWwnKSk7XG4gICAgY29uc3QgYWN0aXZlTGlicmFyeURpYWxvZ3MgPSBsaWJyYXJ5RGlhbG9ncy5maWx0ZXIoZGlhbG9nID0+IHtcbiAgICAgIGNvbnN0IHN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZGlhbG9nKTtcbiAgICAgIHJldHVybiBzdHlsZS5kaXNwbGF5ICE9PSAnbm9uZScgJiYgIXRoaXMuaXNFbGVtZW50Q2xvc2luZyhkaWFsb2cpO1xuICAgIH0pLmxlbmd0aDtcbiAgICBcbiAgICAvLyBMaWJyYXJ5IGJhY2tkcm9wcyAtIGNoZWNrIGlmIHNob3dpbmcgKGJhY2tkcm9wcyBjYW4gYmUgdHJhbnNwYXJlbnQgYnV0IHN0aWxsIHByZXNlbnQpXG4gICAgY29uc3QgbGlicmFyeUJhY2tkcm9wcyA9IEFycmF5LmZyb20odGhpcy5fY29udGFpbmVyRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuY3FhLWRpYWxvZy1iYWNrZHJvcCcpKTtcbiAgICBjb25zdCBhY3RpdmVMaWJyYXJ5QmFja2Ryb3BzID0gbGlicmFyeUJhY2tkcm9wcy5maWx0ZXIoYmFja2Ryb3AgPT4ge1xuICAgICAgY29uc3Qgc3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShiYWNrZHJvcCk7XG4gICAgICAvLyBCYWNrZHJvcCBpcyBhY3RpdmUgaWYgaXQncyBzaG93aW5nIChoYXMgdGhlIHNob3dpbmcgY2xhc3MpIGFuZCBub3QgZGlzcGxheTogbm9uZVxuICAgICAgcmV0dXJuIHN0eWxlLmRpc3BsYXkgIT09ICdub25lJyAmJiBiYWNrZHJvcC5jbGFzc0xpc3QuY29udGFpbnMoJ2Nkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmcnKTtcbiAgICB9KS5sZW5ndGg7XG4gICAgXG4gICAgLy8gU2VsZWN0IHBhbmVscyAtIGNvdW50IGlmIG5vdCBjbG9zaW5nXG4gICAgY29uc3Qgc2VsZWN0UGFuZWxzID0gQXJyYXkuZnJvbSh0aGlzLl9jb250YWluZXJFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5jdGMtc2VsZWN0LXBhbmVsJykpO1xuICAgIGNvbnN0IGFjdGl2ZVNlbGVjdFBhbmVscyA9IHNlbGVjdFBhbmVscy5maWx0ZXIocGFuZWwgPT4ge1xuICAgICAgY29uc3Qgc3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShwYW5lbCk7XG4gICAgICByZXR1cm4gc3R5bGUuZGlzcGxheSAhPT0gJ25vbmUnICYmICF0aGlzLmlzRWxlbWVudENsb3NpbmcocGFuZWwpO1xuICAgIH0pLmxlbmd0aDtcbiAgICBcbiAgICAvLyBEYXRlIHBhbmVscyAtIGNvdW50IGlmIG5vdCBjbG9zaW5nXG4gICAgY29uc3QgZGF0ZVBhbmVscyA9IEFycmF5LmZyb20odGhpcy5fY29udGFpbmVyRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuY3RjLWRhdGUtcmFuZ2UtcGFuZWwnKSk7XG4gICAgY29uc3QgYWN0aXZlRGF0ZVBhbmVscyA9IGRhdGVQYW5lbHMuZmlsdGVyKHBhbmVsID0+IHtcbiAgICAgIGNvbnN0IHN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUocGFuZWwpO1xuICAgICAgcmV0dXJuIHN0eWxlLmRpc3BsYXkgIT09ICdub25lJyAmJiAhdGhpcy5pc0VsZW1lbnRDbG9zaW5nKHBhbmVsKTtcbiAgICB9KS5sZW5ndGg7XG4gICAgXG4gICAgY29uc3QgdG90YWxMaWJyYXJ5T3ZlcmxheXMgPSBhY3RpdmVMaWJyYXJ5RGlhbG9ncyArIGFjdGl2ZUxpYnJhcnlCYWNrZHJvcHMgKyBhY3RpdmVTZWxlY3RQYW5lbHMgKyBhY3RpdmVEYXRlUGFuZWxzO1xuICAgIFxuICAgIC8vIENoZWNrIGZvciBwb3J0YWwgTWF0ZXJpYWwgZGlhbG9ncyAodGhvc2Ugd2l0aG91dCAuY3FhLWRpYWxvZy1wYW5lbCBjbGFzcylcbiAgICAvLyBQb3J0YWwgZGlhbG9ncyB1c2UgLm1hdC1kaWFsb2ctY29udGFpbmVyIGJ1dCBOT1QgLmNxYS1kaWFsb2ctcGFuZWxcbiAgICAvLyBPbmx5IGNvdW50IHZpc2libGUgcG9ydGFsIGRpYWxvZ3MgdG8gYXZvaWQgZmFsc2UgcG9zaXRpdmVzXG4gICAgY29uc3QgcG9ydGFsRGlhbG9ncyA9IEFycmF5LmZyb20odGhpcy5fY29udGFpbmVyRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCcubWF0LWRpYWxvZy1jb250YWluZXI6bm90KC5jcWEtZGlhbG9nLXBhbmVsKScpKTtcbiAgICBjb25zdCB2aXNpYmxlUG9ydGFsRGlhbG9ncyA9IHBvcnRhbERpYWxvZ3MuZmlsdGVyKGRpYWxvZyA9PiB7XG4gICAgICBjb25zdCBzdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRpYWxvZyk7XG4gICAgICBjb25zdCByZWN0ID0gZGlhbG9nLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgcmV0dXJuIHN0eWxlLmRpc3BsYXkgIT09ICdub25lJyAmJiBcbiAgICAgICAgICAgICBwYXJzZUZsb2F0KHN0eWxlLm9wYWNpdHkpID4gMC4xICYmIFxuICAgICAgICAgICAgIHJlY3Qud2lkdGggPiAwICYmIFxuICAgICAgICAgICAgIHJlY3QuaGVpZ2h0ID4gMDtcbiAgICB9KS5sZW5ndGg7XG5cbiAgICAvLyBEZWNpc2lvbiBsb2dpYzogQWRkIGNxYS11aS1yb290IHdoZW4gbGlicmFyeSBvdmVybGF5cyBhcmUgcHJlc2VudCAoZXZlbiBkdXJpbmcgb3BlbmluZyBhbmltYXRpb25zKVxuICAgIC8vIFJlbW92ZSBpdCBvbmx5IHdoZW4gbGlicmFyeSBvdmVybGF5cyBhcmUgY2xlYXJseSBnb25lIG9yIGNsb3NpbmdcbiAgICAvLyBUaGlzIGVuc3VyZXMgbGlicmFyeSBvdmVybGF5cyBnZXQgc3R5bGVzIGltbWVkaWF0ZWx5LCB3aGlsZSBwb3J0YWwgZGlhbG9ncyBkb24ndCBnZXQgYWZmZWN0ZWRcbiAgICBcbiAgICBpZiAodG90YWxMaWJyYXJ5T3ZlcmxheXMgPiAwKSB7XG4gICAgICAvLyBMaWJyYXJ5IG92ZXJsYXlzIGV4aXN0IC0gYWRkIHRoZSBjbGFzcyAodGhleSBuZWVkIFRhaWx3aW5kIHN0eWxlcyBzY29wZWQgdG8gLmNxYS11aS1yb290KVxuICAgICAgdGhpcy5fY29udGFpbmVyRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdjcWEtdWktcm9vdCcpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBObyBhY3RpdmUgbGlicmFyeSBvdmVybGF5cyBleGlzdCAtIHJlbW92ZSB0aGUgY2xhc3NcbiAgICAgIC8vIFRoaXMgaGFuZGxlczpcbiAgICAgIC8vIDEuIE9ubHkgcG9ydGFsIGRpYWxvZ3MgZXhpc3QgKHNob3VsZCBub3QgaGF2ZSBjcWEtdWktcm9vdClcbiAgICAgIC8vIDIuIExpYnJhcnkgb3ZlcmxheXMgYXJlIGNsb3NpbmcvY2xvc2VkIChzaG91bGQgbm90IGhhdmUgY3FhLXVpLXJvb3QpXG4gICAgICAvLyAzLiBObyBvdmVybGF5cyBleGlzdCBhdCBhbGwgKGNsZWFuIHN0YXRlKVxuICAgICAgdGhpcy5fY29udGFpbmVyRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdjcWEtdWktcm9vdCcpO1xuICAgIH1cbiAgICBcbiAgICAvLyBOb3RlOiBJZiBib3RoIGxpYnJhcnkgb3ZlcmxheXMgYW5kIHBvcnRhbCBkaWFsb2dzIGV4aXN0IHNpbXVsdGFuZW91c2x5LFxuICAgIC8vIHRoZSBjbGFzcyB3aWxsIGJlIHByZXNlbnQgYmVjYXVzZSBsaWJyYXJ5IG92ZXJsYXlzIG5lZWQgaXQuIEluIHRoaXMgY2FzZSxcbiAgICAvLyBwb3J0YWwgZGlhbG9ncyBtYXkgYmUgYWZmZWN0ZWQgYnkgbGlicmFyeSBDU1MuIFRvIGF2b2lkIHRoaXMsIGVuc3VyZSBsaWJyYXJ5XG4gICAgLy8gb3ZlcmxheXMgYXJlIGNsb3NlZCBiZWZvcmUgb3BlbmluZyBwb3J0YWwgZGlhbG9ncywgb3IgdXNlIENTUyBzcGVjaWZpY2l0eVxuICAgIC8vIHRvIG92ZXJyaWRlIGxpYnJhcnkgc3R5bGVzIHdpdGhpbiBwb3J0YWwgZGlhbG9ncy5cbiAgfVxufVxuXG5cbiJdfQ==
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHctb3ZlcmxheS1jb250YWluZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3V0aWxzL3R3LW92ZXJsYXktY29udGFpbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBRXhEOzs7Ozs7O0dBT0c7QUFFSCxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsZ0JBQWdCO0lBRDlEOztRQUVVLGtCQUFhLEdBQWtCLElBQUksQ0FBQztLQXlFN0M7SUF2RW9CLGdCQUFnQjtRQUNqQyxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN6QixJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUMxQix5RkFBeUY7WUFDekYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7WUFFdkQsNkVBQTZFO1lBQzdFLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1NBQy9CO0lBQ0gsQ0FBQztJQUVPLHNCQUFzQjtRQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQjtZQUFFLE9BQU87UUFFcEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUU7WUFDekMsc0VBQXNFO1lBQ3RFLElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxJQUFJLEVBQUU7Z0JBQy9CLG9CQUFvQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQzthQUMxQztZQUNELElBQUksQ0FBQyxhQUFhLEdBQUcscUJBQXFCLENBQUMsR0FBRyxFQUFFO2dCQUM5QyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztnQkFDNUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7WUFDNUIsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQ3ZDLFNBQVMsRUFBRSxJQUFJO1lBQ2YsT0FBTyxFQUFFLElBQUk7U0FDZCxDQUFDLENBQUM7UUFFSCx3REFBd0Q7UUFDeEQscUJBQXFCLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRU8sb0JBQW9CO1FBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCO1lBQUUsT0FBTztRQUVwQyxxRUFBcUU7UUFDckUsc0VBQXNFO1FBQ3RFLGtGQUFrRjtRQUNsRixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDM0YsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDaEcsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDaEcsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFFbEcsTUFBTSxvQkFBb0IsR0FBRyxjQUFjLEdBQUcsZ0JBQWdCLEdBQUcsbUJBQW1CLEdBQUcsaUJBQWlCLENBQUM7UUFFekcsNEVBQTRFO1FBQzVFLHFFQUFxRTtRQUNyRSxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsOENBQThDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFFckgseUVBQXlFO1FBQ3pFLHlFQUF5RTtRQUV6RSxJQUFJLG9CQUFvQixHQUFHLENBQUMsRUFBRTtZQUM1Qiw0RkFBNEY7WUFDNUYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDckQ7YUFBTTtZQUNMLCtDQUErQztZQUMvQywyQkFBMkI7WUFDM0IsNkRBQTZEO1lBQzdELDRDQUE0QztZQUM1QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUN4RDtRQUVELDBFQUEwRTtRQUMxRSw0RUFBNEU7UUFDNUUsK0VBQStFO1FBQy9FLDRFQUE0RTtRQUM1RSxvREFBb0Q7SUFDdEQsQ0FBQzs7cUhBekVVLHdCQUF3Qjt5SEFBeEIsd0JBQXdCOzJGQUF4Qix3QkFBd0I7a0JBRHBDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPdmVybGF5Q29udGFpbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuXG4vKipcbiAqIEVuc3VyZXMgQW5ndWxhciBDREsgb3ZlcmxheSBjb250ZW50IChlLmcuLCBNYXRTZWxlY3QsIERhdGVwaWNrZXIgcGFuZWxzLCBsaWJyYXJ5IGRpYWxvZ3MpXG4gKiBpcyBuZXN0ZWQgdW5kZXIgYW4gZWxlbWVudCB3aXRoIGNsYXNzPVwiY3FhLXVpLXJvb3RcIiBzbyBUYWlsd2luZCB1dGlsaXRpZXNcbiAqIGNvbmZpZ3VyZWQgd2l0aCBpbXBvcnRhbnQ6ICcuY3FhLXVpLXJvb3QnIGFyZSBhcHBsaWVkIGluc2lkZSBvdmVybGF5cy5cbiAqIFxuICogSU1QT1JUQU5UOiBPbmx5IHNldHMgY2xhc3M9XCJjcWEtdWktcm9vdFwiIHdoZW4gbGlicmFyeSBvdmVybGF5cyBhcmUgcHJlc2VudC5cbiAqIFBvcnRhbCBNYXRlcmlhbCBkaWFsb2dzIHNob3VsZCBOT1QgaGF2ZSB0aGlzIGNsYXNzIHRvIHByZXZlbnQgbGlicmFyeSBDU1MgZnJvbSBhZmZlY3RpbmcgdGhlbS5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRhaWx3aW5kT3ZlcmxheUNvbnRhaW5lciBleHRlbmRzIE92ZXJsYXlDb250YWluZXIge1xuICBwcml2YXRlIHVwZGF0ZVRpbWVvdXQ6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBfY3JlYXRlQ29udGFpbmVyKCk6IHZvaWQge1xuICAgIHN1cGVyLl9jcmVhdGVDb250YWluZXIoKTtcbiAgICBpZiAodGhpcy5fY29udGFpbmVyRWxlbWVudCkge1xuICAgICAgLy8gRG9uJ3Qgc2V0IGNsYXNzIGluaXRpYWxseSAtIHdlJ2xsIHNldCBpdCBkeW5hbWljYWxseSB3aGVuIGxpYnJhcnkgb3ZlcmxheXMgYXJlIGNyZWF0ZWRcbiAgICAgIHRoaXMuX2NvbnRhaW5lckVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnY3FhLXVpLXJvb3QnKTtcbiAgICAgIFxuICAgICAgLy8gVXNlIE11dGF0aW9uT2JzZXJ2ZXIgdG8gZGV0ZWN0IHdoZW4gbGlicmFyeSBvdmVybGF5cyBhcmUgY3JlYXRlZC9kZXN0cm95ZWRcbiAgICAgIHRoaXMub2JzZXJ2ZUxpYnJhcnlPdmVybGF5cygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZUxpYnJhcnlPdmVybGF5cygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2NvbnRhaW5lckVsZW1lbnQpIHJldHVybjtcblxuICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCkgPT4ge1xuICAgICAgLy8gRGVib3VuY2UgdXBkYXRlcyB0byBhdm9pZCBleGNlc3NpdmUgY2hlY2tzIGR1cmluZyByYXBpZCBET00gY2hhbmdlc1xuICAgICAgaWYgKHRoaXMudXBkYXRlVGltZW91dCAhPT0gbnVsbCkge1xuICAgICAgICBjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLnVwZGF0ZVRpbWVvdXQpO1xuICAgICAgfVxuICAgICAgdGhpcy51cGRhdGVUaW1lb3V0ID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgdGhpcy51cGRhdGVDb250YWluZXJDbGFzcygpO1xuICAgICAgICB0aGlzLnVwZGF0ZVRpbWVvdXQgPSBudWxsO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBvYnNlcnZlci5vYnNlcnZlKHRoaXMuX2NvbnRhaW5lckVsZW1lbnQsIHtcbiAgICAgIGNoaWxkTGlzdDogdHJ1ZSxcbiAgICAgIHN1YnRyZWU6IHRydWUsXG4gICAgfSk7XG5cbiAgICAvLyBBbHNvIGNoZWNrIGltbWVkaWF0ZWx5IGluIGNhc2Ugb3ZlcmxheXMgYWxyZWFkeSBleGlzdFxuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB0aGlzLnVwZGF0ZUNvbnRhaW5lckNsYXNzKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVDb250YWluZXJDbGFzcygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2NvbnRhaW5lckVsZW1lbnQpIHJldHVybjtcblxuICAgIC8vIENvdW50IGxpYnJhcnkgb3ZlcmxheXMgKGRpYWxvZ3MsIHNlbGVjdCBwYW5lbHMsIGRhdGVwaWNrZXIgcGFuZWxzKVxuICAgIC8vIFRoZXNlIGFyZSBsaWJyYXJ5LXNwZWNpZmljIGNsYXNzZXMgdGhhdCBpbmRpY2F0ZSBsaWJyYXJ5IGNvbXBvbmVudHNcbiAgICAvLyBPbmx5IGNvdW50IG92ZXJsYXlzIHRoYXQgYXJlIGFjdHVhbGx5IGluIHRoZSBET00gKENESyByZW1vdmVzIHRoZW0gd2hlbiBjbG9zZWQpXG4gICAgY29uc3QgbGlicmFyeURpYWxvZ3MgPSB0aGlzLl9jb250YWluZXJFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5jcWEtZGlhbG9nLXBhbmVsJykubGVuZ3RoO1xuICAgIGNvbnN0IGxpYnJhcnlCYWNrZHJvcHMgPSB0aGlzLl9jb250YWluZXJFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5jcWEtZGlhbG9nLWJhY2tkcm9wJykubGVuZ3RoO1xuICAgIGNvbnN0IGxpYnJhcnlTZWxlY3RQYW5lbHMgPSB0aGlzLl9jb250YWluZXJFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5jdGMtc2VsZWN0LXBhbmVsJykubGVuZ3RoO1xuICAgIGNvbnN0IGxpYnJhcnlEYXRlUGFuZWxzID0gdGhpcy5fY29udGFpbmVyRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuY3RjLWRhdGUtcmFuZ2UtcGFuZWwnKS5sZW5ndGg7XG4gICAgXG4gICAgY29uc3QgdG90YWxMaWJyYXJ5T3ZlcmxheXMgPSBsaWJyYXJ5RGlhbG9ncyArIGxpYnJhcnlCYWNrZHJvcHMgKyBsaWJyYXJ5U2VsZWN0UGFuZWxzICsgbGlicmFyeURhdGVQYW5lbHM7XG4gICAgXG4gICAgLy8gQ2hlY2sgZm9yIHBvcnRhbCBNYXRlcmlhbCBkaWFsb2dzICh0aG9zZSB3aXRob3V0IC5jcWEtZGlhbG9nLXBhbmVsIGNsYXNzKVxuICAgIC8vIFBvcnRhbCBkaWFsb2dzIHVzZSAubWF0LWRpYWxvZy1jb250YWluZXIgYnV0IE5PVCAuY3FhLWRpYWxvZy1wYW5lbFxuICAgIGNvbnN0IHBvcnRhbERpYWxvZ3MgPSB0aGlzLl9jb250YWluZXJFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5tYXQtZGlhbG9nLWNvbnRhaW5lcjpub3QoLmNxYS1kaWFsb2ctcGFuZWwpJykubGVuZ3RoO1xuXG4gICAgLy8gRGVjaXNpb24gbG9naWM6IE9ubHkgYWRkIGNxYS11aS1yb290IHdoZW4gbGlicmFyeSBvdmVybGF5cyBhcmUgcHJlc2VudFxuICAgIC8vIFRoaXMgZW5zdXJlcyBwb3J0YWwgTWF0ZXJpYWwgZGlhbG9ncyBkb24ndCBnZXQgYWZmZWN0ZWQgYnkgbGlicmFyeSBDU1NcbiAgICBcbiAgICBpZiAodG90YWxMaWJyYXJ5T3ZlcmxheXMgPiAwKSB7XG4gICAgICAvLyBMaWJyYXJ5IG92ZXJsYXlzIGV4aXN0IC0gYWRkIHRoZSBjbGFzcyAodGhleSBuZWVkIFRhaWx3aW5kIHN0eWxlcyBzY29wZWQgdG8gLmNxYS11aS1yb290KVxuICAgICAgdGhpcy5fY29udGFpbmVyRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdjcWEtdWktcm9vdCcpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBObyBsaWJyYXJ5IG92ZXJsYXlzIGV4aXN0IC0gcmVtb3ZlIHRoZSBjbGFzc1xuICAgICAgLy8gVGhpcyBoYW5kbGVzIGJvdGggY2FzZXM6XG4gICAgICAvLyAxLiBPbmx5IHBvcnRhbCBkaWFsb2dzIGV4aXN0IChzaG91bGQgbm90IGhhdmUgY3FhLXVpLXJvb3QpXG4gICAgICAvLyAyLiBObyBvdmVybGF5cyBleGlzdCBhdCBhbGwgKGNsZWFuIHN0YXRlKVxuICAgICAgdGhpcy5fY29udGFpbmVyRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdjcWEtdWktcm9vdCcpO1xuICAgIH1cbiAgICBcbiAgICAvLyBOb3RlOiBJZiBib3RoIGxpYnJhcnkgb3ZlcmxheXMgYW5kIHBvcnRhbCBkaWFsb2dzIGV4aXN0IHNpbXVsdGFuZW91c2x5LFxuICAgIC8vIHRoZSBjbGFzcyB3aWxsIGJlIHByZXNlbnQgYmVjYXVzZSBsaWJyYXJ5IG92ZXJsYXlzIG5lZWQgaXQuIEluIHRoaXMgY2FzZSxcbiAgICAvLyBwb3J0YWwgZGlhbG9ncyBtYXkgYmUgYWZmZWN0ZWQgYnkgbGlicmFyeSBDU1MuIFRvIGF2b2lkIHRoaXMsIGVuc3VyZSBsaWJyYXJ5XG4gICAgLy8gb3ZlcmxheXMgYXJlIGNsb3NlZCBiZWZvcmUgb3BlbmluZyBwb3J0YWwgZGlhbG9ncywgb3IgdXNlIENTUyBzcGVjaWZpY2l0eVxuICAgIC8vIHRvIG92ZXJyaWRlIGxpYnJhcnkgc3R5bGVzIHdpdGhpbiBwb3J0YWwgZGlhbG9ncy5cbiAgfVxufVxuXG5cbiJdfQ==
|
|
@@ -4255,72 +4255,31 @@ class TailwindOverlayContainer extends OverlayContainer {
|
|
|
4255
4255
|
// Also check immediately in case overlays already exist
|
|
4256
4256
|
requestAnimationFrame(() => this.updateContainerClass());
|
|
4257
4257
|
}
|
|
4258
|
-
isElementClosing(element) {
|
|
4259
|
-
// Check if element is closing (very low opacity AND shrinking dimensions)
|
|
4260
|
-
const style = window.getComputedStyle(element);
|
|
4261
|
-
const opacity = parseFloat(style.opacity);
|
|
4262
|
-
const rect = element.getBoundingClientRect();
|
|
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);
|
|
4266
|
-
}
|
|
4267
4258
|
updateContainerClass() {
|
|
4268
4259
|
if (!this._containerElement)
|
|
4269
4260
|
return;
|
|
4270
4261
|
// Count library overlays (dialogs, select panels, datepicker panels)
|
|
4271
|
-
//
|
|
4272
|
-
//
|
|
4273
|
-
|
|
4274
|
-
const
|
|
4275
|
-
const
|
|
4276
|
-
|
|
4277
|
-
|
|
4278
|
-
}).length;
|
|
4279
|
-
// Library backdrops - check if showing (backdrops can be transparent but still present)
|
|
4280
|
-
const libraryBackdrops = Array.from(this._containerElement.querySelectorAll('.cqa-dialog-backdrop'));
|
|
4281
|
-
const activeLibraryBackdrops = libraryBackdrops.filter(backdrop => {
|
|
4282
|
-
const style = window.getComputedStyle(backdrop);
|
|
4283
|
-
// Backdrop is active if it's showing (has the showing class) and not display: none
|
|
4284
|
-
return style.display !== 'none' && backdrop.classList.contains('cdk-overlay-backdrop-showing');
|
|
4285
|
-
}).length;
|
|
4286
|
-
// Select panels - count if not closing
|
|
4287
|
-
const selectPanels = Array.from(this._containerElement.querySelectorAll('.ctc-select-panel'));
|
|
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
|
|
4293
|
-
const datePanels = Array.from(this._containerElement.querySelectorAll('.ctc-date-range-panel'));
|
|
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;
|
|
4262
|
+
// These are library-specific classes that indicate library components
|
|
4263
|
+
// Only count overlays that are actually in the DOM (CDK removes them when closed)
|
|
4264
|
+
const libraryDialogs = this._containerElement.querySelectorAll('.cqa-dialog-panel').length;
|
|
4265
|
+
const libraryBackdrops = this._containerElement.querySelectorAll('.cqa-dialog-backdrop').length;
|
|
4266
|
+
const librarySelectPanels = this._containerElement.querySelectorAll('.ctc-select-panel').length;
|
|
4267
|
+
const libraryDatePanels = this._containerElement.querySelectorAll('.ctc-date-range-panel').length;
|
|
4268
|
+
const totalLibraryOverlays = libraryDialogs + libraryBackdrops + librarySelectPanels + libraryDatePanels;
|
|
4299
4269
|
// Check for portal Material dialogs (those without .cqa-dialog-panel class)
|
|
4300
4270
|
// Portal dialogs use .mat-dialog-container but NOT .cqa-dialog-panel
|
|
4301
|
-
|
|
4302
|
-
|
|
4303
|
-
|
|
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
|
|
4271
|
+
const portalDialogs = this._containerElement.querySelectorAll('.mat-dialog-container:not(.cqa-dialog-panel)').length;
|
|
4272
|
+
// Decision logic: Only add cqa-ui-root when library overlays are present
|
|
4273
|
+
// This ensures portal Material dialogs don't get affected by library CSS
|
|
4314
4274
|
if (totalLibraryOverlays > 0) {
|
|
4315
4275
|
// Library overlays exist - add the class (they need Tailwind styles scoped to .cqa-ui-root)
|
|
4316
4276
|
this._containerElement.classList.add('cqa-ui-root');
|
|
4317
4277
|
}
|
|
4318
4278
|
else {
|
|
4319
|
-
// No
|
|
4320
|
-
// This handles:
|
|
4279
|
+
// No library overlays exist - remove the class
|
|
4280
|
+
// This handles both cases:
|
|
4321
4281
|
// 1. Only portal dialogs exist (should not have cqa-ui-root)
|
|
4322
|
-
// 2.
|
|
4323
|
-
// 3. No overlays exist at all (clean state)
|
|
4282
|
+
// 2. No overlays exist at all (clean state)
|
|
4324
4283
|
this._containerElement.classList.remove('cqa-ui-root');
|
|
4325
4284
|
}
|
|
4326
4285
|
// Note: If both library overlays and portal dialogs exist simultaneously,
|