@tolle_/tolle-ui 0.0.32-beta → 0.1.0
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/esm2022/lib/alert-dialog-dynamic.component.mjs +82 -0
- package/esm2022/lib/alert-dialog.component.mjs +278 -0
- package/esm2022/lib/alert-dialog.service.mjs +39 -0
- package/esm2022/lib/alert-dialog.types.mjs +10 -0
- package/esm2022/lib/carousel/carousel.component.mjs +199 -0
- package/esm2022/lib/carousel/index.mjs +2 -0
- package/esm2022/lib/collapsible.component.mjs +147 -0
- package/esm2022/lib/data-table.component.mjs +233 -173
- package/esm2022/lib/date-picker.component.mjs +3 -5
- package/esm2022/lib/hover-card.component.mjs +185 -0
- package/esm2022/lib/label.component.mjs +41 -0
- package/esm2022/lib/otp.component.mjs +12 -5
- package/esm2022/lib/pagination.component.mjs +4 -1
- package/esm2022/lib/progress.component.mjs +53 -0
- package/esm2022/lib/scroll-area.component.mjs +49 -0
- package/esm2022/lib/segment.component.mjs +19 -3
- package/esm2022/lib/separator.component.mjs +42 -0
- package/esm2022/lib/sheet-ref.mjs +36 -0
- package/esm2022/lib/sheet-wrapper.component.mjs +142 -0
- package/esm2022/lib/sheet.component.mjs +262 -0
- package/esm2022/lib/sheet.service.mjs +48 -0
- package/esm2022/lib/sheet.types.mjs +2 -0
- package/esm2022/lib/slider.component.mjs +234 -0
- package/esm2022/lib/tabs.component.mjs +176 -0
- package/esm2022/lib/toaster.component.mjs +50 -19
- package/esm2022/lib/toggle-group.component.mjs +173 -0
- package/esm2022/lib/toggle.component.mjs +122 -0
- package/esm2022/public-api.mjs +21 -1
- package/fesm2022/tolle-ui.mjs +2690 -354
- package/fesm2022/tolle-ui.mjs.map +1 -1
- package/lib/alert-dialog-dynamic.component.d.ts +10 -0
- package/lib/alert-dialog.component.d.ts +74 -0
- package/lib/alert-dialog.service.d.ts +9 -0
- package/lib/alert-dialog.types.d.ts +13 -0
- package/lib/carousel/carousel.component.d.ts +63 -0
- package/lib/carousel/index.d.ts +1 -0
- package/lib/collapsible.component.d.ts +31 -0
- package/lib/data-table.component.d.ts +5 -3
- package/lib/hover-card.component.d.ts +42 -0
- package/lib/label.component.d.ts +8 -0
- package/lib/otp.component.d.ts +4 -1
- package/lib/progress.component.d.ts +8 -0
- package/lib/scroll-area.component.d.ts +10 -0
- package/lib/segment.component.d.ts +5 -2
- package/lib/separator.component.d.ts +9 -0
- package/lib/sheet-ref.d.ts +18 -0
- package/lib/sheet-wrapper.component.d.ts +17 -0
- package/lib/sheet.component.d.ts +52 -0
- package/lib/sheet.service.d.ts +11 -0
- package/lib/sheet.types.d.ts +28 -0
- package/lib/slider.component.d.ts +35 -0
- package/lib/tabs.component.d.ts +42 -0
- package/lib/toaster.component.d.ts +7 -0
- package/lib/toggle-group.component.d.ts +41 -0
- package/lib/toggle.component.d.ts +30 -0
- package/package.json +3 -2
- package/public-api.d.ts +20 -0
- package/theme.css +142 -13
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { AlertDialogComponent, AlertDialogContentComponent, AlertDialogHeaderComponent, AlertDialogTitleComponent, AlertDialogDescriptionComponent, AlertDialogFooterComponent, AlertDialogCancelComponent, AlertDialogActionComponent } from './alert-dialog.component';
|
|
4
|
+
import { ButtonComponent } from './button.component';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class AlertDialogDynamicComponent {
|
|
7
|
+
config;
|
|
8
|
+
dialogRef;
|
|
9
|
+
onOpenChange(open) {
|
|
10
|
+
if (!open) {
|
|
11
|
+
this.close(false);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
close(result) {
|
|
15
|
+
this.dialogRef.close(result);
|
|
16
|
+
}
|
|
17
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AlertDialogDynamicComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
18
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: AlertDialogDynamicComponent, isStandalone: true, selector: "tolle-alert-dialog-dynamic", ngImport: i0, template: `
|
|
19
|
+
<tolle-alert-dialog [open]="true" (openChange)="onOpenChange($event)">
|
|
20
|
+
<tolle-alert-dialog-content>
|
|
21
|
+
<tolle-alert-dialog-header>
|
|
22
|
+
<tolle-alert-dialog-title>{{ config.title }}</tolle-alert-dialog-title>
|
|
23
|
+
<tolle-alert-dialog-description>
|
|
24
|
+
{{ config.description }}
|
|
25
|
+
</tolle-alert-dialog-description>
|
|
26
|
+
</tolle-alert-dialog-header>
|
|
27
|
+
<tolle-alert-dialog-footer>
|
|
28
|
+
<tolle-alert-dialog-cancel (click)="close(false)">
|
|
29
|
+
<tolle-button variant="outline">{{ config.cancelText || 'Cancel' }}</tolle-button>
|
|
30
|
+
</tolle-alert-dialog-cancel>
|
|
31
|
+
<tolle-alert-dialog-action (click)="close(true)">
|
|
32
|
+
<tolle-button [variant]="config.variant === 'destructive' ? 'destructive' : 'default'">
|
|
33
|
+
{{ config.actionText || 'Continue' }}
|
|
34
|
+
</tolle-button>
|
|
35
|
+
</tolle-alert-dialog-action>
|
|
36
|
+
</tolle-alert-dialog-footer>
|
|
37
|
+
</tolle-alert-dialog-content>
|
|
38
|
+
</tolle-alert-dialog>
|
|
39
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: AlertDialogComponent, selector: "tolle-alert-dialog", inputs: ["open"], outputs: ["openChange"] }, { kind: "component", type: AlertDialogContentComponent, selector: "tolle-alert-dialog-content", inputs: ["class"] }, { kind: "component", type: AlertDialogHeaderComponent, selector: "tolle-alert-dialog-header", inputs: ["class"] }, { kind: "component", type: AlertDialogTitleComponent, selector: "tolle-alert-dialog-title", inputs: ["class"] }, { kind: "component", type: AlertDialogDescriptionComponent, selector: "tolle-alert-dialog-description", inputs: ["class"] }, { kind: "component", type: AlertDialogFooterComponent, selector: "tolle-alert-dialog-footer", inputs: ["class"] }, { kind: "component", type: AlertDialogCancelComponent, selector: "tolle-alert-dialog-cancel" }, { kind: "component", type: AlertDialogActionComponent, selector: "tolle-alert-dialog-action" }, { kind: "component", type: ButtonComponent, selector: "tolle-button", inputs: ["class", "variant", "size", "disabled", "busy"] }] });
|
|
40
|
+
}
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AlertDialogDynamicComponent, decorators: [{
|
|
42
|
+
type: Component,
|
|
43
|
+
args: [{
|
|
44
|
+
selector: 'tolle-alert-dialog-dynamic',
|
|
45
|
+
standalone: true,
|
|
46
|
+
imports: [
|
|
47
|
+
CommonModule,
|
|
48
|
+
AlertDialogComponent,
|
|
49
|
+
AlertDialogContentComponent,
|
|
50
|
+
AlertDialogHeaderComponent,
|
|
51
|
+
AlertDialogTitleComponent,
|
|
52
|
+
AlertDialogDescriptionComponent,
|
|
53
|
+
AlertDialogFooterComponent,
|
|
54
|
+
AlertDialogCancelComponent,
|
|
55
|
+
AlertDialogActionComponent,
|
|
56
|
+
ButtonComponent
|
|
57
|
+
],
|
|
58
|
+
template: `
|
|
59
|
+
<tolle-alert-dialog [open]="true" (openChange)="onOpenChange($event)">
|
|
60
|
+
<tolle-alert-dialog-content>
|
|
61
|
+
<tolle-alert-dialog-header>
|
|
62
|
+
<tolle-alert-dialog-title>{{ config.title }}</tolle-alert-dialog-title>
|
|
63
|
+
<tolle-alert-dialog-description>
|
|
64
|
+
{{ config.description }}
|
|
65
|
+
</tolle-alert-dialog-description>
|
|
66
|
+
</tolle-alert-dialog-header>
|
|
67
|
+
<tolle-alert-dialog-footer>
|
|
68
|
+
<tolle-alert-dialog-cancel (click)="close(false)">
|
|
69
|
+
<tolle-button variant="outline">{{ config.cancelText || 'Cancel' }}</tolle-button>
|
|
70
|
+
</tolle-alert-dialog-cancel>
|
|
71
|
+
<tolle-alert-dialog-action (click)="close(true)">
|
|
72
|
+
<tolle-button [variant]="config.variant === 'destructive' ? 'destructive' : 'default'">
|
|
73
|
+
{{ config.actionText || 'Continue' }}
|
|
74
|
+
</tolle-button>
|
|
75
|
+
</tolle-alert-dialog-action>
|
|
76
|
+
</tolle-alert-dialog-footer>
|
|
77
|
+
</tolle-alert-dialog-content>
|
|
78
|
+
</tolle-alert-dialog>
|
|
79
|
+
`
|
|
80
|
+
}]
|
|
81
|
+
}] });
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQtZGlhbG9nLWR5bmFtaWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdG9sbGUvc3JjL2xpYi9hbGVydC1kaWFsb2ctZHluYW1pYy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBMEIsTUFBTSxlQUFlLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDSCxvQkFBb0IsRUFDcEIsMkJBQTJCLEVBQzNCLDBCQUEwQixFQUMxQix5QkFBeUIsRUFDekIsK0JBQStCLEVBQy9CLDBCQUEwQixFQUMxQiwwQkFBMEIsRUFDMUIsMEJBQTBCLEVBQzdCLE1BQU0sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQXlDckQsTUFBTSxPQUFPLDJCQUEyQjtJQUNwQyxNQUFNLENBQXFCO0lBQzNCLFNBQVMsQ0FBa0I7SUFFM0IsWUFBWSxDQUFDLElBQWE7UUFDdEIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1IsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0QixDQUFDO0lBQ0wsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFlO1FBQ2pCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2pDLENBQUM7d0dBWlEsMkJBQTJCOzRGQUEzQiwyQkFBMkIsc0ZBdkIxQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUJYLDJEQWhDSyxZQUFZLCtCQUNaLG9CQUFvQiwwR0FDcEIsMkJBQTJCLDBGQUMzQiwwQkFBMEIseUZBQzFCLHlCQUF5Qix3RkFDekIsK0JBQStCLDhGQUMvQiwwQkFBMEIseUZBQzFCLDBCQUEwQixzRUFDMUIsMEJBQTBCLHNFQUMxQixlQUFlOzs0RkF5QlYsMkJBQTJCO2tCQXRDdkMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsNEJBQTRCO29CQUN0QyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osb0JBQW9CO3dCQUNwQiwyQkFBMkI7d0JBQzNCLDBCQUEwQjt3QkFDMUIseUJBQXlCO3dCQUN6QiwrQkFBK0I7d0JBQy9CLDBCQUEwQjt3QkFDMUIsMEJBQTBCO3dCQUMxQiwwQkFBMEI7d0JBQzFCLGVBQWU7cUJBQ2xCO29CQUNELFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUJYO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIGluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBBbGVydERpYWxvZ0NvbXBvbmVudCxcbiAgICBBbGVydERpYWxvZ0NvbnRlbnRDb21wb25lbnQsXG4gICAgQWxlcnREaWFsb2dIZWFkZXJDb21wb25lbnQsXG4gICAgQWxlcnREaWFsb2dUaXRsZUNvbXBvbmVudCxcbiAgICBBbGVydERpYWxvZ0Rlc2NyaXB0aW9uQ29tcG9uZW50LFxuICAgIEFsZXJ0RGlhbG9nRm9vdGVyQ29tcG9uZW50LFxuICAgIEFsZXJ0RGlhbG9nQ2FuY2VsQ29tcG9uZW50LFxuICAgIEFsZXJ0RGlhbG9nQWN0aW9uQ29tcG9uZW50XG59IGZyb20gJy4vYWxlcnQtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2J1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWxlcnREaWFsb2dDb25maWcsIEFsZXJ0RGlhbG9nUmVmIH0gZnJvbSAnLi9hbGVydC1kaWFsb2cudHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RvbGxlLWFsZXJ0LWRpYWxvZy1keW5hbWljJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBBbGVydERpYWxvZ0NvbXBvbmVudCxcbiAgICAgICAgQWxlcnREaWFsb2dDb250ZW50Q29tcG9uZW50LFxuICAgICAgICBBbGVydERpYWxvZ0hlYWRlckNvbXBvbmVudCxcbiAgICAgICAgQWxlcnREaWFsb2dUaXRsZUNvbXBvbmVudCxcbiAgICAgICAgQWxlcnREaWFsb2dEZXNjcmlwdGlvbkNvbXBvbmVudCxcbiAgICAgICAgQWxlcnREaWFsb2dGb290ZXJDb21wb25lbnQsXG4gICAgICAgIEFsZXJ0RGlhbG9nQ2FuY2VsQ29tcG9uZW50LFxuICAgICAgICBBbGVydERpYWxvZ0FjdGlvbkNvbXBvbmVudCxcbiAgICAgICAgQnV0dG9uQ29tcG9uZW50XG4gICAgXSxcbiAgICB0ZW1wbGF0ZTogYFxuICAgIDx0b2xsZS1hbGVydC1kaWFsb2cgW29wZW5dPVwidHJ1ZVwiIChvcGVuQ2hhbmdlKT1cIm9uT3BlbkNoYW5nZSgkZXZlbnQpXCI+XG4gICAgICAgIDx0b2xsZS1hbGVydC1kaWFsb2ctY29udGVudD5cbiAgICAgICAgICA8dG9sbGUtYWxlcnQtZGlhbG9nLWhlYWRlcj5cbiAgICAgICAgICAgIDx0b2xsZS1hbGVydC1kaWFsb2ctdGl0bGU+e3sgY29uZmlnLnRpdGxlIH19PC90b2xsZS1hbGVydC1kaWFsb2ctdGl0bGU+XG4gICAgICAgICAgICA8dG9sbGUtYWxlcnQtZGlhbG9nLWRlc2NyaXB0aW9uPlxuICAgICAgICAgICAgICB7eyBjb25maWcuZGVzY3JpcHRpb24gfX1cbiAgICAgICAgICAgIDwvdG9sbGUtYWxlcnQtZGlhbG9nLWRlc2NyaXB0aW9uPlxuICAgICAgICAgIDwvdG9sbGUtYWxlcnQtZGlhbG9nLWhlYWRlcj5cbiAgICAgICAgICA8dG9sbGUtYWxlcnQtZGlhbG9nLWZvb3Rlcj5cbiAgICAgICAgICAgIDx0b2xsZS1hbGVydC1kaWFsb2ctY2FuY2VsIChjbGljayk9XCJjbG9zZShmYWxzZSlcIj5cbiAgICAgICAgICAgICAgPHRvbGxlLWJ1dHRvbiB2YXJpYW50PVwib3V0bGluZVwiPnt7IGNvbmZpZy5jYW5jZWxUZXh0IHx8ICdDYW5jZWwnIH19PC90b2xsZS1idXR0b24+XG4gICAgICAgICAgICA8L3RvbGxlLWFsZXJ0LWRpYWxvZy1jYW5jZWw+XG4gICAgICAgICAgICA8dG9sbGUtYWxlcnQtZGlhbG9nLWFjdGlvbiAoY2xpY2spPVwiY2xvc2UodHJ1ZSlcIj5cbiAgICAgICAgICAgICAgPHRvbGxlLWJ1dHRvbiBbdmFyaWFudF09XCJjb25maWcudmFyaWFudCA9PT0gJ2Rlc3RydWN0aXZlJyA/ICdkZXN0cnVjdGl2ZScgOiAnZGVmYXVsdCdcIj5cbiAgICAgICAgICAgICAgICB7eyBjb25maWcuYWN0aW9uVGV4dCB8fCAnQ29udGludWUnIH19XG4gICAgICAgICAgICAgIDwvdG9sbGUtYnV0dG9uPlxuICAgICAgICAgICAgPC90b2xsZS1hbGVydC1kaWFsb2ctYWN0aW9uPlxuICAgICAgICAgIDwvdG9sbGUtYWxlcnQtZGlhbG9nLWZvb3Rlcj5cbiAgICAgICAgPC90b2xsZS1hbGVydC1kaWFsb2ctY29udGVudD5cbiAgICA8L3RvbGxlLWFsZXJ0LWRpYWxvZz5cbiAgYFxufSlcbmV4cG9ydCBjbGFzcyBBbGVydERpYWxvZ0R5bmFtaWNDb21wb25lbnQge1xuICAgIGNvbmZpZyE6IEFsZXJ0RGlhbG9nQ29uZmlnO1xuICAgIGRpYWxvZ1JlZiE6IEFsZXJ0RGlhbG9nUmVmO1xuXG4gICAgb25PcGVuQ2hhbmdlKG9wZW46IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKCFvcGVuKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNsb3NlKHJlc3VsdDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShyZXN1bHQpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
import { Component, Input, Output, EventEmitter, Injectable, inject, ViewChild, ViewContainerRef } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { Overlay, OverlayConfig } from '@angular/cdk/overlay';
|
|
4
|
+
import { TemplatePortal } from '@angular/cdk/portal';
|
|
5
|
+
import { cn } from './utils/cn';
|
|
6
|
+
import { BehaviorSubject } from 'rxjs';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
class AlertDialogInternalService {
|
|
9
|
+
openSubject = new BehaviorSubject(false);
|
|
10
|
+
open$ = this.openSubject.asObservable();
|
|
11
|
+
setOpen(value) {
|
|
12
|
+
this.openSubject.next(value);
|
|
13
|
+
}
|
|
14
|
+
getOpen() {
|
|
15
|
+
return this.openSubject.getValue();
|
|
16
|
+
}
|
|
17
|
+
toggle() {
|
|
18
|
+
this.setOpen(!this.getOpen());
|
|
19
|
+
}
|
|
20
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AlertDialogInternalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
21
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AlertDialogInternalService });
|
|
22
|
+
}
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AlertDialogInternalService, decorators: [{
|
|
24
|
+
type: Injectable
|
|
25
|
+
}] });
|
|
26
|
+
export class AlertDialogComponent {
|
|
27
|
+
set open(val) {
|
|
28
|
+
this.alertDialogService.setOpen(val);
|
|
29
|
+
}
|
|
30
|
+
openChange = new EventEmitter();
|
|
31
|
+
alertDialogService = inject(AlertDialogInternalService);
|
|
32
|
+
constructor() {
|
|
33
|
+
this.alertDialogService.open$.subscribe(val => {
|
|
34
|
+
this.openChange.emit(val);
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AlertDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
38
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: AlertDialogComponent, isStandalone: true, selector: "tolle-alert-dialog", inputs: { open: "open" }, outputs: { openChange: "openChange" }, providers: [AlertDialogInternalService], ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }] });
|
|
39
|
+
}
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AlertDialogComponent, decorators: [{
|
|
41
|
+
type: Component,
|
|
42
|
+
args: [{
|
|
43
|
+
selector: 'tolle-alert-dialog',
|
|
44
|
+
standalone: true,
|
|
45
|
+
imports: [CommonModule],
|
|
46
|
+
providers: [AlertDialogInternalService],
|
|
47
|
+
template: `<ng-content></ng-content>`
|
|
48
|
+
}]
|
|
49
|
+
}], ctorParameters: () => [], propDecorators: { open: [{
|
|
50
|
+
type: Input
|
|
51
|
+
}], openChange: [{
|
|
52
|
+
type: Output
|
|
53
|
+
}] } });
|
|
54
|
+
export class AlertDialogTriggerComponent {
|
|
55
|
+
alertDialogService = inject(AlertDialogInternalService);
|
|
56
|
+
onOpen() {
|
|
57
|
+
this.alertDialogService.setOpen(true);
|
|
58
|
+
}
|
|
59
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AlertDialogTriggerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
60
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: AlertDialogTriggerComponent, isStandalone: true, selector: "tolle-alert-dialog-trigger", host: { listeners: { "click": "onOpen()" } }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }] });
|
|
61
|
+
}
|
|
62
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AlertDialogTriggerComponent, decorators: [{
|
|
63
|
+
type: Component,
|
|
64
|
+
args: [{
|
|
65
|
+
selector: 'tolle-alert-dialog-trigger',
|
|
66
|
+
standalone: true,
|
|
67
|
+
imports: [CommonModule],
|
|
68
|
+
template: `<ng-content></ng-content>`,
|
|
69
|
+
host: {
|
|
70
|
+
'(click)': 'onOpen()'
|
|
71
|
+
}
|
|
72
|
+
}]
|
|
73
|
+
}] });
|
|
74
|
+
export class AlertDialogPortalComponent {
|
|
75
|
+
portalContent;
|
|
76
|
+
alertDialogService = inject(AlertDialogInternalService);
|
|
77
|
+
overlay = inject(Overlay);
|
|
78
|
+
viewContainerRef = inject(ViewContainerRef);
|
|
79
|
+
overlayRef;
|
|
80
|
+
ngOnInit() {
|
|
81
|
+
this.alertDialogService.open$.subscribe(open => {
|
|
82
|
+
if (open) {
|
|
83
|
+
this.show();
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
this.hide();
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
show() {
|
|
91
|
+
if (this.overlayRef)
|
|
92
|
+
return;
|
|
93
|
+
const config = new OverlayConfig({
|
|
94
|
+
hasBackdrop: true,
|
|
95
|
+
backdropClass: ['cdk-overlay-backdrop', 'bg-black/80', 'backdrop-blur-sm', 'data-[state=open]:animate-in', 'data-[state=closed]:animate-out', 'data-[state=closed]:fade-out-0', 'data-[state=open]:fade-in-0'],
|
|
96
|
+
positionStrategy: this.overlay.position().global().centerHorizontally().centerVertically(),
|
|
97
|
+
scrollStrategy: this.overlay.scrollStrategies.block()
|
|
98
|
+
});
|
|
99
|
+
this.overlayRef = this.overlay.create(config);
|
|
100
|
+
this.overlayRef.backdropClick().subscribe(() => this.alertDialogService.setOpen(false));
|
|
101
|
+
const portal = new TemplatePortal(this.portalContent, this.viewContainerRef);
|
|
102
|
+
this.overlayRef.attach(portal);
|
|
103
|
+
}
|
|
104
|
+
hide() {
|
|
105
|
+
if (this.overlayRef) {
|
|
106
|
+
this.overlayRef.detach();
|
|
107
|
+
this.overlayRef.dispose();
|
|
108
|
+
this.overlayRef = undefined;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
ngOnDestroy() {
|
|
112
|
+
this.hide();
|
|
113
|
+
}
|
|
114
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AlertDialogPortalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
115
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: AlertDialogPortalComponent, isStandalone: true, selector: "tolle-alert-dialog-portal", viewQueries: [{ propertyName: "portalContent", first: true, predicate: ["portalContent"], descendants: true, static: true }], ngImport: i0, template: `
|
|
116
|
+
<ng-template #portalContent>
|
|
117
|
+
<ng-content></ng-content>
|
|
118
|
+
</ng-template>
|
|
119
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }] });
|
|
120
|
+
}
|
|
121
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AlertDialogPortalComponent, decorators: [{
|
|
122
|
+
type: Component,
|
|
123
|
+
args: [{
|
|
124
|
+
selector: 'tolle-alert-dialog-portal',
|
|
125
|
+
standalone: true,
|
|
126
|
+
imports: [CommonModule],
|
|
127
|
+
template: `
|
|
128
|
+
<ng-template #portalContent>
|
|
129
|
+
<ng-content></ng-content>
|
|
130
|
+
</ng-template>
|
|
131
|
+
`
|
|
132
|
+
}]
|
|
133
|
+
}], propDecorators: { portalContent: [{
|
|
134
|
+
type: ViewChild,
|
|
135
|
+
args: ['portalContent', { static: true }]
|
|
136
|
+
}] } });
|
|
137
|
+
export class AlertDialogContentComponent {
|
|
138
|
+
class = '';
|
|
139
|
+
alertDialogService = inject(AlertDialogInternalService);
|
|
140
|
+
isOpen = false;
|
|
141
|
+
constructor() {
|
|
142
|
+
this.alertDialogService.open$.subscribe(val => {
|
|
143
|
+
this.isOpen = val;
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
get computedClass() {
|
|
147
|
+
return cn("fixed left-[50%] top-[50%] translate-x-[-50%] translate-y-[-50%] z-50 grid w-full max-w-lg gap-4 border bg-background p-6 shadow-lg data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] rounded-lg", this.class);
|
|
148
|
+
}
|
|
149
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AlertDialogContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
150
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: AlertDialogContentComponent, isStandalone: true, selector: "tolle-alert-dialog-content", inputs: { class: "class" }, host: { properties: { "class": "\"contents\"" } }, ngImport: i0, template: `<div [class]="computedClass" [attr.data-state]="isOpen ? 'open' : 'closed'"><ng-content></ng-content></div>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }] });
|
|
151
|
+
}
|
|
152
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AlertDialogContentComponent, decorators: [{
|
|
153
|
+
type: Component,
|
|
154
|
+
args: [{
|
|
155
|
+
selector: 'tolle-alert-dialog-content',
|
|
156
|
+
standalone: true,
|
|
157
|
+
imports: [CommonModule],
|
|
158
|
+
template: `<div [class]="computedClass" [attr.data-state]="isOpen ? 'open' : 'closed'"><ng-content></ng-content></div>`,
|
|
159
|
+
host: {
|
|
160
|
+
'[class]': '"contents"'
|
|
161
|
+
}
|
|
162
|
+
}]
|
|
163
|
+
}], ctorParameters: () => [], propDecorators: { class: [{
|
|
164
|
+
type: Input
|
|
165
|
+
}] } });
|
|
166
|
+
export class AlertDialogHeaderComponent {
|
|
167
|
+
class = '';
|
|
168
|
+
get computedClass() { return cn("flex flex-col space-y-2 text-center sm:text-left", this.class); }
|
|
169
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AlertDialogHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
170
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: AlertDialogHeaderComponent, isStandalone: true, selector: "tolle-alert-dialog-header", inputs: { class: "class" }, host: { properties: { "class": "computedClass" } }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }] });
|
|
171
|
+
}
|
|
172
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AlertDialogHeaderComponent, decorators: [{
|
|
173
|
+
type: Component,
|
|
174
|
+
args: [{
|
|
175
|
+
selector: 'tolle-alert-dialog-header',
|
|
176
|
+
standalone: true,
|
|
177
|
+
imports: [CommonModule],
|
|
178
|
+
template: `<ng-content></ng-content>`,
|
|
179
|
+
host: { '[class]': 'computedClass' }
|
|
180
|
+
}]
|
|
181
|
+
}], propDecorators: { class: [{
|
|
182
|
+
type: Input
|
|
183
|
+
}] } });
|
|
184
|
+
export class AlertDialogFooterComponent {
|
|
185
|
+
class = '';
|
|
186
|
+
get computedClass() { return cn("flex flex-row justify-end space-x-2", this.class); }
|
|
187
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AlertDialogFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
188
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: AlertDialogFooterComponent, isStandalone: true, selector: "tolle-alert-dialog-footer", inputs: { class: "class" }, host: { properties: { "class": "computedClass" } }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }] });
|
|
189
|
+
}
|
|
190
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AlertDialogFooterComponent, decorators: [{
|
|
191
|
+
type: Component,
|
|
192
|
+
args: [{
|
|
193
|
+
selector: 'tolle-alert-dialog-footer',
|
|
194
|
+
standalone: true,
|
|
195
|
+
imports: [CommonModule],
|
|
196
|
+
template: `<ng-content></ng-content>`,
|
|
197
|
+
host: { '[class]': 'computedClass' }
|
|
198
|
+
}]
|
|
199
|
+
}], propDecorators: { class: [{
|
|
200
|
+
type: Input
|
|
201
|
+
}] } });
|
|
202
|
+
export class AlertDialogTitleComponent {
|
|
203
|
+
class = '';
|
|
204
|
+
get computedClass() { return cn("text-lg font-semibold", this.class); }
|
|
205
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AlertDialogTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
206
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: AlertDialogTitleComponent, isStandalone: true, selector: "tolle-alert-dialog-title", inputs: { class: "class" }, host: { properties: { "class": "computedClass" } }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }] });
|
|
207
|
+
}
|
|
208
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AlertDialogTitleComponent, decorators: [{
|
|
209
|
+
type: Component,
|
|
210
|
+
args: [{
|
|
211
|
+
selector: 'tolle-alert-dialog-title',
|
|
212
|
+
standalone: true,
|
|
213
|
+
imports: [CommonModule],
|
|
214
|
+
template: `<ng-content></ng-content>`,
|
|
215
|
+
host: { '[class]': 'computedClass' }
|
|
216
|
+
}]
|
|
217
|
+
}], propDecorators: { class: [{
|
|
218
|
+
type: Input
|
|
219
|
+
}] } });
|
|
220
|
+
export class AlertDialogDescriptionComponent {
|
|
221
|
+
class = '';
|
|
222
|
+
get computedClass() { return cn("text-sm text-muted-foreground", this.class); }
|
|
223
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AlertDialogDescriptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
224
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: AlertDialogDescriptionComponent, isStandalone: true, selector: "tolle-alert-dialog-description", inputs: { class: "class" }, host: { properties: { "class": "computedClass" } }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }] });
|
|
225
|
+
}
|
|
226
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AlertDialogDescriptionComponent, decorators: [{
|
|
227
|
+
type: Component,
|
|
228
|
+
args: [{
|
|
229
|
+
selector: 'tolle-alert-dialog-description',
|
|
230
|
+
standalone: true,
|
|
231
|
+
imports: [CommonModule],
|
|
232
|
+
template: `<ng-content></ng-content>`,
|
|
233
|
+
host: { '[class]': 'computedClass' }
|
|
234
|
+
}]
|
|
235
|
+
}], propDecorators: { class: [{
|
|
236
|
+
type: Input
|
|
237
|
+
}] } });
|
|
238
|
+
export class AlertDialogActionComponent {
|
|
239
|
+
alertDialogService = inject(AlertDialogInternalService);
|
|
240
|
+
onAction() {
|
|
241
|
+
this.alertDialogService.setOpen(false);
|
|
242
|
+
}
|
|
243
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AlertDialogActionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
244
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: AlertDialogActionComponent, isStandalone: true, selector: "tolle-alert-dialog-action", host: { listeners: { "click": "onAction()" } }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }] });
|
|
245
|
+
}
|
|
246
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AlertDialogActionComponent, decorators: [{
|
|
247
|
+
type: Component,
|
|
248
|
+
args: [{
|
|
249
|
+
selector: 'tolle-alert-dialog-action',
|
|
250
|
+
standalone: true,
|
|
251
|
+
imports: [CommonModule],
|
|
252
|
+
template: `<ng-content></ng-content>`,
|
|
253
|
+
host: {
|
|
254
|
+
'(click)': 'onAction()'
|
|
255
|
+
}
|
|
256
|
+
}]
|
|
257
|
+
}] });
|
|
258
|
+
export class AlertDialogCancelComponent {
|
|
259
|
+
alertDialogService = inject(AlertDialogInternalService);
|
|
260
|
+
onCancel() {
|
|
261
|
+
this.alertDialogService.setOpen(false);
|
|
262
|
+
}
|
|
263
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AlertDialogCancelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
264
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: AlertDialogCancelComponent, isStandalone: true, selector: "tolle-alert-dialog-cancel", host: { listeners: { "click": "onCancel()" } }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }] });
|
|
265
|
+
}
|
|
266
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AlertDialogCancelComponent, decorators: [{
|
|
267
|
+
type: Component,
|
|
268
|
+
args: [{
|
|
269
|
+
selector: 'tolle-alert-dialog-cancel',
|
|
270
|
+
standalone: true,
|
|
271
|
+
imports: [CommonModule],
|
|
272
|
+
template: `<ng-content></ng-content>`,
|
|
273
|
+
host: {
|
|
274
|
+
'(click)': 'onCancel()'
|
|
275
|
+
}
|
|
276
|
+
}]
|
|
277
|
+
}] });
|
|
278
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3RvbGxlL3NyYy9saWIvYWxlcnQtZGlhbG9nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQWUsU0FBUyxFQUFFLGdCQUFnQixFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUN4SixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLE9BQU8sRUFBYyxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsY0FBYyxFQUFtQixNQUFNLHFCQUFxQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDaEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFFdkMsTUFDTSwwQkFBMEI7SUFDcEIsV0FBVyxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBQzFELEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBRXhDLE9BQU8sQ0FBQyxLQUFjO1FBQ2xCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxPQUFPO1FBQ0gsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxNQUFNO1FBQ0YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7d0dBZEMsMEJBQTBCOzRHQUExQiwwQkFBMEI7OzRGQUExQiwwQkFBMEI7a0JBRC9CLFVBQVU7O0FB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b0JBQ1AsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsSUFBSSxFQUFFO3dCQUNGLFNBQVMsRUFBRSxZQUFZO3FCQUMxQjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBJbmplY3RhYmxlLCBpbmplY3QsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQsIFZpZXdDb250YWluZXJSZWYsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheVJlZiwgT3ZlcmxheUNvbmZpZyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IFRlbXBsYXRlUG9ydGFsLCBDb21wb25lbnRQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IGNuIH0gZnJvbSAnLi91dGlscy9jbic7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoKVxuY2xhc3MgQWxlcnREaWFsb2dJbnRlcm5hbFNlcnZpY2Uge1xuICAgIHByaXZhdGUgb3BlblN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgICBvcGVuJCA9IHRoaXMub3BlblN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cbiAgICBzZXRPcGVuKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMub3BlblN1YmplY3QubmV4dCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgZ2V0T3BlbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3BlblN1YmplY3QuZ2V0VmFsdWUoKTtcbiAgICB9XG5cbiAgICB0b2dnbGUoKSB7XG4gICAgICAgIHRoaXMuc2V0T3BlbighdGhpcy5nZXRPcGVuKCkpO1xuICAgIH1cbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0b2xsZS1hbGVydC1kaWFsb2cnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gICAgcHJvdmlkZXJzOiBbQWxlcnREaWFsb2dJbnRlcm5hbFNlcnZpY2VdLFxuICAgIHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PmBcbn0pXG5leHBvcnQgY2xhc3MgQWxlcnREaWFsb2dDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIHNldCBvcGVuKHZhbDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmFsZXJ0RGlhbG9nU2VydmljZS5zZXRPcGVuKHZhbCk7XG4gICAgfVxuICAgIEBPdXRwdXQoKSBvcGVuQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgcHJpdmF0ZSBhbGVydERpYWxvZ1NlcnZpY2UgPSBpbmplY3QoQWxlcnREaWFsb2dJbnRlcm5hbFNlcnZpY2UpO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuYWxlcnREaWFsb2dTZXJ2aWNlLm9wZW4kLnN1YnNjcmliZSh2YWwgPT4ge1xuICAgICAgICAgICAgdGhpcy5vcGVuQ2hhbmdlLmVtaXQodmFsKTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RvbGxlLWFsZXJ0LWRpYWxvZy10cmlnZ2VyJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICAgIHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PmAsXG4gICAgaG9zdDoge1xuICAgICAgICAnKGNsaWNrKSc6ICdvbk9wZW4oKSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIEFsZXJ0RGlhbG9nVHJpZ2dlckNvbXBvbmVudCB7XG4gICAgcHJpdmF0ZSBhbGVydERpYWxvZ1NlcnZpY2UgPSBpbmplY3QoQWxlcnREaWFsb2dJbnRlcm5hbFNlcnZpY2UpO1xuXG4gICAgb25PcGVuKCkge1xuICAgICAgICB0aGlzLmFsZXJ0RGlhbG9nU2VydmljZS5zZXRPcGVuKHRydWUpO1xuICAgIH1cbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0b2xsZS1hbGVydC1kaWFsb2ctcG9ydGFsJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgPG5nLXRlbXBsYXRlICNwb3J0YWxDb250ZW50PlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIGBcbn0pXG5leHBvcnQgY2xhc3MgQWxlcnREaWFsb2dQb3J0YWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgQFZpZXdDaGlsZCgncG9ydGFsQ29udGVudCcsIHsgc3RhdGljOiB0cnVlIH0pIHBvcnRhbENvbnRlbnQhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIHByaXZhdGUgYWxlcnREaWFsb2dTZXJ2aWNlID0gaW5qZWN0KEFsZXJ0RGlhbG9nSW50ZXJuYWxTZXJ2aWNlKTtcbiAgICBwcml2YXRlIG92ZXJsYXkgPSBpbmplY3QoT3ZlcmxheSk7XG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmID0gaW5qZWN0KFZpZXdDb250YWluZXJSZWYpO1xuICAgIHByaXZhdGUgb3ZlcmxheVJlZj86IE92ZXJsYXlSZWY7XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5hbGVydERpYWxvZ1NlcnZpY2Uub3BlbiQuc3Vic2NyaWJlKG9wZW4gPT4ge1xuICAgICAgICAgICAgaWYgKG9wZW4pIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNob3coKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5oaWRlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2hvdygpIHtcbiAgICAgICAgaWYgKHRoaXMub3ZlcmxheVJlZikgcmV0dXJuO1xuXG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IG5ldyBPdmVybGF5Q29uZmlnKHtcbiAgICAgICAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxuICAgICAgICAgICAgYmFja2Ryb3BDbGFzczogWydjZGstb3ZlcmxheS1iYWNrZHJvcCcsICdiZy1ibGFjay84MCcsICdiYWNrZHJvcC1ibHVyLXNtJywgJ2RhdGEtW3N0YXRlPW9wZW5dOmFuaW1hdGUtaW4nLCAnZGF0YS1bc3RhdGU9Y2xvc2VkXTphbmltYXRlLW91dCcsICdkYXRhLVtzdGF0ZT1jbG9zZWRdOmZhZGUtb3V0LTAnLCAnZGF0YS1bc3RhdGU9b3Blbl06ZmFkZS1pbi0wJ10sXG4gICAgICAgICAgICBwb3NpdGlvblN0cmF0ZWd5OiB0aGlzLm92ZXJsYXkucG9zaXRpb24oKS5nbG9iYWwoKS5jZW50ZXJIb3Jpem9udGFsbHkoKS5jZW50ZXJWZXJ0aWNhbGx5KCksXG4gICAgICAgICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMuYmxvY2soKVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKGNvbmZpZyk7XG4gICAgICAgIHRoaXMub3ZlcmxheVJlZi5iYWNrZHJvcENsaWNrKCkuc3Vic2NyaWJlKCgpID0+IHRoaXMuYWxlcnREaWFsb2dTZXJ2aWNlLnNldE9wZW4oZmFsc2UpKTtcblxuICAgICAgICBjb25zdCBwb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwodGhpcy5wb3J0YWxDb250ZW50LCB0aGlzLnZpZXdDb250YWluZXJSZWYpO1xuICAgICAgICB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKHBvcnRhbCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoaWRlKCkge1xuICAgICAgICBpZiAodGhpcy5vdmVybGF5UmVmKSB7XG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlSZWYuZGV0YWNoKCk7XG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlSZWYuZGlzcG9zZSgpO1xuICAgICAgICAgICAgdGhpcy5vdmVybGF5UmVmID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuaGlkZSgpO1xuICAgIH1cbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0b2xsZS1hbGVydC1kaWFsb2ctY29udGVudCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgICB0ZW1wbGF0ZTogYDxkaXYgW2NsYXNzXT1cImNvbXB1dGVkQ2xhc3NcIiBbYXR0ci5kYXRhLXN0YXRlXT1cImlzT3BlbiA/ICdvcGVuJyA6ICdjbG9zZWQnXCI+PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PjwvZGl2PmAsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2NsYXNzXSc6ICdcImNvbnRlbnRzXCInXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBBbGVydERpYWxvZ0NvbnRlbnRDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIGNsYXNzOiBzdHJpbmcgPSAnJztcblxuICAgIHByaXZhdGUgYWxlcnREaWFsb2dTZXJ2aWNlID0gaW5qZWN0KEFsZXJ0RGlhbG9nSW50ZXJuYWxTZXJ2aWNlKTtcbiAgICBpc09wZW4gPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLmFsZXJ0RGlhbG9nU2VydmljZS5vcGVuJC5zdWJzY3JpYmUodmFsID0+IHtcbiAgICAgICAgICAgIHRoaXMuaXNPcGVuID0gdmFsO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRDbGFzcygpIHtcbiAgICAgICAgcmV0dXJuIGNuKFxuICAgICAgICAgICAgXCJmaXhlZCBsZWZ0LVs1MCVdIHRvcC1bNTAlXSB0cmFuc2xhdGUteC1bLTUwJV0gdHJhbnNsYXRlLXktWy01MCVdIHotNTAgZ3JpZCB3LWZ1bGwgbWF4LXctbGcgZ2FwLTQgYm9yZGVyIGJnLWJhY2tncm91bmQgcC02IHNoYWRvdy1sZyBkYXRhLVtzdGF0ZT1jbG9zZWRdOmFuaW1hdGUtb3V0IGRhdGEtW3N0YXRlPWNsb3NlZF06ZmFkZS1vdXQtMCBkYXRhLVtzdGF0ZT1jbG9zZWRdOnpvb20tb3V0LTk1IGRhdGEtW3N0YXRlPWNsb3NlZF06c2xpZGUtb3V0LXRvLWxlZnQtMS8yIGRhdGEtW3N0YXRlPWNsb3NlZF06c2xpZGUtb3V0LXRvLXRvcC1bNDglXSByb3VuZGVkLWxnXCIsXG4gICAgICAgICAgICB0aGlzLmNsYXNzXG4gICAgICAgICk7XG4gICAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RvbGxlLWFsZXJ0LWRpYWxvZy1oZWFkZXInLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gICAgdGVtcGxhdGU6IGA8bmctY29udGVudD48L25nLWNvbnRlbnQ+YCxcbiAgICBob3N0OiB7ICdbY2xhc3NdJzogJ2NvbXB1dGVkQ2xhc3MnIH1cbn0pXG5leHBvcnQgY2xhc3MgQWxlcnREaWFsb2dIZWFkZXJDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIGNsYXNzOiBzdHJpbmcgPSAnJztcbiAgICBnZXQgY29tcHV0ZWRDbGFzcygpIHsgcmV0dXJuIGNuKFwiZmxleCBmbGV4LWNvbCBzcGFjZS15LTIgdGV4dC1jZW50ZXIgc206dGV4dC1sZWZ0XCIsIHRoaXMuY2xhc3MpOyB9XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndG9sbGUtYWxlcnQtZGlhbG9nLWZvb3RlcicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgICB0ZW1wbGF0ZTogYDxuZy1jb250ZW50PjwvbmctY29udGVudD5gLFxuICAgIGhvc3Q6IHsgJ1tjbGFzc10nOiAnY29tcHV0ZWRDbGFzcycgfVxufSlcbmV4cG9ydCBjbGFzcyBBbGVydERpYWxvZ0Zvb3RlckNvbXBvbmVudCB7XG4gICAgQElucHV0KCkgY2xhc3M6IHN0cmluZyA9ICcnO1xuICAgIGdldCBjb21wdXRlZENsYXNzKCkgeyByZXR1cm4gY24oXCJmbGV4IGZsZXgtcm93IGp1c3RpZnktZW5kIHNwYWNlLXgtMlwiLCB0aGlzLmNsYXNzKTsgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RvbGxlLWFsZXJ0LWRpYWxvZy10aXRsZScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgICB0ZW1wbGF0ZTogYDxuZy1jb250ZW50PjwvbmctY29udGVudD5gLFxuICAgIGhvc3Q6IHsgJ1tjbGFzc10nOiAnY29tcHV0ZWRDbGFzcycgfVxufSlcbmV4cG9ydCBjbGFzcyBBbGVydERpYWxvZ1RpdGxlQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBjbGFzczogc3RyaW5nID0gJyc7XG4gICAgZ2V0IGNvbXB1dGVkQ2xhc3MoKSB7IHJldHVybiBjbihcInRleHQtbGcgZm9udC1zZW1pYm9sZFwiLCB0aGlzLmNsYXNzKTsgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RvbGxlLWFsZXJ0LWRpYWxvZy1kZXNjcmlwdGlvbicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgICB0ZW1wbGF0ZTogYDxuZy1jb250ZW50PjwvbmctY29udGVudD5gLFxuICAgIGhvc3Q6IHsgJ1tjbGFzc10nOiAnY29tcHV0ZWRDbGFzcycgfVxufSlcbmV4cG9ydCBjbGFzcyBBbGVydERpYWxvZ0Rlc2NyaXB0aW9uQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBjbGFzczogc3RyaW5nID0gJyc7XG4gICAgZ2V0IGNvbXB1dGVkQ2xhc3MoKSB7IHJldHVybiBjbihcInRleHQtc20gdGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCIsIHRoaXMuY2xhc3MpOyB9XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndG9sbGUtYWxlcnQtZGlhbG9nLWFjdGlvbicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgICB0ZW1wbGF0ZTogYDxuZy1jb250ZW50PjwvbmctY29udGVudD5gLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJyhjbGljayknOiAnb25BY3Rpb24oKSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIEFsZXJ0RGlhbG9nQWN0aW9uQ29tcG9uZW50IHtcbiAgICBwcml2YXRlIGFsZXJ0RGlhbG9nU2VydmljZSA9IGluamVjdChBbGVydERpYWxvZ0ludGVybmFsU2VydmljZSk7XG4gICAgb25BY3Rpb24oKSB7XG4gICAgICAgIHRoaXMuYWxlcnREaWFsb2dTZXJ2aWNlLnNldE9wZW4oZmFsc2UpO1xuICAgIH1cbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0b2xsZS1hbGVydC1kaWFsb2ctY2FuY2VsJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICAgIHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PmAsXG4gICAgaG9zdDoge1xuICAgICAgICAnKGNsaWNrKSc6ICdvbkNhbmNlbCgpJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgQWxlcnREaWFsb2dDYW5jZWxDb21wb25lbnQge1xuICAgIHByaXZhdGUgYWxlcnREaWFsb2dTZXJ2aWNlID0gaW5qZWN0KEFsZXJ0RGlhbG9nSW50ZXJuYWxTZXJ2aWNlKTtcbiAgICBvbkNhbmNlbCgpIHtcbiAgICAgICAgdGhpcy5hbGVydERpYWxvZ1NlcnZpY2Uuc2V0T3BlbihmYWxzZSk7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Injectable, inject, Injector } from '@angular/core';
|
|
2
|
+
import { Overlay, OverlayConfig } from '@angular/cdk/overlay';
|
|
3
|
+
import { ComponentPortal } from '@angular/cdk/portal';
|
|
4
|
+
import { AlertDialogRef } from './alert-dialog.types';
|
|
5
|
+
import { AlertDialogDynamicComponent } from './alert-dialog-dynamic.component';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class AlertDialogService {
|
|
8
|
+
overlay = inject(Overlay);
|
|
9
|
+
injector = inject(Injector);
|
|
10
|
+
open(config) {
|
|
11
|
+
const overlayConfig = new OverlayConfig({
|
|
12
|
+
hasBackdrop: true,
|
|
13
|
+
backdropClass: ['cdk-overlay-backdrop', 'bg-black/80', 'backdrop-blur-sm'],
|
|
14
|
+
positionStrategy: this.overlay.position().global().centerHorizontally().centerVertically(),
|
|
15
|
+
scrollStrategy: this.overlay.scrollStrategies.block()
|
|
16
|
+
});
|
|
17
|
+
const overlayRef = this.overlay.create(overlayConfig);
|
|
18
|
+
const dialogRef = new AlertDialogRef();
|
|
19
|
+
const portal = new ComponentPortal(AlertDialogDynamicComponent, null, this.injector);
|
|
20
|
+
const componentRef = overlayRef.attach(portal);
|
|
21
|
+
componentRef.instance.config = config;
|
|
22
|
+
componentRef.instance.dialogRef = dialogRef;
|
|
23
|
+
dialogRef.afterClosed$.subscribe(() => {
|
|
24
|
+
overlayRef.detach();
|
|
25
|
+
overlayRef.dispose();
|
|
26
|
+
});
|
|
27
|
+
overlayRef.backdropClick().subscribe(() => dialogRef.close(false));
|
|
28
|
+
return dialogRef;
|
|
29
|
+
}
|
|
30
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AlertDialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
31
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AlertDialogService, providedIn: 'root' });
|
|
32
|
+
}
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AlertDialogService, decorators: [{
|
|
34
|
+
type: Injectable,
|
|
35
|
+
args: [{
|
|
36
|
+
providedIn: 'root'
|
|
37
|
+
}]
|
|
38
|
+
}] });
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQtZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy90b2xsZS9zcmMvbGliL2FsZXJ0LWRpYWxvZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFvQixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFxQixjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7QUFLL0UsTUFBTSxPQUFPLGtCQUFrQjtJQUNuQixPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzFCLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFcEMsSUFBSSxDQUFDLE1BQXlCO1FBQzFCLE1BQU0sYUFBYSxHQUFHLElBQUksYUFBYSxDQUFDO1lBQ3BDLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLGFBQWEsRUFBRSxDQUFDLHNCQUFzQixFQUFFLGFBQWEsRUFBRSxrQkFBa0IsQ0FBQztZQUMxRSxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLGtCQUFrQixFQUFFLENBQUMsZ0JBQWdCLEVBQUU7WUFDMUYsY0FBYyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFO1NBQ3hELENBQUMsQ0FBQztRQUVILE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3RELE1BQU0sU0FBUyxHQUFHLElBQUksY0FBYyxFQUFFLENBQUM7UUFFdkMsTUFBTSxNQUFNLEdBQUcsSUFBSSxlQUFlLENBQUMsMkJBQTJCLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNyRixNQUFNLFlBQVksR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRS9DLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUN0QyxZQUFZLENBQUMsUUFBUSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFFNUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2xDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNwQixVQUFVLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7UUFFSCxVQUFVLENBQUMsYUFBYSxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUVuRSxPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDO3dHQTdCUSxrQkFBa0I7NEdBQWxCLGtCQUFrQixjQUZmLE1BQU07OzRGQUVULGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QsIFZpZXdDb250YWluZXJSZWYsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5Q29uZmlnIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBBbGVydERpYWxvZ0NvbmZpZywgQWxlcnREaWFsb2dSZWYgfSBmcm9tICcuL2FsZXJ0LWRpYWxvZy50eXBlcyc7XG5pbXBvcnQgeyBBbGVydERpYWxvZ0R5bmFtaWNDb21wb25lbnQgfSBmcm9tICcuL2FsZXJ0LWRpYWxvZy1keW5hbWljLmNvbXBvbmVudCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQWxlcnREaWFsb2dTZXJ2aWNlIHtcbiAgICBwcml2YXRlIG92ZXJsYXkgPSBpbmplY3QoT3ZlcmxheSk7XG4gICAgcHJpdmF0ZSBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG5cbiAgICBvcGVuKGNvbmZpZzogQWxlcnREaWFsb2dDb25maWcpOiBBbGVydERpYWxvZ1JlZiB7XG4gICAgICAgIGNvbnN0IG92ZXJsYXlDb25maWcgPSBuZXcgT3ZlcmxheUNvbmZpZyh7XG4gICAgICAgICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgICAgICAgIGJhY2tkcm9wQ2xhc3M6IFsnY2RrLW92ZXJsYXktYmFja2Ryb3AnLCAnYmctYmxhY2svODAnLCAnYmFja2Ryb3AtYmx1ci1zbSddLFxuICAgICAgICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5vdmVybGF5LnBvc2l0aW9uKCkuZ2xvYmFsKCkuY2VudGVySG9yaXpvbnRhbGx5KCkuY2VudGVyVmVydGljYWxseSgpLFxuICAgICAgICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLmJsb2NrKClcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3Qgb3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUob3ZlcmxheUNvbmZpZyk7XG4gICAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IG5ldyBBbGVydERpYWxvZ1JlZigpO1xuXG4gICAgICAgIGNvbnN0IHBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwoQWxlcnREaWFsb2dEeW5hbWljQ29tcG9uZW50LCBudWxsLCB0aGlzLmluamVjdG9yKTtcbiAgICAgICAgY29uc3QgY29tcG9uZW50UmVmID0gb3ZlcmxheVJlZi5hdHRhY2gocG9ydGFsKTtcblxuICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuY29uZmlnID0gY29uZmlnO1xuICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuZGlhbG9nUmVmID0gZGlhbG9nUmVmO1xuXG4gICAgICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIG92ZXJsYXlSZWYuZGV0YWNoKCk7XG4gICAgICAgICAgICBvdmVybGF5UmVmLmRpc3Bvc2UoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgb3ZlcmxheVJlZi5iYWNrZHJvcENsaWNrKCkuc3Vic2NyaWJlKCgpID0+IGRpYWxvZ1JlZi5jbG9zZShmYWxzZSkpO1xuXG4gICAgICAgIHJldHVybiBkaWFsb2dSZWY7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Subject } from 'rxjs';
|
|
2
|
+
export class AlertDialogRef {
|
|
3
|
+
_afterClosed = new Subject();
|
|
4
|
+
afterClosed$ = this._afterClosed.asObservable();
|
|
5
|
+
close(result = false) {
|
|
6
|
+
this._afterClosed.next(result);
|
|
7
|
+
this._afterClosed.complete();
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQtZGlhbG9nLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdG9sbGUvc3JjL2xpYi9hbGVydC1kaWFsb2cudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBYyxNQUFNLE1BQU0sQ0FBQztBQVUzQyxNQUFNLE9BQU8sY0FBYztJQUNOLFlBQVksR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO0lBQ3ZELFlBQVksR0FBd0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUVyRSxLQUFLLENBQUMsU0FBa0IsS0FBSztRQUN6QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2pDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGludGVyZmFjZSBBbGVydERpYWxvZ0NvbmZpZyB7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgIGNhbmNlbFRleHQ/OiBzdHJpbmc7XG4gICAgYWN0aW9uVGV4dD86IHN0cmluZztcbiAgICB2YXJpYW50PzogJ2RlZmF1bHQnIHwgJ2Rlc3RydWN0aXZlJztcbn1cblxuZXhwb3J0IGNsYXNzIEFsZXJ0RGlhbG9nUmVmIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9hZnRlckNsb3NlZCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gICAgYWZ0ZXJDbG9zZWQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5fYWZ0ZXJDbG9zZWQuYXNPYnNlcnZhYmxlKCk7XG5cbiAgICBjbG9zZShyZXN1bHQ6IGJvb2xlYW4gPSBmYWxzZSk6IHZvaWQge1xuICAgICAgICB0aGlzLl9hZnRlckNsb3NlZC5uZXh0KHJlc3VsdCk7XG4gICAgICAgIHRoaXMuX2FmdGVyQ2xvc2VkLmNvbXBsZXRlKCk7XG4gICAgfVxufVxuIl19
|