@seniorsistemas/angular-components 17.1.8 → 17.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/bundles/seniorsistemas-angular-components.umd.js +875 -115
  2. package/bundles/seniorsistemas-angular-components.umd.js.map +1 -1
  3. package/bundles/seniorsistemas-angular-components.umd.min.js +2 -2
  4. package/bundles/seniorsistemas-angular-components.umd.min.js.map +1 -1
  5. package/components/file-upload/file-upload.component.d.ts +7 -2
  6. package/components/file-upload/models/file-upload-permissions.d.ts +6 -0
  7. package/components/file-upload/models/index.d.ts +1 -0
  8. package/components/tiered-menu/components/tiered-menu/tiered-menu.component.d.ts +28 -0
  9. package/components/tiered-menu/components/tiered-menu-divider/tiered-menu-divider.component.d.ts +2 -0
  10. package/components/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.d.ts +14 -0
  11. package/components/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.d.ts +21 -0
  12. package/components/tiered-menu/index.d.ts +3 -0
  13. package/components/tiered-menu/models/index.d.ts +2 -0
  14. package/components/tiered-menu/models/tiered-menu-item-data.d.ts +7 -0
  15. package/components/tiered-menu/models/tiered-menu-item-internal-data.d.ts +10 -0
  16. package/components/tiered-menu/tiered-menu.directive.d.ts +37 -0
  17. package/components/tiered-menu/tiered-menu.event.service.d.ts +18 -0
  18. package/components/tiered-menu/tiered-menu.module.d.ts +2 -0
  19. package/components/tiered-menu/tiered-menu.service.d.ts +10 -0
  20. package/esm2015/components/file-upload/file-upload.component.js +13 -5
  21. package/esm2015/components/file-upload/file-upload.module.js +2 -2
  22. package/esm2015/components/file-upload/models/file-upload-permissions.js +12 -0
  23. package/esm2015/components/file-upload/models/index.js +2 -1
  24. package/esm2015/components/tiered-menu/components/tiered-menu/tiered-menu.component.js +219 -0
  25. package/esm2015/components/tiered-menu/components/tiered-menu-divider/tiered-menu-divider.component.js +13 -0
  26. package/esm2015/components/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.js +68 -0
  27. package/esm2015/components/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.js +131 -0
  28. package/esm2015/components/tiered-menu/index.js +3 -0
  29. package/esm2015/components/tiered-menu/models/index.js +1 -0
  30. package/esm2015/components/tiered-menu/models/tiered-menu-item-data.js +1 -0
  31. package/esm2015/components/tiered-menu/models/tiered-menu-item-internal-data.js +1 -0
  32. package/esm2015/components/tiered-menu/tiered-menu.directive.js +212 -0
  33. package/esm2015/components/tiered-menu/tiered-menu.event.service.js +39 -0
  34. package/esm2015/components/tiered-menu/tiered-menu.module.js +35 -0
  35. package/esm2015/components/tiered-menu/tiered-menu.service.js +39 -0
  36. package/esm2015/components/tooltip/tooltip.directive.js +2 -2
  37. package/esm2015/public-api.js +2 -1
  38. package/esm2015/seniorsistemas-angular-components.js +7 -1
  39. package/esm5/components/file-upload/file-upload.component.js +13 -5
  40. package/esm5/components/file-upload/file-upload.module.js +2 -2
  41. package/esm5/components/file-upload/models/file-upload-permissions.js +12 -0
  42. package/esm5/components/file-upload/models/index.js +2 -1
  43. package/esm5/components/tiered-menu/components/tiered-menu/tiered-menu.component.js +224 -0
  44. package/esm5/components/tiered-menu/components/tiered-menu-divider/tiered-menu-divider.component.js +16 -0
  45. package/esm5/components/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.js +70 -0
  46. package/esm5/components/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.js +133 -0
  47. package/esm5/components/tiered-menu/index.js +3 -0
  48. package/esm5/components/tiered-menu/models/index.js +1 -0
  49. package/esm5/components/tiered-menu/models/tiered-menu-item-data.js +1 -0
  50. package/esm5/components/tiered-menu/models/tiered-menu-item-internal-data.js +1 -0
  51. package/esm5/components/tiered-menu/tiered-menu.directive.js +216 -0
  52. package/esm5/components/tiered-menu/tiered-menu.event.service.js +40 -0
  53. package/esm5/components/tiered-menu/tiered-menu.module.js +38 -0
  54. package/esm5/components/tiered-menu/tiered-menu.service.js +44 -0
  55. package/esm5/components/tooltip/tooltip.directive.js +2 -2
  56. package/esm5/public-api.js +2 -1
  57. package/esm5/seniorsistemas-angular-components.js +7 -1
  58. package/fesm2015/seniorsistemas-angular-components.js +840 -113
  59. package/fesm2015/seniorsistemas-angular-components.js.map +1 -1
  60. package/fesm5/seniorsistemas-angular-components.js +871 -119
  61. package/fesm5/seniorsistemas-angular-components.js.map +1 -1
  62. package/package.json +1 -1
  63. package/public-api.d.ts +1 -0
  64. package/seniorsistemas-angular-components.d.ts +6 -0
  65. package/seniorsistemas-angular-components.metadata.json +1 -1
@@ -8,7 +8,7 @@ import { RouterModule, NavigationEnd, PRIMARY_OUTLET, ActivatedRoute, Router } f
8
8
  import { BreadcrumbModule as BreadcrumbModule$1 } from 'primeng/breadcrumb';
9
9
  import { Subject, of, from, forkJoin, throwError, ReplaySubject } from 'rxjs';
10
10
  import { takeUntil, filter, tap, map, switchMap, catchError, delay, debounceTime, repeat, finalize, take } from 'rxjs/operators';
11
- import { TieredMenu, TieredMenuModule } from 'primeng/tieredmenu';
11
+ import { TieredMenu, TieredMenuModule as TieredMenuModule$1 } from 'primeng/tieredmenu';
12
12
  import { TooltipModule as TooltipModule$1 } from 'primeng/tooltip';
13
13
  import { DomHandler } from 'primeng/dom';
14
14
  import { Calendar, CalendarModule } from 'primeng/calendar';
@@ -39,7 +39,7 @@ import { PanelModule as PanelModule$1 } from 'primeng/panel';
39
39
  import { RadioButtonModule } from 'primeng/radiobutton';
40
40
  import { SliderModule } from 'primeng/slider';
41
41
  import { ProgressBarModule as ProgressBarModule$1 } from 'primeng/progressbar';
42
- import { DomSanitizer } from '@angular/platform-browser';
42
+ import { DomSanitizer, BrowserModule } from '@angular/platform-browser';
43
43
  import Cropper from 'cropperjs';
44
44
  import * as elementResizeDetectorMaker_ from 'element-resize-detector';
45
45
  import { FocusTrapFactory, A11yModule } from '@angular/cdk/a11y';
@@ -509,7 +509,7 @@ let TooltipDirective = class TooltipDirective {
509
509
  }
510
510
  showTooltip() {
511
511
  if (this.componentRef !== null) {
512
- this.componentRef.instance.visible = true;
512
+ this.componentRef.instance.visible = this.visible;
513
513
  window.addEventListener('mousemove', this.boundOnWindowMouseMoveFunction);
514
514
  }
515
515
  }
@@ -1029,7 +1029,7 @@ let ButtonModule = class ButtonModule {
1029
1029
  };
1030
1030
  ButtonModule = __decorate([
1031
1031
  NgModule({
1032
- imports: [CommonModule, RouterModule, TieredMenuModule, TooltipModule$1],
1032
+ imports: [CommonModule, RouterModule, TieredMenuModule$1, TooltipModule$1],
1033
1033
  declarations: [ButtonComponent],
1034
1034
  exports: [ButtonComponent],
1035
1035
  })
@@ -3911,113 +3911,6 @@ EmptyStateModule = __decorate([
3911
3911
  })
3912
3912
  ], EmptyStateModule);
3913
3913
 
3914
- var ValidateErrors;
3915
- (function (ValidateErrors) {
3916
- ValidateErrors["MAX_FILE_SIZE"] = "MAX_FILE_SIZE";
3917
- ValidateErrors["MAX_FILE_LIMIT"] = "MAX_FILE_LIMIT";
3918
- ValidateErrors["UNSUPPORTED_EXTENSION"] = "UNSUPPORTED_EXTENSION";
3919
- })(ValidateErrors || (ValidateErrors = {}));
3920
-
3921
- const Breakpoints = {
3922
- SM_MIN: 0,
3923
- SM_MAX: 767,
3924
- MD_MIN: 768,
3925
- MD_MAX: 991,
3926
- LG_MIN: 992,
3927
- LG_MAX: 1199,
3928
- XL_MIN: 1200,
3929
- XL_MAX: Infinity,
3930
- };
3931
-
3932
- class ExportUtils {
3933
- constructor() {
3934
- throw new Error("Classe não deve ser instanciada.");
3935
- }
3936
- static addClass(element, className) {
3937
- element.nativeElement.className = `${element.nativeElement.className} ${className}`;
3938
- }
3939
- static removeClass(element, className) {
3940
- if (element.nativeElement.className.includes(className)) {
3941
- element.nativeElement.className = element.nativeElement.className.replace(className, "");
3942
- }
3943
- }
3944
- static exportCSV(columns = [], data = [], csvSeparator = ";", documentName = "download") {
3945
- let csv = "\ufeff";
3946
- columns.filter((column) => column.exportable && column.field).forEach((column, i) => {
3947
- csv += `"${column.header || column.field}"`;
3948
- if (i < columns.length - 1)
3949
- csv += csvSeparator;
3950
- });
3951
- data.forEach((record) => {
3952
- csv += "\n";
3953
- columns.filter((column) => column.exportable && column.field).forEach((column, i) => {
3954
- let cellData;
3955
- if (Array.isArray(column.field)) {
3956
- const fieldValues = column.field.map((col) => this.resolveFieldData(record, col));
3957
- cellData = fieldValues
3958
- .flat()
3959
- .filter((value) => value !== null && value !== undefined)
3960
- .join(column.separator);
3961
- }
3962
- else {
3963
- cellData = this.resolveFieldData(record, column.field);
3964
- }
3965
- if (cellData != null)
3966
- cellData = String(cellData).replace(/"/g, `""`);
3967
- else
3968
- cellData = "";
3969
- csv += `"${cellData}"`;
3970
- if (i < columns.length - 1)
3971
- csv += csvSeparator;
3972
- });
3973
- });
3974
- const blob = new Blob([csv], {
3975
- type: "text/csv;charset=utf-8;",
3976
- });
3977
- if (window.navigator.msSaveOrOpenBlob)
3978
- navigator.msSaveOrOpenBlob(blob, documentName + ".csv");
3979
- else {
3980
- const link = document.createElement("a");
3981
- link.style.display = "none";
3982
- document.body.appendChild(link);
3983
- if (link.download !== undefined) {
3984
- link.setAttribute("href", URL.createObjectURL(blob));
3985
- link.setAttribute("download", documentName + ".csv");
3986
- link.click();
3987
- }
3988
- else {
3989
- csv = "data:text/csv;charset=utf-8," + csv;
3990
- window.open(encodeURI(csv));
3991
- }
3992
- document.body.removeChild(link);
3993
- }
3994
- }
3995
- static resolveFieldData(data, field) {
3996
- if (data && field) {
3997
- if (this.isFunction(field))
3998
- return field(data);
3999
- else if (field.indexOf(".") == -1)
4000
- return data[field];
4001
- else {
4002
- const fields = field.split(".");
4003
- let value = data;
4004
- for (let i = 0, len = fields.length; i < len; ++i) {
4005
- if (value == null) {
4006
- return null;
4007
- }
4008
- value = value[fields[i]];
4009
- }
4010
- return value;
4011
- }
4012
- }
4013
- else
4014
- return null;
4015
- }
4016
- static isFunction(obj) {
4017
- return !!(obj && obj.constructor && obj.call && obj.apply);
4018
- }
4019
- }
4020
-
4021
3914
  /**
4022
3915
  * Formats a JSON response to a JS object
4023
3916
  * @param response The response to format
@@ -4213,6 +4106,125 @@ FileUploadService = __decorate([
4213
4106
  Injectable()
4214
4107
  ], FileUploadService);
4215
4108
 
4109
+ const Breakpoints = {
4110
+ SM_MIN: 0,
4111
+ SM_MAX: 767,
4112
+ MD_MIN: 768,
4113
+ MD_MAX: 991,
4114
+ LG_MIN: 992,
4115
+ LG_MAX: 1199,
4116
+ XL_MIN: 1200,
4117
+ XL_MAX: Infinity,
4118
+ };
4119
+
4120
+ class ExportUtils {
4121
+ constructor() {
4122
+ throw new Error("Classe não deve ser instanciada.");
4123
+ }
4124
+ static addClass(element, className) {
4125
+ element.nativeElement.className = `${element.nativeElement.className} ${className}`;
4126
+ }
4127
+ static removeClass(element, className) {
4128
+ if (element.nativeElement.className.includes(className)) {
4129
+ element.nativeElement.className = element.nativeElement.className.replace(className, "");
4130
+ }
4131
+ }
4132
+ static exportCSV(columns = [], data = [], csvSeparator = ";", documentName = "download") {
4133
+ let csv = "\ufeff";
4134
+ columns.filter((column) => column.exportable && column.field).forEach((column, i) => {
4135
+ csv += `"${column.header || column.field}"`;
4136
+ if (i < columns.length - 1)
4137
+ csv += csvSeparator;
4138
+ });
4139
+ data.forEach((record) => {
4140
+ csv += "\n";
4141
+ columns.filter((column) => column.exportable && column.field).forEach((column, i) => {
4142
+ let cellData;
4143
+ if (Array.isArray(column.field)) {
4144
+ const fieldValues = column.field.map((col) => this.resolveFieldData(record, col));
4145
+ cellData = fieldValues
4146
+ .flat()
4147
+ .filter((value) => value !== null && value !== undefined)
4148
+ .join(column.separator);
4149
+ }
4150
+ else {
4151
+ cellData = this.resolveFieldData(record, column.field);
4152
+ }
4153
+ if (cellData != null)
4154
+ cellData = String(cellData).replace(/"/g, `""`);
4155
+ else
4156
+ cellData = "";
4157
+ csv += `"${cellData}"`;
4158
+ if (i < columns.length - 1)
4159
+ csv += csvSeparator;
4160
+ });
4161
+ });
4162
+ const blob = new Blob([csv], {
4163
+ type: "text/csv;charset=utf-8;",
4164
+ });
4165
+ if (window.navigator.msSaveOrOpenBlob)
4166
+ navigator.msSaveOrOpenBlob(blob, documentName + ".csv");
4167
+ else {
4168
+ const link = document.createElement("a");
4169
+ link.style.display = "none";
4170
+ document.body.appendChild(link);
4171
+ if (link.download !== undefined) {
4172
+ link.setAttribute("href", URL.createObjectURL(blob));
4173
+ link.setAttribute("download", documentName + ".csv");
4174
+ link.click();
4175
+ }
4176
+ else {
4177
+ csv = "data:text/csv;charset=utf-8," + csv;
4178
+ window.open(encodeURI(csv));
4179
+ }
4180
+ document.body.removeChild(link);
4181
+ }
4182
+ }
4183
+ static resolveFieldData(data, field) {
4184
+ if (data && field) {
4185
+ if (this.isFunction(field))
4186
+ return field(data);
4187
+ else if (field.indexOf(".") == -1)
4188
+ return data[field];
4189
+ else {
4190
+ const fields = field.split(".");
4191
+ let value = data;
4192
+ for (let i = 0, len = fields.length; i < len; ++i) {
4193
+ if (value == null) {
4194
+ return null;
4195
+ }
4196
+ value = value[fields[i]];
4197
+ }
4198
+ return value;
4199
+ }
4200
+ }
4201
+ else
4202
+ return null;
4203
+ }
4204
+ static isFunction(obj) {
4205
+ return !!(obj && obj.constructor && obj.call && obj.apply);
4206
+ }
4207
+ }
4208
+
4209
+ var ValidateErrors;
4210
+ (function (ValidateErrors) {
4211
+ ValidateErrors["MAX_FILE_SIZE"] = "MAX_FILE_SIZE";
4212
+ ValidateErrors["MAX_FILE_LIMIT"] = "MAX_FILE_LIMIT";
4213
+ ValidateErrors["UNSUPPORTED_EXTENSION"] = "UNSUPPORTED_EXTENSION";
4214
+ })(ValidateErrors || (ValidateErrors = {}));
4215
+
4216
+ var FileUploadPermissions;
4217
+ (function (FileUploadPermissions) {
4218
+ FileUploadPermissions["Add"] = "add";
4219
+ FileUploadPermissions["Read"] = "read";
4220
+ FileUploadPermissions["Remove"] = "remove";
4221
+ })(FileUploadPermissions || (FileUploadPermissions = {}));
4222
+ const ALL_PERMISSIONS = [
4223
+ FileUploadPermissions.Add,
4224
+ FileUploadPermissions.Read,
4225
+ FileUploadPermissions.Remove,
4226
+ ];
4227
+
4216
4228
  var FileUploadComponent_1;
4217
4229
  const moment$3 = moment_;
4218
4230
  let FileUploadComponent = FileUploadComponent_1 = class FileUploadComponent {
@@ -4220,6 +4232,9 @@ let FileUploadComponent = FileUploadComponent_1 = class FileUploadComponent {
4220
4232
  this.sanitizer = sanitizer;
4221
4233
  this.fileUploadService = fileUploadService;
4222
4234
  this.translate = translate;
4235
+ this.ADD_PERMISSION = FileUploadPermissions.Add;
4236
+ this.READ_PERMISSION = FileUploadPermissions.Read;
4237
+ this.REMOVE_PERMISSION = FileUploadPermissions.Remove;
4223
4238
  this.id = `s-file-upload-${FileUploadComponent_1.nextId++}`;
4224
4239
  this.chooseLabel = "Anexar arquivos";
4225
4240
  this.removeLabel = "Remover";
@@ -4229,6 +4244,7 @@ let FileUploadComponent = FileUploadComponent_1 = class FileUploadComponent {
4229
4244
  this.ariaLabelProgress = "Carregando arquivo";
4230
4245
  this.disabled = false;
4231
4246
  this.showFileUploadDate = false;
4247
+ this.permissions = ALL_PERMISSIONS;
4232
4248
  this.uploadHandler = new EventEmitter();
4233
4249
  this.removeFile = new EventEmitter();
4234
4250
  this.cancelUpload = new EventEmitter();
@@ -4437,6 +4453,9 @@ __decorate([
4437
4453
  __decorate([
4438
4454
  Input()
4439
4455
  ], FileUploadComponent.prototype, "showFileUploadDate", void 0);
4456
+ __decorate([
4457
+ Input()
4458
+ ], FileUploadComponent.prototype, "permissions", void 0);
4440
4459
  __decorate([
4441
4460
  Input()
4442
4461
  ], FileUploadComponent.prototype, "files", null);
@@ -4461,7 +4480,7 @@ __decorate([
4461
4480
  FileUploadComponent = FileUploadComponent_1 = __decorate([
4462
4481
  Component({
4463
4482
  selector: "s-file-upload",
4464
- template: "<div\n [id]=\"id\"\n class=\"s-fileupload\">\n <div class=\"s-fileupload-choose\">\n <input\n #inputUpload\n [id]=\"id+'input-upload'\"\n type=\"file\"\n name=\"file\"\n [accept]=\"accept\"\n [multiple]=\"multiple\"\n (change)=\"onFileSelect($event.dataTransfer\n ? $event.dataTransfer.files\n : $event.target.files)\"> \n <s-button\n [id]=\"id + 'upload-button'\"\n [label]=\"chooseLabel\"\n (onClick)=\"inputUpload.click()\"\n priority=\"primary\"\n [disabled]=\"disabled || !!formGroup?.disabled\"\n [auxiliary]=\"false\">\n </s-button>\n </div>\n\n <section\n *ngIf=\"files.length\" \n [id]=\"id + 'fileupload-list'\"\n class=\"s-fileupload-list\"\n role=\"grid\">\n <ng-container *ngFor=\"let file of files; let i = index\">\n <div\n class=\"s-fileupload-list-file\"\n role=\"row\">\n <div\n [id]=\"id + '-file-' + i + '-name'\"\n class=\"s-fileupload-list-file-name\"\n role=\"gridcell\">\n <ng-container *ngTemplateOutlet=\"file.savedFile || file.progress === 100\n ? descriptionUrl\n : description; context: {\n $implicit: file,\n index: i\n }\">\n </ng-container>\n <span *ngIf=\"modifiedDate\" class=\"s-fileupload-list-file-name-date\">{{ modifiedDate }}</span>\n </div>\n <div\n class=\"s-fileupload-list-file-status\"\n role=\"gridcell\">\n <p-progressBar\n *ngIf=\"file.isUploading && !isSmallDevice\"\n [style]=\"{ 'width': '250px', 'background-color': '#d8d8d8', 'border-radius': '0px', 'height': '14px'}\"\n [value]=\"file.progress\"\n [showValue]=\"false\"\n role=\"alert\"\n [attr.aria-label]=\"ariaLabelProgress\">\n </p-progressBar>\n <span\n *ngIf=\"file.isUploading && isSmallDevice\" \n [id]=\"id + '-file-' + i + '-spin'\"\n class=\"fas fa-circle-notch fa-spin\"\n [attr.aria-label]=\"ariaLabelProgress\">\n </span>\n <span\n *ngIf=\"!file.isUploading && !file.error && file.progress === 100\"\n [id]=\"id + '-file-' + i + '-check'\"\n class=\"fas fa-check\"\n role=\"alert\"\n [attr.aria-label]=\"ariaLabelSuccess || successTooltip\"\n [pTooltip]=\"successTooltip\"\n tooltipPosition=\"top\"\n showDelay=\"500\"\n [appendTo]=\"'body'\">\n </span>\n <span\n *ngIf=\"file.error?.message\" \n [id]=\"id + '-file-' + i + '-error'\"\n class=\"fas fa-times\"\n role=\"alert\"\n [pTooltip]=\"file.error?.message\"\n tooltipPosition=\"top\"\n showDelay=\"500\"\n [appendTo]=\"'body'\">\n </span>\n </div>\n <div\n class=\"s-fileupload-list-file-actions\"\n role=\"gridcell\">\n <a\n *ngIf=\"file.isUploading\"\n [id]=\"id + '-file-' + i + '-cancel'\"\n class=\"s-fileupload-list-file-actions-action\"\n (click)=\"onCancelUpload(i)\">\n {{cancelLabel}}\n </a>\n <a\n *ngIf=\"!file.isUploading && !(disabled || !!formGroup?.disabled)\"\n role=\"button\"\n tabindex=\"0\"\n [id]=\"id + '-file-' + i + '-remove'\"\n class=\"s-fileupload-list-file-actions-action\"\n (click)=\"onRemoveFile(file)\"\n [attr.aria-label]=\"ariaLabelRemove || removeLabel\">\n {{removeLabel}}\n </a>\n </div>\n </div>\n </ng-container>\n </section>\n</div>\n\n<ng-template\n #descriptionUrl\n let-file\n let-i = index>\n <a\n [id]=\"id + '-file-' + i + '-name-link'\"\n tabindex=\"0\"\n (click)=\"onDowloadFile(i)\"\n [attr.aria-label]=\"ariaLabelFileName || file.name\">{{file.name}}\n </a>\n <a\n style=\"display: none;\"\n [href]=\"file.objectURL\"\n target=\"_blank\"\n download\n #anchor>\n </a>\n</ng-template>\n\n<ng-template\n #description\n let-file>\n <span\n tabindex=\"0\"\n [attr.aria-label]=\"ariaLabelFileName || file.name\">\n {{file.name}}\n </span>\n</ng-template>\n",
4483
+ template: "<div\n [id]=\"id\"\n class=\"s-fileupload\">\n <div class=\"s-fileupload-choose\">\n <input\n #inputUpload\n [id]=\"id+'input-upload'\"\n type=\"file\"\n name=\"file\"\n [accept]=\"accept\"\n [multiple]=\"multiple\"\n (change)=\"onFileSelect($event.dataTransfer\n ? $event.dataTransfer.files\n : $event.target.files)\"> \n <s-button\n *ngIf=\"permissions.includes(ADD_PERMISSION)\"\n [id]=\"id + 'upload-button'\"\n [label]=\"chooseLabel\"\n (onClick)=\"inputUpload.click()\"\n priority=\"primary\"\n [disabled]=\"disabled || !!formGroup?.disabled\"\n [auxiliary]=\"false\">\n </s-button>\n </div>\n\n <section\n *ngIf=\"files.length\" \n [id]=\"id + 'fileupload-list'\"\n class=\"s-fileupload-list\"\n role=\"grid\">\n <ng-container *ngFor=\"let file of files; let i = index\">\n <div\n class=\"s-fileupload-list-file\"\n role=\"row\">\n <div\n [id]=\"id + '-file-' + i + '-name'\"\n class=\"s-fileupload-list-file-name\"\n role=\"gridcell\">\n <ng-container *ngTemplateOutlet=\"permissions.includes(READ_PERMISSION) && file.savedFile || file.progress === 100\n ? descriptionUrl\n : description; context: {\n $implicit: file,\n index: i\n }\">\n </ng-container>\n <span *ngIf=\"modifiedDate\" class=\"s-fileupload-list-file-name-date\">{{ modifiedDate }}</span>\n </div>\n <div\n class=\"s-fileupload-list-file-status\"\n role=\"gridcell\">\n <p-progressBar\n *ngIf=\"file.isUploading && !isSmallDevice\"\n [style]=\"{ 'width': '250px', 'background-color': '#d8d8d8', 'border-radius': '0px', 'height': '14px'}\"\n [value]=\"file.progress\"\n [showValue]=\"false\"\n role=\"alert\"\n [attr.aria-label]=\"ariaLabelProgress\">\n </p-progressBar>\n <span\n *ngIf=\"file.isUploading && isSmallDevice\" \n [id]=\"id + '-file-' + i + '-spin'\"\n class=\"fas fa-circle-notch fa-spin\"\n [attr.aria-label]=\"ariaLabelProgress\">\n </span>\n <span\n *ngIf=\"!file.isUploading && !file.error && file.progress === 100\"\n [id]=\"id + '-file-' + i + '-check'\"\n class=\"fas fa-check\"\n role=\"alert\"\n [attr.aria-label]=\"ariaLabelSuccess || successTooltip\"\n [pTooltip]=\"successTooltip\"\n tooltipPosition=\"top\"\n showDelay=\"500\"\n [appendTo]=\"'body'\">\n </span>\n <span\n *ngIf=\"file.error?.message\" \n [id]=\"id + '-file-' + i + '-error'\"\n class=\"fas fa-times\"\n role=\"alert\"\n [pTooltip]=\"file.error?.message\"\n tooltipPosition=\"top\"\n showDelay=\"500\"\n [appendTo]=\"'body'\">\n </span>\n </div>\n <div\n class=\"s-fileupload-list-file-actions\"\n role=\"gridcell\">\n <a\n *ngIf=\"file.isUploading\"\n [id]=\"id + '-file-' + i + '-cancel'\"\n class=\"s-fileupload-list-file-actions-action\"\n (click)=\"onCancelUpload(i)\">\n {{cancelLabel}}\n </a>\n <a\n *ngIf=\"permissions.includes(REMOVE_PERMISSION) && !file.isUploading && !(disabled || !!formGroup?.disabled)\"\n role=\"button\"\n tabindex=\"0\"\n [id]=\"id + '-file-' + i + '-remove'\"\n class=\"s-fileupload-list-file-actions-action\"\n (click)=\"onRemoveFile(file)\"\n [attr.aria-label]=\"ariaLabelRemove || removeLabel\">\n {{removeLabel}}\n </a>\n </div>\n </div>\n </ng-container>\n </section>\n</div>\n\n<ng-template\n #descriptionUrl\n let-file\n let-i = index>\n <a\n [id]=\"id + '-file-' + i + '-name-link'\"\n tabindex=\"0\"\n (click)=\"onDowloadFile(i)\"\n [attr.aria-label]=\"ariaLabelFileName || file.name\">{{file.name}}\n </a>\n <a\n style=\"display: none;\"\n [href]=\"file.objectURL\"\n target=\"_blank\"\n download\n #anchor>\n </a>\n</ng-template>\n\n<ng-template\n #description\n let-file>\n <span\n tabindex=\"0\"\n [attr.aria-label]=\"ariaLabelFileName || file.name\">\n {{file.name}}\n </span>\n</ng-template>\n",
4465
4484
  styles: [".s-fileupload .s-fileupload-choose{position:relative;margin:15px 0;width:-webkit-max-content;width:max-content}.s-fileupload input[type=file]{display:none}.s-fileupload-list{border:1px solid #ccc}.s-fileupload-list-file:not(:first-child){border-top:1px solid #ccc}.s-fileupload-list .s-fileupload-list-file{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:justify;justify-content:space-between;padding:15px}.s-fileupload-list .s-fileupload-list-file .s-fileupload-list-file-name{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-item-align:center;align-self:center;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.s-fileupload-list .s-fileupload-list-file .s-fileupload-list-file-name .s-fileupload-list-file-name-date{font-size:.75rem;color:#999}.s-fileupload-list .s-fileupload-list-file .s-fileupload-list-file-name>a{cursor:pointer;text-decoration:none}.s-fileupload-list .s-fileupload-list-file .s-fileupload-list-file-status{-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center}.s-fileupload-list .s-fileupload-list-file .fas.fa-circle-notch{color:#d8d8d8;font-size:12px}.s-fileupload-list .s-fileupload-list-file .fas.fa-check{color:#0c9348;font-size:12px}.s-fileupload-list .s-fileupload-list-file .fas.fa-times{color:#c13018;font-size:12px}.s-fileupload-list .s-fileupload-list-file .s-fileupload-list-file-actions{margin-top:15px;-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center;width:100%}.s-fileupload-list .s-fileupload-list-file .s-fileupload-list-file-actions a.s-fileupload-list-file-actions-action{text-decoration:none;color:#428bca}.s-fileupload-list .s-fileupload-list-file .s-fileupload-list-file-actions a.s-fileupload-list-file-actions-action :focus,.s-fileupload-list .s-fileupload-list-file .s-fileupload-list-file-actions a.s-fileupload-list-file-actions-action :visited,.s-fileupload-list .s-fileupload-list-file .s-fileupload-list-file-actions a.s-fileupload-list-file-actions-action:hover{text-decoration:none}@media (min-width:768px){.s-fileupload-list .s-fileupload-list-file{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.s-fileupload-list .s-fileupload-list-file .s-fileupload-list-file-name{width:auto;-ms-flex-positive:2;flex-grow:2}.s-fileupload-list .s-fileupload-list-file .s-fileupload-list-file-status{margin:0 15px}.s-fileupload-list .s-fileupload-list-file .s-fileupload-list-file-actions{margin:0;width:auto}}"]
4466
4485
  })
4467
4486
  ], FileUploadComponent);
@@ -13185,6 +13204,714 @@ CodeEditorModule = __decorate([
13185
13204
  })
13186
13205
  ], CodeEditorModule);
13187
13206
 
13207
+ let TieredMenuEventService = class TieredMenuEventService {
13208
+ constructor() {
13209
+ this.incrementCurrentItemEvent = new EventEmitter();
13210
+ this.decrementCurrentItemEvent = new EventEmitter();
13211
+ this.closeAllMenusEvent = new EventEmitter();
13212
+ this.selectItemEvent = new EventEmitter();
13213
+ this.openItemMenuEvent = new EventEmitter();
13214
+ this.closeItemMenuEvent = new EventEmitter();
13215
+ this.createMenuEvent = new EventEmitter();
13216
+ }
13217
+ emitIncrementCurrentItemEvent() {
13218
+ this.incrementCurrentItemEvent.emit();
13219
+ }
13220
+ emitDecrementCurrentItemEvent() {
13221
+ this.decrementCurrentItemEvent.emit();
13222
+ }
13223
+ emitCloseAllMenusEvent() {
13224
+ this.closeAllMenusEvent.emit();
13225
+ }
13226
+ emitSelectItemEvent(item) {
13227
+ this.selectItemEvent.emit(item);
13228
+ }
13229
+ emitOpenItemMenuEvent(item) {
13230
+ this.openItemMenuEvent.emit(item);
13231
+ }
13232
+ emitCloseItemMenuEvent(item) {
13233
+ this.closeItemMenuEvent.emit(item);
13234
+ }
13235
+ emitCreateMenuEvent(item) {
13236
+ this.createMenuEvent.emit(item);
13237
+ }
13238
+ };
13239
+ TieredMenuEventService = __decorate([
13240
+ Injectable()
13241
+ ], TieredMenuEventService);
13242
+
13243
+ let TieredMenuService = class TieredMenuService {
13244
+ normalizeData(items, parent) {
13245
+ return items.map((i) => {
13246
+ if (i.submenu) {
13247
+ i.submenu = this.normalizeData(i.submenu, i);
13248
+ }
13249
+ i.id = `id-${Math.random().toString(36).substring(2, 9)}-${Date.now().toString(36)}`;
13250
+ i.parent = parent;
13251
+ i.isOpen = false;
13252
+ return i;
13253
+ });
13254
+ }
13255
+ markAllItemsAsClosed(items) {
13256
+ return items.map((item) => {
13257
+ if (item.submenu) {
13258
+ item.submenu = this.markAllItemsAsClosed(item.submenu);
13259
+ }
13260
+ item.isOpen = false;
13261
+ return item;
13262
+ });
13263
+ }
13264
+ searchTheHierarchy(item1, item2) {
13265
+ let itemAux = item2;
13266
+ while (itemAux) {
13267
+ if (itemAux === item1) {
13268
+ return true;
13269
+ }
13270
+ itemAux = itemAux.parent;
13271
+ }
13272
+ return false;
13273
+ }
13274
+ };
13275
+ TieredMenuService = __decorate([
13276
+ Injectable()
13277
+ ], TieredMenuService);
13278
+
13279
+ let TieredMenuNestedComponent = class TieredMenuNestedComponent {
13280
+ constructor(tieredMenuService, _tieredMenuEventService) {
13281
+ this.tieredMenuService = tieredMenuService;
13282
+ this._tieredMenuEventService = _tieredMenuEventService;
13283
+ this.top = 0;
13284
+ this.maxHeight = 0;
13285
+ this._unsubscribe$ = new Subject();
13286
+ }
13287
+ ngOnInit() {
13288
+ this.tieredMenuService.currentItems = this.items;
13289
+ this._subscribeEvents();
13290
+ }
13291
+ ngOnDestroy() {
13292
+ this._unsubscribe$.next();
13293
+ this._unsubscribe$.complete();
13294
+ }
13295
+ _incrementCurItem() {
13296
+ if (!this.tieredMenuService.currentItem) {
13297
+ this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[0];
13298
+ return;
13299
+ }
13300
+ const curIndex = this.tieredMenuService.currentItems.indexOf(this.tieredMenuService.currentItem) + 1;
13301
+ if (curIndex < this.tieredMenuService.currentItems.length) {
13302
+ this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[curIndex];
13303
+ }
13304
+ else {
13305
+ this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[0];
13306
+ }
13307
+ if (this.tieredMenuService.currentItem.divider) {
13308
+ this._incrementCurItem();
13309
+ }
13310
+ }
13311
+ _decrementCurItem() {
13312
+ if (!this.tieredMenuService.currentItem) {
13313
+ this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[0];
13314
+ return;
13315
+ }
13316
+ const curIndex = this.tieredMenuService.currentItems.indexOf(this.tieredMenuService.currentItem) - 1;
13317
+ if (curIndex >= 0) {
13318
+ this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[curIndex];
13319
+ }
13320
+ else {
13321
+ this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[this.tieredMenuService.currentItems.length - 1];
13322
+ }
13323
+ if (this.tieredMenuService.currentItem.divider) {
13324
+ this._decrementCurItem();
13325
+ }
13326
+ }
13327
+ _closeItem(item) {
13328
+ var _a;
13329
+ let itemAux = this._lastOpenItem;
13330
+ while (itemAux && itemAux != item) {
13331
+ itemAux.isOpen = false;
13332
+ itemAux = itemAux.parent;
13333
+ }
13334
+ item.isOpen = false;
13335
+ this.tieredMenuService.currentItem = itemAux !== null && itemAux !== void 0 ? itemAux : this.tieredMenuService.items[0];
13336
+ this.tieredMenuService.currentItems = ((_a = itemAux === null || itemAux === void 0 ? void 0 : itemAux.parent) === null || _a === void 0 ? void 0 : _a.submenu) || this.tieredMenuService.items;
13337
+ }
13338
+ _openItem(item) {
13339
+ if (item === null || item === void 0 ? void 0 : item.submenu) {
13340
+ item.isOpen = true;
13341
+ this.tieredMenuService.currentItems = item.submenu;
13342
+ // Only has focus if there has already been interaction.
13343
+ if (this.tieredMenuService.currentItem) {
13344
+ this.tieredMenuService.currentItem = item.submenu[0];
13345
+ }
13346
+ this._lastOpenItem = item;
13347
+ }
13348
+ }
13349
+ _subscribeEvents() {
13350
+ this._tieredMenuEventService.incrementCurrentItemEvent
13351
+ .pipe(takeUntil(this._unsubscribe$))
13352
+ .subscribe(() => {
13353
+ this._incrementCurItem();
13354
+ });
13355
+ this._tieredMenuEventService.decrementCurrentItemEvent
13356
+ .pipe(takeUntil(this._unsubscribe$))
13357
+ .subscribe(() => {
13358
+ this._decrementCurItem();
13359
+ });
13360
+ this._tieredMenuEventService.selectItemEvent
13361
+ .pipe(takeUntil(this._unsubscribe$))
13362
+ .subscribe((item) => {
13363
+ if (item.command) {
13364
+ item.command();
13365
+ // Close all menus after the item was selected.
13366
+ this._tieredMenuEventService.emitCloseAllMenusEvent();
13367
+ }
13368
+ });
13369
+ this._tieredMenuEventService.openItemMenuEvent
13370
+ .pipe(takeUntil(this._unsubscribe$))
13371
+ .subscribe((item) => {
13372
+ var _a, _b;
13373
+ if (!this.tieredMenuService.currentItems.includes(item)) {
13374
+ let itemAux = this._lastOpenItem;
13375
+ while ((_a = itemAux === null || itemAux === void 0 ? void 0 : itemAux.parent) === null || _a === void 0 ? void 0 : _a.parent) {
13376
+ itemAux = itemAux.parent;
13377
+ }
13378
+ this._tieredMenuEventService.emitCloseItemMenuEvent((_b = itemAux.parent) !== null && _b !== void 0 ? _b : itemAux);
13379
+ }
13380
+ this._lastOpenItem = item;
13381
+ this._openItem(item);
13382
+ });
13383
+ this._tieredMenuEventService.closeItemMenuEvent
13384
+ .pipe(takeUntil(this._unsubscribe$))
13385
+ .subscribe((item) => {
13386
+ if (item) {
13387
+ this._closeItem(item);
13388
+ }
13389
+ });
13390
+ }
13391
+ };
13392
+ TieredMenuNestedComponent.ctorParameters = () => [
13393
+ { type: TieredMenuService },
13394
+ { type: TieredMenuEventService }
13395
+ ];
13396
+ TieredMenuNestedComponent = __decorate([
13397
+ Component({
13398
+ template: "<div\n class=\"menu menu--nested\"\n [ngStyle]=\"{\n 'top': top + 'px',\n 'max-height': maxHeight + 'px'\n }\">\n <ng-container *ngTemplateOutlet=\"itemsTemplate; context: { $implicit: items }\"></ng-container>\n</div>\n\n<ng-template #itemsTemplate let-items>\n <div *ngFor=\"let item of items\">\n <s-tiered-menu-item\n *ngIf=\"!item.divider\"\n [item]=\"item\"\n [focused]=\"item === tieredMenuService.currentItem\"\n [closeOnClick]=\"true\">\n </s-tiered-menu-item>\n\n <s-tiered-menu-divider *ngIf=\"item.divider\"></s-tiered-menu-divider>\n\n <div *ngIf=\"item.submenu && item.isOpen\">\n <div class=\"submenu\">\n <ng-container *ngTemplateOutlet=\"itemsTemplate; context: { $implicit: item.submenu }\"></ng-container>\n </div>\n </div>\n </div>\n</ng-template>\n",
13399
+ styles: [".menu{background-color:#fff;border:1px solid #ccc;border-radius:6px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);display:-ms-inline-flexbox;display:inline-flex;-ms-flex-direction:column;flex-direction:column;min-width:176px;padding:4px 0;position:fixed;z-index:9999;overflow:auto}.menu--nested{width:90vw;margin:0 5vw}.menu .submenu{margin-left:24px}"]
13400
+ })
13401
+ ], TieredMenuNestedComponent);
13402
+
13403
+ var TieredMenuComponent_1;
13404
+ let TieredMenuComponent = TieredMenuComponent_1 = class TieredMenuComponent {
13405
+ constructor(_appRef, _componentFactoryResolver, _injector, tieredMenuService, _tieredMenuEventService) {
13406
+ this._appRef = _appRef;
13407
+ this._componentFactoryResolver = _componentFactoryResolver;
13408
+ this._injector = _injector;
13409
+ this.tieredMenuService = tieredMenuService;
13410
+ this._tieredMenuEventService = _tieredMenuEventService;
13411
+ this.top = 0;
13412
+ this.left = 0;
13413
+ this.menuTriggerEvent = "hover";
13414
+ this._componentRef = null;
13415
+ this._unsubscribe$ = new Subject();
13416
+ this.destroyRequest = new EventEmitter();
13417
+ }
13418
+ ngOnInit() {
13419
+ this.tieredMenuService.currentItems = this.items;
13420
+ this._subscribeEvents();
13421
+ }
13422
+ ngOnDestroy() {
13423
+ this._unsubscribe$.next();
13424
+ this._unsubscribe$.complete();
13425
+ }
13426
+ _incrementCurItem() {
13427
+ if (!this.tieredMenuService.currentItem) {
13428
+ this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[0];
13429
+ return;
13430
+ }
13431
+ else if (!this.items.includes(this.tieredMenuService.currentItem)) {
13432
+ // Checking if it is the current menu.
13433
+ return;
13434
+ }
13435
+ const currentIndex = this.tieredMenuService.currentItems.indexOf(this.tieredMenuService.currentItem) + 1;
13436
+ if (currentIndex < this.tieredMenuService.currentItems.length) {
13437
+ this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[currentIndex];
13438
+ }
13439
+ else {
13440
+ this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[0];
13441
+ }
13442
+ if (this.tieredMenuService.currentItem.divider) {
13443
+ this._incrementCurItem();
13444
+ }
13445
+ }
13446
+ _decrementCurItem() {
13447
+ if (!this.tieredMenuService.currentItem) {
13448
+ this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[0];
13449
+ return;
13450
+ // Checking if it is the current menu.
13451
+ }
13452
+ else if (!this.items.includes(this.tieredMenuService.currentItem)) {
13453
+ return;
13454
+ }
13455
+ const curIndex = this.tieredMenuService.currentItems.indexOf(this.tieredMenuService.currentItem) - 1;
13456
+ if (curIndex >= 0) {
13457
+ this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[curIndex];
13458
+ }
13459
+ else {
13460
+ this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[this.tieredMenuService.currentItems.length - 1];
13461
+ }
13462
+ if (this.tieredMenuService.currentItem.divider) {
13463
+ this._decrementCurItem();
13464
+ }
13465
+ }
13466
+ _createMenu(items, position) {
13467
+ if (!this._componentRef && items) {
13468
+ const componentFactory = this._componentFactoryResolver.resolveComponentFactory(TieredMenuComponent_1);
13469
+ this._componentRef = componentFactory.create(this._injector);
13470
+ this._appRef.attachView(this._componentRef.hostView);
13471
+ const domElem = this._componentRef.hostView.rootNodes[0];
13472
+ document.body.appendChild(domElem);
13473
+ // Setting the menu items.
13474
+ this._componentRef.instance.items = items;
13475
+ // Subscribe menu events.
13476
+ this._componentRef.instance.destroyRequest
13477
+ .pipe(takeUntil(this._unsubscribe$))
13478
+ .subscribe((propagate) => {
13479
+ this._destroy(propagate);
13480
+ });
13481
+ this._menuDivElement = domElem.querySelector(".menu");
13482
+ this._setMenuPosition(position);
13483
+ }
13484
+ }
13485
+ _destroy(propagate = true) {
13486
+ if (this._componentRef !== null) {
13487
+ this._appRef.detachView(this._componentRef.hostView);
13488
+ this._componentRef.destroy();
13489
+ this._componentRef = null;
13490
+ this._menuDivElement = null;
13491
+ }
13492
+ if (propagate) {
13493
+ this.destroyRequest.emit();
13494
+ }
13495
+ }
13496
+ _setMenuPosition(position) {
13497
+ var _a;
13498
+ if (this._componentRef !== null) {
13499
+ const { top, right, bottom, left } = position;
13500
+ // I need to calculate the height of the component because the internal elements have not been created yet.
13501
+ const menuHeight = ((_a = this.items) === null || _a === void 0 ? void 0 : _a.length) * 40;
13502
+ const menuWidth = this._menuDivElement.getBoundingClientRect().width;
13503
+ const rightFreeSpace = document.body.clientWidth - right;
13504
+ const bottomFreeSpace = document.body.clientHeight - bottom;
13505
+ if (rightFreeSpace > menuWidth) {
13506
+ this._componentRef.instance.left = right;
13507
+ }
13508
+ else {
13509
+ this._componentRef.instance.left = left - menuWidth;
13510
+ }
13511
+ if (bottomFreeSpace <= menuHeight) {
13512
+ this._componentRef.instance.top = top - menuHeight;
13513
+ }
13514
+ else {
13515
+ this._componentRef.instance.top = top;
13516
+ }
13517
+ }
13518
+ }
13519
+ _subscribeEvents() {
13520
+ // Increment current item event.
13521
+ this._tieredMenuEventService.incrementCurrentItemEvent
13522
+ .pipe(takeUntil(this._unsubscribe$))
13523
+ .subscribe(() => {
13524
+ this._incrementCurItem();
13525
+ });
13526
+ // Decrement current item event.
13527
+ this._tieredMenuEventService.decrementCurrentItemEvent
13528
+ .pipe(takeUntil(this._unsubscribe$))
13529
+ .subscribe(() => {
13530
+ this._decrementCurItem();
13531
+ });
13532
+ // Select item event.
13533
+ this._tieredMenuEventService.selectItemEvent
13534
+ .pipe(takeUntil(this._unsubscribe$))
13535
+ .subscribe((item) => {
13536
+ if (item.submenu) {
13537
+ this._tieredMenuEventService.emitOpenItemMenuEvent(item);
13538
+ }
13539
+ else if (item.command) {
13540
+ this._tieredMenuEventService.emitCloseAllMenusEvent();
13541
+ item.command();
13542
+ }
13543
+ });
13544
+ // Close all menus event.
13545
+ this._tieredMenuEventService.closeAllMenusEvent
13546
+ .pipe(takeUntil(this._unsubscribe$))
13547
+ .subscribe(() => {
13548
+ this._destroy();
13549
+ this.tieredMenuService.currentItem = null;
13550
+ this.tieredMenuService.currentItems = this.tieredMenuService.items;
13551
+ });
13552
+ // Open item menu event.
13553
+ this._tieredMenuEventService.openItemMenuEvent
13554
+ .pipe(takeUntil(this._unsubscribe$))
13555
+ .subscribe((item) => {
13556
+ item.isOpen = false;
13557
+ if (this.tieredMenuService.currentItem) {
13558
+ if (this.tieredMenuService.currentItem.parent === item) {
13559
+ return;
13560
+ }
13561
+ if (!this.tieredMenuService.searchTheHierarchy(this.tieredMenuService.currentItem.parent, item)) {
13562
+ let itemAux = this.tieredMenuService.currentItem;
13563
+ while (itemAux.parent !== item.parent) {
13564
+ this._tieredMenuEventService.emitCloseItemMenuEvent(itemAux);
13565
+ itemAux = itemAux.parent;
13566
+ }
13567
+ }
13568
+ }
13569
+ if (item.submenu) {
13570
+ if (!item.isOpen) {
13571
+ const { top, right, left, bottom } = document
13572
+ .querySelector(`#${item.id}`)
13573
+ .getBoundingClientRect();
13574
+ const position = { top, right, left, bottom };
13575
+ if (this.items.includes(item)) {
13576
+ this._createMenu(item.submenu, position);
13577
+ this.tieredMenuService.currentItems = item.submenu;
13578
+ this.tieredMenuService.currentItem = item.submenu[0];
13579
+ }
13580
+ }
13581
+ }
13582
+ });
13583
+ // Close item menu event.
13584
+ this._tieredMenuEventService.closeItemMenuEvent
13585
+ .pipe(takeUntil(this._unsubscribe$))
13586
+ .subscribe((item) => {
13587
+ var _a, _b;
13588
+ if (this.items.includes(item)) {
13589
+ item.isOpen = false;
13590
+ this.tieredMenuService.currentItems = ((_b = (_a = item === null || item === void 0 ? void 0 : item.parent) === null || _a === void 0 ? void 0 : _a.parent) === null || _b === void 0 ? void 0 : _b.submenu) || this.tieredMenuService.items;
13591
+ this.tieredMenuService.currentItem = item.parent;
13592
+ this.destroyRequest.emit(false);
13593
+ }
13594
+ });
13595
+ }
13596
+ };
13597
+ TieredMenuComponent.ctorParameters = () => [
13598
+ { type: ApplicationRef },
13599
+ { type: ComponentFactoryResolver },
13600
+ { type: Injector },
13601
+ { type: TieredMenuService },
13602
+ { type: TieredMenuEventService }
13603
+ ];
13604
+ __decorate([
13605
+ Output()
13606
+ ], TieredMenuComponent.prototype, "destroyRequest", void 0);
13607
+ TieredMenuComponent = TieredMenuComponent_1 = __decorate([
13608
+ Component({
13609
+ selector: "s-tiered-menu",
13610
+ template: "<div class=\"menu\" [ngStyle]=\"{\n 'left': left + 'px',\n 'top': top + 'px'\n }\">\n\n <div *ngFor=\"let item of items\">\n <s-tiered-menu-item\n *ngIf=\"!item.divider\"\n [item]=\"item\"\n [focused]=\"item === tieredMenuService.currentItem\"\n triggerEvent=\"hover\"\n [closeOnClick]=\"false\">\n </s-tiered-menu-item>\n <s-tiered-menu-divider *ngIf=\"item.divider\"></s-tiered-menu-divider>\n </div>\n</div>",
13611
+ styles: [".menu{background-color:#fff;border:1px solid #ccc;border-radius:6px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);display:-ms-inline-flexbox;display:inline-flex;-ms-flex-direction:column;flex-direction:column;min-width:176px;padding:4px 0;position:fixed;z-index:9999}"]
13612
+ })
13613
+ ], TieredMenuComponent);
13614
+
13615
+ let TieredMenuDirective = class TieredMenuDirective {
13616
+ constructor(_elementRef, _appRef, _componentFactoryResolver, _injector, _tieredMenuEventService, _tieredMenuService) {
13617
+ this._elementRef = _elementRef;
13618
+ this._appRef = _appRef;
13619
+ this._componentFactoryResolver = _componentFactoryResolver;
13620
+ this._injector = _injector;
13621
+ this._tieredMenuEventService = _tieredMenuEventService;
13622
+ this._tieredMenuService = _tieredMenuService;
13623
+ this._componentRef = null;
13624
+ this._isNested = false;
13625
+ this._isOpen = false;
13626
+ this._unsubscribe$ = new Subject();
13627
+ this.alwaysOpen = false;
13628
+ this.triggerEvent = "click";
13629
+ }
13630
+ ngOnInit() {
13631
+ this._tieredMenuService.items = this._tieredMenuService.normalizeData(this.items);
13632
+ this._tieredMenuService.currentItems = this._tieredMenuService.items;
13633
+ this._tieredMenuService.currentItem = this._tieredMenuService.items[0];
13634
+ this._subscribeEvents();
13635
+ }
13636
+ ngAfterViewInit() {
13637
+ // setTimeout to create the menu after creating the elements.
13638
+ if (this.alwaysOpen) {
13639
+ setTimeout(() => {
13640
+ this._createMenu();
13641
+ }, 0);
13642
+ }
13643
+ }
13644
+ ngOnDestroy() {
13645
+ this._unsubscribe$.next();
13646
+ this._unsubscribe$.complete();
13647
+ this._destroy();
13648
+ }
13649
+ onResize() {
13650
+ if (!this.alwaysOpen) {
13651
+ this._tieredMenuEventService.emitCloseAllMenusEvent();
13652
+ }
13653
+ }
13654
+ onKeydownHandler(event) {
13655
+ if (!this._isOpen)
13656
+ return;
13657
+ switch (event.key) {
13658
+ case "Escape":
13659
+ this._tieredMenuEventService.emitCloseAllMenusEvent();
13660
+ break;
13661
+ case " ":
13662
+ case "Enter":
13663
+ this._tieredMenuEventService.emitSelectItemEvent(this._tieredMenuService.currentItem);
13664
+ break;
13665
+ case "ArrowLeft":
13666
+ // When nested I need a reference to the current item's parent item, otherwise just the current item.
13667
+ this._tieredMenuEventService.emitCloseItemMenuEvent(this._isNested ? this._tieredMenuService.currentItem.parent : this._tieredMenuService.currentItem);
13668
+ break;
13669
+ case "ArrowRight":
13670
+ this._tieredMenuEventService.emitOpenItemMenuEvent(this._tieredMenuService.currentItem);
13671
+ break;
13672
+ case "ArrowUp":
13673
+ this._tieredMenuEventService.emitDecrementCurrentItemEvent();
13674
+ break;
13675
+ case "ArrowDown":
13676
+ this._tieredMenuEventService.emitIncrementCurrentItemEvent();
13677
+ break;
13678
+ }
13679
+ }
13680
+ onClick(event) {
13681
+ if (this.triggerEvent === "click" && this.items && this.items && !this._isOpen) {
13682
+ this._lastActiveElement = document.activeElement;
13683
+ this._createMenu();
13684
+ event.preventDefault();
13685
+ event.stopPropagation();
13686
+ }
13687
+ }
13688
+ onDocumentClick(event) {
13689
+ // Closing menu when clicked outside.
13690
+ const target = event.target;
13691
+ const clickedInside = target.closest("s-tiered-menu-item") || target.closest("s-tiered-menu-divider");
13692
+ if (!clickedInside) {
13693
+ this._tieredMenuEventService.emitCloseAllMenusEvent();
13694
+ }
13695
+ }
13696
+ _createMenu() {
13697
+ var _a;
13698
+ if (!this._componentRef && this.items) {
13699
+ (_a = this._lastActiveElement) === null || _a === void 0 ? void 0 : _a.blur();
13700
+ this._isOpen = true;
13701
+ this._isNested = document.body.clientWidth < 600;
13702
+ this._isNested ? this._createNestedMenu() : this._createTieredMenu();
13703
+ }
13704
+ }
13705
+ _createTieredMenu() {
13706
+ if (!this._componentRef && this.items) {
13707
+ const componentFactory = this._componentFactoryResolver.resolveComponentFactory(TieredMenuComponent);
13708
+ this._componentRef = componentFactory.create(this._injector);
13709
+ this._appRef.attachView(this._componentRef.hostView);
13710
+ const domElem = this._componentRef.hostView.rootNodes[0];
13711
+ document.body.appendChild(domElem);
13712
+ this._setMenuComponentProperties();
13713
+ this._componentRef.instance.destroyRequest
13714
+ .pipe(takeUntil(this._unsubscribe$))
13715
+ .subscribe(() => {
13716
+ this._destroy();
13717
+ });
13718
+ this._menuDivElement = domElem.querySelector(".menu");
13719
+ this._setMenuPosition();
13720
+ }
13721
+ }
13722
+ _createNestedMenu() {
13723
+ if (!this._componentRef && this.items) {
13724
+ const componentFactory = this._componentFactoryResolver.resolveComponentFactory(TieredMenuNestedComponent);
13725
+ this._componentRef = componentFactory.create(this._injector);
13726
+ this._appRef.attachView(this._componentRef.hostView);
13727
+ const domElem = this._componentRef.hostView.rootNodes[0];
13728
+ document.body.appendChild(domElem);
13729
+ this._setMenuComponentProperties();
13730
+ this._menuDivElement = domElem.querySelector(".menu");
13731
+ this._setMenuPosition();
13732
+ }
13733
+ }
13734
+ _destroy() {
13735
+ var _a;
13736
+ if (this._componentRef !== null && !this.alwaysOpen) {
13737
+ this._isOpen = false;
13738
+ window.clearTimeout(this._showTimeout);
13739
+ this._appRef.detachView(this._componentRef.hostView);
13740
+ this._componentRef.destroy();
13741
+ this._componentRef = null;
13742
+ this._menuDivElement = null;
13743
+ (_a = this._lastActiveElement) === null || _a === void 0 ? void 0 : _a.focus();
13744
+ this._tieredMenuService.currentItems = this._tieredMenuService.items;
13745
+ this._tieredMenuService.currentItem = this._tieredMenuService.items[0];
13746
+ }
13747
+ }
13748
+ _setMenuPosition() {
13749
+ if (this._componentRef !== null) {
13750
+ const { right, bottom, left } = this._elementRef.nativeElement.getBoundingClientRect();
13751
+ const menuWidth = this._menuDivElement.getBoundingClientRect().width;
13752
+ const rightFreeSpace = document.body.clientWidth - right;
13753
+ const topPosition = bottom + 2;
13754
+ this._componentRef.instance.top = topPosition;
13755
+ if (!this._isNested) {
13756
+ if (rightFreeSpace > menuWidth) {
13757
+ this._componentRef.instance.left = left;
13758
+ }
13759
+ else {
13760
+ this._componentRef.instance.left = left - menuWidth;
13761
+ }
13762
+ }
13763
+ else {
13764
+ // setting the maximum menu size to ensure its content is always visible. 10px margin.
13765
+ this._componentRef.instance.maxHeight = window.innerHeight - topPosition - 10;
13766
+ }
13767
+ }
13768
+ }
13769
+ _setMenuComponentProperties() {
13770
+ if (this._componentRef != null) {
13771
+ this._componentRef.instance.items = this.items;
13772
+ }
13773
+ }
13774
+ _subscribeEvents() {
13775
+ this._tieredMenuEventService.closeAllMenusEvent
13776
+ .pipe(takeUntil(this._unsubscribe$))
13777
+ .subscribe(() => {
13778
+ this.items = this._tieredMenuService.markAllItemsAsClosed(this.items);
13779
+ this._destroy();
13780
+ });
13781
+ }
13782
+ };
13783
+ TieredMenuDirective.ctorParameters = () => [
13784
+ { type: ElementRef },
13785
+ { type: ApplicationRef },
13786
+ { type: ComponentFactoryResolver },
13787
+ { type: Injector },
13788
+ { type: TieredMenuEventService },
13789
+ { type: TieredMenuService }
13790
+ ];
13791
+ __decorate([
13792
+ Input()
13793
+ ], TieredMenuDirective.prototype, "items", void 0);
13794
+ __decorate([
13795
+ Input()
13796
+ ], TieredMenuDirective.prototype, "alwaysOpen", void 0);
13797
+ __decorate([
13798
+ Input()
13799
+ ], TieredMenuDirective.prototype, "triggerEvent", void 0);
13800
+ __decorate([
13801
+ HostListener("window:resize")
13802
+ ], TieredMenuDirective.prototype, "onResize", null);
13803
+ __decorate([
13804
+ HostListener("document:keydown", ["$event"])
13805
+ ], TieredMenuDirective.prototype, "onKeydownHandler", null);
13806
+ __decorate([
13807
+ HostListener("click", ["$event"])
13808
+ ], TieredMenuDirective.prototype, "onClick", null);
13809
+ __decorate([
13810
+ HostListener("document:click", ["$event"])
13811
+ ], TieredMenuDirective.prototype, "onDocumentClick", null);
13812
+ TieredMenuDirective = __decorate([
13813
+ Directive({
13814
+ selector: "[sTieredMenu]",
13815
+ })
13816
+ ], TieredMenuDirective);
13817
+
13818
+ let TieredMenuItemComponent = class TieredMenuItemComponent {
13819
+ constructor(_tieredMenuEventService) {
13820
+ this._tieredMenuEventService = _tieredMenuEventService;
13821
+ this.focused = false;
13822
+ this.triggerEvent = "click";
13823
+ this.closeOnClick = false;
13824
+ }
13825
+ onClick() {
13826
+ if (this.item.submenu) {
13827
+ if (!this.item.isOpen) {
13828
+ this._tieredMenuEventService.emitOpenItemMenuEvent(this.item);
13829
+ }
13830
+ else if (this.closeOnClick) {
13831
+ this._tieredMenuEventService.emitCloseItemMenuEvent(this.item);
13832
+ }
13833
+ }
13834
+ else {
13835
+ this._tieredMenuEventService.emitSelectItemEvent(this.item);
13836
+ }
13837
+ }
13838
+ onMouseEnter() {
13839
+ if (this.triggerEvent === "hover" && !this.item.isOpen) {
13840
+ this._showTimeout = window.setTimeout(() => {
13841
+ this._tieredMenuEventService.emitOpenItemMenuEvent(this.item);
13842
+ }, 300);
13843
+ }
13844
+ }
13845
+ onMouseLeave() {
13846
+ window.clearTimeout(this._showTimeout);
13847
+ }
13848
+ };
13849
+ TieredMenuItemComponent.ctorParameters = () => [
13850
+ { type: TieredMenuEventService }
13851
+ ];
13852
+ __decorate([
13853
+ Input()
13854
+ ], TieredMenuItemComponent.prototype, "item", void 0);
13855
+ __decorate([
13856
+ Input()
13857
+ ], TieredMenuItemComponent.prototype, "focused", void 0);
13858
+ __decorate([
13859
+ Input()
13860
+ ], TieredMenuItemComponent.prototype, "triggerEvent", void 0);
13861
+ __decorate([
13862
+ Input()
13863
+ ], TieredMenuItemComponent.prototype, "closeOnClick", void 0);
13864
+ __decorate([
13865
+ HostListener("click"),
13866
+ HostListener("touchend")
13867
+ ], TieredMenuItemComponent.prototype, "onClick", null);
13868
+ __decorate([
13869
+ HostListener("mouseenter")
13870
+ ], TieredMenuItemComponent.prototype, "onMouseEnter", null);
13871
+ __decorate([
13872
+ HostListener("mouseleave")
13873
+ ], TieredMenuItemComponent.prototype, "onMouseLeave", null);
13874
+ TieredMenuItemComponent = __decorate([
13875
+ Component({
13876
+ selector: "s-tiered-menu-item",
13877
+ template: "<div\n [id]=\"item.id\"\n class=\"tiered-menu-item\"\n [ngClass]=\"{\n 'tiered-menu-item--open': item.isOpen,\n 'tiered-menu-item--focused': focused\n }\">\n <div class=\"tiered-menu-item-content\">\n <span class=\"icon\" [ngClass]=\"item.iconClass\"></span>\n <span class=\"label\">{{ item.label }}</span>\n </div>\n <span\n *ngIf=\"item.submenu\"\n class=\"submenu-icon\"\n [ngClass]=\"{\n 'fas': true,\n 'fa-chevron-left': item.isOpen,\n 'fa-chevron-right': !item.isOpen\n }\">\n </span>\n</div>",
13878
+ styles: [".tiered-menu-item{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;padding:8px 16px;-webkit-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.tiered-menu-item .tiered-menu-item-content .label{margin:0 12px}.tiered-menu-item:hover{background-color:#e9e6e6}.tiered-menu-item--focused{background-color:#ccc!important}.tiered-menu-item--open{background-color:#e4e2e2}"]
13879
+ })
13880
+ ], TieredMenuItemComponent);
13881
+
13882
+ let TieredMenuDividerComponent = class TieredMenuDividerComponent {
13883
+ };
13884
+ TieredMenuDividerComponent = __decorate([
13885
+ Component({
13886
+ selector: "s-tiered-menu-divider",
13887
+ template: "<div class=\"divider\"></div>",
13888
+ styles: [".divider{margin:2px 0;height:1px;background-color:#ccc}"]
13889
+ })
13890
+ ], TieredMenuDividerComponent);
13891
+
13892
+ let TieredMenuModule = class TieredMenuModule {
13893
+ };
13894
+ TieredMenuModule = __decorate([
13895
+ NgModule({
13896
+ imports: [
13897
+ CommonModule,
13898
+ BrowserModule,
13899
+ ],
13900
+ declarations: [
13901
+ TieredMenuDirective,
13902
+ TieredMenuComponent,
13903
+ TieredMenuNestedComponent,
13904
+ TieredMenuItemComponent,
13905
+ TieredMenuDividerComponent,
13906
+ ],
13907
+ exports: [TieredMenuDirective],
13908
+ providers: [
13909
+ TieredMenuEventService,
13910
+ TieredMenuService,
13911
+ ],
13912
+ })
13913
+ ], TieredMenuModule);
13914
+
13188
13915
  let WorkspaceSwitchComponent = class WorkspaceSwitchComponent {
13189
13916
  constructor(eRef) {
13190
13917
  this.eRef = eRef;
@@ -13807,5 +14534,5 @@ const fallback = {
13807
14534
  * Generated bundle index. Do not edit.
13808
14535
  */
13809
14536
 
13810
- export { AccordionComponent, AccordionModule, AccordionPanelComponent, AngularComponentsModule, AutocompleteField, BadgeColors, BadgeComponent, BadgeModule, BaseFieldComponent, BignumberField, BignumberInputDirective, BignumberInputModule, BooleanField, BooleanOptionsLabel, BreadcrumbComponent, BreadcrumbModule, Breakpoints, ButtonComponent, ButtonModule, ButtonPriority, ButtonSize, CalendarField, CalendarLocaleOptions, CalendarMaskDirective, CalendarMaskModule, ChipsField, CodeEditorModule, CollapseLinkComponent, CollapseLinkModule, ControlErrorsComponent, ControlErrorsModule, CountryPhonePickerComponent, CountryPhonePickerModule, CurrencyField, CustomFieldsComponent, CustomFieldsModule, CustomFieldsService, DEFAULT_CALENDAR_LOCALE_OPTIONS, DEFAULT_LOCALE_OPTIONS, DEFAULT_NUMBER_LOCALE_OPTIONS, DebounceUtils, DoubleClickDirective, DynamicConfig, DynamicFormComponent, DynamicFormModule, DynamicType, EditableOverlayDirective, EditableOverlayModule, EmptyStateComponent, EmptyStateModule, EnumBadgeColors, EnumColumnFieldType, EnumSeverity, ExportUtils, Field, FieldType, Fieldset, FileUploadComponent, FileUploadModule, FileValidation, FormField, GanttComponent, GanttModule, GlobalSearchComponent, GlobalSearchDropdownItemComponent, GlobalSearchModule, GlobalSearchSizeEnum, HostProjectConfigsInjectionToken, ImageCropperComponent, ImageCropperModule, ImageCropperService, InfoSignDirective, InfoSignModule, Languages, LoadingStateComponent, LoadingStateDirective, LoadingStateModule, LocaleModule, LocaleOptions, LocaleService, LocalizedCurrencyPipe, LocalizedCurrencyPipeOptions, LocalizedDateImpurePipe, LocalizedDatePipe, LocalizedNumberInputDirective, LocalizedNumberInputModule, LocalizedNumberPipe, LocalizedTimeImpurePipe, LocalizedTimePipe, LongPressDirective, LookupComponent, LookupField, MaskFormatterModule, MaskFormatterPipe, MouseEventsModule, NavigationDirective, NumberAlignmentOption, NumberField, NumberInputDirective, NumberInputModule, NumberLocaleOptions, ObjectCardComponent, ObjectCardFieldComponent, ObjectCardMainComponent, ObjectCardModule, Option, Ordination, PanelComponent, PanelModule, PasswordField, PasswordStrengthComponent, PasswordStrengthDirective, PasswordStrengthModule, PasswordStrengthPositions, PasswordStrengths, ProductHeaderComponent, ProductHeaderModule, ProfilePicturePickerComponent, ProfilePicturePickerModule, ProgressBarColors, ProgressBarComponent, ProgressBarModule, RadioButtonField, RatingScaleComponent, RatingScaleModule, RationButtonOption, RowTogllerDirective, Section, SelectField, SelectOption, SidebarComponent, SidebarModule, SlidePanelComponent, SlidePanelModule, SplitButtonComponent, SplitButtonModule, SplitButtonType, StatsCardComponent, StatsCardModule, StepState, StepsComponent, StepsModule, Structure, SwitchComponent, SwitchModule, TableFrozenPositionDirective, TableHeaderCheckboxComponent, TableHeaderCheckboxModule, TableModule, TaxCalculationLanguageConfigs, TextAreaField, TextField, Themes, ThumbnailComponent, ThumbnailModule, ThumbnailSize, TileComponent, TileModule, TimelineComponent, TimelineItem, TimelineItemSeverity, TimelineItemSize, TimelineModule, TokenListComponent, TokenListModule, TooltipModule, TooltipPosition, ValidateErrors, ViewMode, WorkspaceSwitchComponent, WorkspaceSwitchModule, countries, fallback, TooltipComponent as ɵa, TooltipDirective as ɵb, SelectFieldComponent as ɵba, TextAreaFieldComponent as ɵbb, TextFieldComponent as ɵbc, BooleanSwitchFieldComponent as ɵbd, PasswordFieldComponent as ɵbe, SliderFieldComponent as ɵbf, DecimalField as ɵbh, SideTableComponent as ɵbi, StructureModule as ɵbj, HeaderComponent as ɵbk, FooterComponent as ɵbl, NumberLocaleOptions as ɵbm, ThumbnailService as ɵbn, BorderButtonModule as ɵbo, BorderButtonComponent as ɵbp, TimelineItemModule as ɵbq, TimelineIconItemComponent as ɵbr, HorizontalTimelineModule as ɵbs, HorizontalTimelineComponent as ɵbt, VerticalTimelineModule as ɵbu, VerticalTimelineComponent as ɵbv, RangeLineComponent as ɵbw, CollapseOptionComponent as ɵbx, CollapsedItemsComponent as ɵby, VerticalItemsComponent as ɵbz, CountryPhonePickerService as ɵc, InfiniteScrollModule as ɵca, InfiniteScrollDirective as ɵcb, CustomTranslationsModule as ɵcc, CodeEditorComponent as ɵcd, CoreFacade as ɵce, CodeMirror6Core as ɵcf, LocalizedCurrencyImpurePipe as ɵd, LocalizedBignumberPipe as ɵe, LocalizedBignumberImpurePipe as ɵf, EmptyStateGoBackComponent as ɵg, FileUploadService as ɵh, InfoSignComponent as ɵi, TableColumnsComponent as ɵj, TablePagingComponent as ɵk, AutocompleteFieldComponent as ɵl, BooleanFieldComponent as ɵm, CalendarFieldComponent as ɵn, ChipsFieldComponent as ɵo, CurrencyFieldComponent as ɵp, DynamicFieldComponent as ɵq, DynamicFormDirective as ɵr, FieldsetComponent as ɵs, FileUploadComponent$1 as ɵt, LookupFieldComponent as ɵu, NumberFieldComponent as ɵv, BignumberFieldComponent as ɵw, RadioButtonComponent as ɵx, RowComponent as ɵy, SectionComponent as ɵz };
14537
+ export { AccordionComponent, AccordionModule, AccordionPanelComponent, AngularComponentsModule, AutocompleteField, BadgeColors, BadgeComponent, BadgeModule, BaseFieldComponent, BignumberField, BignumberInputDirective, BignumberInputModule, BooleanField, BooleanOptionsLabel, BreadcrumbComponent, BreadcrumbModule, Breakpoints, ButtonComponent, ButtonModule, ButtonPriority, ButtonSize, CalendarField, CalendarLocaleOptions, CalendarMaskDirective, CalendarMaskModule, ChipsField, CodeEditorModule, CollapseLinkComponent, CollapseLinkModule, ControlErrorsComponent, ControlErrorsModule, CountryPhonePickerComponent, CountryPhonePickerModule, CurrencyField, CustomFieldsComponent, CustomFieldsModule, CustomFieldsService, DEFAULT_CALENDAR_LOCALE_OPTIONS, DEFAULT_LOCALE_OPTIONS, DEFAULT_NUMBER_LOCALE_OPTIONS, DebounceUtils, DoubleClickDirective, DynamicConfig, DynamicFormComponent, DynamicFormModule, DynamicType, EditableOverlayDirective, EditableOverlayModule, EmptyStateComponent, EmptyStateModule, EnumBadgeColors, EnumColumnFieldType, EnumSeverity, ExportUtils, Field, FieldType, Fieldset, FileUploadComponent, FileUploadModule, FileValidation, FormField, GanttComponent, GanttModule, GlobalSearchComponent, GlobalSearchDropdownItemComponent, GlobalSearchModule, GlobalSearchSizeEnum, HostProjectConfigsInjectionToken, ImageCropperComponent, ImageCropperModule, ImageCropperService, InfoSignDirective, InfoSignModule, Languages, LoadingStateComponent, LoadingStateDirective, LoadingStateModule, LocaleModule, LocaleOptions, LocaleService, LocalizedCurrencyPipe, LocalizedCurrencyPipeOptions, LocalizedDateImpurePipe, LocalizedDatePipe, LocalizedNumberInputDirective, LocalizedNumberInputModule, LocalizedNumberPipe, LocalizedTimeImpurePipe, LocalizedTimePipe, LongPressDirective, LookupComponent, LookupField, MaskFormatterModule, MaskFormatterPipe, MouseEventsModule, NavigationDirective, NumberAlignmentOption, NumberField, NumberInputDirective, NumberInputModule, NumberLocaleOptions, ObjectCardComponent, ObjectCardFieldComponent, ObjectCardMainComponent, ObjectCardModule, Option, Ordination, PanelComponent, PanelModule, PasswordField, PasswordStrengthComponent, PasswordStrengthDirective, PasswordStrengthModule, PasswordStrengthPositions, PasswordStrengths, ProductHeaderComponent, ProductHeaderModule, ProfilePicturePickerComponent, ProfilePicturePickerModule, ProgressBarColors, ProgressBarComponent, ProgressBarModule, RadioButtonField, RatingScaleComponent, RatingScaleModule, RationButtonOption, RowTogllerDirective, Section, SelectField, SelectOption, SidebarComponent, SidebarModule, SlidePanelComponent, SlidePanelModule, SplitButtonComponent, SplitButtonModule, SplitButtonType, StatsCardComponent, StatsCardModule, StepState, StepsComponent, StepsModule, Structure, SwitchComponent, SwitchModule, TableFrozenPositionDirective, TableHeaderCheckboxComponent, TableHeaderCheckboxModule, TableModule, TaxCalculationLanguageConfigs, TextAreaField, TextField, Themes, ThumbnailComponent, ThumbnailModule, ThumbnailSize, TieredMenuDirective, TieredMenuModule, TileComponent, TileModule, TimelineComponent, TimelineItem, TimelineItemSeverity, TimelineItemSize, TimelineModule, TokenListComponent, TokenListModule, TooltipModule, TooltipPosition, ValidateErrors, ViewMode, WorkspaceSwitchComponent, WorkspaceSwitchModule, countries, fallback, TooltipComponent as ɵa, TooltipDirective as ɵb, SelectFieldComponent as ɵba, TextAreaFieldComponent as ɵbb, TextFieldComponent as ɵbc, BooleanSwitchFieldComponent as ɵbd, PasswordFieldComponent as ɵbe, SliderFieldComponent as ɵbf, DecimalField as ɵbh, SideTableComponent as ɵbi, StructureModule as ɵbj, HeaderComponent as ɵbk, FooterComponent as ɵbl, NumberLocaleOptions as ɵbm, ThumbnailService as ɵbn, BorderButtonModule as ɵbo, BorderButtonComponent as ɵbp, TimelineItemModule as ɵbq, TimelineIconItemComponent as ɵbr, HorizontalTimelineModule as ɵbs, HorizontalTimelineComponent as ɵbt, VerticalTimelineModule as ɵbu, VerticalTimelineComponent as ɵbv, RangeLineComponent as ɵbw, CollapseOptionComponent as ɵbx, CollapsedItemsComponent as ɵby, VerticalItemsComponent as ɵbz, CountryPhonePickerService as ɵc, InfiniteScrollModule as ɵca, InfiniteScrollDirective as ɵcb, CustomTranslationsModule as ɵcc, CodeEditorComponent as ɵcd, CoreFacade as ɵce, CodeMirror6Core as ɵcf, TieredMenuEventService as ɵcg, TieredMenuService as ɵch, TieredMenuComponent as ɵci, TieredMenuNestedComponent as ɵcj, TieredMenuItemComponent as ɵck, TieredMenuDividerComponent as ɵcl, LocalizedCurrencyImpurePipe as ɵd, LocalizedBignumberPipe as ɵe, LocalizedBignumberImpurePipe as ɵf, EmptyStateGoBackComponent as ɵg, FileUploadService as ɵh, InfoSignComponent as ɵi, TableColumnsComponent as ɵj, TablePagingComponent as ɵk, AutocompleteFieldComponent as ɵl, BooleanFieldComponent as ɵm, CalendarFieldComponent as ɵn, ChipsFieldComponent as ɵo, CurrencyFieldComponent as ɵp, DynamicFieldComponent as ɵq, DynamicFormDirective as ɵr, FieldsetComponent as ɵs, FileUploadComponent$1 as ɵt, LookupFieldComponent as ɵu, NumberFieldComponent as ɵv, BignumberFieldComponent as ɵw, RadioButtonComponent as ɵx, RowComponent as ɵy, SectionComponent as ɵz };
13811
14538
  //# sourceMappingURL=seniorsistemas-angular-components.js.map