turbogui-angular 13.0.1 → 13.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/esm2022/main/controller/dialog.service.mjs +60 -47
  2. package/esm2022/main/view/components/dialog-base/dialog-base.component.mjs +16 -1
  3. package/esm2022/main/view/components/dialog-date-selection/dialog-date-selection.component.mjs +5 -14
  4. package/esm2022/main/view/components/dialog-error/dialog-error.component.mjs +5 -5
  5. package/esm2022/main/view/components/dialog-multiple-option/dialog-multiple-option.component.mjs +5 -5
  6. package/esm2022/main/view/components/dialog-single-option/dialog-single-option.component.mjs +5 -5
  7. package/esm2022/main/view/components/dialog-single-selection-list/dialog-single-selection-list.component.mjs +5 -5
  8. package/esm2022/main/view/components/dialog-two-option/dialog-two-option.component.mjs +5 -5
  9. package/esm2022/public_api.mjs +2 -2
  10. package/fesm2022/turbogui-angular.mjs +93 -88
  11. package/fesm2022/turbogui-angular.mjs.map +1 -1
  12. package/main/controller/dialog.service.d.ts +41 -21
  13. package/main/controller/dialog.service.d.ts.map +1 -1
  14. package/main/view/components/dialog-base/dialog-base.component.d.ts +14 -0
  15. package/main/view/components/dialog-base/dialog-base.component.d.ts.map +1 -1
  16. package/main/view/components/dialog-date-selection/dialog-date-selection.component.d.ts +4 -4
  17. package/main/view/components/dialog-date-selection/dialog-date-selection.component.d.ts.map +1 -1
  18. package/main/view/components/dialog-error/dialog-error.component.d.ts +4 -4
  19. package/main/view/components/dialog-error/dialog-error.component.d.ts.map +1 -1
  20. package/main/view/components/dialog-multiple-option/dialog-multiple-option.component.d.ts +4 -4
  21. package/main/view/components/dialog-multiple-option/dialog-multiple-option.component.d.ts.map +1 -1
  22. package/main/view/components/dialog-single-option/dialog-single-option.component.d.ts +4 -4
  23. package/main/view/components/dialog-single-option/dialog-single-option.component.d.ts.map +1 -1
  24. package/main/view/components/dialog-single-selection-list/dialog-single-selection-list.component.d.ts +4 -4
  25. package/main/view/components/dialog-single-selection-list/dialog-single-selection-list.component.d.ts.map +1 -1
  26. package/main/view/components/dialog-two-option/dialog-two-option.component.d.ts +4 -4
  27. package/main/view/components/dialog-two-option/dialog-two-option.component.d.ts.map +1 -1
  28. package/package.json +1 -1
  29. package/public_api.d.ts +1 -1
  30. package/public_api.d.ts.map +1 -1
  31. package/esm2022/main/view/components/dialog-options-base/dialog-options-base.component.mjs +0 -15
  32. package/main/view/components/dialog-options-base/dialog-options-base.component.d.ts +0 -15
  33. package/main/view/components/dialog-options-base/dialog-options-base.component.d.ts.map +0 -1
@@ -99,20 +99,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
99
99
  * This is the base class for all the dialog components that can be loaded by the dialog service class
100
100
  */
101
101
  class DialogBaseComponent {
102
- }
103
-
104
- /**
105
- * TurboGUI is A library that helps with the most common and generic UI elements and functionalities
106
- *
107
- * Website : -> http://www.turbogui.org
108
- * License : -> Licensed under the Apache License, Version 2.0. You may not use this file except in compliance with the License.
109
- * License Url : -> http://www.apache.org/licenses/LICENSE-2.0
110
- * CopyRight : -> Copyright 2018 Edertone Advanded Solutions. https://www.edertone.com
111
- */
112
- /**
113
- * This is the base class for all the dialog components that show one or more options for the user to select
114
- */
115
- class DialogOptionsBaseComponent extends DialogBaseComponent {
102
+ /**
103
+ * Method to be called by the dialogs that extend this base component when they want to close themselves.
104
+ * It will perform the close of that dialog and also send an object to the addDialog() callback with the index and value
105
+ * that the user may have selected.
106
+ *
107
+ * @param dialogRef The reference to the dialogRef object that is available at the extended dialog component. It is
108
+ * required to perform the closing operation
109
+ * @param index The numeric index of the user option selection. It will be specific for each dialog and it's different available options
110
+ * @param value Any value that may be provided to the callback regarding the user selected option.
111
+ *
112
+ * @return void
113
+ */
114
+ closeDialog(dialogRef, index, value = null) {
115
+ dialogRef.close({ index: index, value: value });
116
+ }
116
117
  }
117
118
 
118
119
  /**
@@ -126,27 +127,18 @@ class DialogOptionsBaseComponent extends DialogBaseComponent {
126
127
  /**
127
128
  * A dialog component with a calendar that allows us to select a single date value
128
129
  */
129
- class DialogDateSelectionComponent extends DialogOptionsBaseComponent {
130
+ class DialogDateSelectionComponent extends DialogBaseComponent {
130
131
  constructor(dialogRef, data) {
131
132
  super();
132
133
  this.dialogRef = dialogRef;
133
134
  this.data = data;
134
- // if (data.texts.length < 1) {
135
- //
136
- // throw new Error('DialogErrorComponent expects 2 texts: The title and optionally a description');
137
- // }
138
- //
139
- // if (data.options.length !== 1) {
140
- //
141
- // throw new Error('DialogErrorComponent expects only one option');
142
- // }
143
135
  }
144
136
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: DialogDateSelectionComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
145
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: DialogDateSelectionComponent, selector: "tg-dialog-date-selection", usesInheritance: true, ngImport: i0, template: "<h2>{{data.texts[0]}}</h2>\r\n\r\n<mat-calendar #calendar\r\n (selectedChange)=\"dialogRef.close({index: 0, value: $event})\">\r\n</mat-calendar>", styles: [":host{position:relative;min-height:300px}h1{margin-top:0;margin-bottom:25px;width:82%}\n"], dependencies: [{ kind: "component", type: i2.MatCalendar, selector: "mat-calendar", inputs: ["headerComponent", "startAt", "startView", "selected", "minDate", "maxDate", "dateFilter", "dateClass", "comparisonStart", "comparisonEnd", "startDateAccessibleName", "endDateAccessibleName"], outputs: ["selectedChange", "yearSelected", "monthSelected", "viewChanged", "_userSelection", "_userDragDrop"], exportAs: ["matCalendar"] }] }); }
137
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: DialogDateSelectionComponent, selector: "tg-dialog-date-selection", usesInheritance: true, ngImport: i0, template: "<h2>{{data.texts[0]}}</h2>\r\n\r\n<mat-calendar #calendar\r\n (selectedChange)=\"closeDialog(dialogRef, 0, $event)\">\r\n</mat-calendar>", styles: [":host{position:relative;min-height:300px}h1{margin-top:0;margin-bottom:25px;width:82%}\n"], dependencies: [{ kind: "component", type: i2.MatCalendar, selector: "mat-calendar", inputs: ["headerComponent", "startAt", "startView", "selected", "minDate", "maxDate", "dateFilter", "dateClass", "comparisonStart", "comparisonEnd", "startDateAccessibleName", "endDateAccessibleName"], outputs: ["selectedChange", "yearSelected", "monthSelected", "viewChanged", "_userSelection", "_userDragDrop"], exportAs: ["matCalendar"] }] }); }
146
138
  }
147
139
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: DialogDateSelectionComponent, decorators: [{
148
140
  type: Component,
149
- args: [{ selector: 'tg-dialog-date-selection', template: "<h2>{{data.texts[0]}}</h2>\r\n\r\n<mat-calendar #calendar\r\n (selectedChange)=\"dialogRef.close({index: 0, value: $event})\">\r\n</mat-calendar>", styles: [":host{position:relative;min-height:300px}h1{margin-top:0;margin-bottom:25px;width:82%}\n"] }]
141
+ args: [{ selector: 'tg-dialog-date-selection', template: "<h2>{{data.texts[0]}}</h2>\r\n\r\n<mat-calendar #calendar\r\n (selectedChange)=\"closeDialog(dialogRef, 0, $event)\">\r\n</mat-calendar>", styles: [":host{position:relative;min-height:300px}h1{margin-top:0;margin-bottom:25px;width:82%}\n"] }]
150
142
  }], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
151
143
  type: Inject,
152
144
  args: [MAT_DIALOG_DATA]
@@ -362,35 +354,34 @@ class DialogService {
362
354
  }
363
355
  /**
364
356
  * Show a dialog with one or more options that can be used to close it. We can use any of the predefined dialog types that are bundled with
365
- * this library or extend DialogOptionsBaseComponent to create our own custom ones.
357
+ * this library or extend DialogBaseComponent to create our own custom ones.
358
+ *
359
+ * @param dialogComponentClass A class for a component that extends DialogBaseComponent, which will be the dialog that is shown to the user.
360
+ * @param properties An object containing the different visual and textual options that this dialog allows:
361
+ * - width: Specify the css value for the default dialog width. As the dialog is responsive, the value will be automatically
362
+ * reduced if the available screen is not enough, and will reach the desired value otherwise. We can set any css unit like pixels,
363
+ * %, vh, vw, or any other. For example: '400px', '50%', etc.
364
+ * - maxWidth: Defines the maximum width that the dialog will have regarding the viewport. We can specify it in % or vw, just like is done in
365
+ * css. By default it is defined as 96vw, which will fit 96% of the viewport on small devices
366
+ * - height: TODO docs
367
+ * - maxHeight: TODO docs
368
+ * - modal: True (default) if selecting an option is mandatory to close the dialog, false if the dialog can be closed
369
+ * by the user clicking outside it
370
+ * - texts: A list with strings containing the dialog texts, sorted by importance. When dialog has a title, this should
371
+ * be placed first, subtitle second and so (Each dialog may accept different number of texts).
372
+ * - options: A list of strings that will be used as button captions for each one of the accepted dialog options
366
373
  *
367
- * @param width Specify the css value for the maximum width the dialog will have. As the dialog is responsive, the value will be automatically
368
- reduced if the available screen is not enough, and will reach the desired value otherwise. Note that height will be adapted to the contents
369
- of the dialog and cannot be specified here. We can set a pixels, % or any other css accepted value. For example: '400px', '50%', etc.
370
- * @param texts A list with strings containing the dialog texts, sorted by importance. When dialog has a title, this should
371
- * be placed first, subtitle second and so (Each dialog may accept different number of texts).
372
- * @param options A list of strings that will be used as button captions for each one of the accepted dialog options
373
- * @param dialogComponentClass A class for a component that extends DialogOptionsBaseComponent, which will be the
374
- * dialog visual element that is shown to the user.
375
- * @param callback A function that will be called after the dialog is closed and will receive an object with the numeric index and value for
376
- * the option that's been selected by the user. if no option was selected, the value will be -1
377
- * @param modal True (default) if selecting an option is mandatory to close the dialog, false if the dialog can be closed
378
- * by the user by clicking outside it
379
- * @param maxWidth Defines the maximum width that the dialog will have regarding the viewport. We can specify it in % or vw, just like is done in
380
- * css. By default it is defined as 96vw, which will fit 96% of the viewport on small devices
374
+ * @param callback A function that will be called after the dialog is closed and will receive a selection object with the numeric index and value for
375
+ * the option that's been selected by the user. if no option was selected, index will be -1 and value null
381
376
  */
382
377
  addDialog(dialogComponentClass, properties, callback = null) {
383
378
  if (!this._isEnabled) {
384
379
  return;
385
380
  }
386
- // Set the default values for all non specified properties
387
- properties.width = properties.hasOwnProperty('width') ? properties.width : "50%";
388
- properties.maxWidth = properties.hasOwnProperty('maxWidth') ? properties.maxWidth : "96vw";
389
- properties.height = properties.hasOwnProperty('height') ? properties.height : "50%";
390
- properties.maxHeight = properties.hasOwnProperty('maxHeight') ? properties.maxHeight : "92vw";
391
- properties.modal = properties.hasOwnProperty('modal') ? properties.modal : true;
392
- properties.texts = properties.hasOwnProperty('texts') ? properties.texts : [];
393
- properties.options = properties.hasOwnProperty('options') ? properties.options : [];
381
+ // Set the default values for non specified properties
382
+ properties.modal = properties.modal ?? true;
383
+ properties.texts = properties.texts ?? [];
384
+ properties.options = properties.options ?? [];
394
385
  // Generate a string to uniquely identify this dialog on the list of active dialogs
395
386
  const dialogHash = properties.texts.join('') + properties.options.join('') + dialogComponentClass.name;
396
387
  // identical dialogs won't be allowed at the same time
@@ -398,8 +389,8 @@ class DialogService {
398
389
  return;
399
390
  }
400
391
  const dialogRef = this.matDialog.open(dialogComponentClass, {
401
- width: properties.width,
402
- maxWidth: properties.maxWidth,
392
+ width: properties.width ?? "50%",
393
+ maxWidth: properties.maxWidth ?? "96vw",
403
394
  disableClose: properties.modal,
404
395
  autoFocus: false,
405
396
  closeOnNavigation: !properties.modal,
@@ -407,22 +398,20 @@ class DialogService {
407
398
  });
408
399
  this._activeDialogs.push(dialogHash);
409
400
  this._activeDialogInstances.push(dialogRef);
410
- dialogRef.beforeClosed().subscribe((selectedOption) => {
401
+ dialogRef.beforeClosed().subscribe((selection) => {
411
402
  this._activeDialogs = ArrayUtils.removeElement(this._activeDialogs, dialogHash);
412
403
  this._activeDialogInstances = ArrayUtils.removeElement(this._activeDialogInstances, dialogRef);
413
- if (!NumericUtils.isInteger(selectedOption.index)) {
414
- if (properties.modal) {
415
- throw new Error(`dialogRef.close() expects int value`);
416
- }
417
- else {
418
- selectedOption.index = -1;
419
- }
404
+ if (!properties.modal && selection === undefined) {
405
+ selection = { index: -1 };
406
+ }
407
+ else if (!NumericUtils.isInteger(selection.index)) {
408
+ throw new Error(`closeDialog() expects index to be an integer`);
420
409
  }
421
410
  if (callback !== null) {
422
- if (selectedOption.index >= 0) {
423
- selectedOption.value = properties.options[selectedOption.index];
411
+ if (selection.index >= 0 && selection.value === null) {
412
+ selection.value = properties.options[selection.index];
424
413
  }
425
- callback(selectedOption);
414
+ callback(selection);
426
415
  }
427
416
  });
428
417
  }
@@ -436,24 +425,40 @@ class DialogService {
436
425
  return;
437
426
  }
438
427
  for (const dialogRef of this._activeDialogInstances) {
439
- dialogRef.close(-1);
428
+ dialogRef.close({ index: -1 });
440
429
  }
441
430
  this._activeDialogs = [];
442
431
  this._activeDialogInstances = [];
443
432
  }
444
- addDateSelectionDialog(properties, title, callback) {
433
+ /**
434
+ * Show a dialog with a calendar to let the user pick a date.
435
+ *
436
+ * @param properties An object containing the different visual and textual options that this dialog allows:
437
+ * - width: Specify the css value for the default dialog width. As the dialog is responsive, the value will be automatically
438
+ * reduced if the available screen is not enough, and will reach the desired value otherwise. We can set any css unit like pixels,
439
+ * %, vh, vw, or any other. For example: '400px', '50%', etc.
440
+ * - maxWidth: Defines the maximum width that the dialog will have regarding the viewport. We can specify it in % or vw, just like is done in
441
+ * css. By default it is defined as 96vw, which will fit 96% of the viewport on small devices
442
+ * - height: TODO docs
443
+ * - maxHeight: TODO docs
444
+ * - modal: True (default) if selecting an option is mandatory to close the dialog, false if the dialog can be closed
445
+ * by the user clicking outside it
446
+ * - title: An optional dialog title
447
+ * @param callback A function to be called after the dialog is closed. It will receive a Date() object selected by the user or null if no selection happened
448
+ */
449
+ addDateSelectionDialog(properties, callback) {
445
450
  if (!this._isEnabled) {
446
451
  return;
447
452
  }
448
453
  this.addDialog(DialogDateSelectionComponent, {
449
- width: properties.width,
450
- maxWidth: properties.maxWidth,
451
- height: properties.height,
452
- maxHeight: properties.maxHeight,
453
- modal: properties.modal,
454
- texts: [title]
455
- }, (selectedOption) => {
456
- callback(selectedOption.value);
454
+ width: properties.width ?? "50%",
455
+ maxWidth: properties.maxWidth ?? "96vw",
456
+ height: properties.height ?? "50%",
457
+ maxHeight: properties.maxHeight ?? "92vw",
458
+ modal: properties.modal ?? false,
459
+ texts: [properties.title ?? '']
460
+ }, (selection) => {
461
+ callback(selection.index === -1 ? null : selection.value);
457
462
  });
458
463
  }
459
464
  /**
@@ -524,7 +529,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
524
529
  /**
525
530
  * A dialog component with a single option button, to be used for error notifications
526
531
  */
527
- class DialogErrorComponent extends DialogOptionsBaseComponent {
532
+ class DialogErrorComponent extends DialogBaseComponent {
528
533
  constructor(dialogRef, data) {
529
534
  super();
530
535
  this.dialogRef = dialogRef;
@@ -537,11 +542,11 @@ class DialogErrorComponent extends DialogOptionsBaseComponent {
537
542
  }
538
543
  }
539
544
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: DialogErrorComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
540
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: DialogErrorComponent, selector: "tg-dialog-error", usesInheritance: true, ngImport: i0, template: "<div class=\"titleAndIconContainer\">\r\n <h3>\r\n {{data.texts[0]}}\r\n </h3>\r\n \r\n <!-- error icon -->\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\">\r\n <path d=\"M0 0h24v24H0z\" fill=\"none\"/>\r\n <path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z\" fill=\"#ff0000\" />\r\n </svg>\r\n \r\n</div>\r\n\r\n<p *ngIf=\"data.texts.length > 1\">\r\n {{data.texts[1]}}\r\n</p>\r\n\r\n<button mat-raised-button color=\"warn\"\r\n (click)=\"dialogRef.close(0)\">\r\n \r\n {{data.options[0]}}\r\n \r\n</button>", styles: [":host{position:relative;min-height:300px}.titleAndIconContainer{display:flex;flex-direction:row;align-items:center}h3{margin-top:0;margin-bottom:25px;width:82%}svg{width:18%;height:auto}p{margin-bottom:52px}button{float:right;width:50%;min-width:50px}\n"], dependencies: [{ kind: "component", type: i2$1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
545
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: DialogErrorComponent, selector: "tg-dialog-error", usesInheritance: true, ngImport: i0, template: "<div class=\"titleAndIconContainer\">\r\n <h3>\r\n {{data.texts[0]}}\r\n </h3>\r\n \r\n <!-- error icon -->\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\">\r\n <path d=\"M0 0h24v24H0z\" fill=\"none\"/>\r\n <path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z\" fill=\"#ff0000\" />\r\n </svg>\r\n \r\n</div>\r\n\r\n<p *ngIf=\"data.texts.length > 1\">\r\n {{data.texts[1]}}\r\n</p>\r\n\r\n<button mat-raised-button color=\"warn\"\r\n (click)=\"closeDialog(dialogRef, 0)\">\r\n \r\n {{data.options[0]}}\r\n \r\n</button>", styles: [":host{position:relative;min-height:300px}.titleAndIconContainer{display:flex;flex-direction:row;align-items:center}h3{margin-top:0;margin-bottom:25px;width:82%}svg{width:18%;height:auto}p{margin-bottom:52px}button{float:right;width:50%;min-width:50px}\n"], dependencies: [{ kind: "component", type: i2$1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
541
546
  }
542
547
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: DialogErrorComponent, decorators: [{
543
548
  type: Component,
544
- args: [{ selector: 'tg-dialog-error', template: "<div class=\"titleAndIconContainer\">\r\n <h3>\r\n {{data.texts[0]}}\r\n </h3>\r\n \r\n <!-- error icon -->\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\">\r\n <path d=\"M0 0h24v24H0z\" fill=\"none\"/>\r\n <path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z\" fill=\"#ff0000\" />\r\n </svg>\r\n \r\n</div>\r\n\r\n<p *ngIf=\"data.texts.length > 1\">\r\n {{data.texts[1]}}\r\n</p>\r\n\r\n<button mat-raised-button color=\"warn\"\r\n (click)=\"dialogRef.close(0)\">\r\n \r\n {{data.options[0]}}\r\n \r\n</button>", styles: [":host{position:relative;min-height:300px}.titleAndIconContainer{display:flex;flex-direction:row;align-items:center}h3{margin-top:0;margin-bottom:25px;width:82%}svg{width:18%;height:auto}p{margin-bottom:52px}button{float:right;width:50%;min-width:50px}\n"] }]
549
+ args: [{ selector: 'tg-dialog-error', template: "<div class=\"titleAndIconContainer\">\r\n <h3>\r\n {{data.texts[0]}}\r\n </h3>\r\n \r\n <!-- error icon -->\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\">\r\n <path d=\"M0 0h24v24H0z\" fill=\"none\"/>\r\n <path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z\" fill=\"#ff0000\" />\r\n </svg>\r\n \r\n</div>\r\n\r\n<p *ngIf=\"data.texts.length > 1\">\r\n {{data.texts[1]}}\r\n</p>\r\n\r\n<button mat-raised-button color=\"warn\"\r\n (click)=\"closeDialog(dialogRef, 0)\">\r\n \r\n {{data.options[0]}}\r\n \r\n</button>", styles: [":host{position:relative;min-height:300px}.titleAndIconContainer{display:flex;flex-direction:row;align-items:center}h3{margin-top:0;margin-bottom:25px;width:82%}svg{width:18%;height:auto}p{margin-bottom:52px}button{float:right;width:50%;min-width:50px}\n"] }]
545
550
  }], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
546
551
  type: Inject,
547
552
  args: [MAT_DIALOG_DATA]
@@ -1241,7 +1246,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
1241
1246
  /**
1242
1247
  * A dialog component with a single option button, to be used with dialog service
1243
1248
  */
1244
- class DialogSingleOptionComponent extends DialogOptionsBaseComponent {
1249
+ class DialogSingleOptionComponent extends DialogBaseComponent {
1245
1250
  constructor(dialogRef, data) {
1246
1251
  super();
1247
1252
  this.dialogRef = dialogRef;
@@ -1254,11 +1259,11 @@ class DialogSingleOptionComponent extends DialogOptionsBaseComponent {
1254
1259
  }
1255
1260
  }
1256
1261
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: DialogSingleOptionComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
1257
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: DialogSingleOptionComponent, selector: "tg-dialog-single-option", usesInheritance: true, ngImport: i0, template: "<h3>\r\n {{data.texts[0]}}\r\n</h3>\r\n\r\n<p *ngIf=\"data.texts.length > 1\">\r\n {{data.texts[1]}}\r\n</p>\r\n\r\n<button mat-raised-button color=\"primary\"\r\n (click)=\"dialogRef.close(0)\">\r\n \r\n {{data.options[0]}}\r\n \r\n</button>", styles: [":host{min-height:300px}h3{margin-bottom:25px}p{margin-bottom:52px}button{float:right}\n"], dependencies: [{ kind: "component", type: i2$1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
1262
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: DialogSingleOptionComponent, selector: "tg-dialog-single-option", usesInheritance: true, ngImport: i0, template: "<h3>\r\n {{data.texts[0]}}\r\n</h3>\r\n\r\n<p *ngIf=\"data.texts.length > 1\">\r\n {{data.texts[1]}}\r\n</p>\r\n\r\n<button mat-raised-button color=\"primary\"\r\n (click)=\"closeDialog(dialogRef, 0)\">\r\n \r\n {{data.options[0]}}\r\n \r\n</button>", styles: [":host{min-height:300px}h3{margin-bottom:25px}p{margin-bottom:52px}button{float:right}\n"], dependencies: [{ kind: "component", type: i2$1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
1258
1263
  }
1259
1264
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: DialogSingleOptionComponent, decorators: [{
1260
1265
  type: Component,
1261
- args: [{ selector: 'tg-dialog-single-option', template: "<h3>\r\n {{data.texts[0]}}\r\n</h3>\r\n\r\n<p *ngIf=\"data.texts.length > 1\">\r\n {{data.texts[1]}}\r\n</p>\r\n\r\n<button mat-raised-button color=\"primary\"\r\n (click)=\"dialogRef.close(0)\">\r\n \r\n {{data.options[0]}}\r\n \r\n</button>", styles: [":host{min-height:300px}h3{margin-bottom:25px}p{margin-bottom:52px}button{float:right}\n"] }]
1266
+ args: [{ selector: 'tg-dialog-single-option', template: "<h3>\r\n {{data.texts[0]}}\r\n</h3>\r\n\r\n<p *ngIf=\"data.texts.length > 1\">\r\n {{data.texts[1]}}\r\n</p>\r\n\r\n<button mat-raised-button color=\"primary\"\r\n (click)=\"closeDialog(dialogRef, 0)\">\r\n \r\n {{data.options[0]}}\r\n \r\n</button>", styles: [":host{min-height:300px}h3{margin-bottom:25px}p{margin-bottom:52px}button{float:right}\n"] }]
1262
1267
  }], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
1263
1268
  type: Inject,
1264
1269
  args: [MAT_DIALOG_DATA]
@@ -1276,7 +1281,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
1276
1281
  * A dialog component with two option buttons, to be used with dialog service.
1277
1282
  * The first of the options is considered to be the primary one and will therefore have more visual accent
1278
1283
  */
1279
- class DialogTwoOptionComponent extends DialogOptionsBaseComponent {
1284
+ class DialogTwoOptionComponent extends DialogBaseComponent {
1280
1285
  constructor(dialogRef, data) {
1281
1286
  super();
1282
1287
  this.dialogRef = dialogRef;
@@ -1289,11 +1294,11 @@ class DialogTwoOptionComponent extends DialogOptionsBaseComponent {
1289
1294
  }
1290
1295
  }
1291
1296
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: DialogTwoOptionComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
1292
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: DialogTwoOptionComponent, selector: "tg-dialog-two-option", usesInheritance: true, ngImport: i0, template: "<h3>\r\n {{data.texts[0]}}\r\n</h3>\r\n\r\n<p *ngIf=\"data.texts.length > 1\">\r\n {{data.texts[1]}}\r\n</p>\r\n\r\n<div class=\"buttonsContainer\">\r\n\r\n <button mat-raised-button color=\"primary\" class=\"primaryButton\"\r\n (click)=\"dialogRef.close(0)\">\r\n \r\n {{data.options[0]}}\r\n \r\n </button>\r\n \r\n <button mat-button\r\n (click)=\"dialogRef.close(1)\">\r\n \r\n {{data.options[1]}}\r\n \r\n </button>\r\n \r\n</div>\r\n", styles: [":host{min-height:300px}h3{margin-bottom:25px}p{margin-bottom:52px}.buttonsContainer{width:100%;max-width:530px;display:flex;flex-direction:row-reverse;float:right}button{width:50%;padding:0}.primaryButton{margin-left:2%}\n"], dependencies: [{ kind: "component", type: i2$1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
1297
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: DialogTwoOptionComponent, selector: "tg-dialog-two-option", usesInheritance: true, ngImport: i0, template: "<h3>\r\n {{data.texts[0]}}\r\n</h3>\r\n\r\n<p *ngIf=\"data.texts.length > 1\">\r\n {{data.texts[1]}}\r\n</p>\r\n\r\n<div class=\"buttonsContainer\">\r\n\r\n <button mat-raised-button color=\"primary\" class=\"primaryButton\"\r\n (click)=\"closeDialog(dialogRef, 0)\">\r\n \r\n {{data.options[0]}}\r\n \r\n </button>\r\n \r\n <button mat-button\r\n (click)=\"closeDialog(dialogRef, 1)\">\r\n \r\n {{data.options[1]}}\r\n \r\n </button>\r\n \r\n</div>\r\n", styles: [":host{min-height:300px}h3{margin-bottom:25px}p{margin-bottom:52px}.buttonsContainer{width:100%;max-width:530px;display:flex;flex-direction:row-reverse;float:right}button{width:50%;padding:0}.primaryButton{margin-left:2%}\n"], dependencies: [{ kind: "component", type: i2$1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
1293
1298
  }
1294
1299
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: DialogTwoOptionComponent, decorators: [{
1295
1300
  type: Component,
1296
- args: [{ selector: 'tg-dialog-two-option', template: "<h3>\r\n {{data.texts[0]}}\r\n</h3>\r\n\r\n<p *ngIf=\"data.texts.length > 1\">\r\n {{data.texts[1]}}\r\n</p>\r\n\r\n<div class=\"buttonsContainer\">\r\n\r\n <button mat-raised-button color=\"primary\" class=\"primaryButton\"\r\n (click)=\"dialogRef.close(0)\">\r\n \r\n {{data.options[0]}}\r\n \r\n </button>\r\n \r\n <button mat-button\r\n (click)=\"dialogRef.close(1)\">\r\n \r\n {{data.options[1]}}\r\n \r\n </button>\r\n \r\n</div>\r\n", styles: [":host{min-height:300px}h3{margin-bottom:25px}p{margin-bottom:52px}.buttonsContainer{width:100%;max-width:530px;display:flex;flex-direction:row-reverse;float:right}button{width:50%;padding:0}.primaryButton{margin-left:2%}\n"] }]
1301
+ args: [{ selector: 'tg-dialog-two-option', template: "<h3>\r\n {{data.texts[0]}}\r\n</h3>\r\n\r\n<p *ngIf=\"data.texts.length > 1\">\r\n {{data.texts[1]}}\r\n</p>\r\n\r\n<div class=\"buttonsContainer\">\r\n\r\n <button mat-raised-button color=\"primary\" class=\"primaryButton\"\r\n (click)=\"closeDialog(dialogRef, 0)\">\r\n \r\n {{data.options[0]}}\r\n \r\n </button>\r\n \r\n <button mat-button\r\n (click)=\"closeDialog(dialogRef, 1)\">\r\n \r\n {{data.options[1]}}\r\n \r\n </button>\r\n \r\n</div>\r\n", styles: [":host{min-height:300px}h3{margin-bottom:25px}p{margin-bottom:52px}.buttonsContainer{width:100%;max-width:530px;display:flex;flex-direction:row-reverse;float:right}button{width:50%;padding:0}.primaryButton{margin-left:2%}\n"] }]
1297
1302
  }], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
1298
1303
  type: Inject,
1299
1304
  args: [MAT_DIALOG_DATA]
@@ -1400,7 +1405,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
1400
1405
  *
1401
1406
  * options parameter must contain the list of elements that will be displayed to the user
1402
1407
  */
1403
- class DialogSingleSelectionListComponent extends DialogOptionsBaseComponent {
1408
+ class DialogSingleSelectionListComponent extends DialogBaseComponent {
1404
1409
  constructor(dialogRef, browserService, data) {
1405
1410
  super();
1406
1411
  this.dialogRef = dialogRef;
@@ -1470,11 +1475,11 @@ class DialogSingleSelectionListComponent extends DialogOptionsBaseComponent {
1470
1475
  }
1471
1476
  }
1472
1477
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: DialogSingleSelectionListComponent, deps: [{ token: i1.MatDialogRef }, { token: BrowserService }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
1473
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: DialogSingleSelectionListComponent, selector: "tg-dialog-single-selection-list", usesInheritance: true, ngImport: i0, template: "<h3>\r\n {{data.texts[0]}}\r\n</h3>\r\n\r\n<p *ngIf=\"data.texts.length > 1 &amp;&amp; !stringUtils.isEmpty(data.texts[1])\">\r\n {{data.texts[1]}}\r\n</p>\r\n\r\n<mat-form-field *ngIf=\"data.texts.length > 2 &amp;&amp; !stringUtils.isEmpty(data.texts[2])\"\r\n class=\"searchItemInputContainer\">\r\n \r\n <mat-label>{{data.texts[2]}}</mat-label>\r\n <input matInput autoFocusOnDisplay\r\n (input)=\"onSearchChange($event.target)\">\r\n \r\n</mat-form-field>\r\n\r\n<div class=\"listItemsContainer\"\r\n [style.max-height]=\"getListItemsContainerMaxheight()\">\r\n\r\n <div class=\"listItemContainer\"\r\n [style.background-color]=\"selectedItemIndex === i ? '#90d1ffad' : (i % 2 === 0 ? 'initial' : '#00000009')\"\r\n *ngFor=\"let item of filteredOptions; let i = index; trackBy: trackByFn\"\r\n (click)=\"data.texts.length < 4 ? dialogRef.close(i) : selectedItemIndex = i\">\r\n \r\n <p *ngIf=\"item !== ''\">\r\n {{item}}\r\n </p>\r\n \r\n </div>\r\n\r\n</div>\r\n\r\n<button mat-raised-button color=\"primary\"\r\n [disabled]=\"selectedItemIndex < 0\"\r\n (click)=\"dialogRef.close(selectedItemIndex)\"\r\n *ngIf=\"data.texts.length > 3\">\r\n\r\n {{data.texts[3]}}\r\n \r\n</button>", styles: [":host{min-height:300px}h3{margin-top:0;margin-bottom:10px}p{margin-top:0;margin-bottom:5px}.searchItemInputContainer{width:100%;margin-top:0;margin-bottom:0}.listItemsContainer{overflow-y:auto;border:1px solid rgba(0,0,0,.2);border-radius:4px;margin-bottom:5px}.listItemContainer p{line-height:36px;width:calc(100% - 12px);margin:0 0 0 6px}button{float:right}\n"], dependencies: [{ kind: "directive", type: i3$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i2$1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: AutoFocusOnDisplayDirective, selector: "[autoFocusOnDisplay]" }] }); }
1478
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: DialogSingleSelectionListComponent, selector: "tg-dialog-single-selection-list", usesInheritance: true, ngImport: i0, template: "<h3>\r\n {{data.texts[0]}}\r\n</h3>\r\n\r\n<p *ngIf=\"data.texts.length > 1 &amp;&amp; !stringUtils.isEmpty(data.texts[1])\">\r\n {{data.texts[1]}}\r\n</p>\r\n\r\n<mat-form-field *ngIf=\"data.texts.length > 2 &amp;&amp; !stringUtils.isEmpty(data.texts[2])\"\r\n class=\"searchItemInputContainer\">\r\n \r\n <mat-label>{{data.texts[2]}}</mat-label>\r\n <input matInput autoFocusOnDisplay\r\n (input)=\"onSearchChange($event.target)\">\r\n \r\n</mat-form-field>\r\n\r\n<div class=\"listItemsContainer\"\r\n [style.max-height]=\"getListItemsContainerMaxheight()\">\r\n\r\n <div class=\"listItemContainer\"\r\n [style.background-color]=\"selectedItemIndex === i ? '#90d1ffad' : (i % 2 === 0 ? 'initial' : '#00000009')\"\r\n *ngFor=\"let item of filteredOptions; let i = index; trackBy: trackByFn\"\r\n (click)=\"data.texts.length < 4 ? closeDialog(dialogRef, i) : selectedItemIndex = i\">\r\n \r\n <p *ngIf=\"item !== ''\">\r\n {{item}}\r\n </p>\r\n \r\n </div>\r\n\r\n</div>\r\n\r\n<button mat-raised-button color=\"primary\"\r\n [disabled]=\"selectedItemIndex < 0\"\r\n (click)=\"closeDialog(dialogRef, selectedItemIndex)\"\r\n *ngIf=\"data.texts.length > 3\">\r\n\r\n {{data.texts[3]}}\r\n \r\n</button>", styles: [":host{min-height:300px}h3{margin-top:0;margin-bottom:10px}p{margin-top:0;margin-bottom:5px}.searchItemInputContainer{width:100%;margin-top:0;margin-bottom:0}.listItemsContainer{overflow-y:auto;border:1px solid rgba(0,0,0,.2);border-radius:4px;margin-bottom:5px}.listItemContainer p{line-height:36px;width:calc(100% - 12px);margin:0 0 0 6px}button{float:right}\n"], dependencies: [{ kind: "directive", type: i3$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i2$1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: AutoFocusOnDisplayDirective, selector: "[autoFocusOnDisplay]" }] }); }
1474
1479
  }
1475
1480
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: DialogSingleSelectionListComponent, decorators: [{
1476
1481
  type: Component,
1477
- args: [{ selector: 'tg-dialog-single-selection-list', template: "<h3>\r\n {{data.texts[0]}}\r\n</h3>\r\n\r\n<p *ngIf=\"data.texts.length > 1 &amp;&amp; !stringUtils.isEmpty(data.texts[1])\">\r\n {{data.texts[1]}}\r\n</p>\r\n\r\n<mat-form-field *ngIf=\"data.texts.length > 2 &amp;&amp; !stringUtils.isEmpty(data.texts[2])\"\r\n class=\"searchItemInputContainer\">\r\n \r\n <mat-label>{{data.texts[2]}}</mat-label>\r\n <input matInput autoFocusOnDisplay\r\n (input)=\"onSearchChange($event.target)\">\r\n \r\n</mat-form-field>\r\n\r\n<div class=\"listItemsContainer\"\r\n [style.max-height]=\"getListItemsContainerMaxheight()\">\r\n\r\n <div class=\"listItemContainer\"\r\n [style.background-color]=\"selectedItemIndex === i ? '#90d1ffad' : (i % 2 === 0 ? 'initial' : '#00000009')\"\r\n *ngFor=\"let item of filteredOptions; let i = index; trackBy: trackByFn\"\r\n (click)=\"data.texts.length < 4 ? dialogRef.close(i) : selectedItemIndex = i\">\r\n \r\n <p *ngIf=\"item !== ''\">\r\n {{item}}\r\n </p>\r\n \r\n </div>\r\n\r\n</div>\r\n\r\n<button mat-raised-button color=\"primary\"\r\n [disabled]=\"selectedItemIndex < 0\"\r\n (click)=\"dialogRef.close(selectedItemIndex)\"\r\n *ngIf=\"data.texts.length > 3\">\r\n\r\n {{data.texts[3]}}\r\n \r\n</button>", styles: [":host{min-height:300px}h3{margin-top:0;margin-bottom:10px}p{margin-top:0;margin-bottom:5px}.searchItemInputContainer{width:100%;margin-top:0;margin-bottom:0}.listItemsContainer{overflow-y:auto;border:1px solid rgba(0,0,0,.2);border-radius:4px;margin-bottom:5px}.listItemContainer p{line-height:36px;width:calc(100% - 12px);margin:0 0 0 6px}button{float:right}\n"] }]
1482
+ args: [{ selector: 'tg-dialog-single-selection-list', template: "<h3>\r\n {{data.texts[0]}}\r\n</h3>\r\n\r\n<p *ngIf=\"data.texts.length > 1 &amp;&amp; !stringUtils.isEmpty(data.texts[1])\">\r\n {{data.texts[1]}}\r\n</p>\r\n\r\n<mat-form-field *ngIf=\"data.texts.length > 2 &amp;&amp; !stringUtils.isEmpty(data.texts[2])\"\r\n class=\"searchItemInputContainer\">\r\n \r\n <mat-label>{{data.texts[2]}}</mat-label>\r\n <input matInput autoFocusOnDisplay\r\n (input)=\"onSearchChange($event.target)\">\r\n \r\n</mat-form-field>\r\n\r\n<div class=\"listItemsContainer\"\r\n [style.max-height]=\"getListItemsContainerMaxheight()\">\r\n\r\n <div class=\"listItemContainer\"\r\n [style.background-color]=\"selectedItemIndex === i ? '#90d1ffad' : (i % 2 === 0 ? 'initial' : '#00000009')\"\r\n *ngFor=\"let item of filteredOptions; let i = index; trackBy: trackByFn\"\r\n (click)=\"data.texts.length < 4 ? closeDialog(dialogRef, i) : selectedItemIndex = i\">\r\n \r\n <p *ngIf=\"item !== ''\">\r\n {{item}}\r\n </p>\r\n \r\n </div>\r\n\r\n</div>\r\n\r\n<button mat-raised-button color=\"primary\"\r\n [disabled]=\"selectedItemIndex < 0\"\r\n (click)=\"closeDialog(dialogRef, selectedItemIndex)\"\r\n *ngIf=\"data.texts.length > 3\">\r\n\r\n {{data.texts[3]}}\r\n \r\n</button>", styles: [":host{min-height:300px}h3{margin-top:0;margin-bottom:10px}p{margin-top:0;margin-bottom:5px}.searchItemInputContainer{width:100%;margin-top:0;margin-bottom:0}.listItemsContainer{overflow-y:auto;border:1px solid rgba(0,0,0,.2);border-radius:4px;margin-bottom:5px}.listItemContainer p{line-height:36px;width:calc(100% - 12px);margin:0 0 0 6px}button{float:right}\n"] }]
1478
1483
  }], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: BrowserService }, { type: undefined, decorators: [{
1479
1484
  type: Inject,
1480
1485
  args: [MAT_DIALOG_DATA]
@@ -1491,7 +1496,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
1491
1496
  /**
1492
1497
  * A dialog component that is designed to show more than one option buttons (usually more than two), to be used with dialog service
1493
1498
  */
1494
- class DialogMultipleOptionComponent extends DialogOptionsBaseComponent {
1499
+ class DialogMultipleOptionComponent extends DialogBaseComponent {
1495
1500
  constructor(dialogRef, data) {
1496
1501
  super();
1497
1502
  this.dialogRef = dialogRef;
@@ -1501,11 +1506,11 @@ class DialogMultipleOptionComponent extends DialogOptionsBaseComponent {
1501
1506
  }
1502
1507
  }
1503
1508
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: DialogMultipleOptionComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
1504
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: DialogMultipleOptionComponent, selector: "tg-dialog-multiple-option", usesInheritance: true, ngImport: i0, template: "<h3>\r\n {{data.texts[0]}}\r\n</h3>\r\n\r\n<p *ngIf=\"data.texts.length > 1\">\r\n {{data.texts[1]}}\r\n</p>\r\n\r\n<button mat-raised-button color=\"primary\"\r\n *ngFor=\"let option of data.options; let i = index\"\r\n (click)=\"dialogRef.close(i)\">\r\n \r\n {{option}}\r\n \r\n</button>", styles: [":host{display:flex;flex-direction:column;min-height:193px}h3{margin-bottom:45px}button{margin-bottom:25px}\n"], dependencies: [{ kind: "component", type: i2$1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
1509
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: DialogMultipleOptionComponent, selector: "tg-dialog-multiple-option", usesInheritance: true, ngImport: i0, template: "<h3>\r\n {{data.texts[0]}}\r\n</h3>\r\n\r\n<p *ngIf=\"data.texts.length > 1\">\r\n {{data.texts[1]}}\r\n</p>\r\n\r\n<button mat-raised-button color=\"primary\"\r\n *ngFor=\"let option of data.options; let i = index\"\r\n (click)=\"closeDialog(dialogRef, i)\">\r\n \r\n {{option}}\r\n \r\n</button>", styles: [":host{display:flex;flex-direction:column;min-height:193px}h3{margin-bottom:45px}button{margin-bottom:25px}\n"], dependencies: [{ kind: "component", type: i2$1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
1505
1510
  }
1506
1511
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: DialogMultipleOptionComponent, decorators: [{
1507
1512
  type: Component,
1508
- args: [{ selector: 'tg-dialog-multiple-option', template: "<h3>\r\n {{data.texts[0]}}\r\n</h3>\r\n\r\n<p *ngIf=\"data.texts.length > 1\">\r\n {{data.texts[1]}}\r\n</p>\r\n\r\n<button mat-raised-button color=\"primary\"\r\n *ngFor=\"let option of data.options; let i = index\"\r\n (click)=\"dialogRef.close(i)\">\r\n \r\n {{option}}\r\n \r\n</button>", styles: [":host{display:flex;flex-direction:column;min-height:193px}h3{margin-bottom:45px}button{margin-bottom:25px}\n"] }]
1513
+ args: [{ selector: 'tg-dialog-multiple-option', template: "<h3>\r\n {{data.texts[0]}}\r\n</h3>\r\n\r\n<p *ngIf=\"data.texts.length > 1\">\r\n {{data.texts[1]}}\r\n</p>\r\n\r\n<button mat-raised-button color=\"primary\"\r\n *ngFor=\"let option of data.options; let i = index\"\r\n (click)=\"closeDialog(dialogRef, i)\">\r\n \r\n {{option}}\r\n \r\n</button>", styles: [":host{display:flex;flex-direction:column;min-height:193px}h3{margin-bottom:45px}button{margin-bottom:25px}\n"] }]
1509
1514
  }], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
1510
1515
  type: Inject,
1511
1516
  args: [MAT_DIALOG_DATA]
@@ -2016,5 +2021,5 @@ class DelayedMethodCallManager {
2016
2021
  * Generated bundle index. Do not edit.
2017
2022
  */
2018
2023
 
2019
- export { AutoFocusOnDisplayDirective, AutoSelectTextOnFocusDirective, BrowserService, BusyStateBaseComponent, ButtonContainerComponent, ButtonImageComponent, DelayedMethodCallManager, DialogDateSelectionComponent, DialogErrorComponent, DialogMultipleOptionComponent, DialogOptionsBaseComponent, DialogService, DialogSingleOptionComponent, DialogSingleSelectionListComponent, DialogTwoOptionComponent, ElementCreatedDirective, ElementDestroyedDirective, FadeAnimationClass, GUINotification, GlobalErrorService, HTTPService, HTTPServiceGetRequest, HTTPServicePostRequest, LocalizationService, NotificationService, TurboGuiAngularModule, UserService, View, ViewModel, ViewService, ViewsContainerComponent, ViewsService };
2024
+ export { AutoFocusOnDisplayDirective, AutoSelectTextOnFocusDirective, BrowserService, BusyStateBaseComponent, ButtonContainerComponent, ButtonImageComponent, DelayedMethodCallManager, DialogBaseComponent, DialogDateSelectionComponent, DialogErrorComponent, DialogMultipleOptionComponent, DialogService, DialogSingleOptionComponent, DialogSingleSelectionListComponent, DialogTwoOptionComponent, ElementCreatedDirective, ElementDestroyedDirective, FadeAnimationClass, GUINotification, GlobalErrorService, HTTPService, HTTPServiceGetRequest, HTTPServicePostRequest, LocalizationService, NotificationService, TurboGuiAngularModule, UserService, View, ViewModel, ViewService, ViewsContainerComponent, ViewsService };
2020
2025
  //# sourceMappingURL=turbogui-angular.mjs.map