@agorapulse/ui-components 18.0.25 → 18.0.26
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.
|
Binary file
|
|
@@ -289,4 +289,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
289
289
|
type: HostListener,
|
|
290
290
|
args: ['click']
|
|
291
291
|
}] } });
|
|
292
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wbWVudS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvcG9wbWVudS9zcmMvcG9wbWVudS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUlILFNBQVMsRUFHVCxZQUFZLEVBQ1osWUFBWSxFQUNaLE1BQU0sRUFFTixLQUFLLEVBR0wsUUFBUSxFQUNSLE1BQU0sR0FJVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRTNDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQStCdkQsTUFBTSxPQUFPLGdCQUFnQjtJQThFOEI7SUFDNUM7SUFDQztJQUNBO0lBQ0E7SUFDQTtJQWxGSCxlQUFlLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLGlCQUFpQixHQUFHLEtBQUssQ0FBQztJQUMxQixtQkFBbUIsR0FBRyxJQUFJLENBQUM7SUFDM0IsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNkLFdBQVcsQ0FBcUI7SUFDaEMsYUFBYSxDQUFtQztJQUNoRCxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ2QsV0FBVyxHQUFZLElBQUksQ0FBQztJQUM1QixhQUFhLEdBQUcsRUFBRSxDQUFDO0lBQ25CLFVBQVUsQ0FBcUI7SUFDL0IsTUFBTSxDQUFxQjtJQUMzQixPQUFPLENBQXVEO0lBQzlELFNBQVMsR0FBcUIsUUFBUSxDQUFDO0lBRXZDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDSixZQUFZLENBQW9CO0lBQzNDLFFBQVEsQ0FBNEM7SUFDcEQsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUNoQixNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ2QsVUFBVSxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO0lBQzFELFVB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K0VRLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMscUJBQXFCO3FMQTdFcEMsZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFFRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ2MsWUFBWTtzQkFBL0IsS0FBSzt1QkFBQyxXQUFXO2dCQUNULFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDSSxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBa0JNLE9BQU87c0JBQW5CLEtBQUs7Z0JBc0VOLGNBQWM7c0JBRGIsTUFBTTtnQkFLSCxRQUFRO3NCQURYLEtBQUs7Z0JBNEdOLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBcHBsaWNhdGlvblJlZixcbiAgICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgQ29tcG9uZW50UmVmLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEVtYmVkZGVkVmlld1JlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbiAgICBJbmplY3RvcixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25Jbml0LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBSZW5kZXJlcjIsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBUZW1wbGF0ZVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBkZWZhdWx0T3B0aW9ucyB9IGZyb20gJy4vb3B0aW9ucyc7XG5pbXBvcnQgeyBQb3BtZW51T3B0aW9ucyB9IGZyb20gJy4vcG9wbWVudS1vcHRpb25zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb3BtZW51T3B0aW9uc1NlcnZpY2UgfSBmcm9tICcuL3BvcG1lbnUtb3B0aW9ucy5zZXJ2aWNlJztcbmltcG9ydCB7IFBvcG1lbnVDb21wb25lbnQgfSBmcm9tICcuL3BvcG1lbnUuY29tcG9uZW50JztcblxuZXhwb3J0IGludGVyZmFjZSBBZENvbXBvbmVudCB7XG4gICAgZGF0YTogYW55O1xuICAgIHNob3c6IGJvb2xlYW47XG4gICAgY2xvc2U6IGJvb2xlYW47XG4gICAgbWVudUNsb3NlZDogYW55O1xuICAgIG1lbnVPcGVuZWQ6IGFueTtcbiAgICBtZW51T3BlbjogYm9vbGVhbjtcbn1cblxuZXhwb3J0IHR5cGUgUG9wbWVudVBsYWNlbWVudCA9XG4gICAgfCAnYm90dG9tJ1xuICAgIHwgJ3RvcCdcbiAgICB8ICdsZWZ0J1xuICAgIHwgJ3JpZ2h0J1xuICAgIHwgJ2JvdHRvbSByaWdodCdcbiAgICB8ICdib3R0b20gbGVmdCdcbiAgICB8ICdyaWdodCBib3R0b20nXG4gICAgfCAnbGVmdCBib3R0b20nXG4gICAgfCAndG9wIHJpZ2h0J1xuICAgIHwgJ3RvcCBsZWZ0J1xuICAgIHwgJ3JpZ2h0IHRvcCdcbiAgICB8ICdsZWZ0IHRvcCc7XG5cbmV4cG9ydCB0eXBlIFBvcG1lbnVBcnJvd1Bvc2l0aW9uID0gJ2xlZnQnIHwgJ3JpZ2h0JyB8ICd0b3AnIHwgJ2JvdHRvbSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2FwUG9wbWVudV0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFBvcG1lbnVEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCB7XG4gICAgQElucHV0KCkgYXBQb3BtZW51Qm9yZGVyID0gZmFsc2U7XG4gICAgQElucHV0KCkgYXBQb3BtZW51RGlzYWJsZWQgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBhcFBvcG1lbnVCYWNrZ3JvdW5kID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBhcnJvdyA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGFycm93T2Zmc2V0OiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgYXJyb3dQb3NpdGlvbjogUG9wbWVudUFycm93UG9zaXRpb24gfCB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgY2xvc2UgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBoYXNCYWNrZHJvcDogYm9vbGVhbiA9IHRydWU7XG4gICAgQElucHV0KCkgYmFja2Ryb3BDbGFzcyA9ICcnO1xuICAgIEBJbnB1dCgpIHBhbmVsQ2xhc3M6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBvZmZzZXQ6IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBvZmZzZXRzOiB7IGRpc3RhbmNlPzogbnVtYmVyOyBza2lkZGluZz86IG51bWJlciB9IHwgdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHBsYWNlbWVudDogUG9wbWVudVBsYWNlbWVudCA9ICdib3R0b20nO1xuXG4gICAgQElucHV0KCkgcG9pbnRlciA9IHRydWU7XG4gICAgQElucHV0KCdhcFBvcG1lbnUnKSBwb3BNZW51VmFsdWUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIEBJbnB1dCgpIHBvc2l0aW9uOiB7IHRvcDogbnVtYmVyOyBsZWZ0OiBudW1iZXIgfSB8IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSByb3VuZGVkID0gZmFsc2U7XG4gICAgQElucHV0KCkgc2hhZG93ID0gZmFsc2U7XG4gICAgQE91dHB1dCgpIG1lbnVDbG9zZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgICBAT3V0cHV0KCkgbWVudU9wZW5lZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgY29tcG9uZW50RWxlbWVudCE6IEhUTUxFbGVtZW50O1xuICAgIGhpZGVUaW1lb3V0SWQ6IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICBkZXN0cm95VGltZW91dElkOiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gICAgY3JlYXRlVGltZW91dElkOiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gICAgc2hvd1RpbWVvdXRJZDogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICAgIGNvbXBvbmVudFJlZiE6IENvbXBvbmVudFJlZjxhbnk+O1xuICAgIGVsZW1lbnRQb3NpdGlvbjogYW55O1xuICAgIGNvbXBvbmVudFN1YnNjcmliZTogYW55O1xuICAgIF9kZWZhdWx0T3B0aW9uczogYW55O1xuXG4gICAgX29wdGlvbnM6IFBvcG1lbnVPcHRpb25zID0ge307XG5cbiAgICBnZXQgb3B0aW9ucygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX29wdGlvbnM7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IG9wdGlvbnModmFsdWU6IFBvcG1lbnVPcHRpb25zKSB7XG4gICAgICAgIGlmICh2YWx1ZSAmJiBkZWZhdWx0T3B0aW9ucykge1xuICAgICAgICAgICAgdGhpcy5fb3B0aW9ucyA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0IGRlc3Ryb3lEZWxheSgpIHtcbiAgICAgICAgcmV0dXJuIE51bWJlcih0aGlzLmdldEhpZGVEZWxheSgpKSArIE51bWJlcih0aGlzLm9wdGlvbnNbJ2FuaW1hdGlvbkR1cmF0aW9uJ10pO1xuICAgIH1cblxuICAgIGdldCBpc0Rpc3BsYXlPbkhvdmVyKCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy5vcHRpb25zWydkaXNwbGF5J10gPT09IGZhbHNlKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5vcHRpb25zWydkaXNwbGF5VG91Y2hzY3JlZW4nXSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLm9wdGlvbnNbJ3RyaWdnZXInXSAhPT0gJ2hvdmVyJykge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgZ2V0IGlzVG9vbHRpcERlc3Ryb3llZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcG9uZW50UmVmICYmIHRoaXMuY29tcG9uZW50UmVmLmhvc3RWaWV3LmRlc3Ryb3llZDtcbiAgICB9XG5cbiAgICBnZXQgdG9vbHRpcFBvc2l0aW9uKCkge1xuICAgICAgICBpZiAodGhpcy5vcHRpb25zWydwb3NpdGlvbiddKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zWydwb3NpdGlvbiddO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFBvc2l0aW9uO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoUG9wbWVudU9wdGlvbnNTZXJ2aWNlKSBwcml2YXRlIGluaXRPcHRpb25zOiBQb3BtZW51T3B0aW9ucyxcbiAgICAgICAgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICAgICAgcHJpdmF0ZSBhcHBSZWY6IEFwcGxpY2F0aW9uUmVmLFxuICAgICAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvclxuICAgICkge31cblxuICAgIGFwcGVuZENvbXBvbmVudFRvQm9keShjb21wb25lbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbXBvbmVudFJlZiA9IHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KGNvbXBvbmVudCkuY3JlYXRlKHRoaXMuaW5qZWN0b3IpO1xuXG4gICAgICAgICg8QWRDb21wb25lbnQ+dGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UpLmRhdGEgPSB7XG4gICAgICAgICAgICB2YWx1ZTogdGhpcy5wb3BNZW51VmFsdWUsXG4gICAgICAgICAgICBlbGVtZW50OiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgIGVsZW1lbnRQb3NpdGlvbjogdGhpcy50b29sdGlwUG9zaXRpb24sXG4gICAgICAgICAgICBvcHRpb25zOiB0aGlzLm9wdGlvbnMsXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuYXBwUmVmLmF0dGFjaFZpZXcodGhpcy5jb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgICAgICB0aGlzLmNvbXBvbmVudEVsZW1lbnQgPSAodGhpcy5jb21wb25lbnRSZWYuaG9zdFZpZXcgYXMgRW1iZWRkZWRWaWV3UmVmPGFueT4pLnJvb3ROb2Rlc1swXSBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLmNvbXBvbmVudEVsZW1lbnQpO1xuICAgICAgICB0aGlzLmNvbXBvbmVudFN1YnNjcmliZSA9ICg8QWRDb21wb25lbnQ+dGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UpLm1lbnVDbG9zZWQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlQ2xvc2UoKTtcbiAgICAgICAgICAgIHRoaXMubWVudU9wZW4gPSAoPEFkQ29tcG9uZW50PnRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlKS5tZW51T3BlbjtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuY29tcG9uZW50U3Vic2NyaWJlID0gKDxBZENvbXBvbmVudD50aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZSkubWVudU9wZW5lZC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVPcGVuKCk7XG4gICAgICAgICAgICB0aGlzLm1lbnVPcGVuID0gKDxBZENvbXBvbmVudD50aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZSkubWVudU9wZW47XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIEBPdXRwdXQoKVxuICAgIG1lbnVPcGVuQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gICAgI21lbnVPcGVuID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIGdldCBtZW51T3BlbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuI21lbnVPcGVuO1xuICAgIH1cblxuICAgIHNldCBtZW51T3BlbihtZW51T3BlbjogYm9vbGVhbikge1xuICAgICAgICB0aGlzLm1lbnVPcGVuQ2hhbmdlLmVtaXQobWVudU9wZW4pO1xuICAgICAgICB0aGlzLiNtZW51T3BlbiA9IG1lbnVPcGVuO1xuICAgICAgICBpZiAodGhpcy4jbWVudU9wZW4pIHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3BvcG1lbnUtb3BlbicpO1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgncG9wbWVudS1jbG9zZScpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgncG9wbWVudS1vcGVuJyk7XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdwb3BtZW51LWNsb3NlJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoYW5kbGVDbG9zZSgpIHtcbiAgICAgICAgdGhpcy5tZW51Q2xvc2VkLmVtaXQoKTtcbiAgICB9XG5cbiAgICBoYW5kbGVPcGVuKCkge1xuICAgICAgICB0aGlzLm1lbnVPcGVuZWQuZW1pdCgpO1xuICAgIH1cblxuICAgIGFwcGx5T3B0aW9uc0RlZmF1bHQoZGVmYXVsdE9wdGlvbnM6IFBvcG1lbnVPcHRpb25zLCBvcHRpb25zOiBQb3BtZW51T3B0aW9ucyk6IHZvaWQge1xuICAgICAgICB0aGlzLm9wdGlvbnMgPSBPYmplY3QuYXNzaWduKHt9LCBkZWZhdWx0T3B0aW9ucywgdGhpcy5pbml0T3B0aW9ucyB8fCB7fSwgb3B0aW9ucyk7XG4gICAgfVxuXG4gICAgY2xlYXJUaW1lb3V0cygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuY3JlYXRlVGltZW91dElkKSB7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5jcmVhdGVUaW1lb3V0SWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuc2hvd1RpbWVvdXRJZCkge1xuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuc2hvd1RpbWVvdXRJZCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5oaWRlVGltZW91dElkKSB7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5oaWRlVGltZW91dElkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmRlc3Ryb3lUaW1lb3V0SWQpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLmRlc3Ryb3lUaW1lb3V0SWQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY3JlYXRlUG9wTWVudSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jbGVhclRpbWVvdXRzKCk7XG5cbiAgICAgICAgdGhpcy5jcmVhdGVUaW1lb3V0SWQgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmFwcGVuZENvbXBvbmVudFRvQm9keShQb3BtZW51Q29tcG9uZW50KTtcbiAgICAgICAgfSwgdGhpcy5nZXRTaG93RGVsYXkoKSk7XG5cbiAgICAgICAgdGhpcy5zaG93VGltZW91dElkID0gd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zaG93VG9vbHRpcEVsZW0oKTtcbiAgICAgICAgfSwgdGhpcy5nZXRTaG93RGVsYXkoKSk7XG4gICAgfVxuXG4gICAgZ2V0RWxlbWVudFBvc2l0aW9uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVsZW1lbnRQb3NpdGlvbiA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIH1cblxuICAgIGdldEhpZGVEZWxheSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9uc1snaGlkZURlbGF5J107XG4gICAgfVxuXG4gICAgZ2V0UHJvcGVydGllcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgICAgIGxldCBwcm9wZXJ0aWVzOiBhbnkgPSB7fTtcblxuICAgICAgICBmb3IgKGNvbnN0IHByb3AgaW4gY2hhbmdlcykge1xuICAgICAgICAgICAgaWYgKHByb3AgIT09ICdvcHRpb25zJyAmJiBwcm9wICE9PSAndG9vbHRpcFZhbHVlJykge1xuICAgICAgICAgICAgICAgIHByb3BlcnRpZXNbcHJvcF0gPSBjaGFuZ2VzW3Byb3BdLmN1cnJlbnRWYWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChwcm9wID09PSAnb3B0aW9ucycpIHtcbiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzID0gY2hhbmdlc1twcm9wXS5jdXJyZW50VmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHByb3BlcnRpZXM7XG4gICAgfVxuXG4gICAgZ2V0U2hvd0RlbGF5KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zWydzaG93RGVsYXknXTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgICAgIGlmIChjaGFuZ2VzLnBvaW50ZXIpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5wb2ludGVyKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2N1cnNvcicpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnY3Vyc29yJywgJ3BvaW50ZXInKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoY2hhbmdlcy5jbG9zZSAmJiBjaGFuZ2VzLmNsb3NlLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5oaWRlVG9vbHRpcEVsZW0oKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjaGFuZ2VkT3B0aW9ucyA9IHRoaXMuZ2V0UHJvcGVydGllcyhjaGFuZ2VzKTtcbiAgICAgICAgdGhpcy5hcHBseU9wdGlvbnNEZWZhdWx0KHRoaXMub3B0aW9ucyAmJiBPYmplY3Qua2V5cyh0aGlzLm9wdGlvbnMpLmxlbmd0aCA+IDAgPyB0aGlzLm9wdGlvbnMgOiBkZWZhdWx0T3B0aW9ucywgY2hhbmdlZE9wdGlvbnMpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5wb2ludGVyKSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnY3Vyc29yJywgJ3BvaW50ZXInKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm1lbnVPcGVuID0gZmFsc2U7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICAgIG9uQ2xpY2soKSB7XG4gICAgICAgIGlmICh0aGlzLmFwUG9wbWVudURpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zaG93KCk7XG4gICAgICAgIHRoaXMuY2xvc2UgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2hvdygpIHtcbiAgICAgICAgdGhpcy5nZXRFbGVtZW50UG9zaXRpb24oKTtcbiAgICAgICAgaWYgKCF0aGlzLmNvbXBvbmVudFJlZiB8fCB0aGlzLmlzVG9vbHRpcERlc3Ryb3llZCkge1xuICAgICAgICAgICAgdGhpcy5jcmVhdGVQb3BNZW51KCk7XG4gICAgICAgIH0gZWxzZSBpZiAoIXRoaXMuaXNUb29sdGlwRGVzdHJveWVkKSB7XG4gICAgICAgICAgICB0aGlzLnNob3dUb29sdGlwRWxlbSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2hvd1Rvb2x0aXBFbGVtKCk6IHZvaWQge1xuICAgICAgICAoPEFkQ29tcG9uZW50PnRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlKS5kYXRhID0ge1xuICAgICAgICAgICAgdmFsdWU6IHRoaXMucG9wTWVudVZhbHVlLFxuICAgICAgICAgICAgZWxlbWVudDogdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICBlbGVtZW50UG9zaXRpb246IHRoaXMudG9vbHRpcFBvc2l0aW9uLFxuICAgICAgICAgICAgb3B0aW9uczogdGhpcy5vcHRpb25zLFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLmNsZWFyVGltZW91dHMoKTtcbiAgICAgICAgKDxBZENvbXBvbmVudD50aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZSkuc2hvdyA9IHRydWU7XG4gICAgfVxuXG4gICAgaGlkZVRvb2x0aXBFbGVtKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jb21wb25lbnRSZWYpIHtcbiAgICAgICAgICAgICg8QWRDb21wb25lbnQ+dGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UpLmNsb3NlID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
292
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wbWVudS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvcG9wbWVudS9zcmMvcG9wbWVudS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUlILFNBQVMsRUFHVCxZQUFZLEVBQ1osWUFBWSxFQUNaLE1BQU0sRUFFTixLQUFLLEVBR0wsUUFBUSxFQUNSLE1BQU0sR0FJVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRTNDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQStCdkQsTUFBTSxPQUFPLGdCQUFnQjtJQThFOEI7SUFDNUM7SUFDQztJQUNBO0lBQ0E7SUFDQTtJQWxGSCxlQUFlLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLGlCQUFpQixHQUFHLEtBQUssQ0FBQztJQUMxQixtQkFBbUIsR0FBRyxJQUFJLENBQUM7SUFDM0IsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNkLFdBQVcsQ0FBcUI7SUFDaEMsYUFBYSxDQUE0QztJQUN6RCxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ2QsV0FBVyxHQUFZLElBQUksQ0FBQztJQUM1QixhQUFhLEdBQUcsRUFBRSxDQUFDO0lBQ25CLFVBQVUsQ0FBcUI7SUFDL0IsTUFBTSxDQUFxQjtJQUMzQixPQUFPLENBQXVEO0lBQzlELFNBQVMsR0FBOEIsUUFBUSxDQUFDO0lBRWhELE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDSixZQUFZLENBQW9CO0lBQzNDLFFBQVEsQ0FBNEM7SUFDcEQsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUNoQixNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ2QsVUFBVSxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO0lBQzFELFVB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K0VRLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMscUJBQXFCO3FMQTdFcEMsZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFFRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ2MsWUFBWTtzQkFBL0IsS0FBSzt1QkFBQyxXQUFXO2dCQUNULFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDSSxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBa0JNLE9BQU87c0JBQW5CLEtBQUs7Z0JBc0VOLGNBQWM7c0JBRGIsTUFBTTtnQkFLSCxRQUFRO3NCQURYLEtBQUs7Z0JBNEdOLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBcHBsaWNhdGlvblJlZixcbiAgICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgQ29tcG9uZW50UmVmLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEVtYmVkZGVkVmlld1JlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbiAgICBJbmplY3RvcixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25Jbml0LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBSZW5kZXJlcjIsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBUZW1wbGF0ZVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBkZWZhdWx0T3B0aW9ucyB9IGZyb20gJy4vb3B0aW9ucyc7XG5pbXBvcnQgeyBQb3BtZW51T3B0aW9ucyB9IGZyb20gJy4vcG9wbWVudS1vcHRpb25zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb3BtZW51T3B0aW9uc1NlcnZpY2UgfSBmcm9tICcuL3BvcG1lbnUtb3B0aW9ucy5zZXJ2aWNlJztcbmltcG9ydCB7IFBvcG1lbnVDb21wb25lbnQgfSBmcm9tICcuL3BvcG1lbnUuY29tcG9uZW50JztcblxuZXhwb3J0IGludGVyZmFjZSBBZENvbXBvbmVudCB7XG4gICAgZGF0YTogYW55O1xuICAgIHNob3c6IGJvb2xlYW47XG4gICAgY2xvc2U6IGJvb2xlYW47XG4gICAgbWVudUNsb3NlZDogYW55O1xuICAgIG1lbnVPcGVuZWQ6IGFueTtcbiAgICBtZW51T3BlbjogYm9vbGVhbjtcbn1cblxuZXhwb3J0IHR5cGUgUG9wbWVudVBsYWNlbWVudCA9XG4gICAgfCAnYm90dG9tJ1xuICAgIHwgJ3RvcCdcbiAgICB8ICdsZWZ0J1xuICAgIHwgJ3JpZ2h0J1xuICAgIHwgJ2JvdHRvbSByaWdodCdcbiAgICB8ICdib3R0b20gbGVmdCdcbiAgICB8ICdyaWdodCBib3R0b20nXG4gICAgfCAnbGVmdCBib3R0b20nXG4gICAgfCAndG9wIHJpZ2h0J1xuICAgIHwgJ3RvcCBsZWZ0J1xuICAgIHwgJ3JpZ2h0IHRvcCdcbiAgICB8ICdsZWZ0IHRvcCc7XG5cbmV4cG9ydCB0eXBlIFBvcG1lbnVBcnJvd1Bvc2l0aW9uID0gJ2xlZnQnIHwgJ3JpZ2h0JyB8ICd0b3AnIHwgJ2JvdHRvbSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2FwUG9wbWVudV0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFBvcG1lbnVEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCB7XG4gICAgQElucHV0KCkgYXBQb3BtZW51Qm9yZGVyID0gZmFsc2U7XG4gICAgQElucHV0KCkgYXBQb3BtZW51RGlzYWJsZWQgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBhcFBvcG1lbnVCYWNrZ3JvdW5kID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBhcnJvdyA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGFycm93T2Zmc2V0OiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgYXJyb3dQb3NpdGlvbjogUG9wbWVudUFycm93UG9zaXRpb24gfCBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgY2xvc2UgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBoYXNCYWNrZHJvcDogYm9vbGVhbiA9IHRydWU7XG4gICAgQElucHV0KCkgYmFja2Ryb3BDbGFzcyA9ICcnO1xuICAgIEBJbnB1dCgpIHBhbmVsQ2xhc3M6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBvZmZzZXQ6IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBvZmZzZXRzOiB7IGRpc3RhbmNlPzogbnVtYmVyOyBza2lkZGluZz86IG51bWJlciB9IHwgdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHBsYWNlbWVudDogUG9wbWVudVBsYWNlbWVudCB8IHN0cmluZyA9ICdib3R0b20nO1xuXG4gICAgQElucHV0KCkgcG9pbnRlciA9IHRydWU7XG4gICAgQElucHV0KCdhcFBvcG1lbnUnKSBwb3BNZW51VmFsdWUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIEBJbnB1dCgpIHBvc2l0aW9uOiB7IHRvcDogbnVtYmVyOyBsZWZ0OiBudW1iZXIgfSB8IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSByb3VuZGVkID0gZmFsc2U7XG4gICAgQElucHV0KCkgc2hhZG93ID0gZmFsc2U7XG4gICAgQE91dHB1dCgpIG1lbnVDbG9zZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgICBAT3V0cHV0KCkgbWVudU9wZW5lZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgY29tcG9uZW50RWxlbWVudCE6IEhUTUxFbGVtZW50O1xuICAgIGhpZGVUaW1lb3V0SWQ6IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICBkZXN0cm95VGltZW91dElkOiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gICAgY3JlYXRlVGltZW91dElkOiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gICAgc2hvd1RpbWVvdXRJZDogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICAgIGNvbXBvbmVudFJlZiE6IENvbXBvbmVudFJlZjxhbnk+O1xuICAgIGVsZW1lbnRQb3NpdGlvbjogYW55O1xuICAgIGNvbXBvbmVudFN1YnNjcmliZTogYW55O1xuICAgIF9kZWZhdWx0T3B0aW9uczogYW55O1xuXG4gICAgX29wdGlvbnM6IFBvcG1lbnVPcHRpb25zID0ge307XG5cbiAgICBnZXQgb3B0aW9ucygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX29wdGlvbnM7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IG9wdGlvbnModmFsdWU6IFBvcG1lbnVPcHRpb25zKSB7XG4gICAgICAgIGlmICh2YWx1ZSAmJiBkZWZhdWx0T3B0aW9ucykge1xuICAgICAgICAgICAgdGhpcy5fb3B0aW9ucyA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0IGRlc3Ryb3lEZWxheSgpIHtcbiAgICAgICAgcmV0dXJuIE51bWJlcih0aGlzLmdldEhpZGVEZWxheSgpKSArIE51bWJlcih0aGlzLm9wdGlvbnNbJ2FuaW1hdGlvbkR1cmF0aW9uJ10pO1xuICAgIH1cblxuICAgIGdldCBpc0Rpc3BsYXlPbkhvdmVyKCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy5vcHRpb25zWydkaXNwbGF5J10gPT09IGZhbHNlKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5vcHRpb25zWydkaXNwbGF5VG91Y2hzY3JlZW4nXSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLm9wdGlvbnNbJ3RyaWdnZXInXSAhPT0gJ2hvdmVyJykge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgZ2V0IGlzVG9vbHRpcERlc3Ryb3llZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcG9uZW50UmVmICYmIHRoaXMuY29tcG9uZW50UmVmLmhvc3RWaWV3LmRlc3Ryb3llZDtcbiAgICB9XG5cbiAgICBnZXQgdG9vbHRpcFBvc2l0aW9uKCkge1xuICAgICAgICBpZiAodGhpcy5vcHRpb25zWydwb3NpdGlvbiddKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zWydwb3NpdGlvbiddO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFBvc2l0aW9uO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoUG9wbWVudU9wdGlvbnNTZXJ2aWNlKSBwcml2YXRlIGluaXRPcHRpb25zOiBQb3BtZW51T3B0aW9ucyxcbiAgICAgICAgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICAgICAgcHJpdmF0ZSBhcHBSZWY6IEFwcGxpY2F0aW9uUmVmLFxuICAgICAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvclxuICAgICkge31cblxuICAgIGFwcGVuZENvbXBvbmVudFRvQm9keShjb21wb25lbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbXBvbmVudFJlZiA9IHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KGNvbXBvbmVudCkuY3JlYXRlKHRoaXMuaW5qZWN0b3IpO1xuXG4gICAgICAgICg8QWRDb21wb25lbnQ+dGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UpLmRhdGEgPSB7XG4gICAgICAgICAgICB2YWx1ZTogdGhpcy5wb3BNZW51VmFsdWUsXG4gICAgICAgICAgICBlbGVtZW50OiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgIGVsZW1lbnRQb3NpdGlvbjogdGhpcy50b29sdGlwUG9zaXRpb24sXG4gICAgICAgICAgICBvcHRpb25zOiB0aGlzLm9wdGlvbnMsXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuYXBwUmVmLmF0dGFjaFZpZXcodGhpcy5jb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgICAgICB0aGlzLmNvbXBvbmVudEVsZW1lbnQgPSAodGhpcy5jb21wb25lbnRSZWYuaG9zdFZpZXcgYXMgRW1iZWRkZWRWaWV3UmVmPGFueT4pLnJvb3ROb2Rlc1swXSBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLmNvbXBvbmVudEVsZW1lbnQpO1xuICAgICAgICB0aGlzLmNvbXBvbmVudFN1YnNjcmliZSA9ICg8QWRDb21wb25lbnQ+dGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UpLm1lbnVDbG9zZWQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlQ2xvc2UoKTtcbiAgICAgICAgICAgIHRoaXMubWVudU9wZW4gPSAoPEFkQ29tcG9uZW50PnRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlKS5tZW51T3BlbjtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuY29tcG9uZW50U3Vic2NyaWJlID0gKDxBZENvbXBvbmVudD50aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZSkubWVudU9wZW5lZC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVPcGVuKCk7XG4gICAgICAgICAgICB0aGlzLm1lbnVPcGVuID0gKDxBZENvbXBvbmVudD50aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZSkubWVudU9wZW47XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIEBPdXRwdXQoKVxuICAgIG1lbnVPcGVuQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gICAgI21lbnVPcGVuID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIGdldCBtZW51T3BlbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuI21lbnVPcGVuO1xuICAgIH1cblxuICAgIHNldCBtZW51T3BlbihtZW51T3BlbjogYm9vbGVhbikge1xuICAgICAgICB0aGlzLm1lbnVPcGVuQ2hhbmdlLmVtaXQobWVudU9wZW4pO1xuICAgICAgICB0aGlzLiNtZW51T3BlbiA9IG1lbnVPcGVuO1xuICAgICAgICBpZiAodGhpcy4jbWVudU9wZW4pIHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3BvcG1lbnUtb3BlbicpO1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgncG9wbWVudS1jbG9zZScpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgncG9wbWVudS1vcGVuJyk7XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdwb3BtZW51LWNsb3NlJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoYW5kbGVDbG9zZSgpIHtcbiAgICAgICAgdGhpcy5tZW51Q2xvc2VkLmVtaXQoKTtcbiAgICB9XG5cbiAgICBoYW5kbGVPcGVuKCkge1xuICAgICAgICB0aGlzLm1lbnVPcGVuZWQuZW1pdCgpO1xuICAgIH1cblxuICAgIGFwcGx5T3B0aW9uc0RlZmF1bHQoZGVmYXVsdE9wdGlvbnM6IFBvcG1lbnVPcHRpb25zLCBvcHRpb25zOiBQb3BtZW51T3B0aW9ucyk6IHZvaWQge1xuICAgICAgICB0aGlzLm9wdGlvbnMgPSBPYmplY3QuYXNzaWduKHt9LCBkZWZhdWx0T3B0aW9ucywgdGhpcy5pbml0T3B0aW9ucyB8fCB7fSwgb3B0aW9ucyk7XG4gICAgfVxuXG4gICAgY2xlYXJUaW1lb3V0cygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuY3JlYXRlVGltZW91dElkKSB7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5jcmVhdGVUaW1lb3V0SWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuc2hvd1RpbWVvdXRJZCkge1xuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuc2hvd1RpbWVvdXRJZCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5oaWRlVGltZW91dElkKSB7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5oaWRlVGltZW91dElkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmRlc3Ryb3lUaW1lb3V0SWQpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLmRlc3Ryb3lUaW1lb3V0SWQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY3JlYXRlUG9wTWVudSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jbGVhclRpbWVvdXRzKCk7XG5cbiAgICAgICAgdGhpcy5jcmVhdGVUaW1lb3V0SWQgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmFwcGVuZENvbXBvbmVudFRvQm9keShQb3BtZW51Q29tcG9uZW50KTtcbiAgICAgICAgfSwgdGhpcy5nZXRTaG93RGVsYXkoKSk7XG5cbiAgICAgICAgdGhpcy5zaG93VGltZW91dElkID0gd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zaG93VG9vbHRpcEVsZW0oKTtcbiAgICAgICAgfSwgdGhpcy5nZXRTaG93RGVsYXkoKSk7XG4gICAgfVxuXG4gICAgZ2V0RWxlbWVudFBvc2l0aW9uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVsZW1lbnRQb3NpdGlvbiA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIH1cblxuICAgIGdldEhpZGVEZWxheSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9uc1snaGlkZURlbGF5J107XG4gICAgfVxuXG4gICAgZ2V0UHJvcGVydGllcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgICAgIGxldCBwcm9wZXJ0aWVzOiBhbnkgPSB7fTtcblxuICAgICAgICBmb3IgKGNvbnN0IHByb3AgaW4gY2hhbmdlcykge1xuICAgICAgICAgICAgaWYgKHByb3AgIT09ICdvcHRpb25zJyAmJiBwcm9wICE9PSAndG9vbHRpcFZhbHVlJykge1xuICAgICAgICAgICAgICAgIHByb3BlcnRpZXNbcHJvcF0gPSBjaGFuZ2VzW3Byb3BdLmN1cnJlbnRWYWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChwcm9wID09PSAnb3B0aW9ucycpIHtcbiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzID0gY2hhbmdlc1twcm9wXS5jdXJyZW50VmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHByb3BlcnRpZXM7XG4gICAgfVxuXG4gICAgZ2V0U2hvd0RlbGF5KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zWydzaG93RGVsYXknXTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgICAgIGlmIChjaGFuZ2VzLnBvaW50ZXIpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5wb2ludGVyKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2N1cnNvcicpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnY3Vyc29yJywgJ3BvaW50ZXInKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoY2hhbmdlcy5jbG9zZSAmJiBjaGFuZ2VzLmNsb3NlLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5oaWRlVG9vbHRpcEVsZW0oKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjaGFuZ2VkT3B0aW9ucyA9IHRoaXMuZ2V0UHJvcGVydGllcyhjaGFuZ2VzKTtcbiAgICAgICAgdGhpcy5hcHBseU9wdGlvbnNEZWZhdWx0KHRoaXMub3B0aW9ucyAmJiBPYmplY3Qua2V5cyh0aGlzLm9wdGlvbnMpLmxlbmd0aCA+IDAgPyB0aGlzLm9wdGlvbnMgOiBkZWZhdWx0T3B0aW9ucywgY2hhbmdlZE9wdGlvbnMpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5wb2ludGVyKSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnY3Vyc29yJywgJ3BvaW50ZXInKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm1lbnVPcGVuID0gZmFsc2U7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICAgIG9uQ2xpY2soKSB7XG4gICAgICAgIGlmICh0aGlzLmFwUG9wbWVudURpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zaG93KCk7XG4gICAgICAgIHRoaXMuY2xvc2UgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2hvdygpIHtcbiAgICAgICAgdGhpcy5nZXRFbGVtZW50UG9zaXRpb24oKTtcbiAgICAgICAgaWYgKCF0aGlzLmNvbXBvbmVudFJlZiB8fCB0aGlzLmlzVG9vbHRpcERlc3Ryb3llZCkge1xuICAgICAgICAgICAgdGhpcy5jcmVhdGVQb3BNZW51KCk7XG4gICAgICAgIH0gZWxzZSBpZiAoIXRoaXMuaXNUb29sdGlwRGVzdHJveWVkKSB7XG4gICAgICAgICAgICB0aGlzLnNob3dUb29sdGlwRWxlbSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2hvd1Rvb2x0aXBFbGVtKCk6IHZvaWQge1xuICAgICAgICAoPEFkQ29tcG9uZW50PnRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlKS5kYXRhID0ge1xuICAgICAgICAgICAgdmFsdWU6IHRoaXMucG9wTWVudVZhbHVlLFxuICAgICAgICAgICAgZWxlbWVudDogdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICBlbGVtZW50UG9zaXRpb246IHRoaXMudG9vbHRpcFBvc2l0aW9uLFxuICAgICAgICAgICAgb3B0aW9uczogdGhpcy5vcHRpb25zLFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLmNsZWFyVGltZW91dHMoKTtcbiAgICAgICAgKDxBZENvbXBvbmVudD50aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZSkuc2hvdyA9IHRydWU7XG4gICAgfVxuXG4gICAgaGlkZVRvb2x0aXBFbGVtKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jb21wb25lbnRSZWYpIHtcbiAgICAgICAgICAgICg8QWRDb21wb25lbnQ+dGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UpLmNsb3NlID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -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 { ButtonComponent } from '@agorapulse/ui-components/button';\nimport { 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 { MatMenuModule, MatMenuTrigger } from '@angular/material/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: [ButtonComponent, MatMenuModule, NgStyle, NgTemplateOutlet],\n})\nexport class PopmenuComponent implements AfterViewInit {\n @Input() data: any;\n events = new EventEmitter();\n arrowTopPosition: string | undefined = '50%';\n arrowBottomPosition: string | undefined = '50%';\n arrowLeftPosition: string | undefined = undefined;\n arrowRightPosition: string | undefined = undefined;\n arrowClass: string | undefined = undefined;\n below = false;\n before = false;\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 = '';\n @HostBinding('style.border-radius') hostStyleBorderRadius = '';\n @HostBinding('style.left') hostStyleLeft = '';\n @HostBinding('style.z-index') hostStyleZIndex = 0;\n @HostBinding('style.transition') hostStyleTransition = '';\n @HostBinding('style.width') hostStyleWidth = '';\n @HostBinding('style.max-width') hostStyleMaxWidth = '';\n @HostBinding('style.pointer-events') hostStylePointerEvents = '';\n @HostBinding('class.tooltip-show') hostClassShow = false;\n @HostBinding('class.tooltip-shadow') hostClassShadow = false;\n @HostBinding('class.tooltip-light') hostClassLight = false;\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 = false;\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<HTMLElement>,\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 tooltip = this.elementRef.nativeElement;\n const isCustomPosition = !this.elementPosition.x;\n\n let elementHeight = !this.element.offsetHeight ? this.element.getBoundingClientRect().height : this.element.offsetHeight;\n let elementWidth = !this.element.offsetWidth ? this.element.getBoundingClientRect().width : 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 ? this.arrowOffset + '%' : -(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 ? this.arrowOffset + '%' : -(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 || bottomEdge > document.body.clientHeight || leftEdge < 0 || 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(this.elementRef.nativeElement, 'tooltip-' + (placement ? placement.split(' ')[0] : placement));\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: Element) => 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\n id=\"menuTrigger\"\n class=\"button-trigger\"\n mat-button\n [matMenuTriggerFor]=\"menu\"\n (menuClosed)=\"onMenuClosed()\"\n (menuOpened)=\"onMenuOpened()\"></button>\n<mat-menu\n #menu=\"matMenu\"\n [yPosition]=\"!below ? 'above' : 'below'\"\n [xPosition]=\"!before ? 'after' : 'before'\"\n [overlapTrigger]=\"false\"\n [hasBackdrop]=\"hasBackdrop\"\n [backdropClass]=\"backdropClass\"\n class=\"pop-menu {{ arrow ? 'arrow-before ' + arrowClass : '' }} {{ shadow ? 'shadow' : '' }} {{\n border ? '' : shadow ? 'shadow-no-border' : ''\n }} {{ rounded ? 'rounded-component' : '' }} {{ background ? '' : 'no-background' }} {{ panelClass }}\">\n @if (arrow) {\n <div\n class=\"{{ arrow ? 'arrow-before ' + arrowClass : '' }}\"\n [ngStyle]=\"{ left: arrowLeftPosition, right: arrowRightPosition, top: arrowTopPosition, bottom: arrowBottomPosition }\"></div>\n }\n <div\n class=\"{{ rounded ? 'rounded-component' : '' }} outline-none\"\n (click)=\"$event.stopPropagation()\">\n <div class=\"{{ border ? 'popover-content ' : '' }} {{ rounded ? 'rounded-component' : '' }}\">\n <ng-container *ngTemplateOutlet=\"value; context: { menu: this }\" />\n </div>\n </div>\n</mat-menu>\n","export const defaultOptions = {\n apPopmenuBorder: true,\n apPopmenuDisabled: false,\n apPopmenuBackground: true,\n hasBackdrop: true,\n placement: 'top',\n rounded: true,\n showDelay: 0,\n hideDelay: 10,\n hideDelayMobile: 0,\n shadow: true,\n theme: 'dark',\n offset: 8,\n offsets: {},\n 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,\n 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,\n SimpleChanges,\n TemplateRef,\n} from '@angular/core';\nimport { defaultOptions } from './options';\nimport { PopmenuOptions } from './popmenu-options.interface';\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\nexport type PopmenuPlacement =\n | 'bottom'\n | 'top'\n | 'left'\n | 'right'\n | 'bottom right'\n | 'bottom left'\n | 'right bottom'\n | 'left bottom'\n | 'top right'\n | 'top left'\n | 'right top'\n | 'left top';\n\nexport type PopmenuArrowPosition = 'left' | 'right' | 'top' | 'bottom';\n\n@Directive({\n selector: '[apPopmenu]',\n standalone: true,\n})\nexport class PopmenuDirective implements OnChanges, OnInit {\n @Input() apPopmenuBorder = false;\n @Input() apPopmenuDisabled = false;\n @Input() apPopmenuBackground = true;\n @Input() arrow = false;\n @Input() arrowOffset: number | undefined;\n @Input() arrowPosition: PopmenuArrowPosition | undefined;\n @Input() close = false;\n @Input() hasBackdrop: boolean = true;\n @Input() backdropClass = '';\n @Input() panelClass: string | undefined;\n @Input() offset: number | undefined;\n @Input() offsets: { distance?: number; skidding?: number } | undefined;\n @Input() placement: PopmenuPlacement = 'bottom';\n\n @Input() pointer = true;\n @Input('apPopmenu') popMenuValue!: TemplateRef<any>;\n @Input() position: { top: number; left: number } | undefined;\n @Input() rounded = false;\n @Input() shadow = false;\n @Output() menuClosed: EventEmitter<void> = new EventEmitter<void>();\n @Output() menuOpened: EventEmitter<void> = new EventEmitter<void>();\n\n componentElement!: HTMLElement;\n hideTimeoutId: number | undefined;\n destroyTimeoutId: number | undefined;\n createTimeoutId: number | undefined;\n showTimeoutId: number | undefined;\n componentRef!: ComponentRef<any>;\n elementPosition: any;\n componentSubscribe: any;\n _defaultOptions: any;\n\n _options: PopmenuOptions = {};\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: PopmenuOptions,\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): void {\n this.componentRef = this.componentFactoryResolver.resolveComponentFactory(component).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(() => {\n this.handleClose();\n this.menuOpen = (<AdComponent>this.componentRef.instance).menuOpen;\n });\n this.componentSubscribe = (<AdComponent>this.componentRef.instance).menuOpened.subscribe(() => {\n this.handleOpen();\n this.menuOpen = (<AdComponent>this.componentRef.instance).menuOpen;\n });\n }\n\n @Output()\n menuOpenChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n #menuOpen = false;\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() {\n this.menuClosed.emit();\n }\n\n handleOpen() {\n this.menuOpened.emit();\n }\n\n applyOptionsDefault(defaultOptions: PopmenuOptions, options: PopmenuOptions): 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: SimpleChanges) {\n let properties: any = {};\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: SimpleChanges) {\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","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { PopmenuOptions } from './popmenu-options.interface';\nimport { PopmenuOptionsService } from './popmenu-options.service';\nimport { PopmenuComponent } from './popmenu.component';\nimport { PopmenuDirective } from './popmenu.directive';\n\n@NgModule({\n imports: [PopmenuDirective, PopmenuComponent],\n exports: [PopmenuDirective],\n})\nexport class PopmenuModule {\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":[],"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 { ButtonComponent } from '@agorapulse/ui-components/button';\nimport { 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 { MatMenuModule, MatMenuTrigger } from '@angular/material/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: [ButtonComponent, MatMenuModule, NgStyle, NgTemplateOutlet],\n})\nexport class PopmenuComponent implements AfterViewInit {\n @Input() data: any;\n events = new EventEmitter();\n arrowTopPosition: string | undefined = '50%';\n arrowBottomPosition: string | undefined = '50%';\n arrowLeftPosition: string | undefined = undefined;\n arrowRightPosition: string | undefined = undefined;\n arrowClass: string | undefined = undefined;\n below = false;\n before = false;\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 = '';\n @HostBinding('style.border-radius') hostStyleBorderRadius = '';\n @HostBinding('style.left') hostStyleLeft = '';\n @HostBinding('style.z-index') hostStyleZIndex = 0;\n @HostBinding('style.transition') hostStyleTransition = '';\n @HostBinding('style.width') hostStyleWidth = '';\n @HostBinding('style.max-width') hostStyleMaxWidth = '';\n @HostBinding('style.pointer-events') hostStylePointerEvents = '';\n @HostBinding('class.tooltip-show') hostClassShow = false;\n @HostBinding('class.tooltip-shadow') hostClassShadow = false;\n @HostBinding('class.tooltip-light') hostClassLight = false;\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 = false;\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<HTMLElement>,\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 tooltip = this.elementRef.nativeElement;\n const isCustomPosition = !this.elementPosition.x;\n\n let elementHeight = !this.element.offsetHeight ? this.element.getBoundingClientRect().height : this.element.offsetHeight;\n let elementWidth = !this.element.offsetWidth ? this.element.getBoundingClientRect().width : 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 ? this.arrowOffset + '%' : -(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 ? this.arrowOffset + '%' : -(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 || bottomEdge > document.body.clientHeight || leftEdge < 0 || 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(this.elementRef.nativeElement, 'tooltip-' + (placement ? placement.split(' ')[0] : placement));\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: Element) => 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\n id=\"menuTrigger\"\n class=\"button-trigger\"\n mat-button\n [matMenuTriggerFor]=\"menu\"\n (menuClosed)=\"onMenuClosed()\"\n (menuOpened)=\"onMenuOpened()\"></button>\n<mat-menu\n #menu=\"matMenu\"\n [yPosition]=\"!below ? 'above' : 'below'\"\n [xPosition]=\"!before ? 'after' : 'before'\"\n [overlapTrigger]=\"false\"\n [hasBackdrop]=\"hasBackdrop\"\n [backdropClass]=\"backdropClass\"\n class=\"pop-menu {{ arrow ? 'arrow-before ' + arrowClass : '' }} {{ shadow ? 'shadow' : '' }} {{\n border ? '' : shadow ? 'shadow-no-border' : ''\n }} {{ rounded ? 'rounded-component' : '' }} {{ background ? '' : 'no-background' }} {{ panelClass }}\">\n @if (arrow) {\n <div\n class=\"{{ arrow ? 'arrow-before ' + arrowClass : '' }}\"\n [ngStyle]=\"{ left: arrowLeftPosition, right: arrowRightPosition, top: arrowTopPosition, bottom: arrowBottomPosition }\"></div>\n }\n <div\n class=\"{{ rounded ? 'rounded-component' : '' }} outline-none\"\n (click)=\"$event.stopPropagation()\">\n <div class=\"{{ border ? 'popover-content ' : '' }} {{ rounded ? 'rounded-component' : '' }}\">\n <ng-container *ngTemplateOutlet=\"value; context: { menu: this }\" />\n </div>\n </div>\n</mat-menu>\n","export const defaultOptions = {\n apPopmenuBorder: true,\n apPopmenuDisabled: false,\n apPopmenuBackground: true,\n hasBackdrop: true,\n placement: 'top',\n rounded: true,\n showDelay: 0,\n hideDelay: 10,\n hideDelayMobile: 0,\n shadow: true,\n theme: 'dark',\n offset: 8,\n offsets: {},\n 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,\n 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,\n SimpleChanges,\n TemplateRef,\n} from '@angular/core';\nimport { defaultOptions } from './options';\nimport { PopmenuOptions } from './popmenu-options.interface';\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\nexport type PopmenuPlacement =\n | 'bottom'\n | 'top'\n | 'left'\n | 'right'\n | 'bottom right'\n | 'bottom left'\n | 'right bottom'\n | 'left bottom'\n | 'top right'\n | 'top left'\n | 'right top'\n | 'left top';\n\nexport type PopmenuArrowPosition = 'left' | 'right' | 'top' | 'bottom';\n\n@Directive({\n selector: '[apPopmenu]',\n standalone: true,\n})\nexport class PopmenuDirective implements OnChanges, OnInit {\n @Input() apPopmenuBorder = false;\n @Input() apPopmenuDisabled = false;\n @Input() apPopmenuBackground = true;\n @Input() arrow = false;\n @Input() arrowOffset: number | undefined;\n @Input() arrowPosition: PopmenuArrowPosition | string | undefined;\n @Input() close = false;\n @Input() hasBackdrop: boolean = true;\n @Input() backdropClass = '';\n @Input() panelClass: string | undefined;\n @Input() offset: number | undefined;\n @Input() offsets: { distance?: number; skidding?: number } | undefined;\n @Input() placement: PopmenuPlacement | string = 'bottom';\n\n @Input() pointer = true;\n @Input('apPopmenu') popMenuValue!: TemplateRef<any>;\n @Input() position: { top: number; left: number } | undefined;\n @Input() rounded = false;\n @Input() shadow = false;\n @Output() menuClosed: EventEmitter<void> = new EventEmitter<void>();\n @Output() menuOpened: EventEmitter<void> = new EventEmitter<void>();\n\n componentElement!: HTMLElement;\n hideTimeoutId: number | undefined;\n destroyTimeoutId: number | undefined;\n createTimeoutId: number | undefined;\n showTimeoutId: number | undefined;\n componentRef!: ComponentRef<any>;\n elementPosition: any;\n componentSubscribe: any;\n _defaultOptions: any;\n\n _options: PopmenuOptions = {};\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: PopmenuOptions,\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): void {\n this.componentRef = this.componentFactoryResolver.resolveComponentFactory(component).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(() => {\n this.handleClose();\n this.menuOpen = (<AdComponent>this.componentRef.instance).menuOpen;\n });\n this.componentSubscribe = (<AdComponent>this.componentRef.instance).menuOpened.subscribe(() => {\n this.handleOpen();\n this.menuOpen = (<AdComponent>this.componentRef.instance).menuOpen;\n });\n }\n\n @Output()\n menuOpenChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n #menuOpen = false;\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() {\n this.menuClosed.emit();\n }\n\n handleOpen() {\n this.menuOpened.emit();\n }\n\n applyOptionsDefault(defaultOptions: PopmenuOptions, options: PopmenuOptions): 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: SimpleChanges) {\n let properties: any = {};\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: SimpleChanges) {\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","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { PopmenuOptions } from './popmenu-options.interface';\nimport { PopmenuOptionsService } from './popmenu-options.service';\nimport { PopmenuComponent } from './popmenu.component';\nimport { PopmenuDirective } from './popmenu.directive';\n\n@NgModule({\n imports: [PopmenuDirective, PopmenuComponent],\n exports: [PopmenuDirective],\n})\nexport class PopmenuModule {\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":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -24,7 +24,7 @@ export declare class PopmenuDirective implements OnChanges, OnInit {
|
|
|
24
24
|
apPopmenuBackground: boolean;
|
|
25
25
|
arrow: boolean;
|
|
26
26
|
arrowOffset: number | undefined;
|
|
27
|
-
arrowPosition: PopmenuArrowPosition | undefined;
|
|
27
|
+
arrowPosition: PopmenuArrowPosition | string | undefined;
|
|
28
28
|
close: boolean;
|
|
29
29
|
hasBackdrop: boolean;
|
|
30
30
|
backdropClass: string;
|
|
@@ -34,7 +34,7 @@ export declare class PopmenuDirective implements OnChanges, OnInit {
|
|
|
34
34
|
distance?: number;
|
|
35
35
|
skidding?: number;
|
|
36
36
|
} | undefined;
|
|
37
|
-
placement: PopmenuPlacement;
|
|
37
|
+
placement: PopmenuPlacement | string;
|
|
38
38
|
pointer: boolean;
|
|
39
39
|
popMenuValue: TemplateRef<any>;
|
|
40
40
|
position: {
|
|
Binary file
|