@agorapulse/ui-components 15.0.3 → 15.0.4
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/agorapulse-ui-components-15.0.4.tgz +0 -0
- package/esm2020/popmenu/popmenu.component.mjs +4 -2
- package/fesm2015/agorapulse-ui-components-popmenu.mjs +3 -1
- package/fesm2015/agorapulse-ui-components-popmenu.mjs.map +1 -1
- package/fesm2020/agorapulse-ui-components-popmenu.mjs +3 -1
- package/fesm2020/agorapulse-ui-components-popmenu.mjs.map +1 -1
- package/package.json +1 -1
- package/snackbars-thread/component/snackbars-thread.component.d.ts +1 -1
- package/agorapulse-ui-components-15.0.3.tgz +0 -0
|
Binary file
|
|
@@ -18,7 +18,9 @@ export class PopmenuComponent {
|
|
|
18
18
|
}
|
|
19
19
|
set close(value) {
|
|
20
20
|
if (value) {
|
|
21
|
-
|
|
21
|
+
setTimeout(() => {
|
|
22
|
+
this.trigger.closeMenu();
|
|
23
|
+
}, 100);
|
|
22
24
|
}
|
|
23
25
|
}
|
|
24
26
|
get arrow() {
|
|
@@ -369,4 +371,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImpor
|
|
|
369
371
|
}], close: [{
|
|
370
372
|
type: Input
|
|
371
373
|
}] } });
|
|
372
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvcG9wbWVudS9zcmMvcG9wbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvcG9wbWVudS9zcmMvcG9wbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ2hFLE9BQU8sRUFFSCx1QkFBdUIsRUFFdkIsU0FBUyxFQUVULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUNMLE1BQU0sRUFFTixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLHFCQUFxQixJQUFJLGVBQWUsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pGLE9BQU8sRUFBQyxtQkFBbUIsSUFBSSxhQUFhLEVBQUUsb0JBQW9CLElBQUksY0FBYyxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDM0gsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQzs7OztBQVUzQixNQUFNLE9BQU8sZ0JBQWdCO0lBNEJ6QixJQUFJLElBQUk7UUFDSixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQWEsSUFBSSxDQUFDLEtBQWM7UUFDNUIsSUFBSSxLQUFLLEVBQUU7WUFDUCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDdEI7UUFDRCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBYSxLQUFLLENBQUMsS0FBYztRQUM3QixJQUFJLEtBQUssRUFBRTtZQUNQLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDNUI7SUFDTCxDQUFDO0lBSUQsSUFBSSxLQUFLO1FB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LFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFDb0IsT0FBTztzQkFBakMsU0FBUzt1QkFBQyxjQUFjO2dCQUNDLFlBQVk7c0JBQXJDLFdBQVc7dUJBQUMsV0FBVztnQkFDWSxxQkFBcUI7c0JBQXhELFdBQVc7dUJBQUMscUJBQXFCO2dCQUNQLGFBQWE7c0JBQXZDLFdBQVc7dUJBQUMsWUFBWTtnQkFDSyxlQUFlO3NCQUE1QyxXQUFXO3VCQUFDLGVBQWU7Z0JBQ0ssbUJBQW1CO3NCQUFuRCxXQUFXO3VCQUFDLGtCQUFrQjtnQkFDSCxjQUFjO3NCQUF6QyxXQUFXO3VCQUFDLGFBQWE7Z0JBQ00saUJBQWlCO3NCQUFoRCxXQUFXO3VCQUFDLGlCQUFpQjtnQkFDTyxzQkFBc0I7c0JBQTFELFdBQVc7dUJBQUMsc0JBQXNCO2dCQUNBLGFBQWE7c0JBQS9DLFdBQVc7dUJBQUMsb0JBQW9CO2dCQUNJLGVBQWU7c0JBQW5ELFdBQVc7dUJBQUMsc0JBQXNCO2dCQUNDLGNBQWM7c0JBQWpELFdBQVc7dUJBQUMscUJBQXFCO2dCQVNyQixJQUFJO3NCQUFoQixLQUFLO2dCQU9PLEtBQUs7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nSWYsIE5nU3R5bGUsIE5nVGVtcGxhdGVPdXRsZXR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBSZW5kZXJlcjIsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TWF0TGVnYWN5QnV0dG9uTW9kdWxlIGFzIE1hdEJ1dHRvbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LWJ1dHRvbic7XG5pbXBvcnQge01hdExlZ2FjeU1lbnVNb2R1bGUgYXMgTWF0TWVudU1vZHVsZSwgTWF0TGVnYWN5TWVudVRyaWdnZXIgYXMgTWF0TWVudVRyaWdnZXJ9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS1tZW51JztcbmltcG9ydCB7bWVyZ2V9IGZyb20gXCJyeGpzXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHNlbGVjdG9yOiAnYXAtcG9wbWVudScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3BvcG1lbnUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3BvcG1lbnUuY29tcG9uZW50LnNjc3MnXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtNYXRCdXR0b25Nb2R1bGUsIE1hdE1lbnVNb2R1bGUsIE5nU3R5bGUsIE5nVGVtcGxhdGVPdXRsZXQsIE5nSWZdLFxufSlcbmV4cG9ydCBjbGFzcyBQb3BtZW51Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgQElucHV0KCkgZGF0YTogYW55O1xuICAgIGV2ZW50cyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBhcnJvd1RvcFBvc2l0aW9uID0gJzUwJSc7XG4gICAgYXJyb3dCb3R0b21Qb3NpdGlvbiA9ICc1MCUnO1xuICAgIGFycm93TGVmdFBvc2l0aW9uOiBzdHJpbmc7XG4gICAgYXJyb3dSaWdodFBvc2l0aW9uOiBzdHJpbmc7XG4gICAgYXJyb3dDbGFzczogc3RyaW5nO1xuICAgIGJlbG93O1xuICAgIGJlZm9yZTtcbiAgICBAT3V0cHV0KCkgbWVudUNsb3NlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgbWVudU9wZW5lZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAVmlld0NoaWxkKE1hdE1lbnVUcmlnZ2VyKSB0cmlnZ2VyOiBNYXRNZW51VHJpZ2dlcjtcbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLnRvcCcpIGhvc3RTdHlsZVRvcDogc3RyaW5nO1xuICAgIEBIb3N0QmluZGluZygnc3R5bGUuYm9yZGVyLXJhZGl1cycpIGhvc3RTdHlsZUJvcmRlclJhZGl1czogc3RyaW5nO1xuICAgIEBIb3N0QmluZGluZygnc3R5bGUubGVmdCcpIGhvc3RTdHlsZUxlZnQ6IHN0cmluZztcbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLnotaW5kZXgnKSBob3N0U3R5bGVaSW5kZXg6IG51bWJlcjtcbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLnRyYW5zaXRpb24nKSBob3N0U3R5bGVUcmFuc2l0aW9uOiBzdHJpbmc7XG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS53aWR0aCcpIGhvc3RTdHlsZVdpZHRoOiBzdHJpbmc7XG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5tYXgtd2lkdGgnKSBob3N0U3R5bGVNYXhXaWR0aDogc3RyaW5nO1xuICAgIEBIb3N0QmluZGluZygnc3R5bGUucG9pbnRlci1ldmVudHMnKSBob3N0U3R5bGVQb2ludGVyRXZlbnRzOiBzdHJpbmc7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy50b29sdGlwLXNob3cnKSBob3N0Q2xhc3NTaG93OiBib29sZWFuO1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MudG9vbHRpcC1zaGFkb3cnKSBob3N0Q2xhc3NTaGFkb3c6IGJvb2xlYW47XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy50b29sdGlwLWxpZ2h0JykgaG9zdENsYXNzTGlnaHQ6IGJvb2xlYW47XG4gICAgdmlld0luaXQgPSBmYWxzZTtcblxuICAgIF9zaG93ID0gZmFsc2U7XG5cbiAgICBnZXQgc2hvdygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Nob3c7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IHNob3codmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnNldFBvc2l0aW9uKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fc2hvdyA9IHZhbHVlO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBjbG9zZSh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMudHJpZ2dlci5jbG9zZU1lbnUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG1lbnVPcGVuOiBib29sZWFuO1xuXG4gICAgZ2V0IGFycm93KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLm9wdGlvbnMuYXJyb3cgJiYgdGhpcy5ib3JkZXI7XG4gICAgfVxuXG4gICAgZ2V0IGFycm93T2Zmc2V0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLm9wdGlvbnMuYXJyb3dPZmZzZXQ7XG4gICAgfVxuXG4gICAgZ2V0IGFycm93UG9zaXRpb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEub3B0aW9ucy5hcnJvd1Bvc2l0aW9uO1xuICAgIH1cblxuICAgIGdldCBhdXRvUGxhY2VtZW50KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLm9wdGlvbnMuYXV0b1BsYWNlbWVudDtcbiAgICB9XG5cbiAgICBnZXQgYmFja2dyb3VuZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5vcHRpb25zLmFwUG9wbWVudUJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgZ2V0IGJvcmRlcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5vcHRpb25zLmFwUG9wbWVudUJvcmRlcjtcbiAgICB9XG5cbiAgICBnZXQgZWxlbWVudCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5lbGVtZW50O1xuICAgIH1cblxuICAgIGdldCBlbGVtZW50UG9zaXRpb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuZWxlbWVudFBvc2l0aW9uO1xuICAgIH1cblxuICAgIGdldCBoYXNCYWNrZHJvcCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5vcHRpb25zLmhhc0JhY2tkcm9wO1xuICAgIH1cblxuICAgIGdldCBiYWNrZHJvcENsYXNzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLm9wdGlvbnMuYmFja2Ryb3BDbGFzcztcbiAgICB9XG5cbiAgICBnZXQgaXNUaGVtZUxpZ2h0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zWyd0aGVtZSddID09PSAnbGlnaHQnO1xuICAgIH1cblxuICAgIGdldCBvcHRpb25zKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLm9wdGlvbnM7XG4gICAgfVxuXG4gICAgZ2V0IHBhbmVsQ2xhc3MoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEub3B0aW9ucy5wYW5lbENsYXNzO1xuICAgIH1cblxuICAgIGdldCBwbGFjZW1lbnQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEub3B0aW9ucy5wbGFjZW1lbnQ7XG4gICAgfVxuXG4gICAgZ2V0IHJvdW5kZWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEub3B0aW9ucy5yb3VuZGVkO1xuICAgIH1cblxuICAgIGdldCBzaGFkb3coKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEub3B0aW9ucy5zaGFkb3c7XG4gICAgfVxuXG4gICAgZ2V0IHRvb2x0aXBPZmZzZXQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIE51bWJlcih0aGlzLmRhdGEub3B0aW9ucy5vZmZzZXQpO1xuICAgIH1cblxuICAgIGdldCBvZmZzZXRTa2lkZGluZygpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gTnVtYmVyKHRoaXMuZGF0YS5vcHRpb25zLm9mZnNldHMuc2tpZGRpbmcpIHx8IDA7XG4gICAgfVxuXG4gICAgZ2V0IG9mZnNldERpc3RhbmNlKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBOdW1iZXIodGhpcy5kYXRhLm9wdGlvbnMub2Zmc2V0cy5kaXN0YW5jZSB8fCAwKTtcbiAgICB9XG5cbiAgICBnZXQgdmFsdWUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEudmFsdWU7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgICApIHt9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHRoaXMudmlld0luaXQgPSB0cnVlO1xuICAgICAgICBtZXJnZSh0aGlzLnRyaWdnZXIubWVudU9wZW5lZCx0aGlzLnRyaWdnZXIubWVudUNsb3NlZCkuc3Vic2NyaWJlKCgpPT57XG4gICAgICAgICAgICB0aGlzLm1lbnVPcGVuID0gdGhpcy50cmlnZ2VyLm1lbnVPcGVuO1xuICAgICAgICB9KVxuICAgIH1cblxuICAgIG9uTWVudUNsb3NlZCgpIHtcbiAgICAgICAgLy8gd2Ugc2V0IGEgdGltZW91dCB0byB3YWl0IGZvciB0aGUgbWVudSB0byBiZSByZWFsbHkgY2xvc2VkXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5tZW51Q2xvc2VkLmVtaXQoKSwgMjAwKTtcbiAgICB9XG5cbiAgICBvbk1lbnVPcGVuZWQoKSB7XG4gICAgICAgIC8vIHdlIHNldCBhIHRpbWVvdXQgdG8gd2FpdCBmb3IgdGhlIG1lbnUgdG8gYmUgcmVhbGx5IG9wZW5lZFxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMubWVudU9wZW5lZC5lbWl0KCksIDEwMCk7XG4gICAgfVxuXG4gICAgc2V0SG9zdFN0eWxlKHBsYWNlbWVudDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGlzU3ZnID0gdGhpcy5lbGVtZW50IGluc3RhbmNlb2YgU1ZHRWxlbWVudDtcbiAgICAgICAgY29uc3QgdG9vbHRpcCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCBpc0N1c3RvbVBvc2l0aW9uID0gIXRoaXMuZWxlbWVudFBvc2l0aW9uLng7XG5cbiAgICAgICAgbGV0IGVsZW1lbnRIZWlnaHQgPSAhdGhpcy5lbGVtZW50Lm9mZnNldEhlaWdodFxuICAgICAgICAgICAgPyB0aGlzLmVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0XG4gICAgICAgICAgICA6IHRoaXMuZWxlbWVudC5vZmZzZXRIZWlnaHQ7XG4gICAgICAgIGxldCBlbGVtZW50V2lkdGggPSAhdGhpcy5lbGVtZW50Lm9mZnNldFdpZHRoXG4gICAgICAgICAgICA/IHRoaXMuZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aFxuICAgICAgICAgICAgOiB0aGlzLmVsZW1lbnQub2Zmc2V0V2lkdGg7XG4gICAgICAgIGNvbnN0IHRvb2x0aXBIZWlnaHQgPSB0b29sdGlwLmNsaWVudEhlaWdodDtcbiAgICAgICAgY29uc3QgdG9vbHRpcFdpZHRoID0gdG9vbHRpcC5jbGllbnRXaWR0aDtcbiAgICAgICAgY29uc3Qgc2Nyb2xsWSA9IHdpbmRvdy5wYWdlWU9mZnNldDtcblxuICAgICAgICBsZXQgdG9wU3R5bGU7XG4gICAgICAgIGxldCBsZWZ0U3R5bGU7XG5cbiAgICAgICAgaWYgKGlzQ3VzdG9tUG9zaXRpb24pIHtcbiAgICAgICAgICAgIGlmIChwbGFjZW1lbnQgJiYgcGxhY2VtZW50LnNwbGl0KCcgJylbMF0gPT09ICd0b3AnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5iZWxvdyA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHBsYWNlbWVudCAmJiBwbGFjZW1lbnQuc3BsaXQoJyAnKVswXSA9PT0gJ2JvdHRvbScpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmJlbG93ID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsZW1lbnRIZWlnaHQgPSAwO1xuICAgICAgICAgICAgZWxlbWVudFdpZHRoID0gMDtcbiAgICAgICAgICAgIHRvcFN0eWxlID0gdGhpcy5lbGVtZW50UG9zaXRpb24udG9wO1xuICAgICAgICAgICAgbGVmdFN0eWxlID0gdGhpcy5lbGVtZW50UG9zaXRpb24ubGVmdDtcbiAgICAgICAgICAgIGlmICh0aGlzLmFycm93ICYmIHRoaXMuYXJyb3dQb3NpdGlvbikge1xuICAgICAgICAgICAgICAgIHRoaXMuYXJyb3dDbGFzcyA9ICdhcnJvdy0nICsgdGhpcy5hcnJvd1Bvc2l0aW9uO1xuICAgICAgICAgICAgICAgIHN3aXRjaCAodGhpcy5hcnJvd1Bvc2l0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ2xlZnQnOlxuICAgICAgICAgICAgICAgICAgICBjYXNlICdyaWdodCc6XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFycm93TGVmdFBvc2l0aW9uID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hcnJvd1JpZ2h0UG9zaXRpb24gPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFycm93Qm90dG9tUG9zaXRpb24gPSAnYXV0byc7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFycm93VG9wUG9zaXRpb24gPSB0aGlzLmFycm93T2Zmc2V0ICsgJyUnO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ3RvcCc6XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ2JvdHRvbSc6XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFycm93TGVmdFBvc2l0aW9uID0gdGhpcy5hcnJvd09mZnNldCArICclJztcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYXJyb3dSaWdodFBvc2l0aW9uID0gJ2F1dG8nO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hcnJvd0JvdHRvbVBvc2l0aW9uID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hcnJvd1RvcFBvc2l0aW9uID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHBsYWNlbWVudC5zcGxpdCgnICcpWzBdID09PSAndG9wJykge1xuICAgICAgICAgICAgICAgIHRoaXMuYmVsb3cgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0b3BTdHlsZSA9IHRoaXMuZWxlbWVudFBvc2l0aW9uLnRvcCAtIHRoaXMudG9vbHRpcE9mZnNldCAtIHRoaXMub2Zmc2V0RGlzdGFuY2U7XG4gICAgICAgICAgICAgICAgdG9wU3R5bGUgKz0gODtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHBsYWNlbWVudC5zcGxpdCgnICcpWzBdID09PSAnYm90dG9tJykge1xuICAgICAgICAgICAgICAgIHRoaXMuYmVsb3cgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRvcFN0eWxlID0gdGhpcy5lbGVtZW50UG9zaXRpb24uYm90dG9tICsgdGhpcy50b29sdGlwT2Zmc2V0ICsgdGhpcy5vZmZzZXREaXN0YW5jZTtcbiAgICAgICAgICAgICAgICAvLyBXZSByZW1vdmUgOHB4IGR1ZSB0byB0aGUgbWFyZ2luLXRvcCB3ZSBwdXQgdG8gZGlzcGxheSB0aGUgYXJyb3cuXG4gICAgICAgICAgICAgICAgdG9wU3R5bGUgLT0gODtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHBsYWNlbWVudC5zcGxpdCgnICcpWzBdID09PSAnbGVmdCcpIHtcbiAgICAgICAgICAgICAgICBsZWZ0U3R5bGUgPSB0aGlzLmVsZW1lbnRQb3NpdGlvbi5sZWZ0IC0gdG9vbHRpcFdpZHRoIC0gdGhpcy50b29sdGlwT2Zmc2V0IC0gdGhpcy5vZmZzZXREaXN0YW5jZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHBsYWNlbWVudC5zcGxpdCgnICcpWzBdID09PSAncmlnaHQnKSB7XG4gICAgICAgICAgICAgICAgbGVmdFN0eWxlID0gdGhpcy5lbGVtZW50UG9zaXRpb24ubGVmdCArIGVsZW1lbnRXaWR0aCArIHRoaXMudG9vbHRpcE9mZnNldCArIHRoaXMub2Zmc2V0RGlzdGFuY2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChwbGFjZW1lbnQuc3BsaXQoJyAnKVswXSA9PT0gJ2xlZnQnIHx8IHBsYWNlbWVudC5zcGxpdCgnICcpWzBdID09PSAncmlnaHQnKSB7XG4gICAgICAgICAgICAgICAgdG9wU3R5bGUgPSB0aGlzLmVsZW1lbnRQb3NpdGlvbi50b3AgKyBzY3JvbGxZICsgZWxlbWVudEhlaWdodCAvIDIgLSB0b29sdGlwLmNsaWVudEhlaWdodCAvIDI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChwbGFjZW1lbnQgPT09ICdyaWdodCBib3R0b20nKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5iZWxvdyA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5iZWZvcmUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLmFycm93Q2xhc3MgPSAnYXJyb3ctbGVmdCc7XG4gICAgICAgICAgICAgICAgdG9wU3R5bGUgPSB0aGlzLmVsZW1lbnRQb3NpdGlvbi50b3AgKyBzY3JvbGxZICsgdGhpcy5vZmZzZXRTa2lkZGluZztcbiAgICAgICAgICAgICAgICB0aGlzLmFycm93UmlnaHRQb3NpdGlvbiA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICB0aGlzLmFycm93TGVmdFBvc2l0aW9uID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIHRoaXMuYXJyb3dCb3R0b21Qb3NpdGlvbiA9ICdhdXRvJztcbiAgICAgICAgICAgICAgICB0aGlzLmFycm93VG9wUG9zaXRpb24gPSB0aGlzLmFycm93T2Zmc2V0ID8gdGhpcy5hcnJvd09mZnNldCArICclJyA6IGVsZW1lbnRIZWlnaHQgLyAyICsgJ3B4JztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHBsYWNlbWVudCA9PT0gJ2xlZnQgYm90dG9tJykge1xuICAgICAgICAgICAgICAgIHRoaXMuYmVsb3cgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuYmVmb3JlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLmFycm93Q2xhc3MgPSAnYXJyb3ctcmlnaHQnO1xuICAgICAgICAgICAgICAgIHRvcFN0eWxlID0gdGhpcy5lbGVtZW50UG9zaXRpb24udG9wICsgc2Nyb2xsWSArIHRoaXMub2Zmc2V0U2tpZGRpbmc7XG4gICAgICAgICAgICAgICAgdGhpcy5hcnJvd0xlZnRQb3NpdGlvbiA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICB0aGlzLmFycm93UmlnaHRQb3NpdGlvbiA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICB0aGlzLmFycm93Qm90dG9tUG9zaXRpb24gPSAnYXV0byc7XG4gICAgICAgICAgICAgICAgdGhpcy5hcnJvd1RvcFBvc2l0aW9uID0gdGhpcy5hcnJvd09mZnNldCA/IHRoaXMuYXJyb3dPZmZzZXQgKyAnJScgOiBlbGVtZW50SGVpZ2h0IC8gMiArICdweCc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChwbGFjZW1lbnQgPT09ICdyaWdodCB0b3AnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5iZWxvdyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuYmVmb3JlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5hcnJvd0NsYXNzID0gJ2Fycm93LWxlZnQnO1xuICAgICAgICAgICAgICAgIHRvcFN0eWxlID0gdGhpcy5lbGVtZW50UG9zaXRpb24udG9wICsgZWxlbWVudEhlaWdodCArIHNjcm9sbFkgKyB0aGlzLm9mZnNldFNraWRkaW5nO1xuICAgICAgICAgICAgICAgIHRoaXMuYXJyb3dMZWZ0UG9zaXRpb24gPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgdGhpcy5hcnJvd1JpZ2h0UG9zaXRpb24gPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgdGhpcy5hcnJvd1RvcFBvc2l0aW9uID0gJ2F1dG8nO1xuICAgICAgICAgICAgICAgIHRoaXMuYXJyb3dCb3R0b21Qb3NpdGlvbiA9IHRoaXMuYXJyb3dPZmZzZXRcbiAgICAgICAgICAgICAgICAgICAgPyB0aGlzLmFycm93T2Zmc2V0ICsgJyUnXG4gICAgICAgICAgICAgICAgICAgIDogLSh0b29sdGlwLmNsaWVudEhlaWdodCAtIGVsZW1lbnRIZWlnaHQgLyAyKSArICdweCc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChwbGFjZW1lbnQgPT09ICdsZWZ0IHRvcCcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmJlbG93ID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5iZWZvcmUgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuYXJyb3dDbGFzcyA9ICdhcnJvdy1yaWdodCc7XG4gICAgICAgICAgICAgICAgdG9wU3R5bGUgPSB0aGlzLmVsZW1lbnRQb3NpdGlvbi50b3AgKyBlbGVtZW50SGVpZ2h0ICsgc2Nyb2xsWSArIHRoaXMub2Zmc2V0U2tpZGRpbmc7XG4gICAgICAgICAgICAgICAgdGhpcy5hcnJvd1JpZ2h0UG9zaXRpb24gPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgdGhpcy5hcnJvd0xlZnRQb3NpdGlvbiA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICB0aGlzLmFycm93VG9wUG9zaXRpb24gPSAnYXV0byc7XG4gICAgICAgICAgICAgICAgdGhpcy5hcnJvd0JvdHRvbVBvc2l0aW9uID0gdGhpcy5hcnJvd09mZnNldFxuICAgICAgICAgICAgICAgICAgICA/IHRoaXMuYXJyb3dPZmZzZXQgKyAnJSdcbiAgICAgICAgICAgICAgICAgICAgOiAtKHRvb2x0aXAuY2xpZW50SGVpZ2h0IC0gZWxlbWVudEhlaWdodCAvIDIpICsgJ3B4JztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHBsYWNlbWVudCA9PT0gJ2JvdHRvbSByaWdodCcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmJlZm9yZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuYmVsb3cgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuYXJyb3dDbGFzcyA9ICdhcnJvdy10b3AnO1xuICAgICAgICAgICAgICAgIGxlZnRTdHlsZSA9IHRoaXMuZWxlbWVudFBvc2l0aW9uLmxlZnQgKyB0aGlzLm9mZnNldFNraWRkaW5nO1xuICAgICAgICAgICAgICAgIHRoaXMuYXJyb3dUb3BQb3NpdGlvbiA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICB0aGlzLmFycm93UmlnaHRQb3NpdGlvbiA9ICdhdXRvJztcbiAgICAgICAgICAgICAgICB0aGlzLmFycm93TGVmdFBvc2l0aW9uID0gdGhpcy5hcnJvd09mZnNldCA/IHRoaXMuYXJyb3dPZmZzZXQgKyAnJScgOiBlbGVtZW50V2lkdGggLyAyIC0gNC41ICsgJ3B4JztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHBsYWNlbWVudCA9PT0gJ2JvdHRvbSBsZWZ0Jykge1xuICAgICAgICAgICAgICAgIHRoaXMuYmVmb3JlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLmJlbG93ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLmFycm93Q2xhc3MgPSAnYXJyb3ctdG9wJztcbiAgICAgICAgICAgICAgICBsZWZ0U3R5bGUgPSB0aGlzLmVsZW1lbnRQb3NpdGlvbi5yaWdodCArIHRoaXMub2Zmc2V0U2tpZGRpbmc7XG4gICAgICAgICAgICAgICAgdGhpcy5hcnJvd1RvcFBvc2l0aW9uID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIHRoaXMuYXJyb3dMZWZ0UG9zaXRpb24gPSAnYXV0byc7XG4gICAgICAgICAgICAgICAgdGhpcy5hcnJvd1JpZ2h0UG9zaXRpb24gPSB0aGlzLmFycm93T2Zmc2V0ID8gdGhpcy5hcnJvd09mZnNldCArICclJyA6IGVsZW1lbnRXaWR0aCAvIDIgLSAyLjUgKyAncHgnO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAocGxhY2VtZW50ID09PSAndG9wIHJpZ2h0Jykge1xuICAgICAgICAgICAgICAgIHRoaXMuYmVmb3JlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5iZWxvdyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuYXJyb3dDbGFzcyA9ICdhcnJvdy1ib3R0b20nO1xuICAgICAgICAgICAgICAgIGxlZnRTdHlsZSA9IHRoaXMuZWxlbWVudFBvc2l0aW9uLmxlZnQgKyB0aGlzLm9mZnNldFNraWRkaW5nO1xuICAgICAgICAgICAgICAgIHRoaXMuYXJyb3dCb3R0b21Qb3NpdGlvbiA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICB0aGlzLmFycm93VG9wUG9zaXRpb24gPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgdGhpcy5hcnJvd1JpZ2h0UG9zaXRpb24gPSAnYXV0byc7XG4gICAgICAgICAgICAgICAgdGhpcy5hcnJvd0xlZnRQb3NpdGlvbiA9IHRoaXMuYXJyb3dPZmZzZXQgPyB0aGlzLmFycm93T2Zmc2V0ICsgJyUnIDogZWxlbWVudFdpZHRoIC8gMiAtIDQuNSArICdweCc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChwbGFjZW1lbnQgPT09ICd0b3AgbGVmdCcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmJlZm9yZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5iZWxvdyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuYXJyb3dDbGFzcyA9ICdhcnJvdy1ib3R0b20nO1xuICAgICAgICAgICAgICAgIGxlZnRTdHlsZSA9IHRoaXMuZWxlbWVudFBvc2l0aW9uLnJpZ2h0ICsgdGhpcy5vZmZzZXRTa2lkZGluZztcbiAgICAgICAgICAgICAgICB0aGlzLmFycm93Qm90dG9tUG9zaXRpb24gPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgdGhpcy5hcnJvd1RvcFBvc2l0aW9uID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIHRoaXMuYXJyb3dMZWZ0UG9zaXRpb24gPSAnYXV0byc7XG4gICAgICAgICAgICAgICAgdGhpcy5hcnJvd1JpZ2h0UG9zaXRpb24gPSB0aGlzLmFycm93T2Zmc2V0ID8gdGhpcy5hcnJvd09mZnNldCArICclJyA6IGVsZW1lbnRXaWR0aCAvIDIgLSAyLjUgKyAncHgnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gVGhpcyBsaW5lIGlzIFBVUkUgTUFHSUMgYW5kIHN1cGVyIGltcG9ydGFudC4gSXQgYWxsb3dzIHRvIGZvcmNlIG1hdC1tZW51XG4gICAgICAgIC8vIHRvIHJlcG9zaXRpb24gdGhlIG1lbnUgd2l0aCB0aGUgbmV3IHhQb3NpdGlvbiAvIHlQb3NpdGlvbi5cbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICAgICAgY29uc3QgdG9wRWRnZSA9IHRvcFN0eWxlO1xuICAgICAgICBjb25zdCBib3R0b21FZGdlID0gdG9wU3R5bGUgKyB0b29sdGlwSGVpZ2h0O1xuICAgICAgICBjb25zdCBsZWZ0RWRnZSA9IGxlZnRTdHlsZTtcbiAgICAgICAgY29uc3QgcmlnaHRFZGdlID0gbGVmdFN0eWxlICsgdG9vbHRpcFdpZHRoO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICh0b3BFZGdlIDwgMCB8fFxuICAgICAgICAgICAgICAgIGJvdHRvbUVkZ2UgPiBkb2N1bWVudC5ib2R5LmNsaWVudEhlaWdodCB8fFxuICAgICAgICAgICAgICAgIGxlZnRFZGdlIDwgMCB8fFxuICAgICAgICAgICAgICAgIHJpZ2h0RWRnZSA+IGRvY3VtZW50LmJvZHkuY2xpZW50V2lkdGgpICYmXG4gICAgICAgICAgICB0aGlzLmF1dG9QbGFjZW1lbnRcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmhvc3RTdHlsZVRvcCA9IHRvcFN0eWxlICsgJ3B4JztcbiAgICAgICAgdGhpcy5ob3N0U3R5bGVMZWZ0ID0gbGVmdFN0eWxlICsgJ3B4JztcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgc2V0UGxhY2VtZW50Q2xhc3MocGxhY2VtZW50Pzogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoXG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICd0b29sdGlwLScgKyAocGxhY2VtZW50ID8gcGxhY2VtZW50LnNwbGl0KCcgJylbMF0gOiBwbGFjZW1lbnQpXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoXG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICd5UG9zaXRpb24tJyArIChwbGFjZW1lbnQgJiYgcGxhY2VtZW50LnNwbGl0KCcgJykubGVuZ3RoID09PSAyID8gcGxhY2VtZW50LnNwbGl0KCcgJylbMV0gOiAnY2VudGVyJylcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW4gJiYgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW4ubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgY29uc3QgdG9vbHRpcEFycm93ID0gQXJyYXkuZnJvbSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jaGlsZHJlbikuZmlsdGVyKFxuICAgICAgICAgICAgICAgIChjaGlsZDogSFRNTEVsZW1lbnQpID0+IGNoaWxkLmdldEF0dHJpYnV0ZSgnaWQnKSA9PT0gJ3Rvb2x0aXBBcnJvdydcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBpZiAodG9vbHRpcEFycm93ICYmIHRvb2x0aXBBcnJvdy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgICAgICBpZiAocGxhY2VtZW50ICYmIHBsYWNlbWVudC5zcGxpdCgnICcpLmxlbmd0aCA9PT0gMiAmJiBwbGFjZW1lbnQuc3BsaXQoJyAnKVsxXSA9PT0gJ2JvdHRvbScpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0b29sdGlwQXJyb3dbMF0sICd0b3AnLCB0aGlzLmFycm93VG9wUG9zaXRpb24pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocGxhY2VtZW50ICYmIHBsYWNlbWVudC5zcGxpdCgnICcpLmxlbmd0aCA9PT0gMiAmJiBwbGFjZW1lbnQuc3BsaXQoJyAnKVsxXSA9PT0gJ3RvcCcpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0b29sdGlwQXJyb3dbMF0sICd0b3AnLCB0aGlzLmFycm93Qm90dG9tUG9zaXRpb24pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNldFBvc2l0aW9uKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zZXRIb3N0U3R5bGUodGhpcy5wbGFjZW1lbnQpKSB7XG4gICAgICAgICAgICB0aGlzLnNldFBsYWNlbWVudENsYXNzKHRoaXMucGxhY2VtZW50KTtcbiAgICAgICAgICAgIGlmICh0aGlzLnZpZXdJbml0KSB7XG4gICAgICAgICAgICAgICAgLy8gV2UgZGlkIHRoaXMgaW4gb3JkZXIgdG8gcmVzZXQgb3ZlcmxheVJlZiAobXVsdGkgd2ViIGNvbXBvbmVudCBuZWVkZWQgd2l0aCBtYXRtZW51IGFuZCBjZGsgb3ZlcmxheSlcbiAgICAgICAgICAgICAgICBpZiAodGhpcy50cmlnZ2VyWydfb3ZlcmxheVJlZiddKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudHJpZ2dlclsnX292ZXJsYXlSZWYnXS5kaXNwb3NlKCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudHJpZ2dlclsnX292ZXJsYXlSZWYnXSA9IG51bGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMudHJpZ2dlci5vcGVuTWVudSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgcGxhY2VtZW50cyA9IFsndG9wJywgJ3JpZ2h0JywgJ2JvdHRvbScsICdsZWZ0J107XG5cbiAgICAgICAgICAgIGZvciAoY29uc3QgcGxhY2VtZW50IG9mIHBsYWNlbWVudHMpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5zZXRIb3N0U3R5bGUocGxhY2VtZW50KSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFBsYWNlbWVudENsYXNzKHBsYWNlbWVudCk7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnZpZXdJbml0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRyaWdnZXIub3Blbk1lbnUoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGJ1dHRvbiBpZD1cIm1lbnVUcmlnZ2VyXCIgY2xhc3M9XCJidXR0b24tdHJpZ2dlclwiIG1hdC1idXR0b25cbiAgICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIiAobWVudUNsb3NlZCk9XCJvbk1lbnVDbG9zZWQoKVwiIChtZW51T3BlbmVkKT1cIm9uTWVudU9wZW5lZCgpXCI+XG48L2J1dHRvbj5cbjxtYXQtbWVudSAjbWVudT1cIm1hdE1lbnVcIiBbeVBvc2l0aW9uXT1cIiFiZWxvdyA/ICdhYm92ZSc6ICdiZWxvdydcIiBbeFBvc2l0aW9uXT1cIiFiZWZvcmU/ICdhZnRlcic6ICdiZWZvcmUnXCIgW292ZXJsYXBUcmlnZ2VyXT1cImZhbHNlXCJcbiAgICAgICAgICBbaGFzQmFja2Ryb3BdPVwiaGFzQmFja2Ryb3BcIlxuICAgICAgICAgIFtiYWNrZHJvcENsYXNzXT1cImJhY2tkcm9wQ2xhc3NcIlxuICAgICAgICAgIGNsYXNzPVwicG9wLW1lbnUge3thcnJvdyA/ICdhcnJvdy1iZWZvcmUgJyArIGFycm93Q2xhc3MgOiAnJ319IHt7c2hhZG93ID8gJ3NoYWRvdycgOiAnJ319IHt7Ym9yZGVyID8gJycgOiAoc2hhZG93ID8gJ3NoYWRvdy1uby1ib3JkZXInIDogJycpfX0ge3tyb3VuZGVkID8gJ3JvdW5kZWQtY29tcG9uZW50JyA6ICcnfX0ge3sgYmFja2dyb3VuZCA/ICcnIDogJ25vLWJhY2tncm91bmQnfX0ge3twYW5lbENsYXNzfX1cIj5cblxuICAgIDxkaXYgKm5nSWY9XCJhcnJvd1wiIGNsYXNzPVwie3thcnJvdyA/ICdhcnJvdy1iZWZvcmUgJyArIGFycm93Q2xhc3MgOiAnJ319XCIgW25nU3R5bGVdPVwieydsZWZ0JzogYXJyb3dMZWZ0UG9zaXRpb24sICdyaWdodCc6IGFycm93UmlnaHRQb3NpdGlvbiwgJ3RvcCc6IGFycm93VG9wUG9zaXRpb24sICdib3R0b20nOiBhcnJvd0JvdHRvbVBvc2l0aW9ufVwiPjwvZGl2PlxuICAgIDxkaXYgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiIGNsYXNzPVwie3tyb3VuZGVkID8gJ3JvdW5kZWQtY29tcG9uZW50JyA6ICcnfX0gb3V0bGluZS1ub25lXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ7e2JvcmRlciA/ICdwb3BvdmVyLWNvbnRlbnQgJyA6ICcnfX0ge3tyb3VuZGVkID8gJ3JvdW5kZWQtY29tcG9uZW50JyA6ICcnfX1cIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ2YWx1ZTtjb250ZXh0OnttZW51OnRoaXN9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9tYXQtbWVudT5cblxuXG4iXX0=
|
|
374
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvcG9wbWVudS9zcmMvcG9wbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvcG9wbWVudS9zcmMvcG9wbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ2hFLE9BQU8sRUFFSCx1QkFBdUIsRUFFdkIsU0FBUyxFQUVULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUNMLE1BQU0sRUFFTixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLHFCQUFxQixJQUFJLGVBQWUsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pGLE9BQU8sRUFBQyxtQkFBbUIsSUFBSSxhQUFhLEVBQUUsb0JBQW9CLElBQUksY0FBYyxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDM0gsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQzs7OztBQVUzQixNQUFNLE9BQU8sZ0JBQWdCO0lBNEJ6QixJQUFJLElBQUk7UUFDSixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQWEsSUFBSSxDQUFDLEtBQWM7UUFDNUIsSUFBSSxLQUFLLEVBQUU7WUFDUCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDdEI7UUFDRCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBYSxLQUFLLENBQUMsS0FBYztRQUM3QixJQUFJLEtBQUssRUFBRTtZQUNQLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUM3QixD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LEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDO3lKQUdqRSxJQUFJO3NCQUFaLEtBQUs7Z0JBU0ksVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQUNvQixPQUFPO3NCQUFqQyxTQUFTO3VCQUFDLGNBQWM7Z0JBQ0MsWUFBWTtzQkFBckMsV0FBVzt1QkFBQyxXQUFXO2dCQUNZLHFCQUFxQjtzQkFBeEQsV0FBVzt1QkFBQyxxQkFBcUI7Z0JBQ1AsYUFBYTtzQkFBdkMsV0FBVzt1QkFBQyxZQUFZO2dCQUNLLGVBQWU7c0JBQTVDLFdBQVc7dUJBQUMsZUFBZTtnQkFDSyxtQkFBbUI7c0JBQW5ELFdBQVc7dUJBQUMsa0JBQWtCO2dCQUNILGNBQWM7c0JBQXpDLFdBQVc7dUJBQUMsYUFBYTtnQkFDTSxpQkFBaUI7c0JBQWhELFdBQVc7dUJBQUMsaUJBQWlCO2dCQUNPLHNCQUFzQjtzQkFBMUQsV0FBVzt1QkFBQyxzQkFBc0I7Z0JBQ0EsYUFBYTtzQkFBL0MsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBQ0ksZUFBZTtzQkFBbkQsV0FBVzt1QkFBQyxzQkFBc0I7Z0JBQ0MsY0FBYztzQkFBakQsV0FBVzt1QkFBQyxxQkFBcUI7Z0JBU3JCLElBQUk7c0JBQWhCLEtBQUs7Z0JBT08sS0FBSztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdJZiwgTmdTdHlsZSwgTmdUZW1wbGF0ZU91dGxldH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFJlbmRlcmVyMixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNYXRMZWdhY3lCdXR0b25Nb2R1bGUgYXMgTWF0QnV0dG9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktYnV0dG9uJztcbmltcG9ydCB7TWF0TGVnYWN5TWVudU1vZHVsZSBhcyBNYXRNZW51TW9kdWxlLCBNYXRMZWdhY3lNZW51VHJpZ2dlciBhcyBNYXRNZW51VHJpZ2dlcn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LW1lbnUnO1xuaW1wb3J0IHttZXJnZX0gZnJvbSBcInJ4anNcIjtcblxuQENvbXBvbmVudCh7XG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc2VsZWN0b3I6ICdhcC1wb3BtZW51JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcG9wbWVudS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcG9wbWVudS5jb21wb25lbnQuc2NzcyddLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW01hdEJ1dHRvbk1vZHVsZSwgTWF0TWVudU1vZHVsZSwgTmdTdHlsZSwgTmdUZW1wbGF0ZU91dGxldCwgTmdJZl0sXG59KVxuZXhwb3J0IGNsYXNzIFBvcG1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgICBASW5wdXQoKSBkYXRhOiBhbnk7XG4gICAgZXZlbnRzID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIGFycm93VG9wUG9zaXRpb24gPSAnNTAlJztcbiAgICBhcnJvd0JvdHRvbVBvc2l0aW9uID0gJzUwJSc7XG4gICAgYXJyb3dMZWZ0UG9zaXRpb246IHN0cmluZztcbiAgICBhcnJvd1JpZ2h0UG9zaXRpb246IHN0cmluZztcbiAgICBhcnJvd0NsYXNzOiBzdHJpbmc7XG4gICAgYmVsb3c7XG4gICAgYmVmb3JlO1xuICAgIEBPdXRwdXQoKSBtZW51Q2xvc2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBtZW51T3BlbmVkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBWaWV3Q2hpbGQoTWF0TWVudVRyaWdnZXIpIHRyaWdnZXI6IE1hdE1lbnVUcmlnZ2VyO1xuICAgIEBIb3N0QmluZGluZygnc3R5bGUudG9wJykgaG9zdFN0eWxlVG9wOiBzdHJpbmc7XG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5ib3JkZXItcmFkaXVzJykgaG9zdFN0eWxlQm9yZGVyUmFkaXVzOiBzdHJpbmc7XG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5sZWZ0JykgaG9zdFN0eWxlTGVmdDogc3RyaW5nO1xuICAgIEBIb3N0QmluZGluZygnc3R5bGUuei1pbmRleCcpIGhvc3RTdHlsZVpJbmRleDogbnVtYmVyO1xuICAgIEBIb3N0QmluZGluZygnc3R5bGUudHJhbnNpdGlvbicpIGhvc3RTdHlsZVRyYW5zaXRpb246IHN0cmluZztcbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLndpZHRoJykgaG9zdFN0eWxlV2lkdGg6IHN0cmluZztcbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1heC13aWR0aCcpIGhvc3RTdHlsZU1heFdpZHRoOiBzdHJpbmc7XG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5wb2ludGVyLWV2ZW50cycpIGhvc3RTdHlsZVBvaW50ZXJFdmVudHM6IHN0cmluZztcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRvb2x0aXAtc2hvdycpIGhvc3RDbGFzc1Nob3c6IGJvb2xlYW47XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy50b29sdGlwLXNoYWRvdycpIGhvc3RDbGFzc1NoYWRvdzogYm9vbGVhbjtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRvb2x0aXAtbGlnaHQnKSBob3N0Q2xhc3NMaWdodDogYm9vbGVhbjtcbiAgICB2aWV3SW5pdCA9IGZhbHNlO1xuXG4gICAgX3Nob3cgPSBmYWxzZTtcblxuICAgIGdldCBzaG93KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2hvdztcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgc2hvdyh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0UG9zaXRpb24oKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9zaG93ID0gdmFsdWU7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGNsb3NlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy50cmlnZ2VyLmNsb3NlTWVudSgpO1xuICAgICAgICAgICAgfSwgMTAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG1lbnVPcGVuOiBib29sZWFuO1xuXG4gICAgZ2V0IGFycm93KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLm9wdGlvbnMuYXJyb3cgJiYgdGhpcy5ib3JkZXI7XG4gICAgfVxuXG4gICAgZ2V0IGFycm93T2Zmc2V0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLm9wdGlvbnMuYXJyb3dPZmZzZXQ7XG4gICAgfVxuXG4gICAgZ2V0IGFycm93UG9zaXRpb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEub3B0aW9ucy5hcnJvd1Bvc2l0aW9uO1xuICAgIH1cblxuICAgIGdldCBhdXRvUGxhY2VtZW50KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLm9wdGlvbnMuYXV0b1BsYWNlbWVudDtcbiAgICB9XG5cbiAgICBnZXQgYmFja2dyb3VuZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5vcHRpb25zLmFwUG9wbWVudUJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgZ2V0IGJvcmRlcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5vcHRpb25zLmFwUG9wbWVudUJvcmRlcjtcbiAgICB9XG5cbiAgICBnZXQgZWxlbWVudCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5lbGVtZW50O1xuICAgIH1cblxuICAgIGdldCBlbGVtZW50UG9zaXRpb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuZWxlbWVudFBvc2l0aW9uO1xuICAgIH1cblxuICAgIGdldCBoYXNCYWNrZHJvcCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5vcHRpb25zLmhhc0JhY2tkcm9wO1xuICAgIH1cblxuICAgIGdldCBiYWNrZHJvcENsYXNzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLm9wdGlvbnMuYmFja2Ryb3BDbGFzcztcbiAgICB9XG5cbiAgICBnZXQgaXNUaGVtZUxpZ2h0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zWyd0aGVtZSddID09PSAnbGlnaHQnO1xuICAgIH1cblxuICAgIGdldCBvcHRpb25zKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLm9wdGlvbnM7XG4gICAgfVxuXG4gICAgZ2V0IHBhbmVsQ2xhc3MoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEub3B0aW9ucy5wYW5lbENsYXNzO1xuICAgIH1cblxuICAgIGdldCBwbGFjZW1lbnQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEub3B0aW9ucy5wbGFjZW1lbnQ7XG4gICAgfVxuXG4gICAgZ2V0IHJvdW5kZWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEub3B0aW9ucy5yb3VuZGVkO1xuICAgIH1cblxuICAgIGdldCBzaGFkb3coKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEub3B0aW9ucy5zaGFkb3c7XG4gICAgfVxuXG4gICAgZ2V0IHRvb2x0aXBPZmZzZXQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIE51bWJlcih0aGlzLmRhdGEub3B0aW9ucy5vZmZzZXQpO1xuICAgIH1cblxuICAgIGdldCBvZmZzZXRTa2lkZGluZygpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gTnVtYmVyKHRoaXMuZGF0YS5vcHRpb25zLm9mZnNldHMuc2tpZGRpbmcpIHx8IDA7XG4gICAgfVxuXG4gICAgZ2V0IG9mZnNldERpc3RhbmNlKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBOdW1iZXIodGhpcy5kYXRhLm9wdGlvbnMub2Zmc2V0cy5kaXN0YW5jZSB8fCAwKTtcbiAgICB9XG5cbiAgICBnZXQgdmFsdWUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEudmFsdWU7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgICApIHt9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHRoaXMudmlld0luaXQgPSB0cnVlO1xuICAgICAgICBtZXJnZSh0aGlzLnRyaWdnZXIubWVudU9wZW5lZCx0aGlzLnRyaWdnZXIubWVudUNsb3NlZCkuc3Vic2NyaWJlKCgpPT57XG4gICAgICAgICAgICB0aGlzLm1lbnVPcGVuID0gdGhpcy50cmlnZ2VyLm1lbnVPcGVuO1xuICAgICAgICB9KVxuICAgIH1cblxuICAgIG9uTWVudUNsb3NlZCgpIHtcbiAgICAgICAgLy8gd2Ugc2V0IGEgdGltZW91dCB0byB3YWl0IGZvciB0aGUgbWVudSB0byBiZSByZWFsbHkgY2xvc2VkXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5tZW51Q2xvc2VkLmVtaXQoKSwgMjAwKTtcbiAgICB9XG5cbiAgICBvbk1lbnVPcGVuZWQoKSB7XG4gICAgICAgIC8vIHdlIHNldCBhIHRpbWVvdXQgdG8gd2FpdCBmb3IgdGhlIG1lbnUgdG8gYmUgcmVhbGx5IG9wZW5lZFxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMubWVudU9wZW5lZC5lbWl0KCksIDEwMCk7XG4gICAgfVxuXG4gICAgc2V0SG9zdFN0eWxlKHBsYWNlbWVudDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGlzU3ZnID0gdGhpcy5lbGVtZW50IGluc3RhbmNlb2YgU1ZHRWxlbWVudDtcbiAgICAgICAgY29uc3QgdG9vbHRpcCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCBpc0N1c3RvbVBvc2l0aW9uID0gIXRoaXMuZWxlbWVudFBvc2l0aW9uLng7XG5cbiAgICAgICAgbGV0IGVsZW1lbnRIZWlnaHQgPSAhdGhpcy5lbGVtZW50Lm9mZnNldEhlaWdodFxuICAgICAgICAgICAgPyB0aGlzLmVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0XG4gICAgICAgICAgICA6IHRoaXMuZWxlbWVudC5vZmZzZXRIZWlnaHQ7XG4gICAgICAgIGxldCBlbGVtZW50V2lkdGggPSAhdGhpcy5lbGVtZW50Lm9mZnNldFdpZHRoXG4gICAgICAgICAgICA/IHRoaXMuZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aFxuICAgICAgICAgICAgOiB0aGlzLmVsZW1lbnQub2Zmc2V0V2lkdGg7XG4gICAgICAgIGNvbnN0IHRvb2x0aXBIZWlnaHQgPSB0b29sdGlwLmNsaWVudEhlaWdodDtcbiAgICAgICAgY29uc3QgdG9vbHRpcFdpZHRoID0gdG9vbHRpcC5jbGllbnRXaWR0aDtcbiAgICAgICAgY29uc3Qgc2Nyb2xsWSA9IHdpbmRvdy5wYWdlWU9mZnNldDtcblxuICAgICAgICBsZXQgdG9wU3R5bGU7XG4gICAgICAgIGxldCBsZWZ0U3R5bGU7XG5cbiAgICAgICAgaWYgKGlzQ3VzdG9tUG9zaXRpb24pIHtcbiAgICAgICAgICAgIGlmIChwbGFjZW1lbnQgJiYgcGxhY2VtZW50LnNwbGl0KCcgJylbMF0gPT09ICd0b3AnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5iZWxvdyA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHBsYWNlbWVudCAmJiBwbGFjZW1lbnQuc3BsaXQoJyAnKVswXSA9PT0gJ2JvdHRvbScpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmJlbG93ID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsZW1lbnRIZWlnaHQgPSAwO1xuICAgICAgICAgICAgZWxlbWVudFdpZHRoID0gMDtcbiAgICAgICAgICAgIHRvcFN0eWxlID0gdGhpcy5lbGVtZW50UG9zaXRpb24udG9wO1xuICAgICAgICAgICAgbGVmdFN0eWxlID0gdGhpcy5lbGVtZW50UG9zaXRpb24ubGVmdDtcbiAgICAgICAgICAgIGlmICh0aGlzLmFycm93ICYmIHRoaXMuYXJyb3dQb3NpdGlvbikge1xuICAgICAgICAgICAgICAgIHRoaXMuYXJyb3dDbGFzcyA9ICdhcnJvdy0nICsgdGhpcy5hcnJvd1Bvc2l0aW9uO1xuICAgICAgICAgICAgICAgIHN3aXRjaCAodGhpcy5hcnJvd1Bvc2l0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ2xlZnQnOlxuICAgICAgICAgICAgICAgICAgICBjYXNlICdyaWdodCc6XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFycm93TGVmdFBvc2l0aW9uID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hcnJvd1JpZ2h0UG9zaXRpb24gPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFycm93Qm90dG9tUG9zaXRpb24gPSAnYXV0byc7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFycm93VG9wUG9zaXRpb24gPSB0aGlzLmFycm93T2Zmc2V0ICsgJyUnO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ3RvcCc6XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ2JvdHRvbSc6XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFycm93TGVmdFBvc2l0aW9uID0gdGhpcy5hcnJvd09mZnNldCArICclJztcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYXJyb3dSaWdodFBvc2l0aW9uID0gJ2F1dG8nO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hcnJvd0JvdHRvbVBvc2l0aW9uID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hcnJvd1RvcFBvc2l0aW9uID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHBsYWNlbWVudC5zcGxpdCgnICcpWzBdID09PSAndG9wJykge1xuICAgICAgICAgICAgICAgIHRoaXMuYmVsb3cgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0b3BTdHlsZSA9IHRoaXMuZWxlbWVudFBvc2l0aW9uLnRvcCAtIHRoaXMudG9vbHRpcE9mZnNldCAtIHRoaXMub2Zmc2V0RGlzdGFuY2U7XG4gICAgICAgICAgICAgICAgdG9wU3R5bGUgKz0gODtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHBsYWNlbWVudC5zcGxpdCgnICcpWzBdID09PSAnYm90dG9tJykge1xuICAgICAgICAgICAgICAgIHRoaXMuYmVsb3cgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRvcFN0eWxlID0gdGhpcy5lbGVtZW50UG9zaXRpb24uYm90dG9tICsgdGhpcy50b29sdGlwT2Zmc2V0ICsgdGhpcy5vZmZzZXREaXN0YW5jZTtcbiAgICAgICAgICAgICAgICAvLyBXZSByZW1vdmUgOHB4IGR1ZSB0byB0aGUgbWFyZ2luLXRvcCB3ZSBwdXQgdG8gZGlzcGxheSB0aGUgYXJyb3cuXG4gICAgICAgICAgICAgICAgdG9wU3R5bGUgLT0gODtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHBsYWNlbWVudC5zcGxpdCgnICcpWzBdID09PSAnbGVmdCcpIHtcbiAgICAgICAgICAgICAgICBsZWZ0U3R5bGUgPSB0aGlzLmVsZW1lbnRQb3NpdGlvbi5sZWZ0IC0gdG9vbHRpcFdpZHRoIC0gdGhpcy50b29sdGlwT2Zmc2V0IC0gdGhpcy5vZmZzZXREaXN0YW5jZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHBsYWNlbWVudC5zcGxpdCgnICcpWzBdID09PSAncmlnaHQnKSB7XG4gICAgICAgICAgICAgICAgbGVmdFN0eWxlID0gdGhpcy5lbGVtZW50UG9zaXRpb24ubGVmdCArIGVsZW1lbnRXaWR0aCArIHRoaXMudG9vbHRpcE9mZnNldCArIHRoaXMub2Zmc2V0RGlzdGFuY2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChwbGFjZW1lbnQuc3BsaXQoJyAnKVswXSA9PT0gJ2xlZnQnIHx8IHBsYWNlbWVudC5zcGxpdCgnICcpWzBdID09PSAncmlnaHQnKSB7XG4gICAgICAgICAgICAgICAgdG9wU3R5bGUgPSB0aGlzLmVsZW1lbnRQb3NpdGlvbi50b3AgKyBzY3JvbGxZICsgZWxlbWVudEhlaWdodCAvIDIgLSB0b29sdGlwLmNsaWVudEhlaWdodCAvIDI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChwbGFjZW1lbnQgPT09ICdyaWdodCBib3R0b20nKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5iZWxvdyA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5iZWZvcmUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLmFycm93Q2xhc3MgPSAnYXJyb3ctbGVmdCc7XG4gICAgICAgICAgICAgICAgdG9wU3R5bGUgPSB0aGlzLmVsZW1lbnRQb3NpdGlvbi50b3AgKyBzY3JvbGxZICsgdGhpcy5vZmZzZXRTa2lkZGluZztcbiAgICAgICAgICAgICAgICB0aGlzLmFycm93UmlnaHRQb3NpdGlvbiA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICB0aGlzLmFycm93TGVmdFBvc2l0aW9uID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIHRoaXMuYXJyb3dCb3R0b21Qb3NpdGlvbiA9ICdhdXRvJztcbiAgICAgICAgICAgICAgICB0aGlzLmFycm93VG9wUG9zaXRpb24gPSB0aGlzLmFycm93T2Zmc2V0ID8gdGhpcy5hcnJvd09mZnNldCArICclJyA6IGVsZW1lbnRIZWlnaHQgLyAyICsgJ3B4JztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHBsYWNlbWVudCA9PT0gJ2xlZnQgYm90dG9tJykge1xuICAgICAgICAgICAgICAgIHRoaXMuYmVsb3cgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuYmVmb3JlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLmFycm93Q2xhc3MgPSAnYXJyb3ctcmlnaHQnO1xuICAgICAgICAgICAgICAgIHRvcFN0eWxlID0gdGhpcy5lbGVtZW50UG9zaXRpb24udG9wICsgc2Nyb2xsWSArIHRoaXMub2Zmc2V0U2tpZGRpbmc7XG4gICAgICAgICAgICAgICAgdGhpcy5hcnJvd0xlZnRQb3NpdGlvbiA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICB0aGlzLmFycm93UmlnaHRQb3NpdGlvbiA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICB0aGlzLmFycm93Qm90dG9tUG9zaXRpb24gPSAnYXV0byc7XG4gICAgICAgICAgICAgICAgdGhpcy5hcnJvd1RvcFBvc2l0aW9uID0gdGhpcy5hcnJvd09mZnNldCA/IHRoaXMuYXJyb3dPZmZzZXQgKyAnJScgOiBlbGVtZW50SGVpZ2h0IC8gMiArICdweCc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChwbGFjZW1lbnQgPT09ICdyaWdodCB0b3AnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5iZWxvdyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuYmVmb3JlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5hcnJvd0NsYXNzID0gJ2Fycm93LWxlZnQnO1xuICAgICAgICAgICAgICAgIHRvcFN0eWxlID0gdGhpcy5lbGVtZW50UG9zaXRpb24udG9wICsgZWxlbWVudEhlaWdodCArIHNjcm9sbFkgKyB0aGlzLm9mZnNldFNraWRkaW5nO1xuICAgICAgICAgICAgICAgIHRoaXMuYXJyb3dMZWZ0UG9zaXRpb24gPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgdGhpcy5hcnJvd1JpZ2h0UG9zaXRpb24gPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgdGhpcy5hcnJvd1RvcFBvc2l0aW9uID0gJ2F1dG8nO1xuICAgICAgICAgICAgICAgIHRoaXMuYXJyb3dCb3R0b21Qb3NpdGlvbiA9IHRoaXMuYXJyb3dPZmZzZXRcbiAgICAgICAgICAgICAgICAgICAgPyB0aGlzLmFycm93T2Zmc2V0ICsgJyUnXG4gICAgICAgICAgICAgICAgICAgIDogLSh0b29sdGlwLmNsaWVudEhlaWdodCAtIGVsZW1lbnRIZWlnaHQgLyAyKSArICdweCc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChwbGFjZW1lbnQgPT09ICdsZWZ0IHRvcCcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmJlbG93ID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5iZWZvcmUgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuYXJyb3dDbGFzcyA9ICdhcnJvdy1yaWdodCc7XG4gICAgICAgICAgICAgICAgdG9wU3R5bGUgPSB0aGlzLmVsZW1lbnRQb3NpdGlvbi50b3AgKyBlbGVtZW50SGVpZ2h0ICsgc2Nyb2xsWSArIHRoaXMub2Zmc2V0U2tpZGRpbmc7XG4gICAgICAgICAgICAgICAgdGhpcy5hcnJvd1JpZ2h0UG9zaXRpb24gPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgdGhpcy5hcnJvd0xlZnRQb3NpdGlvbiA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICB0aGlzLmFycm93VG9wUG9zaXRpb24gPSAnYXV0byc7XG4gICAgICAgICAgICAgICAgdGhpcy5hcnJvd0JvdHRvbVBvc2l0aW9uID0gdGhpcy5hcnJvd09mZnNldFxuICAgICAgICAgICAgICAgICAgICA/IHRoaXMuYXJyb3dPZmZzZXQgKyAnJSdcbiAgICAgICAgICAgICAgICAgICAgOiAtKHRvb2x0aXAuY2xpZW50SGVpZ2h0IC0gZWxlbWVudEhlaWdodCAvIDIpICsgJ3B4JztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHBsYWNlbWVudCA9PT0gJ2JvdHRvbSByaWdodCcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmJlZm9yZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuYmVsb3cgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuYXJyb3dDbGFzcyA9ICdhcnJvdy10b3AnO1xuICAgICAgICAgICAgICAgIGxlZnRTdHlsZSA9IHRoaXMuZWxlbWVudFBvc2l0aW9uLmxlZnQgKyB0aGlzLm9mZnNldFNraWRkaW5nO1xuICAgICAgICAgICAgICAgIHRoaXMuYXJyb3dUb3BQb3NpdGlvbiA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICB0aGlzLmFycm93UmlnaHRQb3NpdGlvbiA9ICdhdXRvJztcbiAgICAgICAgICAgICAgICB0aGlzLmFycm93TGVmdFBvc2l0aW9uID0gdGhpcy5hcnJvd09mZnNldCA/IHRoaXMuYXJyb3dPZmZzZXQgKyAnJScgOiBlbGVtZW50V2lkdGggLyAyIC0gNC41ICsgJ3B4JztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHBsYWNlbWVudCA9PT0gJ2JvdHRvbSBsZWZ0Jykge1xuICAgICAgICAgICAgICAgIHRoaXMuYmVmb3JlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLmJlbG93ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLmFycm93Q2xhc3MgPSAnYXJyb3ctdG9wJztcbiAgICAgICAgICAgICAgICBsZWZ0U3R5bGUgPSB0aGlzLmVsZW1lbnRQb3NpdGlvbi5yaWdodCArIHRoaXMub2Zmc2V0U2tpZGRpbmc7XG4gICAgICAgICAgICAgICAgdGhpcy5hcnJvd1RvcFBvc2l0aW9uID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIHRoaXMuYXJyb3dMZWZ0UG9zaXRpb24gPSAnYXV0byc7XG4gICAgICAgICAgICAgICAgdGhpcy5hcnJvd1JpZ2h0UG9zaXRpb24gPSB0aGlzLmFycm93T2Zmc2V0ID8gdGhpcy5hcnJvd09mZnNldCArICclJyA6IGVsZW1lbnRXaWR0aCAvIDIgLSAyLjUgKyAncHgnO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAocGxhY2VtZW50ID09PSAndG9wIHJpZ2h0Jykge1xuICAgICAgICAgICAgICAgIHRoaXMuYmVmb3JlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5iZWxvdyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuYXJyb3dDbGFzcyA9ICdhcnJvdy1ib3R0b20nO1xuICAgICAgICAgICAgICAgIGxlZnRTdHlsZSA9IHRoaXMuZWxlbWVudFBvc2l0aW9uLmxlZnQgKyB0aGlzLm9mZnNldFNraWRkaW5nO1xuICAgICAgICAgICAgICAgIHRoaXMuYXJyb3dCb3R0b21Qb3NpdGlvbiA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICB0aGlzLmFycm93VG9wUG9zaXRpb24gPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgdGhpcy5hcnJvd1JpZ2h0UG9zaXRpb24gPSAnYXV0byc7XG4gICAgICAgICAgICAgICAgdGhpcy5hcnJvd0xlZnRQb3NpdGlvbiA9IHRoaXMuYXJyb3dPZmZzZXQgPyB0aGlzLmFycm93T2Zmc2V0ICsgJyUnIDogZWxlbWVudFdpZHRoIC8gMiAtIDQuNSArICdweCc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChwbGFjZW1lbnQgPT09ICd0b3AgbGVmdCcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmJlZm9yZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5iZWxvdyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuYXJyb3dDbGFzcyA9ICdhcnJvdy1ib3R0b20nO1xuICAgICAgICAgICAgICAgIGxlZnRTdHlsZSA9IHRoaXMuZWxlbWVudFBvc2l0aW9uLnJpZ2h0ICsgdGhpcy5vZmZzZXRTa2lkZGluZztcbiAgICAgICAgICAgICAgICB0aGlzLmFycm93Qm90dG9tUG9zaXRpb24gPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgdGhpcy5hcnJvd1RvcFBvc2l0aW9uID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIHRoaXMuYXJyb3dMZWZ0UG9zaXRpb24gPSAnYXV0byc7XG4gICAgICAgICAgICAgICAgdGhpcy5hcnJvd1JpZ2h0UG9zaXRpb24gPSB0aGlzLmFycm93T2Zmc2V0ID8gdGhpcy5hcnJvd09mZnNldCArICclJyA6IGVsZW1lbnRXaWR0aCAvIDIgLSAyLjUgKyAncHgnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gVGhpcyBsaW5lIGlzIFBVUkUgTUFHSUMgYW5kIHN1cGVyIGltcG9ydGFudC4gSXQgYWxsb3dzIHRvIGZvcmNlIG1hdC1tZW51XG4gICAgICAgIC8vIHRvIHJlcG9zaXRpb24gdGhlIG1lbnUgd2l0aCB0aGUgbmV3IHhQb3NpdGlvbiAvIHlQb3NpdGlvbi5cbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICAgICAgY29uc3QgdG9wRWRnZSA9IHRvcFN0eWxlO1xuICAgICAgICBjb25zdCBib3R0b21FZGdlID0gdG9wU3R5bGUgKyB0b29sdGlwSGVpZ2h0O1xuICAgICAgICBjb25zdCBsZWZ0RWRnZSA9IGxlZnRTdHlsZTtcbiAgICAgICAgY29uc3QgcmlnaHRFZGdlID0gbGVmdFN0eWxlICsgdG9vbHRpcFdpZHRoO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICh0b3BFZGdlIDwgMCB8fFxuICAgICAgICAgICAgICAgIGJvdHRvbUVkZ2UgPiBkb2N1bWVudC5ib2R5LmNsaWVudEhlaWdodCB8fFxuICAgICAgICAgICAgICAgIGxlZnRFZGdlIDwgMCB8fFxuICAgICAgICAgICAgICAgIHJpZ2h0RWRnZSA+IGRvY3VtZW50LmJvZHkuY2xpZW50V2lkdGgpICYmXG4gICAgICAgICAgICB0aGlzLmF1dG9QbGFjZW1lbnRcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmhvc3RTdHlsZVRvcCA9IHRvcFN0eWxlICsgJ3B4JztcbiAgICAgICAgdGhpcy5ob3N0U3R5bGVMZWZ0ID0gbGVmdFN0eWxlICsgJ3B4JztcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgc2V0UGxhY2VtZW50Q2xhc3MocGxhY2VtZW50Pzogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoXG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICd0b29sdGlwLScgKyAocGxhY2VtZW50ID8gcGxhY2VtZW50LnNwbGl0KCcgJylbMF0gOiBwbGFjZW1lbnQpXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoXG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICd5UG9zaXRpb24tJyArIChwbGFjZW1lbnQgJiYgcGxhY2VtZW50LnNwbGl0KCcgJykubGVuZ3RoID09PSAyID8gcGxhY2VtZW50LnNwbGl0KCcgJylbMV0gOiAnY2VudGVyJylcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW4gJiYgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW4ubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgY29uc3QgdG9vbHRpcEFycm93ID0gQXJyYXkuZnJvbSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jaGlsZHJlbikuZmlsdGVyKFxuICAgICAgICAgICAgICAgIChjaGlsZDogSFRNTEVsZW1lbnQpID0+IGNoaWxkLmdldEF0dHJpYnV0ZSgnaWQnKSA9PT0gJ3Rvb2x0aXBBcnJvdydcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBpZiAodG9vbHRpcEFycm93ICYmIHRvb2x0aXBBcnJvdy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgICAgICBpZiAocGxhY2VtZW50ICYmIHBsYWNlbWVudC5zcGxpdCgnICcpLmxlbmd0aCA9PT0gMiAmJiBwbGFjZW1lbnQuc3BsaXQoJyAnKVsxXSA9PT0gJ2JvdHRvbScpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0b29sdGlwQXJyb3dbMF0sICd0b3AnLCB0aGlzLmFycm93VG9wUG9zaXRpb24pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocGxhY2VtZW50ICYmIHBsYWNlbWVudC5zcGxpdCgnICcpLmxlbmd0aCA9PT0gMiAmJiBwbGFjZW1lbnQuc3BsaXQoJyAnKVsxXSA9PT0gJ3RvcCcpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0b29sdGlwQXJyb3dbMF0sICd0b3AnLCB0aGlzLmFycm93Qm90dG9tUG9zaXRpb24pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNldFBvc2l0aW9uKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zZXRIb3N0U3R5bGUodGhpcy5wbGFjZW1lbnQpKSB7XG4gICAgICAgICAgICB0aGlzLnNldFBsYWNlbWVudENsYXNzKHRoaXMucGxhY2VtZW50KTtcbiAgICAgICAgICAgIGlmICh0aGlzLnZpZXdJbml0KSB7XG4gICAgICAgICAgICAgICAgLy8gV2UgZGlkIHRoaXMgaW4gb3JkZXIgdG8gcmVzZXQgb3ZlcmxheVJlZiAobXVsdGkgd2ViIGNvbXBvbmVudCBuZWVkZWQgd2l0aCBtYXRtZW51IGFuZCBjZGsgb3ZlcmxheSlcbiAgICAgICAgICAgICAgICBpZiAodGhpcy50cmlnZ2VyWydfb3ZlcmxheVJlZiddKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudHJpZ2dlclsnX292ZXJsYXlSZWYnXS5kaXNwb3NlKCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudHJpZ2dlclsnX292ZXJsYXlSZWYnXSA9IG51bGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMudHJpZ2dlci5vcGVuTWVudSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgcGxhY2VtZW50cyA9IFsndG9wJywgJ3JpZ2h0JywgJ2JvdHRvbScsICdsZWZ0J107XG5cbiAgICAgICAgICAgIGZvciAoY29uc3QgcGxhY2VtZW50IG9mIHBsYWNlbWVudHMpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5zZXRIb3N0U3R5bGUocGxhY2VtZW50KSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFBsYWNlbWVudENsYXNzKHBsYWNlbWVudCk7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnZpZXdJbml0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRyaWdnZXIub3Blbk1lbnUoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGJ1dHRvbiBpZD1cIm1lbnVUcmlnZ2VyXCIgY2xhc3M9XCJidXR0b24tdHJpZ2dlclwiIG1hdC1idXR0b25cbiAgICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIiAobWVudUNsb3NlZCk9XCJvbk1lbnVDbG9zZWQoKVwiIChtZW51T3BlbmVkKT1cIm9uTWVudU9wZW5lZCgpXCI+XG48L2J1dHRvbj5cbjxtYXQtbWVudSAjbWVudT1cIm1hdE1lbnVcIiBbeVBvc2l0aW9uXT1cIiFiZWxvdyA/ICdhYm92ZSc6ICdiZWxvdydcIiBbeFBvc2l0aW9uXT1cIiFiZWZvcmU/ICdhZnRlcic6ICdiZWZvcmUnXCIgW292ZXJsYXBUcmlnZ2VyXT1cImZhbHNlXCJcbiAgICAgICAgICBbaGFzQmFja2Ryb3BdPVwiaGFzQmFja2Ryb3BcIlxuICAgICAgICAgIFtiYWNrZHJvcENsYXNzXT1cImJhY2tkcm9wQ2xhc3NcIlxuICAgICAgICAgIGNsYXNzPVwicG9wLW1lbnUge3thcnJvdyA/ICdhcnJvdy1iZWZvcmUgJyArIGFycm93Q2xhc3MgOiAnJ319IHt7c2hhZG93ID8gJ3NoYWRvdycgOiAnJ319IHt7Ym9yZGVyID8gJycgOiAoc2hhZG93ID8gJ3NoYWRvdy1uby1ib3JkZXInIDogJycpfX0ge3tyb3VuZGVkID8gJ3JvdW5kZWQtY29tcG9uZW50JyA6ICcnfX0ge3sgYmFja2dyb3VuZCA/ICcnIDogJ25vLWJhY2tncm91bmQnfX0ge3twYW5lbENsYXNzfX1cIj5cblxuICAgIDxkaXYgKm5nSWY9XCJhcnJvd1wiIGNsYXNzPVwie3thcnJvdyA/ICdhcnJvdy1iZWZvcmUgJyArIGFycm93Q2xhc3MgOiAnJ319XCIgW25nU3R5bGVdPVwieydsZWZ0JzogYXJyb3dMZWZ0UG9zaXRpb24sICdyaWdodCc6IGFycm93UmlnaHRQb3NpdGlvbiwgJ3RvcCc6IGFycm93VG9wUG9zaXRpb24sICdib3R0b20nOiBhcnJvd0JvdHRvbVBvc2l0aW9ufVwiPjwvZGl2PlxuICAgIDxkaXYgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiIGNsYXNzPVwie3tyb3VuZGVkID8gJ3JvdW5kZWQtY29tcG9uZW50JyA6ICcnfX0gb3V0bGluZS1ub25lXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ7e2JvcmRlciA/ICdwb3BvdmVyLWNvbnRlbnQgJyA6ICcnfX0ge3tyb3VuZGVkID8gJ3JvdW5kZWQtY29tcG9uZW50JyA6ICcnfX1cIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ2YWx1ZTtjb250ZXh0OnttZW51OnRoaXN9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9tYXQtbWVudT5cblxuXG4iXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agorapulse-ui-components-popmenu.mjs","sources":["../../../libs/ui-components/popmenu/src/popmenu.component.ts","../../../libs/ui-components/popmenu/src/popmenu.component.html","../../../libs/ui-components/popmenu/src/options.ts","../../../libs/ui-components/popmenu/src/popmenu-options.service.ts","../../../libs/ui-components/popmenu/src/popmenu.directive.ts","../../../libs/ui-components/popmenu/src/popmenu.module.ts","../../../libs/ui-components/popmenu/src/agorapulse-ui-components-popmenu.ts"],"sourcesContent":["import {NgIf, NgStyle, NgTemplateOutlet} from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n Renderer2,\n ViewChild,\n} from '@angular/core';\nimport {MatLegacyButtonModule as MatButtonModule} from '@angular/material/legacy-button';\nimport {MatLegacyMenuModule as MatMenuModule, MatLegacyMenuTrigger as MatMenuTrigger} from '@angular/material/legacy-menu';\nimport {merge} from \"rxjs\";\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-popmenu',\n templateUrl: './popmenu.component.html',\n styleUrls: ['./popmenu.component.scss'],\n standalone: true,\n imports: [MatButtonModule, MatMenuModule, NgStyle, NgTemplateOutlet, NgIf],\n})\nexport class PopmenuComponent implements AfterViewInit {\n @Input() data: any;\n events = new EventEmitter();\n arrowTopPosition = '50%';\n arrowBottomPosition = '50%';\n arrowLeftPosition: string;\n arrowRightPosition: string;\n arrowClass: string;\n below;\n before;\n @Output() menuClosed: EventEmitter<any> = new EventEmitter<any>();\n @Output() menuOpened: EventEmitter<any> = new EventEmitter<any>();\n @ViewChild(MatMenuTrigger) trigger: MatMenuTrigger;\n @HostBinding('style.top') hostStyleTop: string;\n @HostBinding('style.border-radius') hostStyleBorderRadius: string;\n @HostBinding('style.left') hostStyleLeft: string;\n @HostBinding('style.z-index') hostStyleZIndex: number;\n @HostBinding('style.transition') hostStyleTransition: string;\n @HostBinding('style.width') hostStyleWidth: string;\n @HostBinding('style.max-width') hostStyleMaxWidth: string;\n @HostBinding('style.pointer-events') hostStylePointerEvents: string;\n @HostBinding('class.tooltip-show') hostClassShow: boolean;\n @HostBinding('class.tooltip-shadow') hostClassShadow: boolean;\n @HostBinding('class.tooltip-light') hostClassLight: boolean;\n viewInit = false;\n\n _show = false;\n\n get show(): boolean {\n return this._show;\n }\n\n @Input() set show(value: boolean) {\n if (value) {\n this.setPosition();\n }\n this._show = value;\n }\n\n @Input() set close(value: boolean) {\n if (value) {\n this.trigger.closeMenu();\n }\n }\n\n menuOpen: boolean;\n\n get arrow() {\n return this.data.options.arrow && this.border;\n }\n\n get arrowOffset() {\n return this.data.options.arrowOffset;\n }\n\n get arrowPosition() {\n return this.data.options.arrowPosition;\n }\n\n get autoPlacement() {\n return this.data.options.autoPlacement;\n }\n\n get background() {\n return this.data.options.apPopmenuBackground;\n }\n\n get border() {\n return this.data.options.apPopmenuBorder;\n }\n\n get element() {\n return this.data.element;\n }\n\n get elementPosition() {\n return this.data.elementPosition;\n }\n\n get hasBackdrop() {\n return this.data.options.hasBackdrop;\n }\n\n get backdropClass() {\n return this.data.options.backdropClass;\n }\n\n get isThemeLight() {\n return this.options['theme'] === 'light';\n }\n\n get options() {\n return this.data.options;\n }\n\n get panelClass() {\n return this.data.options.panelClass;\n }\n\n get placement() {\n return this.data.options.placement;\n }\n\n get rounded() {\n return this.data.options.rounded;\n }\n\n get shadow() {\n return this.data.options.shadow;\n }\n\n get tooltipOffset(): number {\n return Number(this.data.options.offset);\n }\n\n get offsetSkidding(): number {\n return Number(this.data.options.offsets.skidding) || 0;\n }\n\n get offsetDistance(): number {\n return Number(this.data.options.offsets.distance || 0);\n }\n\n get value() {\n return this.data.value;\n }\n\n constructor(\n public renderer: Renderer2,\n public elementRef: ElementRef,\n private changeDetectorRef: ChangeDetectorRef\n ) {}\n\n ngAfterViewInit() {\n this.viewInit = true;\n merge(this.trigger.menuOpened,this.trigger.menuClosed).subscribe(()=>{\n this.menuOpen = this.trigger.menuOpen;\n })\n }\n\n onMenuClosed() {\n // we set a timeout to wait for the menu to be really closed\n setTimeout(() => this.menuClosed.emit(), 200);\n }\n\n onMenuOpened() {\n // we set a timeout to wait for the menu to be really opened\n setTimeout(() => this.menuOpened.emit(), 100);\n }\n\n setHostStyle(placement: string): boolean {\n const isSvg = this.element instanceof SVGElement;\n const tooltip = this.elementRef.nativeElement;\n const isCustomPosition = !this.elementPosition.x;\n\n let elementHeight = !this.element.offsetHeight\n ? this.element.getBoundingClientRect().height\n : this.element.offsetHeight;\n let elementWidth = !this.element.offsetWidth\n ? this.element.getBoundingClientRect().width\n : this.element.offsetWidth;\n const tooltipHeight = tooltip.clientHeight;\n const tooltipWidth = tooltip.clientWidth;\n const scrollY = window.pageYOffset;\n\n let topStyle;\n let leftStyle;\n\n if (isCustomPosition) {\n if (placement && placement.split(' ')[0] === 'top') {\n this.below = false;\n }\n if (placement && placement.split(' ')[0] === 'bottom') {\n this.below = true;\n }\n elementHeight = 0;\n elementWidth = 0;\n topStyle = this.elementPosition.top;\n leftStyle = this.elementPosition.left;\n if (this.arrow && this.arrowPosition) {\n this.arrowClass = 'arrow-' + this.arrowPosition;\n switch (this.arrowPosition) {\n case 'left':\n case 'right':\n this.arrowLeftPosition = undefined;\n this.arrowRightPosition = undefined;\n this.arrowBottomPosition = 'auto';\n this.arrowTopPosition = this.arrowOffset + '%';\n break;\n case 'top':\n case 'bottom':\n this.arrowLeftPosition = this.arrowOffset + '%';\n this.arrowRightPosition = 'auto';\n this.arrowBottomPosition = undefined;\n this.arrowTopPosition = undefined;\n break;\n }\n }\n } else {\n if (placement.split(' ')[0] === 'top') {\n this.below = false;\n topStyle = this.elementPosition.top - this.tooltipOffset - this.offsetDistance;\n topStyle += 8;\n }\n\n if (placement.split(' ')[0] === 'bottom') {\n this.below = true;\n topStyle = this.elementPosition.bottom + this.tooltipOffset + this.offsetDistance;\n // We remove 8px due to the margin-top we put to display the arrow.\n topStyle -= 8;\n }\n\n if (placement.split(' ')[0] === 'left') {\n leftStyle = this.elementPosition.left - tooltipWidth - this.tooltipOffset - this.offsetDistance;\n }\n\n if (placement.split(' ')[0] === 'right') {\n leftStyle = this.elementPosition.left + elementWidth + this.tooltipOffset + this.offsetDistance;\n }\n\n if (placement.split(' ')[0] === 'left' || placement.split(' ')[0] === 'right') {\n topStyle = this.elementPosition.top + scrollY + elementHeight / 2 - tooltip.clientHeight / 2;\n }\n\n if (placement === 'right bottom') {\n this.below = true;\n this.before = false;\n this.arrowClass = 'arrow-left';\n topStyle = this.elementPosition.top + scrollY + this.offsetSkidding;\n this.arrowRightPosition = undefined;\n this.arrowLeftPosition = undefined;\n this.arrowBottomPosition = 'auto';\n this.arrowTopPosition = this.arrowOffset ? this.arrowOffset + '%' : elementHeight / 2 + 'px';\n }\n\n if (placement === 'left bottom') {\n this.below = true;\n this.before = true;\n this.arrowClass = 'arrow-right';\n topStyle = this.elementPosition.top + scrollY + this.offsetSkidding;\n this.arrowLeftPosition = undefined;\n this.arrowRightPosition = undefined;\n this.arrowBottomPosition = 'auto';\n this.arrowTopPosition = this.arrowOffset ? this.arrowOffset + '%' : elementHeight / 2 + 'px';\n }\n\n if (placement === 'right top') {\n this.below = false;\n this.before = false;\n this.arrowClass = 'arrow-left';\n topStyle = this.elementPosition.top + elementHeight + scrollY + this.offsetSkidding;\n this.arrowLeftPosition = undefined;\n this.arrowRightPosition = undefined;\n this.arrowTopPosition = 'auto';\n this.arrowBottomPosition = this.arrowOffset\n ? this.arrowOffset + '%'\n : -(tooltip.clientHeight - elementHeight / 2) + 'px';\n }\n\n if (placement === 'left top') {\n this.below = false;\n this.before = true;\n this.arrowClass = 'arrow-right';\n topStyle = this.elementPosition.top + elementHeight + scrollY + this.offsetSkidding;\n this.arrowRightPosition = undefined;\n this.arrowLeftPosition = undefined;\n this.arrowTopPosition = 'auto';\n this.arrowBottomPosition = this.arrowOffset\n ? this.arrowOffset + '%'\n : -(tooltip.clientHeight - elementHeight / 2) + 'px';\n }\n\n if (placement === 'bottom right') {\n this.before = false;\n this.below = true;\n this.arrowClass = 'arrow-top';\n leftStyle = this.elementPosition.left + this.offsetSkidding;\n this.arrowTopPosition = undefined;\n this.arrowRightPosition = 'auto';\n this.arrowLeftPosition = this.arrowOffset ? this.arrowOffset + '%' : elementWidth / 2 - 4.5 + 'px';\n }\n\n if (placement === 'bottom left') {\n this.before = true;\n this.below = true;\n this.arrowClass = 'arrow-top';\n leftStyle = this.elementPosition.right + this.offsetSkidding;\n this.arrowTopPosition = undefined;\n this.arrowLeftPosition = 'auto';\n this.arrowRightPosition = this.arrowOffset ? this.arrowOffset + '%' : elementWidth / 2 - 2.5 + 'px';\n }\n\n if (placement === 'top right') {\n this.before = false;\n this.below = false;\n this.arrowClass = 'arrow-bottom';\n leftStyle = this.elementPosition.left + this.offsetSkidding;\n this.arrowBottomPosition = undefined;\n this.arrowTopPosition = undefined;\n this.arrowRightPosition = 'auto';\n this.arrowLeftPosition = this.arrowOffset ? this.arrowOffset + '%' : elementWidth / 2 - 4.5 + 'px';\n }\n\n if (placement === 'top left') {\n this.before = true;\n this.below = false;\n this.arrowClass = 'arrow-bottom';\n leftStyle = this.elementPosition.right + this.offsetSkidding;\n this.arrowBottomPosition = undefined;\n this.arrowTopPosition = undefined;\n this.arrowLeftPosition = 'auto';\n this.arrowRightPosition = this.arrowOffset ? this.arrowOffset + '%' : elementWidth / 2 - 2.5 + 'px';\n }\n }\n\n // This line is PURE MAGIC and super important. It allows to force mat-menu\n // to reposition the menu with the new xPosition / yPosition.\n this.changeDetectorRef.detectChanges();\n\n const topEdge = topStyle;\n const bottomEdge = topStyle + tooltipHeight;\n const leftEdge = leftStyle;\n const rightEdge = leftStyle + tooltipWidth;\n\n if (\n (topEdge < 0 ||\n bottomEdge > document.body.clientHeight ||\n leftEdge < 0 ||\n rightEdge > document.body.clientWidth) &&\n this.autoPlacement\n ) {\n return false;\n }\n\n this.hostStyleTop = topStyle + 'px';\n this.hostStyleLeft = leftStyle + 'px';\n return true;\n }\n\n setPlacementClass(placement?: string): void {\n this.renderer.addClass(\n this.elementRef.nativeElement,\n 'tooltip-' + (placement ? placement.split(' ')[0] : placement)\n );\n this.renderer.addClass(\n this.elementRef.nativeElement,\n 'yPosition-' + (placement && placement.split(' ').length === 2 ? placement.split(' ')[1] : 'center')\n );\n\n if (this.elementRef.nativeElement.children && this.elementRef.nativeElement.children.length > 1) {\n const tooltipArrow = Array.from(this.elementRef.nativeElement.children).filter(\n (child: HTMLElement) => child.getAttribute('id') === 'tooltipArrow'\n );\n if (tooltipArrow && tooltipArrow.length === 1) {\n if (placement && placement.split(' ').length === 2 && placement.split(' ')[1] === 'bottom') {\n this.renderer.setStyle(tooltipArrow[0], 'top', this.arrowTopPosition);\n } else if (placement && placement.split(' ').length === 2 && placement.split(' ')[1] === 'top') {\n this.renderer.setStyle(tooltipArrow[0], 'top', this.arrowBottomPosition);\n }\n }\n }\n }\n\n setPosition(): void {\n if (this.setHostStyle(this.placement)) {\n this.setPlacementClass(this.placement);\n if (this.viewInit) {\n // We did this in order to reset overlayRef (multi web component needed with matmenu and cdk overlay)\n if (this.trigger['_overlayRef']) {\n this.trigger['_overlayRef'].dispose();\n this.trigger['_overlayRef'] = null;\n }\n this.trigger.openMenu();\n }\n return;\n } else {\n const placements = ['top', 'right', 'bottom', 'left'];\n\n for (const placement of placements) {\n if (this.setHostStyle(placement)) {\n this.setPlacementClass(placement);\n if (this.viewInit) {\n this.trigger.openMenu();\n }\n return;\n }\n }\n }\n }\n}\n","<button id=\"menuTrigger\" class=\"button-trigger\" mat-button\n [matMenuTriggerFor]=\"menu\" (menuClosed)=\"onMenuClosed()\" (menuOpened)=\"onMenuOpened()\">\n</button>\n<mat-menu #menu=\"matMenu\" [yPosition]=\"!below ? 'above': 'below'\" [xPosition]=\"!before? 'after': 'before'\" [overlapTrigger]=\"false\"\n [hasBackdrop]=\"hasBackdrop\"\n [backdropClass]=\"backdropClass\"\n class=\"pop-menu {{arrow ? 'arrow-before ' + arrowClass : ''}} {{shadow ? 'shadow' : ''}} {{border ? '' : (shadow ? 'shadow-no-border' : '')}} {{rounded ? 'rounded-component' : ''}} {{ background ? '' : 'no-background'}} {{panelClass}}\">\n\n <div *ngIf=\"arrow\" class=\"{{arrow ? 'arrow-before ' + arrowClass : ''}}\" [ngStyle]=\"{'left': arrowLeftPosition, 'right': arrowRightPosition, 'top': arrowTopPosition, 'bottom': arrowBottomPosition}\"></div>\n <div (click)=\"$event.stopPropagation()\" class=\"{{rounded ? 'rounded-component' : ''}} outline-none\">\n <div class=\"{{border ? 'popover-content ' : ''}} {{rounded ? 'rounded-component' : ''}}\">\n <ng-container *ngTemplateOutlet=\"value;context:{menu:this}\"></ng-container>\n </div>\n </div>\n</mat-menu>\n\n\n","export const defaultOptions = {\n 'apPopmenuBorder': true,\n 'apPopmenuDisabled': false,\n 'apPopmenuBackground': true,\n 'hasBackdrop': true,\n\t'placement': 'top',\n 'rounded' : true,\n\t'showDelay': 0,\n\t'hideDelay': 10,\n\t'hideDelayMobile': 0,\n\t'shadow': true,\n\t'theme': 'dark',\n\t'offset': 8,\n\t'offsets': {},\n\t'maxWidth': '600',\n};\n","import {InjectionToken} from '@angular/core';\nimport {PopmenuOptions} from './popmenu-options.interface';\n\n/**\n * This is not a real service, but it looks like it from the outside.\n * It's just an InjectionToken used to import the config (initOptions) object, provided from the outside\n */\nexport const PopmenuOptionsService = new InjectionToken<PopmenuOptions>('PopmenuOptions');\n","import {\n ApplicationRef,\n ComponentFactoryResolver, ComponentRef,\n Directive,\n ElementRef,\n EmbeddedViewRef,\n EventEmitter,\n HostListener,\n Inject,\n Injector,\n Input,\n OnChanges,\n OnInit,\n Optional,\n Output,\n Renderer2, TemplateRef\n} from '@angular/core';\nimport {PopmenuOptions} from './popmenu-options.interface';\nimport {defaultOptions} from './options';\nimport {PopmenuOptionsService} from './popmenu-options.service';\nimport {PopmenuComponent} from './popmenu.component';\n\nexport interface AdComponent {\n data: any;\n show: boolean;\n close: boolean;\n menuClosed: any;\n menuOpened: any;\n menuOpen: boolean;\n}\n\n@Directive({\n selector: '[apPopmenu]',\n standalone: true,\n})\n\nexport class PopmenuDirective implements OnChanges, OnInit {\n\n hideTimeoutId: number;\n destroyTimeoutId: number;\n createTimeoutId: number;\n showTimeoutId: number;\n componentRef: ComponentRef<any>;\n elementPosition: any;\n componentSubscribe: any;\n _defaultOptions: any;\n @Input() apPopmenuBorder: boolean;\n @Input() apPopmenuDisabled: boolean;\n @Input() apPopmenuBackground: boolean = true;\n @Input() arrow: boolean;\n @Input() arrowOffset: number;\n @Input() arrowPosition: string;\n @Input() close = false;\n @Input() hasBackdrop: boolean = true;\n @Input() backdropClass: string;\n @Input() panelClass: string;\n @Input() offset: number;\n @Input() offsets: { distance?: number, skidding?: number };\n @Input() placement: string;\n @Input() pointer = true;\n @Input('apPopmenu') popMenuValue: TemplateRef<any>;\n @Input() position: { top: number, left: number };\n @Input() rounded: boolean;\n @Input() shadow: boolean;\n @Output() menuClosed: EventEmitter<any> = new EventEmitter<any>();\n @Output() menuOpened: EventEmitter<any> = new EventEmitter<any>();\n\n componentElement: HTMLElement;\n\n _options: any = {};\n\n get options() {\n return this._options;\n }\n\n @Input() set options(value: PopmenuOptions) {\n if (value && defaultOptions) {\n this._options = value;\n }\n }\n\n get destroyDelay() {\n return Number(this.getHideDelay()) + Number(this.options['animationDuration']);\n }\n\n get isDisplayOnHover(): boolean {\n if (this.options['display'] === false) {\n return false;\n }\n\n if (this.options['displayTouchscreen'] === false) {\n return false;\n }\n\n if (this.options['trigger'] !== 'hover') {\n return false;\n }\n\n return true;\n }\n\n get isTooltipDestroyed() {\n return this.componentRef && this.componentRef.hostView.destroyed;\n }\n\n get tooltipPosition() {\n if (this.options['position']) {\n return this.options['position'];\n } else {\n return this.elementPosition;\n }\n }\n\n constructor(\n @Optional() @Inject(PopmenuOptionsService) private initOptions,\n public renderer: Renderer2,\n private elementRef: ElementRef,\n private componentFactoryResolver: ComponentFactoryResolver,\n private appRef: ApplicationRef,\n private injector: Injector) {\n }\n\n appendComponentToBody(component: any, data: any = {}): void {\n this.componentRef = this.componentFactoryResolver\n .resolveComponentFactory(component)\n .create(this.injector);\n\n (<AdComponent>this.componentRef.instance).data = {\n value: this.popMenuValue,\n element: this.elementRef.nativeElement,\n elementPosition: this.tooltipPosition,\n options: this.options\n };\n this.appRef.attachView(this.componentRef.hostView);\n this.componentElement = (this.componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\n document.body.appendChild(this.componentElement);\n this.componentSubscribe = (<AdComponent>this.componentRef.instance).menuClosed.subscribe((event: any) => {\n this.handleClose(event);\n this.menuOpen = (<AdComponent>this.componentRef.instance).menuOpen;\n });\n this.componentSubscribe = (<AdComponent>this.componentRef.instance).menuOpened.subscribe((event: any) => {\n this.handleOpen(event);\n this.menuOpen = (<AdComponent>this.componentRef.instance).menuOpen;\n });\n\n }\n\n @Output()\n menuOpenChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n #menuOpen: boolean;\n\n @Input()\n get menuOpen() {\n return this.#menuOpen;\n }\n\n set menuOpen(menuOpen: boolean) {\n this.menuOpenChange.emit(menuOpen);\n this.#menuOpen = menuOpen;\n if (this.#menuOpen) {\n this.elementRef.nativeElement.classList.add(\"popmenu-open\");\n this.elementRef.nativeElement.classList.remove(\"popmenu-close\");\n } else {\n this.elementRef.nativeElement.classList.remove(\"popmenu-open\");\n this.elementRef.nativeElement.classList.add(\"popmenu-close\");\n }\n }\n\n handleClose(event: any) {\n this.menuClosed.emit();\n }\n\n handleOpen(event: any) {\n this.menuOpened.emit();\n }\n\n applyOptionsDefault(defaultOptions, options): void {\n this.options = Object.assign({}, defaultOptions, this.initOptions || {}, options);\n }\n\n clearTimeouts(): void {\n if (this.createTimeoutId) {\n clearTimeout(this.createTimeoutId);\n }\n\n if (this.showTimeoutId) {\n clearTimeout(this.showTimeoutId);\n }\n\n if (this.hideTimeoutId) {\n clearTimeout(this.hideTimeoutId);\n }\n\n if (this.destroyTimeoutId) {\n clearTimeout(this.destroyTimeoutId);\n }\n }\n\n createPopMenu(): void {\n this.clearTimeouts();\n\n this.createTimeoutId = window.setTimeout(() => {\n this.appendComponentToBody(PopmenuComponent);\n }, this.getShowDelay());\n\n this.showTimeoutId = window.setTimeout(() => {\n this.showTooltipElem();\n }, this.getShowDelay());\n }\n\n getElementPosition(): void {\n this.elementPosition = this.elementRef.nativeElement.getBoundingClientRect();\n }\n\n getHideDelay() {\n return this.options['hideDelay'];\n }\n\n getProperties(changes) {\n let properties = {};\n\n for (const prop in changes) {\n if (prop !== 'options' && prop !== 'tooltipValue') {\n properties[prop] = changes[prop].currentValue;\n }\n if (prop === 'options') {\n properties = changes[prop].currentValue;\n }\n }\n return properties;\n }\n\n getShowDelay() {\n return this.options['showDelay'];\n }\n\n ngOnChanges(changes) {\n if (changes.pointer) {\n if (!this.pointer) {\n this.renderer.removeStyle(this.elementRef.nativeElement, 'cursor');\n } else {\n this.renderer.setStyle(this.elementRef.nativeElement, 'cursor', 'pointer');\n }\n }\n if (changes.close && changes.close.currentValue) {\n this.hideTooltipElem();\n }\n const changedOptions = this.getProperties(changes);\n this.applyOptionsDefault(this.options && Object.keys(this.options).length > 0 ? this.options : defaultOptions, changedOptions);\n }\n\n ngOnInit(): void {\n if (this.pointer) {\n this.renderer.setStyle(this.elementRef.nativeElement, 'cursor', 'pointer');\n }\n this.menuOpen = false;\n }\n\n @HostListener('click')\n onClick() {\n if (this.apPopmenuDisabled) {\n return;\n }\n this.show();\n this.close = false;\n }\n\n public show() {\n this.getElementPosition();\n if (!this.componentRef || this.isTooltipDestroyed) {\n this.createPopMenu();\n } else if (!this.isTooltipDestroyed) {\n this.showTooltipElem();\n }\n }\n\n showTooltipElem(): void {\n (<AdComponent>this.componentRef.instance).data = {\n value: this.popMenuValue,\n element: this.elementRef.nativeElement,\n elementPosition: this.tooltipPosition,\n options: this.options\n };\n this.clearTimeouts();\n (<AdComponent>this.componentRef.instance).show = true;\n }\n\n hideTooltipElem(): void {\n if (this.componentRef) {\n (<AdComponent>this.componentRef.instance).close = true;\n }\n }\n\n}\n","import {ModuleWithProviders, NgModule} from '@angular/core';\nimport {PopmenuDirective} from './popmenu.directive';\nimport {PopmenuOptions} from './popmenu-options.interface';\nimport {PopmenuOptionsService} from './popmenu-options.service';\nimport {PopmenuComponent} from './popmenu.component';\n\n@NgModule({\n imports: [\n PopmenuDirective,\n PopmenuComponent\n ],\n exports: [\n PopmenuDirective\n ]\n})\nexport class PopmenuModule {\n\n static forRoot(initOptions: PopmenuOptions): ModuleWithProviders<PopmenuModule> {\n return {\n ngModule: PopmenuModule,\n providers: [\n {\n provide: PopmenuOptionsService,\n useValue: initOptions\n }\n ]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["MatMenuTrigger","MatButtonModule","MatMenuModule"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agorapulse-ui-components-popmenu.mjs","sources":["../../../libs/ui-components/popmenu/src/popmenu.component.ts","../../../libs/ui-components/popmenu/src/popmenu.component.html","../../../libs/ui-components/popmenu/src/options.ts","../../../libs/ui-components/popmenu/src/popmenu-options.service.ts","../../../libs/ui-components/popmenu/src/popmenu.directive.ts","../../../libs/ui-components/popmenu/src/popmenu.module.ts","../../../libs/ui-components/popmenu/src/agorapulse-ui-components-popmenu.ts"],"sourcesContent":["import {NgIf, NgStyle, NgTemplateOutlet} from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n Renderer2,\n ViewChild,\n} from '@angular/core';\nimport {MatLegacyButtonModule as MatButtonModule} from '@angular/material/legacy-button';\nimport {MatLegacyMenuModule as MatMenuModule, MatLegacyMenuTrigger as MatMenuTrigger} from '@angular/material/legacy-menu';\nimport {merge} from \"rxjs\";\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-popmenu',\n templateUrl: './popmenu.component.html',\n styleUrls: ['./popmenu.component.scss'],\n standalone: true,\n imports: [MatButtonModule, MatMenuModule, NgStyle, NgTemplateOutlet, NgIf],\n})\nexport class PopmenuComponent implements AfterViewInit {\n @Input() data: any;\n events = new EventEmitter();\n arrowTopPosition = '50%';\n arrowBottomPosition = '50%';\n arrowLeftPosition: string;\n arrowRightPosition: string;\n arrowClass: string;\n below;\n before;\n @Output() menuClosed: EventEmitter<any> = new EventEmitter<any>();\n @Output() menuOpened: EventEmitter<any> = new EventEmitter<any>();\n @ViewChild(MatMenuTrigger) trigger: MatMenuTrigger;\n @HostBinding('style.top') hostStyleTop: string;\n @HostBinding('style.border-radius') hostStyleBorderRadius: string;\n @HostBinding('style.left') hostStyleLeft: string;\n @HostBinding('style.z-index') hostStyleZIndex: number;\n @HostBinding('style.transition') hostStyleTransition: string;\n @HostBinding('style.width') hostStyleWidth: string;\n @HostBinding('style.max-width') hostStyleMaxWidth: string;\n @HostBinding('style.pointer-events') hostStylePointerEvents: string;\n @HostBinding('class.tooltip-show') hostClassShow: boolean;\n @HostBinding('class.tooltip-shadow') hostClassShadow: boolean;\n @HostBinding('class.tooltip-light') hostClassLight: boolean;\n viewInit = false;\n\n _show = false;\n\n get show(): boolean {\n return this._show;\n }\n\n @Input() set show(value: boolean) {\n if (value) {\n this.setPosition();\n }\n this._show = value;\n }\n\n @Input() set close(value: boolean) {\n if (value) {\n setTimeout(() => {\n this.trigger.closeMenu();\n }, 100);\n }\n }\n\n menuOpen: boolean;\n\n get arrow() {\n return this.data.options.arrow && this.border;\n }\n\n get arrowOffset() {\n return this.data.options.arrowOffset;\n }\n\n get arrowPosition() {\n return this.data.options.arrowPosition;\n }\n\n get autoPlacement() {\n return this.data.options.autoPlacement;\n }\n\n get background() {\n return this.data.options.apPopmenuBackground;\n }\n\n get border() {\n return this.data.options.apPopmenuBorder;\n }\n\n get element() {\n return this.data.element;\n }\n\n get elementPosition() {\n return this.data.elementPosition;\n }\n\n get hasBackdrop() {\n return this.data.options.hasBackdrop;\n }\n\n get backdropClass() {\n return this.data.options.backdropClass;\n }\n\n get isThemeLight() {\n return this.options['theme'] === 'light';\n }\n\n get options() {\n return this.data.options;\n }\n\n get panelClass() {\n return this.data.options.panelClass;\n }\n\n get placement() {\n return this.data.options.placement;\n }\n\n get rounded() {\n return this.data.options.rounded;\n }\n\n get shadow() {\n return this.data.options.shadow;\n }\n\n get tooltipOffset(): number {\n return Number(this.data.options.offset);\n }\n\n get offsetSkidding(): number {\n return Number(this.data.options.offsets.skidding) || 0;\n }\n\n get offsetDistance(): number {\n return Number(this.data.options.offsets.distance || 0);\n }\n\n get value() {\n return this.data.value;\n }\n\n constructor(\n public renderer: Renderer2,\n public elementRef: ElementRef,\n private changeDetectorRef: ChangeDetectorRef\n ) {}\n\n ngAfterViewInit() {\n this.viewInit = true;\n merge(this.trigger.menuOpened,this.trigger.menuClosed).subscribe(()=>{\n this.menuOpen = this.trigger.menuOpen;\n })\n }\n\n onMenuClosed() {\n // we set a timeout to wait for the menu to be really closed\n setTimeout(() => this.menuClosed.emit(), 200);\n }\n\n onMenuOpened() {\n // we set a timeout to wait for the menu to be really opened\n setTimeout(() => this.menuOpened.emit(), 100);\n }\n\n setHostStyle(placement: string): boolean {\n const isSvg = this.element instanceof SVGElement;\n const tooltip = this.elementRef.nativeElement;\n const isCustomPosition = !this.elementPosition.x;\n\n let elementHeight = !this.element.offsetHeight\n ? this.element.getBoundingClientRect().height\n : this.element.offsetHeight;\n let elementWidth = !this.element.offsetWidth\n ? this.element.getBoundingClientRect().width\n : this.element.offsetWidth;\n const tooltipHeight = tooltip.clientHeight;\n const tooltipWidth = tooltip.clientWidth;\n const scrollY = window.pageYOffset;\n\n let topStyle;\n let leftStyle;\n\n if (isCustomPosition) {\n if (placement && placement.split(' ')[0] === 'top') {\n this.below = false;\n }\n if (placement && placement.split(' ')[0] === 'bottom') {\n this.below = true;\n }\n elementHeight = 0;\n elementWidth = 0;\n topStyle = this.elementPosition.top;\n leftStyle = this.elementPosition.left;\n if (this.arrow && this.arrowPosition) {\n this.arrowClass = 'arrow-' + this.arrowPosition;\n switch (this.arrowPosition) {\n case 'left':\n case 'right':\n this.arrowLeftPosition = undefined;\n this.arrowRightPosition = undefined;\n this.arrowBottomPosition = 'auto';\n this.arrowTopPosition = this.arrowOffset + '%';\n break;\n case 'top':\n case 'bottom':\n this.arrowLeftPosition = this.arrowOffset + '%';\n this.arrowRightPosition = 'auto';\n this.arrowBottomPosition = undefined;\n this.arrowTopPosition = undefined;\n break;\n }\n }\n } else {\n if (placement.split(' ')[0] === 'top') {\n this.below = false;\n topStyle = this.elementPosition.top - this.tooltipOffset - this.offsetDistance;\n topStyle += 8;\n }\n\n if (placement.split(' ')[0] === 'bottom') {\n this.below = true;\n topStyle = this.elementPosition.bottom + this.tooltipOffset + this.offsetDistance;\n // We remove 8px due to the margin-top we put to display the arrow.\n topStyle -= 8;\n }\n\n if (placement.split(' ')[0] === 'left') {\n leftStyle = this.elementPosition.left - tooltipWidth - this.tooltipOffset - this.offsetDistance;\n }\n\n if (placement.split(' ')[0] === 'right') {\n leftStyle = this.elementPosition.left + elementWidth + this.tooltipOffset + this.offsetDistance;\n }\n\n if (placement.split(' ')[0] === 'left' || placement.split(' ')[0] === 'right') {\n topStyle = this.elementPosition.top + scrollY + elementHeight / 2 - tooltip.clientHeight / 2;\n }\n\n if (placement === 'right bottom') {\n this.below = true;\n this.before = false;\n this.arrowClass = 'arrow-left';\n topStyle = this.elementPosition.top + scrollY + this.offsetSkidding;\n this.arrowRightPosition = undefined;\n this.arrowLeftPosition = undefined;\n this.arrowBottomPosition = 'auto';\n this.arrowTopPosition = this.arrowOffset ? this.arrowOffset + '%' : elementHeight / 2 + 'px';\n }\n\n if (placement === 'left bottom') {\n this.below = true;\n this.before = true;\n this.arrowClass = 'arrow-right';\n topStyle = this.elementPosition.top + scrollY + this.offsetSkidding;\n this.arrowLeftPosition = undefined;\n this.arrowRightPosition = undefined;\n this.arrowBottomPosition = 'auto';\n this.arrowTopPosition = this.arrowOffset ? this.arrowOffset + '%' : elementHeight / 2 + 'px';\n }\n\n if (placement === 'right top') {\n this.below = false;\n this.before = false;\n this.arrowClass = 'arrow-left';\n topStyle = this.elementPosition.top + elementHeight + scrollY + this.offsetSkidding;\n this.arrowLeftPosition = undefined;\n this.arrowRightPosition = undefined;\n this.arrowTopPosition = 'auto';\n this.arrowBottomPosition = this.arrowOffset\n ? this.arrowOffset + '%'\n : -(tooltip.clientHeight - elementHeight / 2) + 'px';\n }\n\n if (placement === 'left top') {\n this.below = false;\n this.before = true;\n this.arrowClass = 'arrow-right';\n topStyle = this.elementPosition.top + elementHeight + scrollY + this.offsetSkidding;\n this.arrowRightPosition = undefined;\n this.arrowLeftPosition = undefined;\n this.arrowTopPosition = 'auto';\n this.arrowBottomPosition = this.arrowOffset\n ? this.arrowOffset + '%'\n : -(tooltip.clientHeight - elementHeight / 2) + 'px';\n }\n\n if (placement === 'bottom right') {\n this.before = false;\n this.below = true;\n this.arrowClass = 'arrow-top';\n leftStyle = this.elementPosition.left + this.offsetSkidding;\n this.arrowTopPosition = undefined;\n this.arrowRightPosition = 'auto';\n this.arrowLeftPosition = this.arrowOffset ? this.arrowOffset + '%' : elementWidth / 2 - 4.5 + 'px';\n }\n\n if (placement === 'bottom left') {\n this.before = true;\n this.below = true;\n this.arrowClass = 'arrow-top';\n leftStyle = this.elementPosition.right + this.offsetSkidding;\n this.arrowTopPosition = undefined;\n this.arrowLeftPosition = 'auto';\n this.arrowRightPosition = this.arrowOffset ? this.arrowOffset + '%' : elementWidth / 2 - 2.5 + 'px';\n }\n\n if (placement === 'top right') {\n this.before = false;\n this.below = false;\n this.arrowClass = 'arrow-bottom';\n leftStyle = this.elementPosition.left + this.offsetSkidding;\n this.arrowBottomPosition = undefined;\n this.arrowTopPosition = undefined;\n this.arrowRightPosition = 'auto';\n this.arrowLeftPosition = this.arrowOffset ? this.arrowOffset + '%' : elementWidth / 2 - 4.5 + 'px';\n }\n\n if (placement === 'top left') {\n this.before = true;\n this.below = false;\n this.arrowClass = 'arrow-bottom';\n leftStyle = this.elementPosition.right + this.offsetSkidding;\n this.arrowBottomPosition = undefined;\n this.arrowTopPosition = undefined;\n this.arrowLeftPosition = 'auto';\n this.arrowRightPosition = this.arrowOffset ? this.arrowOffset + '%' : elementWidth / 2 - 2.5 + 'px';\n }\n }\n\n // This line is PURE MAGIC and super important. It allows to force mat-menu\n // to reposition the menu with the new xPosition / yPosition.\n this.changeDetectorRef.detectChanges();\n\n const topEdge = topStyle;\n const bottomEdge = topStyle + tooltipHeight;\n const leftEdge = leftStyle;\n const rightEdge = leftStyle + tooltipWidth;\n\n if (\n (topEdge < 0 ||\n bottomEdge > document.body.clientHeight ||\n leftEdge < 0 ||\n rightEdge > document.body.clientWidth) &&\n this.autoPlacement\n ) {\n return false;\n }\n\n this.hostStyleTop = topStyle + 'px';\n this.hostStyleLeft = leftStyle + 'px';\n return true;\n }\n\n setPlacementClass(placement?: string): void {\n this.renderer.addClass(\n this.elementRef.nativeElement,\n 'tooltip-' + (placement ? placement.split(' ')[0] : placement)\n );\n this.renderer.addClass(\n this.elementRef.nativeElement,\n 'yPosition-' + (placement && placement.split(' ').length === 2 ? placement.split(' ')[1] : 'center')\n );\n\n if (this.elementRef.nativeElement.children && this.elementRef.nativeElement.children.length > 1) {\n const tooltipArrow = Array.from(this.elementRef.nativeElement.children).filter(\n (child: HTMLElement) => child.getAttribute('id') === 'tooltipArrow'\n );\n if (tooltipArrow && tooltipArrow.length === 1) {\n if (placement && placement.split(' ').length === 2 && placement.split(' ')[1] === 'bottom') {\n this.renderer.setStyle(tooltipArrow[0], 'top', this.arrowTopPosition);\n } else if (placement && placement.split(' ').length === 2 && placement.split(' ')[1] === 'top') {\n this.renderer.setStyle(tooltipArrow[0], 'top', this.arrowBottomPosition);\n }\n }\n }\n }\n\n setPosition(): void {\n if (this.setHostStyle(this.placement)) {\n this.setPlacementClass(this.placement);\n if (this.viewInit) {\n // We did this in order to reset overlayRef (multi web component needed with matmenu and cdk overlay)\n if (this.trigger['_overlayRef']) {\n this.trigger['_overlayRef'].dispose();\n this.trigger['_overlayRef'] = null;\n }\n this.trigger.openMenu();\n }\n return;\n } else {\n const placements = ['top', 'right', 'bottom', 'left'];\n\n for (const placement of placements) {\n if (this.setHostStyle(placement)) {\n this.setPlacementClass(placement);\n if (this.viewInit) {\n this.trigger.openMenu();\n }\n return;\n }\n }\n }\n }\n}\n","<button id=\"menuTrigger\" class=\"button-trigger\" mat-button\n [matMenuTriggerFor]=\"menu\" (menuClosed)=\"onMenuClosed()\" (menuOpened)=\"onMenuOpened()\">\n</button>\n<mat-menu #menu=\"matMenu\" [yPosition]=\"!below ? 'above': 'below'\" [xPosition]=\"!before? 'after': 'before'\" [overlapTrigger]=\"false\"\n [hasBackdrop]=\"hasBackdrop\"\n [backdropClass]=\"backdropClass\"\n class=\"pop-menu {{arrow ? 'arrow-before ' + arrowClass : ''}} {{shadow ? 'shadow' : ''}} {{border ? '' : (shadow ? 'shadow-no-border' : '')}} {{rounded ? 'rounded-component' : ''}} {{ background ? '' : 'no-background'}} {{panelClass}}\">\n\n <div *ngIf=\"arrow\" class=\"{{arrow ? 'arrow-before ' + arrowClass : ''}}\" [ngStyle]=\"{'left': arrowLeftPosition, 'right': arrowRightPosition, 'top': arrowTopPosition, 'bottom': arrowBottomPosition}\"></div>\n <div (click)=\"$event.stopPropagation()\" class=\"{{rounded ? 'rounded-component' : ''}} outline-none\">\n <div class=\"{{border ? 'popover-content ' : ''}} {{rounded ? 'rounded-component' : ''}}\">\n <ng-container *ngTemplateOutlet=\"value;context:{menu:this}\"></ng-container>\n </div>\n </div>\n</mat-menu>\n\n\n","export const defaultOptions = {\n 'apPopmenuBorder': true,\n 'apPopmenuDisabled': false,\n 'apPopmenuBackground': true,\n 'hasBackdrop': true,\n\t'placement': 'top',\n 'rounded' : true,\n\t'showDelay': 0,\n\t'hideDelay': 10,\n\t'hideDelayMobile': 0,\n\t'shadow': true,\n\t'theme': 'dark',\n\t'offset': 8,\n\t'offsets': {},\n\t'maxWidth': '600',\n};\n","import {InjectionToken} from '@angular/core';\nimport {PopmenuOptions} from './popmenu-options.interface';\n\n/**\n * This is not a real service, but it looks like it from the outside.\n * It's just an InjectionToken used to import the config (initOptions) object, provided from the outside\n */\nexport const PopmenuOptionsService = new InjectionToken<PopmenuOptions>('PopmenuOptions');\n","import {\n ApplicationRef,\n ComponentFactoryResolver, ComponentRef,\n Directive,\n ElementRef,\n EmbeddedViewRef,\n EventEmitter,\n HostListener,\n Inject,\n Injector,\n Input,\n OnChanges,\n OnInit,\n Optional,\n Output,\n Renderer2, TemplateRef\n} from '@angular/core';\nimport {PopmenuOptions} from './popmenu-options.interface';\nimport {defaultOptions} from './options';\nimport {PopmenuOptionsService} from './popmenu-options.service';\nimport {PopmenuComponent} from './popmenu.component';\n\nexport interface AdComponent {\n data: any;\n show: boolean;\n close: boolean;\n menuClosed: any;\n menuOpened: any;\n menuOpen: boolean;\n}\n\n@Directive({\n selector: '[apPopmenu]',\n standalone: true,\n})\n\nexport class PopmenuDirective implements OnChanges, OnInit {\n\n hideTimeoutId: number;\n destroyTimeoutId: number;\n createTimeoutId: number;\n showTimeoutId: number;\n componentRef: ComponentRef<any>;\n elementPosition: any;\n componentSubscribe: any;\n _defaultOptions: any;\n @Input() apPopmenuBorder: boolean;\n @Input() apPopmenuDisabled: boolean;\n @Input() apPopmenuBackground: boolean = true;\n @Input() arrow: boolean;\n @Input() arrowOffset: number;\n @Input() arrowPosition: string;\n @Input() close = false;\n @Input() hasBackdrop: boolean = true;\n @Input() backdropClass: string;\n @Input() panelClass: string;\n @Input() offset: number;\n @Input() offsets: { distance?: number, skidding?: number };\n @Input() placement: string;\n @Input() pointer = true;\n @Input('apPopmenu') popMenuValue: TemplateRef<any>;\n @Input() position: { top: number, left: number };\n @Input() rounded: boolean;\n @Input() shadow: boolean;\n @Output() menuClosed: EventEmitter<any> = new EventEmitter<any>();\n @Output() menuOpened: EventEmitter<any> = new EventEmitter<any>();\n\n componentElement: HTMLElement;\n\n _options: any = {};\n\n get options() {\n return this._options;\n }\n\n @Input() set options(value: PopmenuOptions) {\n if (value && defaultOptions) {\n this._options = value;\n }\n }\n\n get destroyDelay() {\n return Number(this.getHideDelay()) + Number(this.options['animationDuration']);\n }\n\n get isDisplayOnHover(): boolean {\n if (this.options['display'] === false) {\n return false;\n }\n\n if (this.options['displayTouchscreen'] === false) {\n return false;\n }\n\n if (this.options['trigger'] !== 'hover') {\n return false;\n }\n\n return true;\n }\n\n get isTooltipDestroyed() {\n return this.componentRef && this.componentRef.hostView.destroyed;\n }\n\n get tooltipPosition() {\n if (this.options['position']) {\n return this.options['position'];\n } else {\n return this.elementPosition;\n }\n }\n\n constructor(\n @Optional() @Inject(PopmenuOptionsService) private initOptions,\n public renderer: Renderer2,\n private elementRef: ElementRef,\n private componentFactoryResolver: ComponentFactoryResolver,\n private appRef: ApplicationRef,\n private injector: Injector) {\n }\n\n appendComponentToBody(component: any, data: any = {}): void {\n this.componentRef = this.componentFactoryResolver\n .resolveComponentFactory(component)\n .create(this.injector);\n\n (<AdComponent>this.componentRef.instance).data = {\n value: this.popMenuValue,\n element: this.elementRef.nativeElement,\n elementPosition: this.tooltipPosition,\n options: this.options\n };\n this.appRef.attachView(this.componentRef.hostView);\n this.componentElement = (this.componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\n document.body.appendChild(this.componentElement);\n this.componentSubscribe = (<AdComponent>this.componentRef.instance).menuClosed.subscribe((event: any) => {\n this.handleClose(event);\n this.menuOpen = (<AdComponent>this.componentRef.instance).menuOpen;\n });\n this.componentSubscribe = (<AdComponent>this.componentRef.instance).menuOpened.subscribe((event: any) => {\n this.handleOpen(event);\n this.menuOpen = (<AdComponent>this.componentRef.instance).menuOpen;\n });\n\n }\n\n @Output()\n menuOpenChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n #menuOpen: boolean;\n\n @Input()\n get menuOpen() {\n return this.#menuOpen;\n }\n\n set menuOpen(menuOpen: boolean) {\n this.menuOpenChange.emit(menuOpen);\n this.#menuOpen = menuOpen;\n if (this.#menuOpen) {\n this.elementRef.nativeElement.classList.add(\"popmenu-open\");\n this.elementRef.nativeElement.classList.remove(\"popmenu-close\");\n } else {\n this.elementRef.nativeElement.classList.remove(\"popmenu-open\");\n this.elementRef.nativeElement.classList.add(\"popmenu-close\");\n }\n }\n\n handleClose(event: any) {\n this.menuClosed.emit();\n }\n\n handleOpen(event: any) {\n this.menuOpened.emit();\n }\n\n applyOptionsDefault(defaultOptions, options): void {\n this.options = Object.assign({}, defaultOptions, this.initOptions || {}, options);\n }\n\n clearTimeouts(): void {\n if (this.createTimeoutId) {\n clearTimeout(this.createTimeoutId);\n }\n\n if (this.showTimeoutId) {\n clearTimeout(this.showTimeoutId);\n }\n\n if (this.hideTimeoutId) {\n clearTimeout(this.hideTimeoutId);\n }\n\n if (this.destroyTimeoutId) {\n clearTimeout(this.destroyTimeoutId);\n }\n }\n\n createPopMenu(): void {\n this.clearTimeouts();\n\n this.createTimeoutId = window.setTimeout(() => {\n this.appendComponentToBody(PopmenuComponent);\n }, this.getShowDelay());\n\n this.showTimeoutId = window.setTimeout(() => {\n this.showTooltipElem();\n }, this.getShowDelay());\n }\n\n getElementPosition(): void {\n this.elementPosition = this.elementRef.nativeElement.getBoundingClientRect();\n }\n\n getHideDelay() {\n return this.options['hideDelay'];\n }\n\n getProperties(changes) {\n let properties = {};\n\n for (const prop in changes) {\n if (prop !== 'options' && prop !== 'tooltipValue') {\n properties[prop] = changes[prop].currentValue;\n }\n if (prop === 'options') {\n properties = changes[prop].currentValue;\n }\n }\n return properties;\n }\n\n getShowDelay() {\n return this.options['showDelay'];\n }\n\n ngOnChanges(changes) {\n if (changes.pointer) {\n if (!this.pointer) {\n this.renderer.removeStyle(this.elementRef.nativeElement, 'cursor');\n } else {\n this.renderer.setStyle(this.elementRef.nativeElement, 'cursor', 'pointer');\n }\n }\n if (changes.close && changes.close.currentValue) {\n this.hideTooltipElem();\n }\n const changedOptions = this.getProperties(changes);\n this.applyOptionsDefault(this.options && Object.keys(this.options).length > 0 ? this.options : defaultOptions, changedOptions);\n }\n\n ngOnInit(): void {\n if (this.pointer) {\n this.renderer.setStyle(this.elementRef.nativeElement, 'cursor', 'pointer');\n }\n this.menuOpen = false;\n }\n\n @HostListener('click')\n onClick() {\n if (this.apPopmenuDisabled) {\n return;\n }\n this.show();\n this.close = false;\n }\n\n public show() {\n this.getElementPosition();\n if (!this.componentRef || this.isTooltipDestroyed) {\n this.createPopMenu();\n } else if (!this.isTooltipDestroyed) {\n this.showTooltipElem();\n }\n }\n\n showTooltipElem(): void {\n (<AdComponent>this.componentRef.instance).data = {\n value: this.popMenuValue,\n element: this.elementRef.nativeElement,\n elementPosition: this.tooltipPosition,\n options: this.options\n };\n this.clearTimeouts();\n (<AdComponent>this.componentRef.instance).show = true;\n }\n\n hideTooltipElem(): void {\n if (this.componentRef) {\n (<AdComponent>this.componentRef.instance).close = true;\n }\n }\n\n}\n","import {ModuleWithProviders, NgModule} from '@angular/core';\nimport {PopmenuDirective} from './popmenu.directive';\nimport {PopmenuOptions} from './popmenu-options.interface';\nimport {PopmenuOptionsService} from './popmenu-options.service';\nimport {PopmenuComponent} from './popmenu.component';\n\n@NgModule({\n imports: [\n PopmenuDirective,\n PopmenuComponent\n ],\n exports: [\n PopmenuDirective\n ]\n})\nexport class PopmenuModule {\n\n static forRoot(initOptions: PopmenuOptions): ModuleWithProviders<PopmenuModule> {\n return {\n ngModule: PopmenuModule,\n providers: [\n {\n provide: PopmenuOptionsService,\n useValue: initOptions\n }\n ]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["MatMenuTrigger","MatButtonModule","MatMenuModule"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agorapulse-ui-components-popmenu.mjs","sources":["../../../libs/ui-components/popmenu/src/popmenu.component.ts","../../../libs/ui-components/popmenu/src/popmenu.component.html","../../../libs/ui-components/popmenu/src/options.ts","../../../libs/ui-components/popmenu/src/popmenu-options.service.ts","../../../libs/ui-components/popmenu/src/popmenu.directive.ts","../../../libs/ui-components/popmenu/src/popmenu.module.ts","../../../libs/ui-components/popmenu/src/agorapulse-ui-components-popmenu.ts"],"sourcesContent":["import {NgIf, NgStyle, NgTemplateOutlet} from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n Renderer2,\n ViewChild,\n} from '@angular/core';\nimport {MatLegacyButtonModule as MatButtonModule} from '@angular/material/legacy-button';\nimport {MatLegacyMenuModule as MatMenuModule, MatLegacyMenuTrigger as MatMenuTrigger} from '@angular/material/legacy-menu';\nimport {merge} from \"rxjs\";\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-popmenu',\n templateUrl: './popmenu.component.html',\n styleUrls: ['./popmenu.component.scss'],\n standalone: true,\n imports: [MatButtonModule, MatMenuModule, NgStyle, NgTemplateOutlet, NgIf],\n})\nexport class PopmenuComponent implements AfterViewInit {\n @Input() data: any;\n events = new EventEmitter();\n arrowTopPosition = '50%';\n arrowBottomPosition = '50%';\n arrowLeftPosition: string;\n arrowRightPosition: string;\n arrowClass: string;\n below;\n before;\n @Output() menuClosed: EventEmitter<any> = new EventEmitter<any>();\n @Output() menuOpened: EventEmitter<any> = new EventEmitter<any>();\n @ViewChild(MatMenuTrigger) trigger: MatMenuTrigger;\n @HostBinding('style.top') hostStyleTop: string;\n @HostBinding('style.border-radius') hostStyleBorderRadius: string;\n @HostBinding('style.left') hostStyleLeft: string;\n @HostBinding('style.z-index') hostStyleZIndex: number;\n @HostBinding('style.transition') hostStyleTransition: string;\n @HostBinding('style.width') hostStyleWidth: string;\n @HostBinding('style.max-width') hostStyleMaxWidth: string;\n @HostBinding('style.pointer-events') hostStylePointerEvents: string;\n @HostBinding('class.tooltip-show') hostClassShow: boolean;\n @HostBinding('class.tooltip-shadow') hostClassShadow: boolean;\n @HostBinding('class.tooltip-light') hostClassLight: boolean;\n viewInit = false;\n\n _show = false;\n\n get show(): boolean {\n return this._show;\n }\n\n @Input() set show(value: boolean) {\n if (value) {\n this.setPosition();\n }\n this._show = value;\n }\n\n @Input() set close(value: boolean) {\n if (value) {\n this.trigger.closeMenu();\n }\n }\n\n menuOpen: boolean;\n\n get arrow() {\n return this.data.options.arrow && this.border;\n }\n\n get arrowOffset() {\n return this.data.options.arrowOffset;\n }\n\n get arrowPosition() {\n return this.data.options.arrowPosition;\n }\n\n get autoPlacement() {\n return this.data.options.autoPlacement;\n }\n\n get background() {\n return this.data.options.apPopmenuBackground;\n }\n\n get border() {\n return this.data.options.apPopmenuBorder;\n }\n\n get element() {\n return this.data.element;\n }\n\n get elementPosition() {\n return this.data.elementPosition;\n }\n\n get hasBackdrop() {\n return this.data.options.hasBackdrop;\n }\n\n get backdropClass() {\n return this.data.options.backdropClass;\n }\n\n get isThemeLight() {\n return this.options['theme'] === 'light';\n }\n\n get options() {\n return this.data.options;\n }\n\n get panelClass() {\n return this.data.options.panelClass;\n }\n\n get placement() {\n return this.data.options.placement;\n }\n\n get rounded() {\n return this.data.options.rounded;\n }\n\n get shadow() {\n return this.data.options.shadow;\n }\n\n get tooltipOffset(): number {\n return Number(this.data.options.offset);\n }\n\n get offsetSkidding(): number {\n return Number(this.data.options.offsets.skidding) || 0;\n }\n\n get offsetDistance(): number {\n return Number(this.data.options.offsets.distance || 0);\n }\n\n get value() {\n return this.data.value;\n }\n\n constructor(\n public renderer: Renderer2,\n public elementRef: ElementRef,\n private changeDetectorRef: ChangeDetectorRef\n ) {}\n\n ngAfterViewInit() {\n this.viewInit = true;\n merge(this.trigger.menuOpened,this.trigger.menuClosed).subscribe(()=>{\n this.menuOpen = this.trigger.menuOpen;\n })\n }\n\n onMenuClosed() {\n // we set a timeout to wait for the menu to be really closed\n setTimeout(() => this.menuClosed.emit(), 200);\n }\n\n onMenuOpened() {\n // we set a timeout to wait for the menu to be really opened\n setTimeout(() => this.menuOpened.emit(), 100);\n }\n\n setHostStyle(placement: string): boolean {\n const isSvg = this.element instanceof SVGElement;\n const tooltip = this.elementRef.nativeElement;\n const isCustomPosition = !this.elementPosition.x;\n\n let elementHeight = !this.element.offsetHeight\n ? this.element.getBoundingClientRect().height\n : this.element.offsetHeight;\n let elementWidth = !this.element.offsetWidth\n ? this.element.getBoundingClientRect().width\n : this.element.offsetWidth;\n const tooltipHeight = tooltip.clientHeight;\n const tooltipWidth = tooltip.clientWidth;\n const scrollY = window.pageYOffset;\n\n let topStyle;\n let leftStyle;\n\n if (isCustomPosition) {\n if (placement && placement.split(' ')[0] === 'top') {\n this.below = false;\n }\n if (placement && placement.split(' ')[0] === 'bottom') {\n this.below = true;\n }\n elementHeight = 0;\n elementWidth = 0;\n topStyle = this.elementPosition.top;\n leftStyle = this.elementPosition.left;\n if (this.arrow && this.arrowPosition) {\n this.arrowClass = 'arrow-' + this.arrowPosition;\n switch (this.arrowPosition) {\n case 'left':\n case 'right':\n this.arrowLeftPosition = undefined;\n this.arrowRightPosition = undefined;\n this.arrowBottomPosition = 'auto';\n this.arrowTopPosition = this.arrowOffset + '%';\n break;\n case 'top':\n case 'bottom':\n this.arrowLeftPosition = this.arrowOffset + '%';\n this.arrowRightPosition = 'auto';\n this.arrowBottomPosition = undefined;\n this.arrowTopPosition = undefined;\n break;\n }\n }\n } else {\n if (placement.split(' ')[0] === 'top') {\n this.below = false;\n topStyle = this.elementPosition.top - this.tooltipOffset - this.offsetDistance;\n topStyle += 8;\n }\n\n if (placement.split(' ')[0] === 'bottom') {\n this.below = true;\n topStyle = this.elementPosition.bottom + this.tooltipOffset + this.offsetDistance;\n // We remove 8px due to the margin-top we put to display the arrow.\n topStyle -= 8;\n }\n\n if (placement.split(' ')[0] === 'left') {\n leftStyle = this.elementPosition.left - tooltipWidth - this.tooltipOffset - this.offsetDistance;\n }\n\n if (placement.split(' ')[0] === 'right') {\n leftStyle = this.elementPosition.left + elementWidth + this.tooltipOffset + this.offsetDistance;\n }\n\n if (placement.split(' ')[0] === 'left' || placement.split(' ')[0] === 'right') {\n topStyle = this.elementPosition.top + scrollY + elementHeight / 2 - tooltip.clientHeight / 2;\n }\n\n if (placement === 'right bottom') {\n this.below = true;\n this.before = false;\n this.arrowClass = 'arrow-left';\n topStyle = this.elementPosition.top + scrollY + this.offsetSkidding;\n this.arrowRightPosition = undefined;\n this.arrowLeftPosition = undefined;\n this.arrowBottomPosition = 'auto';\n this.arrowTopPosition = this.arrowOffset ? this.arrowOffset + '%' : elementHeight / 2 + 'px';\n }\n\n if (placement === 'left bottom') {\n this.below = true;\n this.before = true;\n this.arrowClass = 'arrow-right';\n topStyle = this.elementPosition.top + scrollY + this.offsetSkidding;\n this.arrowLeftPosition = undefined;\n this.arrowRightPosition = undefined;\n this.arrowBottomPosition = 'auto';\n this.arrowTopPosition = this.arrowOffset ? this.arrowOffset + '%' : elementHeight / 2 + 'px';\n }\n\n if (placement === 'right top') {\n this.below = false;\n this.before = false;\n this.arrowClass = 'arrow-left';\n topStyle = this.elementPosition.top + elementHeight + scrollY + this.offsetSkidding;\n this.arrowLeftPosition = undefined;\n this.arrowRightPosition = undefined;\n this.arrowTopPosition = 'auto';\n this.arrowBottomPosition = this.arrowOffset\n ? this.arrowOffset + '%'\n : -(tooltip.clientHeight - elementHeight / 2) + 'px';\n }\n\n if (placement === 'left top') {\n this.below = false;\n this.before = true;\n this.arrowClass = 'arrow-right';\n topStyle = this.elementPosition.top + elementHeight + scrollY + this.offsetSkidding;\n this.arrowRightPosition = undefined;\n this.arrowLeftPosition = undefined;\n this.arrowTopPosition = 'auto';\n this.arrowBottomPosition = this.arrowOffset\n ? this.arrowOffset + '%'\n : -(tooltip.clientHeight - elementHeight / 2) + 'px';\n }\n\n if (placement === 'bottom right') {\n this.before = false;\n this.below = true;\n this.arrowClass = 'arrow-top';\n leftStyle = this.elementPosition.left + this.offsetSkidding;\n this.arrowTopPosition = undefined;\n this.arrowRightPosition = 'auto';\n this.arrowLeftPosition = this.arrowOffset ? this.arrowOffset + '%' : elementWidth / 2 - 4.5 + 'px';\n }\n\n if (placement === 'bottom left') {\n this.before = true;\n this.below = true;\n this.arrowClass = 'arrow-top';\n leftStyle = this.elementPosition.right + this.offsetSkidding;\n this.arrowTopPosition = undefined;\n this.arrowLeftPosition = 'auto';\n this.arrowRightPosition = this.arrowOffset ? this.arrowOffset + '%' : elementWidth / 2 - 2.5 + 'px';\n }\n\n if (placement === 'top right') {\n this.before = false;\n this.below = false;\n this.arrowClass = 'arrow-bottom';\n leftStyle = this.elementPosition.left + this.offsetSkidding;\n this.arrowBottomPosition = undefined;\n this.arrowTopPosition = undefined;\n this.arrowRightPosition = 'auto';\n this.arrowLeftPosition = this.arrowOffset ? this.arrowOffset + '%' : elementWidth / 2 - 4.5 + 'px';\n }\n\n if (placement === 'top left') {\n this.before = true;\n this.below = false;\n this.arrowClass = 'arrow-bottom';\n leftStyle = this.elementPosition.right + this.offsetSkidding;\n this.arrowBottomPosition = undefined;\n this.arrowTopPosition = undefined;\n this.arrowLeftPosition = 'auto';\n this.arrowRightPosition = this.arrowOffset ? this.arrowOffset + '%' : elementWidth / 2 - 2.5 + 'px';\n }\n }\n\n // This line is PURE MAGIC and super important. It allows to force mat-menu\n // to reposition the menu with the new xPosition / yPosition.\n this.changeDetectorRef.detectChanges();\n\n const topEdge = topStyle;\n const bottomEdge = topStyle + tooltipHeight;\n const leftEdge = leftStyle;\n const rightEdge = leftStyle + tooltipWidth;\n\n if (\n (topEdge < 0 ||\n bottomEdge > document.body.clientHeight ||\n leftEdge < 0 ||\n rightEdge > document.body.clientWidth) &&\n this.autoPlacement\n ) {\n return false;\n }\n\n this.hostStyleTop = topStyle + 'px';\n this.hostStyleLeft = leftStyle + 'px';\n return true;\n }\n\n setPlacementClass(placement?: string): void {\n this.renderer.addClass(\n this.elementRef.nativeElement,\n 'tooltip-' + (placement ? placement.split(' ')[0] : placement)\n );\n this.renderer.addClass(\n this.elementRef.nativeElement,\n 'yPosition-' + (placement && placement.split(' ').length === 2 ? placement.split(' ')[1] : 'center')\n );\n\n if (this.elementRef.nativeElement.children && this.elementRef.nativeElement.children.length > 1) {\n const tooltipArrow = Array.from(this.elementRef.nativeElement.children).filter(\n (child: HTMLElement) => child.getAttribute('id') === 'tooltipArrow'\n );\n if (tooltipArrow && tooltipArrow.length === 1) {\n if (placement && placement.split(' ').length === 2 && placement.split(' ')[1] === 'bottom') {\n this.renderer.setStyle(tooltipArrow[0], 'top', this.arrowTopPosition);\n } else if (placement && placement.split(' ').length === 2 && placement.split(' ')[1] === 'top') {\n this.renderer.setStyle(tooltipArrow[0], 'top', this.arrowBottomPosition);\n }\n }\n }\n }\n\n setPosition(): void {\n if (this.setHostStyle(this.placement)) {\n this.setPlacementClass(this.placement);\n if (this.viewInit) {\n // We did this in order to reset overlayRef (multi web component needed with matmenu and cdk overlay)\n if (this.trigger['_overlayRef']) {\n this.trigger['_overlayRef'].dispose();\n this.trigger['_overlayRef'] = null;\n }\n this.trigger.openMenu();\n }\n return;\n } else {\n const placements = ['top', 'right', 'bottom', 'left'];\n\n for (const placement of placements) {\n if (this.setHostStyle(placement)) {\n this.setPlacementClass(placement);\n if (this.viewInit) {\n this.trigger.openMenu();\n }\n return;\n }\n }\n }\n }\n}\n","<button id=\"menuTrigger\" class=\"button-trigger\" mat-button\n [matMenuTriggerFor]=\"menu\" (menuClosed)=\"onMenuClosed()\" (menuOpened)=\"onMenuOpened()\">\n</button>\n<mat-menu #menu=\"matMenu\" [yPosition]=\"!below ? 'above': 'below'\" [xPosition]=\"!before? 'after': 'before'\" [overlapTrigger]=\"false\"\n [hasBackdrop]=\"hasBackdrop\"\n [backdropClass]=\"backdropClass\"\n class=\"pop-menu {{arrow ? 'arrow-before ' + arrowClass : ''}} {{shadow ? 'shadow' : ''}} {{border ? '' : (shadow ? 'shadow-no-border' : '')}} {{rounded ? 'rounded-component' : ''}} {{ background ? '' : 'no-background'}} {{panelClass}}\">\n\n <div *ngIf=\"arrow\" class=\"{{arrow ? 'arrow-before ' + arrowClass : ''}}\" [ngStyle]=\"{'left': arrowLeftPosition, 'right': arrowRightPosition, 'top': arrowTopPosition, 'bottom': arrowBottomPosition}\"></div>\n <div (click)=\"$event.stopPropagation()\" class=\"{{rounded ? 'rounded-component' : ''}} outline-none\">\n <div class=\"{{border ? 'popover-content ' : ''}} {{rounded ? 'rounded-component' : ''}}\">\n <ng-container *ngTemplateOutlet=\"value;context:{menu:this}\"></ng-container>\n </div>\n </div>\n</mat-menu>\n\n\n","export const defaultOptions = {\n 'apPopmenuBorder': true,\n 'apPopmenuDisabled': false,\n 'apPopmenuBackground': true,\n 'hasBackdrop': true,\n\t'placement': 'top',\n 'rounded' : true,\n\t'showDelay': 0,\n\t'hideDelay': 10,\n\t'hideDelayMobile': 0,\n\t'shadow': true,\n\t'theme': 'dark',\n\t'offset': 8,\n\t'offsets': {},\n\t'maxWidth': '600',\n};\n","import {InjectionToken} from '@angular/core';\nimport {PopmenuOptions} from './popmenu-options.interface';\n\n/**\n * This is not a real service, but it looks like it from the outside.\n * It's just an InjectionToken used to import the config (initOptions) object, provided from the outside\n */\nexport const PopmenuOptionsService = new InjectionToken<PopmenuOptions>('PopmenuOptions');\n","import {\n ApplicationRef,\n ComponentFactoryResolver, ComponentRef,\n Directive,\n ElementRef,\n EmbeddedViewRef,\n EventEmitter,\n HostListener,\n Inject,\n Injector,\n Input,\n OnChanges,\n OnInit,\n Optional,\n Output,\n Renderer2, TemplateRef\n} from '@angular/core';\nimport {PopmenuOptions} from './popmenu-options.interface';\nimport {defaultOptions} from './options';\nimport {PopmenuOptionsService} from './popmenu-options.service';\nimport {PopmenuComponent} from './popmenu.component';\n\nexport interface AdComponent {\n data: any;\n show: boolean;\n close: boolean;\n menuClosed: any;\n menuOpened: any;\n menuOpen: boolean;\n}\n\n@Directive({\n selector: '[apPopmenu]',\n standalone: true,\n})\n\nexport class PopmenuDirective implements OnChanges, OnInit {\n\n hideTimeoutId: number;\n destroyTimeoutId: number;\n createTimeoutId: number;\n showTimeoutId: number;\n componentRef: ComponentRef<any>;\n elementPosition: any;\n componentSubscribe: any;\n _defaultOptions: any;\n @Input() apPopmenuBorder: boolean;\n @Input() apPopmenuDisabled: boolean;\n @Input() apPopmenuBackground: boolean = true;\n @Input() arrow: boolean;\n @Input() arrowOffset: number;\n @Input() arrowPosition: string;\n @Input() close = false;\n @Input() hasBackdrop: boolean = true;\n @Input() backdropClass: string;\n @Input() panelClass: string;\n @Input() offset: number;\n @Input() offsets: { distance?: number, skidding?: number };\n @Input() placement: string;\n @Input() pointer = true;\n @Input('apPopmenu') popMenuValue: TemplateRef<any>;\n @Input() position: { top: number, left: number };\n @Input() rounded: boolean;\n @Input() shadow: boolean;\n @Output() menuClosed: EventEmitter<any> = new EventEmitter<any>();\n @Output() menuOpened: EventEmitter<any> = new EventEmitter<any>();\n\n componentElement: HTMLElement;\n\n _options: any = {};\n\n get options() {\n return this._options;\n }\n\n @Input() set options(value: PopmenuOptions) {\n if (value && defaultOptions) {\n this._options = value;\n }\n }\n\n get destroyDelay() {\n return Number(this.getHideDelay()) + Number(this.options['animationDuration']);\n }\n\n get isDisplayOnHover(): boolean {\n if (this.options['display'] === false) {\n return false;\n }\n\n if (this.options['displayTouchscreen'] === false) {\n return false;\n }\n\n if (this.options['trigger'] !== 'hover') {\n return false;\n }\n\n return true;\n }\n\n get isTooltipDestroyed() {\n return this.componentRef && this.componentRef.hostView.destroyed;\n }\n\n get tooltipPosition() {\n if (this.options['position']) {\n return this.options['position'];\n } else {\n return this.elementPosition;\n }\n }\n\n constructor(\n @Optional() @Inject(PopmenuOptionsService) private initOptions,\n public renderer: Renderer2,\n private elementRef: ElementRef,\n private componentFactoryResolver: ComponentFactoryResolver,\n private appRef: ApplicationRef,\n private injector: Injector) {\n }\n\n appendComponentToBody(component: any, data: any = {}): void {\n this.componentRef = this.componentFactoryResolver\n .resolveComponentFactory(component)\n .create(this.injector);\n\n (<AdComponent>this.componentRef.instance).data = {\n value: this.popMenuValue,\n element: this.elementRef.nativeElement,\n elementPosition: this.tooltipPosition,\n options: this.options\n };\n this.appRef.attachView(this.componentRef.hostView);\n this.componentElement = (this.componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\n document.body.appendChild(this.componentElement);\n this.componentSubscribe = (<AdComponent>this.componentRef.instance).menuClosed.subscribe((event: any) => {\n this.handleClose(event);\n this.menuOpen = (<AdComponent>this.componentRef.instance).menuOpen;\n });\n this.componentSubscribe = (<AdComponent>this.componentRef.instance).menuOpened.subscribe((event: any) => {\n this.handleOpen(event);\n this.menuOpen = (<AdComponent>this.componentRef.instance).menuOpen;\n });\n\n }\n\n @Output()\n menuOpenChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n #menuOpen: boolean;\n\n @Input()\n get menuOpen() {\n return this.#menuOpen;\n }\n\n set menuOpen(menuOpen: boolean) {\n this.menuOpenChange.emit(menuOpen);\n this.#menuOpen = menuOpen;\n if (this.#menuOpen) {\n this.elementRef.nativeElement.classList.add(\"popmenu-open\");\n this.elementRef.nativeElement.classList.remove(\"popmenu-close\");\n } else {\n this.elementRef.nativeElement.classList.remove(\"popmenu-open\");\n this.elementRef.nativeElement.classList.add(\"popmenu-close\");\n }\n }\n\n handleClose(event: any) {\n this.menuClosed.emit();\n }\n\n handleOpen(event: any) {\n this.menuOpened.emit();\n }\n\n applyOptionsDefault(defaultOptions, options): void {\n this.options = Object.assign({}, defaultOptions, this.initOptions || {}, options);\n }\n\n clearTimeouts(): void {\n if (this.createTimeoutId) {\n clearTimeout(this.createTimeoutId);\n }\n\n if (this.showTimeoutId) {\n clearTimeout(this.showTimeoutId);\n }\n\n if (this.hideTimeoutId) {\n clearTimeout(this.hideTimeoutId);\n }\n\n if (this.destroyTimeoutId) {\n clearTimeout(this.destroyTimeoutId);\n }\n }\n\n createPopMenu(): void {\n this.clearTimeouts();\n\n this.createTimeoutId = window.setTimeout(() => {\n this.appendComponentToBody(PopmenuComponent);\n }, this.getShowDelay());\n\n this.showTimeoutId = window.setTimeout(() => {\n this.showTooltipElem();\n }, this.getShowDelay());\n }\n\n getElementPosition(): void {\n this.elementPosition = this.elementRef.nativeElement.getBoundingClientRect();\n }\n\n getHideDelay() {\n return this.options['hideDelay'];\n }\n\n getProperties(changes) {\n let properties = {};\n\n for (const prop in changes) {\n if (prop !== 'options' && prop !== 'tooltipValue') {\n properties[prop] = changes[prop].currentValue;\n }\n if (prop === 'options') {\n properties = changes[prop].currentValue;\n }\n }\n return properties;\n }\n\n getShowDelay() {\n return this.options['showDelay'];\n }\n\n ngOnChanges(changes) {\n if (changes.pointer) {\n if (!this.pointer) {\n this.renderer.removeStyle(this.elementRef.nativeElement, 'cursor');\n } else {\n this.renderer.setStyle(this.elementRef.nativeElement, 'cursor', 'pointer');\n }\n }\n if (changes.close && changes.close.currentValue) {\n this.hideTooltipElem();\n }\n const changedOptions = this.getProperties(changes);\n this.applyOptionsDefault(this.options && Object.keys(this.options).length > 0 ? this.options : defaultOptions, changedOptions);\n }\n\n ngOnInit(): void {\n if (this.pointer) {\n this.renderer.setStyle(this.elementRef.nativeElement, 'cursor', 'pointer');\n }\n this.menuOpen = false;\n }\n\n @HostListener('click')\n onClick() {\n if (this.apPopmenuDisabled) {\n return;\n }\n this.show();\n this.close = false;\n }\n\n public show() {\n this.getElementPosition();\n if (!this.componentRef || this.isTooltipDestroyed) {\n this.createPopMenu();\n } else if (!this.isTooltipDestroyed) {\n this.showTooltipElem();\n }\n }\n\n showTooltipElem(): void {\n (<AdComponent>this.componentRef.instance).data = {\n value: this.popMenuValue,\n element: this.elementRef.nativeElement,\n elementPosition: this.tooltipPosition,\n options: this.options\n };\n this.clearTimeouts();\n (<AdComponent>this.componentRef.instance).show = true;\n }\n\n hideTooltipElem(): void {\n if (this.componentRef) {\n (<AdComponent>this.componentRef.instance).close = true;\n }\n }\n\n}\n","import {ModuleWithProviders, NgModule} from '@angular/core';\nimport {PopmenuDirective} from './popmenu.directive';\nimport {PopmenuOptions} from './popmenu-options.interface';\nimport {PopmenuOptionsService} from './popmenu-options.service';\nimport {PopmenuComponent} from './popmenu.component';\n\n@NgModule({\n imports: [\n PopmenuDirective,\n PopmenuComponent\n ],\n exports: [\n PopmenuDirective\n ]\n})\nexport class PopmenuModule {\n\n static forRoot(initOptions: PopmenuOptions): ModuleWithProviders<PopmenuModule> {\n return {\n ngModule: PopmenuModule,\n providers: [\n {\n provide: PopmenuOptionsService,\n useValue: initOptions\n }\n ]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["MatMenuTrigger","MatButtonModule","MatMenuModule"],"mappings":";;;;;;;;;;MA0Ba,gBAAgB,CAAA;AA4BzB,IAAA,IAAI,IAAI,GAAA;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;KACrB;IAED,IAAa,IAAI,CAAC,KAAc,EAAA;AAC5B,QAAA,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,WAAW,EAAE,CAAC;AACtB,SAAA;AACD,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;KACtB;IAED,IAAa,KAAK,CAAC,KAAc,EAAA;AAC7B,QAAA,IAAI,KAAK,EAAE;AACP,YAAA,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;AAC5B,SAAA;KACJ;AAID,IAAA,IAAI,KAAK,GAAA;QACL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC;KACjD;AAED,IAAA,IAAI,WAAW,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;KACxC;AAED,IAAA,IAAI,aAAa,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;KAC1C;AAED,IAAA,IAAI,aAAa,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;KAC1C;AAED,IAAA,IAAI,UAAU,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC;KAChD;AAED,IAAA,IAAI,MAAM,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC;KAC5C;AAED,IAAA,IAAI,OAAO,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;KAC5B;AAED,IAAA,IAAI,eAAe,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;KACpC;AAED,IAAA,IAAI,WAAW,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;KACxC;AAED,IAAA,IAAI,aAAa,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;KAC1C;AAED,IAAA,IAAI,YAAY,GAAA;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC;KAC5C;AAED,IAAA,IAAI,OAAO,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;KAC5B;AAED,IAAA,IAAI,UAAU,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;KACvC;AAED,IAAA,IAAI,SAAS,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;KACtC;AAED,IAAA,IAAI,OAAO,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;KACpC;AAED,IAAA,IAAI,MAAM,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;KACnC;AAED,IAAA,IAAI,aAAa,GAAA;QACb,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;KAC3C;AAED,IAAA,IAAI,cAAc,GAAA;AACd,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;KAC1D;AAED,IAAA,IAAI,cAAc,GAAA;AACd,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;KAC1D;AAED,IAAA,IAAI,KAAK,GAAA;AACL,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;KAC1B;AAED,IAAA,WAAA,CACW,QAAmB,EACnB,UAAsB,EACrB,iBAAoC,EAAA;QAFrC,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;QACnB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;QACrB,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAmB;AAhIhD,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAC5B,IAAgB,CAAA,gBAAA,GAAG,KAAK,CAAC;QACzB,IAAmB,CAAA,mBAAA,GAAG,KAAK,CAAC;AAMlB,QAAA,IAAA,CAAA,UAAU,GAAsB,IAAI,YAAY,EAAO,CAAC;AACxD,QAAA,IAAA,CAAA,UAAU,GAAsB,IAAI,YAAY,EAAO,CAAC;QAalE,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;QAEjB,IAAK,CAAA,KAAA,GAAG,KAAK,CAAC;KAyGV;IAEJ,eAAe,GAAA;AACX,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACrB,QAAA,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,MAAI;YACjE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;AAC1C,SAAC,CAAC,CAAA;KACL;IAED,YAAY,GAAA;;AAER,QAAA,UAAU,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;KACjD;IAED,YAAY,GAAA;;AAER,QAAA,UAAU,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;KACjD;AAED,IAAA,YAAY,CAAC,SAAiB,EAAA;AAC1B,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,YAAY,UAAU,CAAC;AACjD,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;QAC9C,MAAM,gBAAgB,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;AAEjD,QAAA,IAAI,aAAa,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY;cACxC,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,MAAM;AAC7C,cAAE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;AAChC,QAAA,IAAI,YAAY,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW;cACtC,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,KAAK;AAC5C,cAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;AAC/B,QAAA,MAAM,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;AAC3C,QAAA,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;AACzC,QAAA,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC;AAEnC,QAAA,IAAI,QAAQ,CAAC;AACb,QAAA,IAAI,SAAS,CAAC;AAEd,QAAA,IAAI,gBAAgB,EAAE;AAClB,YAAA,IAAI,SAAS,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE;AAChD,gBAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACtB,aAAA;AACD,YAAA,IAAI,SAAS,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;AACnD,gBAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;AACrB,aAAA;YACD,aAAa,GAAG,CAAC,CAAC;YAClB,YAAY,GAAG,CAAC,CAAC;AACjB,YAAA,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AACpC,YAAA,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;AACtC,YAAA,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,aAAa,EAAE;gBAClC,IAAI,CAAC,UAAU,GAAG,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC;gBAChD,QAAQ,IAAI,CAAC,aAAa;AACtB,oBAAA,KAAK,MAAM,CAAC;AACZ,oBAAA,KAAK,OAAO;AACR,wBAAA,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;AACnC,wBAAA,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;AACpC,wBAAA,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC;wBAClC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;wBAC/C,MAAM;AACV,oBAAA,KAAK,KAAK,CAAC;AACX,oBAAA,KAAK,QAAQ;wBACT,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;AAChD,wBAAA,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC;AACjC,wBAAA,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;AACrC,wBAAA,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;wBAClC,MAAM;AACb,iBAAA;AACJ,aAAA;AACJ,SAAA;AAAM,aAAA;YACH,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE;AACnC,gBAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACnB,gBAAA,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC;gBAC/E,QAAQ,IAAI,CAAC,CAAC;AACjB,aAAA;YAED,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;AACtC,gBAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;AAClB,gBAAA,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC;;gBAElF,QAAQ,IAAI,CAAC,CAAC;AACjB,aAAA;YAED,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE;AACpC,gBAAA,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,GAAG,YAAY,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC;AACnG,aAAA;YAED,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE;AACrC,gBAAA,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,GAAG,YAAY,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC;AACnG,aAAA;YAED,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE;AAC3E,gBAAA,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,GAAG,OAAO,GAAG,aAAa,GAAG,CAAC,GAAG,OAAO,CAAC,YAAY,GAAG,CAAC,CAAC;AAChG,aAAA;YAED,IAAI,SAAS,KAAK,cAAc,EAAE;AAC9B,gBAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;AAClB,gBAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;AACpB,gBAAA,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC;AAC/B,gBAAA,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,GAAG,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC;AACpE,gBAAA,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;AACpC,gBAAA,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;AACnC,gBAAA,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC;gBAClC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,GAAG,GAAG,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC;AAChG,aAAA;YAED,IAAI,SAAS,KAAK,aAAa,EAAE;AAC7B,gBAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;AAClB,gBAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;AACnB,gBAAA,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC;AAChC,gBAAA,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,GAAG,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC;AACpE,gBAAA,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;AACnC,gBAAA,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;AACpC,gBAAA,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC;gBAClC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,GAAG,GAAG,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC;AAChG,aAAA;YAED,IAAI,SAAS,KAAK,WAAW,EAAE;AAC3B,gBAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACnB,gBAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;AACpB,gBAAA,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC;AAC/B,gBAAA,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,GAAG,aAAa,GAAG,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC;AACpF,gBAAA,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;AACnC,gBAAA,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;AACpC,gBAAA,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC;AAC/B,gBAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,WAAW;AACvC,sBAAE,IAAI,CAAC,WAAW,GAAG,GAAG;AACxB,sBAAE,EAAE,OAAO,CAAC,YAAY,GAAG,aAAa,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;AAC5D,aAAA;YAED,IAAI,SAAS,KAAK,UAAU,EAAE;AAC1B,gBAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACnB,gBAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;AACnB,gBAAA,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC;AAChC,gBAAA,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,GAAG,aAAa,GAAG,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC;AACpF,gBAAA,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;AACpC,gBAAA,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;AACnC,gBAAA,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC;AAC/B,gBAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,WAAW;AACvC,sBAAE,IAAI,CAAC,WAAW,GAAG,GAAG;AACxB,sBAAE,EAAE,OAAO,CAAC,YAAY,GAAG,aAAa,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;AAC5D,aAAA;YAED,IAAI,SAAS,KAAK,cAAc,EAAE;AAC9B,gBAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;AACpB,gBAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;AAClB,gBAAA,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC;gBAC9B,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC;AAC5D,gBAAA,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;AAClC,gBAAA,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC;gBACjC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,GAAG,GAAG,YAAY,GAAG,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC;AACtG,aAAA;YAED,IAAI,SAAS,KAAK,aAAa,EAAE;AAC7B,gBAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;AACnB,gBAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;AAClB,gBAAA,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC;gBAC9B,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC;AAC7D,gBAAA,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;AAClC,gBAAA,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC;gBAChC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,GAAG,GAAG,YAAY,GAAG,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC;AACvG,aAAA;YAED,IAAI,SAAS,KAAK,WAAW,EAAE;AAC3B,gBAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;AACpB,gBAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACnB,gBAAA,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC;gBACjC,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC;AAC5D,gBAAA,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;AACrC,gBAAA,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;AAClC,gBAAA,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC;gBACjC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,GAAG,GAAG,YAAY,GAAG,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC;AACtG,aAAA;YAED,IAAI,SAAS,KAAK,UAAU,EAAE;AAC1B,gBAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;AACnB,gBAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACnB,gBAAA,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC;gBACjC,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC;AAC7D,gBAAA,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;AACrC,gBAAA,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;AAClC,gBAAA,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC;gBAChC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,GAAG,GAAG,YAAY,GAAG,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC;AACvG,aAAA;AACJ,SAAA;;;AAID,QAAA,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;QAEvC,MAAM,OAAO,GAAG,QAAQ,CAAC;AACzB,QAAA,MAAM,UAAU,GAAG,QAAQ,GAAG,aAAa,CAAC;QAC5C,MAAM,QAAQ,GAAG,SAAS,CAAC;AAC3B,QAAA,MAAM,SAAS,GAAG,SAAS,GAAG,YAAY,CAAC;QAE3C,IACI,CAAC,OAAO,GAAG,CAAC;AACR,YAAA,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY;AACvC,YAAA,QAAQ,GAAG,CAAC;AACZ,YAAA,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW;YACzC,IAAI,CAAC,aAAa,EACpB;AACE,YAAA,OAAO,KAAK,CAAC;AAChB,SAAA;AAED,QAAA,IAAI,CAAC,YAAY,GAAG,QAAQ,GAAG,IAAI,CAAC;AACpC,QAAA,IAAI,CAAC,aAAa,GAAG,SAAS,GAAG,IAAI,CAAC;AACtC,QAAA,OAAO,IAAI,CAAC;KACf;AAED,IAAA,iBAAiB,CAAC,SAAkB,EAAA;AAChC,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAClB,IAAI,CAAC,UAAU,CAAC,aAAa,EAC7B,UAAU,IAAI,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CACjE,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAClB,IAAI,CAAC,UAAU,CAAC,aAAa,EAC7B,YAAY,IAAI,SAAS,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CACvG,CAAC;AAEF,QAAA,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;AAC7F,YAAA,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,MAAM,CAC1E,CAAC,KAAkB,KAAK,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,cAAc,CACtE,CAAC;AACF,YAAA,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC3C,IAAI,SAAS,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;AACxF,oBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;AACzE,iBAAA;qBAAM,IAAI,SAAS,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE;AAC5F,oBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;AAC5E,iBAAA;AACJ,aAAA;AACJ,SAAA;KACJ;IAED,WAAW,GAAA;QACP,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;AACnC,YAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACvC,IAAI,IAAI,CAAC,QAAQ,EAAE;;AAEf,gBAAA,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;oBAC7B,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,CAAC;AACtC,oBAAA,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;AACtC,iBAAA;AACD,gBAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;AAC3B,aAAA;YACD,OAAO;AACV,SAAA;AAAM,aAAA;YACH,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AAEtD,YAAA,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;AAChC,gBAAA,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE;AAC9B,oBAAA,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;oBAClC,IAAI,IAAI,CAAC,QAAQ,EAAE;AACf,wBAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;AAC3B,qBAAA;oBACD,OAAO;AACV,iBAAA;AACJ,aAAA;AACJ,SAAA;KACJ;;6GApYQ,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhB,gBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,EAYd,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,4BAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,eAAA,EAAA,sBAAA,EAAA,kBAAA,EAAA,0BAAA,EAAA,aAAA,EAAA,qBAAA,EAAA,iBAAA,EAAA,wBAAA,EAAA,sBAAA,EAAA,6BAAA,EAAA,oBAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,sBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAAA,oBAAc,ECtC7B,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,ssCAiBA,EDOc,MAAA,EAAA,CAAA,y3MAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAAC,qBAAe,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,4LAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAAC,mBAAa,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,6CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,OAAO,EAAE,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,gBAAgB,oJAAE,IAAI,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FAEhE,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAR5B,SAAS;AACW,YAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EACrC,YAAY,EAAA,UAAA,EAGV,IAAI,EACP,OAAA,EAAA,CAACD,qBAAe,EAAEC,mBAAa,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAA,QAAA,EAAA,ssCAAA,EAAA,MAAA,EAAA,CAAA,y3MAAA,CAAA,EAAA,CAAA;yJAGjE,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBASI,UAAU,EAAA,CAAA;sBAAnB,MAAM;gBACG,UAAU,EAAA,CAAA;sBAAnB,MAAM;gBACoB,OAAO,EAAA,CAAA;sBAAjC,SAAS;uBAACF,oBAAc,CAAA;gBACC,YAAY,EAAA,CAAA;sBAArC,WAAW;uBAAC,WAAW,CAAA;gBACY,qBAAqB,EAAA,CAAA;sBAAxD,WAAW;uBAAC,qBAAqB,CAAA;gBACP,aAAa,EAAA,CAAA;sBAAvC,WAAW;uBAAC,YAAY,CAAA;gBACK,eAAe,EAAA,CAAA;sBAA5C,WAAW;uBAAC,eAAe,CAAA;gBACK,mBAAmB,EAAA,CAAA;sBAAnD,WAAW;uBAAC,kBAAkB,CAAA;gBACH,cAAc,EAAA,CAAA;sBAAzC,WAAW;uBAAC,aAAa,CAAA;gBACM,iBAAiB,EAAA,CAAA;sBAAhD,WAAW;uBAAC,iBAAiB,CAAA;gBACO,sBAAsB,EAAA,CAAA;sBAA1D,WAAW;uBAAC,sBAAsB,CAAA;gBACA,aAAa,EAAA,CAAA;sBAA/C,WAAW;uBAAC,oBAAoB,CAAA;gBACI,eAAe,EAAA,CAAA;sBAAnD,WAAW;uBAAC,sBAAsB,CAAA;gBACC,cAAc,EAAA,CAAA;sBAAjD,WAAW;uBAAC,qBAAqB,CAAA;gBASrB,IAAI,EAAA,CAAA;sBAAhB,KAAK;gBAOO,KAAK,EAAA,CAAA;sBAAjB,KAAK;;;AEjEH,MAAM,cAAc,GAAG;AAC1B,IAAA,iBAAiB,EAAE,IAAI;AACvB,IAAA,mBAAmB,EAAE,KAAK;AAC1B,IAAA,qBAAqB,EAAE,IAAI;AAC3B,IAAA,aAAa,EAAE,IAAI;AACtB,IAAA,WAAW,EAAE,KAAK;AACf,IAAA,SAAS,EAAG,IAAI;AACnB,IAAA,WAAW,EAAE,CAAC;AACd,IAAA,WAAW,EAAE,EAAE;AACf,IAAA,iBAAiB,EAAE,CAAC;AACpB,IAAA,QAAQ,EAAE,IAAI;AACd,IAAA,OAAO,EAAE,MAAM;AACf,IAAA,QAAQ,EAAE,CAAC;AACX,IAAA,SAAS,EAAE,EAAE;AACb,IAAA,UAAU,EAAE,KAAK;CACjB;;ACZD;;;AAGG;AACI,MAAM,qBAAqB,GAAG,IAAI,cAAc,CAAiB,gBAAgB,CAAC;;;MC6B5E,gBAAgB,CAAA;AAmCzB,IAAA,IAAI,OAAO,GAAA;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC;KACxB;IAED,IAAa,OAAO,CAAC,KAAqB,EAAA;QACtC,IAAI,KAAK,IAAI,cAAc,EAAE;AACzB,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;AACzB,SAAA;KACJ;AAED,IAAA,IAAI,YAAY,GAAA;AACZ,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC;KAClF;AAED,IAAA,IAAI,gBAAgB,GAAA;QAChB,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,KAAK,EAAE;AACnC,YAAA,OAAO,KAAK,CAAC;AAChB,SAAA;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,KAAK,KAAK,EAAE;AAC9C,YAAA,OAAO,KAAK,CAAC;AAChB,SAAA;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,OAAO,EAAE;AACrC,YAAA,OAAO,KAAK,CAAC;AAChB,SAAA;AAED,QAAA,OAAO,IAAI,CAAC;KACf;AAED,IAAA,IAAI,kBAAkB,GAAA;QAClB,OAAO,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC;KACpE;AAED,IAAA,IAAI,eAAe,GAAA;AACf,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;AAC1B,YAAA,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AACnC,SAAA;AAAM,aAAA;YACH,OAAO,IAAI,CAAC,eAAe,CAAC;AAC/B,SAAA;KACJ;IAED,WACuD,CAAA,WAAW,EACvD,QAAmB,EAClB,UAAsB,EACtB,wBAAkD,EAClD,MAAsB,EACtB,QAAkB,EAAA;QALyB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;QACvD,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;QAClB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;QACtB,IAAwB,CAAA,wBAAA,GAAxB,wBAAwB,CAA0B;QAClD,IAAM,CAAA,MAAA,GAAN,MAAM,CAAgB;QACtB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;QAvErB,IAAmB,CAAA,mBAAA,GAAY,IAAI,CAAC;QAIpC,IAAK,CAAA,KAAA,GAAG,KAAK,CAAC;QACd,IAAW,CAAA,WAAA,GAAY,IAAI,CAAC;QAM5B,IAAO,CAAA,OAAA,GAAG,IAAI,CAAC;AAKd,QAAA,IAAA,CAAA,UAAU,GAAsB,IAAI,YAAY,EAAO,CAAC;AACxD,QAAA,IAAA,CAAA,UAAU,GAAsB,IAAI,YAAY,EAAO,CAAC;QAIlE,IAAQ,CAAA,QAAA,GAAQ,EAAE,CAAC;AA+EnB,QAAA,IAAA,CAAA,cAAc,GAA0B,IAAI,YAAY,EAAW,CAAC;QACpE,0BAAmB,CAAA,GAAA,CAAA,IAAA,EAAA,KAAA,CAAA,CAAA,CAAA;KA7BlB;AAED,IAAA,qBAAqB,CAAC,SAAc,EAAE,IAAA,GAAY,EAAE,EAAA;AAChD,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,wBAAwB;aAC5C,uBAAuB,CAAC,SAAS,CAAC;AAClC,aAAA,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAEb,QAAA,IAAI,CAAC,YAAY,CAAC,QAAS,CAAC,IAAI,GAAG;YAC7C,KAAK,EAAE,IAAI,CAAC,YAAY;AACxB,YAAA,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa;YACtC,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,OAAO,EAAE,IAAI,CAAC,OAAO;SACxB,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;AACnD,QAAA,IAAI,CAAC,gBAAgB,GAAI,IAAI,CAAC,YAAY,CAAC,QAAiC,CAAC,SAAS,CAAC,CAAC,CAAgB,CAAC;QACzG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AACjD,QAAA,IAAI,CAAC,kBAAkB,GAAiB,IAAI,CAAC,YAAY,CAAC,QAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,KAAU,KAAI;AACpG,YAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACxB,IAAI,CAAC,QAAQ,GAAiB,IAAI,CAAC,YAAY,CAAC,QAAS,CAAC,QAAQ,CAAC;AACvE,SAAC,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,kBAAkB,GAAiB,IAAI,CAAC,YAAY,CAAC,QAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,KAAU,KAAI;AACpG,YAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACvB,IAAI,CAAC,QAAQ,GAAiB,IAAI,CAAC,YAAY,CAAC,QAAS,CAAC,QAAQ,CAAC;AACvE,SAAC,CAAC,CAAC;KAEN;AAMD,IAAA,IACI,QAAQ,GAAA;QACR,OAAO,sBAAA,CAAA,IAAI,EAAA,0BAAA,EAAA,GAAA,CAAU,CAAC;KACzB;IAED,IAAI,QAAQ,CAAC,QAAiB,EAAA;AAC1B,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACnC,QAAA,sBAAA,CAAA,IAAI,EAAA,0BAAA,EAAa,QAAQ,EAAA,GAAA,CAAA,CAAC;QAC1B,IAAI,sBAAA,CAAA,IAAI,EAAA,0BAAA,EAAA,GAAA,CAAU,EAAE;YAChB,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAC5D,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;AACnE,SAAA;AAAM,aAAA;YACH,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YAC/D,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AAChE,SAAA;KACJ;AAED,IAAA,WAAW,CAAC,KAAU,EAAA;AAClB,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;KAC1B;AAED,IAAA,UAAU,CAAC,KAAU,EAAA;AACjB,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;KAC1B;IAED,mBAAmB,CAAC,cAAc,EAAE,OAAO,EAAA;AACvC,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;KACrF;IAED,aAAa,GAAA;QACT,IAAI,IAAI,CAAC,eAAe,EAAE;AACtB,YAAA,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;AACtC,SAAA;QAED,IAAI,IAAI,CAAC,aAAa,EAAE;AACpB,YAAA,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACpC,SAAA;QAED,IAAI,IAAI,CAAC,aAAa,EAAE;AACpB,YAAA,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACpC,SAAA;QAED,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACvB,YAAA,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AACvC,SAAA;KACJ;IAED,aAAa,GAAA;QACT,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC,MAAK;AAC1C,YAAA,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;AACjD,SAAC,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QAExB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,MAAK;YACxC,IAAI,CAAC,eAAe,EAAE,CAAC;AAC3B,SAAC,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;KAC3B;IAED,kBAAkB,GAAA;QACd,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;KAChF;IAED,YAAY,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;KACpC;AAED,IAAA,aAAa,CAAC,OAAO,EAAA;QACjB,IAAI,UAAU,GAAG,EAAE,CAAC;AAEpB,QAAA,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE;AACxB,YAAA,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,cAAc,EAAE;gBAC/C,UAAU,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC;AACjD,aAAA;YACD,IAAI,IAAI,KAAK,SAAS,EAAE;AACpB,gBAAA,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC;AAC3C,aAAA;AACJ,SAAA;AACD,QAAA,OAAO,UAAU,CAAC;KACrB;IAED,YAAY,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;KACpC;AAED,IAAA,WAAW,CAAC,OAAO,EAAA;QACf,IAAI,OAAO,CAAC,OAAO,EAAE;AACjB,YAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AACf,gBAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;AACtE,aAAA;AAAM,iBAAA;AACH,gBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AAC9E,aAAA;AACJ,SAAA;QACD,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE;YAC7C,IAAI,CAAC,eAAe,EAAE,CAAC;AAC1B,SAAA;QACD,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AACnD,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,cAAc,EAAE,cAAc,CAAC,CAAC;KAClI;IAED,QAAQ,GAAA;QACJ,IAAI,IAAI,CAAC,OAAO,EAAE;AACd,YAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AAC9E,SAAA;AACD,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;KACzB;IAGD,OAAO,GAAA;QACH,IAAI,IAAI,CAAC,iBAAiB,EAAE;YACxB,OAAO;AACV,SAAA;QACD,IAAI,CAAC,IAAI,EAAE,CAAC;AACZ,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;KACtB;IAEM,IAAI,GAAA;QACP,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC/C,IAAI,CAAC,aAAa,EAAE,CAAC;AACxB,SAAA;AAAM,aAAA,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YACjC,IAAI,CAAC,eAAe,EAAE,CAAC;AAC1B,SAAA;KACJ;IAED,eAAe,GAAA;AACG,QAAA,IAAI,CAAC,YAAY,CAAC,QAAS,CAAC,IAAI,GAAG;YAC7C,KAAK,EAAE,IAAI,CAAC,YAAY;AACxB,YAAA,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa;YACtC,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,OAAO,EAAE,IAAI,CAAC,OAAO;SACxB,CAAC;QACF,IAAI,CAAC,aAAa,EAAE,CAAC;QACP,IAAI,CAAC,YAAY,CAAC,QAAS,CAAC,IAAI,GAAG,IAAI,CAAC;KACzD;IAED,eAAe,GAAA;QACX,IAAI,IAAI,CAAC,YAAY,EAAE;YACL,IAAI,CAAC,YAAY,CAAC,QAAS,CAAC,KAAK,GAAG,IAAI,CAAC;AAC1D,SAAA;KACJ;;;AA/PQ,gBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,kBA8ED,qBAAqB,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;iGA9EpC,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,KAAA,EAAA,OAAA,EAAA,WAAA,EAAA,aAAA,EAAA,aAAA,EAAA,eAAA,EAAA,KAAA,EAAA,OAAA,EAAA,WAAA,EAAA,aAAA,EAAA,aAAA,EAAA,eAAA,EAAA,UAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,SAAA,EAAA,WAAA,EAAA,OAAA,EAAA,SAAA,EAAA,YAAA,EAAA,CAAA,WAAA,EAAA,cAAA,CAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,WAAA,EAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAL5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,aAAa;AACvB,oBAAA,UAAU,EAAE,IAAI;AACnB,iBAAA,CAAA;;0BAgFQ,QAAQ;;0BAAI,MAAM;2BAAC,qBAAqB,CAAA;wLApEpC,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBACG,iBAAiB,EAAA,CAAA;sBAAzB,KAAK;gBACG,mBAAmB,EAAA,CAAA;sBAA3B,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACc,YAAY,EAAA,CAAA;sBAA/B,KAAK;uBAAC,WAAW,CAAA;gBACT,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACI,UAAU,EAAA,CAAA;sBAAnB,MAAM;gBACG,UAAU,EAAA,CAAA;sBAAnB,MAAM;gBAUM,OAAO,EAAA,CAAA;sBAAnB,KAAK;gBAyEN,cAAc,EAAA,CAAA;sBADb,MAAM;gBAKH,QAAQ,EAAA,CAAA;sBADX,KAAK;gBA4GN,OAAO,EAAA,CAAA;sBADN,YAAY;uBAAC,OAAO,CAAA;;;MCnPZ,aAAa,CAAA;IAEtB,OAAO,OAAO,CAAC,WAA2B,EAAA;QACtC,OAAO;AACH,YAAA,QAAQ,EAAE,aAAa;AACvB,YAAA,SAAS,EAAE;AACP,gBAAA;AACI,oBAAA,OAAO,EAAE,qBAAqB;AAC9B,oBAAA,QAAQ,EAAE,WAAW;AACxB,iBAAA;AACJ,aAAA;SACJ,CAAC;KACL;;0GAZQ,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAb,aAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,YAPlB,gBAAgB;AAChB,QAAA,gBAAgB,aAGhB,gBAAgB,CAAA,EAAA,CAAA,CAAA;AAGX,aAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,YANlB,gBAAgB,CAAA,EAAA,CAAA,CAAA;2FAMX,aAAa,EAAA,UAAA,EAAA,CAAA;kBATzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,gBAAgB;wBAChB,gBAAgB;AACnB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,gBAAgB;AACnB,qBAAA;AACJ,iBAAA,CAAA;;;ACdD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"agorapulse-ui-components-popmenu.mjs","sources":["../../../libs/ui-components/popmenu/src/popmenu.component.ts","../../../libs/ui-components/popmenu/src/popmenu.component.html","../../../libs/ui-components/popmenu/src/options.ts","../../../libs/ui-components/popmenu/src/popmenu-options.service.ts","../../../libs/ui-components/popmenu/src/popmenu.directive.ts","../../../libs/ui-components/popmenu/src/popmenu.module.ts","../../../libs/ui-components/popmenu/src/agorapulse-ui-components-popmenu.ts"],"sourcesContent":["import {NgIf, NgStyle, NgTemplateOutlet} from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n Renderer2,\n ViewChild,\n} from '@angular/core';\nimport {MatLegacyButtonModule as MatButtonModule} from '@angular/material/legacy-button';\nimport {MatLegacyMenuModule as MatMenuModule, MatLegacyMenuTrigger as MatMenuTrigger} from '@angular/material/legacy-menu';\nimport {merge} from \"rxjs\";\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-popmenu',\n templateUrl: './popmenu.component.html',\n styleUrls: ['./popmenu.component.scss'],\n standalone: true,\n imports: [MatButtonModule, MatMenuModule, NgStyle, NgTemplateOutlet, NgIf],\n})\nexport class PopmenuComponent implements AfterViewInit {\n @Input() data: any;\n events = new EventEmitter();\n arrowTopPosition = '50%';\n arrowBottomPosition = '50%';\n arrowLeftPosition: string;\n arrowRightPosition: string;\n arrowClass: string;\n below;\n before;\n @Output() menuClosed: EventEmitter<any> = new EventEmitter<any>();\n @Output() menuOpened: EventEmitter<any> = new EventEmitter<any>();\n @ViewChild(MatMenuTrigger) trigger: MatMenuTrigger;\n @HostBinding('style.top') hostStyleTop: string;\n @HostBinding('style.border-radius') hostStyleBorderRadius: string;\n @HostBinding('style.left') hostStyleLeft: string;\n @HostBinding('style.z-index') hostStyleZIndex: number;\n @HostBinding('style.transition') hostStyleTransition: string;\n @HostBinding('style.width') hostStyleWidth: string;\n @HostBinding('style.max-width') hostStyleMaxWidth: string;\n @HostBinding('style.pointer-events') hostStylePointerEvents: string;\n @HostBinding('class.tooltip-show') hostClassShow: boolean;\n @HostBinding('class.tooltip-shadow') hostClassShadow: boolean;\n @HostBinding('class.tooltip-light') hostClassLight: boolean;\n viewInit = false;\n\n _show = false;\n\n get show(): boolean {\n return this._show;\n }\n\n @Input() set show(value: boolean) {\n if (value) {\n this.setPosition();\n }\n this._show = value;\n }\n\n @Input() set close(value: boolean) {\n if (value) {\n setTimeout(() => {\n this.trigger.closeMenu();\n }, 100);\n }\n }\n\n menuOpen: boolean;\n\n get arrow() {\n return this.data.options.arrow && this.border;\n }\n\n get arrowOffset() {\n return this.data.options.arrowOffset;\n }\n\n get arrowPosition() {\n return this.data.options.arrowPosition;\n }\n\n get autoPlacement() {\n return this.data.options.autoPlacement;\n }\n\n get background() {\n return this.data.options.apPopmenuBackground;\n }\n\n get border() {\n return this.data.options.apPopmenuBorder;\n }\n\n get element() {\n return this.data.element;\n }\n\n get elementPosition() {\n return this.data.elementPosition;\n }\n\n get hasBackdrop() {\n return this.data.options.hasBackdrop;\n }\n\n get backdropClass() {\n return this.data.options.backdropClass;\n }\n\n get isThemeLight() {\n return this.options['theme'] === 'light';\n }\n\n get options() {\n return this.data.options;\n }\n\n get panelClass() {\n return this.data.options.panelClass;\n }\n\n get placement() {\n return this.data.options.placement;\n }\n\n get rounded() {\n return this.data.options.rounded;\n }\n\n get shadow() {\n return this.data.options.shadow;\n }\n\n get tooltipOffset(): number {\n return Number(this.data.options.offset);\n }\n\n get offsetSkidding(): number {\n return Number(this.data.options.offsets.skidding) || 0;\n }\n\n get offsetDistance(): number {\n return Number(this.data.options.offsets.distance || 0);\n }\n\n get value() {\n return this.data.value;\n }\n\n constructor(\n public renderer: Renderer2,\n public elementRef: ElementRef,\n private changeDetectorRef: ChangeDetectorRef\n ) {}\n\n ngAfterViewInit() {\n this.viewInit = true;\n merge(this.trigger.menuOpened,this.trigger.menuClosed).subscribe(()=>{\n this.menuOpen = this.trigger.menuOpen;\n })\n }\n\n onMenuClosed() {\n // we set a timeout to wait for the menu to be really closed\n setTimeout(() => this.menuClosed.emit(), 200);\n }\n\n onMenuOpened() {\n // we set a timeout to wait for the menu to be really opened\n setTimeout(() => this.menuOpened.emit(), 100);\n }\n\n setHostStyle(placement: string): boolean {\n const isSvg = this.element instanceof SVGElement;\n const tooltip = this.elementRef.nativeElement;\n const isCustomPosition = !this.elementPosition.x;\n\n let elementHeight = !this.element.offsetHeight\n ? this.element.getBoundingClientRect().height\n : this.element.offsetHeight;\n let elementWidth = !this.element.offsetWidth\n ? this.element.getBoundingClientRect().width\n : this.element.offsetWidth;\n const tooltipHeight = tooltip.clientHeight;\n const tooltipWidth = tooltip.clientWidth;\n const scrollY = window.pageYOffset;\n\n let topStyle;\n let leftStyle;\n\n if (isCustomPosition) {\n if (placement && placement.split(' ')[0] === 'top') {\n this.below = false;\n }\n if (placement && placement.split(' ')[0] === 'bottom') {\n this.below = true;\n }\n elementHeight = 0;\n elementWidth = 0;\n topStyle = this.elementPosition.top;\n leftStyle = this.elementPosition.left;\n if (this.arrow && this.arrowPosition) {\n this.arrowClass = 'arrow-' + this.arrowPosition;\n switch (this.arrowPosition) {\n case 'left':\n case 'right':\n this.arrowLeftPosition = undefined;\n this.arrowRightPosition = undefined;\n this.arrowBottomPosition = 'auto';\n this.arrowTopPosition = this.arrowOffset + '%';\n break;\n case 'top':\n case 'bottom':\n this.arrowLeftPosition = this.arrowOffset + '%';\n this.arrowRightPosition = 'auto';\n this.arrowBottomPosition = undefined;\n this.arrowTopPosition = undefined;\n break;\n }\n }\n } else {\n if (placement.split(' ')[0] === 'top') {\n this.below = false;\n topStyle = this.elementPosition.top - this.tooltipOffset - this.offsetDistance;\n topStyle += 8;\n }\n\n if (placement.split(' ')[0] === 'bottom') {\n this.below = true;\n topStyle = this.elementPosition.bottom + this.tooltipOffset + this.offsetDistance;\n // We remove 8px due to the margin-top we put to display the arrow.\n topStyle -= 8;\n }\n\n if (placement.split(' ')[0] === 'left') {\n leftStyle = this.elementPosition.left - tooltipWidth - this.tooltipOffset - this.offsetDistance;\n }\n\n if (placement.split(' ')[0] === 'right') {\n leftStyle = this.elementPosition.left + elementWidth + this.tooltipOffset + this.offsetDistance;\n }\n\n if (placement.split(' ')[0] === 'left' || placement.split(' ')[0] === 'right') {\n topStyle = this.elementPosition.top + scrollY + elementHeight / 2 - tooltip.clientHeight / 2;\n }\n\n if (placement === 'right bottom') {\n this.below = true;\n this.before = false;\n this.arrowClass = 'arrow-left';\n topStyle = this.elementPosition.top + scrollY + this.offsetSkidding;\n this.arrowRightPosition = undefined;\n this.arrowLeftPosition = undefined;\n this.arrowBottomPosition = 'auto';\n this.arrowTopPosition = this.arrowOffset ? this.arrowOffset + '%' : elementHeight / 2 + 'px';\n }\n\n if (placement === 'left bottom') {\n this.below = true;\n this.before = true;\n this.arrowClass = 'arrow-right';\n topStyle = this.elementPosition.top + scrollY + this.offsetSkidding;\n this.arrowLeftPosition = undefined;\n this.arrowRightPosition = undefined;\n this.arrowBottomPosition = 'auto';\n this.arrowTopPosition = this.arrowOffset ? this.arrowOffset + '%' : elementHeight / 2 + 'px';\n }\n\n if (placement === 'right top') {\n this.below = false;\n this.before = false;\n this.arrowClass = 'arrow-left';\n topStyle = this.elementPosition.top + elementHeight + scrollY + this.offsetSkidding;\n this.arrowLeftPosition = undefined;\n this.arrowRightPosition = undefined;\n this.arrowTopPosition = 'auto';\n this.arrowBottomPosition = this.arrowOffset\n ? this.arrowOffset + '%'\n : -(tooltip.clientHeight - elementHeight / 2) + 'px';\n }\n\n if (placement === 'left top') {\n this.below = false;\n this.before = true;\n this.arrowClass = 'arrow-right';\n topStyle = this.elementPosition.top + elementHeight + scrollY + this.offsetSkidding;\n this.arrowRightPosition = undefined;\n this.arrowLeftPosition = undefined;\n this.arrowTopPosition = 'auto';\n this.arrowBottomPosition = this.arrowOffset\n ? this.arrowOffset + '%'\n : -(tooltip.clientHeight - elementHeight / 2) + 'px';\n }\n\n if (placement === 'bottom right') {\n this.before = false;\n this.below = true;\n this.arrowClass = 'arrow-top';\n leftStyle = this.elementPosition.left + this.offsetSkidding;\n this.arrowTopPosition = undefined;\n this.arrowRightPosition = 'auto';\n this.arrowLeftPosition = this.arrowOffset ? this.arrowOffset + '%' : elementWidth / 2 - 4.5 + 'px';\n }\n\n if (placement === 'bottom left') {\n this.before = true;\n this.below = true;\n this.arrowClass = 'arrow-top';\n leftStyle = this.elementPosition.right + this.offsetSkidding;\n this.arrowTopPosition = undefined;\n this.arrowLeftPosition = 'auto';\n this.arrowRightPosition = this.arrowOffset ? this.arrowOffset + '%' : elementWidth / 2 - 2.5 + 'px';\n }\n\n if (placement === 'top right') {\n this.before = false;\n this.below = false;\n this.arrowClass = 'arrow-bottom';\n leftStyle = this.elementPosition.left + this.offsetSkidding;\n this.arrowBottomPosition = undefined;\n this.arrowTopPosition = undefined;\n this.arrowRightPosition = 'auto';\n this.arrowLeftPosition = this.arrowOffset ? this.arrowOffset + '%' : elementWidth / 2 - 4.5 + 'px';\n }\n\n if (placement === 'top left') {\n this.before = true;\n this.below = false;\n this.arrowClass = 'arrow-bottom';\n leftStyle = this.elementPosition.right + this.offsetSkidding;\n this.arrowBottomPosition = undefined;\n this.arrowTopPosition = undefined;\n this.arrowLeftPosition = 'auto';\n this.arrowRightPosition = this.arrowOffset ? this.arrowOffset + '%' : elementWidth / 2 - 2.5 + 'px';\n }\n }\n\n // This line is PURE MAGIC and super important. It allows to force mat-menu\n // to reposition the menu with the new xPosition / yPosition.\n this.changeDetectorRef.detectChanges();\n\n const topEdge = topStyle;\n const bottomEdge = topStyle + tooltipHeight;\n const leftEdge = leftStyle;\n const rightEdge = leftStyle + tooltipWidth;\n\n if (\n (topEdge < 0 ||\n bottomEdge > document.body.clientHeight ||\n leftEdge < 0 ||\n rightEdge > document.body.clientWidth) &&\n this.autoPlacement\n ) {\n return false;\n }\n\n this.hostStyleTop = topStyle + 'px';\n this.hostStyleLeft = leftStyle + 'px';\n return true;\n }\n\n setPlacementClass(placement?: string): void {\n this.renderer.addClass(\n this.elementRef.nativeElement,\n 'tooltip-' + (placement ? placement.split(' ')[0] : placement)\n );\n this.renderer.addClass(\n this.elementRef.nativeElement,\n 'yPosition-' + (placement && placement.split(' ').length === 2 ? placement.split(' ')[1] : 'center')\n );\n\n if (this.elementRef.nativeElement.children && this.elementRef.nativeElement.children.length > 1) {\n const tooltipArrow = Array.from(this.elementRef.nativeElement.children).filter(\n (child: HTMLElement) => child.getAttribute('id') === 'tooltipArrow'\n );\n if (tooltipArrow && tooltipArrow.length === 1) {\n if (placement && placement.split(' ').length === 2 && placement.split(' ')[1] === 'bottom') {\n this.renderer.setStyle(tooltipArrow[0], 'top', this.arrowTopPosition);\n } else if (placement && placement.split(' ').length === 2 && placement.split(' ')[1] === 'top') {\n this.renderer.setStyle(tooltipArrow[0], 'top', this.arrowBottomPosition);\n }\n }\n }\n }\n\n setPosition(): void {\n if (this.setHostStyle(this.placement)) {\n this.setPlacementClass(this.placement);\n if (this.viewInit) {\n // We did this in order to reset overlayRef (multi web component needed with matmenu and cdk overlay)\n if (this.trigger['_overlayRef']) {\n this.trigger['_overlayRef'].dispose();\n this.trigger['_overlayRef'] = null;\n }\n this.trigger.openMenu();\n }\n return;\n } else {\n const placements = ['top', 'right', 'bottom', 'left'];\n\n for (const placement of placements) {\n if (this.setHostStyle(placement)) {\n this.setPlacementClass(placement);\n if (this.viewInit) {\n this.trigger.openMenu();\n }\n return;\n }\n }\n }\n }\n}\n","<button id=\"menuTrigger\" class=\"button-trigger\" mat-button\n [matMenuTriggerFor]=\"menu\" (menuClosed)=\"onMenuClosed()\" (menuOpened)=\"onMenuOpened()\">\n</button>\n<mat-menu #menu=\"matMenu\" [yPosition]=\"!below ? 'above': 'below'\" [xPosition]=\"!before? 'after': 'before'\" [overlapTrigger]=\"false\"\n [hasBackdrop]=\"hasBackdrop\"\n [backdropClass]=\"backdropClass\"\n class=\"pop-menu {{arrow ? 'arrow-before ' + arrowClass : ''}} {{shadow ? 'shadow' : ''}} {{border ? '' : (shadow ? 'shadow-no-border' : '')}} {{rounded ? 'rounded-component' : ''}} {{ background ? '' : 'no-background'}} {{panelClass}}\">\n\n <div *ngIf=\"arrow\" class=\"{{arrow ? 'arrow-before ' + arrowClass : ''}}\" [ngStyle]=\"{'left': arrowLeftPosition, 'right': arrowRightPosition, 'top': arrowTopPosition, 'bottom': arrowBottomPosition}\"></div>\n <div (click)=\"$event.stopPropagation()\" class=\"{{rounded ? 'rounded-component' : ''}} outline-none\">\n <div class=\"{{border ? 'popover-content ' : ''}} {{rounded ? 'rounded-component' : ''}}\">\n <ng-container *ngTemplateOutlet=\"value;context:{menu:this}\"></ng-container>\n </div>\n </div>\n</mat-menu>\n\n\n","export const defaultOptions = {\n 'apPopmenuBorder': true,\n 'apPopmenuDisabled': false,\n 'apPopmenuBackground': true,\n 'hasBackdrop': true,\n\t'placement': 'top',\n 'rounded' : true,\n\t'showDelay': 0,\n\t'hideDelay': 10,\n\t'hideDelayMobile': 0,\n\t'shadow': true,\n\t'theme': 'dark',\n\t'offset': 8,\n\t'offsets': {},\n\t'maxWidth': '600',\n};\n","import {InjectionToken} from '@angular/core';\nimport {PopmenuOptions} from './popmenu-options.interface';\n\n/**\n * This is not a real service, but it looks like it from the outside.\n * It's just an InjectionToken used to import the config (initOptions) object, provided from the outside\n */\nexport const PopmenuOptionsService = new InjectionToken<PopmenuOptions>('PopmenuOptions');\n","import {\n ApplicationRef,\n ComponentFactoryResolver, ComponentRef,\n Directive,\n ElementRef,\n EmbeddedViewRef,\n EventEmitter,\n HostListener,\n Inject,\n Injector,\n Input,\n OnChanges,\n OnInit,\n Optional,\n Output,\n Renderer2, TemplateRef\n} from '@angular/core';\nimport {PopmenuOptions} from './popmenu-options.interface';\nimport {defaultOptions} from './options';\nimport {PopmenuOptionsService} from './popmenu-options.service';\nimport {PopmenuComponent} from './popmenu.component';\n\nexport interface AdComponent {\n data: any;\n show: boolean;\n close: boolean;\n menuClosed: any;\n menuOpened: any;\n menuOpen: boolean;\n}\n\n@Directive({\n selector: '[apPopmenu]',\n standalone: true,\n})\n\nexport class PopmenuDirective implements OnChanges, OnInit {\n\n hideTimeoutId: number;\n destroyTimeoutId: number;\n createTimeoutId: number;\n showTimeoutId: number;\n componentRef: ComponentRef<any>;\n elementPosition: any;\n componentSubscribe: any;\n _defaultOptions: any;\n @Input() apPopmenuBorder: boolean;\n @Input() apPopmenuDisabled: boolean;\n @Input() apPopmenuBackground: boolean = true;\n @Input() arrow: boolean;\n @Input() arrowOffset: number;\n @Input() arrowPosition: string;\n @Input() close = false;\n @Input() hasBackdrop: boolean = true;\n @Input() backdropClass: string;\n @Input() panelClass: string;\n @Input() offset: number;\n @Input() offsets: { distance?: number, skidding?: number };\n @Input() placement: string;\n @Input() pointer = true;\n @Input('apPopmenu') popMenuValue: TemplateRef<any>;\n @Input() position: { top: number, left: number };\n @Input() rounded: boolean;\n @Input() shadow: boolean;\n @Output() menuClosed: EventEmitter<any> = new EventEmitter<any>();\n @Output() menuOpened: EventEmitter<any> = new EventEmitter<any>();\n\n componentElement: HTMLElement;\n\n _options: any = {};\n\n get options() {\n return this._options;\n }\n\n @Input() set options(value: PopmenuOptions) {\n if (value && defaultOptions) {\n this._options = value;\n }\n }\n\n get destroyDelay() {\n return Number(this.getHideDelay()) + Number(this.options['animationDuration']);\n }\n\n get isDisplayOnHover(): boolean {\n if (this.options['display'] === false) {\n return false;\n }\n\n if (this.options['displayTouchscreen'] === false) {\n return false;\n }\n\n if (this.options['trigger'] !== 'hover') {\n return false;\n }\n\n return true;\n }\n\n get isTooltipDestroyed() {\n return this.componentRef && this.componentRef.hostView.destroyed;\n }\n\n get tooltipPosition() {\n if (this.options['position']) {\n return this.options['position'];\n } else {\n return this.elementPosition;\n }\n }\n\n constructor(\n @Optional() @Inject(PopmenuOptionsService) private initOptions,\n public renderer: Renderer2,\n private elementRef: ElementRef,\n private componentFactoryResolver: ComponentFactoryResolver,\n private appRef: ApplicationRef,\n private injector: Injector) {\n }\n\n appendComponentToBody(component: any, data: any = {}): void {\n this.componentRef = this.componentFactoryResolver\n .resolveComponentFactory(component)\n .create(this.injector);\n\n (<AdComponent>this.componentRef.instance).data = {\n value: this.popMenuValue,\n element: this.elementRef.nativeElement,\n elementPosition: this.tooltipPosition,\n options: this.options\n };\n this.appRef.attachView(this.componentRef.hostView);\n this.componentElement = (this.componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\n document.body.appendChild(this.componentElement);\n this.componentSubscribe = (<AdComponent>this.componentRef.instance).menuClosed.subscribe((event: any) => {\n this.handleClose(event);\n this.menuOpen = (<AdComponent>this.componentRef.instance).menuOpen;\n });\n this.componentSubscribe = (<AdComponent>this.componentRef.instance).menuOpened.subscribe((event: any) => {\n this.handleOpen(event);\n this.menuOpen = (<AdComponent>this.componentRef.instance).menuOpen;\n });\n\n }\n\n @Output()\n menuOpenChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n #menuOpen: boolean;\n\n @Input()\n get menuOpen() {\n return this.#menuOpen;\n }\n\n set menuOpen(menuOpen: boolean) {\n this.menuOpenChange.emit(menuOpen);\n this.#menuOpen = menuOpen;\n if (this.#menuOpen) {\n this.elementRef.nativeElement.classList.add(\"popmenu-open\");\n this.elementRef.nativeElement.classList.remove(\"popmenu-close\");\n } else {\n this.elementRef.nativeElement.classList.remove(\"popmenu-open\");\n this.elementRef.nativeElement.classList.add(\"popmenu-close\");\n }\n }\n\n handleClose(event: any) {\n this.menuClosed.emit();\n }\n\n handleOpen(event: any) {\n this.menuOpened.emit();\n }\n\n applyOptionsDefault(defaultOptions, options): void {\n this.options = Object.assign({}, defaultOptions, this.initOptions || {}, options);\n }\n\n clearTimeouts(): void {\n if (this.createTimeoutId) {\n clearTimeout(this.createTimeoutId);\n }\n\n if (this.showTimeoutId) {\n clearTimeout(this.showTimeoutId);\n }\n\n if (this.hideTimeoutId) {\n clearTimeout(this.hideTimeoutId);\n }\n\n if (this.destroyTimeoutId) {\n clearTimeout(this.destroyTimeoutId);\n }\n }\n\n createPopMenu(): void {\n this.clearTimeouts();\n\n this.createTimeoutId = window.setTimeout(() => {\n this.appendComponentToBody(PopmenuComponent);\n }, this.getShowDelay());\n\n this.showTimeoutId = window.setTimeout(() => {\n this.showTooltipElem();\n }, this.getShowDelay());\n }\n\n getElementPosition(): void {\n this.elementPosition = this.elementRef.nativeElement.getBoundingClientRect();\n }\n\n getHideDelay() {\n return this.options['hideDelay'];\n }\n\n getProperties(changes) {\n let properties = {};\n\n for (const prop in changes) {\n if (prop !== 'options' && prop !== 'tooltipValue') {\n properties[prop] = changes[prop].currentValue;\n }\n if (prop === 'options') {\n properties = changes[prop].currentValue;\n }\n }\n return properties;\n }\n\n getShowDelay() {\n return this.options['showDelay'];\n }\n\n ngOnChanges(changes) {\n if (changes.pointer) {\n if (!this.pointer) {\n this.renderer.removeStyle(this.elementRef.nativeElement, 'cursor');\n } else {\n this.renderer.setStyle(this.elementRef.nativeElement, 'cursor', 'pointer');\n }\n }\n if (changes.close && changes.close.currentValue) {\n this.hideTooltipElem();\n }\n const changedOptions = this.getProperties(changes);\n this.applyOptionsDefault(this.options && Object.keys(this.options).length > 0 ? this.options : defaultOptions, changedOptions);\n }\n\n ngOnInit(): void {\n if (this.pointer) {\n this.renderer.setStyle(this.elementRef.nativeElement, 'cursor', 'pointer');\n }\n this.menuOpen = false;\n }\n\n @HostListener('click')\n onClick() {\n if (this.apPopmenuDisabled) {\n return;\n }\n this.show();\n this.close = false;\n }\n\n public show() {\n this.getElementPosition();\n if (!this.componentRef || this.isTooltipDestroyed) {\n this.createPopMenu();\n } else if (!this.isTooltipDestroyed) {\n this.showTooltipElem();\n }\n }\n\n showTooltipElem(): void {\n (<AdComponent>this.componentRef.instance).data = {\n value: this.popMenuValue,\n element: this.elementRef.nativeElement,\n elementPosition: this.tooltipPosition,\n options: this.options\n };\n this.clearTimeouts();\n (<AdComponent>this.componentRef.instance).show = true;\n }\n\n hideTooltipElem(): void {\n if (this.componentRef) {\n (<AdComponent>this.componentRef.instance).close = true;\n }\n }\n\n}\n","import {ModuleWithProviders, NgModule} from '@angular/core';\nimport {PopmenuDirective} from './popmenu.directive';\nimport {PopmenuOptions} from './popmenu-options.interface';\nimport {PopmenuOptionsService} from './popmenu-options.service';\nimport {PopmenuComponent} from './popmenu.component';\n\n@NgModule({\n imports: [\n PopmenuDirective,\n PopmenuComponent\n ],\n exports: [\n PopmenuDirective\n ]\n})\nexport class PopmenuModule {\n\n static forRoot(initOptions: PopmenuOptions): ModuleWithProviders<PopmenuModule> {\n return {\n ngModule: PopmenuModule,\n providers: [\n {\n provide: PopmenuOptionsService,\n useValue: initOptions\n }\n ]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["MatMenuTrigger","MatButtonModule","MatMenuModule"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -11,7 +11,7 @@ export declare class SnackbarsThreadComponent {
|
|
|
11
11
|
3: string;
|
|
12
12
|
};
|
|
13
13
|
SnackbarIconsMap: {
|
|
14
|
-
[k: number]: "attachment" | "add" | "view" | "close" | "small-caps" | "calendar" | "add-2022" | "add-circle" | "add-circle-bold-alternate" | "add-square-alternate" | "agorapulse-official" | "agorapulse-square-logo" | "alarm-bell-1" | "alarm-clock-1-alternate" | "alert-circle" | "alert-triangle" | "analytics-bars" | "analytics-board-bars" | "analytics-board-graph-line" | "app-window-expand" | "app-window-search-text" | "app-window-link" | "app-window-next" | "arrow-button-down" | "arrow-button-down-2" | "arrow-button-left" | "arrow-button-right" | "arrow-button-up" | "arrow-button-up-2" | "arrow-circle-right" | "arrow-corner-right" | "arrow-down-1" | "arrow-left-1" | "arrow-right" | "arrow-right-1" | "arrow-right-long" | "arrow-thick-circle-bottom-right-corner-2" | "arrow-thick-circle-right-2" | "arrow-thick-circle-top-right-corner-2" | "arrow-thick-down-2" | "arrow-thick-left-2" | "arrow-thick-right-2" | "arrow-thick-up-2" | "arrow-up-1" | "artboard-image-1" | "bin" | "bin-1" | "bin-2" | "bitly" | "button-play" | "button-shuffle" | "button-refresh-arrow" | "bookmarks-1" | "bookmarks-1-alternate" | "bookmarks-document" | "calendar-2022" | "calendar-3" | "calendar-add-1" | "calendar-setting" | "canva" | "certified-certificate" | "chat-translate" | "check-1" | "check-2" | "check-circle" | "check-circle-alternate" | "cog" | "cog-1" | "common-file-double" | "common-file-text-alternate" | "common-file-stack-alternate" | "common-file-upload" | "competitors" | "content-pencil-write" | "controls-pause" | "controls-play" | "controls-play-3" | "conversation-chat-1" | "conversation-chat-1-alternate" | "copy-paste" | "country-targeting" | "country-targeting-active" | "credit-card-1-alternate" | "crown" | "cursor-double-click-3" | "custom-facebook-comment" | "custom-facebook-like" | "custom-facebook-share" | "custom-tiktok-like" | "custom-tiktok-comment" | "custom-tiktok-share" | "custom-tiktok-melody" | "custom-twitter-comment" | "custom-twitter-like" | "custom-twitter-retweet" | "custom-twitter-retweet-full" | "custom-twitter-share" | "custom-inbox-post" | "custom-instagram-bookmark" | "custom-instagram-carousel" | "custom-instagram-comment" | "custom-instagram-like" | "custom-instagram-play" | "custom-instagram-reels" | "custom-instagram-share" | "custom-instagram-tags" | "custom-linkedin-comment" | "custom-linkedin-like" | "custom-linkedin-share" | "data-file-bars-add" | "data-transfer-vertical" | "data-transfer-vertical-bi-color-down" | "data-transfer-vertical-bi-color-up" | "data-transfer-square-horizontal" | "design-file-text-alternate" | "delete" | "delete-2-alternate" | "desktop-computer-pc-1" | "dislike" | "dislike-alternate" | "dislike-1" | "download-bottom" | "drawer-download" | "drawer-open" | "earth-heart" | "earth-search" | "email-action-add" | "email-action-reply" | "email-action-reply-alternate" | "email-action-subtract" | "email-action-sync-1" | "envelope-letter" | "excel" | "facebook" | "famous-people-man-steve-jobs" | "fans-2022" | "faq-2022" | "fast-food-burger-drink" | "flag-plain-2" | "file-csv-1" | "filter-1" | "filter-2" | "flag-plain" | "flip-right" | "folder-add-alternate" | "folder-empty" | "folder-media-alternate" | "folder-search-alternate" | "gauge-dashboard-alternate" | "gift-box" | "google-analytics" | "hash" | "headphones-customer-support-human" | "headphones-customer-support-human-1" | "help-wheel" | "hourglass-alternate" | "house-chimney-1" | "hyperlink-3" | "ig-grid" | "ig-story" | "ig-reel" | "image-file-bmp" | "image-file-jpg" | "image-file-gif" | "image-file-landscape" | "image-file-landscape-2" | "image-file-png" | "inbox-2022" | "information" | "information-circle" | "instagram" | "instagram-outline" | "iris-scan-approved" | "keyboard-3" | "keyboard-arrow-bottom-right" | "keyboard-arrow-right" | "keyboard-arrow-top-right" | "language-targeting" | "language-targeting-active" | "layers-hide" | "layers-show" | "layout-3" | "layout-module" | "layout-module-1" | "layout-agenda" | "layout-bullets" | "layout-top-1" | "library-2022" | "light-bulb" | "like" | "like-alternate" | "like-1" | "linkedin" | "list-bullets" | "listening-2022" | "lock-password" | "logout-1-alternate" | "logout-2" | "love-it" | "love-it-alternate" | "love-it-alternate-bold" | "love-it-circle" | "meetings-camera" | "megaphone" | "messages-bubble" | "messages-bubble-alternate" | "messages-bubble-dot" | "messages-bubble-empty-alternate" | "messages-bubble-forward" | "messages-bubble-graph" | "messages-bubble-question-alternate" | "messages-bubble-square-menu-alternate" | "messages-bubble-square-text" | "mobile-phone" | "module-three-1" | "money-wallet-open" | "move-to-bottom" | "multiple-man-1" | "multiple-users-1" | "natural-disaster-hurricane-radar-1" | "navigation-menu-horizontal" | "navigation-menu-horizontal-1-alternate" | "navigation-menu-vertical" | "network-search" | "notes-add" | "notes-text-flip-3" | "notes-book-text" | "notes-paper" | "notes-paper-approve" | "notes-paper-text-2" | "notif-2022" | "office-outdoors" | "open-new-tab" | "open-quote" | "organization" | "paginate-filter-picture" | "paginate-filter-plus" | "payment-paypal" | "pencil-1" | "pencil-2" | "pencil-write-2-alternate" | "people-man-graduate" | "performance-increase" | "phone-ring-1" | "picture-landscape" | "picture-polaroid-landscape" | "picture-stack-landscape" | "pin" | "pin-active" | "pin-location" | "plant-2" | "publishing-2022" | "publishing-list-2022" | "powerpoint" | "premium-star" | "question-circle" | "rating-star" | "read-email-at-alternate" | "remove-bold" | "remove-circle" | "remove-circle-bold-alternate" | "reports-2022" | "roi-2022" | "rotate-back" | "search-alternate" | "send-email-2-alternate" | "send-email-3" | "send-email-4" | "settings-slider-alternate-1" | "settings-vertical" | "share" | "shared-calendar" | "show-theater-mask-happy" | "single-man" | "single-neutral" | "single-neutral-actions-add" | "user-delete" | "smiley-happy-alternate" | "smiley-happy-alternate-custom" | "social-media-retweet" | "social-media-retweet-alternate" | "social-profile-smartphone-add" | "space-rocket-flying" | "sparkles" | "subtract" | "synchronize-arrow-clock" | "synchronize-arrows-1" | "tags-alternate-active" | "tags-add-alternate" | "tags-alternate" | "taking-pictures-circle-alternate" | "taking-pictures-circle-alternate-active" | "taking-videos-circle-alternate" | "taking-videos-circle-alternate-active" | "task-checklist-check" | "task-list-clock" | "task-list-multiple" | "time-clock-circle" | "time-clock-circle-alternate" | "time-clock-circle-1-alternate" | "toys-ball" | "trends-hot-flame" | "twitter" | "twitter-circle" | "twitter-link-placeholder" | "union" | "upload-bottom" | "upload-button" | "variable" | "vectors-anchor-square-alternate" | "video-file-avi" | "video-file-disable" | "video-file-flv" | "video-file-mov" | "video-file-mpg" | "video-file-mp-4" | "video-file-m-4-v" | "video-file-play-alternate" | "view-alternate" | "view-off" | "view-off-alternate" | "view-off-full" | "view-on" | "view-on-full" | "vintage-tv" | "volume-control-full" | "volume-control-off" | "wifi-signal-4" | "youtube" | "facebook-official" | "google-official" | "google-my-business-official" | "google-analytics-official" | "instagram-official" | "linkedin-official" | "pinterest-official" | "tiktok-official" | "twitter-official" | "youtube-official" | "instagram-story-custom" | "agorapulse-en-flag" | "agorapulse-fr-flag" | "agorapulse-pt-flag" | "agorapulse-es-flag" | "agorapulse-de-flag";
|
|
14
|
+
[k: number]: "attachment" | "add" | "view" | "close" | "small-caps" | "calendar" | "add-2022" | "add-circle" | "add-circle-bold-alternate" | "add-square-alternate" | "agorapulse-official" | "agorapulse-square-logo" | "ai-magic-wand" | "alarm-bell-1" | "alarm-clock-1-alternate" | "alert-circle" | "alert-triangle" | "analytics-bars" | "analytics-board-bars" | "analytics-board-graph-line" | "app-window-expand" | "app-window-search-text" | "app-window-link" | "app-window-next" | "arrow-button-down" | "arrow-button-down-2" | "arrow-button-left" | "arrow-button-right" | "arrow-button-up" | "arrow-button-up-2" | "arrow-circle-right" | "arrow-corner-right" | "arrow-down-1" | "arrow-left-1" | "arrow-right" | "arrow-right-1" | "arrow-right-long" | "arrow-thick-circle-bottom-right-corner-2" | "arrow-thick-circle-right-2" | "arrow-thick-circle-top-right-corner-2" | "arrow-thick-down-2" | "arrow-thick-left-2" | "arrow-thick-right-2" | "arrow-thick-up-2" | "arrow-up-1" | "artboard-image-1" | "bin" | "bin-1" | "bin-2" | "bitly" | "button-play" | "button-shuffle" | "button-refresh-arrow" | "bookmarks-1" | "bookmarks-1-alternate" | "bookmarks-document" | "calendar-2022" | "calendar-3" | "calendar-add-1" | "calendar-setting" | "canva" | "certified-certificate" | "chat-translate" | "check-1" | "check-2" | "check-circle" | "check-circle-alternate" | "cog" | "cog-1" | "common-file-double" | "common-file-text-alternate" | "common-file-stack-alternate" | "common-file-upload" | "competitors" | "content-pencil-write" | "controls-pause" | "controls-play" | "controls-play-3" | "conversation-chat-1" | "conversation-chat-1-alternate" | "copy-paste" | "country-targeting" | "country-targeting-active" | "credit-card-1-alternate" | "crown" | "cursor-double-click-3" | "custom-facebook-comment" | "custom-facebook-like" | "custom-facebook-share" | "custom-tiktok-like" | "custom-tiktok-comment" | "custom-tiktok-share" | "custom-tiktok-melody" | "custom-twitter-comment" | "custom-twitter-like" | "custom-twitter-retweet" | "custom-twitter-retweet-full" | "custom-twitter-share" | "custom-inbox-post" | "custom-instagram-bookmark" | "custom-instagram-carousel" | "custom-instagram-comment" | "custom-instagram-like" | "custom-instagram-play" | "custom-instagram-reels" | "custom-instagram-share" | "custom-instagram-tags" | "custom-linkedin-comment" | "custom-linkedin-like" | "custom-linkedin-share" | "data-file-bars-add" | "data-transfer-vertical" | "data-transfer-vertical-bi-color-down" | "data-transfer-vertical-bi-color-up" | "data-transfer-square-horizontal" | "design-file-text-alternate" | "delete" | "delete-2-alternate" | "desktop-computer-pc-1" | "dislike" | "dislike-alternate" | "dislike-1" | "download-bottom" | "drawer-download" | "drawer-open" | "earth-heart" | "earth-search" | "email-action-add" | "email-action-reply" | "email-action-reply-alternate" | "email-action-subtract" | "email-action-sync-1" | "envelope-letter" | "excel" | "expand" | "facebook" | "famous-people-man-steve-jobs" | "fans-2022" | "faq-2022" | "fast-food-burger-drink" | "feature-icon-market" | "flag-plain-2" | "file-csv-1" | "filter-1" | "filter-2" | "flag-plain" | "flip-right" | "folder-add-alternate" | "folder-empty" | "folder-media-alternate" | "folder-search-alternate" | "gauge-dashboard-alternate" | "gift-box" | "google-analytics" | "group-of-posts" | "hash" | "headphones-customer-support-human" | "headphones-customer-support-human-1" | "help-wheel" | "hourglass-alternate" | "house-chimney-1" | "hyperlink-3" | "ig-grid" | "ig-story" | "ig-reel" | "image-file-bmp" | "image-file-jpg" | "image-file-gif" | "image-file-landscape" | "image-file-landscape-2" | "image-file-png" | "inbox-2022" | "information" | "information-circle" | "instagram" | "instagram-outline" | "iris-scan-approved" | "keyboard-3" | "keyboard-arrow-bottom-right" | "keyboard-arrow-right" | "keyboard-arrow-top-right" | "language-targeting" | "language-targeting-active" | "layers-hide" | "layers-show" | "layout-3" | "layout-module" | "layout-module-1" | "layout-agenda" | "layout-bullets" | "layout-top-1" | "library-2022" | "light-bulb" | "like" | "like-alternate" | "like-1" | "linkedin" | "list-bullets" | "listening-2022" | "lock-password" | "logout-1-alternate" | "logout-2" | "love-it" | "love-it-alternate" | "love-it-alternate-bold" | "love-it-circle" | "meetings-camera" | "megaphone" | "messages-bubble" | "messages-bubble-alternate" | "messages-bubble-dot" | "messages-bubble-empty-alternate" | "messages-bubble-forward" | "messages-bubble-graph" | "messages-bubble-question-alternate" | "messages-bubble-square-menu-alternate" | "messages-bubble-square-text" | "mobile-phone" | "module-three-1" | "money-wallet-open" | "move-to-bottom" | "multiple-man-1" | "multiple-users-1" | "natural-disaster-hurricane-radar-1" | "navigation-menu-horizontal" | "navigation-menu-horizontal-1-alternate" | "navigation-menu-vertical" | "network-search" | "notes-add" | "notes-text-flip-3" | "notes-book-text" | "notes-paper" | "notes-paper-approve" | "notes-paper-text-2" | "notif-2022" | "office-outdoors" | "open-new-tab" | "open-quote" | "organization" | "paginate-filter-picture" | "paginate-filter-plus" | "payment-paypal" | "pencil-1" | "pencil-2" | "pencil-write-2-alternate" | "people-man-graduate" | "performance-increase" | "phone-ring-1" | "picture-landscape" | "picture-polaroid-landscape" | "picture-stack-landscape" | "pin" | "pin-active" | "pin-location" | "plant-2" | "publishing-2022" | "publishing-list-2022" | "powerpoint" | "premium-star" | "question-circle" | "rating-star" | "read-email-at-alternate" | "remove-bold" | "remove-circle" | "remove-circle-bold-alternate" | "reports-2022" | "repost" | "roi-2022" | "rotate-back" | "search-alternate" | "send-email-2-alternate" | "send-email-3" | "send-email-4" | "send-for-approval" | "settings-slider-alternate-1" | "settings-vertical" | "share" | "shared-calendar" | "shorten" | "show-theater-mask-happy" | "single-man" | "single-neutral" | "single-neutral-actions-add" | "single-post" | "user-delete" | "smiley-happy-alternate" | "smiley-happy-alternate-custom" | "social-media-retweet" | "social-media-retweet-alternate" | "social-profile-smartphone-add" | "space-rocket-flying" | "sparkles" | "subtract" | "synchronize-arrow-clock" | "synchronize-arrows-1" | "tags-alternate-active" | "tags-add-alternate" | "tags-alternate" | "taking-pictures-circle-alternate" | "taking-pictures-circle-alternate-active" | "taking-videos-circle-alternate" | "taking-videos-circle-alternate-active" | "task-checklist-check" | "task-list-clock" | "task-list-multiple" | "time-clock-circle" | "time-clock-circle-alternate" | "time-clock-circle-1-alternate" | "toys-ball" | "trends-hot-flame" | "twitter" | "twitter-circle" | "twitter-link-placeholder" | "union" | "upload-bottom" | "upload-button" | "variable" | "vectors-anchor-square-alternate" | "video-file-avi" | "video-file-disable" | "video-file-flv" | "video-file-mov" | "video-file-mpg" | "video-file-mp-4" | "video-file-m-4-v" | "video-file-play-alternate" | "view-alternate" | "view-off" | "view-off-alternate" | "view-off-full" | "view-on" | "view-on-full" | "vintage-tv" | "volume-control-full" | "volume-control-off" | "wifi-signal-4" | "youtube" | "facebook-official" | "google-official" | "google-my-business-official" | "google-analytics-official" | "instagram-official" | "linkedin-official" | "pinterest-official" | "tiktok-official" | "twitter-official" | "youtube-official" | "instagram-story-custom" | "agorapulse-en-flag" | "agorapulse-fr-flag" | "agorapulse-pt-flag" | "agorapulse-es-flag" | "agorapulse-de-flag";
|
|
15
15
|
};
|
|
16
16
|
constructor(snackbarsThreadService: SnackbarsThreadService, symbolRegistry: SymbolRegistry);
|
|
17
17
|
remove(id: string): void;
|
|
Binary file
|