@tolle_/tolle-ui 18.3.1 → 18.3.2

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.
@@ -11,14 +11,18 @@ export class AlertDialogDynamicComponent {
11
11
  * content panel plays its exit animation before the overlay is torn down.
12
12
  */
13
13
  closing = false;
14
+ /**
15
+ * Result recorded by the action/cancel buttons' `confirmed`/`cancelled`
16
+ * outputs, which fire *before* the button drives the dialog closed. The
17
+ * single close path (`onOpenChange`) then reads it, so a confirm reports
18
+ * `true` instead of racing with the button's own `false` close signal.
19
+ */
20
+ result = false;
14
21
  onOpenChange(open) {
15
22
  if (!open) {
16
- this.close(false);
23
+ this.dialogRef.close(this.result);
17
24
  }
18
25
  }
19
- close(result) {
20
- this.dialogRef.close(result);
21
- }
22
26
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AlertDialogDynamicComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
23
27
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: AlertDialogDynamicComponent, isStandalone: true, selector: "tolle-alert-dialog-dynamic", ngImport: i0, template: `
24
28
  <tolle-alert-dialog [open]="!closing" (openChange)="onOpenChange($event)">
@@ -30,10 +34,10 @@ export class AlertDialogDynamicComponent {
30
34
  </tolle-alert-dialog-description>
31
35
  </tolle-alert-dialog-header>
32
36
  <tolle-alert-dialog-footer>
33
- <tolle-alert-dialog-cancel (click)="close(false)">
37
+ <tolle-alert-dialog-cancel (cancelled)="result = false">
34
38
  <tolle-button variant="outline">{{ config.cancelText || 'Cancel' }}</tolle-button>
35
39
  </tolle-alert-dialog-cancel>
36
- <tolle-alert-dialog-action (click)="close(true)">
40
+ <tolle-alert-dialog-action (confirmed)="result = true">
37
41
  <tolle-button [variant]="config.variant === 'destructive' ? 'destructive' : 'default'">
38
42
  {{ config.actionText || 'Continue' }}
39
43
  </tolle-button>
@@ -66,10 +70,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
66
70
  </tolle-alert-dialog-description>
67
71
  </tolle-alert-dialog-header>
68
72
  <tolle-alert-dialog-footer>
69
- <tolle-alert-dialog-cancel (click)="close(false)">
73
+ <tolle-alert-dialog-cancel (cancelled)="result = false">
70
74
  <tolle-button variant="outline">{{ config.cancelText || 'Cancel' }}</tolle-button>
71
75
  </tolle-alert-dialog-cancel>
72
- <tolle-alert-dialog-action (click)="close(true)">
76
+ <tolle-alert-dialog-action (confirmed)="result = true">
73
77
  <tolle-button [variant]="config.variant === 'destructive' ? 'destructive' : 'default'">
74
78
  {{ config.actionText || 'Continue' }}
75
79
  </tolle-button>
@@ -79,4 +83,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
79
83
  </tolle-alert-dialog>
80
84
  `, styles: [":host{display:block}\n"] }]
81
85
  }] });
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQtZGlhbG9nLWR5bmFtaWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdG9sbGUvc3JjL2xpYi9hbGVydC1kaWFsb2ctZHluYW1pYy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBMEIsTUFBTSxlQUFlLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsMkJBQTJCLEVBQzNCLDBCQUEwQixFQUMxQix5QkFBeUIsRUFDekIsK0JBQStCLEVBQy9CLDBCQUEwQixFQUMxQiwwQkFBMEIsRUFDMUIsMEJBQTBCLEVBQzNCLE1BQU0sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQTBDckQsTUFBTSxPQUFPLDJCQUEyQjtJQUN0QyxNQUFNLENBQXFCO0lBQzNCLFNBQVMsQ0FBa0I7SUFFM0I7OztPQUdHO0lBQ0gsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUVoQixZQUFZLENBQUMsSUFBYTtRQUN4QixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDVixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BCLENBQUM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLE1BQWU7UUFDbkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDL0IsQ0FBQzt3R0FsQlUsMkJBQTJCOzRGQUEzQiwyQkFBMkIsc0ZBdkI1Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUJULCtGQWhDQyxZQUFZLCtCQUNaLG9CQUFvQiwwR0FDcEIsMkJBQTJCLGtHQUMzQiwwQkFBMEIseUZBQzFCLHlCQUF5Qix3RkFDekIsK0JBQStCLDhGQUMvQiwwQkFBMEIseUZBQzFCLDBCQUEwQiw4RkFDMUIsMEJBQTBCLDhGQUMxQixlQUFlOzs0RkF5Qk4sMkJBQTJCO2tCQXZDdkMsU0FBUzsrQkFDRSw0QkFBNEIsY0FFMUIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osb0JBQW9CO3dCQUNwQiwyQkFBMkI7d0JBQzNCLDBCQUEwQjt3QkFDMUIseUJBQXlCO3dCQUN6QiwrQkFBK0I7d0JBQy9CLDBCQUEwQjt3QkFDMUIsMEJBQTBCO3dCQUMxQiwwQkFBMEI7d0JBQzFCLGVBQWU7cUJBQ2hCLFlBQ1M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFCVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBpbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEFsZXJ0RGlhbG9nQ29tcG9uZW50LFxuICBBbGVydERpYWxvZ0NvbnRlbnRDb21wb25lbnQsXG4gIEFsZXJ0RGlhbG9nSGVhZGVyQ29tcG9uZW50LFxuICBBbGVydERpYWxvZ1RpdGxlQ29tcG9uZW50LFxuICBBbGVydERpYWxvZ0Rlc2NyaXB0aW9uQ29tcG9uZW50LFxuICBBbGVydERpYWxvZ0Zvb3RlckNvbXBvbmVudCxcbiAgQWxlcnREaWFsb2dDYW5jZWxDb21wb25lbnQsXG4gIEFsZXJ0RGlhbG9nQWN0aW9uQ29tcG9uZW50XG59IGZyb20gJy4vYWxlcnQtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2J1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWxlcnREaWFsb2dDb25maWcsIEFsZXJ0RGlhbG9nUmVmIH0gZnJvbSAnLi9hbGVydC1kaWFsb2cudHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0b2xsZS1hbGVydC1kaWFsb2ctZHluYW1pYycsXG4gIHN0eWxlczogWyc6aG9zdCB7IGRpc3BsYXk6IGJsb2NrOyB9J10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQWxlcnREaWFsb2dDb21wb25lbnQsXG4gICAgQWxlcnREaWFsb2dDb250ZW50Q29tcG9uZW50LFxuICAgIEFsZXJ0RGlhbG9nSGVhZGVyQ29tcG9uZW50LFxuICAgIEFsZXJ0RGlhbG9nVGl0bGVDb21wb25lbnQsXG4gICAgQWxlcnREaWFsb2dEZXNjcmlwdGlvbkNvbXBvbmVudCxcbiAgICBBbGVydERpYWxvZ0Zvb3RlckNvbXBvbmVudCxcbiAgICBBbGVydERpYWxvZ0NhbmNlbENvbXBvbmVudCxcbiAgICBBbGVydERpYWxvZ0FjdGlvbkNvbXBvbmVudCxcbiAgICBCdXR0b25Db21wb25lbnRcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8dG9sbGUtYWxlcnQtZGlhbG9nIFtvcGVuXT1cIiFjbG9zaW5nXCIgKG9wZW5DaGFuZ2UpPVwib25PcGVuQ2hhbmdlKCRldmVudClcIj5cbiAgICAgICAgPHRvbGxlLWFsZXJ0LWRpYWxvZy1jb250ZW50IFtzaXplXT1cImNvbmZpZy5zaXplIHx8ICdsZydcIj5cbiAgICAgICAgICA8dG9sbGUtYWxlcnQtZGlhbG9nLWhlYWRlcj5cbiAgICAgICAgICAgIDx0b2xsZS1hbGVydC1kaWFsb2ctdGl0bGU+e3sgY29uZmlnLnRpdGxlIH19PC90b2xsZS1hbGVydC1kaWFsb2ctdGl0bGU+XG4gICAgICAgICAgICA8dG9sbGUtYWxlcnQtZGlhbG9nLWRlc2NyaXB0aW9uPlxuICAgICAgICAgICAgICB7eyBjb25maWcuZGVzY3JpcHRpb24gfX1cbiAgICAgICAgICAgIDwvdG9sbGUtYWxlcnQtZGlhbG9nLWRlc2NyaXB0aW9uPlxuICAgICAgICAgIDwvdG9sbGUtYWxlcnQtZGlhbG9nLWhlYWRlcj5cbiAgICAgICAgICA8dG9sbGUtYWxlcnQtZGlhbG9nLWZvb3Rlcj5cbiAgICAgICAgICAgIDx0b2xsZS1hbGVydC1kaWFsb2ctY2FuY2VsIChjbGljayk9XCJjbG9zZShmYWxzZSlcIj5cbiAgICAgICAgICAgICAgPHRvbGxlLWJ1dHRvbiB2YXJpYW50PVwib3V0bGluZVwiPnt7IGNvbmZpZy5jYW5jZWxUZXh0IHx8ICdDYW5jZWwnIH19PC90b2xsZS1idXR0b24+XG4gICAgICAgICAgICA8L3RvbGxlLWFsZXJ0LWRpYWxvZy1jYW5jZWw+XG4gICAgICAgICAgICA8dG9sbGUtYWxlcnQtZGlhbG9nLWFjdGlvbiAoY2xpY2spPVwiY2xvc2UodHJ1ZSlcIj5cbiAgICAgICAgICAgICAgPHRvbGxlLWJ1dHRvbiBbdmFyaWFudF09XCJjb25maWcudmFyaWFudCA9PT0gJ2Rlc3RydWN0aXZlJyA/ICdkZXN0cnVjdGl2ZScgOiAnZGVmYXVsdCdcIj5cbiAgICAgICAgICAgICAgICB7eyBjb25maWcuYWN0aW9uVGV4dCB8fCAnQ29udGludWUnIH19XG4gICAgICAgICAgICAgIDwvdG9sbGUtYnV0dG9uPlxuICAgICAgICAgICAgPC90b2xsZS1hbGVydC1kaWFsb2ctYWN0aW9uPlxuICAgICAgICAgIDwvdG9sbGUtYWxlcnQtZGlhbG9nLWZvb3Rlcj5cbiAgICAgICAgPC90b2xsZS1hbGVydC1kaWFsb2ctY29udGVudD5cbiAgICA8L3RvbGxlLWFsZXJ0LWRpYWxvZz5cbiAgYFxufSlcbmV4cG9ydCBjbGFzcyBBbGVydERpYWxvZ0R5bmFtaWNDb21wb25lbnQge1xuICBjb25maWchOiBBbGVydERpYWxvZ0NvbmZpZztcbiAgZGlhbG9nUmVmITogQWxlcnREaWFsb2dSZWY7XG5cbiAgLyoqXG4gICAqIFNldCBieSBgQWxlcnREaWFsb2dTZXJ2aWNlYCBvbmNlIHRoZSBkaWFsb2cncyByZXN1bHQgaXMgcmVhZHksIHNvIHRoZVxuICAgKiBjb250ZW50IHBhbmVsIHBsYXlzIGl0cyBleGl0IGFuaW1hdGlvbiBiZWZvcmUgdGhlIG92ZXJsYXkgaXMgdG9ybiBkb3duLlxuICAgKi9cbiAgY2xvc2luZyA9IGZhbHNlO1xuXG4gIG9uT3BlbkNoYW5nZShvcGVuOiBib29sZWFuKSB7XG4gICAgaWYgKCFvcGVuKSB7XG4gICAgICB0aGlzLmNsb3NlKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBjbG9zZShyZXN1bHQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShyZXN1bHQpO1xuICB9XG59XG4iXX0=
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQtZGlhbG9nLWR5bmFtaWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdG9sbGUvc3JjL2xpYi9hbGVydC1kaWFsb2ctZHluYW1pYy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBMEIsTUFBTSxlQUFlLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsMkJBQTJCLEVBQzNCLDBCQUEwQixFQUMxQix5QkFBeUIsRUFDekIsK0JBQStCLEVBQy9CLDBCQUEwQixFQUMxQiwwQkFBMEIsRUFDMUIsMEJBQTBCLEVBQzNCLE1BQU0sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQTBDckQsTUFBTSxPQUFPLDJCQUEyQjtJQUN0QyxNQUFNLENBQXFCO0lBQzNCLFNBQVMsQ0FBa0I7SUFFM0I7OztPQUdHO0lBQ0gsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUVoQjs7Ozs7T0FLRztJQUNILE1BQU0sR0FBRyxLQUFLLENBQUM7SUFFZixZQUFZLENBQUMsSUFBYTtRQUN4QixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDVixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDcEMsQ0FBQztJQUNILENBQUM7d0dBdEJVLDJCQUEyQjs0RkFBM0IsMkJBQTJCLHNGQXZCNUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFCVCwrRkFoQ0MsWUFBWSwrQkFDWixvQkFBb0IsMEdBQ3BCLDJCQUEyQixrR0FDM0IsMEJBQTBCLHlGQUMxQix5QkFBeUIsd0ZBQ3pCLCtCQUErQiw4RkFDL0IsMEJBQTBCLHlGQUMxQiwwQkFBMEIsOEZBQzFCLDBCQUEwQiw4RkFDMUIsZUFBZTs7NEZBeUJOLDJCQUEyQjtrQkF2Q3ZDLFNBQVM7K0JBQ0UsNEJBQTRCLGNBRTFCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLG9CQUFvQjt3QkFDcEIsMkJBQTJCO3dCQUMzQiwwQkFBMEI7d0JBQzFCLHlCQUF5Qjt3QkFDekIsK0JBQStCO3dCQUMvQiwwQkFBMEI7d0JBQzFCLDBCQUEwQjt3QkFDMUIsMEJBQTBCO3dCQUMxQixlQUFlO3FCQUNoQixZQUNTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQlQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgaW5qZWN0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBbGVydERpYWxvZ0NvbXBvbmVudCxcbiAgQWxlcnREaWFsb2dDb250ZW50Q29tcG9uZW50LFxuICBBbGVydERpYWxvZ0hlYWRlckNvbXBvbmVudCxcbiAgQWxlcnREaWFsb2dUaXRsZUNvbXBvbmVudCxcbiAgQWxlcnREaWFsb2dEZXNjcmlwdGlvbkNvbXBvbmVudCxcbiAgQWxlcnREaWFsb2dGb290ZXJDb21wb25lbnQsXG4gIEFsZXJ0RGlhbG9nQ2FuY2VsQ29tcG9uZW50LFxuICBBbGVydERpYWxvZ0FjdGlvbkNvbXBvbmVudFxufSBmcm9tICcuL2FsZXJ0LWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IEFsZXJ0RGlhbG9nQ29uZmlnLCBBbGVydERpYWxvZ1JlZiB9IGZyb20gJy4vYWxlcnQtZGlhbG9nLnR5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndG9sbGUtYWxlcnQtZGlhbG9nLWR5bmFtaWMnLFxuICBzdHlsZXM6IFsnOmhvc3QgeyBkaXNwbGF5OiBibG9jazsgfSddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEFsZXJ0RGlhbG9nQ29tcG9uZW50LFxuICAgIEFsZXJ0RGlhbG9nQ29udGVudENvbXBvbmVudCxcbiAgICBBbGVydERpYWxvZ0hlYWRlckNvbXBvbmVudCxcbiAgICBBbGVydERpYWxvZ1RpdGxlQ29tcG9uZW50LFxuICAgIEFsZXJ0RGlhbG9nRGVzY3JpcHRpb25Db21wb25lbnQsXG4gICAgQWxlcnREaWFsb2dGb290ZXJDb21wb25lbnQsXG4gICAgQWxlcnREaWFsb2dDYW5jZWxDb21wb25lbnQsXG4gICAgQWxlcnREaWFsb2dBY3Rpb25Db21wb25lbnQsXG4gICAgQnV0dG9uQ29tcG9uZW50XG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPHRvbGxlLWFsZXJ0LWRpYWxvZyBbb3Blbl09XCIhY2xvc2luZ1wiIChvcGVuQ2hhbmdlKT1cIm9uT3BlbkNoYW5nZSgkZXZlbnQpXCI+XG4gICAgICAgIDx0b2xsZS1hbGVydC1kaWFsb2ctY29udGVudCBbc2l6ZV09XCJjb25maWcuc2l6ZSB8fCAnbGcnXCI+XG4gICAgICAgICAgPHRvbGxlLWFsZXJ0LWRpYWxvZy1oZWFkZXI+XG4gICAgICAgICAgICA8dG9sbGUtYWxlcnQtZGlhbG9nLXRpdGxlPnt7IGNvbmZpZy50aXRsZSB9fTwvdG9sbGUtYWxlcnQtZGlhbG9nLXRpdGxlPlxuICAgICAgICAgICAgPHRvbGxlLWFsZXJ0LWRpYWxvZy1kZXNjcmlwdGlvbj5cbiAgICAgICAgICAgICAge3sgY29uZmlnLmRlc2NyaXB0aW9uIH19XG4gICAgICAgICAgICA8L3RvbGxlLWFsZXJ0LWRpYWxvZy1kZXNjcmlwdGlvbj5cbiAgICAgICAgICA8L3RvbGxlLWFsZXJ0LWRpYWxvZy1oZWFkZXI+XG4gICAgICAgICAgPHRvbGxlLWFsZXJ0LWRpYWxvZy1mb290ZXI+XG4gICAgICAgICAgICA8dG9sbGUtYWxlcnQtZGlhbG9nLWNhbmNlbCAoY2FuY2VsbGVkKT1cInJlc3VsdCA9IGZhbHNlXCI+XG4gICAgICAgICAgICAgIDx0b2xsZS1idXR0b24gdmFyaWFudD1cIm91dGxpbmVcIj57eyBjb25maWcuY2FuY2VsVGV4dCB8fCAnQ2FuY2VsJyB9fTwvdG9sbGUtYnV0dG9uPlxuICAgICAgICAgICAgPC90b2xsZS1hbGVydC1kaWFsb2ctY2FuY2VsPlxuICAgICAgICAgICAgPHRvbGxlLWFsZXJ0LWRpYWxvZy1hY3Rpb24gKGNvbmZpcm1lZCk9XCJyZXN1bHQgPSB0cnVlXCI+XG4gICAgICAgICAgICAgIDx0b2xsZS1idXR0b24gW3ZhcmlhbnRdPVwiY29uZmlnLnZhcmlhbnQgPT09ICdkZXN0cnVjdGl2ZScgPyAnZGVzdHJ1Y3RpdmUnIDogJ2RlZmF1bHQnXCI+XG4gICAgICAgICAgICAgICAge3sgY29uZmlnLmFjdGlvblRleHQgfHwgJ0NvbnRpbnVlJyB9fVxuICAgICAgICAgICAgICA8L3RvbGxlLWJ1dHRvbj5cbiAgICAgICAgICAgIDwvdG9sbGUtYWxlcnQtZGlhbG9nLWFjdGlvbj5cbiAgICAgICAgICA8L3RvbGxlLWFsZXJ0LWRpYWxvZy1mb290ZXI+XG4gICAgICAgIDwvdG9sbGUtYWxlcnQtZGlhbG9nLWNvbnRlbnQ+XG4gICAgPC90b2xsZS1hbGVydC1kaWFsb2c+XG4gIGBcbn0pXG5leHBvcnQgY2xhc3MgQWxlcnREaWFsb2dEeW5hbWljQ29tcG9uZW50IHtcbiAgY29uZmlnITogQWxlcnREaWFsb2dDb25maWc7XG4gIGRpYWxvZ1JlZiE6IEFsZXJ0RGlhbG9nUmVmO1xuXG4gIC8qKlxuICAgKiBTZXQgYnkgYEFsZXJ0RGlhbG9nU2VydmljZWAgb25jZSB0aGUgZGlhbG9nJ3MgcmVzdWx0IGlzIHJlYWR5LCBzbyB0aGVcbiAgICogY29udGVudCBwYW5lbCBwbGF5cyBpdHMgZXhpdCBhbmltYXRpb24gYmVmb3JlIHRoZSBvdmVybGF5IGlzIHRvcm4gZG93bi5cbiAgICovXG4gIGNsb3NpbmcgPSBmYWxzZTtcblxuICAvKipcbiAgICogUmVzdWx0IHJlY29yZGVkIGJ5IHRoZSBhY3Rpb24vY2FuY2VsIGJ1dHRvbnMnIGBjb25maXJtZWRgL2BjYW5jZWxsZWRgXG4gICAqIG91dHB1dHMsIHdoaWNoIGZpcmUgKmJlZm9yZSogdGhlIGJ1dHRvbiBkcml2ZXMgdGhlIGRpYWxvZyBjbG9zZWQuIFRoZVxuICAgKiBzaW5nbGUgY2xvc2UgcGF0aCAoYG9uT3BlbkNoYW5nZWApIHRoZW4gcmVhZHMgaXQsIHNvIGEgY29uZmlybSByZXBvcnRzXG4gICAqIGB0cnVlYCBpbnN0ZWFkIG9mIHJhY2luZyB3aXRoIHRoZSBidXR0b24ncyBvd24gYGZhbHNlYCBjbG9zZSBzaWduYWwuXG4gICAqL1xuICByZXN1bHQgPSBmYWxzZTtcblxuICBvbk9wZW5DaGFuZ2Uob3BlbjogYm9vbGVhbikge1xuICAgIGlmICghb3Blbikge1xuICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UodGhpcy5yZXN1bHQpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -2,9 +2,14 @@ import { Subject } from 'rxjs';
2
2
  export class AlertDialogRef {
3
3
  _afterClosed = new Subject();
4
4
  afterClosed$ = this._afterClosed.asObservable();
5
+ /** Guards against the dialog's several close paths racing to emit twice. */
6
+ closed = false;
5
7
  close(result = false) {
8
+ if (this.closed)
9
+ return;
10
+ this.closed = true;
6
11
  this._afterClosed.next(result);
7
12
  this._afterClosed.complete();
8
13
  }
9
14
  }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQtZGlhbG9nLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdG9sbGUvc3JjL2xpYi9hbGVydC1kaWFsb2cudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBYyxNQUFNLE1BQU0sQ0FBQztBQWEzQyxNQUFNLE9BQU8sY0FBYztJQUNOLFlBQVksR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO0lBQ3ZELFlBQVksR0FBd0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUVyRSxLQUFLLENBQUMsU0FBa0IsS0FBSztRQUN6QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2pDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IHR5cGUgQWxlcnREaWFsb2dTaXplID0gJ3hzJyB8ICdzbScgfCAnbWQnIHwgJ2xnJyB8ICd4bCcgfCAnMnhsJyB8ICdmdWxsJyB8ICdmaXQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFsZXJ0RGlhbG9nQ29uZmlnIHtcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgY2FuY2VsVGV4dD86IHN0cmluZztcbiAgICBhY3Rpb25UZXh0Pzogc3RyaW5nO1xuICAgIHZhcmlhbnQ/OiAnZGVmYXVsdCcgfCAnZGVzdHJ1Y3RpdmUnO1xuICAgIHNpemU/OiBBbGVydERpYWxvZ1NpemU7XG59XG5cbmV4cG9ydCBjbGFzcyBBbGVydERpYWxvZ1JlZiB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfYWZ0ZXJDbG9zZWQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICAgIGFmdGVyQ2xvc2VkJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuX2FmdGVyQ2xvc2VkLmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgY2xvc2UocmVzdWx0OiBib29sZWFuID0gZmFsc2UpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fYWZ0ZXJDbG9zZWQubmV4dChyZXN1bHQpO1xuICAgICAgICB0aGlzLl9hZnRlckNsb3NlZC5jb21wbGV0ZSgpO1xuICAgIH1cbn1cbiJdfQ==
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQtZGlhbG9nLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdG9sbGUvc3JjL2xpYi9hbGVydC1kaWFsb2cudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBYyxNQUFNLE1BQU0sQ0FBQztBQWEzQyxNQUFNLE9BQU8sY0FBYztJQUNOLFlBQVksR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO0lBQ3ZELFlBQVksR0FBd0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUVyRSw0RUFBNEU7SUFDcEUsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUV2QixLQUFLLENBQUMsU0FBa0IsS0FBSztRQUN6QixJQUFJLElBQUksQ0FBQyxNQUFNO1lBQUUsT0FBTztRQUN4QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUNuQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2pDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IHR5cGUgQWxlcnREaWFsb2dTaXplID0gJ3hzJyB8ICdzbScgfCAnbWQnIHwgJ2xnJyB8ICd4bCcgfCAnMnhsJyB8ICdmdWxsJyB8ICdmaXQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFsZXJ0RGlhbG9nQ29uZmlnIHtcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgY2FuY2VsVGV4dD86IHN0cmluZztcbiAgICBhY3Rpb25UZXh0Pzogc3RyaW5nO1xuICAgIHZhcmlhbnQ/OiAnZGVmYXVsdCcgfCAnZGVzdHJ1Y3RpdmUnO1xuICAgIHNpemU/OiBBbGVydERpYWxvZ1NpemU7XG59XG5cbmV4cG9ydCBjbGFzcyBBbGVydERpYWxvZ1JlZiB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfYWZ0ZXJDbG9zZWQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICAgIGFmdGVyQ2xvc2VkJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuX2FmdGVyQ2xvc2VkLmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgLyoqIEd1YXJkcyBhZ2FpbnN0IHRoZSBkaWFsb2cncyBzZXZlcmFsIGNsb3NlIHBhdGhzIHJhY2luZyB0byBlbWl0IHR3aWNlLiAqL1xuICAgIHByaXZhdGUgY2xvc2VkID0gZmFsc2U7XG5cbiAgICBjbG9zZShyZXN1bHQ6IGJvb2xlYW4gPSBmYWxzZSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jbG9zZWQpIHJldHVybjtcbiAgICAgICAgdGhpcy5jbG9zZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLl9hZnRlckNsb3NlZC5uZXh0KHJlc3VsdCk7XG4gICAgICAgIHRoaXMuX2FmdGVyQ2xvc2VkLmNvbXBsZXRlKCk7XG4gICAgfVxufVxuIl19
@@ -11672,7 +11672,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
11672
11672
  class AlertDialogRef {
11673
11673
  _afterClosed = new Subject();
11674
11674
  afterClosed$ = this._afterClosed.asObservable();
11675
+ /** Guards against the dialog's several close paths racing to emit twice. */
11676
+ closed = false;
11675
11677
  close(result = false) {
11678
+ if (this.closed)
11679
+ return;
11680
+ this.closed = true;
11676
11681
  this._afterClosed.next(result);
11677
11682
  this._afterClosed.complete();
11678
11683
  }
@@ -11686,14 +11691,18 @@ class AlertDialogDynamicComponent {
11686
11691
  * content panel plays its exit animation before the overlay is torn down.
11687
11692
  */
11688
11693
  closing = false;
11694
+ /**
11695
+ * Result recorded by the action/cancel buttons' `confirmed`/`cancelled`
11696
+ * outputs, which fire *before* the button drives the dialog closed. The
11697
+ * single close path (`onOpenChange`) then reads it, so a confirm reports
11698
+ * `true` instead of racing with the button's own `false` close signal.
11699
+ */
11700
+ result = false;
11689
11701
  onOpenChange(open) {
11690
11702
  if (!open) {
11691
- this.close(false);
11703
+ this.dialogRef.close(this.result);
11692
11704
  }
11693
11705
  }
11694
- close(result) {
11695
- this.dialogRef.close(result);
11696
- }
11697
11706
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AlertDialogDynamicComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11698
11707
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: AlertDialogDynamicComponent, isStandalone: true, selector: "tolle-alert-dialog-dynamic", ngImport: i0, template: `
11699
11708
  <tolle-alert-dialog [open]="!closing" (openChange)="onOpenChange($event)">
@@ -11705,10 +11714,10 @@ class AlertDialogDynamicComponent {
11705
11714
  </tolle-alert-dialog-description>
11706
11715
  </tolle-alert-dialog-header>
11707
11716
  <tolle-alert-dialog-footer>
11708
- <tolle-alert-dialog-cancel (click)="close(false)">
11717
+ <tolle-alert-dialog-cancel (cancelled)="result = false">
11709
11718
  <tolle-button variant="outline">{{ config.cancelText || 'Cancel' }}</tolle-button>
11710
11719
  </tolle-alert-dialog-cancel>
11711
- <tolle-alert-dialog-action (click)="close(true)">
11720
+ <tolle-alert-dialog-action (confirmed)="result = true">
11712
11721
  <tolle-button [variant]="config.variant === 'destructive' ? 'destructive' : 'default'">
11713
11722
  {{ config.actionText || 'Continue' }}
11714
11723
  </tolle-button>
@@ -11741,10 +11750,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
11741
11750
  </tolle-alert-dialog-description>
11742
11751
  </tolle-alert-dialog-header>
11743
11752
  <tolle-alert-dialog-footer>
11744
- <tolle-alert-dialog-cancel (click)="close(false)">
11753
+ <tolle-alert-dialog-cancel (cancelled)="result = false">
11745
11754
  <tolle-button variant="outline">{{ config.cancelText || 'Cancel' }}</tolle-button>
11746
11755
  </tolle-alert-dialog-cancel>
11747
- <tolle-alert-dialog-action (click)="close(true)">
11756
+ <tolle-alert-dialog-action (confirmed)="result = true">
11748
11757
  <tolle-button [variant]="config.variant === 'destructive' ? 'destructive' : 'default'">
11749
11758
  {{ config.actionText || 'Continue' }}
11750
11759
  </tolle-button>