@covalent/core 4.17.1 → 4.17.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/dialogs/resizable-draggable-dialog/resizable-draggable-dialog.mjs +2 -2
- package/fesm2015/covalent-core-dialogs.mjs +1 -1
- package/fesm2015/covalent-core-dialogs.mjs.map +1 -1
- package/fesm2020/covalent-core-dialogs.mjs +1 -1
- package/fesm2020/covalent-core-dialogs.mjs.map +1 -1
- package/package.json +2 -2
@@ -128,7 +128,7 @@ export class ResizableDraggableDialog {
|
|
128
128
|
topBottom = verticalAlignment.bottom;
|
129
129
|
rightLeft = horizontalAlignment.right;
|
130
130
|
const icon = this._renderer2.createElement('i');
|
131
|
-
this._renderer2.addClass(icon, 'material-
|
131
|
+
this._renderer2.addClass(icon, 'material-symbols-outlined');
|
132
132
|
this._renderer2.appendChild(icon, this._renderer2.createText('filter_list'));
|
133
133
|
this._renderer2.appendChild(element, icon);
|
134
134
|
this._renderer2.setStyle(icon, 'transform', `rotate(${315}deg) translate(0px, ${offset})`);
|
@@ -213,4 +213,4 @@ export class ResizableDraggableDialog {
|
|
213
213
|
});
|
214
214
|
}
|
215
215
|
}
|
216
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXphYmxlLWRyYWdnYWJsZS1kaWFsb2cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvZGlhbG9ncy9zcmMvcmVzaXphYmxlLWRyYWdnYWJsZS1kaWFsb2cvcmVzaXphYmxlLWRyYWdnYWJsZS1kaWFsb2cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLEtBQUssRUFBZ0IsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3RELElBQUssT0FLSjtBQUxELFdBQUssT0FBTztJQUNWLGdDQUFxQixDQUFBO0lBQ3JCLHNDQUEyQixDQUFBO0lBQzNCLG9DQUF5QixDQUFBO0lBQ3pCLDhCQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFMSSxPQUFPLEtBQVAsT0FBTyxRQUtYO0FBQ0QsSUFBSyxPQUdKO0FBSEQsV0FBSyxPQUFPO0lBQ1YsK0JBQW9CLENBQUE7SUFDcEIsK0JBQW9CLENBQUE7QUFDdEIsQ0FBQyxFQUhJLE9BQU8sS0FBUCxPQUFPLFFBR1g7QUFDRCxJQUFLLGlCQUdKO0FBSEQsV0FBSyxpQkFBaUI7SUFDcEIsZ0NBQVcsQ0FBQTtJQUNYLHNDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFISSxpQkFBaUIsS0FBakIsaUJBQWlCLFFBR3JCO0FBQ0QsSUFBSyxtQkFHSjtBQUhELFdBQUssbUJBQW1CO0lBQ3RCLHNDQUFlLENBQUE7SUFDZixvQ0FBYSxDQUFBO0FBQ2YsQ0FBQyxFQUhJLG1CQUFtQixLQUFuQixtQkFBbUIsUUFHdkI7QUFFRCxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUM7QUFDM0IsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDO0FBQ3JCLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQztBQUNyQixNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUM7QUFFdEIsU0FBUyxTQUFTLENBQUMsVUFBa0I7SUFDbkMsT0FBTyxVQUFVLENBQUMsQ0FBQyxVQUFVLElBQUksRUFB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QUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDO2dCQUNoQyxDQUFDLEVBQUUsYUFBYTtnQkFDaEIsQ0FBQyxFQUFFLGFBQWE7YUFDakIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLFVBQVUsR0FBaUIsS0FBSyxDQUNwQyxTQUFTLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxFQUM5QixTQUFTLENBQUMsTUFBTSxFQUFFLGVBQWUsQ0FBQyxDQUNuQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZixJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FDWixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFDaEMsYUFBYSxDQUNkLENBQUM7WUFDRixZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDM0IsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgRHJhZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgbWVyZ2UsIFN1YnNjcmlwdGlvbiwgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQb2ludCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AvZHJhZy1yZWYnO1xuXG5lbnVtIGNvcm5lcnMge1xuICB0b3BSaWdodCA9ICd0b3BSaWdodCcsXG4gIGJvdHRvbVJpZ2h0ID0gJ2JvdHRvbVJpZ2h0JyxcbiAgYm90dG9tTGVmdCA9ICdib3R0b21MZWZ0JyxcbiAgdG9wTGVmdCA9ICd0b3BMZWZ0Jyxcbn1cbmVudW0gY3Vyc29ycyB7XG4gIG5lc3cgPSAnbmVzdy1yZXNpemUnLFxuICBud3NlID0gJ253c2UtcmVzaXplJyxcbn1cbmVudW0gdmVydGljYWxBbGlnbm1lbnQge1xuICB0b3AgPSAndG9wJyxcbiAgYm90dG9tID0gJ2JvdHRvbScsXG59XG5lbnVtIGhvcml6b250YWxBbGlnbm1lbnQge1xuICByaWdodCA9ICdyaWdodCcsXG4gIGxlZnQgPSAnbGVmdCcsXG59XG5cbmNvbnN0IGNvcm5lcldpZHRoID0gJzE2cHgnO1xuY29uc3Qgb2Zmc2V0ID0gJzBweCc7XG5jb25zdCBtaW5XaWR0aCA9IDIwMDtcbmNvbnN0IG1pbkhlaWdodCA9IDIwMDtcblxuZnVuY3Rpb24gZ2V0UGl4ZWxzKHNpemVTdHJpbmc6IHN0cmluZyk6IG51bWJlciB7XG4gIHJldHVybiBwYXJzZUZsb2F0KChzaXplU3RyaW5nIHx8ICcnKS5yZXBsYWNlKCdweCcsICcnKSk7XG59XG5cbmZ1bmN0aW9uIGNsYW1wKG1pbjogbnVtYmVyLCBudW06IG51bWJlciwgbWF4OiBudW1iZXIpOiBudW1iZXIge1xuICByZXR1cm4gTWF0aC5taW4oTWF0aC5tYXgobnVtLCBtaW4pLCBtYXgpO1xufVxuXG5leHBvcnQgY2xhc3MgUmVzaXphYmxlRHJhZ2dhYmxlRGlhbG9nIHtcbiAgY29ybmVyRWxlbWVudHM6IEhUTUxFbGVtZW50W10gPSBbXTtcbiAgcG9pbnRlckRvd25TdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2RvY3VtZW50OiBhbnksXG4gICAgcHJpdmF0ZSBfcmVuZGVyZXIyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBfZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8YW55PixcbiAgICBwcml2YXRlIF9kcmFnUmVmOiBEcmFnUmVmXG4gICkge1xuICAgIHRoaXMuX2luaXRpYWxQb3NpdGlvblJlc2V0KCk7XG4gICAgdGhpcy5fYXR0YWNoQ29ybmVycygpO1xuICB9XG5cbiAgcHVibGljIGF0dGFjaCgpOiB2b2lkIHtcbiAgICB0aGlzLmRldGFjaCgpO1xuICAgIHRoaXMuX2F0dGFjaENvcm5lcnMoKTtcbiAgfVxuXG4gIHB1YmxpYyBkZXRhY2goKTogdm9pZCB7XG4gICAgdGhpcy5wb2ludGVyRG93blN1YnMuZm9yRWFjaCgoc3ViOiBTdWJzY3JpcHRpb24pID0+IHN1Yi51bnN1YnNjcmliZSgpKTtcbiAgICB0aGlzLnBvaW50ZXJEb3duU3VicyA9IFtdO1xuICAgIHRoaXMuY29ybmVyRWxlbWVudHMuZm9yRWFjaCgoZWxlbTogSFRNTEVsZW1lbnQpID0+XG4gICAgICB0aGlzLl9yZW5kZXJlcjIucmVtb3ZlQ2hpbGQodGhpcy5fZ2V0RGlhbG9nV3JhcHBlcigpLCBlbGVtKVxuICAgICk7XG4gICAgdGhpcy5jb3JuZXJFbGVtZW50cyA9IFtdO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0RGlhbG9nV3JhcHBlcigpOiBIVE1MRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiAoXG4gICAgICA8SFRNTEVsZW1lbnQ+dGhpcy5fZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5fZGlhbG9nUmVmLmlkKSB8fCB7fVxuICAgICkucGFyZW50RWxlbWVudDtcbiAgfVxuXG4gIHByaXZhdGUgX2dldFZpZXdwb3J0RGltZW5zaW9ucygpOiBDbGllbnRSZWN0IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fZ2V0RGlhbG9nV3JhcHBlcigpPy5wYXJlbnRFbGVtZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldERpYWxvZ1dyYXBwZXJEaW1lbnNpb25zKCk6IHsgd2lkdGg6IG51bWJlcjsgaGVpZ2h0OiBudW1iZXIgfSB7XG4gICAgY29uc3Qgd3JhcHBlciA9IHRoaXMuX2dldERpYWxvZ1dyYXBwZXIoKTtcbiAgICBpZiAoIXdyYXBwZXIpIHtcbiAgICAgIHJldHVybiB7IHdpZHRoOiAwLCBoZWlnaHQ6IDAgfTtcbiAgICB9XG4gICAgY29uc3QgZGltZW5zaW9uczogQ1NTU3R5bGVEZWNsYXJhdGlvbiA9IGdldENvbXB1dGVkU3R5bGUod3JhcHBlcik7XG4gICAgcmV0dXJuIHtcbiAgICAgIHdpZHRoOiBnZXRQaXhlbHMoZGltZW5zaW9ucy53aWR0aCksXG4gICAgICBoZWlnaHQ6IGdldFBpeGVscyhkaW1lbnNpb25zLmhlaWdodCksXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgX2luaXRpYWxQb3NpdGlvblJlc2V0KCk6IHZvaWQge1xuICAgIGNvbnN0IHZpZXdwb3J0V2lkdGggPSB0aGlzLl9nZXRWaWV3cG9ydERpbWVuc2lvbnMoKT8ucmlnaHQgPz8gMDtcbiAgICBjb25zdCB2aWV3cG9ydEhlaWdodCA9IHRoaXMuX2dldFZpZXdwb3J0RGltZW5zaW9ucygpPy5ib3R0b20gPz8gMDtcbiAgICBjb25zdCB7IHdpZHRoLCBoZWlnaHQgfSA9IHRoaXMuX2dldERpYWxvZ1dyYXBwZXJEaW1lbnNpb25zKCk7XG4gICAgY29uc3Qgd3JhcHBlclN0eWxlID0gdGhpcy5fZ2V0RGlhbG9nV3JhcHBlcigpPy5zdHlsZTtcbiAgICBjb25zdCBvcmlnaW5hbERpYWxvZ1JpZ2h0ID0gd3JhcHBlclN0eWxlPy5tYXJnaW5SaWdodDtcbiAgICBjb25zdCBvcmlnaW5hbERpYWxvZ0xlZnQgPSB3cmFwcGVyU3R5bGU/Lm1hcmdpbkxlZnQ7XG4gICAgY29uc3Qgb3JpZ2luYWxEaWFsb2dCb3R0b20gPSB3cmFwcGVyU3R5bGU/Lm1hcmdpbkJvdHRvbTtcbiAgICBjb25zdCBvcmlnaW5hbERpYWxvZ1RvcCA9IHdyYXBwZXJTdHlsZT8ubWFyZ2luVG9wO1xuICAgIGxldCB4OiBudW1iZXI7XG4gICAgaWYgKG9yaWdpbmFsRGlhbG9nTGVmdCkge1xuICAgICAgeCA9IGdldFBpeGVscyhvcmlnaW5hbERpYWxvZ0xlZnQpO1xuICAgIH0gZWxzZSBpZiAob3JpZ2luYWxEaWFsb2dSaWdodCkge1xuICAgICAgeCA9IHZpZXdwb3J0V2lkdGggLSBnZXRQaXhlbHMob3JpZ2luYWxEaWFsb2dSaWdodCkgLSB3aWR0aDtcbiAgICB9IGVsc2Uge1xuICAgICAgeCA9ICh2aWV3cG9ydFdpZHRoIC0gd2lkdGgpIC8gMjtcbiAgICB9XG4gICAgbGV0IHk6IG51bWJlcjtcbiAgICBpZiAob3JpZ2luYWxEaWFsb2dUb3ApIHtcbiAgICAgIHkgPSBnZXRQaXhlbHMob3JpZ2luYWxEaWFsb2dUb3ApO1xuICAgIH0gZWxzZSBpZiAob3JpZ2luYWxEaWFsb2dCb3R0b20pIHtcbiAgICAgIHkgPSB2aWV3cG9ydEhlaWdodCAtIGdldFBpeGVscyhvcmlnaW5hbERpYWxvZ0JvdHRvbSkgLSBoZWlnaHQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHkgPSAodmlld3BvcnRIZWlnaHQgLSBoZWlnaHQpIC8gMjtcbiAgICB9XG4gICAgLy8gdXNlIGRyYWcgcmVmJ3MgbWVjaGFuaXNtcyBmb3IgcG9zaXRpb25pbmcgaW5zdGVhZCBvZiB0aGUgZGlhbG9nJ3NcbiAgICB0aGlzLl9kaWFsb2dSZWYudXBkYXRlUG9zaXRpb24oe1xuICAgICAgdG9wOiAnMHB4JyxcbiAgICAgIHJpZ2h0OiAnMHB4JyxcbiAgICAgIGJvdHRvbTogJzBweCcsXG4gICAgICBsZWZ0OiAnMHB4JyxcbiAgICB9KTtcbiAgICB0aGlzLl9kcmFnUmVmLnNldEZyZWVEcmFnUG9zaXRpb24oeyB4LCB5IH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfYXR0YWNoQ29ybmVycygpOiB2b2lkIHtcbiAgICBPYmplY3QudmFsdWVzKGNvcm5lcnMpLmZvckVhY2goKGNvcm5lcjogY29ybmVycykgPT4ge1xuICAgICAgY29uc3QgZWxlbWVudDogSFRNTEVsZW1lbnQgPSB0aGlzLl9yZW5kZXJlcjIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICB0aGlzLmNvcm5lckVsZW1lbnRzID0gWy4uLnRoaXMuY29ybmVyRWxlbWVudHMsIGVsZW1lbnRdO1xuICAgICAgdGhpcy5fcmVuZGVyZXIyLnNldFN0eWxlKGVsZW1lbnQsICdwb3NpdGlvbicsICdhYnNvbHV0ZScpO1xuICAgICAgdGhpcy5fcmVuZGVyZXIyLnNldFN0eWxlKGVsZW1lbnQsICd3aWR0aCcsIGNvcm5lcldpZHRoKTtcbiAgICAgIHRoaXMuX3JlbmRlcmVyMi5zZXRTdHlsZShlbGVtZW50LCAnaGVpZ2h0JywgY29ybmVyV2lkdGgpO1xuICAgICAgdGhpcy5fcmVuZGVyZXIyLmFwcGVuZENoaWxkKHRoaXMuX2dldERpYWxvZ1dyYXBwZXIoKSwgZWxlbWVudCk7XG5cbiAgICAgIGxldCBjdXJzb3I6IGN1cnNvcnM7XG4gICAgICBsZXQgdG9wQm90dG9tOiB2ZXJ0aWNhbEFsaWdubWVudDtcbiAgICAgIGxldCByaWdodExlZnQ6IGhvcml6b250YWxBbGlnbm1lbnQ7XG5cbiAgICAgIGlmIChjb3JuZXIgPT09IGNvcm5lcnMudG9wUmlnaHQpIHtcbiAgICAgICAgY3Vyc29yID0gY3Vyc29ycy5uZXN3O1xuICAgICAgICB0b3BCb3R0b20gPSB2ZXJ0aWNhbEFsaWdubWVudC50b3A7XG4gICAgICAgIHJpZ2h0TGVmdCA9IGhvcml6b250YWxBbGlnbm1lbnQucmlnaHQ7XG4gICAgICB9IGVsc2UgaWYgKGNvcm5lciA9PT0gY29ybmVycy5ib3R0b21SaWdodCkge1xuICAgICAgICBjdXJzb3IgPSBjdXJzb3JzLm53c2U7XG4gICAgICAgIHRvcEJvdHRvbSA9IHZlcnRpY2FsQWxpZ25tZW50LmJvdHRvbTtcbiAgICAgICAgcmlnaHRMZWZ0ID0gaG9yaXpvbnRhbEFsaWdubWVudC5yaWdodDtcblxuICAgICAgICBjb25zdCBpY29uOiBIVE1MRWxlbWVudCA9IHRoaXMuX3JlbmRlcmVyMi5jcmVhdGVFbGVtZW50KCdpJyk7XG4gICAgICAgIHRoaXMuX3JlbmRlcmVyMi5hZGRDbGFzcyhpY29uLCAnbWF0ZXJpYWwtaWNvbnMtb3V0bGluZWQnKTtcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIyLmFwcGVuZENoaWxkKFxuICAgICAgICAgIGljb24sXG4gICAgICAgICAgdGhpcy5fcmVuZGVyZXIyLmNyZWF0ZVRleHQoJ2ZpbHRlcl9saXN0JylcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIyLmFwcGVuZENoaWxkKGVsZW1lbnQsIGljb24pO1xuICAgICAgICB0aGlzLl9yZW5kZXJlcjIuc2V0U3R5bGUoXG4gICAgICAgICAgaWNvbixcbiAgICAgICAgICAndHJhbnNmb3JtJyxcbiAgICAgICAgICBgcm90YXRlKCR7MzE1fWRlZykgdHJhbnNsYXRlKDBweCwgJHtvZmZzZXR9KWBcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIyLnNldFN0eWxlKGljb24sICdmb250LXNpemUnLCBjb3JuZXJXaWR0aCk7XG4gICAgICB9IGVsc2UgaWYgKGNvcm5lciA9PT0gY29ybmVycy5ib3R0b21MZWZ0KSB7XG4gICAgICAgIGN1cnNvciA9IGN1cnNvcnMubmVzdztcbiAgICAgICAgdG9wQm90dG9tID0gdmVydGljYWxBbGlnbm1lbnQuYm90dG9tO1xuICAgICAgICByaWdodExlZnQgPSBob3Jpem9udGFsQWxpZ25tZW50LmxlZnQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjdXJzb3IgPSBjdXJzb3JzLm53c2U7XG4gICAgICAgIHRvcEJvdHRvbSA9IHZlcnRpY2FsQWxpZ25tZW50LnRvcDtcbiAgICAgICAgcmlnaHRMZWZ0ID0gaG9yaXpvbnRhbEFsaWdubWVudC5sZWZ0O1xuICAgICAgfVxuICAgICAgdGhpcy5fcmVuZGVyZXIyLnNldFN0eWxlKGVsZW1lbnQsIHRvcEJvdHRvbSwgb2Zmc2V0KTtcbiAgICAgIHRoaXMuX3JlbmRlcmVyMi5zZXRTdHlsZShlbGVtZW50LCByaWdodExlZnQsIG9mZnNldCk7XG4gICAgICB0aGlzLl9yZW5kZXJlcjIuc2V0U3R5bGUoZWxlbWVudCwgJ2N1cnNvcicsIGN1cnNvcik7XG5cbiAgICAgIGNvbnN0IHBvaW50ZXJEb3duU3ViOiBTdWJzY3JpcHRpb24gPSBmcm9tRXZlbnQ8UG9pbnRlckV2ZW50PihcbiAgICAgICAgZWxlbWVudCxcbiAgICAgICAgJ3BvaW50ZXJkb3duJ1xuICAgICAgKS5zdWJzY3JpYmUoKGV2ZW50OiBQb2ludGVyRXZlbnQpID0+IHtcbiAgICAgICAgdGhpcy5faGFuZGxlTW91c2VEb3duKGV2ZW50LCBjb3JuZXIpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLnBvaW50ZXJEb3duU3VicyA9IFsuLi50aGlzLnBvaW50ZXJEb3duU3VicywgcG9pbnRlckRvd25TdWJdO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlTW91c2VEb3duKGV2ZW50OiBQb2ludGVyRXZlbnQsIGNvcm5lcjogY29ybmVycyk6IHZvaWQge1xuICAgIHRoaXMuX3JlbmRlcmVyMi5zZXRTdHlsZShcbiAgICAgIDxIVE1MRWxlbWVudD50aGlzLl9kb2N1bWVudC5ib2R5LFxuICAgICAgJ3VzZXItc2VsZWN0JyxcbiAgICAgICdub25lJ1xuICAgICk7XG4gICAgY29uc3QgeyB3aWR0aDogb3JpZ2luYWxXaWR0aCwgaGVpZ2h0OiBvcmlnaW5hbEhlaWdodCB9ID1cbiAgICAgIHRoaXMuX2dldERpYWxvZ1dyYXBwZXJEaW1lbnNpb25zKCk7XG4gICAgY29uc3Qgb3JpZ2luYWxNb3VzZVg6IG51bWJlciA9IGV2ZW50LnBhZ2VYO1xuICAgIGNvbnN0IG9yaWdpbmFsTW91c2VZOiBudW1iZXIgPSBldmVudC5wYWdlWTtcbiAgICBjb25zdCB7IHg6IGN1cnJlbnRUcmFuc2Zvcm1YLCB5OiBjdXJyZW50VHJhbnNmb3JtWSB9OiBQb2ludCA9XG4gICAgICB0aGlzLl9kcmFnUmVmLmdldEZyZWVEcmFnUG9zaXRpb24oKTtcbiAgICBjb25zdCB3cmFwcGVyID0gdGhpcy5fZ2V0RGlhbG9nV3JhcHBlcigpPy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCBkaXN0YW5jZUZyb21Cb3R0b20gPSB3cmFwcGVyPy5ib3R0b20gPz8gMDtcbiAgICBjb25zdCBkaXN0YW5jZUZyb21SaWdodCA9IHdyYXBwZXI/LnJpZ2h0ID8/IDA7XG4gICAgY29uc3Qgdmlld3BvcnRXaWR0aCA9IHRoaXMuX2dldFZpZXdwb3J0RGltZW5zaW9ucygpPy5yaWdodCA/PyAwO1xuICAgIGNvbnN0IHZpZXdwb3J0SGVpZ2h0ID0gdGhpcy5fZ2V0Vmlld3BvcnREaW1lbnNpb25zKCk/LmJvdHRvbSA/PyAwO1xuXG4gICAgY29uc3QgbW91c2VNb3ZlU3ViOiBTdWJzY3JpcHRpb24gPSBmcm9tRXZlbnQ8UG9pbnRlckV2ZW50PihcbiAgICAgIHdpbmRvdyxcbiAgICAgICdwb2ludGVybW92ZSdcbiAgICApLnN1YnNjcmliZSgoZTogUG9pbnRlckV2ZW50KSA9PiB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7IC8vIHByZXZlbnQgaGlnaGxpZ2h0aW5nIG9mIHRleHQgd2hlbiBkcmFnZ2luZ1xuXG4gICAgICBjb25zdCB5RGVsdGE6IG51bWJlciA9IGNsYW1wKDAsIGUucGFnZVksIHZpZXdwb3J0SGVpZ2h0KSAtIG9yaWdpbmFsTW91c2VZO1xuICAgICAgY29uc3QgeERlbHRhOiBudW1iZXIgPSBjbGFtcCgwLCBlLnBhZ2VYLCB2aWV3cG9ydFdpZHRoKSAtIG9yaWdpbmFsTW91c2VYO1xuICAgICAgbGV0IG5ld0hlaWdodDogbnVtYmVyO1xuICAgICAgbGV0IG5ld1dpZHRoOiBudW1iZXI7XG4gICAgICBsZXQgbmV3VHJhbnNmb3JtWSA9IDA7XG4gICAgICBsZXQgbmV3VHJhbnNmb3JtWCA9IDA7XG5cbiAgICAgIC8vIHRvcCByaWdodFxuICAgICAgaWYgKGNvcm5lciA9PT0gY29ybmVycy50b3BSaWdodCkge1xuICAgICAgICBuZXdIZWlnaHQgPSBjbGFtcChtaW5IZWlnaHQsIG9yaWdpbmFsSGVpZ2h0IC0geURlbHRhLCB2aWV3cG9ydEhlaWdodCk7XG4gICAgICAgIG5ld1dpZHRoID0gY2xhbXAobWluV2lkdGgsIG9yaWdpbmFsV2lkdGggKyB4RGVsdGEsIHZpZXdwb3J0V2lkdGgpO1xuICAgICAgICBuZXdUcmFuc2Zvcm1ZID0gY2xhbXAoXG4gICAgICAgICAgMCxcbiAgICAgICAgICBjdXJyZW50VHJhbnNmb3JtWSArIHlEZWx0YSxcbiAgICAgICAgICBkaXN0YW5jZUZyb21Cb3R0b20gLSBuZXdIZWlnaHRcbiAgICAgICAgKTtcbiAgICAgICAgbmV3VHJhbnNmb3JtWCA9IGN1cnJlbnRUcmFuc2Zvcm1YO1xuICAgICAgfVxuICAgICAgLy8gYm90dG9tIHJpZ2h0XG4gICAgICBlbHNlIGlmIChjb3JuZXIgPT09IGNvcm5lcnMuYm90dG9tUmlnaHQpIHtcbiAgICAgICAgbmV3SGVpZ2h0ID0gY2xhbXAobWluSGVpZ2h0LCBvcmlnaW5hbEhlaWdodCArIHlEZWx0YSwgdmlld3BvcnRIZWlnaHQpO1xuICAgICAgICBuZXdXaWR0aCA9IGNsYW1wKG1pbldpZHRoLCBvcmlnaW5hbFdpZHRoICsgeERlbHRhLCB2aWV3cG9ydFdpZHRoKTtcbiAgICAgICAgbmV3VHJhbnNmb3JtWSA9IGN1cnJlbnRUcmFuc2Zvcm1ZO1xuICAgICAgICBuZXdUcmFuc2Zvcm1YID0gY3VycmVudFRyYW5zZm9ybVg7XG4gICAgICB9XG4gICAgICAvLyBib3R0b20gbGVmdFxuICAgICAgZWxzZSBpZiAoY29ybmVyID09PSBjb3JuZXJzLmJvdHRvbUxlZnQpIHtcbiAgICAgICAgbmV3SGVpZ2h0ID0gY2xhbXAobWluSGVpZ2h0LCBvcmlnaW5hbEhlaWdodCArIHlEZWx0YSwgdmlld3BvcnRIZWlnaHQpO1xuICAgICAgICBuZXdXaWR0aCA9IGNsYW1wKG1pbldpZHRoLCBvcmlnaW5hbFdpZHRoIC0geERlbHRhLCB2aWV3cG9ydFdpZHRoKTtcbiAgICAgICAgbmV3VHJhbnNmb3JtWSA9IGN1cnJlbnRUcmFuc2Zvcm1ZO1xuICAgICAgICBuZXdUcmFuc2Zvcm1YID0gY2xhbXAoXG4gICAgICAgICAgMCxcbiAgICAgICAgICBjdXJyZW50VHJhbnNmb3JtWCArIHhEZWx0YSxcbiAgICAgICAgICBkaXN0YW5jZUZyb21SaWdodCAtIG5ld1dpZHRoXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICAvLyB0b3AgbGVmdFxuICAgICAgZWxzZSB7XG4gICAgICAgIG5ld0hlaWdodCA9IGNsYW1wKG1pbkhlaWdodCwgb3JpZ2luYWxIZWlnaHQgLSB5RGVsdGEsIHZpZXdwb3J0SGVpZ2h0KTtcbiAgICAgICAgbmV3V2lkdGggPSBjbGFtcChtaW5XaWR0aCwgb3JpZ2luYWxXaWR0aCAtIHhEZWx0YSwgdmlld3BvcnRXaWR0aCk7XG5cbiAgICAgICAgbmV3VHJhbnNmb3JtWCA9IGNsYW1wKFxuICAgICAgICAgIDAsXG4gICAgICAgICAgY3VycmVudFRyYW5zZm9ybVggKyB4RGVsdGEsXG4gICAgICAgICAgZGlzdGFuY2VGcm9tUmlnaHQgLSBuZXdXaWR0aFxuICAgICAgICApO1xuICAgICAgICBuZXdUcmFuc2Zvcm1ZID0gY2xhbXAoXG4gICAgICAgICAgMCxcbiAgICAgICAgICBjdXJyZW50VHJhbnNmb3JtWSArIHlEZWx0YSxcbiAgICAgICAgICBkaXN0YW5jZUZyb21Cb3R0b20gLSBuZXdIZWlnaHRcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuX2RpYWxvZ1JlZi51cGRhdGVTaXplKGAke25ld1dpZHRofXB4YCwgYCR7bmV3SGVpZ2h0fXB4YCk7XG4gICAgICB0aGlzLl9kcmFnUmVmLnNldEZyZWVEcmFnUG9zaXRpb24oe1xuICAgICAgICB4OiBuZXdUcmFuc2Zvcm1YLFxuICAgICAgICB5OiBuZXdUcmFuc2Zvcm1ZLFxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBjb25zdCBtb3VzZVVwU3ViOiBTdWJzY3JpcHRpb24gPSBtZXJnZShcbiAgICAgIGZyb21FdmVudCh3aW5kb3csICdwb2ludGVydXAnKSxcbiAgICAgIGZyb21FdmVudCh3aW5kb3csICdwb2ludGVyY2FuY2VsJylcbiAgICApLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLl9yZW5kZXJlcjIucmVtb3ZlU3R5bGUoXG4gICAgICAgIDxIVE1MRWxlbWVudD50aGlzLl9kb2N1bWVudC5ib2R5LFxuICAgICAgICAndXNlci1zZWxlY3QnXG4gICAgICApO1xuICAgICAgbW91c2VNb3ZlU3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgICBtb3VzZVVwU3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
216
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXphYmxlLWRyYWdnYWJsZS1kaWFsb2cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvZGlhbG9ncy9zcmMvcmVzaXphYmxlLWRyYWdnYWJsZS1kaWFsb2cvcmVzaXphYmxlLWRyYWdnYWJsZS1kaWFsb2cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLEtBQUssRUFBZ0IsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3RELElBQUssT0FLSjtBQUxELFdBQUssT0FBTztJQUNWLGdDQUFxQixDQUFBO0lBQ3JCLHNDQUEyQixDQUFBO0lBQzNCLG9DQUF5QixDQUFBO0lBQ3pCLDhCQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFMSSxPQUFPLEtBQVAsT0FBTyxRQUtYO0FBQ0QsSUFBSyxPQUdKO0FBSEQsV0FBSyxPQUFPO0lBQ1YsK0JBQW9CLENBQUE7SUFDcEIsK0JBQW9CLENBQUE7QUFDdEIsQ0FBQyxFQUhJLE9BQU8sS0FBUCxPQUFPLFFBR1g7QUFDRCxJQUFLLGlCQUdKO0FBSEQsV0FBSyxpQkFBaUI7SUFDcEIsZ0NBQVcsQ0FBQTtJQUNYLHNDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFISSxpQkFBaUIsS0FBakIsaUJBQWlCLFFBR3JCO0FBQ0QsSUFBSyxtQkFHSjtBQUhELFdBQUssbUJBQW1CO0lBQ3RCLHNDQUFlLENBQUE7SUFDZixvQ0FBYSxDQUFBO0FBQ2YsQ0FBQyxFQUhJLG1CQUFtQixLQUFuQixtQkFBbUIsUUFHdkI7QUFFRCxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUM7QUFDM0IsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDO0FBQ3JCLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQztBQUNyQixNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUM7QUFFdEIsU0FBUyxTQUFTLENBQUMsVUFBa0I7SUFDbkMsT0FBTyxVQUFVLENBQUMsQ0FBQyxVQUFVLElBQUksRUFB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QUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDO2dCQUNoQyxDQUFDLEVBQUUsYUFBYTtnQkFDaEIsQ0FBQyxFQUFFLGFBQWE7YUFDakIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLFVBQVUsR0FBaUIsS0FBSyxDQUNwQyxTQUFTLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxFQUM5QixTQUFTLENBQUMsTUFBTSxFQUFFLGVBQWUsQ0FBQyxDQUNuQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZixJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FDWixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFDaEMsYUFBYSxDQUNkLENBQUM7WUFDRixZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDM0IsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgRHJhZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgbWVyZ2UsIFN1YnNjcmlwdGlvbiwgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQb2ludCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AvZHJhZy1yZWYnO1xuXG5lbnVtIGNvcm5lcnMge1xuICB0b3BSaWdodCA9ICd0b3BSaWdodCcsXG4gIGJvdHRvbVJpZ2h0ID0gJ2JvdHRvbVJpZ2h0JyxcbiAgYm90dG9tTGVmdCA9ICdib3R0b21MZWZ0JyxcbiAgdG9wTGVmdCA9ICd0b3BMZWZ0Jyxcbn1cbmVudW0gY3Vyc29ycyB7XG4gIG5lc3cgPSAnbmVzdy1yZXNpemUnLFxuICBud3NlID0gJ253c2UtcmVzaXplJyxcbn1cbmVudW0gdmVydGljYWxBbGlnbm1lbnQge1xuICB0b3AgPSAndG9wJyxcbiAgYm90dG9tID0gJ2JvdHRvbScsXG59XG5lbnVtIGhvcml6b250YWxBbGlnbm1lbnQge1xuICByaWdodCA9ICdyaWdodCcsXG4gIGxlZnQgPSAnbGVmdCcsXG59XG5cbmNvbnN0IGNvcm5lcldpZHRoID0gJzE2cHgnO1xuY29uc3Qgb2Zmc2V0ID0gJzBweCc7XG5jb25zdCBtaW5XaWR0aCA9IDIwMDtcbmNvbnN0IG1pbkhlaWdodCA9IDIwMDtcblxuZnVuY3Rpb24gZ2V0UGl4ZWxzKHNpemVTdHJpbmc6IHN0cmluZyk6IG51bWJlciB7XG4gIHJldHVybiBwYXJzZUZsb2F0KChzaXplU3RyaW5nIHx8ICcnKS5yZXBsYWNlKCdweCcsICcnKSk7XG59XG5cbmZ1bmN0aW9uIGNsYW1wKG1pbjogbnVtYmVyLCBudW06IG51bWJlciwgbWF4OiBudW1iZXIpOiBudW1iZXIge1xuICByZXR1cm4gTWF0aC5taW4oTWF0aC5tYXgobnVtLCBtaW4pLCBtYXgpO1xufVxuXG5leHBvcnQgY2xhc3MgUmVzaXphYmxlRHJhZ2dhYmxlRGlhbG9nIHtcbiAgY29ybmVyRWxlbWVudHM6IEhUTUxFbGVtZW50W10gPSBbXTtcbiAgcG9pbnRlckRvd25TdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2RvY3VtZW50OiBhbnksXG4gICAgcHJpdmF0ZSBfcmVuZGVyZXIyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBfZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8YW55PixcbiAgICBwcml2YXRlIF9kcmFnUmVmOiBEcmFnUmVmXG4gICkge1xuICAgIHRoaXMuX2luaXRpYWxQb3NpdGlvblJlc2V0KCk7XG4gICAgdGhpcy5fYXR0YWNoQ29ybmVycygpO1xuICB9XG5cbiAgcHVibGljIGF0dGFjaCgpOiB2b2lkIHtcbiAgICB0aGlzLmRldGFjaCgpO1xuICAgIHRoaXMuX2F0dGFjaENvcm5lcnMoKTtcbiAgfVxuXG4gIHB1YmxpYyBkZXRhY2goKTogdm9pZCB7XG4gICAgdGhpcy5wb2ludGVyRG93blN1YnMuZm9yRWFjaCgoc3ViOiBTdWJzY3JpcHRpb24pID0+IHN1Yi51bnN1YnNjcmliZSgpKTtcbiAgICB0aGlzLnBvaW50ZXJEb3duU3VicyA9IFtdO1xuICAgIHRoaXMuY29ybmVyRWxlbWVudHMuZm9yRWFjaCgoZWxlbTogSFRNTEVsZW1lbnQpID0+XG4gICAgICB0aGlzLl9yZW5kZXJlcjIucmVtb3ZlQ2hpbGQodGhpcy5fZ2V0RGlhbG9nV3JhcHBlcigpLCBlbGVtKVxuICAgICk7XG4gICAgdGhpcy5jb3JuZXJFbGVtZW50cyA9IFtdO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0RGlhbG9nV3JhcHBlcigpOiBIVE1MRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiAoXG4gICAgICA8SFRNTEVsZW1lbnQ+dGhpcy5fZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5fZGlhbG9nUmVmLmlkKSB8fCB7fVxuICAgICkucGFyZW50RWxlbWVudDtcbiAgfVxuXG4gIHByaXZhdGUgX2dldFZpZXdwb3J0RGltZW5zaW9ucygpOiBDbGllbnRSZWN0IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fZ2V0RGlhbG9nV3JhcHBlcigpPy5wYXJlbnRFbGVtZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldERpYWxvZ1dyYXBwZXJEaW1lbnNpb25zKCk6IHsgd2lkdGg6IG51bWJlcjsgaGVpZ2h0OiBudW1iZXIgfSB7XG4gICAgY29uc3Qgd3JhcHBlciA9IHRoaXMuX2dldERpYWxvZ1dyYXBwZXIoKTtcbiAgICBpZiAoIXdyYXBwZXIpIHtcbiAgICAgIHJldHVybiB7IHdpZHRoOiAwLCBoZWlnaHQ6IDAgfTtcbiAgICB9XG4gICAgY29uc3QgZGltZW5zaW9uczogQ1NTU3R5bGVEZWNsYXJhdGlvbiA9IGdldENvbXB1dGVkU3R5bGUod3JhcHBlcik7XG4gICAgcmV0dXJuIHtcbiAgICAgIHdpZHRoOiBnZXRQaXhlbHMoZGltZW5zaW9ucy53aWR0aCksXG4gICAgICBoZWlnaHQ6IGdldFBpeGVscyhkaW1lbnNpb25zLmhlaWdodCksXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgX2luaXRpYWxQb3NpdGlvblJlc2V0KCk6IHZvaWQge1xuICAgIGNvbnN0IHZpZXdwb3J0V2lkdGggPSB0aGlzLl9nZXRWaWV3cG9ydERpbWVuc2lvbnMoKT8ucmlnaHQgPz8gMDtcbiAgICBjb25zdCB2aWV3cG9ydEhlaWdodCA9IHRoaXMuX2dldFZpZXdwb3J0RGltZW5zaW9ucygpPy5ib3R0b20gPz8gMDtcbiAgICBjb25zdCB7IHdpZHRoLCBoZWlnaHQgfSA9IHRoaXMuX2dldERpYWxvZ1dyYXBwZXJEaW1lbnNpb25zKCk7XG4gICAgY29uc3Qgd3JhcHBlclN0eWxlID0gdGhpcy5fZ2V0RGlhbG9nV3JhcHBlcigpPy5zdHlsZTtcbiAgICBjb25zdCBvcmlnaW5hbERpYWxvZ1JpZ2h0ID0gd3JhcHBlclN0eWxlPy5tYXJnaW5SaWdodDtcbiAgICBjb25zdCBvcmlnaW5hbERpYWxvZ0xlZnQgPSB3cmFwcGVyU3R5bGU/Lm1hcmdpbkxlZnQ7XG4gICAgY29uc3Qgb3JpZ2luYWxEaWFsb2dCb3R0b20gPSB3cmFwcGVyU3R5bGU/Lm1hcmdpbkJvdHRvbTtcbiAgICBjb25zdCBvcmlnaW5hbERpYWxvZ1RvcCA9IHdyYXBwZXJTdHlsZT8ubWFyZ2luVG9wO1xuICAgIGxldCB4OiBudW1iZXI7XG4gICAgaWYgKG9yaWdpbmFsRGlhbG9nTGVmdCkge1xuICAgICAgeCA9IGdldFBpeGVscyhvcmlnaW5hbERpYWxvZ0xlZnQpO1xuICAgIH0gZWxzZSBpZiAob3JpZ2luYWxEaWFsb2dSaWdodCkge1xuICAgICAgeCA9IHZpZXdwb3J0V2lkdGggLSBnZXRQaXhlbHMob3JpZ2luYWxEaWFsb2dSaWdodCkgLSB3aWR0aDtcbiAgICB9IGVsc2Uge1xuICAgICAgeCA9ICh2aWV3cG9ydFdpZHRoIC0gd2lkdGgpIC8gMjtcbiAgICB9XG4gICAgbGV0IHk6IG51bWJlcjtcbiAgICBpZiAob3JpZ2luYWxEaWFsb2dUb3ApIHtcbiAgICAgIHkgPSBnZXRQaXhlbHMob3JpZ2luYWxEaWFsb2dUb3ApO1xuICAgIH0gZWxzZSBpZiAob3JpZ2luYWxEaWFsb2dCb3R0b20pIHtcbiAgICAgIHkgPSB2aWV3cG9ydEhlaWdodCAtIGdldFBpeGVscyhvcmlnaW5hbERpYWxvZ0JvdHRvbSkgLSBoZWlnaHQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHkgPSAodmlld3BvcnRIZWlnaHQgLSBoZWlnaHQpIC8gMjtcbiAgICB9XG4gICAgLy8gdXNlIGRyYWcgcmVmJ3MgbWVjaGFuaXNtcyBmb3IgcG9zaXRpb25pbmcgaW5zdGVhZCBvZiB0aGUgZGlhbG9nJ3NcbiAgICB0aGlzLl9kaWFsb2dSZWYudXBkYXRlUG9zaXRpb24oe1xuICAgICAgdG9wOiAnMHB4JyxcbiAgICAgIHJpZ2h0OiAnMHB4JyxcbiAgICAgIGJvdHRvbTogJzBweCcsXG4gICAgICBsZWZ0OiAnMHB4JyxcbiAgICB9KTtcbiAgICB0aGlzLl9kcmFnUmVmLnNldEZyZWVEcmFnUG9zaXRpb24oeyB4LCB5IH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfYXR0YWNoQ29ybmVycygpOiB2b2lkIHtcbiAgICBPYmplY3QudmFsdWVzKGNvcm5lcnMpLmZvckVhY2goKGNvcm5lcjogY29ybmVycykgPT4ge1xuICAgICAgY29uc3QgZWxlbWVudDogSFRNTEVsZW1lbnQgPSB0aGlzLl9yZW5kZXJlcjIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICB0aGlzLmNvcm5lckVsZW1lbnRzID0gWy4uLnRoaXMuY29ybmVyRWxlbWVudHMsIGVsZW1lbnRdO1xuICAgICAgdGhpcy5fcmVuZGVyZXIyLnNldFN0eWxlKGVsZW1lbnQsICdwb3NpdGlvbicsICdhYnNvbHV0ZScpO1xuICAgICAgdGhpcy5fcmVuZGVyZXIyLnNldFN0eWxlKGVsZW1lbnQsICd3aWR0aCcsIGNvcm5lcldpZHRoKTtcbiAgICAgIHRoaXMuX3JlbmRlcmVyMi5zZXRTdHlsZShlbGVtZW50LCAnaGVpZ2h0JywgY29ybmVyV2lkdGgpO1xuICAgICAgdGhpcy5fcmVuZGVyZXIyLmFwcGVuZENoaWxkKHRoaXMuX2dldERpYWxvZ1dyYXBwZXIoKSwgZWxlbWVudCk7XG5cbiAgICAgIGxldCBjdXJzb3I6IGN1cnNvcnM7XG4gICAgICBsZXQgdG9wQm90dG9tOiB2ZXJ0aWNhbEFsaWdubWVudDtcbiAgICAgIGxldCByaWdodExlZnQ6IGhvcml6b250YWxBbGlnbm1lbnQ7XG5cbiAgICAgIGlmIChjb3JuZXIgPT09IGNvcm5lcnMudG9wUmlnaHQpIHtcbiAgICAgICAgY3Vyc29yID0gY3Vyc29ycy5uZXN3O1xuICAgICAgICB0b3BCb3R0b20gPSB2ZXJ0aWNhbEFsaWdubWVudC50b3A7XG4gICAgICAgIHJpZ2h0TGVmdCA9IGhvcml6b250YWxBbGlnbm1lbnQucmlnaHQ7XG4gICAgICB9IGVsc2UgaWYgKGNvcm5lciA9PT0gY29ybmVycy5ib3R0b21SaWdodCkge1xuICAgICAgICBjdXJzb3IgPSBjdXJzb3JzLm53c2U7XG4gICAgICAgIHRvcEJvdHRvbSA9IHZlcnRpY2FsQWxpZ25tZW50LmJvdHRvbTtcbiAgICAgICAgcmlnaHRMZWZ0ID0gaG9yaXpvbnRhbEFsaWdubWVudC5yaWdodDtcblxuICAgICAgICBjb25zdCBpY29uOiBIVE1MRWxlbWVudCA9IHRoaXMuX3JlbmRlcmVyMi5jcmVhdGVFbGVtZW50KCdpJyk7XG4gICAgICAgIHRoaXMuX3JlbmRlcmVyMi5hZGRDbGFzcyhpY29uLCAnbWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCcpO1xuICAgICAgICB0aGlzLl9yZW5kZXJlcjIuYXBwZW5kQ2hpbGQoXG4gICAgICAgICAgaWNvbixcbiAgICAgICAgICB0aGlzLl9yZW5kZXJlcjIuY3JlYXRlVGV4dCgnZmlsdGVyX2xpc3QnKVxuICAgICAgICApO1xuICAgICAgICB0aGlzLl9yZW5kZXJlcjIuYXBwZW5kQ2hpbGQoZWxlbWVudCwgaWNvbik7XG4gICAgICAgIHRoaXMuX3JlbmRlcmVyMi5zZXRTdHlsZShcbiAgICAgICAgICBpY29uLFxuICAgICAgICAgICd0cmFuc2Zvcm0nLFxuICAgICAgICAgIGByb3RhdGUoJHszMTV9ZGVnKSB0cmFuc2xhdGUoMHB4LCAke29mZnNldH0pYFxuICAgICAgICApO1xuICAgICAgICB0aGlzLl9yZW5kZXJlcjIuc2V0U3R5bGUoaWNvbiwgJ2ZvbnQtc2l6ZScsIGNvcm5lcldpZHRoKTtcbiAgICAgIH0gZWxzZSBpZiAoY29ybmVyID09PSBjb3JuZXJzLmJvdHRvbUxlZnQpIHtcbiAgICAgICAgY3Vyc29yID0gY3Vyc29ycy5uZXN3O1xuICAgICAgICB0b3BCb3R0b20gPSB2ZXJ0aWNhbEFsaWdubWVudC5ib3R0b207XG4gICAgICAgIHJpZ2h0TGVmdCA9IGhvcml6b250YWxBbGlnbm1lbnQubGVmdDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGN1cnNvciA9IGN1cnNvcnMubndzZTtcbiAgICAgICAgdG9wQm90dG9tID0gdmVydGljYWxBbGlnbm1lbnQudG9wO1xuICAgICAgICByaWdodExlZnQgPSBob3Jpem9udGFsQWxpZ25tZW50LmxlZnQ7XG4gICAgICB9XG4gICAgICB0aGlzLl9yZW5kZXJlcjIuc2V0U3R5bGUoZWxlbWVudCwgdG9wQm90dG9tLCBvZmZzZXQpO1xuICAgICAgdGhpcy5fcmVuZGVyZXIyLnNldFN0eWxlKGVsZW1lbnQsIHJpZ2h0TGVmdCwgb2Zmc2V0KTtcbiAgICAgIHRoaXMuX3JlbmRlcmVyMi5zZXRTdHlsZShlbGVtZW50LCAnY3Vyc29yJywgY3Vyc29yKTtcblxuICAgICAgY29uc3QgcG9pbnRlckRvd25TdWI6IFN1YnNjcmlwdGlvbiA9IGZyb21FdmVudDxQb2ludGVyRXZlbnQ+KFxuICAgICAgICBlbGVtZW50LFxuICAgICAgICAncG9pbnRlcmRvd24nXG4gICAgICApLnN1YnNjcmliZSgoZXZlbnQ6IFBvaW50ZXJFdmVudCkgPT4ge1xuICAgICAgICB0aGlzLl9oYW5kbGVNb3VzZURvd24oZXZlbnQsIGNvcm5lcik7XG4gICAgICB9KTtcbiAgICAgIHRoaXMucG9pbnRlckRvd25TdWJzID0gWy4uLnRoaXMucG9pbnRlckRvd25TdWJzLCBwb2ludGVyRG93blN1Yl07XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVNb3VzZURvd24oZXZlbnQ6IFBvaW50ZXJFdmVudCwgY29ybmVyOiBjb3JuZXJzKTogdm9pZCB7XG4gICAgdGhpcy5fcmVuZGVyZXIyLnNldFN0eWxlKFxuICAgICAgPEhUTUxFbGVtZW50PnRoaXMuX2RvY3VtZW50LmJvZHksXG4gICAgICAndXNlci1zZWxlY3QnLFxuICAgICAgJ25vbmUnXG4gICAgKTtcbiAgICBjb25zdCB7IHdpZHRoOiBvcmlnaW5hbFdpZHRoLCBoZWlnaHQ6IG9yaWdpbmFsSGVpZ2h0IH0gPVxuICAgICAgdGhpcy5fZ2V0RGlhbG9nV3JhcHBlckRpbWVuc2lvbnMoKTtcbiAgICBjb25zdCBvcmlnaW5hbE1vdXNlWDogbnVtYmVyID0gZXZlbnQucGFnZVg7XG4gICAgY29uc3Qgb3JpZ2luYWxNb3VzZVk6IG51bWJlciA9IGV2ZW50LnBhZ2VZO1xuICAgIGNvbnN0IHsgeDogY3VycmVudFRyYW5zZm9ybVgsIHk6IGN1cnJlbnRUcmFuc2Zvcm1ZIH06IFBvaW50ID1cbiAgICAgIHRoaXMuX2RyYWdSZWYuZ2V0RnJlZURyYWdQb3NpdGlvbigpO1xuICAgIGNvbnN0IHdyYXBwZXIgPSB0aGlzLl9nZXREaWFsb2dXcmFwcGVyKCk/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IGRpc3RhbmNlRnJvbUJvdHRvbSA9IHdyYXBwZXI/LmJvdHRvbSA/PyAwO1xuICAgIGNvbnN0IGRpc3RhbmNlRnJvbVJpZ2h0ID0gd3JhcHBlcj8ucmlnaHQgPz8gMDtcbiAgICBjb25zdCB2aWV3cG9ydFdpZHRoID0gdGhpcy5fZ2V0Vmlld3BvcnREaW1lbnNpb25zKCk/LnJpZ2h0ID8/IDA7XG4gICAgY29uc3Qgdmlld3BvcnRIZWlnaHQgPSB0aGlzLl9nZXRWaWV3cG9ydERpbWVuc2lvbnMoKT8uYm90dG9tID8/IDA7XG5cbiAgICBjb25zdCBtb3VzZU1vdmVTdWI6IFN1YnNjcmlwdGlvbiA9IGZyb21FdmVudDxQb2ludGVyRXZlbnQ+KFxuICAgICAgd2luZG93LFxuICAgICAgJ3BvaW50ZXJtb3ZlJ1xuICAgICkuc3Vic2NyaWJlKChlOiBQb2ludGVyRXZlbnQpID0+IHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTsgLy8gcHJldmVudCBoaWdobGlnaHRpbmcgb2YgdGV4dCB3aGVuIGRyYWdnaW5nXG5cbiAgICAgIGNvbnN0IHlEZWx0YTogbnVtYmVyID0gY2xhbXAoMCwgZS5wYWdlWSwgdmlld3BvcnRIZWlnaHQpIC0gb3JpZ2luYWxNb3VzZVk7XG4gICAgICBjb25zdCB4RGVsdGE6IG51bWJlciA9IGNsYW1wKDAsIGUucGFnZVgsIHZpZXdwb3J0V2lkdGgpIC0gb3JpZ2luYWxNb3VzZVg7XG4gICAgICBsZXQgbmV3SGVpZ2h0OiBudW1iZXI7XG4gICAgICBsZXQgbmV3V2lkdGg6IG51bWJlcjtcbiAgICAgIGxldCBuZXdUcmFuc2Zvcm1ZID0gMDtcbiAgICAgIGxldCBuZXdUcmFuc2Zvcm1YID0gMDtcblxuICAgICAgLy8gdG9wIHJpZ2h0XG4gICAgICBpZiAoY29ybmVyID09PSBjb3JuZXJzLnRvcFJpZ2h0KSB7XG4gICAgICAgIG5ld0hlaWdodCA9IGNsYW1wKG1pbkhlaWdodCwgb3JpZ2luYWxIZWlnaHQgLSB5RGVsdGEsIHZpZXdwb3J0SGVpZ2h0KTtcbiAgICAgICAgbmV3V2lkdGggPSBjbGFtcChtaW5XaWR0aCwgb3JpZ2luYWxXaWR0aCArIHhEZWx0YSwgdmlld3BvcnRXaWR0aCk7XG4gICAgICAgIG5ld1RyYW5zZm9ybVkgPSBjbGFtcChcbiAgICAgICAgICAwLFxuICAgICAgICAgIGN1cnJlbnRUcmFuc2Zvcm1ZICsgeURlbHRhLFxuICAgICAgICAgIGRpc3RhbmNlRnJvbUJvdHRvbSAtIG5ld0hlaWdodFxuICAgICAgICApO1xuICAgICAgICBuZXdUcmFuc2Zvcm1YID0gY3VycmVudFRyYW5zZm9ybVg7XG4gICAgICB9XG4gICAgICAvLyBib3R0b20gcmlnaHRcbiAgICAgIGVsc2UgaWYgKGNvcm5lciA9PT0gY29ybmVycy5ib3R0b21SaWdodCkge1xuICAgICAgICBuZXdIZWlnaHQgPSBjbGFtcChtaW5IZWlnaHQsIG9yaWdpbmFsSGVpZ2h0ICsgeURlbHRhLCB2aWV3cG9ydEhlaWdodCk7XG4gICAgICAgIG5ld1dpZHRoID0gY2xhbXAobWluV2lkdGgsIG9yaWdpbmFsV2lkdGggKyB4RGVsdGEsIHZpZXdwb3J0V2lkdGgpO1xuICAgICAgICBuZXdUcmFuc2Zvcm1ZID0gY3VycmVudFRyYW5zZm9ybVk7XG4gICAgICAgIG5ld1RyYW5zZm9ybVggPSBjdXJyZW50VHJhbnNmb3JtWDtcbiAgICAgIH1cbiAgICAgIC8vIGJvdHRvbSBsZWZ0XG4gICAgICBlbHNlIGlmIChjb3JuZXIgPT09IGNvcm5lcnMuYm90dG9tTGVmdCkge1xuICAgICAgICBuZXdIZWlnaHQgPSBjbGFtcChtaW5IZWlnaHQsIG9yaWdpbmFsSGVpZ2h0ICsgeURlbHRhLCB2aWV3cG9ydEhlaWdodCk7XG4gICAgICAgIG5ld1dpZHRoID0gY2xhbXAobWluV2lkdGgsIG9yaWdpbmFsV2lkdGggLSB4RGVsdGEsIHZpZXdwb3J0V2lkdGgpO1xuICAgICAgICBuZXdUcmFuc2Zvcm1ZID0gY3VycmVudFRyYW5zZm9ybVk7XG4gICAgICAgIG5ld1RyYW5zZm9ybVggPSBjbGFtcChcbiAgICAgICAgICAwLFxuICAgICAgICAgIGN1cnJlbnRUcmFuc2Zvcm1YICsgeERlbHRhLFxuICAgICAgICAgIGRpc3RhbmNlRnJvbVJpZ2h0IC0gbmV3V2lkdGhcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIC8vIHRvcCBsZWZ0XG4gICAgICBlbHNlIHtcbiAgICAgICAgbmV3SGVpZ2h0ID0gY2xhbXAobWluSGVpZ2h0LCBvcmlnaW5hbEhlaWdodCAtIHlEZWx0YSwgdmlld3BvcnRIZWlnaHQpO1xuICAgICAgICBuZXdXaWR0aCA9IGNsYW1wKG1pbldpZHRoLCBvcmlnaW5hbFdpZHRoIC0geERlbHRhLCB2aWV3cG9ydFdpZHRoKTtcblxuICAgICAgICBuZXdUcmFuc2Zvcm1YID0gY2xhbXAoXG4gICAgICAgICAgMCxcbiAgICAgICAgICBjdXJyZW50VHJhbnNmb3JtWCArIHhEZWx0YSxcbiAgICAgICAgICBkaXN0YW5jZUZyb21SaWdodCAtIG5ld1dpZHRoXG4gICAgICAgICk7XG4gICAgICAgIG5ld1RyYW5zZm9ybVkgPSBjbGFtcChcbiAgICAgICAgICAwLFxuICAgICAgICAgIGN1cnJlbnRUcmFuc2Zvcm1ZICsgeURlbHRhLFxuICAgICAgICAgIGRpc3RhbmNlRnJvbUJvdHRvbSAtIG5ld0hlaWdodFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgdGhpcy5fZGlhbG9nUmVmLnVwZGF0ZVNpemUoYCR7bmV3V2lkdGh9cHhgLCBgJHtuZXdIZWlnaHR9cHhgKTtcbiAgICAgIHRoaXMuX2RyYWdSZWYuc2V0RnJlZURyYWdQb3NpdGlvbih7XG4gICAgICAgIHg6IG5ld1RyYW5zZm9ybVgsXG4gICAgICAgIHk6IG5ld1RyYW5zZm9ybVksXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGNvbnN0IG1vdXNlVXBTdWI6IFN1YnNjcmlwdGlvbiA9IG1lcmdlKFxuICAgICAgZnJvbUV2ZW50KHdpbmRvdywgJ3BvaW50ZXJ1cCcpLFxuICAgICAgZnJvbUV2ZW50KHdpbmRvdywgJ3BvaW50ZXJjYW5jZWwnKVxuICAgICkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuX3JlbmRlcmVyMi5yZW1vdmVTdHlsZShcbiAgICAgICAgPEhUTUxFbGVtZW50PnRoaXMuX2RvY3VtZW50LmJvZHksXG4gICAgICAgICd1c2VyLXNlbGVjdCdcbiAgICAgICk7XG4gICAgICBtb3VzZU1vdmVTdWIudW5zdWJzY3JpYmUoKTtcbiAgICAgIG1vdXNlVXBTdWIudW5zdWJzY3JpYmUoKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
|
@@ -572,7 +572,7 @@ class ResizableDraggableDialog {
|
|
572
572
|
topBottom = verticalAlignment.bottom;
|
573
573
|
rightLeft = horizontalAlignment.right;
|
574
574
|
const icon = this._renderer2.createElement('i');
|
575
|
-
this._renderer2.addClass(icon, 'material-
|
575
|
+
this._renderer2.addClass(icon, 'material-symbols-outlined');
|
576
576
|
this._renderer2.appendChild(icon, this._renderer2.createText('filter_list'));
|
577
577
|
this._renderer2.appendChild(element, icon);
|
578
578
|
this._renderer2.setStyle(icon, 'transform', `rotate(${315}deg) translate(0px, ${offset})`);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"covalent-core-dialogs.mjs","sources":["../../../../libs/angular/dialogs/src/dialog.component.ts","../../../../libs/angular/dialogs/src/dialog.component.html","../../../../libs/angular/dialogs/src/alert-dialog/alert-dialog.component.ts","../../../../libs/angular/dialogs/src/alert-dialog/alert-dialog.component.html","../../../../libs/angular/dialogs/src/confirm-dialog/confirm-dialog.component.ts","../../../../libs/angular/dialogs/src/confirm-dialog/confirm-dialog.component.html","../../../../libs/angular/dialogs/src/prompt-dialog/prompt-dialog.component.ts","../../../../libs/angular/dialogs/src/prompt-dialog/prompt-dialog.component.html","../../../../libs/angular/dialogs/src/services/dialog.service.ts","../../../../libs/angular/dialogs/src/window-dialog/window-dialog.component.ts","../../../../libs/angular/dialogs/src/window-dialog/window-dialog.component.html","../../../../libs/angular/dialogs/src/dialogs.module.ts","../../../../libs/angular/dialogs/src/resizable-draggable-dialog/resizable-draggable-dialog.ts","../../../../libs/angular/dialogs/src/covalent-core-dialogs.ts"],"sourcesContent":["import {\n Component,\n Directive,\n ContentChildren,\n QueryList,\n AfterContentInit,\n} from '@angular/core';\n\n@Directive({ selector: '[tdDialogTitle]' })\nexport class TdDialogTitleDirective {}\n\n@Directive({ selector: '[tdDialogContent]' })\nexport class TdDialogContentDirective {}\n\n@Directive({ selector: '[tdDialogActions]' })\nexport class TdDialogActionsDirective {}\n\n@Component({\n selector: 'td-dialog',\n templateUrl: './dialog.component.html',\n styleUrls: ['./dialog.component.scss'],\n})\nexport class TdDialogComponent implements AfterContentInit {\n @ContentChildren(TdDialogTitleDirective, { descendants: true })\n dialogTitle!: QueryList<TdDialogTitleDirective>;\n @ContentChildren(TdDialogContentDirective, { descendants: true })\n dialogContent!: QueryList<TdDialogContentDirective>;\n @ContentChildren(TdDialogActionsDirective, { descendants: true })\n dialogActions!: QueryList<TdDialogActionsDirective>;\n\n ngAfterContentInit(): void {\n if (this.dialogTitle.length > 1) {\n throw new Error('Duplicate td-dialog-title component at in td-dialog.');\n }\n if (this.dialogContent.length > 1) {\n throw new Error('Duplicate td-dialog-content component at in td-dialog.');\n }\n if (this.dialogActions.length > 1) {\n throw new Error('Duplicate td-dialog-actions component at in td-dialog.');\n }\n }\n}\n","<div class=\"td-dialog-wrapper\">\n <h3 class=\"td-dialog-title\" *ngIf=\"dialogTitle.length > 0\">\n <ng-content select=\"[tdDialogTitle]\"></ng-content>\n </h3>\n <div class=\"td-dialog-content\" *ngIf=\"dialogContent.length > 0\">\n <ng-content select=\"[tdDialogContent]\"></ng-content>\n </div>\n <div class=\"td-dialog-actions\" *ngIf=\"dialogActions.length > 0\">\n <span class=\"td-dialog-spacer\"></span>\n <ng-content select=\"[tdDialogActions]\"></ng-content>\n </div>\n</div>\n","import { Component } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\n\n@Component({\n selector: 'td-alert-dialog',\n templateUrl: './alert-dialog.component.html',\n styleUrls: ['./alert-dialog.component.scss'],\n})\nexport class TdAlertDialogComponent {\n title?: string;\n message?: string;\n closeButton?: string = 'CLOSE';\n\n constructor(private _dialogRef: MatDialogRef<TdAlertDialogComponent>) {}\n\n close(): void {\n this._dialogRef.close();\n }\n}\n","<td-dialog>\n <div tdDialogTitle *ngIf=\"title\">\n {{ title }}\n </div>\n <div tdDialogContent>\n <span class=\"td-dialog-message\">{{ message }}</span>\n </div>\n <div tdDialogActions>\n <button mat-button color=\"accent\" (click)=\"close()\">\n {{ closeButton }}\n </button>\n </div>\n</td-dialog>\n","import { Component } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\n\n@Component({\n selector: 'td-confirm-dialog',\n templateUrl: './confirm-dialog.component.html',\n styleUrls: ['./confirm-dialog.component.scss'],\n})\nexport class TdConfirmDialogComponent {\n title?: string;\n message?: string;\n cancelButton = 'CANCEL';\n acceptButton = 'ACCEPT';\n isDestructive = false;\n\n constructor(private _dialogRef: MatDialogRef<TdConfirmDialogComponent>) {}\n\n cancel(): void {\n this._dialogRef.close(false);\n }\n\n accept(): void {\n this._dialogRef.close(true);\n }\n}\n","<td-dialog>\n <div tdDialogTitle *ngIf=\"title\">\n {{ title }}\n </div>\n <div tdDialogContent>\n <span class=\"td-dialog-message\">{{ message }}</span>\n </div>\n <div tdDialogActions>\n <button\n mat-button\n #closeBtn\n (keydown.arrowright)=\"acceptBtn.focus()\"\n (click)=\"cancel()\"\n >\n {{ cancelButton }}\n </button>\n <button\n mat-button\n [color]=\"isDestructive ? 'warn' : 'accent'\"\n #acceptBtn\n (keydown.arrowleft)=\"closeBtn.focus()\"\n (click)=\"accept()\"\n >\n {{ acceptButton }}\n </button>\n </div>\n</td-dialog>\n","import {\n Component,\n ViewChild,\n ElementRef,\n AfterViewInit,\n NgZone,\n OnDestroy,\n} from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { LEFT_ARROW, RIGHT_ARROW } from '@angular/cdk/keycodes';\nimport { fromEvent, Subject, takeUntil } from 'rxjs';\n\n@Component({\n selector: 'td-prompt-dialog',\n templateUrl: './prompt-dialog.component.html',\n styleUrls: ['./prompt-dialog.component.scss'],\n})\nexport class TdPromptDialogComponent implements AfterViewInit, OnDestroy {\n title?: string;\n message?: string;\n value?: string;\n cancelButton = 'CANCEL';\n acceptButton = 'ACCEPT';\n\n /** The native `<input matInput />` element. */\n @ViewChild('input', { static: true }) _input!: ElementRef<HTMLInputElement>;\n\n @ViewChild('closeBtn', { static: true, read: ElementRef })\n _closeBtn!: ElementRef<HTMLButtonElement>;\n\n @ViewChild('acceptBtn', { static: true, read: ElementRef })\n _acceptBtn!: ElementRef<HTMLButtonElement>;\n\n private _destroy$ = new Subject<void>();\n\n constructor(\n private _ngZone: NgZone,\n private _dialogRef: MatDialogRef<TdPromptDialogComponent>\n ) {}\n\n ngAfterViewInit(): void {\n this._ngZone.runOutsideAngular(() => {\n // Note: `element.focus()` causes re-layout and this may lead to frame drop on slower devices.\n // `Promise` is a microtask and microtask are executed within the current rendering frame.\n // Animation tasks are executed within the next rendering frame.\n // We focus input once everything is rendered and good to go.\n requestAnimationFrame(() => this._input.nativeElement.focus());\n\n fromEvent(this._input.nativeElement, 'focus')\n .pipe(takeUntil(this._destroy$))\n .subscribe(() => {\n // This is executed when the input is focused, selects all text.\n this._input.nativeElement.select();\n });\n\n fromEvent<KeyboardEvent>(this._closeBtn.nativeElement, 'keydown')\n .pipe(takeUntil(this._destroy$))\n .subscribe((event) => {\n if (event.keyCode === RIGHT_ARROW) {\n this._acceptBtn.nativeElement.focus();\n }\n });\n\n fromEvent<KeyboardEvent>(this._acceptBtn.nativeElement, 'keydown')\n .pipe(takeUntil(this._destroy$))\n .subscribe((event) => {\n if (event.keyCode === LEFT_ARROW) {\n this._closeBtn.nativeElement.focus();\n }\n });\n });\n }\n\n ngOnDestroy(): void {\n this._destroy$.next();\n }\n\n cancel(): void {\n this._dialogRef.close();\n }\n\n accept(): void {\n this._dialogRef.close(this.value);\n }\n}\n","<td-dialog>\n <div tdDialogTitle *ngIf=\"title\">\n {{ title }}\n </div>\n <div tdDialogContent>\n <span class=\"td-dialog-message\">{{ message }}</span>\n <form #form=\"ngForm\" novalidate>\n <div class=\"td-dialog-input-wrapper\">\n <mat-form-field class=\"td-dialog-input\">\n <input\n matInput\n #input\n (keydown.enter)=\"$event.preventDefault(); form.valid && accept()\"\n [(ngModel)]=\"value\"\n name=\"value\"\n required\n />\n </mat-form-field>\n </div>\n </form>\n </div>\n <div tdDialogActions>\n <button mat-button #closeBtn (click)=\"cancel()\">\n {{ cancelButton }}\n </button>\n <button\n mat-button\n color=\"accent\"\n #acceptBtn\n [disabled]=\"!form.valid\"\n (click)=\"accept()\"\n >\n {{ acceptButton }}\n </button>\n </div>\n</td-dialog>\n","import { Injectable, Inject, Renderer2, RendererFactory2 } from '@angular/core';\nimport {\n MatDialog,\n MatDialogRef,\n MatDialogConfig,\n} from '@angular/material/dialog';\nimport { ComponentType } from '@angular/cdk/portal';\n\nimport { TdAlertDialogComponent } from '../alert-dialog/alert-dialog.component';\nimport { TdConfirmDialogComponent } from '../confirm-dialog/confirm-dialog.component';\nimport { TdPromptDialogComponent } from '../prompt-dialog/prompt-dialog.component';\nimport { DragDrop, DragRef } from '@angular/cdk/drag-drop';\nimport { DOCUMENT } from '@angular/common';\nimport { Subject } from 'rxjs';\n\nexport interface IDialogConfig extends MatDialogConfig {\n title?: string;\n message: string;\n}\n\nexport interface IAlertConfig extends IDialogConfig {\n closeButton?: string;\n}\n\nexport interface IConfirmConfig extends IDialogConfig {\n acceptButton?: string;\n cancelButton?: string;\n isDestructive?: boolean;\n}\n\nexport interface IPromptConfig extends IConfirmConfig {\n value?: string;\n}\n\nexport interface IDraggableConfig<T> {\n component: ComponentType<T>;\n config?: MatDialogConfig;\n // CSS selectors of element(s) inside the component meant to be drag handle(s)\n dragHandleSelectors?: string[];\n // Class that will be added to the component signifying drag-ability\n draggableClass?: string;\n}\n\nexport interface IDraggableRefs<T> {\n matDialogRef: MatDialogRef<T>;\n dragRefSubject: Subject<DragRef>;\n}\n\n@Injectable()\nexport class TdDialogService {\n private _renderer2: Renderer2;\n\n constructor(\n @Inject(DOCUMENT) private _document: any,\n private _dialogService: MatDialog,\n private _dragDrop: DragDrop,\n private rendererFactory: RendererFactory2\n ) {\n this._renderer2 = rendererFactory.createRenderer(undefined, null);\n }\n\n /**\n * params:\n * - component: ComponentType<T>\n * - config: MatDialogConfig\n * Wrapper function over the open() method in MatDialog.\n * Opens a modal dialog containing the given component.\n */\n public open<T>(\n component: ComponentType<T>,\n config?: MatDialogConfig\n ): MatDialogRef<T> {\n return this._dialogService.open(component, config);\n }\n\n /**\n * Wrapper function over the closeAll() method in MatDialog.\n * Closes all of the currently-open dialogs.\n */\n public closeAll(): void {\n this._dialogService.closeAll();\n }\n\n /**\n * params:\n * - config: IAlertConfig {\n * message: string;\n * title?: string;\n * viewContainerRef?: ViewContainerRef;\n * closeButton?: string;\n * }\n *\n * Opens an alert dialog with the provided config.\n * Returns an MatDialogRef<TdAlertDialogComponent> object.\n */\n public openAlert(config: IAlertConfig): MatDialogRef<TdAlertDialogComponent> {\n const dialogConfig: MatDialogConfig = this._createConfig(config);\n const dialogRef: MatDialogRef<TdAlertDialogComponent> =\n this._dialogService.open(TdAlertDialogComponent, dialogConfig);\n const alertDialogComponent: TdAlertDialogComponent =\n dialogRef.componentInstance;\n alertDialogComponent.title = config.title;\n alertDialogComponent.message = config.message;\n if (config.closeButton) {\n alertDialogComponent.closeButton = config.closeButton;\n }\n return dialogRef;\n }\n\n /**\n * params:\n * - config: IConfirmConfig {\n * message: string;\n * title?: string;\n * viewContainerRef?: ViewContainerRef;\n * acceptButton?: string;\n * cancelButton?: string;\n * isDestructive?: boolean;\n * }\n *\n * Opens a confirm dialog with the provided config.\n * Returns an MatDialogRef<TdConfirmDialogComponent> object.\n */\n public openConfirm(\n config: IConfirmConfig\n ): MatDialogRef<TdConfirmDialogComponent> {\n const dialogConfig: MatDialogConfig = this._createConfig(config);\n const dialogRef: MatDialogRef<TdConfirmDialogComponent> =\n this._dialogService.open(TdConfirmDialogComponent, dialogConfig);\n const confirmDialogComponent: TdConfirmDialogComponent =\n dialogRef.componentInstance;\n confirmDialogComponent.title = config.title;\n confirmDialogComponent.message = config.message;\n if (config.acceptButton) {\n confirmDialogComponent.acceptButton = config.acceptButton;\n }\n if (config.isDestructive) {\n confirmDialogComponent.isDestructive = config.isDestructive;\n }\n if (config.cancelButton) {\n confirmDialogComponent.cancelButton = config.cancelButton;\n }\n return dialogRef;\n }\n\n /**\n * params:\n * - config: IPromptConfig {\n * message: string;\n * title?: string;\n * value?: string;\n * viewContainerRef?: ViewContainerRef;\n * acceptButton?: string;\n * cancelButton?: string;\n * }\n *\n * Opens a prompt dialog with the provided config.\n * Returns an MatDialogRef<TdPromptDialogComponent> object.\n */\n public openPrompt(\n config: IPromptConfig\n ): MatDialogRef<TdPromptDialogComponent> {\n const dialogConfig: MatDialogConfig = this._createConfig(config);\n const dialogRef: MatDialogRef<TdPromptDialogComponent> =\n this._dialogService.open(TdPromptDialogComponent, dialogConfig);\n const promptDialogComponent: TdPromptDialogComponent =\n dialogRef.componentInstance;\n promptDialogComponent.title = config.title;\n promptDialogComponent.message = config.message;\n promptDialogComponent.value = config.value;\n if (config.acceptButton) {\n promptDialogComponent.acceptButton = config.acceptButton;\n }\n if (config.cancelButton) {\n promptDialogComponent.cancelButton = config.cancelButton;\n }\n return dialogRef;\n }\n\n /**\n * Opens a draggable dialog containing the given component.\n */\n public openDraggable<T>({\n component,\n config,\n dragHandleSelectors,\n draggableClass,\n }: IDraggableConfig<T>): IDraggableRefs<T> {\n const matDialogRef: MatDialogRef<T, any> = this._dialogService.open(\n component,\n config\n );\n const dragRefSubject: Subject<DragRef> = new Subject<DragRef>();\n\n const CDK_OVERLAY_PANE_SELECTOR = '.cdk-overlay-pane';\n const CDK_OVERLAY_CONTAINER_SELECTOR = '.cdk-overlay-container';\n\n matDialogRef.afterOpened().subscribe(() => {\n const dialogElement: HTMLElement = <HTMLElement>(\n this._document.getElementById(matDialogRef.id)\n );\n const draggableElement: DragRef =\n this._dragDrop.createDrag(dialogElement);\n\n if (draggableClass) {\n const childComponent = dialogElement.firstElementChild;\n this._renderer2.addClass(childComponent, draggableClass);\n }\n if (dragHandleSelectors && dragHandleSelectors.length) {\n const dragHandles: Element[] = dragHandleSelectors.reduce(\n (acc: Element[], curr: string) => [\n ...acc,\n ...Array.from(dialogElement.querySelectorAll(curr)),\n ],\n []\n );\n if (dragHandles.length > 0) {\n draggableElement.withHandles(<HTMLElement[]>dragHandles);\n }\n }\n const rootElement = dialogElement.closest(CDK_OVERLAY_PANE_SELECTOR);\n if (rootElement) {\n draggableElement.withRootElement(<HTMLElement>rootElement);\n }\n\n const boundaryElement = dialogElement.closest(\n CDK_OVERLAY_CONTAINER_SELECTOR\n );\n if (boundaryElement) {\n draggableElement.withBoundaryElement(<HTMLElement>boundaryElement);\n }\n dragRefSubject.next(draggableElement);\n });\n\n return { matDialogRef, dragRefSubject };\n }\n\n private _createConfig(config: IDialogConfig): MatDialogConfig {\n const dialogConfig: MatDialogConfig = new MatDialogConfig();\n dialogConfig.width = '400px';\n Object.assign(dialogConfig, config);\n return dialogConfig;\n }\n}\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n} from '@angular/core';\nimport { ThemePalette } from '@angular/material/core';\n\n@Component({\n selector: 'td-window-dialog',\n templateUrl: './window-dialog.component.html',\n styleUrls: ['./window-dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TdWindowDialogComponent {\n @Input() toolbarColor?: ThemePalette;\n @Input() docked? = false;\n\n @Input() title?: string;\n @Input() toggleDockedStateLabel?: string;\n @Input() closeLabel?: string;\n\n @Output() dockToggled: EventEmitter<boolean> = new EventEmitter();\n @Output() closed: EventEmitter<void> = new EventEmitter();\n\n toolbarHeight = 56;\n\n toggleDockedState(): void {\n this.dockToggled.emit(this.docked);\n }\n}\n","<mat-toolbar\n [color]=\"toolbarColor\"\n class=\"td-window-dialog-toolbar\"\n [style.min-height.px]=\"toolbarHeight\"\n [style.cursor]=\"docked ? 'inherit' : 'move'\"\n>\n <mat-toolbar-row [style.height.px]=\"toolbarHeight\">\n <div layout=\"row\" layout-align=\"start center\" flex>\n <span class=\"mat-title td-window-dialog-title truncate\" flex>\n {{ title }}\n </span>\n <!-- TODO: Resizing a drag-and-drop element was not working so removed docking/undocking for now-->\n <!-- <button mat-icon-button [matTooltip]=\"toggleDockedStateLabel\" (click)=\"toggleDockedState()\">\n <mat-icon [attr.aria-label]=\"toggleDockedStateLabel\">\n {{ docked ? 'unfold_more' : 'unfold_less' }}\n </mat-icon>\n </button> -->\n\n <button\n mat-icon-button\n [matTooltip]=\"closeLabel ?? ''\"\n (click)=\"closed.emit()\"\n class=\"td-window-dialog-close\"\n [attr.data-test]=\"'close-button'\"\n >\n <mat-icon [attr.aria-label]=\"closeLabel\">close</mat-icon>\n </button>\n </div>\n </mat-toolbar-row>\n</mat-toolbar>\n<ng-content></ng-content>\n","import { Type } from '@angular/core';\nimport { NgModule } from '@angular/core';\n\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatButtonModule } from '@angular/material/button';\n\nimport {\n TdDialogComponent,\n TdDialogTitleDirective,\n TdDialogActionsDirective,\n TdDialogContentDirective,\n} from './dialog.component';\nimport { TdAlertDialogComponent } from './alert-dialog/alert-dialog.component';\nimport { TdConfirmDialogComponent } from './confirm-dialog/confirm-dialog.component';\nimport { TdPromptDialogComponent } from './prompt-dialog/prompt-dialog.component';\nimport { TdDialogService } from './services/dialog.service';\nimport { TdWindowDialogComponent } from './window-dialog/window-dialog.component';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatIconModule } from '@angular/material/icon';\n\nconst TD_DIALOGS: Type<any>[] = [\n TdAlertDialogComponent,\n TdConfirmDialogComponent,\n TdPromptDialogComponent,\n TdDialogComponent,\n TdDialogTitleDirective,\n TdDialogActionsDirective,\n TdDialogContentDirective,\n TdWindowDialogComponent,\n TdAlertDialogComponent,\n TdConfirmDialogComponent,\n TdPromptDialogComponent,\n];\n\n@NgModule({\n imports: [\n FormsModule,\n CommonModule,\n MatDialogModule,\n MatInputModule,\n MatButtonModule,\n MatToolbarModule,\n MatTooltipModule,\n MatIconModule,\n ],\n declarations: [...TD_DIALOGS],\n exports: [...TD_DIALOGS],\n providers: [TdDialogService],\n})\nexport class CovalentDialogsModule {}\n","import { Renderer2 } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { DragRef } from '@angular/cdk/drag-drop';\nimport { merge, Subscription, fromEvent } from 'rxjs';\nimport { Point } from '@angular/cdk/drag-drop/drag-ref';\n\nenum corners {\n topRight = 'topRight',\n bottomRight = 'bottomRight',\n bottomLeft = 'bottomLeft',\n topLeft = 'topLeft',\n}\nenum cursors {\n nesw = 'nesw-resize',\n nwse = 'nwse-resize',\n}\nenum verticalAlignment {\n top = 'top',\n bottom = 'bottom',\n}\nenum horizontalAlignment {\n right = 'right',\n left = 'left',\n}\n\nconst cornerWidth = '16px';\nconst offset = '0px';\nconst minWidth = 200;\nconst minHeight = 200;\n\nfunction getPixels(sizeString: string): number {\n return parseFloat((sizeString || '').replace('px', ''));\n}\n\nfunction clamp(min: number, num: number, max: number): number {\n return Math.min(Math.max(num, min), max);\n}\n\nexport class ResizableDraggableDialog {\n cornerElements: HTMLElement[] = [];\n pointerDownSubs: Subscription[] = [];\n\n constructor(\n private _document: any,\n private _renderer2: Renderer2,\n private _dialogRef: MatDialogRef<any>,\n private _dragRef: DragRef\n ) {\n this._initialPositionReset();\n this._attachCorners();\n }\n\n public attach(): void {\n this.detach();\n this._attachCorners();\n }\n\n public detach(): void {\n this.pointerDownSubs.forEach((sub: Subscription) => sub.unsubscribe());\n this.pointerDownSubs = [];\n this.cornerElements.forEach((elem: HTMLElement) =>\n this._renderer2.removeChild(this._getDialogWrapper(), elem)\n );\n this.cornerElements = [];\n }\n\n private _getDialogWrapper(): HTMLElement | null {\n return (\n <HTMLElement>this._document.getElementById(this._dialogRef.id) || {}\n ).parentElement;\n }\n\n private _getViewportDimensions(): ClientRect | undefined {\n return this._getDialogWrapper()?.parentElement?.getBoundingClientRect();\n }\n\n private _getDialogWrapperDimensions(): { width: number; height: number } {\n const wrapper = this._getDialogWrapper();\n if (!wrapper) {\n return { width: 0, height: 0 };\n }\n const dimensions: CSSStyleDeclaration = getComputedStyle(wrapper);\n return {\n width: getPixels(dimensions.width),\n height: getPixels(dimensions.height),\n };\n }\n\n private _initialPositionReset(): void {\n const viewportWidth = this._getViewportDimensions()?.right ?? 0;\n const viewportHeight = this._getViewportDimensions()?.bottom ?? 0;\n const { width, height } = this._getDialogWrapperDimensions();\n const wrapperStyle = this._getDialogWrapper()?.style;\n const originalDialogRight = wrapperStyle?.marginRight;\n const originalDialogLeft = wrapperStyle?.marginLeft;\n const originalDialogBottom = wrapperStyle?.marginBottom;\n const originalDialogTop = wrapperStyle?.marginTop;\n let x: number;\n if (originalDialogLeft) {\n x = getPixels(originalDialogLeft);\n } else if (originalDialogRight) {\n x = viewportWidth - getPixels(originalDialogRight) - width;\n } else {\n x = (viewportWidth - width) / 2;\n }\n let y: number;\n if (originalDialogTop) {\n y = getPixels(originalDialogTop);\n } else if (originalDialogBottom) {\n y = viewportHeight - getPixels(originalDialogBottom) - height;\n } else {\n y = (viewportHeight - height) / 2;\n }\n // use drag ref's mechanisms for positioning instead of the dialog's\n this._dialogRef.updatePosition({\n top: '0px',\n right: '0px',\n bottom: '0px',\n left: '0px',\n });\n this._dragRef.setFreeDragPosition({ x, y });\n }\n\n private _attachCorners(): void {\n Object.values(corners).forEach((corner: corners) => {\n const element: HTMLElement = this._renderer2.createElement('div');\n this.cornerElements = [...this.cornerElements, element];\n this._renderer2.setStyle(element, 'position', 'absolute');\n this._renderer2.setStyle(element, 'width', cornerWidth);\n this._renderer2.setStyle(element, 'height', cornerWidth);\n this._renderer2.appendChild(this._getDialogWrapper(), element);\n\n let cursor: cursors;\n let topBottom: verticalAlignment;\n let rightLeft: horizontalAlignment;\n\n if (corner === corners.topRight) {\n cursor = cursors.nesw;\n topBottom = verticalAlignment.top;\n rightLeft = horizontalAlignment.right;\n } else if (corner === corners.bottomRight) {\n cursor = cursors.nwse;\n topBottom = verticalAlignment.bottom;\n rightLeft = horizontalAlignment.right;\n\n const icon: HTMLElement = this._renderer2.createElement('i');\n this._renderer2.addClass(icon, 'material-icons-outlined');\n this._renderer2.appendChild(\n icon,\n this._renderer2.createText('filter_list')\n );\n this._renderer2.appendChild(element, icon);\n this._renderer2.setStyle(\n icon,\n 'transform',\n `rotate(${315}deg) translate(0px, ${offset})`\n );\n this._renderer2.setStyle(icon, 'font-size', cornerWidth);\n } else if (corner === corners.bottomLeft) {\n cursor = cursors.nesw;\n topBottom = verticalAlignment.bottom;\n rightLeft = horizontalAlignment.left;\n } else {\n cursor = cursors.nwse;\n topBottom = verticalAlignment.top;\n rightLeft = horizontalAlignment.left;\n }\n this._renderer2.setStyle(element, topBottom, offset);\n this._renderer2.setStyle(element, rightLeft, offset);\n this._renderer2.setStyle(element, 'cursor', cursor);\n\n const pointerDownSub: Subscription = fromEvent<PointerEvent>(\n element,\n 'pointerdown'\n ).subscribe((event: PointerEvent) => {\n this._handleMouseDown(event, corner);\n });\n this.pointerDownSubs = [...this.pointerDownSubs, pointerDownSub];\n });\n }\n\n private _handleMouseDown(event: PointerEvent, corner: corners): void {\n this._renderer2.setStyle(\n <HTMLElement>this._document.body,\n 'user-select',\n 'none'\n );\n const { width: originalWidth, height: originalHeight } =\n this._getDialogWrapperDimensions();\n const originalMouseX: number = event.pageX;\n const originalMouseY: number = event.pageY;\n const { x: currentTransformX, y: currentTransformY }: Point =\n this._dragRef.getFreeDragPosition();\n const wrapper = this._getDialogWrapper()?.getBoundingClientRect();\n const distanceFromBottom = wrapper?.bottom ?? 0;\n const distanceFromRight = wrapper?.right ?? 0;\n const viewportWidth = this._getViewportDimensions()?.right ?? 0;\n const viewportHeight = this._getViewportDimensions()?.bottom ?? 0;\n\n const mouseMoveSub: Subscription = fromEvent<PointerEvent>(\n window,\n 'pointermove'\n ).subscribe((e: PointerEvent) => {\n e.preventDefault(); // prevent highlighting of text when dragging\n\n const yDelta: number = clamp(0, e.pageY, viewportHeight) - originalMouseY;\n const xDelta: number = clamp(0, e.pageX, viewportWidth) - originalMouseX;\n let newHeight: number;\n let newWidth: number;\n let newTransformY = 0;\n let newTransformX = 0;\n\n // top right\n if (corner === corners.topRight) {\n newHeight = clamp(minHeight, originalHeight - yDelta, viewportHeight);\n newWidth = clamp(minWidth, originalWidth + xDelta, viewportWidth);\n newTransformY = clamp(\n 0,\n currentTransformY + yDelta,\n distanceFromBottom - newHeight\n );\n newTransformX = currentTransformX;\n }\n // bottom right\n else if (corner === corners.bottomRight) {\n newHeight = clamp(minHeight, originalHeight + yDelta, viewportHeight);\n newWidth = clamp(minWidth, originalWidth + xDelta, viewportWidth);\n newTransformY = currentTransformY;\n newTransformX = currentTransformX;\n }\n // bottom left\n else if (corner === corners.bottomLeft) {\n newHeight = clamp(minHeight, originalHeight + yDelta, viewportHeight);\n newWidth = clamp(minWidth, originalWidth - xDelta, viewportWidth);\n newTransformY = currentTransformY;\n newTransformX = clamp(\n 0,\n currentTransformX + xDelta,\n distanceFromRight - newWidth\n );\n }\n // top left\n else {\n newHeight = clamp(minHeight, originalHeight - yDelta, viewportHeight);\n newWidth = clamp(minWidth, originalWidth - xDelta, viewportWidth);\n\n newTransformX = clamp(\n 0,\n currentTransformX + xDelta,\n distanceFromRight - newWidth\n );\n newTransformY = clamp(\n 0,\n currentTransformY + yDelta,\n distanceFromBottom - newHeight\n );\n }\n this._dialogRef.updateSize(`${newWidth}px`, `${newHeight}px`);\n this._dragRef.setFreeDragPosition({\n x: newTransformX,\n y: newTransformY,\n });\n });\n\n const mouseUpSub: Subscription = merge(\n fromEvent(window, 'pointerup'),\n fromEvent(window, 'pointercancel')\n ).subscribe(() => {\n this._renderer2.removeStyle(\n <HTMLElement>this._document.body,\n 'user-select'\n );\n mouseMoveSub.unsubscribe();\n mouseUpSub.unsubscribe();\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i2.TdDialogComponent","i2.TdDialogTitleDirective","i2.TdDialogContentDirective","i2.TdDialogActionsDirective","i3","i4","i5","i2"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"covalent-core-dialogs.mjs","sources":["../../../../libs/angular/dialogs/src/dialog.component.ts","../../../../libs/angular/dialogs/src/dialog.component.html","../../../../libs/angular/dialogs/src/alert-dialog/alert-dialog.component.ts","../../../../libs/angular/dialogs/src/alert-dialog/alert-dialog.component.html","../../../../libs/angular/dialogs/src/confirm-dialog/confirm-dialog.component.ts","../../../../libs/angular/dialogs/src/confirm-dialog/confirm-dialog.component.html","../../../../libs/angular/dialogs/src/prompt-dialog/prompt-dialog.component.ts","../../../../libs/angular/dialogs/src/prompt-dialog/prompt-dialog.component.html","../../../../libs/angular/dialogs/src/services/dialog.service.ts","../../../../libs/angular/dialogs/src/window-dialog/window-dialog.component.ts","../../../../libs/angular/dialogs/src/window-dialog/window-dialog.component.html","../../../../libs/angular/dialogs/src/dialogs.module.ts","../../../../libs/angular/dialogs/src/resizable-draggable-dialog/resizable-draggable-dialog.ts","../../../../libs/angular/dialogs/src/covalent-core-dialogs.ts"],"sourcesContent":["import {\n Component,\n Directive,\n ContentChildren,\n QueryList,\n AfterContentInit,\n} from '@angular/core';\n\n@Directive({ selector: '[tdDialogTitle]' })\nexport class TdDialogTitleDirective {}\n\n@Directive({ selector: '[tdDialogContent]' })\nexport class TdDialogContentDirective {}\n\n@Directive({ selector: '[tdDialogActions]' })\nexport class TdDialogActionsDirective {}\n\n@Component({\n selector: 'td-dialog',\n templateUrl: './dialog.component.html',\n styleUrls: ['./dialog.component.scss'],\n})\nexport class TdDialogComponent implements AfterContentInit {\n @ContentChildren(TdDialogTitleDirective, { descendants: true })\n dialogTitle!: QueryList<TdDialogTitleDirective>;\n @ContentChildren(TdDialogContentDirective, { descendants: true })\n dialogContent!: QueryList<TdDialogContentDirective>;\n @ContentChildren(TdDialogActionsDirective, { descendants: true })\n dialogActions!: QueryList<TdDialogActionsDirective>;\n\n ngAfterContentInit(): void {\n if (this.dialogTitle.length > 1) {\n throw new Error('Duplicate td-dialog-title component at in td-dialog.');\n }\n if (this.dialogContent.length > 1) {\n throw new Error('Duplicate td-dialog-content component at in td-dialog.');\n }\n if (this.dialogActions.length > 1) {\n throw new Error('Duplicate td-dialog-actions component at in td-dialog.');\n }\n }\n}\n","<div class=\"td-dialog-wrapper\">\n <h3 class=\"td-dialog-title\" *ngIf=\"dialogTitle.length > 0\">\n <ng-content select=\"[tdDialogTitle]\"></ng-content>\n </h3>\n <div class=\"td-dialog-content\" *ngIf=\"dialogContent.length > 0\">\n <ng-content select=\"[tdDialogContent]\"></ng-content>\n </div>\n <div class=\"td-dialog-actions\" *ngIf=\"dialogActions.length > 0\">\n <span class=\"td-dialog-spacer\"></span>\n <ng-content select=\"[tdDialogActions]\"></ng-content>\n </div>\n</div>\n","import { Component } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\n\n@Component({\n selector: 'td-alert-dialog',\n templateUrl: './alert-dialog.component.html',\n styleUrls: ['./alert-dialog.component.scss'],\n})\nexport class TdAlertDialogComponent {\n title?: string;\n message?: string;\n closeButton?: string = 'CLOSE';\n\n constructor(private _dialogRef: MatDialogRef<TdAlertDialogComponent>) {}\n\n close(): void {\n this._dialogRef.close();\n }\n}\n","<td-dialog>\n <div tdDialogTitle *ngIf=\"title\">\n {{ title }}\n </div>\n <div tdDialogContent>\n <span class=\"td-dialog-message\">{{ message }}</span>\n </div>\n <div tdDialogActions>\n <button mat-button color=\"accent\" (click)=\"close()\">\n {{ closeButton }}\n </button>\n </div>\n</td-dialog>\n","import { Component } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\n\n@Component({\n selector: 'td-confirm-dialog',\n templateUrl: './confirm-dialog.component.html',\n styleUrls: ['./confirm-dialog.component.scss'],\n})\nexport class TdConfirmDialogComponent {\n title?: string;\n message?: string;\n cancelButton = 'CANCEL';\n acceptButton = 'ACCEPT';\n isDestructive = false;\n\n constructor(private _dialogRef: MatDialogRef<TdConfirmDialogComponent>) {}\n\n cancel(): void {\n this._dialogRef.close(false);\n }\n\n accept(): void {\n this._dialogRef.close(true);\n }\n}\n","<td-dialog>\n <div tdDialogTitle *ngIf=\"title\">\n {{ title }}\n </div>\n <div tdDialogContent>\n <span class=\"td-dialog-message\">{{ message }}</span>\n </div>\n <div tdDialogActions>\n <button\n mat-button\n #closeBtn\n (keydown.arrowright)=\"acceptBtn.focus()\"\n (click)=\"cancel()\"\n >\n {{ cancelButton }}\n </button>\n <button\n mat-button\n [color]=\"isDestructive ? 'warn' : 'accent'\"\n #acceptBtn\n (keydown.arrowleft)=\"closeBtn.focus()\"\n (click)=\"accept()\"\n >\n {{ acceptButton }}\n </button>\n </div>\n</td-dialog>\n","import {\n Component,\n ViewChild,\n ElementRef,\n AfterViewInit,\n NgZone,\n OnDestroy,\n} from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { LEFT_ARROW, RIGHT_ARROW } from '@angular/cdk/keycodes';\nimport { fromEvent, Subject, takeUntil } from 'rxjs';\n\n@Component({\n selector: 'td-prompt-dialog',\n templateUrl: './prompt-dialog.component.html',\n styleUrls: ['./prompt-dialog.component.scss'],\n})\nexport class TdPromptDialogComponent implements AfterViewInit, OnDestroy {\n title?: string;\n message?: string;\n value?: string;\n cancelButton = 'CANCEL';\n acceptButton = 'ACCEPT';\n\n /** The native `<input matInput />` element. */\n @ViewChild('input', { static: true }) _input!: ElementRef<HTMLInputElement>;\n\n @ViewChild('closeBtn', { static: true, read: ElementRef })\n _closeBtn!: ElementRef<HTMLButtonElement>;\n\n @ViewChild('acceptBtn', { static: true, read: ElementRef })\n _acceptBtn!: ElementRef<HTMLButtonElement>;\n\n private _destroy$ = new Subject<void>();\n\n constructor(\n private _ngZone: NgZone,\n private _dialogRef: MatDialogRef<TdPromptDialogComponent>\n ) {}\n\n ngAfterViewInit(): void {\n this._ngZone.runOutsideAngular(() => {\n // Note: `element.focus()` causes re-layout and this may lead to frame drop on slower devices.\n // `Promise` is a microtask and microtask are executed within the current rendering frame.\n // Animation tasks are executed within the next rendering frame.\n // We focus input once everything is rendered and good to go.\n requestAnimationFrame(() => this._input.nativeElement.focus());\n\n fromEvent(this._input.nativeElement, 'focus')\n .pipe(takeUntil(this._destroy$))\n .subscribe(() => {\n // This is executed when the input is focused, selects all text.\n this._input.nativeElement.select();\n });\n\n fromEvent<KeyboardEvent>(this._closeBtn.nativeElement, 'keydown')\n .pipe(takeUntil(this._destroy$))\n .subscribe((event) => {\n if (event.keyCode === RIGHT_ARROW) {\n this._acceptBtn.nativeElement.focus();\n }\n });\n\n fromEvent<KeyboardEvent>(this._acceptBtn.nativeElement, 'keydown')\n .pipe(takeUntil(this._destroy$))\n .subscribe((event) => {\n if (event.keyCode === LEFT_ARROW) {\n this._closeBtn.nativeElement.focus();\n }\n });\n });\n }\n\n ngOnDestroy(): void {\n this._destroy$.next();\n }\n\n cancel(): void {\n this._dialogRef.close();\n }\n\n accept(): void {\n this._dialogRef.close(this.value);\n }\n}\n","<td-dialog>\n <div tdDialogTitle *ngIf=\"title\">\n {{ title }}\n </div>\n <div tdDialogContent>\n <span class=\"td-dialog-message\">{{ message }}</span>\n <form #form=\"ngForm\" novalidate>\n <div class=\"td-dialog-input-wrapper\">\n <mat-form-field class=\"td-dialog-input\">\n <input\n matInput\n #input\n (keydown.enter)=\"$event.preventDefault(); form.valid && accept()\"\n [(ngModel)]=\"value\"\n name=\"value\"\n required\n />\n </mat-form-field>\n </div>\n </form>\n </div>\n <div tdDialogActions>\n <button mat-button #closeBtn (click)=\"cancel()\">\n {{ cancelButton }}\n </button>\n <button\n mat-button\n color=\"accent\"\n #acceptBtn\n [disabled]=\"!form.valid\"\n (click)=\"accept()\"\n >\n {{ acceptButton }}\n </button>\n </div>\n</td-dialog>\n","import { Injectable, Inject, Renderer2, RendererFactory2 } from '@angular/core';\nimport {\n MatDialog,\n MatDialogRef,\n MatDialogConfig,\n} from '@angular/material/dialog';\nimport { ComponentType } from '@angular/cdk/portal';\n\nimport { TdAlertDialogComponent } from '../alert-dialog/alert-dialog.component';\nimport { TdConfirmDialogComponent } from '../confirm-dialog/confirm-dialog.component';\nimport { TdPromptDialogComponent } from '../prompt-dialog/prompt-dialog.component';\nimport { DragDrop, DragRef } from '@angular/cdk/drag-drop';\nimport { DOCUMENT } from '@angular/common';\nimport { Subject } from 'rxjs';\n\nexport interface IDialogConfig extends MatDialogConfig {\n title?: string;\n message: string;\n}\n\nexport interface IAlertConfig extends IDialogConfig {\n closeButton?: string;\n}\n\nexport interface IConfirmConfig extends IDialogConfig {\n acceptButton?: string;\n cancelButton?: string;\n isDestructive?: boolean;\n}\n\nexport interface IPromptConfig extends IConfirmConfig {\n value?: string;\n}\n\nexport interface IDraggableConfig<T> {\n component: ComponentType<T>;\n config?: MatDialogConfig;\n // CSS selectors of element(s) inside the component meant to be drag handle(s)\n dragHandleSelectors?: string[];\n // Class that will be added to the component signifying drag-ability\n draggableClass?: string;\n}\n\nexport interface IDraggableRefs<T> {\n matDialogRef: MatDialogRef<T>;\n dragRefSubject: Subject<DragRef>;\n}\n\n@Injectable()\nexport class TdDialogService {\n private _renderer2: Renderer2;\n\n constructor(\n @Inject(DOCUMENT) private _document: any,\n private _dialogService: MatDialog,\n private _dragDrop: DragDrop,\n private rendererFactory: RendererFactory2\n ) {\n this._renderer2 = rendererFactory.createRenderer(undefined, null);\n }\n\n /**\n * params:\n * - component: ComponentType<T>\n * - config: MatDialogConfig\n * Wrapper function over the open() method in MatDialog.\n * Opens a modal dialog containing the given component.\n */\n public open<T>(\n component: ComponentType<T>,\n config?: MatDialogConfig\n ): MatDialogRef<T> {\n return this._dialogService.open(component, config);\n }\n\n /**\n * Wrapper function over the closeAll() method in MatDialog.\n * Closes all of the currently-open dialogs.\n */\n public closeAll(): void {\n this._dialogService.closeAll();\n }\n\n /**\n * params:\n * - config: IAlertConfig {\n * message: string;\n * title?: string;\n * viewContainerRef?: ViewContainerRef;\n * closeButton?: string;\n * }\n *\n * Opens an alert dialog with the provided config.\n * Returns an MatDialogRef<TdAlertDialogComponent> object.\n */\n public openAlert(config: IAlertConfig): MatDialogRef<TdAlertDialogComponent> {\n const dialogConfig: MatDialogConfig = this._createConfig(config);\n const dialogRef: MatDialogRef<TdAlertDialogComponent> =\n this._dialogService.open(TdAlertDialogComponent, dialogConfig);\n const alertDialogComponent: TdAlertDialogComponent =\n dialogRef.componentInstance;\n alertDialogComponent.title = config.title;\n alertDialogComponent.message = config.message;\n if (config.closeButton) {\n alertDialogComponent.closeButton = config.closeButton;\n }\n return dialogRef;\n }\n\n /**\n * params:\n * - config: IConfirmConfig {\n * message: string;\n * title?: string;\n * viewContainerRef?: ViewContainerRef;\n * acceptButton?: string;\n * cancelButton?: string;\n * isDestructive?: boolean;\n * }\n *\n * Opens a confirm dialog with the provided config.\n * Returns an MatDialogRef<TdConfirmDialogComponent> object.\n */\n public openConfirm(\n config: IConfirmConfig\n ): MatDialogRef<TdConfirmDialogComponent> {\n const dialogConfig: MatDialogConfig = this._createConfig(config);\n const dialogRef: MatDialogRef<TdConfirmDialogComponent> =\n this._dialogService.open(TdConfirmDialogComponent, dialogConfig);\n const confirmDialogComponent: TdConfirmDialogComponent =\n dialogRef.componentInstance;\n confirmDialogComponent.title = config.title;\n confirmDialogComponent.message = config.message;\n if (config.acceptButton) {\n confirmDialogComponent.acceptButton = config.acceptButton;\n }\n if (config.isDestructive) {\n confirmDialogComponent.isDestructive = config.isDestructive;\n }\n if (config.cancelButton) {\n confirmDialogComponent.cancelButton = config.cancelButton;\n }\n return dialogRef;\n }\n\n /**\n * params:\n * - config: IPromptConfig {\n * message: string;\n * title?: string;\n * value?: string;\n * viewContainerRef?: ViewContainerRef;\n * acceptButton?: string;\n * cancelButton?: string;\n * }\n *\n * Opens a prompt dialog with the provided config.\n * Returns an MatDialogRef<TdPromptDialogComponent> object.\n */\n public openPrompt(\n config: IPromptConfig\n ): MatDialogRef<TdPromptDialogComponent> {\n const dialogConfig: MatDialogConfig = this._createConfig(config);\n const dialogRef: MatDialogRef<TdPromptDialogComponent> =\n this._dialogService.open(TdPromptDialogComponent, dialogConfig);\n const promptDialogComponent: TdPromptDialogComponent =\n dialogRef.componentInstance;\n promptDialogComponent.title = config.title;\n promptDialogComponent.message = config.message;\n promptDialogComponent.value = config.value;\n if (config.acceptButton) {\n promptDialogComponent.acceptButton = config.acceptButton;\n }\n if (config.cancelButton) {\n promptDialogComponent.cancelButton = config.cancelButton;\n }\n return dialogRef;\n }\n\n /**\n * Opens a draggable dialog containing the given component.\n */\n public openDraggable<T>({\n component,\n config,\n dragHandleSelectors,\n draggableClass,\n }: IDraggableConfig<T>): IDraggableRefs<T> {\n const matDialogRef: MatDialogRef<T, any> = this._dialogService.open(\n component,\n config\n );\n const dragRefSubject: Subject<DragRef> = new Subject<DragRef>();\n\n const CDK_OVERLAY_PANE_SELECTOR = '.cdk-overlay-pane';\n const CDK_OVERLAY_CONTAINER_SELECTOR = '.cdk-overlay-container';\n\n matDialogRef.afterOpened().subscribe(() => {\n const dialogElement: HTMLElement = <HTMLElement>(\n this._document.getElementById(matDialogRef.id)\n );\n const draggableElement: DragRef =\n this._dragDrop.createDrag(dialogElement);\n\n if (draggableClass) {\n const childComponent = dialogElement.firstElementChild;\n this._renderer2.addClass(childComponent, draggableClass);\n }\n if (dragHandleSelectors && dragHandleSelectors.length) {\n const dragHandles: Element[] = dragHandleSelectors.reduce(\n (acc: Element[], curr: string) => [\n ...acc,\n ...Array.from(dialogElement.querySelectorAll(curr)),\n ],\n []\n );\n if (dragHandles.length > 0) {\n draggableElement.withHandles(<HTMLElement[]>dragHandles);\n }\n }\n const rootElement = dialogElement.closest(CDK_OVERLAY_PANE_SELECTOR);\n if (rootElement) {\n draggableElement.withRootElement(<HTMLElement>rootElement);\n }\n\n const boundaryElement = dialogElement.closest(\n CDK_OVERLAY_CONTAINER_SELECTOR\n );\n if (boundaryElement) {\n draggableElement.withBoundaryElement(<HTMLElement>boundaryElement);\n }\n dragRefSubject.next(draggableElement);\n });\n\n return { matDialogRef, dragRefSubject };\n }\n\n private _createConfig(config: IDialogConfig): MatDialogConfig {\n const dialogConfig: MatDialogConfig = new MatDialogConfig();\n dialogConfig.width = '400px';\n Object.assign(dialogConfig, config);\n return dialogConfig;\n }\n}\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n} from '@angular/core';\nimport { ThemePalette } from '@angular/material/core';\n\n@Component({\n selector: 'td-window-dialog',\n templateUrl: './window-dialog.component.html',\n styleUrls: ['./window-dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TdWindowDialogComponent {\n @Input() toolbarColor?: ThemePalette;\n @Input() docked? = false;\n\n @Input() title?: string;\n @Input() toggleDockedStateLabel?: string;\n @Input() closeLabel?: string;\n\n @Output() dockToggled: EventEmitter<boolean> = new EventEmitter();\n @Output() closed: EventEmitter<void> = new EventEmitter();\n\n toolbarHeight = 56;\n\n toggleDockedState(): void {\n this.dockToggled.emit(this.docked);\n }\n}\n","<mat-toolbar\n [color]=\"toolbarColor\"\n class=\"td-window-dialog-toolbar\"\n [style.min-height.px]=\"toolbarHeight\"\n [style.cursor]=\"docked ? 'inherit' : 'move'\"\n>\n <mat-toolbar-row [style.height.px]=\"toolbarHeight\">\n <div layout=\"row\" layout-align=\"start center\" flex>\n <span class=\"mat-title td-window-dialog-title truncate\" flex>\n {{ title }}\n </span>\n <!-- TODO: Resizing a drag-and-drop element was not working so removed docking/undocking for now-->\n <!-- <button mat-icon-button [matTooltip]=\"toggleDockedStateLabel\" (click)=\"toggleDockedState()\">\n <mat-icon [attr.aria-label]=\"toggleDockedStateLabel\">\n {{ docked ? 'unfold_more' : 'unfold_less' }}\n </mat-icon>\n </button> -->\n\n <button\n mat-icon-button\n [matTooltip]=\"closeLabel ?? ''\"\n (click)=\"closed.emit()\"\n class=\"td-window-dialog-close\"\n [attr.data-test]=\"'close-button'\"\n >\n <mat-icon [attr.aria-label]=\"closeLabel\">close</mat-icon>\n </button>\n </div>\n </mat-toolbar-row>\n</mat-toolbar>\n<ng-content></ng-content>\n","import { Type } from '@angular/core';\nimport { NgModule } from '@angular/core';\n\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatButtonModule } from '@angular/material/button';\n\nimport {\n TdDialogComponent,\n TdDialogTitleDirective,\n TdDialogActionsDirective,\n TdDialogContentDirective,\n} from './dialog.component';\nimport { TdAlertDialogComponent } from './alert-dialog/alert-dialog.component';\nimport { TdConfirmDialogComponent } from './confirm-dialog/confirm-dialog.component';\nimport { TdPromptDialogComponent } from './prompt-dialog/prompt-dialog.component';\nimport { TdDialogService } from './services/dialog.service';\nimport { TdWindowDialogComponent } from './window-dialog/window-dialog.component';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatIconModule } from '@angular/material/icon';\n\nconst TD_DIALOGS: Type<any>[] = [\n TdAlertDialogComponent,\n TdConfirmDialogComponent,\n TdPromptDialogComponent,\n TdDialogComponent,\n TdDialogTitleDirective,\n TdDialogActionsDirective,\n TdDialogContentDirective,\n TdWindowDialogComponent,\n TdAlertDialogComponent,\n TdConfirmDialogComponent,\n TdPromptDialogComponent,\n];\n\n@NgModule({\n imports: [\n FormsModule,\n CommonModule,\n MatDialogModule,\n MatInputModule,\n MatButtonModule,\n MatToolbarModule,\n MatTooltipModule,\n MatIconModule,\n ],\n declarations: [...TD_DIALOGS],\n exports: [...TD_DIALOGS],\n providers: [TdDialogService],\n})\nexport class CovalentDialogsModule {}\n","import { Renderer2 } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { DragRef } from '@angular/cdk/drag-drop';\nimport { merge, Subscription, fromEvent } from 'rxjs';\nimport { Point } from '@angular/cdk/drag-drop/drag-ref';\n\nenum corners {\n topRight = 'topRight',\n bottomRight = 'bottomRight',\n bottomLeft = 'bottomLeft',\n topLeft = 'topLeft',\n}\nenum cursors {\n nesw = 'nesw-resize',\n nwse = 'nwse-resize',\n}\nenum verticalAlignment {\n top = 'top',\n bottom = 'bottom',\n}\nenum horizontalAlignment {\n right = 'right',\n left = 'left',\n}\n\nconst cornerWidth = '16px';\nconst offset = '0px';\nconst minWidth = 200;\nconst minHeight = 200;\n\nfunction getPixels(sizeString: string): number {\n return parseFloat((sizeString || '').replace('px', ''));\n}\n\nfunction clamp(min: number, num: number, max: number): number {\n return Math.min(Math.max(num, min), max);\n}\n\nexport class ResizableDraggableDialog {\n cornerElements: HTMLElement[] = [];\n pointerDownSubs: Subscription[] = [];\n\n constructor(\n private _document: any,\n private _renderer2: Renderer2,\n private _dialogRef: MatDialogRef<any>,\n private _dragRef: DragRef\n ) {\n this._initialPositionReset();\n this._attachCorners();\n }\n\n public attach(): void {\n this.detach();\n this._attachCorners();\n }\n\n public detach(): void {\n this.pointerDownSubs.forEach((sub: Subscription) => sub.unsubscribe());\n this.pointerDownSubs = [];\n this.cornerElements.forEach((elem: HTMLElement) =>\n this._renderer2.removeChild(this._getDialogWrapper(), elem)\n );\n this.cornerElements = [];\n }\n\n private _getDialogWrapper(): HTMLElement | null {\n return (\n <HTMLElement>this._document.getElementById(this._dialogRef.id) || {}\n ).parentElement;\n }\n\n private _getViewportDimensions(): ClientRect | undefined {\n return this._getDialogWrapper()?.parentElement?.getBoundingClientRect();\n }\n\n private _getDialogWrapperDimensions(): { width: number; height: number } {\n const wrapper = this._getDialogWrapper();\n if (!wrapper) {\n return { width: 0, height: 0 };\n }\n const dimensions: CSSStyleDeclaration = getComputedStyle(wrapper);\n return {\n width: getPixels(dimensions.width),\n height: getPixels(dimensions.height),\n };\n }\n\n private _initialPositionReset(): void {\n const viewportWidth = this._getViewportDimensions()?.right ?? 0;\n const viewportHeight = this._getViewportDimensions()?.bottom ?? 0;\n const { width, height } = this._getDialogWrapperDimensions();\n const wrapperStyle = this._getDialogWrapper()?.style;\n const originalDialogRight = wrapperStyle?.marginRight;\n const originalDialogLeft = wrapperStyle?.marginLeft;\n const originalDialogBottom = wrapperStyle?.marginBottom;\n const originalDialogTop = wrapperStyle?.marginTop;\n let x: number;\n if (originalDialogLeft) {\n x = getPixels(originalDialogLeft);\n } else if (originalDialogRight) {\n x = viewportWidth - getPixels(originalDialogRight) - width;\n } else {\n x = (viewportWidth - width) / 2;\n }\n let y: number;\n if (originalDialogTop) {\n y = getPixels(originalDialogTop);\n } else if (originalDialogBottom) {\n y = viewportHeight - getPixels(originalDialogBottom) - height;\n } else {\n y = (viewportHeight - height) / 2;\n }\n // use drag ref's mechanisms for positioning instead of the dialog's\n this._dialogRef.updatePosition({\n top: '0px',\n right: '0px',\n bottom: '0px',\n left: '0px',\n });\n this._dragRef.setFreeDragPosition({ x, y });\n }\n\n private _attachCorners(): void {\n Object.values(corners).forEach((corner: corners) => {\n const element: HTMLElement = this._renderer2.createElement('div');\n this.cornerElements = [...this.cornerElements, element];\n this._renderer2.setStyle(element, 'position', 'absolute');\n this._renderer2.setStyle(element, 'width', cornerWidth);\n this._renderer2.setStyle(element, 'height', cornerWidth);\n this._renderer2.appendChild(this._getDialogWrapper(), element);\n\n let cursor: cursors;\n let topBottom: verticalAlignment;\n let rightLeft: horizontalAlignment;\n\n if (corner === corners.topRight) {\n cursor = cursors.nesw;\n topBottom = verticalAlignment.top;\n rightLeft = horizontalAlignment.right;\n } else if (corner === corners.bottomRight) {\n cursor = cursors.nwse;\n topBottom = verticalAlignment.bottom;\n rightLeft = horizontalAlignment.right;\n\n const icon: HTMLElement = this._renderer2.createElement('i');\n this._renderer2.addClass(icon, 'material-symbols-outlined');\n this._renderer2.appendChild(\n icon,\n this._renderer2.createText('filter_list')\n );\n this._renderer2.appendChild(element, icon);\n this._renderer2.setStyle(\n icon,\n 'transform',\n `rotate(${315}deg) translate(0px, ${offset})`\n );\n this._renderer2.setStyle(icon, 'font-size', cornerWidth);\n } else if (corner === corners.bottomLeft) {\n cursor = cursors.nesw;\n topBottom = verticalAlignment.bottom;\n rightLeft = horizontalAlignment.left;\n } else {\n cursor = cursors.nwse;\n topBottom = verticalAlignment.top;\n rightLeft = horizontalAlignment.left;\n }\n this._renderer2.setStyle(element, topBottom, offset);\n this._renderer2.setStyle(element, rightLeft, offset);\n this._renderer2.setStyle(element, 'cursor', cursor);\n\n const pointerDownSub: Subscription = fromEvent<PointerEvent>(\n element,\n 'pointerdown'\n ).subscribe((event: PointerEvent) => {\n this._handleMouseDown(event, corner);\n });\n this.pointerDownSubs = [...this.pointerDownSubs, pointerDownSub];\n });\n }\n\n private _handleMouseDown(event: PointerEvent, corner: corners): void {\n this._renderer2.setStyle(\n <HTMLElement>this._document.body,\n 'user-select',\n 'none'\n );\n const { width: originalWidth, height: originalHeight } =\n this._getDialogWrapperDimensions();\n const originalMouseX: number = event.pageX;\n const originalMouseY: number = event.pageY;\n const { x: currentTransformX, y: currentTransformY }: Point =\n this._dragRef.getFreeDragPosition();\n const wrapper = this._getDialogWrapper()?.getBoundingClientRect();\n const distanceFromBottom = wrapper?.bottom ?? 0;\n const distanceFromRight = wrapper?.right ?? 0;\n const viewportWidth = this._getViewportDimensions()?.right ?? 0;\n const viewportHeight = this._getViewportDimensions()?.bottom ?? 0;\n\n const mouseMoveSub: Subscription = fromEvent<PointerEvent>(\n window,\n 'pointermove'\n ).subscribe((e: PointerEvent) => {\n e.preventDefault(); // prevent highlighting of text when dragging\n\n const yDelta: number = clamp(0, e.pageY, viewportHeight) - originalMouseY;\n const xDelta: number = clamp(0, e.pageX, viewportWidth) - originalMouseX;\n let newHeight: number;\n let newWidth: number;\n let newTransformY = 0;\n let newTransformX = 0;\n\n // top right\n if (corner === corners.topRight) {\n newHeight = clamp(minHeight, originalHeight - yDelta, viewportHeight);\n newWidth = clamp(minWidth, originalWidth + xDelta, viewportWidth);\n newTransformY = clamp(\n 0,\n currentTransformY + yDelta,\n distanceFromBottom - newHeight\n );\n newTransformX = currentTransformX;\n }\n // bottom right\n else if (corner === corners.bottomRight) {\n newHeight = clamp(minHeight, originalHeight + yDelta, viewportHeight);\n newWidth = clamp(minWidth, originalWidth + xDelta, viewportWidth);\n newTransformY = currentTransformY;\n newTransformX = currentTransformX;\n }\n // bottom left\n else if (corner === corners.bottomLeft) {\n newHeight = clamp(minHeight, originalHeight + yDelta, viewportHeight);\n newWidth = clamp(minWidth, originalWidth - xDelta, viewportWidth);\n newTransformY = currentTransformY;\n newTransformX = clamp(\n 0,\n currentTransformX + xDelta,\n distanceFromRight - newWidth\n );\n }\n // top left\n else {\n newHeight = clamp(minHeight, originalHeight - yDelta, viewportHeight);\n newWidth = clamp(minWidth, originalWidth - xDelta, viewportWidth);\n\n newTransformX = clamp(\n 0,\n currentTransformX + xDelta,\n distanceFromRight - newWidth\n );\n newTransformY = clamp(\n 0,\n currentTransformY + yDelta,\n distanceFromBottom - newHeight\n );\n }\n this._dialogRef.updateSize(`${newWidth}px`, `${newHeight}px`);\n this._dragRef.setFreeDragPosition({\n x: newTransformX,\n y: newTransformY,\n });\n });\n\n const mouseUpSub: Subscription = merge(\n fromEvent(window, 'pointerup'),\n fromEvent(window, 'pointercancel')\n ).subscribe(() => {\n this._renderer2.removeStyle(\n <HTMLElement>this._document.body,\n 'user-select'\n );\n mouseMoveSub.unsubscribe();\n mouseUpSub.unsubscribe();\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i2.TdDialogComponent","i2.TdDialogTitleDirective","i2.TdDialogContentDirective","i2.TdDialogActionsDirective","i3","i4","i5","i2"],"mappings":"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"}
|
@@ -568,7 +568,7 @@ class ResizableDraggableDialog {
|
|
568
568
|
topBottom = verticalAlignment.bottom;
|
569
569
|
rightLeft = horizontalAlignment.right;
|
570
570
|
const icon = this._renderer2.createElement('i');
|
571
|
-
this._renderer2.addClass(icon, 'material-
|
571
|
+
this._renderer2.addClass(icon, 'material-symbols-outlined');
|
572
572
|
this._renderer2.appendChild(icon, this._renderer2.createText('filter_list'));
|
573
573
|
this._renderer2.appendChild(element, icon);
|
574
574
|
this._renderer2.setStyle(icon, 'transform', `rotate(${315}deg) translate(0px, ${offset})`);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"covalent-core-dialogs.mjs","sources":["../../../../libs/angular/dialogs/src/dialog.component.ts","../../../../libs/angular/dialogs/src/dialog.component.html","../../../../libs/angular/dialogs/src/alert-dialog/alert-dialog.component.ts","../../../../libs/angular/dialogs/src/alert-dialog/alert-dialog.component.html","../../../../libs/angular/dialogs/src/confirm-dialog/confirm-dialog.component.ts","../../../../libs/angular/dialogs/src/confirm-dialog/confirm-dialog.component.html","../../../../libs/angular/dialogs/src/prompt-dialog/prompt-dialog.component.ts","../../../../libs/angular/dialogs/src/prompt-dialog/prompt-dialog.component.html","../../../../libs/angular/dialogs/src/services/dialog.service.ts","../../../../libs/angular/dialogs/src/window-dialog/window-dialog.component.ts","../../../../libs/angular/dialogs/src/window-dialog/window-dialog.component.html","../../../../libs/angular/dialogs/src/dialogs.module.ts","../../../../libs/angular/dialogs/src/resizable-draggable-dialog/resizable-draggable-dialog.ts","../../../../libs/angular/dialogs/src/covalent-core-dialogs.ts"],"sourcesContent":["import {\n Component,\n Directive,\n ContentChildren,\n QueryList,\n AfterContentInit,\n} from '@angular/core';\n\n@Directive({ selector: '[tdDialogTitle]' })\nexport class TdDialogTitleDirective {}\n\n@Directive({ selector: '[tdDialogContent]' })\nexport class TdDialogContentDirective {}\n\n@Directive({ selector: '[tdDialogActions]' })\nexport class TdDialogActionsDirective {}\n\n@Component({\n selector: 'td-dialog',\n templateUrl: './dialog.component.html',\n styleUrls: ['./dialog.component.scss'],\n})\nexport class TdDialogComponent implements AfterContentInit {\n @ContentChildren(TdDialogTitleDirective, { descendants: true })\n dialogTitle!: QueryList<TdDialogTitleDirective>;\n @ContentChildren(TdDialogContentDirective, { descendants: true })\n dialogContent!: QueryList<TdDialogContentDirective>;\n @ContentChildren(TdDialogActionsDirective, { descendants: true })\n dialogActions!: QueryList<TdDialogActionsDirective>;\n\n ngAfterContentInit(): void {\n if (this.dialogTitle.length > 1) {\n throw new Error('Duplicate td-dialog-title component at in td-dialog.');\n }\n if (this.dialogContent.length > 1) {\n throw new Error('Duplicate td-dialog-content component at in td-dialog.');\n }\n if (this.dialogActions.length > 1) {\n throw new Error('Duplicate td-dialog-actions component at in td-dialog.');\n }\n }\n}\n","<div class=\"td-dialog-wrapper\">\n <h3 class=\"td-dialog-title\" *ngIf=\"dialogTitle.length > 0\">\n <ng-content select=\"[tdDialogTitle]\"></ng-content>\n </h3>\n <div class=\"td-dialog-content\" *ngIf=\"dialogContent.length > 0\">\n <ng-content select=\"[tdDialogContent]\"></ng-content>\n </div>\n <div class=\"td-dialog-actions\" *ngIf=\"dialogActions.length > 0\">\n <span class=\"td-dialog-spacer\"></span>\n <ng-content select=\"[tdDialogActions]\"></ng-content>\n </div>\n</div>\n","import { Component } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\n\n@Component({\n selector: 'td-alert-dialog',\n templateUrl: './alert-dialog.component.html',\n styleUrls: ['./alert-dialog.component.scss'],\n})\nexport class TdAlertDialogComponent {\n title?: string;\n message?: string;\n closeButton?: string = 'CLOSE';\n\n constructor(private _dialogRef: MatDialogRef<TdAlertDialogComponent>) {}\n\n close(): void {\n this._dialogRef.close();\n }\n}\n","<td-dialog>\n <div tdDialogTitle *ngIf=\"title\">\n {{ title }}\n </div>\n <div tdDialogContent>\n <span class=\"td-dialog-message\">{{ message }}</span>\n </div>\n <div tdDialogActions>\n <button mat-button color=\"accent\" (click)=\"close()\">\n {{ closeButton }}\n </button>\n </div>\n</td-dialog>\n","import { Component } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\n\n@Component({\n selector: 'td-confirm-dialog',\n templateUrl: './confirm-dialog.component.html',\n styleUrls: ['./confirm-dialog.component.scss'],\n})\nexport class TdConfirmDialogComponent {\n title?: string;\n message?: string;\n cancelButton = 'CANCEL';\n acceptButton = 'ACCEPT';\n isDestructive = false;\n\n constructor(private _dialogRef: MatDialogRef<TdConfirmDialogComponent>) {}\n\n cancel(): void {\n this._dialogRef.close(false);\n }\n\n accept(): void {\n this._dialogRef.close(true);\n }\n}\n","<td-dialog>\n <div tdDialogTitle *ngIf=\"title\">\n {{ title }}\n </div>\n <div tdDialogContent>\n <span class=\"td-dialog-message\">{{ message }}</span>\n </div>\n <div tdDialogActions>\n <button\n mat-button\n #closeBtn\n (keydown.arrowright)=\"acceptBtn.focus()\"\n (click)=\"cancel()\"\n >\n {{ cancelButton }}\n </button>\n <button\n mat-button\n [color]=\"isDestructive ? 'warn' : 'accent'\"\n #acceptBtn\n (keydown.arrowleft)=\"closeBtn.focus()\"\n (click)=\"accept()\"\n >\n {{ acceptButton }}\n </button>\n </div>\n</td-dialog>\n","import {\n Component,\n ViewChild,\n ElementRef,\n AfterViewInit,\n NgZone,\n OnDestroy,\n} from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { LEFT_ARROW, RIGHT_ARROW } from '@angular/cdk/keycodes';\nimport { fromEvent, Subject, takeUntil } from 'rxjs';\n\n@Component({\n selector: 'td-prompt-dialog',\n templateUrl: './prompt-dialog.component.html',\n styleUrls: ['./prompt-dialog.component.scss'],\n})\nexport class TdPromptDialogComponent implements AfterViewInit, OnDestroy {\n title?: string;\n message?: string;\n value?: string;\n cancelButton = 'CANCEL';\n acceptButton = 'ACCEPT';\n\n /** The native `<input matInput />` element. */\n @ViewChild('input', { static: true }) _input!: ElementRef<HTMLInputElement>;\n\n @ViewChild('closeBtn', { static: true, read: ElementRef })\n _closeBtn!: ElementRef<HTMLButtonElement>;\n\n @ViewChild('acceptBtn', { static: true, read: ElementRef })\n _acceptBtn!: ElementRef<HTMLButtonElement>;\n\n private _destroy$ = new Subject<void>();\n\n constructor(\n private _ngZone: NgZone,\n private _dialogRef: MatDialogRef<TdPromptDialogComponent>\n ) {}\n\n ngAfterViewInit(): void {\n this._ngZone.runOutsideAngular(() => {\n // Note: `element.focus()` causes re-layout and this may lead to frame drop on slower devices.\n // `Promise` is a microtask and microtask are executed within the current rendering frame.\n // Animation tasks are executed within the next rendering frame.\n // We focus input once everything is rendered and good to go.\n requestAnimationFrame(() => this._input.nativeElement.focus());\n\n fromEvent(this._input.nativeElement, 'focus')\n .pipe(takeUntil(this._destroy$))\n .subscribe(() => {\n // This is executed when the input is focused, selects all text.\n this._input.nativeElement.select();\n });\n\n fromEvent<KeyboardEvent>(this._closeBtn.nativeElement, 'keydown')\n .pipe(takeUntil(this._destroy$))\n .subscribe((event) => {\n if (event.keyCode === RIGHT_ARROW) {\n this._acceptBtn.nativeElement.focus();\n }\n });\n\n fromEvent<KeyboardEvent>(this._acceptBtn.nativeElement, 'keydown')\n .pipe(takeUntil(this._destroy$))\n .subscribe((event) => {\n if (event.keyCode === LEFT_ARROW) {\n this._closeBtn.nativeElement.focus();\n }\n });\n });\n }\n\n ngOnDestroy(): void {\n this._destroy$.next();\n }\n\n cancel(): void {\n this._dialogRef.close();\n }\n\n accept(): void {\n this._dialogRef.close(this.value);\n }\n}\n","<td-dialog>\n <div tdDialogTitle *ngIf=\"title\">\n {{ title }}\n </div>\n <div tdDialogContent>\n <span class=\"td-dialog-message\">{{ message }}</span>\n <form #form=\"ngForm\" novalidate>\n <div class=\"td-dialog-input-wrapper\">\n <mat-form-field class=\"td-dialog-input\">\n <input\n matInput\n #input\n (keydown.enter)=\"$event.preventDefault(); form.valid && accept()\"\n [(ngModel)]=\"value\"\n name=\"value\"\n required\n />\n </mat-form-field>\n </div>\n </form>\n </div>\n <div tdDialogActions>\n <button mat-button #closeBtn (click)=\"cancel()\">\n {{ cancelButton }}\n </button>\n <button\n mat-button\n color=\"accent\"\n #acceptBtn\n [disabled]=\"!form.valid\"\n (click)=\"accept()\"\n >\n {{ acceptButton }}\n </button>\n </div>\n</td-dialog>\n","import { Injectable, Inject, Renderer2, RendererFactory2 } from '@angular/core';\nimport {\n MatDialog,\n MatDialogRef,\n MatDialogConfig,\n} from '@angular/material/dialog';\nimport { ComponentType } from '@angular/cdk/portal';\n\nimport { TdAlertDialogComponent } from '../alert-dialog/alert-dialog.component';\nimport { TdConfirmDialogComponent } from '../confirm-dialog/confirm-dialog.component';\nimport { TdPromptDialogComponent } from '../prompt-dialog/prompt-dialog.component';\nimport { DragDrop, DragRef } from '@angular/cdk/drag-drop';\nimport { DOCUMENT } from '@angular/common';\nimport { Subject } from 'rxjs';\n\nexport interface IDialogConfig extends MatDialogConfig {\n title?: string;\n message: string;\n}\n\nexport interface IAlertConfig extends IDialogConfig {\n closeButton?: string;\n}\n\nexport interface IConfirmConfig extends IDialogConfig {\n acceptButton?: string;\n cancelButton?: string;\n isDestructive?: boolean;\n}\n\nexport interface IPromptConfig extends IConfirmConfig {\n value?: string;\n}\n\nexport interface IDraggableConfig<T> {\n component: ComponentType<T>;\n config?: MatDialogConfig;\n // CSS selectors of element(s) inside the component meant to be drag handle(s)\n dragHandleSelectors?: string[];\n // Class that will be added to the component signifying drag-ability\n draggableClass?: string;\n}\n\nexport interface IDraggableRefs<T> {\n matDialogRef: MatDialogRef<T>;\n dragRefSubject: Subject<DragRef>;\n}\n\n@Injectable()\nexport class TdDialogService {\n private _renderer2: Renderer2;\n\n constructor(\n @Inject(DOCUMENT) private _document: any,\n private _dialogService: MatDialog,\n private _dragDrop: DragDrop,\n private rendererFactory: RendererFactory2\n ) {\n this._renderer2 = rendererFactory.createRenderer(undefined, null);\n }\n\n /**\n * params:\n * - component: ComponentType<T>\n * - config: MatDialogConfig\n * Wrapper function over the open() method in MatDialog.\n * Opens a modal dialog containing the given component.\n */\n public open<T>(\n component: ComponentType<T>,\n config?: MatDialogConfig\n ): MatDialogRef<T> {\n return this._dialogService.open(component, config);\n }\n\n /**\n * Wrapper function over the closeAll() method in MatDialog.\n * Closes all of the currently-open dialogs.\n */\n public closeAll(): void {\n this._dialogService.closeAll();\n }\n\n /**\n * params:\n * - config: IAlertConfig {\n * message: string;\n * title?: string;\n * viewContainerRef?: ViewContainerRef;\n * closeButton?: string;\n * }\n *\n * Opens an alert dialog with the provided config.\n * Returns an MatDialogRef<TdAlertDialogComponent> object.\n */\n public openAlert(config: IAlertConfig): MatDialogRef<TdAlertDialogComponent> {\n const dialogConfig: MatDialogConfig = this._createConfig(config);\n const dialogRef: MatDialogRef<TdAlertDialogComponent> =\n this._dialogService.open(TdAlertDialogComponent, dialogConfig);\n const alertDialogComponent: TdAlertDialogComponent =\n dialogRef.componentInstance;\n alertDialogComponent.title = config.title;\n alertDialogComponent.message = config.message;\n if (config.closeButton) {\n alertDialogComponent.closeButton = config.closeButton;\n }\n return dialogRef;\n }\n\n /**\n * params:\n * - config: IConfirmConfig {\n * message: string;\n * title?: string;\n * viewContainerRef?: ViewContainerRef;\n * acceptButton?: string;\n * cancelButton?: string;\n * isDestructive?: boolean;\n * }\n *\n * Opens a confirm dialog with the provided config.\n * Returns an MatDialogRef<TdConfirmDialogComponent> object.\n */\n public openConfirm(\n config: IConfirmConfig\n ): MatDialogRef<TdConfirmDialogComponent> {\n const dialogConfig: MatDialogConfig = this._createConfig(config);\n const dialogRef: MatDialogRef<TdConfirmDialogComponent> =\n this._dialogService.open(TdConfirmDialogComponent, dialogConfig);\n const confirmDialogComponent: TdConfirmDialogComponent =\n dialogRef.componentInstance;\n confirmDialogComponent.title = config.title;\n confirmDialogComponent.message = config.message;\n if (config.acceptButton) {\n confirmDialogComponent.acceptButton = config.acceptButton;\n }\n if (config.isDestructive) {\n confirmDialogComponent.isDestructive = config.isDestructive;\n }\n if (config.cancelButton) {\n confirmDialogComponent.cancelButton = config.cancelButton;\n }\n return dialogRef;\n }\n\n /**\n * params:\n * - config: IPromptConfig {\n * message: string;\n * title?: string;\n * value?: string;\n * viewContainerRef?: ViewContainerRef;\n * acceptButton?: string;\n * cancelButton?: string;\n * }\n *\n * Opens a prompt dialog with the provided config.\n * Returns an MatDialogRef<TdPromptDialogComponent> object.\n */\n public openPrompt(\n config: IPromptConfig\n ): MatDialogRef<TdPromptDialogComponent> {\n const dialogConfig: MatDialogConfig = this._createConfig(config);\n const dialogRef: MatDialogRef<TdPromptDialogComponent> =\n this._dialogService.open(TdPromptDialogComponent, dialogConfig);\n const promptDialogComponent: TdPromptDialogComponent =\n dialogRef.componentInstance;\n promptDialogComponent.title = config.title;\n promptDialogComponent.message = config.message;\n promptDialogComponent.value = config.value;\n if (config.acceptButton) {\n promptDialogComponent.acceptButton = config.acceptButton;\n }\n if (config.cancelButton) {\n promptDialogComponent.cancelButton = config.cancelButton;\n }\n return dialogRef;\n }\n\n /**\n * Opens a draggable dialog containing the given component.\n */\n public openDraggable<T>({\n component,\n config,\n dragHandleSelectors,\n draggableClass,\n }: IDraggableConfig<T>): IDraggableRefs<T> {\n const matDialogRef: MatDialogRef<T, any> = this._dialogService.open(\n component,\n config\n );\n const dragRefSubject: Subject<DragRef> = new Subject<DragRef>();\n\n const CDK_OVERLAY_PANE_SELECTOR = '.cdk-overlay-pane';\n const CDK_OVERLAY_CONTAINER_SELECTOR = '.cdk-overlay-container';\n\n matDialogRef.afterOpened().subscribe(() => {\n const dialogElement: HTMLElement = <HTMLElement>(\n this._document.getElementById(matDialogRef.id)\n );\n const draggableElement: DragRef =\n this._dragDrop.createDrag(dialogElement);\n\n if (draggableClass) {\n const childComponent = dialogElement.firstElementChild;\n this._renderer2.addClass(childComponent, draggableClass);\n }\n if (dragHandleSelectors && dragHandleSelectors.length) {\n const dragHandles: Element[] = dragHandleSelectors.reduce(\n (acc: Element[], curr: string) => [\n ...acc,\n ...Array.from(dialogElement.querySelectorAll(curr)),\n ],\n []\n );\n if (dragHandles.length > 0) {\n draggableElement.withHandles(<HTMLElement[]>dragHandles);\n }\n }\n const rootElement = dialogElement.closest(CDK_OVERLAY_PANE_SELECTOR);\n if (rootElement) {\n draggableElement.withRootElement(<HTMLElement>rootElement);\n }\n\n const boundaryElement = dialogElement.closest(\n CDK_OVERLAY_CONTAINER_SELECTOR\n );\n if (boundaryElement) {\n draggableElement.withBoundaryElement(<HTMLElement>boundaryElement);\n }\n dragRefSubject.next(draggableElement);\n });\n\n return { matDialogRef, dragRefSubject };\n }\n\n private _createConfig(config: IDialogConfig): MatDialogConfig {\n const dialogConfig: MatDialogConfig = new MatDialogConfig();\n dialogConfig.width = '400px';\n Object.assign(dialogConfig, config);\n return dialogConfig;\n }\n}\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n} from '@angular/core';\nimport { ThemePalette } from '@angular/material/core';\n\n@Component({\n selector: 'td-window-dialog',\n templateUrl: './window-dialog.component.html',\n styleUrls: ['./window-dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TdWindowDialogComponent {\n @Input() toolbarColor?: ThemePalette;\n @Input() docked? = false;\n\n @Input() title?: string;\n @Input() toggleDockedStateLabel?: string;\n @Input() closeLabel?: string;\n\n @Output() dockToggled: EventEmitter<boolean> = new EventEmitter();\n @Output() closed: EventEmitter<void> = new EventEmitter();\n\n toolbarHeight = 56;\n\n toggleDockedState(): void {\n this.dockToggled.emit(this.docked);\n }\n}\n","<mat-toolbar\n [color]=\"toolbarColor\"\n class=\"td-window-dialog-toolbar\"\n [style.min-height.px]=\"toolbarHeight\"\n [style.cursor]=\"docked ? 'inherit' : 'move'\"\n>\n <mat-toolbar-row [style.height.px]=\"toolbarHeight\">\n <div layout=\"row\" layout-align=\"start center\" flex>\n <span class=\"mat-title td-window-dialog-title truncate\" flex>\n {{ title }}\n </span>\n <!-- TODO: Resizing a drag-and-drop element was not working so removed docking/undocking for now-->\n <!-- <button mat-icon-button [matTooltip]=\"toggleDockedStateLabel\" (click)=\"toggleDockedState()\">\n <mat-icon [attr.aria-label]=\"toggleDockedStateLabel\">\n {{ docked ? 'unfold_more' : 'unfold_less' }}\n </mat-icon>\n </button> -->\n\n <button\n mat-icon-button\n [matTooltip]=\"closeLabel ?? ''\"\n (click)=\"closed.emit()\"\n class=\"td-window-dialog-close\"\n [attr.data-test]=\"'close-button'\"\n >\n <mat-icon [attr.aria-label]=\"closeLabel\">close</mat-icon>\n </button>\n </div>\n </mat-toolbar-row>\n</mat-toolbar>\n<ng-content></ng-content>\n","import { Type } from '@angular/core';\nimport { NgModule } from '@angular/core';\n\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatButtonModule } from '@angular/material/button';\n\nimport {\n TdDialogComponent,\n TdDialogTitleDirective,\n TdDialogActionsDirective,\n TdDialogContentDirective,\n} from './dialog.component';\nimport { TdAlertDialogComponent } from './alert-dialog/alert-dialog.component';\nimport { TdConfirmDialogComponent } from './confirm-dialog/confirm-dialog.component';\nimport { TdPromptDialogComponent } from './prompt-dialog/prompt-dialog.component';\nimport { TdDialogService } from './services/dialog.service';\nimport { TdWindowDialogComponent } from './window-dialog/window-dialog.component';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatIconModule } from '@angular/material/icon';\n\nconst TD_DIALOGS: Type<any>[] = [\n TdAlertDialogComponent,\n TdConfirmDialogComponent,\n TdPromptDialogComponent,\n TdDialogComponent,\n TdDialogTitleDirective,\n TdDialogActionsDirective,\n TdDialogContentDirective,\n TdWindowDialogComponent,\n TdAlertDialogComponent,\n TdConfirmDialogComponent,\n TdPromptDialogComponent,\n];\n\n@NgModule({\n imports: [\n FormsModule,\n CommonModule,\n MatDialogModule,\n MatInputModule,\n MatButtonModule,\n MatToolbarModule,\n MatTooltipModule,\n MatIconModule,\n ],\n declarations: [...TD_DIALOGS],\n exports: [...TD_DIALOGS],\n providers: [TdDialogService],\n})\nexport class CovalentDialogsModule {}\n","import { Renderer2 } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { DragRef } from '@angular/cdk/drag-drop';\nimport { merge, Subscription, fromEvent } from 'rxjs';\nimport { Point } from '@angular/cdk/drag-drop/drag-ref';\n\nenum corners {\n topRight = 'topRight',\n bottomRight = 'bottomRight',\n bottomLeft = 'bottomLeft',\n topLeft = 'topLeft',\n}\nenum cursors {\n nesw = 'nesw-resize',\n nwse = 'nwse-resize',\n}\nenum verticalAlignment {\n top = 'top',\n bottom = 'bottom',\n}\nenum horizontalAlignment {\n right = 'right',\n left = 'left',\n}\n\nconst cornerWidth = '16px';\nconst offset = '0px';\nconst minWidth = 200;\nconst minHeight = 200;\n\nfunction getPixels(sizeString: string): number {\n return parseFloat((sizeString || '').replace('px', ''));\n}\n\nfunction clamp(min: number, num: number, max: number): number {\n return Math.min(Math.max(num, min), max);\n}\n\nexport class ResizableDraggableDialog {\n cornerElements: HTMLElement[] = [];\n pointerDownSubs: Subscription[] = [];\n\n constructor(\n private _document: any,\n private _renderer2: Renderer2,\n private _dialogRef: MatDialogRef<any>,\n private _dragRef: DragRef\n ) {\n this._initialPositionReset();\n this._attachCorners();\n }\n\n public attach(): void {\n this.detach();\n this._attachCorners();\n }\n\n public detach(): void {\n this.pointerDownSubs.forEach((sub: Subscription) => sub.unsubscribe());\n this.pointerDownSubs = [];\n this.cornerElements.forEach((elem: HTMLElement) =>\n this._renderer2.removeChild(this._getDialogWrapper(), elem)\n );\n this.cornerElements = [];\n }\n\n private _getDialogWrapper(): HTMLElement | null {\n return (\n <HTMLElement>this._document.getElementById(this._dialogRef.id) || {}\n ).parentElement;\n }\n\n private _getViewportDimensions(): ClientRect | undefined {\n return this._getDialogWrapper()?.parentElement?.getBoundingClientRect();\n }\n\n private _getDialogWrapperDimensions(): { width: number; height: number } {\n const wrapper = this._getDialogWrapper();\n if (!wrapper) {\n return { width: 0, height: 0 };\n }\n const dimensions: CSSStyleDeclaration = getComputedStyle(wrapper);\n return {\n width: getPixels(dimensions.width),\n height: getPixels(dimensions.height),\n };\n }\n\n private _initialPositionReset(): void {\n const viewportWidth = this._getViewportDimensions()?.right ?? 0;\n const viewportHeight = this._getViewportDimensions()?.bottom ?? 0;\n const { width, height } = this._getDialogWrapperDimensions();\n const wrapperStyle = this._getDialogWrapper()?.style;\n const originalDialogRight = wrapperStyle?.marginRight;\n const originalDialogLeft = wrapperStyle?.marginLeft;\n const originalDialogBottom = wrapperStyle?.marginBottom;\n const originalDialogTop = wrapperStyle?.marginTop;\n let x: number;\n if (originalDialogLeft) {\n x = getPixels(originalDialogLeft);\n } else if (originalDialogRight) {\n x = viewportWidth - getPixels(originalDialogRight) - width;\n } else {\n x = (viewportWidth - width) / 2;\n }\n let y: number;\n if (originalDialogTop) {\n y = getPixels(originalDialogTop);\n } else if (originalDialogBottom) {\n y = viewportHeight - getPixels(originalDialogBottom) - height;\n } else {\n y = (viewportHeight - height) / 2;\n }\n // use drag ref's mechanisms for positioning instead of the dialog's\n this._dialogRef.updatePosition({\n top: '0px',\n right: '0px',\n bottom: '0px',\n left: '0px',\n });\n this._dragRef.setFreeDragPosition({ x, y });\n }\n\n private _attachCorners(): void {\n Object.values(corners).forEach((corner: corners) => {\n const element: HTMLElement = this._renderer2.createElement('div');\n this.cornerElements = [...this.cornerElements, element];\n this._renderer2.setStyle(element, 'position', 'absolute');\n this._renderer2.setStyle(element, 'width', cornerWidth);\n this._renderer2.setStyle(element, 'height', cornerWidth);\n this._renderer2.appendChild(this._getDialogWrapper(), element);\n\n let cursor: cursors;\n let topBottom: verticalAlignment;\n let rightLeft: horizontalAlignment;\n\n if (corner === corners.topRight) {\n cursor = cursors.nesw;\n topBottom = verticalAlignment.top;\n rightLeft = horizontalAlignment.right;\n } else if (corner === corners.bottomRight) {\n cursor = cursors.nwse;\n topBottom = verticalAlignment.bottom;\n rightLeft = horizontalAlignment.right;\n\n const icon: HTMLElement = this._renderer2.createElement('i');\n this._renderer2.addClass(icon, 'material-icons-outlined');\n this._renderer2.appendChild(\n icon,\n this._renderer2.createText('filter_list')\n );\n this._renderer2.appendChild(element, icon);\n this._renderer2.setStyle(\n icon,\n 'transform',\n `rotate(${315}deg) translate(0px, ${offset})`\n );\n this._renderer2.setStyle(icon, 'font-size', cornerWidth);\n } else if (corner === corners.bottomLeft) {\n cursor = cursors.nesw;\n topBottom = verticalAlignment.bottom;\n rightLeft = horizontalAlignment.left;\n } else {\n cursor = cursors.nwse;\n topBottom = verticalAlignment.top;\n rightLeft = horizontalAlignment.left;\n }\n this._renderer2.setStyle(element, topBottom, offset);\n this._renderer2.setStyle(element, rightLeft, offset);\n this._renderer2.setStyle(element, 'cursor', cursor);\n\n const pointerDownSub: Subscription = fromEvent<PointerEvent>(\n element,\n 'pointerdown'\n ).subscribe((event: PointerEvent) => {\n this._handleMouseDown(event, corner);\n });\n this.pointerDownSubs = [...this.pointerDownSubs, pointerDownSub];\n });\n }\n\n private _handleMouseDown(event: PointerEvent, corner: corners): void {\n this._renderer2.setStyle(\n <HTMLElement>this._document.body,\n 'user-select',\n 'none'\n );\n const { width: originalWidth, height: originalHeight } =\n this._getDialogWrapperDimensions();\n const originalMouseX: number = event.pageX;\n const originalMouseY: number = event.pageY;\n const { x: currentTransformX, y: currentTransformY }: Point =\n this._dragRef.getFreeDragPosition();\n const wrapper = this._getDialogWrapper()?.getBoundingClientRect();\n const distanceFromBottom = wrapper?.bottom ?? 0;\n const distanceFromRight = wrapper?.right ?? 0;\n const viewportWidth = this._getViewportDimensions()?.right ?? 0;\n const viewportHeight = this._getViewportDimensions()?.bottom ?? 0;\n\n const mouseMoveSub: Subscription = fromEvent<PointerEvent>(\n window,\n 'pointermove'\n ).subscribe((e: PointerEvent) => {\n e.preventDefault(); // prevent highlighting of text when dragging\n\n const yDelta: number = clamp(0, e.pageY, viewportHeight) - originalMouseY;\n const xDelta: number = clamp(0, e.pageX, viewportWidth) - originalMouseX;\n let newHeight: number;\n let newWidth: number;\n let newTransformY = 0;\n let newTransformX = 0;\n\n // top right\n if (corner === corners.topRight) {\n newHeight = clamp(minHeight, originalHeight - yDelta, viewportHeight);\n newWidth = clamp(minWidth, originalWidth + xDelta, viewportWidth);\n newTransformY = clamp(\n 0,\n currentTransformY + yDelta,\n distanceFromBottom - newHeight\n );\n newTransformX = currentTransformX;\n }\n // bottom right\n else if (corner === corners.bottomRight) {\n newHeight = clamp(minHeight, originalHeight + yDelta, viewportHeight);\n newWidth = clamp(minWidth, originalWidth + xDelta, viewportWidth);\n newTransformY = currentTransformY;\n newTransformX = currentTransformX;\n }\n // bottom left\n else if (corner === corners.bottomLeft) {\n newHeight = clamp(minHeight, originalHeight + yDelta, viewportHeight);\n newWidth = clamp(minWidth, originalWidth - xDelta, viewportWidth);\n newTransformY = currentTransformY;\n newTransformX = clamp(\n 0,\n currentTransformX + xDelta,\n distanceFromRight - newWidth\n );\n }\n // top left\n else {\n newHeight = clamp(minHeight, originalHeight - yDelta, viewportHeight);\n newWidth = clamp(minWidth, originalWidth - xDelta, viewportWidth);\n\n newTransformX = clamp(\n 0,\n currentTransformX + xDelta,\n distanceFromRight - newWidth\n );\n newTransformY = clamp(\n 0,\n currentTransformY + yDelta,\n distanceFromBottom - newHeight\n );\n }\n this._dialogRef.updateSize(`${newWidth}px`, `${newHeight}px`);\n this._dragRef.setFreeDragPosition({\n x: newTransformX,\n y: newTransformY,\n });\n });\n\n const mouseUpSub: Subscription = merge(\n fromEvent(window, 'pointerup'),\n fromEvent(window, 'pointercancel')\n ).subscribe(() => {\n this._renderer2.removeStyle(\n <HTMLElement>this._document.body,\n 'user-select'\n );\n mouseMoveSub.unsubscribe();\n mouseUpSub.unsubscribe();\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i2.TdDialogComponent","i2.TdDialogTitleDirective","i2.TdDialogContentDirective","i2.TdDialogActionsDirective","i3","i4","i5","i2"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"covalent-core-dialogs.mjs","sources":["../../../../libs/angular/dialogs/src/dialog.component.ts","../../../../libs/angular/dialogs/src/dialog.component.html","../../../../libs/angular/dialogs/src/alert-dialog/alert-dialog.component.ts","../../../../libs/angular/dialogs/src/alert-dialog/alert-dialog.component.html","../../../../libs/angular/dialogs/src/confirm-dialog/confirm-dialog.component.ts","../../../../libs/angular/dialogs/src/confirm-dialog/confirm-dialog.component.html","../../../../libs/angular/dialogs/src/prompt-dialog/prompt-dialog.component.ts","../../../../libs/angular/dialogs/src/prompt-dialog/prompt-dialog.component.html","../../../../libs/angular/dialogs/src/services/dialog.service.ts","../../../../libs/angular/dialogs/src/window-dialog/window-dialog.component.ts","../../../../libs/angular/dialogs/src/window-dialog/window-dialog.component.html","../../../../libs/angular/dialogs/src/dialogs.module.ts","../../../../libs/angular/dialogs/src/resizable-draggable-dialog/resizable-draggable-dialog.ts","../../../../libs/angular/dialogs/src/covalent-core-dialogs.ts"],"sourcesContent":["import {\n Component,\n Directive,\n ContentChildren,\n QueryList,\n AfterContentInit,\n} from '@angular/core';\n\n@Directive({ selector: '[tdDialogTitle]' })\nexport class TdDialogTitleDirective {}\n\n@Directive({ selector: '[tdDialogContent]' })\nexport class TdDialogContentDirective {}\n\n@Directive({ selector: '[tdDialogActions]' })\nexport class TdDialogActionsDirective {}\n\n@Component({\n selector: 'td-dialog',\n templateUrl: './dialog.component.html',\n styleUrls: ['./dialog.component.scss'],\n})\nexport class TdDialogComponent implements AfterContentInit {\n @ContentChildren(TdDialogTitleDirective, { descendants: true })\n dialogTitle!: QueryList<TdDialogTitleDirective>;\n @ContentChildren(TdDialogContentDirective, { descendants: true })\n dialogContent!: QueryList<TdDialogContentDirective>;\n @ContentChildren(TdDialogActionsDirective, { descendants: true })\n dialogActions!: QueryList<TdDialogActionsDirective>;\n\n ngAfterContentInit(): void {\n if (this.dialogTitle.length > 1) {\n throw new Error('Duplicate td-dialog-title component at in td-dialog.');\n }\n if (this.dialogContent.length > 1) {\n throw new Error('Duplicate td-dialog-content component at in td-dialog.');\n }\n if (this.dialogActions.length > 1) {\n throw new Error('Duplicate td-dialog-actions component at in td-dialog.');\n }\n }\n}\n","<div class=\"td-dialog-wrapper\">\n <h3 class=\"td-dialog-title\" *ngIf=\"dialogTitle.length > 0\">\n <ng-content select=\"[tdDialogTitle]\"></ng-content>\n </h3>\n <div class=\"td-dialog-content\" *ngIf=\"dialogContent.length > 0\">\n <ng-content select=\"[tdDialogContent]\"></ng-content>\n </div>\n <div class=\"td-dialog-actions\" *ngIf=\"dialogActions.length > 0\">\n <span class=\"td-dialog-spacer\"></span>\n <ng-content select=\"[tdDialogActions]\"></ng-content>\n </div>\n</div>\n","import { Component } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\n\n@Component({\n selector: 'td-alert-dialog',\n templateUrl: './alert-dialog.component.html',\n styleUrls: ['./alert-dialog.component.scss'],\n})\nexport class TdAlertDialogComponent {\n title?: string;\n message?: string;\n closeButton?: string = 'CLOSE';\n\n constructor(private _dialogRef: MatDialogRef<TdAlertDialogComponent>) {}\n\n close(): void {\n this._dialogRef.close();\n }\n}\n","<td-dialog>\n <div tdDialogTitle *ngIf=\"title\">\n {{ title }}\n </div>\n <div tdDialogContent>\n <span class=\"td-dialog-message\">{{ message }}</span>\n </div>\n <div tdDialogActions>\n <button mat-button color=\"accent\" (click)=\"close()\">\n {{ closeButton }}\n </button>\n </div>\n</td-dialog>\n","import { Component } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\n\n@Component({\n selector: 'td-confirm-dialog',\n templateUrl: './confirm-dialog.component.html',\n styleUrls: ['./confirm-dialog.component.scss'],\n})\nexport class TdConfirmDialogComponent {\n title?: string;\n message?: string;\n cancelButton = 'CANCEL';\n acceptButton = 'ACCEPT';\n isDestructive = false;\n\n constructor(private _dialogRef: MatDialogRef<TdConfirmDialogComponent>) {}\n\n cancel(): void {\n this._dialogRef.close(false);\n }\n\n accept(): void {\n this._dialogRef.close(true);\n }\n}\n","<td-dialog>\n <div tdDialogTitle *ngIf=\"title\">\n {{ title }}\n </div>\n <div tdDialogContent>\n <span class=\"td-dialog-message\">{{ message }}</span>\n </div>\n <div tdDialogActions>\n <button\n mat-button\n #closeBtn\n (keydown.arrowright)=\"acceptBtn.focus()\"\n (click)=\"cancel()\"\n >\n {{ cancelButton }}\n </button>\n <button\n mat-button\n [color]=\"isDestructive ? 'warn' : 'accent'\"\n #acceptBtn\n (keydown.arrowleft)=\"closeBtn.focus()\"\n (click)=\"accept()\"\n >\n {{ acceptButton }}\n </button>\n </div>\n</td-dialog>\n","import {\n Component,\n ViewChild,\n ElementRef,\n AfterViewInit,\n NgZone,\n OnDestroy,\n} from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { LEFT_ARROW, RIGHT_ARROW } from '@angular/cdk/keycodes';\nimport { fromEvent, Subject, takeUntil } from 'rxjs';\n\n@Component({\n selector: 'td-prompt-dialog',\n templateUrl: './prompt-dialog.component.html',\n styleUrls: ['./prompt-dialog.component.scss'],\n})\nexport class TdPromptDialogComponent implements AfterViewInit, OnDestroy {\n title?: string;\n message?: string;\n value?: string;\n cancelButton = 'CANCEL';\n acceptButton = 'ACCEPT';\n\n /** The native `<input matInput />` element. */\n @ViewChild('input', { static: true }) _input!: ElementRef<HTMLInputElement>;\n\n @ViewChild('closeBtn', { static: true, read: ElementRef })\n _closeBtn!: ElementRef<HTMLButtonElement>;\n\n @ViewChild('acceptBtn', { static: true, read: ElementRef })\n _acceptBtn!: ElementRef<HTMLButtonElement>;\n\n private _destroy$ = new Subject<void>();\n\n constructor(\n private _ngZone: NgZone,\n private _dialogRef: MatDialogRef<TdPromptDialogComponent>\n ) {}\n\n ngAfterViewInit(): void {\n this._ngZone.runOutsideAngular(() => {\n // Note: `element.focus()` causes re-layout and this may lead to frame drop on slower devices.\n // `Promise` is a microtask and microtask are executed within the current rendering frame.\n // Animation tasks are executed within the next rendering frame.\n // We focus input once everything is rendered and good to go.\n requestAnimationFrame(() => this._input.nativeElement.focus());\n\n fromEvent(this._input.nativeElement, 'focus')\n .pipe(takeUntil(this._destroy$))\n .subscribe(() => {\n // This is executed when the input is focused, selects all text.\n this._input.nativeElement.select();\n });\n\n fromEvent<KeyboardEvent>(this._closeBtn.nativeElement, 'keydown')\n .pipe(takeUntil(this._destroy$))\n .subscribe((event) => {\n if (event.keyCode === RIGHT_ARROW) {\n this._acceptBtn.nativeElement.focus();\n }\n });\n\n fromEvent<KeyboardEvent>(this._acceptBtn.nativeElement, 'keydown')\n .pipe(takeUntil(this._destroy$))\n .subscribe((event) => {\n if (event.keyCode === LEFT_ARROW) {\n this._closeBtn.nativeElement.focus();\n }\n });\n });\n }\n\n ngOnDestroy(): void {\n this._destroy$.next();\n }\n\n cancel(): void {\n this._dialogRef.close();\n }\n\n accept(): void {\n this._dialogRef.close(this.value);\n }\n}\n","<td-dialog>\n <div tdDialogTitle *ngIf=\"title\">\n {{ title }}\n </div>\n <div tdDialogContent>\n <span class=\"td-dialog-message\">{{ message }}</span>\n <form #form=\"ngForm\" novalidate>\n <div class=\"td-dialog-input-wrapper\">\n <mat-form-field class=\"td-dialog-input\">\n <input\n matInput\n #input\n (keydown.enter)=\"$event.preventDefault(); form.valid && accept()\"\n [(ngModel)]=\"value\"\n name=\"value\"\n required\n />\n </mat-form-field>\n </div>\n </form>\n </div>\n <div tdDialogActions>\n <button mat-button #closeBtn (click)=\"cancel()\">\n {{ cancelButton }}\n </button>\n <button\n mat-button\n color=\"accent\"\n #acceptBtn\n [disabled]=\"!form.valid\"\n (click)=\"accept()\"\n >\n {{ acceptButton }}\n </button>\n </div>\n</td-dialog>\n","import { Injectable, Inject, Renderer2, RendererFactory2 } from '@angular/core';\nimport {\n MatDialog,\n MatDialogRef,\n MatDialogConfig,\n} from '@angular/material/dialog';\nimport { ComponentType } from '@angular/cdk/portal';\n\nimport { TdAlertDialogComponent } from '../alert-dialog/alert-dialog.component';\nimport { TdConfirmDialogComponent } from '../confirm-dialog/confirm-dialog.component';\nimport { TdPromptDialogComponent } from '../prompt-dialog/prompt-dialog.component';\nimport { DragDrop, DragRef } from '@angular/cdk/drag-drop';\nimport { DOCUMENT } from '@angular/common';\nimport { Subject } from 'rxjs';\n\nexport interface IDialogConfig extends MatDialogConfig {\n title?: string;\n message: string;\n}\n\nexport interface IAlertConfig extends IDialogConfig {\n closeButton?: string;\n}\n\nexport interface IConfirmConfig extends IDialogConfig {\n acceptButton?: string;\n cancelButton?: string;\n isDestructive?: boolean;\n}\n\nexport interface IPromptConfig extends IConfirmConfig {\n value?: string;\n}\n\nexport interface IDraggableConfig<T> {\n component: ComponentType<T>;\n config?: MatDialogConfig;\n // CSS selectors of element(s) inside the component meant to be drag handle(s)\n dragHandleSelectors?: string[];\n // Class that will be added to the component signifying drag-ability\n draggableClass?: string;\n}\n\nexport interface IDraggableRefs<T> {\n matDialogRef: MatDialogRef<T>;\n dragRefSubject: Subject<DragRef>;\n}\n\n@Injectable()\nexport class TdDialogService {\n private _renderer2: Renderer2;\n\n constructor(\n @Inject(DOCUMENT) private _document: any,\n private _dialogService: MatDialog,\n private _dragDrop: DragDrop,\n private rendererFactory: RendererFactory2\n ) {\n this._renderer2 = rendererFactory.createRenderer(undefined, null);\n }\n\n /**\n * params:\n * - component: ComponentType<T>\n * - config: MatDialogConfig\n * Wrapper function over the open() method in MatDialog.\n * Opens a modal dialog containing the given component.\n */\n public open<T>(\n component: ComponentType<T>,\n config?: MatDialogConfig\n ): MatDialogRef<T> {\n return this._dialogService.open(component, config);\n }\n\n /**\n * Wrapper function over the closeAll() method in MatDialog.\n * Closes all of the currently-open dialogs.\n */\n public closeAll(): void {\n this._dialogService.closeAll();\n }\n\n /**\n * params:\n * - config: IAlertConfig {\n * message: string;\n * title?: string;\n * viewContainerRef?: ViewContainerRef;\n * closeButton?: string;\n * }\n *\n * Opens an alert dialog with the provided config.\n * Returns an MatDialogRef<TdAlertDialogComponent> object.\n */\n public openAlert(config: IAlertConfig): MatDialogRef<TdAlertDialogComponent> {\n const dialogConfig: MatDialogConfig = this._createConfig(config);\n const dialogRef: MatDialogRef<TdAlertDialogComponent> =\n this._dialogService.open(TdAlertDialogComponent, dialogConfig);\n const alertDialogComponent: TdAlertDialogComponent =\n dialogRef.componentInstance;\n alertDialogComponent.title = config.title;\n alertDialogComponent.message = config.message;\n if (config.closeButton) {\n alertDialogComponent.closeButton = config.closeButton;\n }\n return dialogRef;\n }\n\n /**\n * params:\n * - config: IConfirmConfig {\n * message: string;\n * title?: string;\n * viewContainerRef?: ViewContainerRef;\n * acceptButton?: string;\n * cancelButton?: string;\n * isDestructive?: boolean;\n * }\n *\n * Opens a confirm dialog with the provided config.\n * Returns an MatDialogRef<TdConfirmDialogComponent> object.\n */\n public openConfirm(\n config: IConfirmConfig\n ): MatDialogRef<TdConfirmDialogComponent> {\n const dialogConfig: MatDialogConfig = this._createConfig(config);\n const dialogRef: MatDialogRef<TdConfirmDialogComponent> =\n this._dialogService.open(TdConfirmDialogComponent, dialogConfig);\n const confirmDialogComponent: TdConfirmDialogComponent =\n dialogRef.componentInstance;\n confirmDialogComponent.title = config.title;\n confirmDialogComponent.message = config.message;\n if (config.acceptButton) {\n confirmDialogComponent.acceptButton = config.acceptButton;\n }\n if (config.isDestructive) {\n confirmDialogComponent.isDestructive = config.isDestructive;\n }\n if (config.cancelButton) {\n confirmDialogComponent.cancelButton = config.cancelButton;\n }\n return dialogRef;\n }\n\n /**\n * params:\n * - config: IPromptConfig {\n * message: string;\n * title?: string;\n * value?: string;\n * viewContainerRef?: ViewContainerRef;\n * acceptButton?: string;\n * cancelButton?: string;\n * }\n *\n * Opens a prompt dialog with the provided config.\n * Returns an MatDialogRef<TdPromptDialogComponent> object.\n */\n public openPrompt(\n config: IPromptConfig\n ): MatDialogRef<TdPromptDialogComponent> {\n const dialogConfig: MatDialogConfig = this._createConfig(config);\n const dialogRef: MatDialogRef<TdPromptDialogComponent> =\n this._dialogService.open(TdPromptDialogComponent, dialogConfig);\n const promptDialogComponent: TdPromptDialogComponent =\n dialogRef.componentInstance;\n promptDialogComponent.title = config.title;\n promptDialogComponent.message = config.message;\n promptDialogComponent.value = config.value;\n if (config.acceptButton) {\n promptDialogComponent.acceptButton = config.acceptButton;\n }\n if (config.cancelButton) {\n promptDialogComponent.cancelButton = config.cancelButton;\n }\n return dialogRef;\n }\n\n /**\n * Opens a draggable dialog containing the given component.\n */\n public openDraggable<T>({\n component,\n config,\n dragHandleSelectors,\n draggableClass,\n }: IDraggableConfig<T>): IDraggableRefs<T> {\n const matDialogRef: MatDialogRef<T, any> = this._dialogService.open(\n component,\n config\n );\n const dragRefSubject: Subject<DragRef> = new Subject<DragRef>();\n\n const CDK_OVERLAY_PANE_SELECTOR = '.cdk-overlay-pane';\n const CDK_OVERLAY_CONTAINER_SELECTOR = '.cdk-overlay-container';\n\n matDialogRef.afterOpened().subscribe(() => {\n const dialogElement: HTMLElement = <HTMLElement>(\n this._document.getElementById(matDialogRef.id)\n );\n const draggableElement: DragRef =\n this._dragDrop.createDrag(dialogElement);\n\n if (draggableClass) {\n const childComponent = dialogElement.firstElementChild;\n this._renderer2.addClass(childComponent, draggableClass);\n }\n if (dragHandleSelectors && dragHandleSelectors.length) {\n const dragHandles: Element[] = dragHandleSelectors.reduce(\n (acc: Element[], curr: string) => [\n ...acc,\n ...Array.from(dialogElement.querySelectorAll(curr)),\n ],\n []\n );\n if (dragHandles.length > 0) {\n draggableElement.withHandles(<HTMLElement[]>dragHandles);\n }\n }\n const rootElement = dialogElement.closest(CDK_OVERLAY_PANE_SELECTOR);\n if (rootElement) {\n draggableElement.withRootElement(<HTMLElement>rootElement);\n }\n\n const boundaryElement = dialogElement.closest(\n CDK_OVERLAY_CONTAINER_SELECTOR\n );\n if (boundaryElement) {\n draggableElement.withBoundaryElement(<HTMLElement>boundaryElement);\n }\n dragRefSubject.next(draggableElement);\n });\n\n return { matDialogRef, dragRefSubject };\n }\n\n private _createConfig(config: IDialogConfig): MatDialogConfig {\n const dialogConfig: MatDialogConfig = new MatDialogConfig();\n dialogConfig.width = '400px';\n Object.assign(dialogConfig, config);\n return dialogConfig;\n }\n}\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n} from '@angular/core';\nimport { ThemePalette } from '@angular/material/core';\n\n@Component({\n selector: 'td-window-dialog',\n templateUrl: './window-dialog.component.html',\n styleUrls: ['./window-dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TdWindowDialogComponent {\n @Input() toolbarColor?: ThemePalette;\n @Input() docked? = false;\n\n @Input() title?: string;\n @Input() toggleDockedStateLabel?: string;\n @Input() closeLabel?: string;\n\n @Output() dockToggled: EventEmitter<boolean> = new EventEmitter();\n @Output() closed: EventEmitter<void> = new EventEmitter();\n\n toolbarHeight = 56;\n\n toggleDockedState(): void {\n this.dockToggled.emit(this.docked);\n }\n}\n","<mat-toolbar\n [color]=\"toolbarColor\"\n class=\"td-window-dialog-toolbar\"\n [style.min-height.px]=\"toolbarHeight\"\n [style.cursor]=\"docked ? 'inherit' : 'move'\"\n>\n <mat-toolbar-row [style.height.px]=\"toolbarHeight\">\n <div layout=\"row\" layout-align=\"start center\" flex>\n <span class=\"mat-title td-window-dialog-title truncate\" flex>\n {{ title }}\n </span>\n <!-- TODO: Resizing a drag-and-drop element was not working so removed docking/undocking for now-->\n <!-- <button mat-icon-button [matTooltip]=\"toggleDockedStateLabel\" (click)=\"toggleDockedState()\">\n <mat-icon [attr.aria-label]=\"toggleDockedStateLabel\">\n {{ docked ? 'unfold_more' : 'unfold_less' }}\n </mat-icon>\n </button> -->\n\n <button\n mat-icon-button\n [matTooltip]=\"closeLabel ?? ''\"\n (click)=\"closed.emit()\"\n class=\"td-window-dialog-close\"\n [attr.data-test]=\"'close-button'\"\n >\n <mat-icon [attr.aria-label]=\"closeLabel\">close</mat-icon>\n </button>\n </div>\n </mat-toolbar-row>\n</mat-toolbar>\n<ng-content></ng-content>\n","import { Type } from '@angular/core';\nimport { NgModule } from '@angular/core';\n\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatButtonModule } from '@angular/material/button';\n\nimport {\n TdDialogComponent,\n TdDialogTitleDirective,\n TdDialogActionsDirective,\n TdDialogContentDirective,\n} from './dialog.component';\nimport { TdAlertDialogComponent } from './alert-dialog/alert-dialog.component';\nimport { TdConfirmDialogComponent } from './confirm-dialog/confirm-dialog.component';\nimport { TdPromptDialogComponent } from './prompt-dialog/prompt-dialog.component';\nimport { TdDialogService } from './services/dialog.service';\nimport { TdWindowDialogComponent } from './window-dialog/window-dialog.component';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatIconModule } from '@angular/material/icon';\n\nconst TD_DIALOGS: Type<any>[] = [\n TdAlertDialogComponent,\n TdConfirmDialogComponent,\n TdPromptDialogComponent,\n TdDialogComponent,\n TdDialogTitleDirective,\n TdDialogActionsDirective,\n TdDialogContentDirective,\n TdWindowDialogComponent,\n TdAlertDialogComponent,\n TdConfirmDialogComponent,\n TdPromptDialogComponent,\n];\n\n@NgModule({\n imports: [\n FormsModule,\n CommonModule,\n MatDialogModule,\n MatInputModule,\n MatButtonModule,\n MatToolbarModule,\n MatTooltipModule,\n MatIconModule,\n ],\n declarations: [...TD_DIALOGS],\n exports: [...TD_DIALOGS],\n providers: [TdDialogService],\n})\nexport class CovalentDialogsModule {}\n","import { Renderer2 } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { DragRef } from '@angular/cdk/drag-drop';\nimport { merge, Subscription, fromEvent } from 'rxjs';\nimport { Point } from '@angular/cdk/drag-drop/drag-ref';\n\nenum corners {\n topRight = 'topRight',\n bottomRight = 'bottomRight',\n bottomLeft = 'bottomLeft',\n topLeft = 'topLeft',\n}\nenum cursors {\n nesw = 'nesw-resize',\n nwse = 'nwse-resize',\n}\nenum verticalAlignment {\n top = 'top',\n bottom = 'bottom',\n}\nenum horizontalAlignment {\n right = 'right',\n left = 'left',\n}\n\nconst cornerWidth = '16px';\nconst offset = '0px';\nconst minWidth = 200;\nconst minHeight = 200;\n\nfunction getPixels(sizeString: string): number {\n return parseFloat((sizeString || '').replace('px', ''));\n}\n\nfunction clamp(min: number, num: number, max: number): number {\n return Math.min(Math.max(num, min), max);\n}\n\nexport class ResizableDraggableDialog {\n cornerElements: HTMLElement[] = [];\n pointerDownSubs: Subscription[] = [];\n\n constructor(\n private _document: any,\n private _renderer2: Renderer2,\n private _dialogRef: MatDialogRef<any>,\n private _dragRef: DragRef\n ) {\n this._initialPositionReset();\n this._attachCorners();\n }\n\n public attach(): void {\n this.detach();\n this._attachCorners();\n }\n\n public detach(): void {\n this.pointerDownSubs.forEach((sub: Subscription) => sub.unsubscribe());\n this.pointerDownSubs = [];\n this.cornerElements.forEach((elem: HTMLElement) =>\n this._renderer2.removeChild(this._getDialogWrapper(), elem)\n );\n this.cornerElements = [];\n }\n\n private _getDialogWrapper(): HTMLElement | null {\n return (\n <HTMLElement>this._document.getElementById(this._dialogRef.id) || {}\n ).parentElement;\n }\n\n private _getViewportDimensions(): ClientRect | undefined {\n return this._getDialogWrapper()?.parentElement?.getBoundingClientRect();\n }\n\n private _getDialogWrapperDimensions(): { width: number; height: number } {\n const wrapper = this._getDialogWrapper();\n if (!wrapper) {\n return { width: 0, height: 0 };\n }\n const dimensions: CSSStyleDeclaration = getComputedStyle(wrapper);\n return {\n width: getPixels(dimensions.width),\n height: getPixels(dimensions.height),\n };\n }\n\n private _initialPositionReset(): void {\n const viewportWidth = this._getViewportDimensions()?.right ?? 0;\n const viewportHeight = this._getViewportDimensions()?.bottom ?? 0;\n const { width, height } = this._getDialogWrapperDimensions();\n const wrapperStyle = this._getDialogWrapper()?.style;\n const originalDialogRight = wrapperStyle?.marginRight;\n const originalDialogLeft = wrapperStyle?.marginLeft;\n const originalDialogBottom = wrapperStyle?.marginBottom;\n const originalDialogTop = wrapperStyle?.marginTop;\n let x: number;\n if (originalDialogLeft) {\n x = getPixels(originalDialogLeft);\n } else if (originalDialogRight) {\n x = viewportWidth - getPixels(originalDialogRight) - width;\n } else {\n x = (viewportWidth - width) / 2;\n }\n let y: number;\n if (originalDialogTop) {\n y = getPixels(originalDialogTop);\n } else if (originalDialogBottom) {\n y = viewportHeight - getPixels(originalDialogBottom) - height;\n } else {\n y = (viewportHeight - height) / 2;\n }\n // use drag ref's mechanisms for positioning instead of the dialog's\n this._dialogRef.updatePosition({\n top: '0px',\n right: '0px',\n bottom: '0px',\n left: '0px',\n });\n this._dragRef.setFreeDragPosition({ x, y });\n }\n\n private _attachCorners(): void {\n Object.values(corners).forEach((corner: corners) => {\n const element: HTMLElement = this._renderer2.createElement('div');\n this.cornerElements = [...this.cornerElements, element];\n this._renderer2.setStyle(element, 'position', 'absolute');\n this._renderer2.setStyle(element, 'width', cornerWidth);\n this._renderer2.setStyle(element, 'height', cornerWidth);\n this._renderer2.appendChild(this._getDialogWrapper(), element);\n\n let cursor: cursors;\n let topBottom: verticalAlignment;\n let rightLeft: horizontalAlignment;\n\n if (corner === corners.topRight) {\n cursor = cursors.nesw;\n topBottom = verticalAlignment.top;\n rightLeft = horizontalAlignment.right;\n } else if (corner === corners.bottomRight) {\n cursor = cursors.nwse;\n topBottom = verticalAlignment.bottom;\n rightLeft = horizontalAlignment.right;\n\n const icon: HTMLElement = this._renderer2.createElement('i');\n this._renderer2.addClass(icon, 'material-symbols-outlined');\n this._renderer2.appendChild(\n icon,\n this._renderer2.createText('filter_list')\n );\n this._renderer2.appendChild(element, icon);\n this._renderer2.setStyle(\n icon,\n 'transform',\n `rotate(${315}deg) translate(0px, ${offset})`\n );\n this._renderer2.setStyle(icon, 'font-size', cornerWidth);\n } else if (corner === corners.bottomLeft) {\n cursor = cursors.nesw;\n topBottom = verticalAlignment.bottom;\n rightLeft = horizontalAlignment.left;\n } else {\n cursor = cursors.nwse;\n topBottom = verticalAlignment.top;\n rightLeft = horizontalAlignment.left;\n }\n this._renderer2.setStyle(element, topBottom, offset);\n this._renderer2.setStyle(element, rightLeft, offset);\n this._renderer2.setStyle(element, 'cursor', cursor);\n\n const pointerDownSub: Subscription = fromEvent<PointerEvent>(\n element,\n 'pointerdown'\n ).subscribe((event: PointerEvent) => {\n this._handleMouseDown(event, corner);\n });\n this.pointerDownSubs = [...this.pointerDownSubs, pointerDownSub];\n });\n }\n\n private _handleMouseDown(event: PointerEvent, corner: corners): void {\n this._renderer2.setStyle(\n <HTMLElement>this._document.body,\n 'user-select',\n 'none'\n );\n const { width: originalWidth, height: originalHeight } =\n this._getDialogWrapperDimensions();\n const originalMouseX: number = event.pageX;\n const originalMouseY: number = event.pageY;\n const { x: currentTransformX, y: currentTransformY }: Point =\n this._dragRef.getFreeDragPosition();\n const wrapper = this._getDialogWrapper()?.getBoundingClientRect();\n const distanceFromBottom = wrapper?.bottom ?? 0;\n const distanceFromRight = wrapper?.right ?? 0;\n const viewportWidth = this._getViewportDimensions()?.right ?? 0;\n const viewportHeight = this._getViewportDimensions()?.bottom ?? 0;\n\n const mouseMoveSub: Subscription = fromEvent<PointerEvent>(\n window,\n 'pointermove'\n ).subscribe((e: PointerEvent) => {\n e.preventDefault(); // prevent highlighting of text when dragging\n\n const yDelta: number = clamp(0, e.pageY, viewportHeight) - originalMouseY;\n const xDelta: number = clamp(0, e.pageX, viewportWidth) - originalMouseX;\n let newHeight: number;\n let newWidth: number;\n let newTransformY = 0;\n let newTransformX = 0;\n\n // top right\n if (corner === corners.topRight) {\n newHeight = clamp(minHeight, originalHeight - yDelta, viewportHeight);\n newWidth = clamp(minWidth, originalWidth + xDelta, viewportWidth);\n newTransformY = clamp(\n 0,\n currentTransformY + yDelta,\n distanceFromBottom - newHeight\n );\n newTransformX = currentTransformX;\n }\n // bottom right\n else if (corner === corners.bottomRight) {\n newHeight = clamp(minHeight, originalHeight + yDelta, viewportHeight);\n newWidth = clamp(minWidth, originalWidth + xDelta, viewportWidth);\n newTransformY = currentTransformY;\n newTransformX = currentTransformX;\n }\n // bottom left\n else if (corner === corners.bottomLeft) {\n newHeight = clamp(minHeight, originalHeight + yDelta, viewportHeight);\n newWidth = clamp(minWidth, originalWidth - xDelta, viewportWidth);\n newTransformY = currentTransformY;\n newTransformX = clamp(\n 0,\n currentTransformX + xDelta,\n distanceFromRight - newWidth\n );\n }\n // top left\n else {\n newHeight = clamp(minHeight, originalHeight - yDelta, viewportHeight);\n newWidth = clamp(minWidth, originalWidth - xDelta, viewportWidth);\n\n newTransformX = clamp(\n 0,\n currentTransformX + xDelta,\n distanceFromRight - newWidth\n );\n newTransformY = clamp(\n 0,\n currentTransformY + yDelta,\n distanceFromBottom - newHeight\n );\n }\n this._dialogRef.updateSize(`${newWidth}px`, `${newHeight}px`);\n this._dragRef.setFreeDragPosition({\n x: newTransformX,\n y: newTransformY,\n });\n });\n\n const mouseUpSub: Subscription = merge(\n fromEvent(window, 'pointerup'),\n fromEvent(window, 'pointercancel')\n ).subscribe(() => {\n this._renderer2.removeStyle(\n <HTMLElement>this._document.body,\n 'user-select'\n );\n mouseMoveSub.unsubscribe();\n mouseUpSub.unsubscribe();\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i2.TdDialogComponent","i2.TdDialogTitleDirective","i2.TdDialogContentDirective","i2.TdDialogActionsDirective","i3","i4","i5","i2"],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@covalent/core",
|
3
|
-
"version": "4.17.
|
3
|
+
"version": "4.17.3",
|
4
4
|
"exports": {
|
5
5
|
".": {
|
6
6
|
"sass": "./theming/_all-theme.scss",
|
@@ -135,7 +135,7 @@
|
|
135
135
|
"@angular/router": "^13.2.0",
|
136
136
|
"@angular/cdk": "^13.2.1",
|
137
137
|
"@angular/material": "^13.2.1",
|
138
|
-
"@covalent/core": "4.17.
|
138
|
+
"@covalent/core": "4.17.3",
|
139
139
|
"@angular/platform-browser": "^13.2.0",
|
140
140
|
"rxjs": "^7.4.0",
|
141
141
|
"@angular/animations": "^13.2.0",
|