@messaia/cdk 18.0.0-rc28 → 18.0.0-rc29

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.
@@ -5,118 +5,126 @@ import { VdConfirmDialogComponent } from '../confirm-dialog/confirm-dialog.compo
5
5
  import { VdPromptDialogComponent } from '../prompt-dialog/prompt-dialog.component';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "@angular/material/dialog";
8
+ /**
9
+ * Service for managing dialogs
10
+ */
8
11
  export class VdDialogService {
9
12
  dialogService;
10
13
  /**
11
14
  * Constructor
12
- * @param dialogService
15
+ * @param dialogService MatDialog service for managing dialogs
13
16
  */
14
17
  constructor(dialogService) {
15
18
  this.dialogService = dialogService;
16
19
  }
17
20
  /**
18
- * params:
19
- * - component: ComponentType<T>
20
- * - config: MdDialogConfig
21
- * Wrapper function over the open() method in MdDialog.
22
21
  * Opens a modal dialog containing the given component.
22
+ * @param component Component to be displayed in the dialog
23
+ * @param config Configuration for the dialog
24
+ * @returns Reference to the opened dialog
23
25
  */
24
26
  open(component, config) {
27
+ /* Opens the dialog with the specified component and configuration */
25
28
  return this.dialogService.open(component, config);
26
29
  }
27
30
  /**
28
- * Wrapper function over the closeAll() method in MdDialog.
29
31
  * Closes all of the currently-open dialogs.
30
32
  */
31
33
  closeAll() {
34
+ /* Closes all open dialogs */
32
35
  this.dialogService.closeAll();
33
36
  }
34
37
  /**
35
- * params:
36
- * - config: IAlertConfig {
37
- * message: string;
38
- * title?: string;
39
- * viewContainerRef?: ViewContainerRef;
40
- * closeButton?: string;
41
- * }
42
- *
43
- * Opens an alert dialog with the provided config.
44
- * Returns an MdDialogRef<VdAlertDialogComponent> object.
38
+ * Opens an alert dialog with the provided configuration.
39
+ * @param config Configuration for the alert dialog
40
+ * @returns Reference to the opened alert dialog
45
41
  */
46
- openAlert(config) {
47
- let dialogConfig = this._createConfig(config);
48
- let dialogRef = this.dialogService.open(VdAlertDialogComponent, dialogConfig);
42
+ openAlert(config, dialogConfig) {
43
+ /* Creates dialog configuration based on provided settings */
44
+ let matDialogConfig = this._createConfig(config, dialogConfig);
45
+ /* Opens the alert dialog with the given component and configuration */
46
+ let dialogRef = this.dialogService.open(VdAlertDialogComponent, matDialogConfig);
47
+ /* Sets the title of the dialog from the configuration */
49
48
  dialogRef.componentInstance.title = config.title;
49
+ /* Sets the message of the dialog from the configuration */
50
50
  dialogRef.componentInstance.message = config.message;
51
+ /* If a close button text is provided, set it on the dialog component */
51
52
  if (config.closeButton) {
52
53
  dialogRef.componentInstance.closeButton = config.closeButton;
53
54
  }
55
+ /* Returns the reference to the opened dialog */
56
+ /* This allows interaction with the dialog instance */
54
57
  return dialogRef;
55
58
  }
56
59
  /**
57
- * params:
58
- * - config: IConfirmConfig {
59
- * message: string;
60
- * title?: string;
61
- * viewContainerRef?: ViewContainerRef;
62
- * acceptButton?: string;
63
- * cancelButton?: string;
64
- * }
65
- *
66
- * Opens a confirm dialog with the provided config.
67
- * Returns an MdDialogRef<VdConfirmDialogComponent> object.
60
+ * Opens a confirm dialog with the provided configuration.
61
+ * @param config Configuration for the confirm dialog
62
+ * @returns Reference to the opened confirm dialog
68
63
  */
69
- openConfirm(config) {
70
- let dialogConfig = this._createConfig(config);
71
- let dialogRef = this.dialogService.open(VdConfirmDialogComponent, dialogConfig);
64
+ openConfirm(config, dialogConfig) {
65
+ /* Creates dialog configuration based on provided settings */
66
+ let matDialogConfig = this._createConfig(config, dialogConfig);
67
+ /* Opens the confirm dialog with the given component and configuration */
68
+ let dialogRef = this.dialogService.open(VdConfirmDialogComponent, matDialogConfig);
69
+ /* Sets the title of the dialog from the configuration */
72
70
  dialogRef.componentInstance.title = config.title;
71
+ /* Sets the message of the dialog from the configuration */
73
72
  dialogRef.componentInstance.message = config.message;
73
+ /* If an accept button text is provided, set it on the dialog component */
74
74
  if (config.acceptButton) {
75
75
  dialogRef.componentInstance.acceptButton = config.acceptButton;
76
76
  }
77
+ /* If a cancel button text is provided, set it on the dialog component */
77
78
  if (config.cancelButton) {
78
79
  dialogRef.componentInstance.cancelButton = config.cancelButton;
79
80
  }
81
+ /* Returns the reference to the opened dialog */
82
+ /* This allows interaction with the dialog instance */
80
83
  return dialogRef;
81
84
  }
82
85
  /**
83
- * params:
84
- * - config: IPromptConfig {
85
- * message: string;
86
- * title?: string;
87
- * value?: string;
88
- * viewContainerRef?: ViewContainerRef;
89
- * acceptButton?: string;
90
- * cancelButton?: string;
91
- * }
92
- *
93
- * Opens a prompt dialog with the provided config.
94
- * Returns an MdDialogRef<VdPromptDialogComponent> object.
86
+ * Opens a prompt dialog with the provided configuration.
87
+ * @param config Configuration for the prompt dialog
88
+ * @returns Reference to the opened prompt dialog
95
89
  */
96
- openPrompt(config) {
97
- let dialogConfig = this._createConfig(config);
98
- let dialogRef = this.dialogService.open(VdPromptDialogComponent, dialogConfig);
90
+ openPrompt(config, dialogConfig) {
91
+ /* Creates dialog configuration based on provided settings */
92
+ let matDialogConfig = this._createConfig(config, dialogConfig);
93
+ /* Opens the prompt dialog with the given component and configuration */
94
+ let dialogRef = this.dialogService.open(VdPromptDialogComponent, matDialogConfig);
95
+ /* Sets the title of the dialog from the configuration */
99
96
  dialogRef.componentInstance.title = config.title;
97
+ /* Sets the message of the dialog from the configuration */
100
98
  dialogRef.componentInstance.message = config.message;
99
+ /* Sets the initial value for the prompt input from the configuration */
101
100
  dialogRef.componentInstance.value = config.value;
101
+ /* If an accept button text is provided, set it on the dialog component */
102
102
  if (config.acceptButton) {
103
103
  dialogRef.componentInstance.acceptButton = config.acceptButton;
104
104
  }
105
+ /* If a cancel button text is provided, set it on the dialog component */
105
106
  if (config.cancelButton) {
106
107
  dialogRef.componentInstance.cancelButton = config.cancelButton;
107
108
  }
109
+ /* Returns the reference to the opened dialog */
110
+ /* This allows interaction with the dialog instance */
108
111
  return dialogRef;
109
112
  }
110
113
  /**
111
- * Creates configuration
112
- * @param config
113
- * @returns
114
+ * Creates configuration for the dialog
115
+ * @param config Configuration to be used
116
+ * @param dialogConfig Optional additional configuration
117
+ * @returns A new MatDialogConfig object with the specified configuration
114
118
  */
115
- _createConfig(config) {
116
- let dialogConfig = new MatDialogConfig();
117
- dialogConfig.viewContainerRef = config.viewContainerRef;
118
- dialogConfig.disableClose = config.disableClose;
119
- return dialogConfig;
119
+ _createConfig(config, dialogConfig) {
120
+ /* Creates a new instance of MatDialogConfig */
121
+ let matDialogConfig = dialogConfig ?? new MatDialogConfig();
122
+ /* Sets the view container reference for the dialog configuration */
123
+ matDialogConfig.viewContainerRef = config.viewContainerRef;
124
+ /* Sets whether the dialog should be closed by clicking outside */
125
+ matDialogConfig.disableClose = config.disableClose;
126
+ /* Returns the configured MatDialogConfig object */
127
+ return matDialogConfig;
120
128
  }
121
129
  /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: VdDialogService, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
122
130
  /** @nocollapse */ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: VdDialogService, providedIn: 'root' });
@@ -125,13 +133,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImpor
125
133
  type: Injectable,
126
134
  args: [{ providedIn: 'root' }]
127
135
  }], ctorParameters: () => [{ type: i1.MatDialog }] });
136
+ /**
137
+ * Factory function for providing the VdDialogService
138
+ * @param parent Existing instance of VdDialogService or null
139
+ * @param dialog MatDialog service
140
+ * @returns An instance of VdDialogService
141
+ */
128
142
  export function DIALOG_PROVIDER_FACTORY(parent, dialog) {
129
143
  return parent || new VdDialogService(dialog);
130
144
  }
145
+ /**
146
+ * Provider for the VdDialogService
147
+ */
131
148
  export const DIALOG_PROVIDER = {
132
- // If there is already service available, use that. Otherwise, provide a new one.
149
+ /* If there is already a service available, use that. Otherwise, provide a new one. */
133
150
  provide: VdDialogService,
134
151
  deps: [[new Optional(), new SkipSelf(), VdDialogService], MatDialog],
135
152
  useFactory: DIALOG_PROVIDER_FACTORY,
136
153
  };
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvc3JjL2xpYi9kaWFsb2dzL3NlcnZpY2VzL2RpYWxvZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFZLFFBQVEsRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQWdCLE1BQU0sMEJBQTBCLENBQUM7QUFDcEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDaEYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDdEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMENBQTBDLENBQUM7OztBQXVCbkYsTUFBTSxPQUFPLGVBQWU7SUFNUjtJQUpuQjs7O09BR0c7SUFDSCxZQUFtQixhQUF3QjtRQUF4QixrQkFBYSxHQUFiLGFBQWEsQ0FBVztJQUFJLENBQUM7SUFFaEQ7Ozs7OztPQU1HO0lBQ0ksSUFBSSxDQUFJLFNBQTJCLEVBQUUsTUFBd0I7UUFDbkUsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVEOzs7T0FHRztJQUNJLFFBQVE7UUFDZCxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7T0FXRztJQUNJLFNBQVMsQ0FBQyxNQUFvQjtRQUNwQyxJQUFJLFlBQVksR0FBb0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvRCxJQUFJLFNBQVMsR0FBeUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFFcEgsU0FBUyxD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SUFDeEMsaUZBQWlGO0lBQ2pGLE9BQU8sRUFBRSxlQUFlO0lBQ3hCLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSxJQUFJLFFBQVEsRUFBRSxFQUFFLGVBQWUsQ0FBQyxFQUFFLFNBQVMsQ0FBQztJQUNwRSxVQUFVLEVBQUUsdUJBQXVCO0NBQ25DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsLCBQcm92aWRlciwgU2tpcFNlbGYsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dDb25maWcsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IFZkQWxlcnREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9hbGVydC1kaWFsb2cvYWxlcnQtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFZkQ29uZmlybURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2NvbmZpcm0tZGlhbG9nL2NvbmZpcm0tZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFZkUHJvbXB0RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vcHJvbXB0LWRpYWxvZy9wcm9tcHQtZGlhbG9nLmNvbXBvbmVudCc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElEaWFsb2dDb25maWcge1xyXG5cdHRpdGxlPzogc3RyaW5nO1xyXG5cdG1lc3NhZ2U6IHN0cmluZztcclxuXHR2aWV3Q29udGFpbmVyUmVmPzogVmlld0NvbnRhaW5lclJlZjtcclxuXHRkaXNhYmxlQ2xvc2U/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElBbGVydENvbmZpZyBleHRlbmRzIElEaWFsb2dDb25maWcge1xyXG5cdGNsb3NlQnV0dG9uPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElDb25maXJtQ29uZmlnIGV4dGVuZHMgSURpYWxvZ0NvbmZpZyB7XHJcblx0YWNjZXB0QnV0dG9uPzogc3RyaW5nO1xyXG5cdGNhbmNlbEJ1dHRvbj86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJUHJvbXB0Q29uZmlnIGV4dGVuZHMgSUNvbmZpcm1Db25maWcge1xyXG5cdHZhbHVlPzogc3RyaW5nO1xyXG59XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgVmREaWFsb2dTZXJ2aWNlIHtcclxuXHJcblx0LyoqXHJcblx0ICogQ29uc3RydWN0b3JcclxuXHQgKiBAcGFyYW0gZGlhbG9nU2VydmljZSBcclxuXHQgKi9cclxuXHRjb25zdHJ1Y3RvcihwdWJsaWMgZGlhbG9nU2VydmljZTogTWF0RGlhbG9nKSB7IH1cclxuXHJcblx0LyoqXHJcblx0ICogcGFyYW1zOlxyXG5cdCAqIC0gY29tcG9uZW50OiBDb21wb25lbnRUeXBlPFQ+XHJcblx0ICogLSBjb25maWc6IE1kRGlhbG9nQ29uZmlnXHJcblx0ICogV3JhcHBlciBmdW5jdGlvbiBvdmVyIHRoZSBvcGVuKCkgbWV0aG9kIGluIE1kRGlhbG9nLlxyXG5cdCAqIE9wZW5zIGEgbW9kYWwgZGlhbG9nIGNvbnRhaW5pbmcgdGhlIGdpdmVuIGNvbXBvbmVudC5cclxuXHQgKi9cclxuXHRwdWJsaWMgb3BlbjxUPihjb21wb25lbnQ6IENvbXBvbmVudFR5cGU8VD4sIGNvbmZpZz86IE1hdERpYWxvZ0NvbmZpZyk6IE1hdERpYWxvZ1JlZjxUPiB7XHJcblx0XHRyZXR1cm4gdGhpcy5kaWFsb2dTZXJ2aWNlLm9wZW4oY29tcG9uZW50LCBjb25maWcpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogV3JhcHBlciBmdW5jdGlvbiBvdmVyIHRoZSBjbG9zZUFsbCgpIG1ldGhvZCBpbiBNZERpYWxvZy5cclxuXHQgKiBDbG9zZXMgYWxsIG9mIHRoZSBjdXJyZW50bHktb3BlbiBkaWFsb2dzLlxyXG5cdCAqL1xyXG5cdHB1YmxpYyBjbG9zZUFsbCgpOiB2b2lkIHtcclxuXHRcdHRoaXMuZGlhbG9nU2VydmljZS5jbG9zZUFsbCgpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogcGFyYW1zOlxyXG5cdCAqIC0gY29uZmlnOiBJQWxlcnRDb25maWcge1xyXG5cdCAqICAgICBtZXNzYWdlOiBzdHJpbmc7XHJcblx0ICogICAgIHRpdGxlPzogc3RyaW5nO1xyXG5cdCAqICAgICB2aWV3Q29udGFpbmVyUmVmPzogVmlld0NvbnRhaW5lclJlZjtcclxuXHQgKiAgICAgY2xvc2VCdXR0b24/OiBzdHJpbmc7XHJcblx0ICogfVxyXG5cdCAqXHJcblx0ICogT3BlbnMgYW4gYWxlcnQgZGlhbG9nIHdpdGggdGhlIHByb3ZpZGVkIGNvbmZpZy5cclxuXHQgKiBSZXR1cm5zIGFuIE1kRGlhbG9nUmVmPFZkQWxlcnREaWFsb2dDb21wb25lbnQ+IG9iamVjdC5cclxuXHQgKi9cclxuXHRwdWJsaWMgb3BlbkFsZXJ0KGNvbmZpZzogSUFsZXJ0Q29uZmlnKTogTWF0RGlhbG9nUmVmPFZkQWxlcnREaWFsb2dDb21wb25lbnQ+IHtcclxuXHRcdGxldCBkaWFsb2dDb25maWc6IE1hdERpYWxvZ0NvbmZpZyA9IHRoaXMuX2NyZWF0ZUNvbmZpZyhjb25maWcpO1xyXG5cdFx0bGV0IGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFZkQWxlcnREaWFsb2dDb21wb25lbnQ+ID0gdGhpcy5kaWFsb2dTZXJ2aWNlLm9wZW4oVmRBbGVydERpYWxvZ0NvbXBvbmVudCwgZGlhbG9nQ29uZmlnKTtcclxuXHJcblx0XHRkaWFsb2dSZWYuY29tcG9uZW50SW5zdGFuY2UudGl0bGUgPSBjb25maWcudGl0bGU7XHJcblx0XHRkaWFsb2dSZWYuY29tcG9uZW50SW5zdGFuY2UubWVzc2FnZSA9IGNvbmZpZy5tZXNzYWdlO1xyXG5cclxuXHRcdGlmIChjb25maWcuY2xvc2VCdXR0b24pIHtcclxuXHRcdFx0ZGlhbG9nUmVmLmNvbXBvbmVudEluc3RhbmNlLmNsb3NlQnV0dG9uID0gY29uZmlnLmNsb3NlQnV0dG9uO1xyXG5cdFx0fVxyXG5cclxuXHRcdHJldHVybiBkaWFsb2dSZWY7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBwYXJhbXM6XHJcblx0ICogLSBjb25maWc6IElDb25maXJtQ29uZmlnIHtcclxuXHQgKiAgICAgbWVzc2FnZTogc3RyaW5nO1xyXG5cdCAqICAgICB0aXRsZT86IHN0cmluZztcclxuXHQgKiAgICAgdmlld0NvbnRhaW5lclJlZj86IFZpZXdDb250YWluZXJSZWY7XHJcblx0ICogICAgIGFjY2VwdEJ1dHRvbj86IHN0cmluZztcclxuXHQgKiAgICAgY2FuY2VsQnV0dG9uPzogc3RyaW5nO1xyXG5cdCAqIH1cclxuXHQgKlxyXG5cdCAqIE9wZW5zIGEgY29uZmlybSBkaWFsb2cgd2l0aCB0aGUgcHJvdmlkZWQgY29uZmlnLlxyXG5cdCAqIFJldHVybnMgYW4gTWREaWFsb2dSZWY8VmRDb25maXJtRGlhbG9nQ29tcG9uZW50PiBvYmplY3QuXHJcblx0ICovXHJcblx0cHVibGljIG9wZW5Db25maXJtKGNvbmZpZzogSUNvbmZpcm1Db25maWcpOiBNYXREaWFsb2dSZWY8VmRDb25maXJtRGlhbG9nQ29tcG9uZW50PiB7XHJcblx0XHRsZXQgZGlhbG9nQ29uZmlnOiBNYXREaWFsb2dDb25maWcgPSB0aGlzLl9jcmVhdGVDb25maWcoY29uZmlnKTtcclxuXHRcdGxldCBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxWZENvbmZpcm1EaWFsb2dDb21wb25lbnQ+ID0gdGhpcy5kaWFsb2dTZXJ2aWNlLm9wZW4oVmRDb25maXJtRGlhbG9nQ29tcG9uZW50LCBkaWFsb2dDb25maWcpO1xyXG5cclxuXHRcdGRpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZS50aXRsZSA9IGNvbmZpZy50aXRsZTtcclxuXHRcdGRpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZS5tZXNzYWdlID0gY29uZmlnLm1lc3NhZ2U7XHJcblxyXG5cdFx0aWYgKGNvbmZpZy5hY2NlcHRCdXR0b24pIHtcclxuXHRcdFx0ZGlhbG9nUmVmLmNvbXBvbmVudEluc3RhbmNlLmFjY2VwdEJ1dHRvbiA9IGNvbmZpZy5hY2NlcHRCdXR0b247XHJcblx0XHR9XHJcblxyXG5cdFx0aWYgKGNvbmZpZy5jYW5jZWxCdXR0b24pIHtcclxuXHRcdFx0ZGlhbG9nUmVmLmNvbXBvbmVudEluc3RhbmNlLmNhbmNlbEJ1dHRvbiA9IGNvbmZpZy5jYW5jZWxCdXR0b247XHJcblx0XHR9XHJcblxyXG5cdFx0cmV0dXJuIGRpYWxvZ1JlZjtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIHBhcmFtczpcclxuXHQgKiAtIGNvbmZpZzogSVByb21wdENvbmZpZyB7XHJcblx0ICogICAgIG1lc3NhZ2U6IHN0cmluZztcclxuXHQgKiAgICAgdGl0bGU/OiBzdHJpbmc7XHJcblx0ICogICAgIHZhbHVlPzogc3RyaW5nO1xyXG5cdCAqICAgICB2aWV3Q29udGFpbmVyUmVmPzogVmlld0NvbnRhaW5lclJlZjtcclxuXHQgKiAgICAgYWNjZXB0QnV0dG9uPzogc3RyaW5nO1xyXG5cdCAqICAgICBjYW5jZWxCdXR0b24/OiBzdHJpbmc7XHJcblx0ICogfVxyXG5cdCAqXHJcblx0ICogT3BlbnMgYSBwcm9tcHQgZGlhbG9nIHdpdGggdGhlIHByb3ZpZGVkIGNvbmZpZy5cclxuXHQgKiBSZXR1cm5zIGFuIE1kRGlhbG9nUmVmPFZkUHJvbXB0RGlhbG9nQ29tcG9uZW50PiBvYmplY3QuXHJcblx0ICovXHJcblx0cHVibGljIG9wZW5Qcm9tcHQoY29uZmlnOiBJUHJvbXB0Q29uZmlnKTogTWF0RGlhbG9nUmVmPFZkUHJvbXB0RGlhbG9nQ29tcG9uZW50PiB7XHJcblx0XHRsZXQgZGlhbG9nQ29uZmlnOiBNYXREaWFsb2dDb25maWcgPSB0aGlzLl9jcmVhdGVDb25maWcoY29uZmlnKTtcclxuXHRcdGxldCBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxWZFByb21wdERpYWxvZ0NvbXBvbmVudD4gPSB0aGlzLmRpYWxvZ1NlcnZpY2Uub3BlbihWZFByb21wdERpYWxvZ0NvbXBvbmVudCwgZGlhbG9nQ29uZmlnKTtcclxuXHJcblx0XHRkaWFsb2dSZWYuY29tcG9uZW50SW5zdGFuY2UudGl0bGUgPSBjb25maWcudGl0bGU7XHJcblx0XHRkaWFsb2dSZWYuY29tcG9uZW50SW5zdGFuY2UubWVzc2FnZSA9IGNvbmZpZy5tZXNzYWdlO1xyXG5cdFx0ZGlhbG9nUmVmLmNvbXBvbmVudEluc3RhbmNlLnZhbHVlID0gY29uZmlnLnZhbHVlO1xyXG5cclxuXHRcdGlmIChjb25maWcuYWNjZXB0QnV0dG9uKSB7XHJcblx0XHRcdGRpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZS5hY2NlcHRCdXR0b24gPSBjb25maWcuYWNjZXB0QnV0dG9uO1xyXG5cdFx0fVxyXG5cclxuXHRcdGlmIChjb25maWcuY2FuY2VsQnV0dG9uKSB7XHJcblx0XHRcdGRpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZS5jYW5jZWxCdXR0b24gPSBjb25maWcuY2FuY2VsQnV0dG9uO1xyXG5cdFx0fVxyXG5cclxuXHRcdHJldHVybiBkaWFsb2dSZWY7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBDcmVhdGVzIGNvbmZpZ3VyYXRpb25cclxuXHQgKiBAcGFyYW0gY29uZmlnIFxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdHByaXZhdGUgX2NyZWF0ZUNvbmZpZyhjb25maWc6IE1hdERpYWxvZ0NvbmZpZyk6IE1hdERpYWxvZ0NvbmZpZyB7XHJcblx0XHRsZXQgZGlhbG9nQ29uZmlnOiBNYXREaWFsb2dDb25maWcgPSBuZXcgTWF0RGlhbG9nQ29uZmlnKCk7XHJcblx0XHRkaWFsb2dDb25maWcudmlld0NvbnRhaW5lclJlZiA9IGNvbmZpZy52aWV3Q29udGFpbmVyUmVmO1xyXG5cdFx0ZGlhbG9nQ29uZmlnLmRpc2FibGVDbG9zZSA9IGNvbmZpZy5kaXNhYmxlQ2xvc2U7XHJcblx0XHRyZXR1cm4gZGlhbG9nQ29uZmlnO1xyXG5cdH1cclxuXHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBESUFMT0dfUFJPVklERVJfRkFDVE9SWShcclxuXHRwYXJlbnQ6IFZkRGlhbG9nU2VydmljZSwgZGlhbG9nOiBNYXREaWFsb2cpOiBWZERpYWxvZ1NlcnZpY2Uge1xyXG5cdHJldHVybiBwYXJlbnQgfHwgbmV3IFZkRGlhbG9nU2VydmljZShkaWFsb2cpO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgRElBTE9HX1BST1ZJREVSOiBQcm92aWRlciA9IHtcclxuXHQvLyBJZiB0aGVyZSBpcyBhbHJlYWR5IHNlcnZpY2UgYXZhaWxhYmxlLCB1c2UgdGhhdC4gT3RoZXJ3aXNlLCBwcm92aWRlIGEgbmV3IG9uZS5cclxuXHRwcm92aWRlOiBWZERpYWxvZ1NlcnZpY2UsXHJcblx0ZGVwczogW1tuZXcgT3B0aW9uYWwoKSwgbmV3IFNraXBTZWxmKCksIFZkRGlhbG9nU2VydmljZV0sIE1hdERpYWxvZ10sXHJcblx0dXNlRmFjdG9yeTogRElBTE9HX1BST1ZJREVSX0ZBQ1RPUlksXHJcbn07Il19
154
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvc3JjL2xpYi9kaWFsb2dzL3NlcnZpY2VzL2RpYWxvZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFZLFFBQVEsRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQWdCLE1BQU0sMEJBQTBCLENBQUM7QUFDcEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDaEYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDdEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMENBQTBDLENBQUM7OztBQThEbkY7O0dBRUc7QUFFSCxNQUFNLE9BQU8sZUFBZTtJQU1SO0lBSm5COzs7T0FHRztJQUNILFlBQW1CLGFBQXdCO1FBQXhCLGtCQUFhLEdBQWIsYUFBYSxDQUFXO0lBQUksQ0FBQztJQUVoRDs7Ozs7T0FLRztJQUNJLElBQUksQ0FBSSxTQUEyQixFQUFFLE1BQXdCO1FBQ25FLHFFQUFxRTtRQUNyRSxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxRQUFRO1FBQ2QsNkJBQTZCO1FBQzdCLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxTQUFTLENBQUMsTUFBb0IsRUFBRSxZQUE4QjtRQUNwRSw2REFBNkQ7UUFDN0QsSUFBSSxlQUFlLEdBQW9CLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBRWhGLHVFQUF1RTtRQUN2RSxJQUFJLFNBQVMs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QUM1RSwrQ0FBK0M7UUFDL0MsSUFBSSxlQUFlLEdBQW9CLFlBQVksSUFBSSxJQUFJLGVBQWUsRUFBRSxDQUFDO1FBRTdFLG9FQUFvRTtRQUNwRSxlQUFlLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDO1FBRTNELGtFQUFrRTtRQUNsRSxlQUFlLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUM7UUFFbkQsbURBQW1EO1FBQ25ELE9BQU8sZUFBZSxDQUFDO0lBQ3hCLENBQUM7MEhBOUlXLGVBQWU7OEhBQWYsZUFBZSxjQURGLE1BQU07OzJGQUNuQixlQUFlO2tCQUQzQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7QUFrSmxDOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLHVCQUF1QixDQUN0QyxNQUF1QixFQUFFLE1BQWlCO0lBQzFDLE9BQU8sTUFBTSxJQUFJLElBQUksZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzlDLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBYTtJQUN4QyxzRkFBc0Y7SUFDdEYsT0FBTyxFQUFFLGVBQWU7SUFDeEIsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLFFBQVEsRUFBRSxFQUFFLElBQUksUUFBUSxFQUFFLEVBQUUsZUFBZSxDQUFDLEVBQUUsU0FBUyxDQUFDO0lBQ3BFLFVBQVUsRUFBRSx1QkFBdUI7Q0FDbkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFR5cGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgT3B0aW9uYWwsIFByb3ZpZGVyLCBTa2lwU2VsZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ0NvbmZpZywgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgVmRBbGVydERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2FsZXJ0LWRpYWxvZy9hbGVydC1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVmRDb25maXJtRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vY29uZmlybS1kaWFsb2cvY29uZmlybS1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVmRQcm9tcHREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9wcm9tcHQtZGlhbG9nL3Byb21wdC1kaWFsb2cuY29tcG9uZW50JztcclxuXHJcbi8qKlxyXG4gKiBJbnRlcmZhY2UgZm9yIGRpYWxvZyBjb25maWd1cmF0aW9uXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIElEaWFsb2dDb25maWcge1xyXG5cdC8qKiBcclxuXHQgKiBPcHRpb25hbCB0aXRsZSBvZiB0aGUgZGlhbG9nXHJcblx0ICovXHJcblx0dGl0bGU/OiBzdHJpbmc7XHJcblxyXG5cdC8qKiBcclxuXHQgKiBNZXNzYWdlIHRvIGRpc3BsYXkgaW4gdGhlIGRpYWxvZ1xyXG5cdCAqL1xyXG5cdG1lc3NhZ2U6IHN0cmluZztcclxuXHJcblx0LyoqIFxyXG5cdCAqIFZpZXcgY29udGFpbmVyIHJlZmVyZW5jZVxyXG5cdCAqL1xyXG5cdHZpZXdDb250YWluZXJSZWY/OiBWaWV3Q29udGFpbmVyUmVmO1xyXG5cclxuXHQvKiogXHJcblx0ICogV2hldGhlciB0aGUgZGlhbG9nIGNhbiBiZSBjbG9zZWQgYnkgY2xpY2tpbmcgb3V0c2lkZVxyXG5cdCAqL1xyXG5cdGRpc2FibGVDbG9zZT86IGJvb2xlYW47XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBJbnRlcmZhY2UgZm9yIGFsZXJ0IGRpYWxvZyBjb25maWd1cmF0aW9uXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIElBbGVydENvbmZpZyBleHRlbmRzIElEaWFsb2dDb25maWcge1xyXG5cdC8qKiBcclxuXHQgKiBUZXh0IGZvciB0aGUgY2xvc2UgYnV0dG9uXHJcblx0ICovXHJcblx0Y2xvc2VCdXR0b24/OiBzdHJpbmc7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBJbnRlcmZhY2UgZm9yIGNvbmZpcm0gZGlhbG9nIGNvbmZpZ3VyYXRpb25cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUNvbmZpcm1Db25maWcgZXh0ZW5kcyBJRGlhbG9nQ29uZmlnIHtcclxuXHQvKiogXHJcblx0ICogVGV4dCBmb3IgdGhlIGFjY2VwdCBidXR0b25cclxuXHQgKi9cclxuXHRhY2NlcHRCdXR0b24/OiBzdHJpbmc7XHJcblxyXG5cdC8qKiBcclxuXHQgKiBUZXh0IGZvciB0aGUgY2FuY2VsIGJ1dHRvblxyXG5cdCAqL1xyXG5cdGNhbmNlbEJ1dHRvbj86IHN0cmluZztcclxufVxyXG5cclxuLyoqXHJcbiAqIEludGVyZmFjZSBmb3IgcHJvbXB0IGRpYWxvZyBjb25maWd1cmF0aW9uXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIElQcm9tcHRDb25maWcgZXh0ZW5kcyBJQ29uZmlybUNvbmZpZyB7XHJcblx0LyoqIFxyXG5cdCAqIERlZmF1bHQgdmFsdWUgZm9yIHRoZSBwcm9tcHQgaW5wdXRcclxuXHQgKi9cclxuXHR2YWx1ZT86IHN0cmluZztcclxufVxyXG5cclxuLyoqXHJcbiAqIFNlcnZpY2UgZm9yIG1hbmFnaW5nIGRpYWxvZ3NcclxuICovXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBWZERpYWxvZ1NlcnZpY2Uge1xyXG5cclxuXHQvKipcclxuXHQgKiBDb25zdHJ1Y3RvclxyXG5cdCAqIEBwYXJhbSBkaWFsb2dTZXJ2aWNlIE1hdERpYWxvZyBzZXJ2aWNlIGZvciBtYW5hZ2luZyBkaWFsb2dzXHJcblx0ICovXHJcblx0Y29uc3RydWN0b3IocHVibGljIGRpYWxvZ1NlcnZpY2U6IE1hdERpYWxvZykgeyB9XHJcblxyXG5cdC8qKlxyXG5cdCAqIE9wZW5zIGEgbW9kYWwgZGlhbG9nIGNvbnRhaW5pbmcgdGhlIGdpdmVuIGNvbXBvbmVudC5cclxuXHQgKiBAcGFyYW0gY29tcG9uZW50IENvbXBvbmVudCB0byBiZSBkaXNwbGF5ZWQgaW4gdGhlIGRpYWxvZ1xyXG5cdCAqIEBwYXJhbSBjb25maWcgQ29uZmlndXJhdGlvbiBmb3IgdGhlIGRpYWxvZ1xyXG5cdCAqIEByZXR1cm5zIFJlZmVyZW5jZSB0byB0aGUgb3BlbmVkIGRpYWxvZ1xyXG5cdCAqL1xyXG5cdHB1YmxpYyBvcGVuPFQ+KGNvbXBvbmVudDogQ29tcG9uZW50VHlwZTxUPiwgY29uZmlnPzogTWF0RGlhbG9nQ29uZmlnKTogTWF0RGlhbG9nUmVmPFQ+IHtcclxuXHRcdC8qIE9wZW5zIHRoZSBkaWFsb2cgd2l0aCB0aGUgc3BlY2lmaWVkIGNvbXBvbmVudCBhbmQgY29uZmlndXJhdGlvbiAqL1xyXG5cdFx0cmV0dXJuIHRoaXMuZGlhbG9nU2VydmljZS5vcGVuKGNvbXBvbmVudCwgY29uZmlnKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIENsb3NlcyBhbGwgb2YgdGhlIGN1cnJlbnRseS1vcGVuIGRpYWxvZ3MuXHJcblx0ICovXHJcblx0cHVibGljIGNsb3NlQWxsKCk6IHZvaWQge1xyXG5cdFx0LyogQ2xvc2VzIGFsbCBvcGVuIGRpYWxvZ3MgKi9cclxuXHRcdHRoaXMuZGlhbG9nU2VydmljZS5jbG9zZUFsbCgpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogT3BlbnMgYW4gYWxlcnQgZGlhbG9nIHdpdGggdGhlIHByb3ZpZGVkIGNvbmZpZ3VyYXRpb24uXHJcblx0ICogQHBhcmFtIGNvbmZpZyBDb25maWd1cmF0aW9uIGZvciB0aGUgYWxlcnQgZGlhbG9nXHJcblx0ICogQHJldHVybnMgUmVmZXJlbmNlIHRvIHRoZSBvcGVuZWQgYWxlcnQgZGlhbG9nXHJcblx0ICovXHJcblx0cHVibGljIG9wZW5BbGVydChjb25maWc6IElBbGVydENvbmZpZywgZGlhbG9nQ29uZmlnPzogTWF0RGlhbG9nQ29uZmlnKTogTWF0RGlhbG9nUmVmPFZkQWxlcnREaWFsb2dDb21wb25lbnQ+IHtcclxuXHRcdC8qIENyZWF0ZXMgZGlhbG9nIGNvbmZpZ3VyYXRpb24gYmFzZWQgb24gcHJvdmlkZWQgc2V0dGluZ3MgKi9cclxuXHRcdGxldCBtYXREaWFsb2dDb25maWc6IE1hdERpYWxvZ0NvbmZpZyA9IHRoaXMuX2NyZWF0ZUNvbmZpZyhjb25maWcsIGRpYWxvZ0NvbmZpZyk7XHJcblxyXG5cdFx0LyogT3BlbnMgdGhlIGFsZXJ0IGRpYWxvZyB3aXRoIHRoZSBnaXZlbiBjb21wb25lbnQgYW5kIGNvbmZpZ3VyYXRpb24gKi9cclxuXHRcdGxldCBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxWZEFsZXJ0RGlhbG9nQ29tcG9uZW50PiA9IHRoaXMuZGlhbG9nU2VydmljZS5vcGVuKFZkQWxlcnREaWFsb2dDb21wb25lbnQsIG1hdERpYWxvZ0NvbmZpZyk7XHJcblxyXG5cdFx0LyogU2V0cyB0aGUgdGl0bGUgb2YgdGhlIGRpYWxvZyBmcm9tIHRoZSBjb25maWd1cmF0aW9uICovXHJcblx0XHRkaWFsb2dSZWYuY29tcG9uZW50SW5zdGFuY2UudGl0bGUgPSBjb25maWcudGl0bGU7XHJcblxyXG5cdFx0LyogU2V0cyB0aGUgbWVzc2FnZSBvZiB0aGUgZGlhbG9nIGZyb20gdGhlIGNvbmZpZ3VyYXRpb24gKi9cclxuXHRcdGRpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZS5tZXNzYWdlID0gY29uZmlnLm1lc3NhZ2U7XHJcblxyXG5cdFx0LyogSWYgYSBjbG9zZSBidXR0b24gdGV4dCBpcyBwcm92aWRlZCwgc2V0IGl0IG9uIHRoZSBkaWFsb2cgY29tcG9uZW50ICovXHJcblx0XHRpZiAoY29uZmlnLmNsb3NlQnV0dG9uKSB7XHJcblx0XHRcdGRpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZS5jbG9zZUJ1dHRvbiA9IGNvbmZpZy5jbG9zZUJ1dHRvbjtcclxuXHRcdH1cclxuXHJcblx0XHQvKiBSZXR1cm5zIHRoZSByZWZlcmVuY2UgdG8gdGhlIG9wZW5lZCBkaWFsb2cgKi9cclxuXHRcdC8qIFRoaXMgYWxsb3dzIGludGVyYWN0aW9uIHdpdGggdGhlIGRpYWxvZyBpbnN0YW5jZSAqL1xyXG5cdFx0cmV0dXJuIGRpYWxvZ1JlZjtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIE9wZW5zIGEgY29uZmlybSBkaWFsb2cgd2l0aCB0aGUgcHJvdmlkZWQgY29uZmlndXJhdGlvbi5cclxuXHQgKiBAcGFyYW0gY29uZmlnIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBjb25maXJtIGRpYWxvZ1xyXG5cdCAqIEByZXR1cm5zIFJlZmVyZW5jZSB0byB0aGUgb3BlbmVkIGNvbmZpcm0gZGlhbG9nXHJcblx0ICovXHJcblx0cHVibGljIG9wZW5Db25maXJtKGNvbmZpZzogSUNvbmZpcm1Db25maWcsIGRpYWxvZ0NvbmZpZz86IE1hdERpYWxvZ0NvbmZpZyk6IE1hdERpYWxvZ1JlZjxWZENvbmZpcm1EaWFsb2dDb21wb25lbnQ+IHtcclxuXHRcdC8qIENyZWF0ZXMgZGlhbG9nIGNvbmZpZ3VyYXRpb24gYmFzZWQgb24gcHJvdmlkZWQgc2V0dGluZ3MgKi9cclxuXHRcdGxldCBtYXREaWFsb2dDb25maWc6IE1hdERpYWxvZ0NvbmZpZyA9IHRoaXMuX2NyZWF0ZUNvbmZpZyhjb25maWcsIGRpYWxvZ0NvbmZpZyk7XHJcblxyXG5cdFx0LyogT3BlbnMgdGhlIGNvbmZpcm0gZGlhbG9nIHdpdGggdGhlIGdpdmVuIGNvbXBvbmVudCBhbmQgY29uZmlndXJhdGlvbiAqL1xyXG5cdFx0bGV0IGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFZkQ29uZmlybURpYWxvZ0NvbXBvbmVudD4gPSB0aGlzLmRpYWxvZ1NlcnZpY2Uub3BlbihWZENvbmZpcm1EaWFsb2dDb21wb25lbnQsIG1hdERpYWxvZ0NvbmZpZyk7XHJcblxyXG5cdFx0LyogU2V0cyB0aGUgdGl0bGUgb2YgdGhlIGRpYWxvZyBmcm9tIHRoZSBjb25maWd1cmF0aW9uICovXHJcblx0XHRkaWFsb2dSZWYuY29tcG9uZW50SW5zdGFuY2UudGl0bGUgPSBjb25maWcudGl0bGU7XHJcblxyXG5cdFx0LyogU2V0cyB0aGUgbWVzc2FnZSBvZiB0aGUgZGlhbG9nIGZyb20gdGhlIGNvbmZpZ3VyYXRpb24gKi9cclxuXHRcdGRpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZS5tZXNzYWdlID0gY29uZmlnLm1lc3NhZ2U7XHJcblxyXG5cdFx0LyogSWYgYW4gYWNjZXB0IGJ1dHRvbiB0ZXh0IGlzIHByb3ZpZGVkLCBzZXQgaXQgb24gdGhlIGRpYWxvZyBjb21wb25lbnQgKi9cclxuXHRcdGlmIChjb25maWcuYWNjZXB0QnV0dG9uKSB7XHJcblx0XHRcdGRpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZS5hY2NlcHRCdXR0b24gPSBjb25maWcuYWNjZXB0QnV0dG9uO1xyXG5cdFx0fVxyXG5cclxuXHRcdC8qIElmIGEgY2FuY2VsIGJ1dHRvbiB0ZXh0IGlzIHByb3ZpZGVkLCBzZXQgaXQgb24gdGhlIGRpYWxvZyBjb21wb25lbnQgKi9cclxuXHRcdGlmIChjb25maWcuY2FuY2VsQnV0dG9uKSB7XHJcblx0XHRcdGRpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZS5jYW5jZWxCdXR0b24gPSBjb25maWcuY2FuY2VsQnV0dG9uO1xyXG5cdFx0fVxyXG5cclxuXHRcdC8qIFJldHVybnMgdGhlIHJlZmVyZW5jZSB0byB0aGUgb3BlbmVkIGRpYWxvZyAqL1xyXG5cdFx0LyogVGhpcyBhbGxvd3MgaW50ZXJhY3Rpb24gd2l0aCB0aGUgZGlhbG9nIGluc3RhbmNlICovXHJcblx0XHRyZXR1cm4gZGlhbG9nUmVmO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogT3BlbnMgYSBwcm9tcHQgZGlhbG9nIHdpdGggdGhlIHByb3ZpZGVkIGNvbmZpZ3VyYXRpb24uXHJcblx0ICogQHBhcmFtIGNvbmZpZyBDb25maWd1cmF0aW9uIGZvciB0aGUgcHJvbXB0IGRpYWxvZ1xyXG5cdCAqIEByZXR1cm5zIFJlZmVyZW5jZSB0byB0aGUgb3BlbmVkIHByb21wdCBkaWFsb2dcclxuXHQgKi9cclxuXHRwdWJsaWMgb3BlblByb21wdChjb25maWc6IElQcm9tcHRDb25maWcsIGRpYWxvZ0NvbmZpZz86IE1hdERpYWxvZ0NvbmZpZyk6IE1hdERpYWxvZ1JlZjxWZFByb21wdERpYWxvZ0NvbXBvbmVudD4ge1xyXG5cdFx0LyogQ3JlYXRlcyBkaWFsb2cgY29uZmlndXJhdGlvbiBiYXNlZCBvbiBwcm92aWRlZCBzZXR0aW5ncyAqL1xyXG5cdFx0bGV0IG1hdERpYWxvZ0NvbmZpZzogTWF0RGlhbG9nQ29uZmlnID0gdGhpcy5fY3JlYXRlQ29uZmlnKGNvbmZpZywgZGlhbG9nQ29uZmlnKTtcclxuXHJcblx0XHQvKiBPcGVucyB0aGUgcHJvbXB0IGRpYWxvZyB3aXRoIHRoZSBnaXZlbiBjb21wb25lbnQgYW5kIGNvbmZpZ3VyYXRpb24gKi9cclxuXHRcdGxldCBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxWZFByb21wdERpYWxvZ0NvbXBvbmVudD4gPSB0aGlzLmRpYWxvZ1NlcnZpY2Uub3BlbihWZFByb21wdERpYWxvZ0NvbXBvbmVudCwgbWF0RGlhbG9nQ29uZmlnKTtcclxuXHJcblx0XHQvKiBTZXRzIHRoZSB0aXRsZSBvZiB0aGUgZGlhbG9nIGZyb20gdGhlIGNvbmZpZ3VyYXRpb24gKi9cclxuXHRcdGRpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZS50aXRsZSA9IGNvbmZpZy50aXRsZTtcclxuXHJcblx0XHQvKiBTZXRzIHRoZSBtZXNzYWdlIG9mIHRoZSBkaWFsb2cgZnJvbSB0aGUgY29uZmlndXJhdGlvbiAqL1xyXG5cdFx0ZGlhbG9nUmVmLmNvbXBvbmVudEluc3RhbmNlLm1lc3NhZ2UgPSBjb25maWcubWVzc2FnZTtcclxuXHJcblx0XHQvKiBTZXRzIHRoZSBpbml0aWFsIHZhbHVlIGZvciB0aGUgcHJvbXB0IGlucHV0IGZyb20gdGhlIGNvbmZpZ3VyYXRpb24gKi9cclxuXHRcdGRpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZS52YWx1ZSA9IGNvbmZpZy52YWx1ZTtcclxuXHJcblx0XHQvKiBJZiBhbiBhY2NlcHQgYnV0dG9uIHRleHQgaXMgcHJvdmlkZWQsIHNldCBpdCBvbiB0aGUgZGlhbG9nIGNvbXBvbmVudCAqL1xyXG5cdFx0aWYgKGNvbmZpZy5hY2NlcHRCdXR0b24pIHtcclxuXHRcdFx0ZGlhbG9nUmVmLmNvbXBvbmVudEluc3RhbmNlLmFjY2VwdEJ1dHRvbiA9IGNvbmZpZy5hY2NlcHRCdXR0b247XHJcblx0XHR9XHJcblxyXG5cdFx0LyogSWYgYSBjYW5jZWwgYnV0dG9uIHRleHQgaXMgcHJvdmlkZWQsIHNldCBpdCBvbiB0aGUgZGlhbG9nIGNvbXBvbmVudCAqL1xyXG5cdFx0aWYgKGNvbmZpZy5jYW5jZWxCdXR0b24pIHtcclxuXHRcdFx0ZGlhbG9nUmVmLmNvbXBvbmVudEluc3RhbmNlLmNhbmNlbEJ1dHRvbiA9IGNvbmZpZy5jYW5jZWxCdXR0b247XHJcblx0XHR9XHJcblxyXG5cdFx0LyogUmV0dXJucyB0aGUgcmVmZXJlbmNlIHRvIHRoZSBvcGVuZWQgZGlhbG9nICovXHJcblx0XHQvKiBUaGlzIGFsbG93cyBpbnRlcmFjdGlvbiB3aXRoIHRoZSBkaWFsb2cgaW5zdGFuY2UgKi9cclxuXHRcdHJldHVybiBkaWFsb2dSZWY7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBDcmVhdGVzIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBkaWFsb2dcclxuXHQgKiBAcGFyYW0gY29uZmlnIENvbmZpZ3VyYXRpb24gdG8gYmUgdXNlZFxyXG5cdCAqIEBwYXJhbSBkaWFsb2dDb25maWcgT3B0aW9uYWwgYWRkaXRpb25hbCBjb25maWd1cmF0aW9uXHJcblx0ICogQHJldHVybnMgQSBuZXcgTWF0RGlhbG9nQ29uZmlnIG9iamVjdCB3aXRoIHRoZSBzcGVjaWZpZWQgY29uZmlndXJhdGlvblxyXG5cdCAqL1xyXG5cdHByaXZhdGUgX2NyZWF0ZUNvbmZpZyhjb25maWc6IE1hdERpYWxvZ0NvbmZpZywgZGlhbG9nQ29uZmlnPzogTWF0RGlhbG9nQ29uZmlnKTogTWF0RGlhbG9nQ29uZmlnIHtcclxuXHRcdC8qIENyZWF0ZXMgYSBuZXcgaW5zdGFuY2Ugb2YgTWF0RGlhbG9nQ29uZmlnICovXHJcblx0XHRsZXQgbWF0RGlhbG9nQ29uZmlnOiBNYXREaWFsb2dDb25maWcgPSBkaWFsb2dDb25maWcgPz8gbmV3IE1hdERpYWxvZ0NvbmZpZygpO1xyXG5cclxuXHRcdC8qIFNldHMgdGhlIHZpZXcgY29udGFpbmVyIHJlZmVyZW5jZSBmb3IgdGhlIGRpYWxvZyBjb25maWd1cmF0aW9uICovXHJcblx0XHRtYXREaWFsb2dDb25maWcudmlld0NvbnRhaW5lclJlZiA9IGNvbmZpZy52aWV3Q29udGFpbmVyUmVmO1xyXG5cclxuXHRcdC8qIFNldHMgd2hldGhlciB0aGUgZGlhbG9nIHNob3VsZCBiZSBjbG9zZWQgYnkgY2xpY2tpbmcgb3V0c2lkZSAqL1xyXG5cdFx0bWF0RGlhbG9nQ29uZmlnLmRpc2FibGVDbG9zZSA9IGNvbmZpZy5kaXNhYmxlQ2xvc2U7XHJcblxyXG5cdFx0LyogUmV0dXJucyB0aGUgY29uZmlndXJlZCBNYXREaWFsb2dDb25maWcgb2JqZWN0ICovXHJcblx0XHRyZXR1cm4gbWF0RGlhbG9nQ29uZmlnO1xyXG5cdH1cclxufVxyXG5cclxuLyoqXHJcbiAqIEZhY3RvcnkgZnVuY3Rpb24gZm9yIHByb3ZpZGluZyB0aGUgVmREaWFsb2dTZXJ2aWNlXHJcbiAqIEBwYXJhbSBwYXJlbnQgRXhpc3RpbmcgaW5zdGFuY2Ugb2YgVmREaWFsb2dTZXJ2aWNlIG9yIG51bGxcclxuICogQHBhcmFtIGRpYWxvZyBNYXREaWFsb2cgc2VydmljZVxyXG4gKiBAcmV0dXJucyBBbiBpbnN0YW5jZSBvZiBWZERpYWxvZ1NlcnZpY2VcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBESUFMT0dfUFJPVklERVJfRkFDVE9SWShcclxuXHRwYXJlbnQ6IFZkRGlhbG9nU2VydmljZSwgZGlhbG9nOiBNYXREaWFsb2cpOiBWZERpYWxvZ1NlcnZpY2Uge1xyXG5cdHJldHVybiBwYXJlbnQgfHwgbmV3IFZkRGlhbG9nU2VydmljZShkaWFsb2cpO1xyXG59XHJcblxyXG4vKipcclxuICogUHJvdmlkZXIgZm9yIHRoZSBWZERpYWxvZ1NlcnZpY2VcclxuICovXHJcbmV4cG9ydCBjb25zdCBESUFMT0dfUFJPVklERVI6IFByb3ZpZGVyID0ge1xyXG5cdC8qIElmIHRoZXJlIGlzIGFscmVhZHkgYSBzZXJ2aWNlIGF2YWlsYWJsZSwgdXNlIHRoYXQuIE90aGVyd2lzZSwgcHJvdmlkZSBhIG5ldyBvbmUuICovXHJcblx0cHJvdmlkZTogVmREaWFsb2dTZXJ2aWNlLFxyXG5cdGRlcHM6IFtbbmV3IE9wdGlvbmFsKCksIG5ldyBTa2lwU2VsZigpLCBWZERpYWxvZ1NlcnZpY2VdLCBNYXREaWFsb2ddLFxyXG5cdHVzZUZhY3Rvcnk6IERJQUxPR19QUk9WSURFUl9GQUNUT1JZLFxyXG59OyJdfQ==
@@ -15550,118 +15550,126 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImpor
15550
15550
  args: [{ selector: 'vd-prompt-dialog', template: "<vd-dialog>\r\n\t<vd-dialog-title *ngIf=\"title\">{{title}}</vd-dialog-title>\r\n\t<vd-dialog-content layout=\"column\" class=\"md-subhead\">\r\n\t\t<span [innerHtml]=\"message\"></span>\r\n\t\t<form #form=\"ngForm\" layout=\"row\" novalidate flex>\r\n\t\t\t<mat-form-field flex>\r\n\t\t\t\t<input matInput (keydown.enter)=\"$event.preventDefault(); form.valid && accept()\" [(ngModel)]=\"value\" name=\"value\" required />\r\n\t\t\t</mat-form-field>\r\n\t\t</form>\r\n\t</vd-dialog-content>\r\n\t<vd-dialog-actions>\r\n\t\t<button mat-button #closeBtn (keydown.arrowright)=\"acceptBtn.focus()\" (click)=\"cancel()\">{{cancelButton}}</button>\r\n\t\t<button mat-button color=\"accent\" #acceptBtn (keydown.arrowleft)=\"closeBtn.focus()\" [disabled]=\"!form.valid\" (click)=\"accept()\">{{acceptButton}}</button>\r\n\t</vd-dialog-actions>\r\n</vd-dialog>", styles: ["@media (min-width: 600px){vd-dialog{width:400px}}@media (max-width: 599px){vd-dialog{width:250px}}\n"] }]
15551
15551
  }], ctorParameters: () => [{ type: i1$5.MatDialogRef }] });
15552
15552
 
15553
+ /**
15554
+ * Service for managing dialogs
15555
+ */
15553
15556
  class VdDialogService {
15554
15557
  dialogService;
15555
15558
  /**
15556
15559
  * Constructor
15557
- * @param dialogService
15560
+ * @param dialogService MatDialog service for managing dialogs
15558
15561
  */
15559
15562
  constructor(dialogService) {
15560
15563
  this.dialogService = dialogService;
15561
15564
  }
15562
15565
  /**
15563
- * params:
15564
- * - component: ComponentType<T>
15565
- * - config: MdDialogConfig
15566
- * Wrapper function over the open() method in MdDialog.
15567
15566
  * Opens a modal dialog containing the given component.
15567
+ * @param component Component to be displayed in the dialog
15568
+ * @param config Configuration for the dialog
15569
+ * @returns Reference to the opened dialog
15568
15570
  */
15569
15571
  open(component, config) {
15572
+ /* Opens the dialog with the specified component and configuration */
15570
15573
  return this.dialogService.open(component, config);
15571
15574
  }
15572
15575
  /**
15573
- * Wrapper function over the closeAll() method in MdDialog.
15574
15576
  * Closes all of the currently-open dialogs.
15575
15577
  */
15576
15578
  closeAll() {
15579
+ /* Closes all open dialogs */
15577
15580
  this.dialogService.closeAll();
15578
15581
  }
15579
15582
  /**
15580
- * params:
15581
- * - config: IAlertConfig {
15582
- * message: string;
15583
- * title?: string;
15584
- * viewContainerRef?: ViewContainerRef;
15585
- * closeButton?: string;
15586
- * }
15587
- *
15588
- * Opens an alert dialog with the provided config.
15589
- * Returns an MdDialogRef<VdAlertDialogComponent> object.
15583
+ * Opens an alert dialog with the provided configuration.
15584
+ * @param config Configuration for the alert dialog
15585
+ * @returns Reference to the opened alert dialog
15590
15586
  */
15591
- openAlert(config) {
15592
- let dialogConfig = this._createConfig(config);
15593
- let dialogRef = this.dialogService.open(VdAlertDialogComponent, dialogConfig);
15587
+ openAlert(config, dialogConfig) {
15588
+ /* Creates dialog configuration based on provided settings */
15589
+ let matDialogConfig = this._createConfig(config, dialogConfig);
15590
+ /* Opens the alert dialog with the given component and configuration */
15591
+ let dialogRef = this.dialogService.open(VdAlertDialogComponent, matDialogConfig);
15592
+ /* Sets the title of the dialog from the configuration */
15594
15593
  dialogRef.componentInstance.title = config.title;
15594
+ /* Sets the message of the dialog from the configuration */
15595
15595
  dialogRef.componentInstance.message = config.message;
15596
+ /* If a close button text is provided, set it on the dialog component */
15596
15597
  if (config.closeButton) {
15597
15598
  dialogRef.componentInstance.closeButton = config.closeButton;
15598
15599
  }
15600
+ /* Returns the reference to the opened dialog */
15601
+ /* This allows interaction with the dialog instance */
15599
15602
  return dialogRef;
15600
15603
  }
15601
15604
  /**
15602
- * params:
15603
- * - config: IConfirmConfig {
15604
- * message: string;
15605
- * title?: string;
15606
- * viewContainerRef?: ViewContainerRef;
15607
- * acceptButton?: string;
15608
- * cancelButton?: string;
15609
- * }
15610
- *
15611
- * Opens a confirm dialog with the provided config.
15612
- * Returns an MdDialogRef<VdConfirmDialogComponent> object.
15605
+ * Opens a confirm dialog with the provided configuration.
15606
+ * @param config Configuration for the confirm dialog
15607
+ * @returns Reference to the opened confirm dialog
15613
15608
  */
15614
- openConfirm(config) {
15615
- let dialogConfig = this._createConfig(config);
15616
- let dialogRef = this.dialogService.open(VdConfirmDialogComponent, dialogConfig);
15609
+ openConfirm(config, dialogConfig) {
15610
+ /* Creates dialog configuration based on provided settings */
15611
+ let matDialogConfig = this._createConfig(config, dialogConfig);
15612
+ /* Opens the confirm dialog with the given component and configuration */
15613
+ let dialogRef = this.dialogService.open(VdConfirmDialogComponent, matDialogConfig);
15614
+ /* Sets the title of the dialog from the configuration */
15617
15615
  dialogRef.componentInstance.title = config.title;
15616
+ /* Sets the message of the dialog from the configuration */
15618
15617
  dialogRef.componentInstance.message = config.message;
15618
+ /* If an accept button text is provided, set it on the dialog component */
15619
15619
  if (config.acceptButton) {
15620
15620
  dialogRef.componentInstance.acceptButton = config.acceptButton;
15621
15621
  }
15622
+ /* If a cancel button text is provided, set it on the dialog component */
15622
15623
  if (config.cancelButton) {
15623
15624
  dialogRef.componentInstance.cancelButton = config.cancelButton;
15624
15625
  }
15626
+ /* Returns the reference to the opened dialog */
15627
+ /* This allows interaction with the dialog instance */
15625
15628
  return dialogRef;
15626
15629
  }
15627
15630
  /**
15628
- * params:
15629
- * - config: IPromptConfig {
15630
- * message: string;
15631
- * title?: string;
15632
- * value?: string;
15633
- * viewContainerRef?: ViewContainerRef;
15634
- * acceptButton?: string;
15635
- * cancelButton?: string;
15636
- * }
15637
- *
15638
- * Opens a prompt dialog with the provided config.
15639
- * Returns an MdDialogRef<VdPromptDialogComponent> object.
15631
+ * Opens a prompt dialog with the provided configuration.
15632
+ * @param config Configuration for the prompt dialog
15633
+ * @returns Reference to the opened prompt dialog
15640
15634
  */
15641
- openPrompt(config) {
15642
- let dialogConfig = this._createConfig(config);
15643
- let dialogRef = this.dialogService.open(VdPromptDialogComponent, dialogConfig);
15635
+ openPrompt(config, dialogConfig) {
15636
+ /* Creates dialog configuration based on provided settings */
15637
+ let matDialogConfig = this._createConfig(config, dialogConfig);
15638
+ /* Opens the prompt dialog with the given component and configuration */
15639
+ let dialogRef = this.dialogService.open(VdPromptDialogComponent, matDialogConfig);
15640
+ /* Sets the title of the dialog from the configuration */
15644
15641
  dialogRef.componentInstance.title = config.title;
15642
+ /* Sets the message of the dialog from the configuration */
15645
15643
  dialogRef.componentInstance.message = config.message;
15644
+ /* Sets the initial value for the prompt input from the configuration */
15646
15645
  dialogRef.componentInstance.value = config.value;
15646
+ /* If an accept button text is provided, set it on the dialog component */
15647
15647
  if (config.acceptButton) {
15648
15648
  dialogRef.componentInstance.acceptButton = config.acceptButton;
15649
15649
  }
15650
+ /* If a cancel button text is provided, set it on the dialog component */
15650
15651
  if (config.cancelButton) {
15651
15652
  dialogRef.componentInstance.cancelButton = config.cancelButton;
15652
15653
  }
15654
+ /* Returns the reference to the opened dialog */
15655
+ /* This allows interaction with the dialog instance */
15653
15656
  return dialogRef;
15654
15657
  }
15655
15658
  /**
15656
- * Creates configuration
15657
- * @param config
15658
- * @returns
15659
+ * Creates configuration for the dialog
15660
+ * @param config Configuration to be used
15661
+ * @param dialogConfig Optional additional configuration
15662
+ * @returns A new MatDialogConfig object with the specified configuration
15659
15663
  */
15660
- _createConfig(config) {
15661
- let dialogConfig = new MatDialogConfig();
15662
- dialogConfig.viewContainerRef = config.viewContainerRef;
15663
- dialogConfig.disableClose = config.disableClose;
15664
- return dialogConfig;
15664
+ _createConfig(config, dialogConfig) {
15665
+ /* Creates a new instance of MatDialogConfig */
15666
+ let matDialogConfig = dialogConfig ?? new MatDialogConfig();
15667
+ /* Sets the view container reference for the dialog configuration */
15668
+ matDialogConfig.viewContainerRef = config.viewContainerRef;
15669
+ /* Sets whether the dialog should be closed by clicking outside */
15670
+ matDialogConfig.disableClose = config.disableClose;
15671
+ /* Returns the configured MatDialogConfig object */
15672
+ return matDialogConfig;
15665
15673
  }
15666
15674
  /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: VdDialogService, deps: [{ token: i1$5.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
15667
15675
  /** @nocollapse */ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: VdDialogService, providedIn: 'root' });
@@ -15670,11 +15678,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImpor
15670
15678
  type: Injectable,
15671
15679
  args: [{ providedIn: 'root' }]
15672
15680
  }], ctorParameters: () => [{ type: i1$5.MatDialog }] });
15681
+ /**
15682
+ * Factory function for providing the VdDialogService
15683
+ * @param parent Existing instance of VdDialogService or null
15684
+ * @param dialog MatDialog service
15685
+ * @returns An instance of VdDialogService
15686
+ */
15673
15687
  function DIALOG_PROVIDER_FACTORY(parent, dialog) {
15674
15688
  return parent || new VdDialogService(dialog);
15675
15689
  }
15690
+ /**
15691
+ * Provider for the VdDialogService
15692
+ */
15676
15693
  const DIALOG_PROVIDER = {
15677
- // If there is already service available, use that. Otherwise, provide a new one.
15694
+ /* If there is already a service available, use that. Otherwise, provide a new one. */
15678
15695
  provide: VdDialogService,
15679
15696
  deps: [[new Optional(), new SkipSelf(), VdDialogService], MatDialog],
15680
15697
  useFactory: DIALOG_PROVIDER_FACTORY,