@craftsjs/alert 1.0.0 → 4.0.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.
Files changed (46) hide show
  1. package/README.md +4 -1
  2. package/craftsjs-alert.d.ts +1 -0
  3. package/{esm2015/craftsjs-alert.js → esm2020/craftsjs-alert.mjs} +0 -0
  4. package/esm2020/lib/alert.module.mjs +69 -0
  5. package/esm2020/lib/components/dialog-alert/components/alert-info/alert-info.component.mjs +13 -0
  6. package/esm2020/lib/components/dialog-alert/components/alert-success/alert-success.component.mjs +13 -0
  7. package/esm2020/lib/components/dialog-alert/components/buttons/alert-cancel-button/alert-cancel-button.component.mjs +18 -0
  8. package/esm2020/lib/components/dialog-alert/components/buttons/alert-ok-button/alert-ok-button.component.mjs +18 -0
  9. package/{esm2015/lib/components/dialog-alert/components/components.js → esm2020/lib/components/dialog-alert/components/components.mjs} +0 -0
  10. package/esm2020/lib/components/dialog-alert/components/error/error.component.mjs +13 -0
  11. package/esm2020/lib/components/dialog-alert/components/warning/warning.component.mjs +13 -0
  12. package/esm2020/lib/components/dialog-alert/dialog-alert.component.mjs +74 -0
  13. package/{esm2015/lib/models/alert-enum.model.js → esm2020/lib/models/alert-enum.model.mjs} +0 -0
  14. package/{esm2015/lib/models/alert.model.js → esm2020/lib/models/alert.model.mjs} +1 -0
  15. package/esm2020/lib/services/alert.service.mjs +64 -0
  16. package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
  17. package/fesm2015/craftsjs-alert.mjs +300 -0
  18. package/fesm2015/craftsjs-alert.mjs.map +1 -0
  19. package/fesm2020/craftsjs-alert.mjs +298 -0
  20. package/fesm2020/craftsjs-alert.mjs.map +1 -0
  21. package/lib/alert.module.d.ts +16 -0
  22. package/lib/components/dialog-alert/components/alert-info/alert-info.component.d.ts +3 -0
  23. package/lib/components/dialog-alert/components/alert-success/alert-success.component.d.ts +3 -0
  24. package/lib/components/dialog-alert/components/buttons/alert-cancel-button/alert-cancel-button.component.d.ts +3 -0
  25. package/lib/components/dialog-alert/components/buttons/alert-ok-button/alert-ok-button.component.d.ts +3 -0
  26. package/lib/components/dialog-alert/components/error/error.component.d.ts +3 -0
  27. package/lib/components/dialog-alert/components/warning/warning.component.d.ts +3 -0
  28. package/lib/components/dialog-alert/dialog-alert.component.d.ts +5 -3
  29. package/lib/services/alert.service.d.ts +3 -0
  30. package/package.json +27 -15
  31. package/bundles/craftsjs-alert.umd.js +0 -333
  32. package/bundles/craftsjs-alert.umd.js.map +0 -1
  33. package/bundles/craftsjs-alert.umd.min.js +0 -2
  34. package/bundles/craftsjs-alert.umd.min.js.map +0 -1
  35. package/craftsjs-alert.metadata.json +0 -1
  36. package/esm2015/lib/alert.module.js +0 -55
  37. package/esm2015/lib/components/dialog-alert/components/alert-info/alert-info.component.js +0 -16
  38. package/esm2015/lib/components/dialog-alert/components/alert-success/alert-success.component.js +0 -16
  39. package/esm2015/lib/components/dialog-alert/components/buttons/alert-cancel-button/alert-cancel-button.component.js +0 -18
  40. package/esm2015/lib/components/dialog-alert/components/buttons/alert-ok-button/alert-ok-button.component.js +0 -18
  41. package/esm2015/lib/components/dialog-alert/components/error/error.component.js +0 -16
  42. package/esm2015/lib/components/dialog-alert/components/warning/warning.component.js +0 -16
  43. package/esm2015/lib/components/dialog-alert/dialog-alert.component.js +0 -67
  44. package/esm2015/lib/services/alert.service.js +0 -64
  45. package/fesm2015/craftsjs-alert.js +0 -302
  46. package/fesm2015/craftsjs-alert.js.map +0 -1
@@ -0,0 +1,300 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Component, ChangeDetectionStrategy, ViewEncapsulation, EventEmitter, Output, InjectionToken, TemplateRef, Injector, Inject, ViewChildren, Injectable, NgModule } from '@angular/core';
3
+ import * as i1 from '@angular/material/button';
4
+ import { MatButtonModule } from '@angular/material/button';
5
+ import * as i1$1 from '@angular/material/dialog';
6
+ import { MatDialogRef, MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
7
+ import * as i2 from '@ngx-translate/core';
8
+ import { TranslateModule } from '@ngx-translate/core';
9
+ import * as i5 from '@angular/common';
10
+ import { CommonModule } from '@angular/common';
11
+ import * as i4 from '@craftsjs/core';
12
+ import { DynamicDirective, CoreModule } from '@craftsjs/core';
13
+
14
+ class AlertSuccessComponent {
15
+ }
16
+ AlertSuccessComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: AlertSuccessComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
17
+ AlertSuccessComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.7", type: AlertSuccessComponent, selector: "alert-success", host: { classAttribute: "alert-icon alert-icon-success" }, ngImport: i0, template: "<span class=\"alert-icon-success-line alert-icon-success-line-long\"></span>\r\n<span class=\"alert-icon-success-line alert-icon-success-line-tip\"></span>\r\n<div class=\"alert-icon-success-ring\"></div>\r\n<div class=\"alert-icon-success-hide-corners\"></div>", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: AlertSuccessComponent, decorators: [{
19
+ type: Component,
20
+ args: [{ selector: 'alert-success', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
21
+ class: 'alert-icon alert-icon-success'
22
+ }, template: "<span class=\"alert-icon-success-line alert-icon-success-line-long\"></span>\r\n<span class=\"alert-icon-success-line alert-icon-success-line-tip\"></span>\r\n<div class=\"alert-icon-success-ring\"></div>\r\n<div class=\"alert-icon-success-hide-corners\"></div>", styles: [""] }]
23
+ }] });
24
+
25
+ var AlertEnum;
26
+ (function (AlertEnum) {
27
+ AlertEnum["success"] = "success";
28
+ AlertEnum["error"] = "error";
29
+ AlertEnum["info"] = "info";
30
+ AlertEnum["warning"] = "warning";
31
+ })(AlertEnum || (AlertEnum = {}));
32
+
33
+ class AlertInfoComponent {
34
+ }
35
+ AlertInfoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: AlertInfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
36
+ AlertInfoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.7", type: AlertInfoComponent, selector: "alert-info", host: { classAttribute: "alert-icon alert-icon-info" }, ngImport: i0, template: "", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: AlertInfoComponent, decorators: [{
38
+ type: Component,
39
+ args: [{ selector: 'alert-info', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
40
+ class: 'alert-icon alert-icon-info'
41
+ }, template: "", styles: [""] }]
42
+ }] });
43
+
44
+ class WarningComponent {
45
+ }
46
+ WarningComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: WarningComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
47
+ WarningComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.7", type: WarningComponent, selector: "alert-warning", host: { classAttribute: "alert-icon alert-icon-warning " }, ngImport: i0, template: "<span class=\"alert-icon-warning-body\">\r\n <span class=\"alert-icon-warning-dot\"></span>\r\n</span>", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: WarningComponent, decorators: [{
49
+ type: Component,
50
+ args: [{ selector: 'alert-warning', host: {
51
+ class: 'alert-icon alert-icon-warning '
52
+ }, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<span class=\"alert-icon-warning-body\">\r\n <span class=\"alert-icon-warning-dot\"></span>\r\n</span>", styles: [""] }]
53
+ }] });
54
+
55
+ class ErrorComponent {
56
+ }
57
+ ErrorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: ErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
58
+ ErrorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.7", type: ErrorComponent, selector: "alert-error", host: { classAttribute: "alert-icon alert-icon-error" }, ngImport: i0, template: "<div class=\"alert-icon-error-x-mark\">\r\n <span class=\"alert-icon-error-line alert-icon-error-line-left\"></span>\r\n <span class=\"alert-icon-error-line alert-icon-error-line-right\"></span>\r\n</div>", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: ErrorComponent, decorators: [{
60
+ type: Component,
61
+ args: [{ selector: 'alert-error', host: {
62
+ class: 'alert-icon alert-icon-error'
63
+ }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"alert-icon-error-x-mark\">\r\n <span class=\"alert-icon-error-line alert-icon-error-line-left\"></span>\r\n <span class=\"alert-icon-error-line alert-icon-error-line-right\"></span>\r\n</div>", styles: [""] }]
64
+ }] });
65
+
66
+ const alertComponents = [
67
+ {
68
+ type: AlertEnum.success,
69
+ component: AlertSuccessComponent
70
+ },
71
+ {
72
+ type: AlertEnum.info,
73
+ component: AlertInfoComponent
74
+ },
75
+ {
76
+ type: AlertEnum.warning,
77
+ component: WarningComponent
78
+ },
79
+ {
80
+ type: AlertEnum.error,
81
+ component: ErrorComponent
82
+ }
83
+ ];
84
+
85
+ class AlertOkButtonComponent {
86
+ constructor() {
87
+ this.click = new EventEmitter();
88
+ }
89
+ }
90
+ AlertOkButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: AlertOkButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
91
+ AlertOkButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.7", type: AlertOkButtonComponent, selector: "alert-ok-button", outputs: { click: "click" }, ngImport: i0, template: "<button mat-raised-button color=\"primary\" (click)=\"click.emit($event)\">{{'general.ok' | translate}}</button>", styles: [""], components: [{ type: i1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], pipes: { "translate": i2.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
92
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: AlertOkButtonComponent, decorators: [{
93
+ type: Component,
94
+ args: [{ selector: 'alert-ok-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button mat-raised-button color=\"primary\" (click)=\"click.emit($event)\">{{'general.ok' | translate}}</button>", styles: [""] }]
95
+ }], propDecorators: { click: [{
96
+ type: Output
97
+ }] } });
98
+
99
+ class AlertCancelButtonComponent {
100
+ constructor() {
101
+ this.click = new EventEmitter();
102
+ }
103
+ }
104
+ AlertCancelButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: AlertCancelButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
105
+ AlertCancelButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.7", type: AlertCancelButtonComponent, selector: "alert-cancel-button", outputs: { click: "click" }, ngImport: i0, template: "<button mat-raised-button (click)=\"click.emit($event)\">{{'general.cancel' | translate}}</button>", styles: [""], components: [{ type: i1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], pipes: { "translate": i2.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
106
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: AlertCancelButtonComponent, decorators: [{
107
+ type: Component,
108
+ args: [{ selector: 'alert-cancel-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button mat-raised-button (click)=\"click.emit($event)\">{{'general.cancel' | translate}}</button>", styles: [""] }]
109
+ }], propDecorators: { click: [{
110
+ type: Output
111
+ }] } });
112
+
113
+ const CRAFTSJS_ALERT_DATA = new InjectionToken('CraftsjsAlertData');
114
+ class DialogAlertComponent {
115
+ constructor(dialogRef, data) {
116
+ this.dialogRef = dialogRef;
117
+ this.data = data;
118
+ }
119
+ ngOnInit() {
120
+ }
121
+ ngAfterViewInit() {
122
+ this.loadComponents();
123
+ }
124
+ loadComponents() {
125
+ const itemComponent = alertComponents.find(x => x.type === this.data.type);
126
+ const component = itemComponent && itemComponent.component;
127
+ this.resolveComponent(component, this.appDynamic.find(x => x.name === 'alert-icon').viewContainerRef);
128
+ this.resolveComponent(this.data.customBody, this.appDynamic.find(x => x.name === 'alert-body').viewContainerRef);
129
+ this.resolveComponent(this.data.customButtonComponent, this.appDynamic.find(x => x.name === 'alert-buttons').viewContainerRef);
130
+ }
131
+ resolveComponent(component, viewContainerRef) {
132
+ if (!component) {
133
+ return;
134
+ }
135
+ viewContainerRef.clear();
136
+ if (component instanceof TemplateRef) {
137
+ viewContainerRef.createEmbeddedView(component, { $implicit: this.data, dialogRef: this.dialogRef });
138
+ }
139
+ else {
140
+ const injector = this.createInjector(viewContainerRef.injector);
141
+ viewContainerRef.createComponent(component, {
142
+ injector
143
+ });
144
+ }
145
+ }
146
+ createInjector(injector) {
147
+ return Injector.create({
148
+ providers: [{
149
+ provide: CRAFTSJS_ALERT_DATA,
150
+ useValue: this.data
151
+ },
152
+ {
153
+ provide: MatDialogRef,
154
+ useValue: this.dialogRef
155
+ }],
156
+ parent: injector
157
+ });
158
+ }
159
+ buttonClick(result) {
160
+ this.dialogRef.close({ data: this.data, result });
161
+ }
162
+ }
163
+ DialogAlertComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: DialogAlertComponent, deps: [{ token: i1$1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
164
+ DialogAlertComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.7", type: DialogAlertComponent, selector: "dialog-alert", viewQueries: [{ propertyName: "appDynamic", predicate: DynamicDirective, descendants: true }], ngImport: i0, template: "<ng-template craftsjsDynamic name=\"alert-icon\"></ng-template>\r\n<div *ngIf=\"data?.title\" class=\"alert-title\">\r\n <span>\r\n {{data.title | translate}}\r\n </span>\r\n</div>\r\n<div *ngIf=\"data?.text\" class=\"alert-text\">\r\n <span>\r\n {{data.text | translate}}\r\n </span>\r\n</div>\r\n<ng-template craftsjsDynamic name=\"alert-body\"></ng-template>\r\n<div class=\"alert-footer\" *ngIf=\"!data?.hiddenButtons\">\r\n <alert-ok-button *ngIf=\"!data?.customButtonComponent\" (click)=\"buttonClick('ok')\">\r\n </alert-ok-button>\r\n <alert-cancel-button *ngIf=\"!data?.customButtonComponent && data?.showCancelButton\"\r\n (click)=\"buttonClick('cancel')\">\r\n </alert-cancel-button>\r\n</div>\r\n<ng-template craftsjsDynamic name=\"alert-buttons\"></ng-template>", styles: [".alert-icon{width:80px;height:80px;border-width:4px;border-style:solid;border-radius:50%;padding:0;position:relative;box-sizing:content-box;margin:20px auto}.alert-icon-custom{width:auto;height:auto;max-width:100%;border:none;border-radius:0}.alert-icon img{max-width:100%;max-height:100%}.alert-title{color:#000000a6;font-weight:600;text-transform:none;position:relative;display:block;font-size:27px;line-height:normal;text-align:center;margin-bottom:0}.alert-title:first-child{margin-top:26px}.alert-title:not(:first-child){padding-bottom:0}.alert-title:not(:last-child){margin-bottom:13px}.alert-text{font-size:16px;position:relative;float:none;line-height:normal;vertical-align:top;text-align:center;display:inline-block;margin:0;padding:0 10px;font-weight:400;color:#000000a3;overflow-wrap:break-word;box-sizing:border-box;width:100%}.alert-text:first-child{margin-top:45px}.alert-text:last-child{margin-bottom:45px}.alert-footer{text-align:right;margin-top:13px;padding:13px 16px;border-radius:inherit;border-top-left-radius:0;border-top-right-radius:0}.alert-footer-button-container{margin:5px;display:inline-block;position:relative}.alert-footer>*{display:inline-block;margin-right:.5em}.alert-footer>:last-child{margin-right:inherit}\n"], components: [{ type: AlertOkButtonComponent, selector: "alert-ok-button", outputs: ["click"] }, { type: AlertCancelButtonComponent, selector: "alert-cancel-button", outputs: ["click"] }], directives: [{ type: i4.DynamicDirective, selector: "[craftsjsDynamic]", inputs: ["name"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i2.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
165
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: DialogAlertComponent, decorators: [{
166
+ type: Component,
167
+ args: [{ selector: 'dialog-alert', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ng-template craftsjsDynamic name=\"alert-icon\"></ng-template>\r\n<div *ngIf=\"data?.title\" class=\"alert-title\">\r\n <span>\r\n {{data.title | translate}}\r\n </span>\r\n</div>\r\n<div *ngIf=\"data?.text\" class=\"alert-text\">\r\n <span>\r\n {{data.text | translate}}\r\n </span>\r\n</div>\r\n<ng-template craftsjsDynamic name=\"alert-body\"></ng-template>\r\n<div class=\"alert-footer\" *ngIf=\"!data?.hiddenButtons\">\r\n <alert-ok-button *ngIf=\"!data?.customButtonComponent\" (click)=\"buttonClick('ok')\">\r\n </alert-ok-button>\r\n <alert-cancel-button *ngIf=\"!data?.customButtonComponent && data?.showCancelButton\"\r\n (click)=\"buttonClick('cancel')\">\r\n </alert-cancel-button>\r\n</div>\r\n<ng-template craftsjsDynamic name=\"alert-buttons\"></ng-template>", styles: [".alert-icon{width:80px;height:80px;border-width:4px;border-style:solid;border-radius:50%;padding:0;position:relative;box-sizing:content-box;margin:20px auto}.alert-icon-custom{width:auto;height:auto;max-width:100%;border:none;border-radius:0}.alert-icon img{max-width:100%;max-height:100%}.alert-title{color:#000000a6;font-weight:600;text-transform:none;position:relative;display:block;font-size:27px;line-height:normal;text-align:center;margin-bottom:0}.alert-title:first-child{margin-top:26px}.alert-title:not(:first-child){padding-bottom:0}.alert-title:not(:last-child){margin-bottom:13px}.alert-text{font-size:16px;position:relative;float:none;line-height:normal;vertical-align:top;text-align:center;display:inline-block;margin:0;padding:0 10px;font-weight:400;color:#000000a3;overflow-wrap:break-word;box-sizing:border-box;width:100%}.alert-text:first-child{margin-top:45px}.alert-text:last-child{margin-bottom:45px}.alert-footer{text-align:right;margin-top:13px;padding:13px 16px;border-radius:inherit;border-top-left-radius:0;border-top-right-radius:0}.alert-footer-button-container{margin:5px;display:inline-block;position:relative}.alert-footer>*{display:inline-block;margin-right:.5em}.alert-footer>:last-child{margin-right:inherit}\n"] }]
168
+ }], ctorParameters: function () {
169
+ return [{ type: i1$1.MatDialogRef }, { type: undefined, decorators: [{
170
+ type: Inject,
171
+ args: [MAT_DIALOG_DATA]
172
+ }] }];
173
+ }, propDecorators: { appDynamic: [{
174
+ type: ViewChildren,
175
+ args: [DynamicDirective]
176
+ }] } });
177
+
178
+ class AlertService {
179
+ constructor(_dialog) {
180
+ this._dialog = _dialog;
181
+ }
182
+ showSimple(title, message) {
183
+ return this._open({
184
+ title,
185
+ text: message
186
+ });
187
+ }
188
+ showSuccess(title, message) {
189
+ return this._open({
190
+ title,
191
+ text: message,
192
+ type: AlertEnum.success
193
+ });
194
+ }
195
+ showError(title, message) {
196
+ return this._open({
197
+ title,
198
+ text: message,
199
+ type: AlertEnum.error
200
+ });
201
+ }
202
+ showInfo(title, message) {
203
+ return this._open({
204
+ title,
205
+ text: message,
206
+ type: AlertEnum.info
207
+ });
208
+ }
209
+ showWarning(title, message) {
210
+ return this._open({
211
+ title,
212
+ text: message,
213
+ type: AlertEnum.warning
214
+ });
215
+ }
216
+ showConfirmation(title, message) {
217
+ return this._open({
218
+ title,
219
+ text: message,
220
+ type: AlertEnum.warning,
221
+ showCancelButton: true
222
+ });
223
+ }
224
+ _open(alertModel) {
225
+ return this._dialog.open(DialogAlertComponent, {
226
+ width: '500px',
227
+ data: alertModel
228
+ });
229
+ }
230
+ }
231
+ AlertService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: AlertService, deps: [{ token: i1$1.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
232
+ AlertService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: AlertService });
233
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: AlertService, decorators: [{
234
+ type: Injectable
235
+ }], ctorParameters: function () { return [{ type: i1$1.MatDialog }]; } });
236
+
237
+ class AlertModule {
238
+ static forRoot() {
239
+ return {
240
+ ngModule: AlertModule,
241
+ providers: [
242
+ AlertService
243
+ ]
244
+ };
245
+ }
246
+ }
247
+ AlertModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: AlertModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
248
+ AlertModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: AlertModule, declarations: [DialogAlertComponent,
249
+ AlertSuccessComponent,
250
+ AlertInfoComponent,
251
+ WarningComponent,
252
+ ErrorComponent,
253
+ AlertOkButtonComponent,
254
+ AlertCancelButtonComponent], imports: [CommonModule,
255
+ TranslateModule,
256
+ MatButtonModule,
257
+ CoreModule,
258
+ MatDialogModule], exports: [DialogAlertComponent] });
259
+ AlertModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: AlertModule, imports: [[
260
+ CommonModule,
261
+ TranslateModule,
262
+ MatButtonModule,
263
+ CoreModule,
264
+ MatDialogModule
265
+ ]] });
266
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: AlertModule, decorators: [{
267
+ type: NgModule,
268
+ args: [{
269
+ imports: [
270
+ CommonModule,
271
+ TranslateModule,
272
+ MatButtonModule,
273
+ CoreModule,
274
+ MatDialogModule
275
+ ],
276
+ declarations: [
277
+ DialogAlertComponent,
278
+ AlertSuccessComponent,
279
+ AlertInfoComponent,
280
+ WarningComponent,
281
+ ErrorComponent,
282
+ AlertOkButtonComponent,
283
+ AlertCancelButtonComponent
284
+ ],
285
+ exports: [
286
+ DialogAlertComponent
287
+ ]
288
+ }]
289
+ }] });
290
+
291
+ /*
292
+ * Public API Surface of alert
293
+ */
294
+
295
+ /**
296
+ * Generated bundle index. Do not edit.
297
+ */
298
+
299
+ export { AlertCancelButtonComponent, AlertEnum, AlertInfoComponent, AlertModule, AlertOkButtonComponent, AlertService, AlertSuccessComponent, CRAFTSJS_ALERT_DATA, DialogAlertComponent, ErrorComponent, WarningComponent, alertComponents };
300
+ //# sourceMappingURL=craftsjs-alert.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"craftsjs-alert.mjs","sources":["../../../../projects/craftsjs/alert/src/lib/components/dialog-alert/components/alert-success/alert-success.component.ts","../../../../projects/craftsjs/alert/src/lib/components/dialog-alert/components/alert-success/alert-success.component.html","../../../../projects/craftsjs/alert/src/lib/models/alert-enum.model.ts","../../../../projects/craftsjs/alert/src/lib/components/dialog-alert/components/alert-info/alert-info.component.ts","../../../../projects/craftsjs/alert/src/lib/components/dialog-alert/components/alert-info/alert-info.component.html","../../../../projects/craftsjs/alert/src/lib/components/dialog-alert/components/warning/warning.component.ts","../../../../projects/craftsjs/alert/src/lib/components/dialog-alert/components/warning/warning.component.html","../../../../projects/craftsjs/alert/src/lib/components/dialog-alert/components/error/error.component.ts","../../../../projects/craftsjs/alert/src/lib/components/dialog-alert/components/error/error.component.html","../../../../projects/craftsjs/alert/src/lib/components/dialog-alert/components/components.ts","../../../../projects/craftsjs/alert/src/lib/components/dialog-alert/components/buttons/alert-ok-button/alert-ok-button.component.ts","../../../../projects/craftsjs/alert/src/lib/components/dialog-alert/components/buttons/alert-ok-button/alert-ok-button.component.html","../../../../projects/craftsjs/alert/src/lib/components/dialog-alert/components/buttons/alert-cancel-button/alert-cancel-button.component.ts","../../../../projects/craftsjs/alert/src/lib/components/dialog-alert/components/buttons/alert-cancel-button/alert-cancel-button.component.html","../../../../projects/craftsjs/alert/src/lib/components/dialog-alert/dialog-alert.component.ts","../../../../projects/craftsjs/alert/src/lib/components/dialog-alert/dialog-alert.component.html","../../../../projects/craftsjs/alert/src/lib/services/alert.service.ts","../../../../projects/craftsjs/alert/src/lib/alert.module.ts","../../../../projects/craftsjs/alert/src/public-api.ts","../../../../projects/craftsjs/alert/src/craftsjs-alert.ts"],"sourcesContent":["import { Component, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'alert-success',\r\n templateUrl: './alert-success.component.html',\r\n styleUrls: ['./alert-success.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n host: {\r\n class: 'alert-icon alert-icon-success'\r\n }\r\n})\r\nexport class AlertSuccessComponent { }\r\n","<span class=\"alert-icon-success-line alert-icon-success-line-long\"></span>\r\n<span class=\"alert-icon-success-line alert-icon-success-line-tip\"></span>\r\n<div class=\"alert-icon-success-ring\"></div>\r\n<div class=\"alert-icon-success-hide-corners\"></div>","export enum AlertEnum {\r\n success = 'success',\r\n error = 'error',\r\n info = 'info',\r\n warning = 'warning'\r\n}\r\n","import { Component, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'alert-info',\r\n templateUrl: './alert-info.component.html',\r\n styleUrls: ['./alert-info.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n host: {\r\n class: 'alert-icon alert-icon-info'\r\n }\r\n})\r\nexport class AlertInfoComponent { }\r\n","","import { Component, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'alert-warning',\r\n templateUrl: './warning.component.html',\r\n styleUrls: ['./warning.component.scss'],\r\n host: {\r\n class: 'alert-icon alert-icon-warning '\r\n },\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class WarningComponent { }\r\n","<span class=\"alert-icon-warning-body\">\r\n <span class=\"alert-icon-warning-dot\"></span>\r\n</span>","import { Component, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'alert-error',\r\n templateUrl: './error.component.html',\r\n styleUrls: ['./error.component.scss'],\r\n host: {\r\n class: 'alert-icon alert-icon-error'\r\n },\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ErrorComponent { }\r\n","<div class=\"alert-icon-error-x-mark\">\r\n <span class=\"alert-icon-error-line alert-icon-error-line-left\"></span>\r\n <span class=\"alert-icon-error-line alert-icon-error-line-right\"></span>\r\n</div>","import { AlertSuccessComponent } from './alert-success/alert-success.component';\r\nimport { AlertEnum } from '../../../models/alert-enum.model';\r\nimport { AlertInfoComponent } from './alert-info/alert-info.component';\r\nimport { WarningComponent } from './warning/warning.component';\r\nimport { ErrorComponent } from './error/error.component';\r\n\r\nexport const alertComponents = [\r\n {\r\n type: AlertEnum.success,\r\n component: AlertSuccessComponent\r\n },\r\n {\r\n type: AlertEnum.info,\r\n component: AlertInfoComponent\r\n },\r\n {\r\n type: AlertEnum.warning,\r\n component: WarningComponent\r\n },\r\n {\r\n type: AlertEnum.error,\r\n component: ErrorComponent\r\n }\r\n];\r\n","import { Component, ChangeDetectionStrategy, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'alert-ok-button',\r\n templateUrl: './alert-ok-button.component.html',\r\n styleUrls: ['./alert-ok-button.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class AlertOkButtonComponent {\r\n @Output()\r\n click = new EventEmitter();\r\n}\r\n","<button mat-raised-button color=\"primary\" (click)=\"click.emit($event)\">{{'general.ok' | translate}}</button>","import { Component, ChangeDetectionStrategy, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'alert-cancel-button',\r\n templateUrl: './alert-cancel-button.component.html',\r\n styleUrls: ['./alert-cancel-button.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class AlertCancelButtonComponent {\r\n @Output()\r\n click = new EventEmitter();\r\n}\r\n","<button mat-raised-button (click)=\"click.emit($event)\">{{'general.cancel' | translate}}</button>","import {\r\n Component,\r\n ChangeDetectionStrategy,\r\n Inject,\r\n ViewEncapsulation,\r\n OnInit,\r\n Injector,\r\n InjectionToken,\r\n Type,\r\n ViewContainerRef,\r\n QueryList,\r\n ViewChildren,\r\n AfterViewInit,\r\n TemplateRef\r\n} from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { AlertModel } from '../../models/alert.model';\r\nimport { alertComponents } from './components/components';\r\nimport { DynamicDirective } from '@craftsjs/core';\r\n\r\nexport const CRAFTSJS_ALERT_DATA = new InjectionToken<any>('CraftsjsAlertData');\r\n\r\n@Component({\r\n selector: 'dialog-alert',\r\n templateUrl: './dialog-alert.component.html',\r\n styleUrls: ['./dialog-alert.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class DialogAlertComponent implements OnInit, AfterViewInit {\r\n\r\n @ViewChildren(DynamicDirective)\r\n appDynamic: QueryList<DynamicDirective>;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef<DialogAlertComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: AlertModel,\r\n ) {\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.loadComponents();\r\n }\r\n\r\n private loadComponents() {\r\n const itemComponent = alertComponents.find(x => x.type === this.data.type);\r\n const component = itemComponent && itemComponent.component;\r\n this.resolveComponent(component, this.appDynamic.find(x => x.name === 'alert-icon').viewContainerRef);\r\n this.resolveComponent(this.data.customBody, this.appDynamic.find(x => x.name === 'alert-body').viewContainerRef);\r\n this.resolveComponent(this.data.customButtonComponent, this.appDynamic.find(x => x.name === 'alert-buttons').viewContainerRef);\r\n }\r\n\r\n private resolveComponent(component: Type<any> | TemplateRef<any>, viewContainerRef: ViewContainerRef) {\r\n if (!component) { return; }\r\n viewContainerRef.clear();\r\n if (component instanceof TemplateRef) {\r\n viewContainerRef.createEmbeddedView(component, { $implicit: this.data, dialogRef: this.dialogRef });\r\n } else {\r\n const injector = this.createInjector(viewContainerRef.injector);\r\n viewContainerRef.createComponent(component, {\r\n injector\r\n });\r\n }\r\n }\r\n\r\n private createInjector(injector: Injector) {\r\n return Injector.create({\r\n providers: [{\r\n provide: CRAFTSJS_ALERT_DATA,\r\n useValue: this.data\r\n },\r\n {\r\n provide: MatDialogRef,\r\n useValue: this.dialogRef\r\n }],\r\n parent: injector\r\n })\r\n }\r\n\r\n buttonClick(result: string) {\r\n this.dialogRef.close({ data: this.data, result });\r\n }\r\n\r\n}\r\n","<ng-template craftsjsDynamic name=\"alert-icon\"></ng-template>\r\n<div *ngIf=\"data?.title\" class=\"alert-title\">\r\n <span>\r\n {{data.title | translate}}\r\n </span>\r\n</div>\r\n<div *ngIf=\"data?.text\" class=\"alert-text\">\r\n <span>\r\n {{data.text | translate}}\r\n </span>\r\n</div>\r\n<ng-template craftsjsDynamic name=\"alert-body\"></ng-template>\r\n<div class=\"alert-footer\" *ngIf=\"!data?.hiddenButtons\">\r\n <alert-ok-button *ngIf=\"!data?.customButtonComponent\" (click)=\"buttonClick('ok')\">\r\n </alert-ok-button>\r\n <alert-cancel-button *ngIf=\"!data?.customButtonComponent && data?.showCancelButton\"\r\n (click)=\"buttonClick('cancel')\">\r\n </alert-cancel-button>\r\n</div>\r\n<ng-template craftsjsDynamic name=\"alert-buttons\"></ng-template>","import { Injectable } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { AlertModel } from '../models/alert.model';\r\nimport { AlertEnum } from '../models/alert-enum.model';\r\nimport { DialogAlertComponent } from '../components/dialog-alert/dialog-alert.component';\r\n\r\n@Injectable()\r\nexport class AlertService {\r\n\r\n constructor(private _dialog: MatDialog) { }\r\n\r\n showSimple(title: string, message: string) {\r\n return this._open({\r\n title,\r\n text: message\r\n } as AlertModel);\r\n }\r\n\r\n showSuccess(title: string, message: string) {\r\n return this._open({\r\n title,\r\n text: message,\r\n type: AlertEnum.success\r\n });\r\n }\r\n\r\n showError(title: string, message: string) {\r\n return this._open({\r\n title,\r\n text: message,\r\n type: AlertEnum.error\r\n });\r\n }\r\n\r\n showInfo(title: string, message: string) {\r\n return this._open({\r\n title,\r\n text: message,\r\n type: AlertEnum.info\r\n });\r\n }\r\n\r\n showWarning(title: string, message: string) {\r\n return this._open({\r\n title,\r\n text: message,\r\n type: AlertEnum.warning\r\n });\r\n }\r\n\r\n showConfirmation(title: string, message: string) {\r\n return this._open({\r\n title,\r\n text: message,\r\n type: AlertEnum.warning,\r\n showCancelButton: true\r\n });\r\n }\r\n\r\n private _open(alertModel: AlertModel) {\r\n return this._dialog.open(DialogAlertComponent, {\r\n width: '500px',\r\n data: alertModel\r\n });\r\n }\r\n}\r\n","import { NgModule, ModuleWithProviders } from '@angular/core';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CoreModule } from '@craftsjs/core';\r\nimport { DialogAlertComponent } from './components/dialog-alert/dialog-alert.component';\r\nimport { AlertSuccessComponent } from './components/dialog-alert/components/alert-success/alert-success.component';\r\nimport { AlertInfoComponent } from './components/dialog-alert/components/alert-info/alert-info.component';\r\nimport { WarningComponent } from './components/dialog-alert/components/warning/warning.component';\r\nimport { ErrorComponent } from './components/dialog-alert/components/error/error.component';\r\nimport { AlertOkButtonComponent } from './components/dialog-alert/components/buttons/alert-ok-button/alert-ok-button.component';\r\nimport {\r\n AlertCancelButtonComponent\r\n} from './components/dialog-alert/components/buttons/alert-cancel-button/alert-cancel-button.component';\r\nimport { AlertService } from './services/alert.service';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n TranslateModule,\r\n MatButtonModule,\r\n CoreModule,\r\n MatDialogModule\r\n ],\r\n declarations: [\r\n DialogAlertComponent,\r\n AlertSuccessComponent,\r\n AlertInfoComponent,\r\n WarningComponent,\r\n ErrorComponent,\r\n AlertOkButtonComponent,\r\n AlertCancelButtonComponent\r\n ],\r\n exports: [\r\n DialogAlertComponent\r\n ]\r\n})\r\nexport class AlertModule {\r\n static forRoot(): ModuleWithProviders<AlertModule> {\r\n return {\r\n ngModule: AlertModule,\r\n providers: [\r\n AlertService\r\n ]\r\n };\r\n }\r\n}\r\n","/*\r\n * Public API Surface of alert\r\n */\r\n\r\nexport * from './lib/alert.module';\r\nexport * from './lib/components/dialog-alert/dialog-alert.component';\r\nexport * from './lib/components/dialog-alert/components/alert-info/alert-info.component';\r\nexport * from './lib/components/dialog-alert/components/alert-success/alert-success.component';\r\nexport * from './lib/components/dialog-alert/components/buttons/alert-cancel-button/alert-cancel-button.component';\r\nexport * from './lib/components/dialog-alert/components/buttons/alert-ok-button/alert-ok-button.component';\r\nexport * from './lib/components/dialog-alert/components/components';\r\nexport * from './lib/components/dialog-alert/components/error/error.component';\r\nexport * from './lib/components/dialog-alert/components/warning/warning.component';\r\nexport * from './lib/models/alert-enum.model';\r\nexport * from './lib/models/alert.model';\r\nexport * from './lib/services/alert.service';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;;MAYa,qBAAqB;;kHAArB,qBAAqB;sGAArB,qBAAqB,gHCZlC,uQAGmD;2FDStC,qBAAqB;kBAVjC,SAAS;+BACE,eAAe,mBAGR,uBAAuB,CAAC,MAAM,iBAChC,iBAAiB,CAAC,IAAI,QAC/B;wBACJ,KAAK,EAAE,+BAA+B;qBACvC;;;IEVS;AAAZ,WAAY,SAAS;IACjB,gCAAmB,CAAA;IACnB,4BAAe,CAAA;IACf,0BAAa,CAAA;IACb,gCAAmB,CAAA;AACvB,CAAC,EALW,SAAS,KAAT,SAAS;;MCYR,kBAAkB;;+GAAlB,kBAAkB;mGAAlB,kBAAkB,0GCZ/B,EAAA;2FDYa,kBAAkB;kBAV9B,SAAS;+BACE,YAAY,mBAGL,uBAAuB,CAAC,MAAM,iBAChC,iBAAiB,CAAC,IAAI,QAC/B;wBACJ,KAAK,EAAE,4BAA4B;qBACpC;;;MEEU,gBAAgB;;6GAAhB,gBAAgB;iGAAhB,gBAAgB,iHCZ7B,yGAEO;2FDUM,gBAAgB;kBAV5B,SAAS;+BACE,eAAe,QAGnB;wBACJ,KAAK,EAAE,gCAAgC;qBACxC,mBACgB,uBAAuB,CAAC,MAAM,iBAChC,iBAAiB,CAAC,IAAI;;;MEE1B,cAAc;;2GAAd,cAAc;+FAAd,cAAc,4GCZ3B,gNAGM;2FDSO,cAAc;kBAV1B,SAAS;+BACE,aAAa,QAGjB;wBACJ,KAAK,EAAE,6BAA6B;qBACrC,iBACc,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM;;;MEJpC,eAAe,GAAG;IAC3B;QACI,IAAI,EAAE,SAAS,CAAC,OAAO;QACvB,SAAS,EAAE,qBAAqB;KACnC;IACD;QACI,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,SAAS,EAAE,kBAAkB;KAChC;IACD;QACI,IAAI,EAAE,SAAS,CAAC,OAAO;QACvB,SAAS,EAAE,gBAAgB;KAC9B;IACD;QACI,IAAI,EAAE,SAAS,CAAC,KAAK;QACrB,SAAS,EAAE,cAAc;KAC5B;;;MCdQ,sBAAsB;IANnC;QAQE,UAAK,GAAG,IAAI,YAAY,EAAE,CAAC;KAC5B;;mHAHY,sBAAsB;uGAAtB,sBAAsB,oFCRnC,kHAA4G;2FDQ/F,sBAAsB;kBANlC,SAAS;+BACE,iBAAiB,mBAGV,uBAAuB,CAAC,MAAM;8BAI/C,KAAK;sBADJ,MAAM;;;MEDI,0BAA0B;IANvC;QAQE,UAAK,GAAG,IAAI,YAAY,EAAE,CAAC;KAC5B;;uHAHY,0BAA0B;2GAA1B,0BAA0B,wFCRvC,oGAAgG;2FDQnF,0BAA0B;kBANtC,SAAS;+BACE,qBAAqB,mBAGd,uBAAuB,CAAC,MAAM;8BAI/C,KAAK;sBADJ,MAAM;;;MEWI,mBAAmB,GAAG,IAAI,cAAc,CAAM,mBAAmB,EAAE;MASnE,oBAAoB;IAK/B,YACS,SAA6C,EACpB,IAAgB;QADzC,cAAS,GAAT,SAAS,CAAoC;QACpB,SAAI,GAAJ,IAAI,CAAY;KAEjD;IAED,QAAQ;KAEP;IAED,eAAe;QACb,IAAI,CAAC,cAAc,EAAE,CAAC;KACvB;IAEO,cAAc;QACpB,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3E,MAAM,SAAS,GAAG,aAAa,IAAI,aAAa,CAAC,SAAS,CAAC;QAC3D,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,gBAAgB,CAAC,CAAC;QACtG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,gBAAgB,CAAC,CAAC;QACjH,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC,gBAAgB,CAAC,CAAC;KAChI;IAEO,gBAAgB,CAAC,SAAuC,EAAE,gBAAkC;QAClG,IAAI,CAAC,SAAS,EAAE;YAAE,OAAO;SAAE;QAC3B,gBAAgB,CAAC,KAAK,EAAE,CAAC;QACzB,IAAI,SAAS,YAAY,WAAW,EAAE;YACpC,gBAAgB,CAAC,kBAAkB,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;SACrG;aAAM;YACL,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAChE,gBAAgB,CAAC,eAAe,CAAC,SAAS,EAAE;gBAC1C,QAAQ;aACT,CAAC,CAAC;SACJ;KACF;IAEO,cAAc,CAAC,QAAkB;QACvC,OAAO,QAAQ,CAAC,MAAM,CAAC;YACrB,SAAS,EAAE,CAAC;oBACV,OAAO,EAAE,mBAAmB;oBAC5B,QAAQ,EAAE,IAAI,CAAC,IAAI;iBACpB;gBACD;oBACE,OAAO,EAAE,YAAY;oBACrB,QAAQ,EAAE,IAAI,CAAC,SAAS;iBACzB,CAAC;YACF,MAAM,EAAE,QAAQ;SACjB,CAAC,CAAA;KACH;IAED,WAAW,CAAC,MAAc;QACxB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;KACnD;;iHAxDU,oBAAoB,gDAOrB,eAAe;qGAPd,oBAAoB,mFAEjB,gBAAgB,gDC/BhC,qzBAmBgE;2FDUnD,oBAAoB;kBAPhC,SAAS;+BACE,cAAc,mBAGP,uBAAuB,CAAC,MAAM,iBAChC,iBAAiB,CAAC,IAAI;;;8BASlC,MAAM;+BAAC,eAAe;;yBAJzB,UAAU;sBADT,YAAY;uBAAC,gBAAgB;;;MExBnB,YAAY;IAEvB,YAAoB,OAAkB;QAAlB,YAAO,GAAP,OAAO,CAAW;KAAK;IAE3C,UAAU,CAAC,KAAa,EAAE,OAAe;QACvC,OAAO,IAAI,CAAC,KAAK,CAAC;YAChB,KAAK;YACL,IAAI,EAAE,OAAO;SACA,CAAC,CAAC;KAClB;IAED,WAAW,CAAC,KAAa,EAAE,OAAe;QACxC,OAAO,IAAI,CAAC,KAAK,CAAC;YAChB,KAAK;YACL,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,SAAS,CAAC,OAAO;SACxB,CAAC,CAAC;KACJ;IAED,SAAS,CAAC,KAAa,EAAE,OAAe;QACtC,OAAO,IAAI,CAAC,KAAK,CAAC;YAChB,KAAK;YACL,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,SAAS,CAAC,KAAK;SACtB,CAAC,CAAC;KACJ;IAED,QAAQ,CAAC,KAAa,EAAE,OAAe;QACrC,OAAO,IAAI,CAAC,KAAK,CAAC;YAChB,KAAK;YACL,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,SAAS,CAAC,IAAI;SACrB,CAAC,CAAC;KACJ;IAED,WAAW,CAAC,KAAa,EAAE,OAAe;QACxC,OAAO,IAAI,CAAC,KAAK,CAAC;YAChB,KAAK;YACL,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,SAAS,CAAC,OAAO;SACxB,CAAC,CAAC;KACJ;IAED,gBAAgB,CAAC,KAAa,EAAE,OAAe;QAC7C,OAAO,IAAI,CAAC,KAAK,CAAC;YAChB,KAAK;YACL,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,SAAS,CAAC,OAAO;YACvB,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAC;KACJ;IAEO,KAAK,CAAC,UAAsB;QAClC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE;YAC7C,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,UAAU;SACjB,CAAC,CAAC;KACJ;;yGAzDU,YAAY;6GAAZ,YAAY;2FAAZ,YAAY;kBADxB,UAAU;;;MCgCE,WAAW;IACtB,OAAO,OAAO;QACZ,OAAO;YACL,QAAQ,EAAE,WAAW;YACrB,SAAS,EAAE;gBACT,YAAY;aACb;SACF,CAAC;KACH;;wGARU,WAAW;yGAAX,WAAW,iBAZhB,oBAAoB;QACpB,qBAAqB;QACrB,kBAAkB;QAClB,gBAAgB;QAChB,cAAc;QACd,sBAAsB;QACtB,0BAA0B,aAb1B,YAAY;QACZ,eAAe;QACf,eAAe;QACf,UAAU;QACV,eAAe,aAYf,oBAAoB;yGAGf,WAAW,YApBX;YACL,YAAY;YACZ,eAAe;YACf,eAAe;YACf,UAAU;YACV,eAAe;SAClB;2FAcQ,WAAW;kBArBvB,QAAQ;mBAAC;oBACN,OAAO,EAAE;wBACL,YAAY;wBACZ,eAAe;wBACf,eAAe;wBACf,UAAU;wBACV,eAAe;qBAClB;oBACD,YAAY,EAAE;wBACV,oBAAoB;wBACpB,qBAAqB;wBACrB,kBAAkB;wBAClB,gBAAgB;wBAChB,cAAc;wBACd,sBAAsB;wBACtB,0BAA0B;qBAC7B;oBACD,OAAO,EAAE;wBACL,oBAAoB;qBACvB;iBACJ;;;ACrCD;;;;ACAA;;;;;;"}